|
||
---|---|---|
.git-crypt | ||
common | ||
extra | ||
machines | ||
modules | ||
pkgs | ||
secrets | ||
services | ||
system | ||
.build.yml | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
.prettierrc.json | ||
.stylua.toml | ||
default.nix | ||
flake.lock | ||
flake.nix | ||
LICENSE | ||
Makefile | ||
README.md | ||
sources.nix | ||
statix.toml |
My nixOS configuration
Structure
-
common
: Contains configuration that should be applied on every machine. -
extra
: Non-Nix files, e.g. configuration files for other applications. -
machines
: Host-specific configuration.-
back
: Primary backup machine. -
fort
: Public-reachable server on Hetzner infra. -
tank
: Homelab server. -
trek
: Framework laptop. -
zero
: Main Ryzen 9 workstation.
-
-
modules
: Additional NixOS modules. -
pkgs
: Custom packages. -
secrets
: Secrects encrypted using git-crypt. -
services
: Configuration for bigger service deployments, e.g. nginx. -
system
: Configurations describing "classes" of machines, like servers or desktops. -
system/home-manager
: home-manager configuration.
Notable files
-
default.nix
: Morph deployment definitions -
flake.nix
: Nix development shell definition -
sources.nix
: Contains all Nix package/module source definitions
Hacking
nix develop
will provide an ephemeral shell with all tools needed.
License
The code is released into the public domain.
Other conditions apply to the following files:
extra/sway/background.png
: Photo by Lucas Kapla, Unsplash License