1# This module defines the global list of uids and gids. We keep a
2# central list to prevent id collisions.
3
4{ config, pkgs, lib, ... }:
5
6{
7 options = {
8
9 ids.uids = lib.mkOption {
10 internal = true;
11 description = ''
12 The user IDs used in NixOS.
13 '';
14 };
15
16 ids.gids = lib.mkOption {
17 internal = true;
18 description = ''
19 The group IDs used in NixOS.
20 '';
21 };
22
23 };
24
25
26 config = {
27
28 ids.uids = {
29 root = 0;
30 #wheel = 1; # unused
31 #kmem = 2; # unused
32 #tty = 3; # unused
33 messagebus = 4; # D-Bus
34 haldaemon = 5;
35 #disk = 6; # unused
36 vsftpd = 7;
37 ftp = 8;
38 bitlbee = 9;
39 avahi = 10;
40 nagios = 11;
41 atd = 12;
42 postfix = 13;
43 #postdrop = 14; # unused
44 dovecot = 15;
45 tomcat = 16;
46 #audio = 17; # unused
47 #floppy = 18; # unused
48 #uucp = 19; # unused
49 #lp = 20; # unused
50 #proc = 21; # unused
51 pulseaudio = 22; # must match `pulseaudio' GID
52 gpsd = 23;
53 #cdrom = 24; # unused
54 #tape = 25; # unused
55 #video = 26; # unused
56 #dialout = 27; # unused
57 polkituser = 28;
58 #utmp = 29; # unused
59 ddclient = 30;
60 davfs2 = 31;
61 #disnix = 33; # unused
62 osgi = 34;
63 tor = 35;
64 cups = 36;
65 foldingathome = 37;
66 sabnzbd = 38;
67 #kdm = 39; # dropped in 17.03
68 #ghostone = 40; # dropped in 18.03
69 git = 41;
70 fourstore = 42;
71 fourstorehttp = 43;
72 virtuoso = 44;
73 rtkit = 45;
74 dovecot2 = 46;
75 dovenull2 = 47;
76 prayer = 49;
77 mpd = 50;
78 clamav = 51;
79 fprot = 52;
80 bind = 53;
81 wwwrun = 54;
82 #adm = 55; # unused
83 spamd = 56;
84 #networkmanager = 57; # unused
85 nslcd = 58;
86 scanner = 59;
87 nginx = 60;
88 chrony = 61;
89 #systemd-journal = 62; # unused
90 smtpd = 63;
91 smtpq = 64;
92 supybot = 65;
93 iodined = 66;
94 #libvirtd = 67; # unused
95 graphite = 68;
96 statsd = 69;
97 transmission = 70;
98 postgres = 71;
99 #vboxusers = 72; # unused
100 #vboxsf = 73; # unused
101 smbguest = 74; # unused
102 varnish = 75;
103 datadog = 76;
104 lighttpd = 77;
105 lightdm = 78;
106 freenet = 79;
107 ircd = 80;
108 bacula = 81;
109 almir = 82;
110 deluge = 83;
111 mysql = 84;
112 rabbitmq = 85;
113 activemq = 86;
114 gnunet = 87;
115 oidentd = 88;
116 quassel = 89;
117 amule = 90;
118 minidlna = 91;
119 elasticsearch = 92;
120 tcpcryptd = 93; # tcpcryptd uses a hard-coded uid. We patch it in Nixpkgs to match this choice.
121 firebird = 95;
122 #keys = 96; # unused
123 haproxy = 97;
124 mongodb = 98;
125 openldap = 99;
126 #users = 100; # unused
127 cgminer = 101;
128 munin = 102;
129 logcheck = 103;
130 nix-ssh = 104;
131 dictd = 105;
132 couchdb = 106;
133 searx = 107;
134 kippo = 108;
135 jenkins = 109;
136 systemd-journal-gateway = 110;
137 #notbit = 111; # unused
138 ngircd = 112;
139 btsync = 113;
140 minecraft = 114;
141 #monetdb = 115; # unused (not packaged), removed 2016-09-19
142 vault = 115;
143 rippled = 116;
144 murmur = 117;
145 foundationdb = 118;
146 newrelic = 119;
147 starbound = 120;
148 hydra = 122;
149 spiped = 123;
150 teamspeak = 124;
151 influxdb = 125;
152 nsd = 126;
153 gitolite = 127;
154 znc = 128;
155 polipo = 129;
156 mopidy = 130;
157 #docker = 131; # unused
158 gdm = 132;
159 dhcpd = 133;
160 siproxd = 134;
161 mlmmj = 135;
162 neo4j = 136;
163 riemann = 137;
164 riemanndash = 138;
165 radvd = 139;
166 zookeeper = 140;
167 dnsmasq = 141;
168 uhub = 142;
169 yandexdisk = 143;
170 #collectd = 144; #unused
171 consul = 145;
172 mailpile = 146;
173 redmine = 147;
174 seeks = 148;
175 prosody = 149;
176 i2pd = 150;
177 systemd-network = 152;
178 systemd-resolve = 153;
179 systemd-timesync = 154;
180 liquidsoap = 155;
181 etcd = 156;
182 hbase = 158;
183 opentsdb = 159;
184 scollector = 160;
185 bosun = 161;
186 kubernetes = 162;
187 peerflix = 163;
188 chronos = 164;
189 gitlab = 165;
190 tox-bootstrapd = 166;
191 cadvisor = 167;
192 nylon = 168;
193 apache-kafka = 169;
194 panamax = 170;
195 exim = 172;
196 #fleet = 173; # unused
197 #input = 174; # unused
198 sddm = 175;
199 tss = 176;
200 #memcached = 177; removed 2018-01-03
201 ntp = 179;
202 zabbix = 180;
203 #redis = 181; removed 2018-01-03
204 unifi = 183;
205 uptimed = 184;
206 zope2 = 185;
207 ripple-data-api = 186;
208 mediatomb = 187;
209 rdnssd = 188;
210 ihaskell = 189;
211 i2p = 190;
212 lambdabot = 191;
213 asterisk = 192;
214 plex = 193;
215 plexpy = 195;
216 grafana = 196;
217 skydns = 197;
218 # ripple-rest = 198; # unused, removed 2017-08-12
219 nix-serve = 199;
220 tvheadend = 200;
221 uwsgi = 201;
222 gitit = 202;
223 riemanntools = 203;
224 subsonic = 204;
225 riak = 205;
226 shout = 206;
227 gateone = 207;
228 namecoin = 208;
229 dnschain = 209;
230 #lxd = 210; # unused
231 kibana = 211;
232 xtreemfs = 212;
233 calibre-server = 213;
234 heapster = 214;
235 bepasty = 215;
236 # pumpio = 216; # unused, removed 2018-02-24
237 nm-openvpn = 217;
238 mathics = 218;
239 ejabberd = 219;
240 postsrsd = 220;
241 opendkim = 221;
242 dspam = 222;
243 gale = 223;
244 matrix-synapse = 224;
245 rspamd = 225;
246 rmilter = 226;
247 cfdyndns = 227;
248 gammu-smsd = 228;
249 pdnsd = 229;
250 octoprint = 230;
251 avahi-autoipd = 231;
252 nntp-proxy = 232;
253 mjpg-streamer = 233;
254 radicale = 234;
255 hydra-queue-runner = 235;
256 hydra-www = 236;
257 syncthing = 237;
258 caddy = 239;
259 taskd = 240;
260 factorio = 241;
261 emby = 242;
262 graylog = 243;
263 sniproxy = 244;
264 nzbget = 245;
265 mosquitto = 246;
266 toxvpn = 247;
267 squeezelite = 248;
268 turnserver = 249;
269 smokeping = 250;
270 gocd-agent = 251;
271 gocd-server = 252;
272 terraria = 253;
273 mattermost = 254;
274 prometheus = 255;
275 telegraf = 256;
276 gitlab-runner = 257;
277 postgrey = 258;
278 hound = 259;
279 leaps = 260;
280 ipfs = 261;
281 stanchion = 262;
282 riak-cs = 263;
283 infinoted = 264;
284 # keystone = 265; # unused, removed 2017-12-13
285 # glance = 266; # unused, removed 2017-12-13
286 couchpotato = 267;
287 gogs = 268;
288 pdns-recursor = 269;
289 kresd = 270;
290 rpc = 271;
291 geoip = 272;
292 fcron = 273;
293 sonarr = 274;
294 radarr = 275;
295 jackett = 276;
296 aria2 = 277;
297 clickhouse = 278;
298 rslsync = 279;
299 minio = 280;
300 kanboard = 281;
301 pykms = 282;
302 kodi = 283;
303 restya-board = 284;
304 mighttpd2 = 285;
305 hass = 286;
306 monero = 287;
307 ceph = 288;
308
309 # When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
310
311 nixbld = 30000; # start of range of uids
312 nobody = 65534;
313 };
314
315 ids.gids = {
316 root = 0;
317 wheel = 1;
318 kmem = 2;
319 tty = 3;
320 messagebus = 4; # D-Bus
321 haldaemon = 5;
322 disk = 6;
323 vsftpd = 7;
324 ftp = 8;
325 bitlbee = 9;
326 avahi = 10;
327 #nagios = 11; # unused
328 atd = 12;
329 postfix = 13;
330 postdrop = 14;
331 dovecot = 15;
332 tomcat = 16;
333 audio = 17;
334 floppy = 18;
335 uucp = 19;
336 lp = 20;
337 proc = 21;
338 pulseaudio = 22; # must match `pulseaudio' UID
339 gpsd = 23;
340 cdrom = 24;
341 tape = 25;
342 video = 26;
343 dialout = 27;
344 #polkituser = 28; # currently unused, polkitd doesn't need a group
345 utmp = 29;
346 ddclient = 30;
347 davfs2 = 31;
348 disnix = 33;
349 osgi = 34;
350 tor = 35;
351 #cups = 36; # unused
352 #foldingathome = 37; # unused
353 #sabnzd = 38; # unused
354 #kdm = 39; # unused, even before 17.03
355 #ghostone = 40; # dropped in 18.03
356 git = 41;
357 fourstore = 42;
358 fourstorehttp = 43;
359 virtuoso = 44;
360 #rtkit = 45; # unused
361 dovecot2 = 46;
362 #dovenull = 47; # unused
363 prayer = 49;
364 mpd = 50;
365 clamav = 51;
366 fprot = 52;
367 #bind = 53; # unused
368 wwwrun = 54;
369 adm = 55;
370 spamd = 56;
371 networkmanager = 57;
372 nslcd = 58;
373 scanner = 59;
374 nginx = 60;
375 chrony = 61;
376 systemd-journal = 62;
377 smtpd = 63;
378 smtpq = 64;
379 supybot = 65;
380 iodined = 66;
381 libvirtd = 67;
382 graphite = 68;
383 #statsd = 69; # unused
384 transmission = 70;
385 postgres = 71;
386 vboxusers = 72;
387 vboxsf = 73;
388 smbguest = 74; # unused
389 varnish = 75;
390 datadog = 76;
391 lighttpd = 77;
392 lightdm = 78;
393 freenet = 79;
394 ircd = 80;
395 bacula = 81;
396 almir = 82;
397 deluge = 83;
398 mysql = 84;
399 rabbitmq = 85;
400 activemq = 86;
401 gnunet = 87;
402 oidentd = 88;
403 quassel = 89;
404 amule = 90;
405 minidlna = 91;
406 elasticsearch = 92;
407 #tcpcryptd = 93; # unused
408 firebird = 95;
409 keys = 96;
410 haproxy = 97;
411 #mongodb = 98; # unused
412 openldap = 99;
413 munin = 102;
414 #logcheck = 103; # unused
415 #nix-ssh = 104; # unused
416 dictd = 105;
417 couchdb = 106;
418 searx = 107;
419 kippo = 108;
420 jenkins = 109;
421 systemd-journal-gateway = 110;
422 #notbit = 111; # unused
423 #ngircd = 112; # unused
424 btsync = 113;
425 #minecraft = 114; # unused
426 #monetdb = 115; # unused (not packaged), removed 2016-09-19
427 vault = 115;
428 #ripped = 116; # unused
429 #murmur = 117; # unused
430 foundationdb = 118;
431 newrelic = 119;
432 starbound = 120;
433 hydra = 122;
434 spiped = 123;
435 teamspeak = 124;
436 influxdb = 125;
437 nsd = 126;
438 gitolite = 127;
439 znc = 128;
440 polipo = 129;
441 mopidy = 130;
442 docker = 131;
443 gdm = 132;
444 #dhcpcd = 133; # unused
445 siproxd = 134;
446 mlmmj = 135;
447 #neo4j = 136; # unused
448 riemann = 137;
449 riemanndash = 138;
450 #radvd = 139; # unused
451 #zookeeper = 140; # unused
452 #dnsmasq = 141; # unused
453 uhub = 142;
454 #yandexdisk = 143; # unused
455 #collectd = 144; # unused
456 #consul = 145; # unused
457 mailpile = 146;
458 redmine = 147;
459 seeks = 148;
460 prosody = 149;
461 i2pd = 150;
462 systemd-network = 152;
463 systemd-resolve = 153;
464 systemd-timesync = 154;
465 liquidsoap = 155;
466 #etcd = 156; # unused
467 hbase = 158;
468 opentsdb = 159;
469 scollector = 160;
470 bosun = 161;
471 kubernetes = 162;
472 #peerflix = 163; # unused
473 #chronos = 164; # unused
474 gitlab = 165;
475 nylon = 168;
476 panamax = 170;
477 exim = 172;
478 fleet = 173;
479 input = 174;
480 sddm = 175;
481 tss = 176;
482 #memcached = 177; # unused, removed 2018-01-03
483 #ntp = 179; # unused
484 #zabbix = 180; # unused
485 #redis = 181; # unused, removed 2018-01-03
486 #unifi = 183; # unused
487 #uptimed = 184; # unused
488 #zope2 = 185; # unused
489 #ripple-data-api = 186; #unused
490 mediatomb = 187;
491 #rdnssd = 188; # unused
492 ihaskell = 189;
493 i2p = 190;
494 lambdabot = 191;
495 asterisk = 192;
496 plex = 193;
497 sabnzbd = 194;
498 #grafana = 196; #unused
499 #skydns = 197; #unused
500 # ripple-rest = 198; # unused, removed 2017-08-12
501 #nix-serve = 199; #unused
502 #tvheadend = 200; #unused
503 uwsgi = 201;
504 gitit = 202;
505 riemanntools = 203;
506 subsonic = 204;
507 riak = 205;
508 #shout = 206; #unused
509 gateone = 207;
510 namecoin = 208;
511 #dnschain = 209; #unused
512 lxd = 210; # unused
513 #kibana = 211;
514 xtreemfs = 212;
515 calibre-server = 213;
516 bepasty = 215;
517 # pumpio = 216; # unused, removed 2018-02-24
518 nm-openvpn = 217;
519 mathics = 218;
520 ejabberd = 219;
521 postsrsd = 220;
522 opendkim = 221;
523 dspam = 222;
524 gale = 223;
525 matrix-synapse = 224;
526 rspamd = 225;
527 rmilter = 226;
528 cfdyndns = 227;
529 pdnsd = 229;
530 octoprint = 230;
531 radicale = 234;
532 syncthing = 237;
533 caddy = 239;
534 taskd = 240;
535 factorio = 241;
536 emby = 242;
537 sniproxy = 244;
538 nzbget = 245;
539 mosquitto = 246;
540 #toxvpn = 247; # unused
541 #squeezelite = 248; #unused
542 turnserver = 249;
543 smokeping = 250;
544 gocd-agent = 251;
545 gocd-server = 252;
546 terraria = 253;
547 mattermost = 254;
548 prometheus = 255;
549 #telegraf = 256; # unused
550 gitlab-runner = 257;
551 postgrey = 258;
552 hound = 259;
553 leaps = 260;
554 ipfs = 261;
555 stanchion = 262;
556 riak-cs = 263;
557 infinoted = 264;
558 # keystone = 265; # unused, removed 2017-12-13
559 # glance = 266; # unused, removed 2017-12-13
560 couchpotato = 267;
561 gogs = 268;
562 kresd = 270;
563 #rpc = 271; # unused
564 #geoip = 272; # unused
565 fcron = 273;
566 sonarr = 274;
567 radarr = 275;
568 jackett = 276;
569 aria2 = 277;
570 clickhouse = 278;
571 rslsync = 279;
572 minio = 280;
573 kanboard = 281;
574 pykms = 282;
575 kodi = 283;
576 restya-board = 284;
577 mighttpd2 = 285;
578 hass = 286;
579 monero = 287;
580 ceph = 288;
581
582 # When adding a gid, make sure it doesn't match an existing
583 # uid. Users and groups with the same name should have equal
584 # uids and gids. Also, don't use gids above 399!
585
586 users = 100;
587 nixbld = 30000;
588 nogroup = 65534;
589 };
590
591 };
592
593}