diff options
Diffstat (limited to 'modules')
| -rw-r--r-- | modules/devenv/default.nix | 3 | ||||
| -rw-r--r-- | modules/devenv/languages/default.nix | 3 | ||||
| -rw-r--r-- | modules/devenv/languages/nix.nix | 29 |
3 files changed, 35 insertions, 0 deletions
diff --git a/modules/devenv/default.nix b/modules/devenv/default.nix new file mode 100644 index 0000000..273b94f --- /dev/null +++ b/modules/devenv/default.nix @@ -0,0 +1,3 @@ +{ + imports = [ ./languages ]; +} diff --git a/modules/devenv/languages/default.nix b/modules/devenv/languages/default.nix new file mode 100644 index 0000000..2f4fc86 --- /dev/null +++ b/modules/devenv/languages/default.nix @@ -0,0 +1,3 @@ +{ + imports = [ ./nix.nix ]; +} diff --git a/modules/devenv/languages/nix.nix b/modules/devenv/languages/nix.nix new file mode 100644 index 0000000..6db3af4 --- /dev/null +++ b/modules/devenv/languages/nix.nix @@ -0,0 +1,29 @@ +{ + config, + options, + lib, + pkgs, + devenv, + ... +}: let + cfg = config.languages.nix; +in { + disabledModules = ["${devenv}/src/modules/languages/nix.nix"]; + + options.languages.nix = { + enable = lib.mkEnableOption "tools for nix development"; + formatter = lib.mkPackageOption pkgs "nix formatter" { + default = ["alejandra"]; + }; + packaging.enable = lib.mkEnableOption "tools for writing nix derivations"; + }; + + config = { + packages = lib.mkIf cfg.enable (with pkgs; [cfg.formatter deadnix] ++ lib.optionals cfg.packaging.enable [nix-prefetch-scripts nix-prefetch-github]); + + pre-commit.hooks = { + deadnix.enable = lib.mkDefault true; + "${cfg.formatter.pname}".enable = lib.mkDefault true; + }; + }; +} |
