My unified nix flake for all configuration management.
Go to file
Daniel Flanagan cdb3b7c5bf
Merge remote-tracking branch 'origin/main'
2023-11-26 16:47:21 -06:00
disko Add legacy disk partitioning scheme 2023-10-06 10:42:19 -05:00
lib Increase foxtrot scale for a little more breathing room 2023-11-21 14:59:08 -06:00
modules Merge remote-tracking branch 'origin/main' 2023-11-26 16:47:21 -06:00
nixos No sg-display 2023-11-22 11:19:00 -06:00
overlays Using the normal lts kernel seems to resolve my suspend/sway issues 2023-10-22 08:15:08 -05:00
pkgs WIP move to template 2023-10-03 11:52:44 -05:00
secrets Server up 2023-11-02 14:38:37 -05:00
.gitignore wip firewall for router 2023-11-02 10:01:58 -05:00
.sops.yaml Initial commit 2023-09-04 11:40:30 -05:00
flake.lock Fix last warning 2023-11-21 23:42:42 -06:00
flake.nix IRC 2023-11-07 21:30:26 -06:00
pre-commit.bash Add todo item to enforce certain commit message format 2023-11-12 11:24:06 -06:00 Increase foxtrot scale for a little more breathing room 2023-11-21 14:59:08 -06:00


My grand, declarative, and unified application, service, environment, and machine configuration, secret, and package management in a single flake. ❤️ ❄️

NOTE: Everything in here is highly specific to my personal preference. I can't recommend you actually use this in any way, but hopefully some stuff in here is useful inspiration.

Quick Start

$ nixos-rebuild switch --flake git+${FLAKE_ATTR}

You don't have even have to clone this crap yourself. How cool is that! But if you do, it looks like this:

$ nixos-rebuild switch --flake ./repo/dir/for/nix#${FLAKE_ATTR}


If you're gonna change stuff you had better setup the pre-commit hook:

$ ln -s $PWD/pre-commit.bash .git/hooks/pre-commit


If you're deploying anything secrets-related, you will need the proper keys:

$ mkdir -p ${XDG_CONFIG_HOME:-~/.config}/sops/age
$ pass age-key >> ${XDG_CONFIG_HOME:-~/.config}/sops/age/keys.txt


$ nixos-rebuild switch --flake 

Not NixOS

NOTE: I pretty much solely use Home Manager as a NixOS module presently, so this is not fully supported.

$ curl --proto '=https' --tlsv1.2 -sSf -L | sh -s -- install
$ nix profile install github:nix-community/home-manager
$ FLAKE_ATTR=base-x86_64-linux
$ home-manager switch --flake git+$FLAKE_ATTR

Internal/Advanced Usage

See lib/

To Do

Short Term

Long Term