diff options
author | Freya Murphy <freya@freyacat.org> | 2025-06-23 22:33:44 -0400 |
---|---|---|
committer | Freya Murphy <freya@freyacat.org> | 2025-06-23 22:33:44 -0400 |
commit | 328c741b1aac74020412e99e0dca7c728dbc92fa (patch) | |
tree | 461f4ebcd3252d542749a34668defd62de356c73 /modules/development/default.nix | |
parent | removed unused packages (diff) | |
download | dotfiles-nix-328c741b1aac74020412e99e0dca7c728dbc92fa.tar.gz dotfiles-nix-328c741b1aac74020412e99e0dca7c728dbc92fa.tar.bz2 dotfiles-nix-328c741b1aac74020412e99e0dca7c728dbc92fa.zip |
refactor
Diffstat (limited to 'modules/development/default.nix')
-rw-r--r-- | modules/development/default.nix | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/modules/development/default.nix b/modules/development/default.nix new file mode 100644 index 0000000..486a220 --- /dev/null +++ b/modules/development/default.nix @@ -0,0 +1,49 @@ +{ + lib, + config, + pkgs, + ... +}: let + inherit (lib) mkEnableOption optionals; + cfg = config.development; +in { + options.development = { + c = mkEnableOption "Enable c/c++ development tools."; + java = mkEnableOption "Enable java/kotlin development tools."; + rust = mkEnableOption "Enable rust development tools."; + zig = mkEnableOption "Enable zig development tools."; + }; + + config = { + home-manager.users.${config.user} = { + home.packages = with pkgs; + (optionals cfg.c [ + clang-tools + gcc + gdb + gnumake + nasm + pkg-config + ]) + ++ (optionals cfg.rust [ + rustc + rustfmt + rust-analyzer + cargo + clippy + ]) + ++ (optionals cfg.java [ + gradle + jdk + jdt-language-server + kotlin + kotlin-language-server + maven + ]) + ++ (optionals cfg.zig [ + zig + zls + ]); + }; + }; +} |