diff options
| author | quentin@aristote.fr <quentin@aristote.fr> | 2023-09-01 12:16:19 +0200 |
|---|---|---|
| committer | quentin@aristote.fr <quentin@aristote.fr> | 2023-09-01 12:16:19 +0200 |
| commit | a20095cc1470c369c887faa4d8f995a4326ee43f (patch) | |
| tree | c54db7c9e25b548e8ae3ccfd9ed40d072a8cd8d9 /modules/home-manager | |
| parent | c441c195014cbf6efdfd72fb831478db2187cd82 (diff) | |
home: direnv: update flakes when reloading env
Diffstat (limited to 'modules/home-manager')
| -rw-r--r-- | modules/home-manager/personal/programs/direnv.nix | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/modules/home-manager/personal/programs/direnv.nix b/modules/home-manager/personal/programs/direnv.nix index 7d87dc2..fe1662d 100644 --- a/modules/home-manager/personal/programs/direnv.nix +++ b/modules/home-manager/personal/programs/direnv.nix @@ -1,23 +1,27 @@ -{ config, lib, pkgs, ... }: - -let cfg = config.programs.direnv; +{ + config, + lib, + pkgs, + ... +}: let + cfg = config.programs.direnv; in { programs.direnv.nix-direnv.enable = true; - systemd.user = lib.mkIf cfg.enable + systemd.user = + lib.mkIf cfg.enable (pkgs.personal.lib.homeManager.serviceWithTimer "direnv-clean-update" { Unit = { - Description = - "Remove old virtual environments and update the current ones"; - After = [ "network-online.target" ]; + Description = "Remove old virtual environments and update the current ones"; + After = ["network-online.target"]; }; Service = { Type = "oneshot"; - ExecSearchPath = - "${pkgs.coreutils}/bin:${pkgs.findutils}/bin:${pkgs.direnv}/bin:/bin/sh"; + ExecSearchPath = "${pkgs.coreutils}/bin:${pkgs.findutils}/bin:${pkgs.direnv}/bin:/bin/sh"; WorkingDirectory = "${config.home.homeDirectory}"; ExecStart = '' find -type d -name .direnv \ + -execdir nix flake update || true \; \ -execdir /bin/sh -c "rm -f .direnv/{nix,flake}-profile*" \; \ -execdir direnv exec . true \; ''; @@ -26,6 +30,6 @@ in { Persistent = true; OnCalendar = "daily"; }; - Install = { WantedBy = [ "default.target " ]; }; + Install = {WantedBy = ["default.target "];}; }); } |
