From 41530fa9eb8328d7bf20272174056df65b75c4a4 Mon Sep 17 00:00:00 2001 From: Charlie Root Date: Thu, 22 Aug 2024 21:54:43 +0200 Subject: [PATCH] direnv.nix: init, move direnv to own file --- hosts/default.nix | 2 -- modules/other/home-manager.nix | 17 ++++++++++++----- modules/programs/default.nix | 1 + modules/programs/other/direnv.nix | 15 +++++++++++++++ modules/programs/other/module.nix | 3 +++ 5 files changed, 31 insertions(+), 7 deletions(-) create mode 100644 modules/programs/other/direnv.nix create mode 100644 modules/programs/other/module.nix diff --git a/hosts/default.nix b/hosts/default.nix index a45fb9d..8f2d520 100644 --- a/hosts/default.nix +++ b/hosts/default.nix @@ -37,7 +37,6 @@ in { modules = [ ./vali/temperance ../modules - inputs.home-manager.nixosModules.home-manager ]; }; @@ -47,7 +46,6 @@ in { modules = [ ./vali/hermit ../modules - inputs.home-manager.nixosModules.home-manager ]; }; } diff --git a/modules/other/home-manager.nix b/modules/other/home-manager.nix index f74fd14..17777a2 100644 --- a/modules/other/home-manager.nix +++ b/modules/other/home-manager.nix @@ -15,20 +15,27 @@ in { enableDirenv = mkEnableOption "direnv"; }; + # NOTE: to keep this configuration sane and simple, + # we import the NixOS home manager module instead of the + # standalone one. + imports = [ + inputs.home-manager.nixosModules.home-manager + ]; + config = mkIf cfg.enable { home-manager = { + # Verbosity is great, give me verbosity. verbose = true; + useUserPackages = true; useGlobalPkgs = true; + + # backupFileExtension = "hm.old"; - extraSpecialArgs = {inherit inputs self impurity;}; + extraSpecialArgs = {inherit inputs self;}; users.${username} = { programs = { home-manager.enable = true; - direnv = mkIf cfg.enableDirenv { - enable = true; - nix-direnv.enable = true; - }; }; home = { diff --git a/modules/programs/default.nix b/modules/programs/default.nix index b79015c..9d3b1a7 100644 --- a/modules/programs/default.nix +++ b/modules/programs/default.nix @@ -4,5 +4,6 @@ _: { ./gui ./tui ./editors + ./other/module.nix ]; } diff --git a/modules/programs/other/direnv.nix b/modules/programs/other/direnv.nix new file mode 100644 index 0000000..94e6667 --- /dev/null +++ b/modules/programs/other/direnv.nix @@ -0,0 +1,15 @@ +_: { + programs.direnv = { + enable = true; + # PLEASE BE SILENT + silent = true; + + # We want direnv to load in our nix dev shells + loadInNixShell = true; + + # Integrations for all our shells + enableZshIntegration = true; + enableFishIntegration = true; + enableBashIntegration = true; + }; +} diff --git a/modules/programs/other/module.nix b/modules/programs/other/module.nix new file mode 100644 index 0000000..2454c4c --- /dev/null +++ b/modules/programs/other/module.nix @@ -0,0 +1,3 @@ +_: { + imports = [./direnv.nix]; +}