diff options
Diffstat (limited to 'tv/2configs')
-rw-r--r-- | tv/2configs/charybdis.nix | 6 | ||||
-rw-r--r-- | tv/2configs/mail-client.nix | 3 | ||||
-rw-r--r-- | tv/2configs/test.nix | 31 |
3 files changed, 33 insertions, 7 deletions
diff --git a/tv/2configs/charybdis.nix b/tv/2configs/charybdis.nix index a2952219d..a949026de 100644 --- a/tv/2configs/charybdis.nix +++ b/tv/2configs/charybdis.nix @@ -1,9 +1,5 @@ { config, lib, pkgs, ... }: -let - tvpkgs = import ../5pkgs { inherit pkgs; }; -in - with builtins; with lib; let @@ -63,7 +59,7 @@ let ExecStart = pkgs.writeScript "charybdis-service" '' #! /bin/sh set -euf - exec ${tvpkgs.charybdis}/bin/charybdis-ircd \ + exec ${pkgs.charybdis}/bin/charybdis-ircd \ -foreground \ -logfile /dev/stderr \ -configfile ${configFile} diff --git a/tv/2configs/mail-client.nix b/tv/2configs/mail-client.nix index a632cf7c4..8b6f8bbcd 100644 --- a/tv/2configs/mail-client.nix +++ b/tv/2configs/mail-client.nix @@ -1,7 +1,6 @@ { pkgs, ... }: -with import ../5pkgs { inherit pkgs; }; - +with pkgs; { environment.systemPackages = [ much diff --git a/tv/2configs/test.nix b/tv/2configs/test.nix new file mode 100644 index 000000000..409b4e9b4 --- /dev/null +++ b/tv/2configs/test.nix @@ -0,0 +1,31 @@ +{ config, lib, pkgs, ... }: + +with import ../4lib { inherit lib pkgs; }; + +let + out = { + environment.systemPackages = [ + su-test + ]; + security.sudo.extraConfig = '' + tv ALL=(test) NOPASSWD: ALL + ''; + users.extraUsers.test = { + shell = "${test-shell}"; + }; + }; + + su-test = pkgs.execveBin "su-test" rec { + filename = "/var/setuid-wrappers/sudo"; + argv = ["sudo" "-u" "test" "-i"]; + }; + + test-shell = pkgs.execve "test-shell" rec { + filename = "${pkgs.bash}/bin/bash"; + argv = ["sh" "--noprofile" "-l"]; + envp.ENV = pkgs.writeText "test-env" '' + ${shell.cat "Hello, `$(j0w\nd0g!)`!\\o/\n"} >&2 + ''; + }; + +in out |