summaryrefslogtreecommitdiffstats
path: root/lib/default.nix
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2019-11-29 13:20:21 +0100
committerGitHub <noreply@github.com>2019-11-29 13:20:21 +0100
commit8de797dae0fcd1821d79c486abeffc536c2de643 (patch)
treea31a177d0c333b4144de0e6650a72ebc2a5c7101 /lib/default.nix
parent2e94e6eb24eec23075e5925f8de7468b3489d4fb (diff)
parentcd215753338c9e077516deabac11735dfb624f06 (diff)
Merge pull request #7 from nyantec/feature/sudo
ssh, rsync: support using sudo on remote
Diffstat (limited to 'lib/default.nix')
-rw-r--r--lib/default.nix5
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/default.nix b/lib/default.nix
index 48e005e..bed284d 100644
--- a/lib/default.nix
+++ b/lib/default.nix
@@ -46,12 +46,13 @@ let {
default = defVal: val: if val != null then val else defVal;
parse = lib.match "(([^@]+)@)?(([^:/]+))?(:([^/]+))?(/.*)?" s;
elemAt' = xs: i: if lib.length xs > i then lib.elemAt xs i else null;
- in {
+ in if lib.isString s then {
user = default (lib.getEnv "LOGNAME") (elemAt' parse 1);
host = default (lib.maybeEnv "HOSTNAME" lib.getHostName) (elemAt' parse 3);
port = default "22" /* "ssh"? */ (elemAt' parse 5);
path = default "/var/src" /* no default? */ (elemAt' parse 6);
- };
+ sudo = false;
+ } else s;
shell = let
isSafeChar = lib.testString "[-+./0-9:=A-Z_a-z]";