summary refs log blame commit diff
path: root/nixos/modules/misc/ids.nix
blob: 394da9a38892235c66a5a917176b95f9b32545e7 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
                                                                  
                                        
 







                                                                          
             
 


                      
 

             
                             
                      


                                   
                                     

      
                             
                      


                                    
                                     



      
 
            
 

                


                          

                             
                         


                  
                                       
                  
               

                              

                   

                            
                
                        
                          

                                                    



                             
                      
                          
                                                        
                  
                            


                
                         
                   
                                   
                                        
               

                                             



                     





                  
                         
                 
                                    
                 
                   

                  
                                     



                   
                              
                    
                                        

                        

                               
                              
                   
                   




                    
                                                                                                                                 









                         
                                                                                                     
                    
                          
                                                             
                   
                    
                            
                    
                  
                     
                    
                  
                    
                  
                  
                    
                                    
                             
                      
                   
                             
                      
                  
                    
                   


                         

                   
                      
                     
                
                     
                
                   
                   
                             
                
                  
                    
                  
                  
                    
                        
                  
                      
                    
                 
                       
                                      
                   
                     
                    
                  
                    
                 


                             
                       
                 
                  
                     
                       
                  
                       
                     
                                          
                   
                           
                     
                  
                         
                              
                 

                            
                 
                
                                          

                   
                                      


                    
                            
                      
                   
                     
                
                      
                     
                 
                   
                    
                   
                                                       
                      
                      
                  
                  
                         
                     
                 
                  
                    
                     
                          
                   
                     
                           
                     
                    
                                                  
                       
                                                   
                     
                     
                     
                  
                 
                           
                   
                                                   
                     
                       
                  
                      
                          
                       
                          
                     

                               
                      
                  
                  
                                            
                                                 
                    
                     
                   
                      
                   
                                               
                       
                      

                        
                     
                       
                       
                     
                          
                     
                  
                  
                  
                      
                    
                      
                      
                       
                        
                 
                          
                                                                 
                
                  
                  


                    
                  
                       
                    
                  
                     
                                         
                 
                         
                      
                 
                   
                 
                      
                    
                   
                    
                                          



                   
                   
                  
                      
                          

                              
                                           
                 
                   
                  
                      
                 
                   
                     
                      
                        
                       
                      
                                           
                        
 
                                                                                                    
 














                                              
                                       
                            



                    
                  



                  
                





                                                    
                                                                        
                
                                                        
                  

                  
               


                                   
                                            
                                        
               
                     
                         
                    
                           
                    
                     



                  
                          






                          
                  






                           
                                        



                        
                              
                   
                   




                    
                                                                                                                                 








                    
                         
                               
                    
                
                                                             




                               
                  
                    
                  
                  
                    
                                    
                             
                      
                             
                             
                                
                  

                             


                         
                  
                   
                      
                     
                
                     
                
                   
                   
                   
                
                             
                    
                  
                            
                    
                        


                                
                 
                                 
                                      
                             
                     
                    
                  
                    
                 


                             
                       
                           

                     


                       

                               
                   
                  
                              
                 
                            
                  
                 
                
                                                    
                          
                   
                                                


                              
                                     
                      
                             
                     
                
                      
                     
                 
                    
                             
                            
                                                       
                               
                               
                  
                  
                         
                     
                 
                           
                    
                     
                         
                    
                     
                           
                    
                                                  
                       
                    
                     
                     
                     
                  
                 
                           
                   
                                                   
                     
                  
                      
                     
                      
                  
                  
                                
                                                
                     
                   
                      
                             
                                 
                       
                      

                        
                     
                       
                       
                               
                          
                     
                  
                  
                 
                      
                    
                      
                      
                       
                        
                 
                                                                 
                          
                            
                  


                    
                  
                       
                    
                  
                     
                                         
                 
                         
                      
                 
                   
                 
                      
                    
                   
                    
                                          



                   
                   
                  
                      
                          

                                                                    
                                           
                 
                   
                  
                      
                 
                   
                     
                      
                        
                       
                      
                                           
                        
 


                                                                  
 



                      
 


    
# This module defines the global list of uids and gids.  We keep a
# central list to prevent id collisions.

# IMPORTANT!
# We only add static uids and gids for services where it is not feasible
# to change uids/gids on service start, in example a service with a lot of
# files. Please also check if the service is applicable for systemd's
# DynamicUser option and does not need a uid/gid allocation at all.
# Systemd can also change ownership of service directories using the
# RuntimeDirectory/StateDirectory options.

{ lib, ... }:

let
  inherit (lib) types;
in
{
  options = {

    ids.uids = lib.mkOption {
      internal = true;
      description = ''
        The user IDs used in NixOS.
      '';
      type = types.attrsOf types.int;
    };

    ids.gids = lib.mkOption {
      internal = true;
      description = ''
        The group IDs used in NixOS.
      '';
      type = types.attrsOf types.int;
    };

  };


  config = {

    ids.uids = {
      root = 0;
      #wheel = 1; # unused
      #kmem = 2; # unused
      #tty = 3; # unused
      messagebus = 4; # D-Bus
      haldaemon = 5;
      #disk = 6; # unused
      vsftpd = 7;
      ftp = 8;
      bitlbee = 9;
      #avahi = 10; # removed 2019-05-22
      nagios = 11;
      atd = 12;
      postfix = 13;
      #postdrop = 14; # unused
      dovecot = 15;
      tomcat = 16;
      #audio = 17; # unused
      #floppy = 18; # unused
      uucp = 19;
      #lp = 20; # unused
      #proc = 21; # unused
      pulseaudio = 22; # must match `pulseaudio' GID
      gpsd = 23;
      #cdrom = 24; # unused
      #tape = 25; # unused
      #video = 26; # unused
      #dialout = 27; # unused
      polkituser = 28;
      #utmp = 29; # unused
      # ddclient = 30; # converted to DynamicUser = true
      davfs2 = 31;
      #disnix = 33; # unused
      osgi = 34;
      tor = 35;
      cups = 36;
      foldingathome = 37;
      sabnzbd = 38;
      #kdm = 39; # dropped in 17.03
      #ghostone = 40; # dropped in 18.03
      git = 41;
      #fourstore = 42; # dropped in 20.03
      #fourstorehttp = 43; # dropped in 20.03
      virtuoso = 44;
      rtkit = 45;
      dovecot2 = 46;
      dovenull2 = 47;
      prayer = 49;
      mpd = 50;
      clamav = 51;
      fprot = 52;
      bind = 53;
      wwwrun = 54;
      #adm = 55; # unused
      spamd = 56;
      #networkmanager = 57; # unused
      nslcd = 58;
      scanner = 59;
      nginx = 60;
      chrony = 61;
      #systemd-journal = 62; # unused
      smtpd = 63;
      smtpq = 64;
      supybot = 65;
      iodined = 66;
      #libvirtd = 67; # unused
      graphite = 68;
      #statsd = 69; # removed 2018-11-14
      transmission = 70;
      postgres = 71;
      #vboxusers = 72; # unused
      #vboxsf = 73; # unused
      smbguest = 74;  # unused
      varnish = 75;
      datadog = 76;
      lighttpd = 77;
      lightdm = 78;
      freenet = 79;
      ircd = 80;
      bacula = 81;
      #almir = 82; # removed 2018-03-25, the almir package was removed in 30291227f2411abaca097773eedb49b8f259e297 during 2017-08
      deluge = 83;
      mysql = 84;
      rabbitmq = 85;
      activemq = 86;
      gnunet = 87;
      oidentd = 88;
      quassel = 89;
      amule = 90;
      minidlna = 91;
      elasticsearch = 92;
      tcpcryptd = 93; # tcpcryptd uses a hard-coded uid. We patch it in Nixpkgs to match this choice.
      firebird = 95;
      #keys = 96; # unused
      #haproxy = 97; # dynamically allocated as of 2020-03-11
      mongodb = 98;
      openldap = 99;
      #users = 100; # unused
      cgminer = 101;
      munin = 102;
      logcheck = 103;
      nix-ssh = 104;
      dictd = 105;
      couchdb = 106;
      searx = 107;
      kippo = 108;
      jenkins = 109;
      systemd-journal-gateway = 110;
      #notbit = 111; # unused
      aerospike = 111;
      ngircd = 112;
      #btsync = 113; # unused
      minecraft = 114;
      vault = 115;
      rippled = 116;
      murmur = 117;
      foundationdb = 118;
      newrelic = 119;
      starbound = 120;
      hydra = 122;
      spiped = 123;
      teamspeak = 124;
      influxdb = 125;
      nsd = 126;
      gitolite = 127;
      znc = 128;
      polipo = 129;
      mopidy = 130;
      #docker = 131; # unused
      gdm = 132;
      dhcpd = 133;
      siproxd = 134;
      mlmmj = 135;
      neo4j = 136;
      riemann = 137;
      riemanndash = 138;
      radvd = 139;
      zookeeper = 140;
      dnsmasq = 141;
      uhub = 142;
      yandexdisk = 143;
      mxisd = 144; # was once collectd
      consul = 145;
      mailpile = 146;
      redmine = 147;
      seeks = 148;
      prosody = 149;
      i2pd = 150;
      systemd-network = 152;
      systemd-resolve = 153;
      systemd-timesync = 154;
      liquidsoap = 155;
      etcd = 156;
      hbase = 158;
      opentsdb = 159;
      scollector = 160;
      bosun = 161;
      kubernetes = 162;
      peerflix = 163;
      #chronos = 164; # removed 2020-08-15
      gitlab = 165;
      tox-bootstrapd = 166;
      cadvisor = 167;
      nylon = 168;
      apache-kafka = 169;
      #panamax = 170; # unused
      exim = 172;
      #fleet = 173; # unused
      #input = 174; # unused
      sddm = 175;
      tss = 176;
      #memcached = 177; removed 2018-01-03
      ntp = 179;
      zabbix = 180;
      #redis = 181; removed 2018-01-03
      unifi = 183;
      uptimed = 184;
      zope2 = 185;
      ripple-data-api = 186;
      mediatomb = 187;
      rdnssd = 188;
      ihaskell = 189;
      i2p = 190;
      lambdabot = 191;
      asterisk = 192;
      plex = 193;
      plexpy = 195;
      grafana = 196;
      skydns = 197;
      # ripple-rest = 198; # unused, removed 2017-08-12
      nix-serve = 199;
      tvheadend = 200;
      uwsgi = 201;
      gitit = 202;
      riemanntools = 203;
      subsonic = 204;
      riak = 205;
      shout = 206;
      gateone = 207;
      namecoin = 208;
      #lxd = 210; # unused
      kibana = 211;
      xtreemfs = 212;
      calibre-server = 213;
      heapster = 214;
      bepasty = 215;
      # pumpio = 216; # unused, removed 2018-02-24
      nm-openvpn = 217;
      # mathics = 218; # unused, removed 2020-08-15
      ejabberd = 219;
      postsrsd = 220;
      opendkim = 221;
      dspam = 222;
      gale = 223;
      matrix-synapse = 224;
      rspamd = 225;
      # rmilter = 226; # unused, removed 2019-08-22
      cfdyndns = 227;
      gammu-smsd = 228;
      pdnsd = 229;
      octoprint = 230;
      avahi-autoipd = 231;
      nntp-proxy = 232;
      mjpg-streamer = 233;
      radicale = 234;
      hydra-queue-runner = 235;
      hydra-www = 236;
      syncthing = 237;
      caddy = 239;
      taskd = 240;
      # factorio = 241; # DynamicUser = true
      # emby = 242; # unusued, removed 2019-05-01
      graylog = 243;
      sniproxy = 244;
      nzbget = 245;
      mosquitto = 246;
      toxvpn = 247;
      # squeezelite = 248; # DynamicUser = true
      turnserver = 249;
      smokeping = 250;
      gocd-agent = 251;
      gocd-server = 252;
      terraria = 253;
      mattermost = 254;
      prometheus = 255;
      telegraf = 256;
      gitlab-runner = 257;
      postgrey = 258;
      hound = 259;
      leaps = 260;
      ipfs  = 261;
      stanchion = 262;
      riak-cs = 263;
      infinoted = 264;
      sickbeard = 265;
      headphones = 266;
      couchpotato = 267;
      gogs = 268;
      pdns-recursor = 269;
      #kresd = 270; # switched to "knot-resolver" with dynamic ID
      rpc = 271;
      geoip = 272;
      fcron = 273;
      sonarr = 274;
      radarr = 275;
      jackett = 276;
      aria2 = 277;
      clickhouse = 278;
      rslsync = 279;
      minio = 280;
      kanboard = 281;
      # pykms = 282; # DynamicUser = true
      kodi = 283;
      restya-board = 284;
      mighttpd2 = 285;
      hass = 286;
      monero = 287;
      ceph = 288;
      duplicati = 289;
      monetdb = 290;
      restic = 291;
      openvpn = 292;
      # meguca = 293; # removed 2020-08-21
      yarn = 294;
      hdfs = 295;
      mapred = 296;
      hadoop = 297;
      hydron = 298;
      cfssl = 299;
      cassandra = 300;
      qemu-libvirtd = 301;
      # kvm = 302; # unused
      # render = 303; # unused
      # zeronet = 304; # removed 2019-01-03
      lirc = 305;
      lidarr = 306;
      slurm = 307;
      kapacitor = 308;
      solr = 309;
      alerta = 310;
      minetest = 311;
      rss2email = 312;
      cockroachdb = 313;
      zoneminder = 314;
      paperless = 315;
      #mailman = 316;  # removed 2019-08-30
      zigbee2mqtt = 317;

      # When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!

      nixbld = 30000; # start of range of uids
      nobody = 65534;
    };

    ids.gids = {
      root = 0;
      wheel = 1;
      kmem = 2;
      tty = 3;
      messagebus = 4; # D-Bus
      haldaemon = 5;
      disk = 6;
      vsftpd = 7;
      ftp = 8;
      bitlbee = 9;
      #avahi = 10; # removed 2019-05-22
      #nagios = 11; # unused
      atd = 12;
      postfix = 13;
      postdrop = 14;
      dovecot = 15;
      tomcat = 16;
      audio = 17;
      floppy = 18;
      uucp = 19;
      lp = 20;
      proc = 21;
      pulseaudio = 22; # must match `pulseaudio' UID
      gpsd = 23;
      cdrom = 24;
      tape = 25;
      video = 26;
      dialout = 27;
      #polkituser = 28; # currently unused, polkitd doesn't need a group
      utmp = 29;
      # ddclient = 30; # converted to DynamicUser = true
      davfs2 = 31;
      disnix = 33;
      osgi = 34;
      tor = 35;
      #cups = 36; # unused
      #foldingathome = 37; # unused
      #sabnzd = 38; # unused
      #kdm = 39; # unused, even before 17.03
      #ghostone = 40; # dropped in 18.03
      git = 41;
      fourstore = 42;
      fourstorehttp = 43;
      virtuoso = 44;
      #rtkit = 45; # unused
      dovecot2 = 46;
      dovenull2 = 47;
      prayer = 49;
      mpd = 50;
      clamav = 51;
      fprot = 52;
      #bind = 53; # unused
      wwwrun = 54;
      adm = 55;
      spamd = 56;
      networkmanager = 57;
      nslcd = 58;
      scanner = 59;
      nginx = 60;
      chrony = 61;
      systemd-journal = 62;
      smtpd = 63;
      smtpq = 64;
      supybot = 65;
      iodined = 66;
      libvirtd = 67;
      graphite = 68;
      #statsd = 69; # removed 2018-11-14
      transmission = 70;
      postgres = 71;
      vboxusers = 72;
      vboxsf = 73;
      smbguest = 74;  # unused
      varnish = 75;
      datadog = 76;
      lighttpd = 77;
      lightdm = 78;
      freenet = 79;
      ircd = 80;
      bacula = 81;
      #almir = 82; # removed 2018-03-25, the almir package was removed in 30291227f2411abaca097773eedb49b8f259e297 during 2017-08
      deluge = 83;
      mysql = 84;
      rabbitmq = 85;
      activemq = 86;
      gnunet = 87;
      oidentd = 88;
      quassel = 89;
      amule = 90;
      minidlna = 91;
      elasticsearch = 92;
      #tcpcryptd = 93; # unused
      firebird = 95;
      keys = 96;
      #haproxy = 97; # dynamically allocated as of 2020-03-11
      #mongodb = 98; # unused
      openldap = 99;
      munin = 102;
      #logcheck = 103; # unused
      #nix-ssh = 104; # unused
      dictd = 105;
      couchdb = 106;
      searx = 107;
      kippo = 108;
      jenkins = 109;
      systemd-journal-gateway = 110;
      #notbit = 111; # unused
      aerospike = 111;
      #ngircd = 112; # unused
      #btsync = 113; # unused
      #minecraft = 114; # unused
      vault = 115;
      #ripped = 116; # unused
      #murmur = 117; # unused
      foundationdb = 118;
      newrelic = 119;
      starbound = 120;
      hydra = 122;
      spiped = 123;
      teamspeak = 124;
      influxdb = 125;
      nsd = 126;
      gitolite = 127;
      znc = 128;
      polipo = 129;
      mopidy = 130;
      docker = 131;
      gdm = 132;
      #dhcpcd = 133; # unused
      siproxd = 134;
      mlmmj = 135;
      #neo4j = 136; # unused
      riemann = 137;
      riemanndash = 138;
      #radvd = 139; # unused
      #zookeeper = 140; # unused
      #dnsmasq = 141; # unused
      uhub = 142;
      #yandexdisk = 143; # unused
      mxisd = 144; # was once collectd
      #consul = 145; # unused
      mailpile = 146;
      redmine = 147;
      seeks = 148;
      prosody = 149;
      i2pd = 150;
      systemd-network = 152;
      systemd-resolve = 153;
      systemd-timesync = 154;
      liquidsoap = 155;
      #etcd = 156; # unused
      hbase = 158;
      opentsdb = 159;
      scollector = 160;
      bosun = 161;
      kubernetes = 162;
      #peerflix = 163; # unused
      #chronos = 164; # unused
      gitlab = 165;
      nylon = 168;
      #panamax = 170; # unused
      exim = 172;
      #fleet = 173; # unused
      input = 174;
      sddm = 175;
      tss = 176;
      #memcached = 177; # unused, removed 2018-01-03
      #ntp = 179; # unused
      zabbix = 180;
      #redis = 181; # unused, removed 2018-01-03
      #unifi = 183; # unused
      #uptimed = 184; # unused
      #zope2 = 185; # unused
      #ripple-data-api = 186; #unused
      mediatomb = 187;
      #rdnssd = 188; # unused
      ihaskell = 189;
      i2p = 190;
      lambdabot = 191;
      asterisk = 192;
      plex = 193;
      sabnzbd = 194;
      #grafana = 196; #unused
      #skydns = 197; #unused
      # ripple-rest = 198; # unused, removed 2017-08-12
      #nix-serve = 199; #unused
      #tvheadend = 200; #unused
      uwsgi = 201;
      gitit = 202;
      riemanntools = 203;
      subsonic = 204;
      riak = 205;
      #shout = 206; #unused
      gateone = 207;
      namecoin = 208;
      lxd = 210; # unused
      #kibana = 211;
      xtreemfs = 212;
      calibre-server = 213;
      bepasty = 215;
      # pumpio = 216; # unused, removed 2018-02-24
      nm-openvpn = 217;
      mathics = 218;
      ejabberd = 219;
      postsrsd = 220;
      opendkim = 221;
      dspam = 222;
      gale = 223;
      matrix-synapse = 224;
      rspamd = 225;
      # rmilter = 226; # unused, removed 2019-08-22
      cfdyndns = 227;
      pdnsd = 229;
      octoprint = 230;
      radicale = 234;
      syncthing = 237;
      caddy = 239;
      taskd = 240;
      # factorio = 241; # unused
      # emby = 242; # unused, removed 2019-05-01
      sniproxy = 244;
      nzbget = 245;
      mosquitto = 246;
      #toxvpn = 247; # unused
      #squeezelite = 248; #unused
      turnserver = 249;
      smokeping = 250;
      gocd-agent = 251;
      gocd-server = 252;
      terraria = 253;
      mattermost = 254;
      prometheus = 255;
      #telegraf = 256; # unused
      gitlab-runner = 257;
      postgrey = 258;
      hound = 259;
      leaps = 260;
      ipfs = 261;
      stanchion = 262;
      riak-cs = 263;
      infinoted = 264;
      sickbeard = 265;
      headphones = 266;
      couchpotato = 267;
      gogs = 268;
      #kresd = 270; # switched to "knot-resolver" with dynamic ID
      #rpc = 271; # unused
      #geoip = 272; # unused
      fcron = 273;
      sonarr = 274;
      radarr = 275;
      jackett = 276;
      aria2 = 277;
      clickhouse = 278;
      rslsync = 279;
      minio = 280;
      kanboard = 281;
      # pykms = 282; # DynamicUser = true
      kodi = 283;
      restya-board = 284;
      mighttpd2 = 285;
      hass = 286;
      monero = 287;
      ceph = 288;
      duplicati = 289;
      monetdb = 290;
      restic = 291;
      openvpn = 292;
      # meguca = 293; # removed 2020-08-21
      yarn = 294;
      hdfs = 295;
      mapred = 296;
      hadoop = 297;
      hydron = 298;
      cfssl = 299;
      cassandra = 300;
      qemu-libvirtd = 301;
      kvm = 302; # default udev rules from systemd requires these
      render = 303; # default udev rules from systemd requires these
      # zeronet = 304; # removed 2019-01-03
      lirc = 305;
      lidarr = 306;
      slurm = 307;
      kapacitor = 308;
      solr = 309;
      alerta = 310;
      minetest = 311;
      rss2email = 312;
      cockroachdb = 313;
      zoneminder = 314;
      paperless = 315;
      #mailman = 316;  # removed 2019-08-30
      zigbee2mqtt = 317;

      # When adding a gid, make sure it doesn't match an existing
      # uid. Users and groups with the same name should have equal
      # uids and gids. Also, don't use gids above 399!

      users = 100;
      nixbld = 30000;
      nogroup = 65534;
    };

  };

}