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