summaryrefslogtreecommitdiff
path: root/modules/home-manager/personal/programs
diff options
context:
space:
mode:
Diffstat (limited to 'modules/home-manager/personal/programs')
-rw-r--r--modules/home-manager/personal/programs/default.nix1
-rw-r--r--modules/home-manager/personal/programs/devenv.nix21
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;
+ };
+}