nix-config/nixosModules/dev/ide.nix
2025-02-21 07:56:36 +01:00

60 lines
1.3 KiB
Nix

{
config,
pkgs,
lib,
...
}:
let
cfg = config.krop.ide;
in
{
options.krop.ide = {
enable = lib.mkOption {
type = lib.types.bool;
default = true;
example = true;
};
install-pycharm = lib.mkOption {
type = lib.types.bool;
default = false;
example = true;
};
install-goland = lib.mkOption {
type = lib.types.bool;
default = false;
example = true;
};
install-webstorm = lib.mkOption {
type = lib.types.bool;
default = false;
example = true;
};
install-datagrip = lib.mkOption {
type = lib.types.bool;
default = false;
example = true;
};
install-clion = lib.mkOption {
type = lib.types.bool;
default = false;
example = true;
};
};
config = lib.mkIf cfg.enable {
environment.systemPackages =
with pkgs;
[
# zed-editor
vscodium
]
++ lib.optionals cfg.install-pycharm [ pkgs.jetbrains.pycharm-professional ]
++ lib.optionals cfg.install-goland [ pkgs.jetbrains.goland ]
++ lib.optionals cfg.install-webstorm [ pkgs.jetbrains.webstorm ]
++ lib.optionals cfg.install-clion [
pkgs.jetbrains.clion
pkgs.clang-tools
]
++ lib.optionals cfg.install-datagrip [ pkgs.jetbrains.datagrip ];
};
}