diff options
Diffstat (limited to 'utils')
| -rw-r--r-- | utils/default.nix | 3 | ||||
| -rw-r--r-- | utils/scripts.nix | 33 |
2 files changed, 36 insertions, 0 deletions
diff --git a/utils/default.nix b/utils/default.nix new file mode 100644 index 0000000..b4dac37 --- /dev/null +++ b/utils/default.nix @@ -0,0 +1,3 @@ +{ + scripts = import ./scripts.nix; +} diff --git a/utils/scripts.nix b/utils/scripts.nix new file mode 100644 index 0000000..87639c6 --- /dev/null +++ b/utils/scripts.nix @@ -0,0 +1,33 @@ +{ + lib, + pkgs, + config, +}: + +{ + # We define mkScript as a function that takes the context it needs + mkScript = + name: path: env: + let + # Logic inside the helper + defaultShell = + if (config.tools.zsh.enable or false) then + (lib.getExe config.programs.zsh.package) + else + "/usr/bin/env sh"; + + envVars = lib.concatStringsSep "\n" ( + lib.mapAttrsToList (n: v: "export ${n}=\"${toString v}\"") env + ); + in + pkgs.writeTextFile { + inherit name; + executable = true; + destination = "/bin/${name}"; + text = '' + #!${defaultShell} + ${envVars} + ${builtins.readFile path} + ''; + }; +} |
