From d6080ef128404a97a0b7dc1653b78260d473f159 Mon Sep 17 00:00:00 2001 From: Quentin Aristote Date: Sun, 25 Sep 2022 14:12:11 +0200 Subject: move direnv-{clean,reload} services to home-manager --- nixos/services.nix | 38 ++++++-------------------------------- 1 file changed, 6 insertions(+), 32 deletions(-) (limited to 'nixos/services.nix') diff --git a/nixos/services.nix b/nixos/services.nix index f0a04ef..f8baf85 100644 --- a/nixos/services.nix +++ b/nixos/services.nix @@ -1,49 +1,23 @@ { lib, config, pkgs, ... }: -let - userService = user: { - serviceConfig.User = user; - environment.HOME = config.users.users."${user}".home; - }; -in { +{ # List services that you want to enable: # Enable the OpenSSH daemon. # services.openssh.enable = true; systemd.services = { - direnv-reload = { - enable = true; - description = "Update virtual environments of user qaristote"; - - restartIfChanged = false; - unitConfig.X-StopOnRemoval = false; - serviceConfig.Type = "oneshot"; - - environment.NIX_PATH = config.environment.sessionVariables.NIX_PATH; - - path = with pkgs; [ direnv ]; - script = - "find $HOME -type d -name .nix-gc-roots -execdir direnv exec . true \\;"; - - after = - lib.mkIf config.system.autoUpgrade.enable [ "nixos-upgrade.service" ]; - requiredBy = - lib.mkIf config.system.autoUpgrade.enable [ "nixos-upgrade.service" ]; - } // (userService "qaristote"); - direnv-prune = { + nix-gc-remove-dead-roots = { enable = true; - description = "Clean virtual environments of user qaristote"; + description = "Remove dead symlinks in /nix/var/nix/gcroots"; serviceConfig.Type = "oneshot"; - path = with pkgs; [ direnv ]; - script = "find $HOME -type d -name .direnv -execdir direnv prune \\;"; + script = "find /nix/var/nix/gcroots -xtype l -delete"; - after = [ "direnv-reload.service" ]; before = lib.mkIf config.nix.gc.automatic [ "nix-gc.service" ]; - requiredBy = lib.mkIf config.nix.gc.automatic [ "nix-gc.service" ]; - } // (userService "qaristote"); + wantedBy = lib.mkIf config.nix.gc.automatic [ "nix-gc.service" ]; + }; }; # virtualisation.docker.enable = true; -- cgit v1.2.3