blob: 865ef631dfc2662f1276ceaa17899da417689084 (
about) (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
---
title: Guix users in NixOS system configuration
date: 2018-07-13
layout: post
lang: en
eu_categories: nix,guix
---
```nix
users = {
mutableUsers = false;
extraUsers =
let
andrehUser = {
andreh = {
# my custom user config
};
};
# From the Guix manual:
# https://www.gnu.org/software/guix/manual/en/html_node/Build-Environment-Setup.html#Build-Environment-Setup
buildUser = (i:
{
"guixbuilder${i}" = { # guixbuilder$i
group = "guixbuild"; # -g guixbuild
extraGroups = ["guixbuild"]; # -G guixbuild
home = "/var/empty"; # -d /var/empty
shell = pkgs.nologin; # -s `which nologin`
description = "Guix build user ${i}"; # -c "Guix buid user $i"
isSystemUser = true; # --system
};
}
);
in
# merge all users
pkgs.lib.fold (str: acc: acc // buildUser str)
andrehUser
# for i in `seq -w 1 10`
(map (pkgs.lib.fixedWidthNumber 2) (builtins.genList (n: n+1) 10));
extraGroups.guixbuild = {
name = "guixbuild";
};
};
```
|