Update README.md with *some* docs

Signed-off-by: magic_rb <magic_rb@redalder.org>
This commit is contained in:
magic_rb 2024-08-14 16:27:37 +02:00
parent a48b29e79f
commit 828a7b9bab
No known key found for this signature in database
GPG key ID: 08D5287CC5DDCA0E
2 changed files with 162 additions and 6 deletions

View file

@ -1,26 +1,112 @@
# Table of Contents # Table of Contents
1. [magic<sub>rb</sub>'s dotfiles](#orgc2537a8) 1. [magic<sub>rb</sub>'s dotfiles](#org1e3b033)
1. [License](#orgb35d085) 1. [License](#orgc9fb2b8)
1. [Exceptions](#orgb4a7de3) 1. [Exceptions](#org33761d0)
2. [NixOS](#org3217573)
1. [Modules](#org38c27fd)
<a id="orgc2537a8"></a> <a id="org1e3b033"></a>
# magic<sub>rb</sub>'s dotfiles # magic<sub>rb</sub>'s dotfiles
<a id="orgb35d085"></a> <a id="orgc9fb2b8"></a>
## License ## License
All files unless otherwise stated are licensed under the LGPL-v3.0 license. Please refer to [COPYING](COPYING) and [COPYING.LESSER](COPYING.LESSER) for more information. All files unless otherwise stated are licensed under the LGPL-v3.0 license. Please refer to [COPYING](COPYING) and [COPYING.LESSER](COPYING.LESSER) for more information.
<a id="orgb4a7de3"></a> <a id="org33761d0"></a>
### Exceptions ### Exceptions
The LGPL-v3.0 does not apply to you copying out a insignificant part of the source code, general rule of thumb is "If it's less than 32 lines and/or doesn't constitute a big self contained part, it's licensed under the MIT license." If you need clarification please contact `@magic_rb:matrix.redalder.org` on matrix. The LGPL-v3.0 does not apply to you copying out a insignificant part of the source code, general rule of thumb is "If it's less than 32 lines and/or doesn't constitute a big self contained part, it's licensed under the MIT license." If you need clarification please contact `@magic_rb:matrix.redalder.org` on matrix.
<a id="org3217573"></a>
## NixOS
<a id="org38c27fd"></a>
### Modules
1. `acme-sh`
- source code: <nixos/modules/acme-sh.nix>
Modified version of module originally from [Serokell](https://github.com/serokell/serokell.nix/blob/master/modules/acme-sh.nix). It allows to easy fetch and access certificates, facilitated by \`acme-sh\`. Can be used in tandem with any program which can load certificates from files.
2. `grafana`
- source code: <nixos/modules/grafana.nix>
Very simplified version of module originally from [nixpkgs](https://github.com/NixOS/nixpkgs/blob/nixos-24.05/nixos/modules/services/monitoring/grafana.nix).
This module is currently **unused**, **untested**, and may be removed or completely reworked soon.
3. `hashicorp-envoy`
- source code: <nixos/modules/hashicorp-envoy.nix>
Allows deploying Envoy proxies that can integrate with the Consul Connect service mesh. Used to hook klipper into the rest of my infrastructure.
This module is **deprecated** and **will** be removed soon. I'm switching away from Hashicorp Nomad+Consul and towards k3s+Istio and therefore won't have a need for this module.
4. `hashicorp`
- source code: <nixos/modules/hashicorp.nix>
Runs Hashicorp Vault, Consul and Nomad. Would probably work with OpenBao too, but this has not yet been tested.
5. `influx-provisioning`
- source code: <nixos/modules/influx-provisioning.nix>
Crudely provisions InfluxDB.
This module is **deprecated** and **will** be removed soon. It was originally created when I thought I would be switching away from Terraform completely. Now I know I will be switching to OpenTofu.
6. `microvm-extras-host` and `microvm-extras`
- source code: <nixos/modules/microvm-extras-host.nix>, <nixos/modules/microvm-extras.nix>
Intended to somewhat simulate a service mesh using `microvm.nix` and clever `nftable` rules. Turned out to be too much work and both will be **removed**.
7. `netboot-xyz`
- source code: <nixos/modules/netboot-xyz.nix>
Adds `netboot.xyz` to GRUB, supports both EFI and BIOS. Used on my server in case of catastrophic root pool failure.
8. `notify-login`
- source code: <nixos/modules/notify-login.nix>
Send notifications over Matrix, when an SSH session is opened/closed.
9. `notnft`
- source code: <nixos/modules/notnft.nix>
Alternative implementation of upstream [notnft](https://github.com/chayleaf/notnft) module, which is part of the much larger [nixos-router](https://github.com/chayleaf/nixos-router) repository.
10. `notnft-ns`
- source code: <nixos/modules/notnft-ns.nix>
Newer implementation of the [notnft](#org788f38d) module, this one supports network namespaces.
11. `telegraf`
- source code: <nixos/modules/telegraf.nix>
Very simplified version of module originally from [nixpkgs](https://github.com/NixOS/nixpkgs/blob/nixos-24.05/nixos/modules/services/monitoring/telegraf.nix).
This module is currently **unused**, **untested**, and may be removed or completely reworked soon.

View file

@ -7,3 +7,73 @@ All files unless otherwise stated are licensed under the LGPL-v3.0 license. Plea
*** Exceptions *** Exceptions
The LGPL-v3.0 does not apply to you copying out a insignificant part of the source code, general rule of thumb is "If it's less than 32 lines and/or doesn't constitute a big self contained part, it's licensed under the MIT license." If you need clarification please contact ~@magic_rb:matrix.redalder.org~ on matrix. The LGPL-v3.0 does not apply to you copying out a insignificant part of the source code, general rule of thumb is "If it's less than 32 lines and/or doesn't constitute a big self contained part, it's licensed under the MIT license." If you need clarification please contact ~@magic_rb:matrix.redalder.org~ on matrix.
** NixOS
*** Modules
**** ~acme-sh~
- source code: [[file:nixos/modules/acme-sh.nix]]
Modified version of module originally from [[https://github.com/serokell/serokell.nix/blob/master/modules/acme-sh.nix][Serokell]]. It allows to easy fetch and access certificates, facilitated by `acme-sh`. Can be used in tandem with any program which can load certificates from files.
**** ~grafana~
- source code: [[file:nixos/modules/grafana.nix]]
Very simplified version of module originally from [[https://github.com/NixOS/nixpkgs/blob/nixos-24.05/nixos/modules/services/monitoring/grafana.nix][nixpkgs]].
This module is currently *unused*, *untested*, and may be removed or completely reworked soon.
**** ~hashicorp-envoy~
- source code: [[file:nixos/modules/hashicorp-envoy.nix]]
Allows deploying Envoy proxies that can integrate with the Consul Connect service mesh. Used to hook klipper into the rest of my infrastructure.
This module is *deprecated* and *will* be removed soon. I'm switching away from Hashicorp Nomad+Consul and towards k3s+Istio and therefore won't have a need for this module.
**** ~hashicorp~
- source code: [[file:nixos/modules/hashicorp.nix]]
Runs Hashicorp Vault, Consul and Nomad. Would probably work with OpenBao too, but this has not yet been tested.
**** ~influx-provisioning~
- source code: [[file:nixos/modules/influx-provisioning.nix]]
Crudely provisions InfluxDB.
This module is *deprecated* and *will* be removed soon. It was originally created when I thought I would be switching away from Terraform completely. Now I know I will be switching to OpenTofu.
**** ~microvm-extras-host~ and ~microvm-extras~
- source code: [[file:nixos/modules/microvm-extras-host.nix]], [[file:nixos/modules/microvm-extras.nix]]
Intended to somewhat simulate a service mesh using ~microvm.nix~ and clever ~nftable~ rules. Turned out to be too much work and both will be *removed*.
**** ~netboot-xyz~
- source code: [[file:nixos/modules/netboot-xyz.nix]]
Adds ~netboot.xyz~ to GRUB, supports both EFI and BIOS. Used on my server in case of catastrophic root pool failure.
**** ~notify-login~
- source code: [[file:nixos/modules/notify-login.nix]]
Send notifications over Matrix, when an SSH session is opened/closed.
**** ~notnft~
:PROPERTIES:
:ID: 2f6f4431-2e40-4540-871f-0a8c7c9bfd2d
:END:
- source code: [[file:nixos/modules/notnft.nix]]
Alternative implementation of upstream [[https://github.com/chayleaf/notnft][notnft]] module, which is part of the much larger [[https://github.com/chayleaf/nixos-router][nixos-router]] repository.
**** ~notnft-ns~
- source code: [[file:nixos/modules/notnft-ns.nix]]
Newer implementation of the [[id:2f6f4431-2e40-4540-871f-0a8c7c9bfd2d][notnft]] module, this one supports network namespaces.
**** ~telegraf~
- source code: [[file:nixos/modules/telegraf.nix]]
Very simplified version of module originally from [[https://github.com/NixOS/nixpkgs/blob/nixos-24.05/nixos/modules/services/monitoring/telegraf.nix][nixpkgs]].
This module is currently *unused*, *untested*, and may be removed or completely reworked soon.