nix-config/nixosModules/dev/cli.nix
2025-02-13 12:23:48 +01:00

67 lines
1.4 KiB
Nix

{
config,
pkgs,
lib,
...
}:
let
cfg = config.krop.cli;
in
{
options.krop.cli = {
enable = lib.mkOption {
type = lib.types.bool;
default = true;
example = true;
description = "Whether to install the most used tools";
};
install-editors = lib.mkOption {
type = lib.types.bool;
default = true;
example = true;
description = "Whether to install cli editors";
};
install-k8s-tools = lib.mkOption {
type = lib.types.bool;
default = false;
example = true;
description = "Whether to install k8s tools";
};
install-cloud-cli = lib.mkOption {
type = lib.types.bool;
default = false;
example = true;
description = "Whether to install cloud providers CLI clients";
};
};
config = lib.mkIf cfg.enable {
environment.systemPackages =
with pkgs;
[
openssl_3_3
dig
wl-clipboard
# bitwarden-cli # - https://github.com/NixOS/nixpkgs/issues/380227
direnv
nix-direnv
gettext
file
]
++ lib.optionals cfg.install-editors [
pkgs.lazygit
pkgs.lazydocker
pkgs.micro-with-wl-clipboard
]
++ lib.optionals cfg.install-k8s-tools [
pkgs.k9s
pkgs.kubectl
pkgs.kubectx
pkgs.minikube
pkgs.kind
pkgs.argocd
]
++ lib.optionals cfg.install-cloud-cli [
pkgs.oci-cli
];
};
}