diff --git a/flake.nix b/flake.nix index 235b538..1c23e61 100644 --- a/flake.nix +++ b/flake.nix @@ -90,6 +90,7 @@ pkgs.git pkgs.git-crypt pkgs.just + pkgs.nh ]; }; } diff --git a/hosts/nixos/modules/programs/default.nix b/hosts/nixos/modules/programs/default.nix index f65c351..e9c8523 100644 --- a/hosts/nixos/modules/programs/default.nix +++ b/hosts/nixos/modules/programs/default.nix @@ -10,5 +10,6 @@ ./ydotool.nix ./steam.nix ./nix-ld.nix + ./nh.nix ]; } diff --git a/hosts/nixos/modules/programs/nh.nix b/hosts/nixos/modules/programs/nh.nix new file mode 100644 index 0000000..dd2f39d --- /dev/null +++ b/hosts/nixos/modules/programs/nh.nix @@ -0,0 +1,8 @@ +{ + programs.nh = { + enable = true; + clean.enable = true; + clean.extraArgs = "--keep-since 7d --keep 3"; + flake = "/home/toast/nix-config"; + }; +} diff --git a/justfile b/justfile index 10fa05a..fc13584 100644 --- a/justfile +++ b/justfile @@ -3,19 +3,20 @@ default: @just --list -deploy-nixos: - sudo nixos-rebuild switch --flake .#$(hostname) +_check-nh: + @command -v nh > /dev/null 2>&1 || echo "nh is not in PATH. Run 'nix develop' first." -deploy-vps: - nixos-rebuild switch --flake .#vps --target-host root@vps +deploy-nixos: _check-nh + nh os switch . -deploy-home: - home-manager switch --flake .#$USER@$(hostname) +deploy-vps: _check-nh + nh os switch . -H vps --target-host root@vps + +deploy-home: _check-nh + nh home switch . update: nix flake update --commit-lock-file -gc: - nix-collect-garbage -d - nix-collect-garbage --delete-older-than 7d - nix-store --gc +gc: _check-nh + nh clean all --keep-since 7d diff --git a/shell.nix b/shell.nix index 36dd381..9df72f3 100644 --- a/shell.nix +++ b/shell.nix @@ -7,5 +7,7 @@ pkgs.mkShell { git sops git-crypt + just + nh ]; }