diff options
Diffstat (limited to 'modules/home-manager/personal/programs')
| -rw-r--r-- | modules/home-manager/personal/programs/default.nix | 1 | ||||
| -rw-r--r-- | modules/home-manager/personal/programs/devenv.nix | 21 |
2 files changed, 22 insertions, 0 deletions
diff --git a/modules/home-manager/personal/programs/default.nix b/modules/home-manager/personal/programs/default.nix index 8b3ba16..5050749 100644 --- a/modules/home-manager/personal/programs/default.nix +++ b/modules/home-manager/personal/programs/default.nix @@ -3,6 +3,7 @@ { imports = [ ./alacritty.nix + ./devenv.nix ./direnv.nix ./emacs.nix ./firefox diff --git a/modules/home-manager/personal/programs/devenv.nix b/modules/home-manager/personal/programs/devenv.nix new file mode 100644 index 0000000..0a93276 --- /dev/null +++ b/modules/home-manager/personal/programs/devenv.nix @@ -0,0 +1,21 @@ +{ + config, + lib, + pkgs, + ... +} @ extraArgs: let + cfg = config.personal.programs.devenv; + importedDevenv = extraArgs ? devenv; +in { + options.personal.programs.devenv.enable = lib.mkEnableOption "devenv"; + + config = lib.mkIf cfg.enable { + assertions = [ + { + assertion = importedDevenv; + message = "attribute devenv missing: add it in home-manager's special args, or set config.personal.devenv.enable to false"; + } + ]; + home.packages = lib.optional importedDevenv extraArgs.devenv.packages.${pkgs.system}.devenv; + }; +} |
