nix-config/nixosModules/dev/ide.nix

61 lines
1.3 KiB
Nix
Raw Normal View History

{
config,
pkgs,
lib,
...
}:
2024-09-19 17:30:03 +02:00
let
cfg = config.krop.ide;
in
{
options.krop.ide = {
enable = lib.mkOption {
type = lib.types.bool;
default = true;
example = true;
2024-09-19 17:30:03 +02:00
};
install-pycharm = lib.mkOption {
type = lib.types.bool;
default = false;
example = true;
};
2024-11-16 22:29:05 +01:00
install-goland = lib.mkOption {
type = lib.types.bool;
default = false;
example = true;
};
2024-12-21 17:57:34 +01:00
install-webstorm = lib.mkOption {
type = lib.types.bool;
default = false;
example = true;
};
2025-02-12 09:47:45 +01:00
install-datagrip = lib.mkOption {
type = lib.types.bool;
default = false;
example = true;
};
2025-02-21 07:56:36 +01:00
install-clion = lib.mkOption {
type = lib.types.bool;
default = false;
example = true;
};
2025-02-12 09:47:45 +01:00
};
config = lib.mkIf cfg.enable {
environment.systemPackages =
with pkgs;
[
2024-11-18 18:39:54 +01:00
# zed-editor
2024-09-24 19:44:48 +02:00
vscodium
]
2024-11-16 22:29:05 +01:00
++ lib.optionals cfg.install-pycharm [ pkgs.jetbrains.pycharm-professional ]
2024-12-21 17:57:34 +01:00
++ lib.optionals cfg.install-goland [ pkgs.jetbrains.goland ]
2025-02-12 09:47:45 +01:00
++ lib.optionals cfg.install-webstorm [ pkgs.jetbrains.webstorm ]
2025-02-21 07:56:36 +01:00
++ lib.optionals cfg.install-clion [
pkgs.jetbrains.clion
pkgs.clang-tools
]
2025-02-12 09:47:45 +01:00
++ lib.optionals cfg.install-datagrip [ pkgs.jetbrains.datagrip ];
};
}