From a20095cc1470c369c887faa4d8f995a4326ee43f Mon Sep 17 00:00:00 2001 From: "quentin@aristote.fr" Date: Fri, 1 Sep 2023 12:16:19 +0200 Subject: home: direnv: update flakes when reloading env --- modules/home-manager/personal/programs/direnv.nix | 24 +++++++++++++---------- 1 file 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 "];}; }); } -- cgit v1.2.3