adyya-flake/README.md

147 lines
No EOL
14 KiB
Markdown

This is the configuration that Ittihadyya uses for their computers. It currently handles 5 computers. `capsaicin`, `menthol`, `glucose`, `fructose` and `aspartame`. The first is a custom-built PC, the second is a thinkpad T460s, the two following that are Lenovo Thinkcentre m92ps and the last one is a VPS hosted by contabo.
### Capsaicin
```
▗▄▄▄ ▗▄▄▄▄ ▄▄▄▖ emv@capsaicin
▜███▙ ▜███▙ ▟███▛ -------------
▜███▙ ▜███▙▟███▛ OS: NixOS 24.11.20240916.99dc878 (Vicuna) x86_64
▜███▙ ▜██████▛ Kernel: Linux 6.6.51
▟█████████████████▙ ▜████▛ ▟▙ Uptime: 1000 years
▟███████████████████▙ ▜███▙ ▟██▙ Packages: 2203 (nix-system)
▄▄▄▄▖ ▜███▙ ▟███▛ Shell: zsh 5.9
▟███▛ ▜██▛ ▟███▛ Display (LEN G34w-10): 3440x1440 @ 144 Hz in 34″ [External]
▟███▛ ▜▛ ▟███▛ WM: Sway (Wayland)
▟███████████▛ ▟██████████▙ Theme: adw-gtk3 [GTK2/3/4]
▜██████████▛ ▟███████████▛ Font: Ubuntu Nerd Font (10pt) [GTK2/3/4]
▟███▛ ▟▙ ▟███▛ Cursor: Afterglow-Recolored-Dracula-Green (24px)
▟███▛ ▟██▙ ▟███▛ Terminal: -
▟███▛ ▜███▙ ▝▀▀▀▀ CPU: Intel(R) Core(TM) i5-7600K (4) @ 4.20 GHz
▜██▛ ▜███▙ ▜██████████████████▛ GPU: AMD Radeon RX 6650 XT [Discrete]
▜▛ ▟████▙ ▜████████████████▛ Memory: 31.30 GiB
▟██████▙ ▜███▙ Swap: 45.45 GiB
▟███▛▜███▙ ▜███▙ Disk (/): 947.81 GiB - btrfs
▟███▛ ▜███▙ ▜███▙ Disk (/mnt/decrypted): 131.50 GiB - btrfs
▝▀▀▀ ▀▀▀▀▘ ▀▀▀▘ Disk (/mnt/hdd1tb): 800.00 GiB - btrfs
Disk (/mnt/hdd500gb): 457.38 GiB - ext4
Local IP (enp5s0): -
Locale: en_US.UTF-8
```
There isn't much to say about it other than the fact that it is a desktop with a wifi module (that seldom gets used, usually that happens when the ethernet cable is connected to something else for tinkering purposes).
### Menthol
```
▗▄▄▄ ▗▄▄▄▄ ▄▄▄▖ emv@menthol
▜███▙ ▜███▙ ▟███▛ -----------
▜███▙ ▜███▙▟███▛ OS: NixOS 24.11.20240916.99dc878 (Vicuna) x86_64
▜███▙ ▜██████▛ Host: ThinkPad T460s
▟█████████████████▙ ▜████▛ ▟▙ Kernel: Linux 6.6.51
▟███████████████████▙ ▜███▙ ▟██▙ Uptime: A long long time
▄▄▄▄▖ ▜███▙ ▟███▛ Shell: zsh 5.9
▟███▛ ▜██▛ ▟███▛ Display (LGD0514): 1920x1080 @ 60 Hz in 14″
▟███▛ ▜▛ ▟███▛ Theme: adw-gtk3 [GTK2/3/4]
▟███████████▛ ▟██████████▙ Font: Ubuntu Nerd Font (10pt) [GTK2/3/4]
▜██████████▛ ▟███████████▛ Cursor: Afterglow-Recolored-Dracula-Green (24px)
▟███▛ ▟▙ ▟███▛ Terminal: -
▟███▛ ▟██▙ ▟███▛ CPU: Intel(R) Core(TM) i5-6300U (4) @ 3.00 GHz
▟███▛ ▜███▙ ▝▀▀▀▀ GPU: Intel HD Graphics 520 @ 1.00 GHz [Integrated]
▜██▛ ▜███▙ ▜██████████████████▛ Memory: 11.11 GiB
▜▛ ▟████▙ ▜████████████████▛ Swap: 7.45 GiB
▟██████▙ ▜███▙ Disk (/): 231.02 GiB - btrfs
▟███▛▜███▙ ▜███▙ Local IP (wlp4s0): -
▟███▛ ▜███▙ ▜███▙ Battery 1
▝▀▀▀ ▀▀▀▀▘ ▀▀▀▘ Battery 2
Locale: en_US.UTF-8
```
The only interesting thing about it is the fact that it has a touchscreen, bluetooth and is full of stickers. It gets used when not home and when we need *something* with bluetooth.
### Glucose and Fructose
```
▗▄▄▄ ▗▄▄▄▄ ▄▄▄▖ emv@glucose
▜███▙ ▜███▙ ▟███▛ -----------
▜███▙ ▜███▙▟███▛ OS: NixOS 24.11.20240916.99dc878 (Vicuna) x86_64
▜███▙ ▜██████▛ Host: ThinkCentre M92p
▟█████████████████▙ ▜████▛ ▟▙ Kernel: Linux 6.6.51
▟███████████████████▙ ▜███▙ ▟██▙ Uptime: A while.
▄▄▄▄▖ ▜███▙ ▟███▛ Packages: 656 (nix-system)
▟███▛ ▜██▛ ▟███▛ Shell: zsh 5.9
▟███▛ ▜▛ ▟███▛ Terminal: -
▟███████████▛ ▟██████████▙ CPU: Intel(R) Core(TM) i5-3470T (4) @ 3.60 GHz
▜██████████▛ ▟███████████▛ GPU: Intel Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller @ 1.10 GHz [Integrated]
▟███▛ ▟▙ ▟███▛ Memory: 7.56 GiB
▟███▛ ▟██▙ ▟███▛ Swap: 14.90 GiB
▟███▛ ▜███▙ ▝▀▀▀▀ Disk (/): 938.97 GiB - btrfs
▜██▛ ▜███▙ ▜██████████████████▛ Local IP (eno1): 10.12.96.4/24
▜▛ ▟████▙ ▜████████████████▛ Locale: en_US.UTF-8
▟██████▙ ▜███▙
▟███▛▜███▙ ▜███▙
▟███▛ ▜███▙ ▜███▙
▝▀▀▀ ▀▀▀▀▘ ▀▀▀▘
▗▄▄▄ ▗▄▄▄▄ ▄▄▄▖ emv@fructose
▜███▙ ▜███▙ ▟███▛ ------------
▜███▙ ▜███▙▟███▛ OS: NixOS 24.11.20240916.99dc878 (Vicuna) x86_64
▜███▙ ▜██████▛ Host: ThinkCentre M92p
▟█████████████████▙ ▜████▛ ▟▙ Kernel: Linux 6.6.51
▟███████████████████▙ ▜███▙ ▟██▙ Uptime: A bit.
▄▄▄▄▖ ▜███▙ ▟███▛ Packages: 647 (nix-system)
▟███▛ ▜██▛ ▟███▛ Shell: zsh 5.9
▟███▛ ▜▛ ▟███▛ Terminal: -
▟███████████▛ ▟██████████▙ CPU: Intel(R) Core(TM) i5-3470 (4) @ 3.60 GHz
▜██████████▛ ▟███████████▛ GPU: Intel Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller @ 1.10 GHz [Integrated]
▟███▛ ▟▙ ▟███▛ Memory: 7.56 GiB
▟███▛ ▟██▙ ▟███▛ Swap: 29.80 GiB
▟███▛ ▜███▙ ▝▀▀▀▀ Disk (/): 924.07 GiB - btrfs
▜██▛ ▜███▙ ▜██████████████████▛ Local IP (eno1): 10.12.96.9/24
▜▛ ▟████▙ ▜████████████████▛ Locale: en_US.UTF-8
▟██████▙ ▜███▙
▟███▛▜███▙ ▜███▙
▟███▛ ▜███▙ ▜███▙
▝▀▀▀ ▀▀▀▀▘ ▀▀▀▘
```
As can be seen, the only difference between the two is swap space and IP address, something which at the moment is inconsequential. They are going to be used as nodes in a kubernetes cluster ***soon*** (trust).
### Aspartame
```
▗▄▄▄ ▗▄▄▄▄ ▄▄▄▖ emv@aspartame
▜███▙ ▜███▙ ▟███▛ -------------
▜███▙ ▜███▙▟███▛ OS: NixOS 24.11.20240916.99dc878 (Vicuna) x86_64
▜███▙ ▜██████▛ Host: kvm/qemu
▟█████████████████▙ ▜████▛ ▟▙ Kernel: Linux 6.6.51
▟███████████████████▙ ▜███▙ ▟██▙ Uptime: At least 3
▄▄▄▄▖ ▜███▙ ▟███▛ Packages: 649 (nix-system)
▟███▛ ▜██▛ ▟███▛ Shell: zsh 5.9
▟███▛ ▜▛ ▟███▛ Display (QEMU Monitor): 1280x800 @ 75 Hz in 15″
▟███████████▛ ▟██████████▙ Terminal: -
▜██████████▛ ▟███████████▛ CPU: AMD EPYC 7282 (4) @ 2.79 GHz
▟███▛ ▟▙ ▟███▛ GPU: Unknown Device 1111 (VGA compatible)
▟███▛ ▟██▙ ▟███▛ Memory: 5.79 GiB
▟███▛ ▜███▙ ▝▀▀▀▀ Swap: 2.90 GiB
▜██▛ ▜███▙ ▜██████████████████▛ Disk (/): 587.54 GiB - ext4
▜▛ ▟████▙ ▜████████████████▛ Local IP (ens18): -
▟██████▙ ▜███▙ Locale: en_US.UTF-8
▟███▛▜███▙ ▜███▙
▟███▛ ▜███▙ ▜███▙
▝▀▀▀ ▀▀▀▀▘ ▀▀▀▘
```
Not very interesting, besides the fact that it is a VPS. It was made using [`nixos-infect`](https://github.com/elitak/nixos-infect) on top of Contabo's Ubuntu 22 image.
## Files
Modules have a `*.mod.nix` extension, they are loaded in [`flake.nix`](./flake.nix) via magic. Ittihadyya's flake was built, foundationally - at the very least, with heavy inspiration from [sodiboo's flake](https://github.com/sodiboo/system), so the magic of the aforelinked `flake.nix` file is from faer.
`<universal>` applies to every single computer, it contains stuff that we want available *everywhere*. `<personal>` applies to `capsaicin` and `menthol`.
`<cluster>`, at the moment, applies to everything else (*this is called foreshadowing*).
`<cluster-testing>`, as of **Right Now**, only applies to `glucose`.
`<sucrose>` applies to both glucose and fructose.
Secrets are handled by [`sops-nix`](https://github.com/Mic92/sops-nix). How? Magic. Basically, the wanted secrets are declared in [`sops.mod.nix`](./sops.mod.nix) and added to [`secrets.yaml`](./secrets.yaml) via `sops edit secrets.yaml`. For this there is an age key stashed away, more can be grasped, probably, by looking at the aforelinked `sops.mod.nix`.
All files within this repository have the possibility of:
- having eerie vibes.
- calling to the user.
- asking the user for directions to the nearest STUN server.
- spontaneously combusting.
- waging protracted war upon the user.
- telling the user any information in exchange for personal information, then, if it is wrong, it will smite the user.
- periodically altering the user's perception of time, eventually leading to exhaustion if no external stimuli interrupt this.
- reminding the user of the time before names.
- employing a birthday attack upon the Black Moon, to check if it is digitally howling.
- transporting the user into an alternate reality where physical constants are slightly off.