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