{ config, lib, pkgs, ... }: with lib; let cfg = config.nixfiles.modules.profiles.dev.containers; in { options.nixfiles.modules.profiles.dev.containers.enable = mkEnableOption "Tools for working with containers and container orchestration" // { default = config.nixfiles.modules.profiles.dev.enable; }; config = mkIf cfg.enable { hm = { home = { sessionVariables = { MINIKUBE_IN_STYLE = "false"; WERF_DEV = "true"; WERF_INSECURE_REGISTRY = "true"; WERF_LOG_DEBUG = "true"; WERF_LOG_PRETTY = "false"; WERF_LOG_VERBOSE = "true"; WERF_SYNCHRONIZATION = ":local"; WERF_TELEMETRY = "false"; }; packages = with pkgs; [ argocd chart-testing clusterctl cmctl datree istioctl k9s kubeconform kubectl kubectl-doctor kubectl-images kubectl-tree kubectx kubelogin-oidc kubent kubernetes-helm kubeseal kubespy minikube skaffold skopeo stern telepresence2 werf ]; }; programs.bash = { shellAliases = { b = "buildah"; h = "helm"; k = "kubectl"; kns = "kubens"; ktx = "kubectx"; }; initExtra = mkAfter '' _complete_alias b _buildah buildah _complete_alias h __start_helm helm _complete_alias k __start_kubectl kubectl _complete_alias kns _kube_namespaces kubens _complete_alias ktx _kube_contexts kubectx ''; }; }; }; }