Browse Source

alias d->docker: prefix sudo only if not in docker grp

Fabian Peter Hammerle 5 years ago
parent
commit
011a5ce1b6
1 changed files with 7 additions and 1 deletions
  1. 7 1
      rc.xsh

+ 7 - 1
rc.xsh

@@ -1,5 +1,6 @@
 import contextlib
 import datetime as dt
+import grp
 import os
 import re
 import shutil
@@ -165,7 +166,12 @@ def yaml_write(path, data):
     with open(path, 'w') as f:
         f.write(yaml.dump(data, default_flow_style=False))
 
-aliases['d'] = ['sudo', 'docker']
+try:
+    docker_gid = grp.getgrnam('docker').gr_gid
+except KeyError:
+    docker_gid = None
+if docker_gid:
+    aliases['d'] = ['docker'] if docker_gid in os.getgroups() else ['sudo', 'docker']
 aliases['dpkg-welse'] = lambda args: '\n'.join(dpkg_welse(args[0]))
 aliases['dpkg-which'] = lambda args: '\t'.join(dpkg_which(args[0]))
 aliases['g'] = ['git']