{ 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.default.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 helm istioctl kubeconform kubectl kubectl-doctor kubectl-images kubectl-tree kubectx kubelogin kubent kubescape kubeseal kubespy minikube skaffold skopeo stern telepresence werf ]; }; programs.bash = { shellAliases = with pkgs; { b = "${buildah}/bin/buildah"; h = "${helm}/bin/helm"; k = "${kubectl}/bin/kubectl"; kns = "${kubectx}/bin/kubens"; ktx = "${kubectx}/bin/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 ''; }; }; }; }