From c62c1c07b9acaebc4d51d8464d35fd0c3b0dfc20 Mon Sep 17 00:00:00 2001 From: "quentin@aristote.fr" Date: Sun, 3 Dec 2023 23:15:00 +0100 Subject: home: dev: add devenv package --- modules/home-manager/personal/programs/default.nix | 1 + modules/home-manager/personal/programs/devenv.nix | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 modules/home-manager/personal/programs/devenv.nix (limited to 'modules/home-manager/personal/programs') 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; + }; +} -- cgit v1.2.3