From aa428101e8efcbf41fbd7cd862bbf8056798709b Mon Sep 17 00:00:00 2001 From: jhonas Date: Fri, 7 Oct 2022 14:44:26 +0200 Subject: [PATCH] Test devshellModules --- template/flake.nix | 53 +++++++++++++++++++++++++++------------------- 1 file changed, 31 insertions(+), 22 deletions(-) diff --git a/template/flake.nix b/template/flake.nix index 57ab9bc..222a5c5 100644 --- a/template/flake.nix +++ b/template/flake.nix @@ -19,27 +19,13 @@ }; in { - # Internal utility package with shell function and env vars helper. - # These get source'd in devshell.bash.extra when starting tritonshell - packages = { - triton-utils = import ./pkgs/triton-utils.nix { inherit pkgs; }; - triton-docker-env = - let - # CUSTOMIZE: - # variables used to set triton env vars in tritonshell - # adjust to suit your Triton Data Center setup - # take a look at ./pkgs/triton-docker-env-shell.nix to see how these get used - cnsBaseDomain = "greenbaum.zone"; - dataCenters = [ "cgn-1" "lev-1" ]; - mantaDomain = "eu-central.manta.greenbaum.cloud"; - tritonApiDomain = "api.greenbaum.cloud"; - in - import ./pkgs/triton-docker-env.nix { - inherit pkgs cnsBaseDomain dataCenters mantaDomain tritonApiDomain; - }; + devshellModules.tritonshell = { config, lib, ... }: { + options.environment = { + enable = lib.mkEnableOption "environment"; + # TODO: add real config here }; - - devShells.default = + config = + # TODO: set some devshell config here, like add a new command let pkgs = import nixpkgs { inherit system; @@ -59,7 +45,30 @@ #hello ]; - in - import ./tritonshell.nix { inherit extraDevshellPkgs devshell pkgs self system; }; + in + lib.optionalAttrs config.environment.enable { + devShells.default = + (import ./tritonshell.nix { inherit extraDevshellPkgs devshell pkgs self system; }); + }; + }; + # Internal utility package with shell function and env vars helper. + # These get source'd in devshell.bash.extra when starting tritonshell + packages = { + triton-utils = import ./pkgs/triton-utils.nix { inherit pkgs; }; + triton-docker-env = + let + # CUSTOMIZE: + # variables used to set triton env vars in tritonshell + # adjust to suit your Triton Data Center setup + # take a look at ./pkgs/triton-docker-env-shell.nix to see how these get used + cnsBaseDomain = "greenbaum.zone"; + dataCenters = [ "cgn-1" "lev-1" ]; + mantaDomain = "eu-central.manta.greenbaum.cloud"; + tritonApiDomain = "api.greenbaum.cloud"; + in + import ./pkgs/triton-docker-env.nix { + inherit pkgs cnsBaseDomain dataCenters mantaDomain tritonApiDomain; + }; + }; }); }