{ pkgs, ... }: let unstable = (builtins.getFlake "nixpkgs/382f738a0dab4950bb35d6005c6bca18c876a4d4").legacyPackages.aarch64-linux; in { environment.packages = with pkgs; [ unstable.kubectl unstable.kubernetes-helm unstable.kubecolor unstable.kompose unstable.k9s unstable.krew unstable.stern unstable.kubectl-rook-ceph unstable.kubectl-view-secret unstable.helmfile unstable.kubernetes-helmPlugins.helm-diff unstable.kubernetes-helmPlugins.helm-secrets unstable.kubernetes-helmPlugins.helm-git unstable.kubernetes-helmPlugins.helm-s3 # dedicated script, because bash aliases dont work with `watch` # (writeShellScriptBin "k" "exec kube -n \"$(basename \"$(pwd)\")\" \"$@\"") # (writeShellScriptBin "k" "exec kubecolor \"$@\"") (writeShellScriptBin "ceph" "exec kubecolor -n rook-ceph exec -it $(kubectl -n rook-ceph get pod -l \"app=rook-ceph-tools\" -o jsonpath='{.items[*].metadata.name}') -- ceph \"$@\"") ]; }