Nix configuration for my personal machines. Manages workstations, servers, laptops, and a few Raspberry Pis.
box | ||
common | ||
modules | ||
secrets | ||
system | ||
util | ||
.gitignore | ||
.sops.yaml | ||
flake.lock | ||
flake.nix | ||
garnix.yaml | ||
README.md | ||
UNLICENSE |
.nix
Nix configuration for my personal machines. Manages workstations, servers, laptops, and a few Raspberry Pis.
Boxes of Note
Box | Note |
---|---|
nene | Development workstation and builder. Mini tower sitting at my desk. Runs Sway. |
yuuri | Travel and conference notebook. GPD Pocket 4 running a copy of my development setup. |
futaba | Busiest server. Headless NUC. Runs reverse proxy for home services. |
ranni | Self-built NAS. ASRock Rack board, uNAS chassis. Runs ZFS. Holds media, archives, backups. |
mugi | Home control panel. Raspberry Pi 5 attached to touchscreen, sitting on my shelf. Provides Home Assistant dashboard, buttons. |
nano | Headless remote desktop server. RK3588S SBC running a persistent Sway environment, accessible from anywhere. |
mika, rika | Pi4 k3s cluster living in a mini rack. |
Getting Started
Prerequisites
Requires NixOS with flakes enabled.
Install
$ git clone https://codeberg.org/mian/nixos-config.git ~/.nix
$ cd ~/.nix
# Add box-specific items. See others in box/*
$ vim box/somebox/default.nix
# Enter builder shell, update dependencies, build!
$ nix develop
$ nixup
$ rebuild_system
Organization
Location | Description |
---|---|
/box | Host-specific config items and top-level entrypoints. box/foo/default.nix replaces the standard /etc/nixos/configuration.nix . |
/common | Shared configs used by many boxes and modules. |
/modules | Custom NixOS modules used to mix in config sets. Exposed as my.<option>.enable , etc. |
/modules/desktop | Workstation GUI environment. Runs Sway. |
/modules/tablet | Touch-enabled GUI environment. Runs KDE Plasma. |
/modules/user | Common user settings, including Home Manager. |
/secrets | Secrets encrypted by sops and accessed via sops-nix. |
/system | Old system-level configs and leftovers in the process of being cleaned up and moved to /modules . |
/util | Build and operation utilities, shells and formatters, etc. Not referenced directly by nixosConfigurations . |
License: Unlicense
This is free and unencumbered software released into the public domain.