NixOS configurations
The new, main repository for the NixOS servers and machines involved in cobalt.rocks and arasaka.io.
Machines
Servers
-
cobalt.rocks
: Stable(-ish) servers for daily business -
arasaka.io
: Homelab-
argon
: NixOS host, Proxmox LXC container on sodium, GitLab runner and distributed builder -
boron
: NixOS host on hcloud, will be the successor forlithium
-
carbon
: NixOS host, a n100 based NAS/server system. Handles most core services -
chlorine
: NixOS host, Proxmox LXC container on nitrogen, LanguageTool host -
citadel
: NixOS host, Lenovo ThinkCentre M715q Gen 2, host for secrets, LUKS + ZFS on root with remote unlock -
neon
: NixOS host, Proxmox LXC container on nitrogen, GitLab runner and distributed builder -
nitrogen
: Proxmox hypervisor, Lenovo ThinkCentre M715q Gen 2 -
oxygen
: Debian LXC for GitLab -
phosphorus
: NixOS host, Proxmox LXC container on nitrogen, NetBox host -
sodium
: Proxmox hypervisor, Lenovo ThinkCentre M715q Gen 2 -
sulfur
: NixOS host, Proxmox LXC container on nitrogen, JupyterHub host -
scandium
: NixOS host, Proxmox LXC container on sodium, Home Assistant host -
calcium
: NixOS host, Proxmox LXC container on sodium, plane.so host -
silicon
: NixOS host, Proxmox LXC container on sodium, reserved empty host -
titanium
: NixOS host, Proxmox LXC container on sodium, host for IWL and DCN course work -
tsukikage-1
: OpnSense Router for VMs on nitrogen -
tsukikage-2
: OpnSense Router for VMs on sodium
-
Laptops
-
rw
: Personal laptop with NixOS (Lenovo ThinkPad E14 Gen 3)
Code structure
-
flake.nix
: Main flake that configures all systems handled deployment withdeploy-rs
-
hosts/
: host specific configurations, pulled in byflake.nix
-
modules/
: NixOS modules for reusable configuration options-
backups/
: Shared borgmatic configuration -
wg.nix
: Shared wireguard network configuration, based onsystemd-networkd
-
grafana-matrix-forwarder.nix
: Module for Grafana to Matrix Forwarder -
networking.nix
: common network settings -- DNS, TZ, ... -
server-mixin.nix
: Mixin for common server settings and derived from this:-
server-mixin.nix
: Mixin for common proxmox LXC settings -
home-mixin.nix
: Mixin for common server settings @ home
-
-
nix.nix
: Nix with flakes -
laptop/
: Mixin for common laptop settings -
shell.nix
: Usable shell with git, zsh and neovim -
users.nix
: Addcobalt
androot
user withsops
-based credentials -
bare-metal.nix
: -
home-manager/
: shared optionshome-manager
to configurerw
to my liking -
vector.nix
: Vector setup for log/metrics forwarding to central mimir/loki -
prometheus/
: Setup for Prometheus + exporters -
vms/syslog
: syslog-ng with forwarding to central loki -
postgres.nix
: PostgreSQL module with backup integration -
nebula.nix
: Shared nebula configuration -
pical.nix
: Unfinished module for pical
-
-
terraform/
: Terraform configuration for arasaka.io DNS entries (cloudflare based) -
pkgs/
: Custom NixOS derivations
Server Handling
Servers are centrally managed and deployed to with deploy-rs
while Laptops are managed locally over nixos-rebuild
.