Files
lux/modules/capabilities/dev-tools.nix
T
2026-09-17 16:44:22 +02:00

65 lines
1.8 KiB
Nix

{
flake.modules.homeManager.dev-tools =
{ config, pkgs, ... }:
let
gardenctl = pkgs.stdenvNoCC.mkDerivation {
pname = "gardenctl";
version = "2.14.0";
src = pkgs.fetchurl {
url = "https://github.com/gardener/gardenctl-v2/releases/download/v2.14.0/gardenctl_v2_linux_amd64";
hash = "sha256-JCZ0eJLgYbd2ZMCCWFlhX4vOhHKZL40oR2a3EZ3i4Q8=";
};
dontUnpack = true;
installPhase = ''
install -Dm755 "$src" "$out/bin/gardenctl"
install -d "$out/share/zsh/site-functions"
"$out/bin/gardenctl" completion zsh > "$out/share/zsh/site-functions/_gardenctl"
'';
};
gardenlogin = pkgs.stdenvNoCC.mkDerivation {
pname = "gardenlogin";
version = "0.10.0";
src = pkgs.fetchurl {
url = "https://github.com/gardener/gardenlogin/releases/download/v0.10.0/gardenlogin_linux_amd64";
hash = "sha256-X4nHiZ29Mbnhxv/wlyD6PxX1KxzaX2R27N7Muu/gnH8=";
};
dontUnpack = true;
installPhase = ''
install -Dm755 "$src" "$out/bin/gardenlogin"
ln -s gardenlogin "$out/bin/kubectl-gardenlogin"
'';
};
in
{
home.sessionVariables.CARGO_HOME = "${config.xdg.dataHome}/cargo";
home.packages = with pkgs; [
bruno
kubectl
kubelogin-oidc
rclone
scc
visidata
just
gardenctl
gardenlogin
];
programs.lazygit.enable = true;
programs.jujutsu.enable = true;
programs.jq.enable = true;
programs.ripgrep.enable = true;
programs.k9s.enable = true;
programs.direnv = {
enable = true;
nix-direnv.enable = true;
config.global = {
hide_env_diff = true;
log_format = "↳ %s";
};
};
};
}