summaryrefslogtreecommitdiffstats
path: root/tv/2configs/test.nix
diff options
context:
space:
mode:
authorlassulus <lass@aidsballs.de>2015-09-05 12:17:59 +0200
committerlassulus <lass@aidsballs.de>2015-09-05 12:17:59 +0200
commitf54a0a9ea7fd5a9902a5b38786da42f06d615b5a (patch)
treed7c475b212d8acc35a5dc7d20ec1f2228c664010 /tv/2configs/test.nix
parentf3c1727659c59ff638b1adead8e30ee2f79f39de (diff)
parentd6d9956abc60548c755d30e6a5bd13c10abbb181 (diff)
Merge branch 'makefu'
Diffstat (limited to 'tv/2configs/test.nix')
-rw-r--r--tv/2configs/test.nix31
1 files changed, 31 insertions, 0 deletions
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