nix-config/nixosModules/dev/cli.nix

64 lines
1.3 KiB
Nix
Raw Normal View History

2024-09-24 10:23:11 +02:00
{
config,
pkgs,
lib,
...
}@inputs:
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";
};
2024-09-26 12:25:44 +02:00
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";
};
2024-09-24 10:23:11 +02:00
};
config = lib.mkIf cfg.enable {
environment.systemPackages =
with pkgs;
[
openssl_3_3
dig
2024-09-25 21:39:12 +02:00
wl-clipboard
2024-09-26 21:05:27 +02:00
bitwarden-cli
2024-09-27 08:57:00 +02:00
direnv
nix-direnv
2024-09-24 10:23:11 +02:00
]
++ lib.optionals cfg.install-editors [
pkgs.lazygit
pkgs.lazydocker
pkgs.micro-with-wl-clipboard
2024-09-26 12:25:44 +02:00
]
++ lib.optionals cfg.install-k8s-tools [
pkgs.k9s
pkgs.kubectl
pkgs.kubectx
2024-10-06 22:41:31 +02:00
pkgs.minikube
2024-09-26 12:25:44 +02:00
]
++ lib.optionals cfg.install-cloud-cli [
pkgs.oci-cli
2024-09-24 10:23:11 +02:00
];
};
}