Files
lux/modules/capabilities/dev-tools.nix
T

73 lines
1.9 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"
'';
};
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; [
httpie
bruno
usql
posting
resterm
kubectl
kubelogin-oidc
mongodb-compass
scc
nodejs
mariadb
just
gardenctl
gardenlogin
];
programs.lazygit = {
enable = true;
enableZshIntegration = true;
};
programs.jujutsu.enable = true;
programs.jq.enable = true;
programs.bun.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";
};
};
};
}