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