diff options
| author | Ophestra <cat@gensokyo.uk> | 2025-03-27 01:08:53 +0900 |
|---|---|---|
| committer | Ophestra <cat@gensokyo.uk> | 2025-03-27 03:04:46 +0900 |
| commit | 32c90ef4e737f25f57cfa9f493c9cd7f6950c508 (patch) | |
| tree | ffae5e9d0dbdabf782663fcbbfc9388858a0b83a | |
| parent | 2a4e2724a35f322af3ae26c637c74161c4884542 (diff) | |
nix: pass through exec arguments
This is useful for when a wrapper script is unnecessary.
Signed-off-by: Ophestra <cat@gensokyo.uk>
| -rw-r--r-- | nixos.nix | 14 | ||||
| -rw-r--r-- | options.nix | 18 |
2 files changed, 27 insertions, 5 deletions
@@ -88,11 +88,15 @@ in conf = { inherit (app) id; - path = pkgs.writeScript "${app.name}-start" '' - #!${pkgs.zsh}${pkgs.zsh.shellPath} - ${script} - ''; - args = [ "${app.name}-start" ]; + path = + if app.path == null then + pkgs.writeScript "${app.name}-start" '' + #!${pkgs.zsh}${pkgs.zsh.shellPath} + ${script} + '' + else + app.path; + args = if app.args == null then [ "${app.name}-start" ] else app.args; confinement = { app_id = aid; diff --git a/options.nix b/options.nix index 9e367732..e0bf5489 100644 --- a/options.nix +++ b/options.nix @@ -94,6 +94,24 @@ in ''; }; + path = mkOption { + type = nullOr str; + default = null; + description = '' + Custom executable path. + Setting this to null will default to the start script. + ''; + }; + + args = mkOption { + type = nullOr (listOf str); + default = null; + description = '' + Custom args. + Setting this to null will default to script name. + ''; + }; + script = mkOption { type = nullOr str; default = null; |
