2024-09-19 17:44:40 +02:00
|
|
|
{
|
|
|
|
config,
|
|
|
|
pkgs,
|
|
|
|
lib,
|
|
|
|
...
|
|
|
|
}:
|
2024-09-19 17:30:03 +02:00
|
|
|
let
|
2024-09-19 17:44:40 +02:00
|
|
|
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
|
|
|
};
|
2024-09-19 17:44:40 +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;
|
|
|
|
};
|
|
|
|
|
2024-09-19 17:44:40 +02: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-09-19 17:44:40 +02:00
|
|
|
]
|
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 ]
|
|
|
|
++ lib.optionals cfg.install-datagrip [ pkgs.jetbrains.datagrip ];
|
2024-09-19 17:44:40 +02:00
|
|
|
};
|
|
|
|
}
|