My personal nix configuration leveraging:
Note
Due to GitHub's historic unreliability, active development is hosted on Forgejo. GitHub is maintained as a read-only mirror.
Hosts a Dell XPS 9500 laptop, a NixOS PC, a NixOS VPS, and an Apple silicon MacBook.
flake.nix
hosts/
modules/
hosts/{desktop,laptop,mac,vps}
darwin/ nix-darwin modules
nixos/
devshells.nix project-specific development shells
theme.nix central palette definition
config/ app configs (symlinked into XDG dirs)
scripts/ runtime scripts
secrets/ sops-encrypted secrets
pkgs/ custom derivations
- laptop: Dell XPS 9500 workstation.
- desktop: NixOS workstation. Vaultwarden at
vault.barrettruth.com, delta atdelta.barrettruth.com, andfinance.barrettruth.com. - vps: NixOS VPS. Authelia at
auth.barrettruth.com, Headscale atheadscale.barrettruth.com, and the static sites (barrettruth.com,barrettruth.sh,philipmruth.com,vimdoc-language-server.com,ts.barrettruth.com).forge.barrettruth.comandgit.barrettruth.comredirect to GitHub. - mac: Apple silicon MacBook, built from
.#darwinConfigurations.macwithjust rebuild-mac.
One thing on the mac is set once per machine and cannot be declared: a still
image has to be chosen as the wallpaper in Settings > Wallpaper. macOS ships
a dynamic wallpaper, and while one is active WallpaperAgent renders over
anything NSWorkspace.setDesktopImageURL sets, so ctl wallpaper gen reports
success and changes nothing.
The baremak layout is installed to /Library/Keyboard Layouts and enabled
through AppleEnabledInputSources, so it needs no setup, but a newly enabled
input source only reaches the menu bar after a logout.