Skip to content

Commit d0601cb

Browse files
committed
feat: make 'env' submodules stringify as Bash code
1 parent 3cf289d commit d0601cb

1 file changed

Lines changed: 10 additions & 2 deletions

File tree

modules/env.nix

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,17 @@ let
3636
};
3737

3838
unset = mkEnableOption "unsets the variable";
39+
40+
__toString = mkOption {
41+
type = types.functionTo types.str;
42+
internal = true;
43+
readOnly = true;
44+
default = envToBash;
45+
description = "Function used to translate this submodule to Bash code";
46+
};
3947
};
4048

41-
envToBash = { name, value, eval, prefix, unset }@args:
49+
envToBash = { name, value, eval, prefix, unset, ... }@args:
4250
let
4351
vals = filter (key: args.${key} != null && args.${key} != false) [
4452
"eval"
@@ -113,6 +121,6 @@ in
113121
}
114122
];
115123

116-
devshell.startup_env = concatStringsSep "\n" (map envToBash config.env);
124+
devshell.startup_env = concatStringsSep "\n" config.env;
117125
};
118126
}

0 commit comments

Comments
 (0)