summaryrefslogtreecommitdiff
path: root/modules/nixos/personal
diff options
context:
space:
mode:
Diffstat (limited to 'modules/nixos/personal')
-rw-r--r--modules/nixos/personal/nix.nix11
1 files changed, 11 insertions, 0 deletions
diff --git a/modules/nixos/personal/nix.nix b/modules/nixos/personal/nix.nix
index 35d7fc7..9c8db45 100644
--- a/modules/nixos/personal/nix.nix
+++ b/modules/nixos/personal/nix.nix
@@ -54,6 +54,17 @@ in {
wantedBy = lib.mkIf config.nix.gc.automatic ["nix-gc.service"];
personal.monitor = true;
};
+ nix-gc-remove-old-hm-gens = let
+ user = config.personal.user;
+ in {
+ enable = cfg.gc.enable && user.enable && user.homeManager.enable;
+ description = "Remove old Home Manager generations for user ${user.name}";
+ serviceConfig.Type = "oneshot";
+ script = "${pkgs.nix}/bin/nix-env --profile /home/${user.name}/.local/state/nix/profiles/home-manager --delete-generations old";
+ before = lib.mkIf config.nix.gc.automatic ["nix-gc.service"];
+ wantedBy = lib.mkIf config.nix.gc.automatic ["nix-gc.service"];
+ personal.monitor = true;
+ };
};
programs.git = lib.mkIf (cfg.flake != null && lib.hasPrefix "git+file" cfg.flake) {
enable = true;