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