From d8e400c40c970996599c801974fadb6d49e60fdd Mon Sep 17 00:00:00 2001 From: EuAndreh Date: Sat, 10 Oct 2020 14:51:52 -0300 Subject: Enforce all "post" and "pastebin" layouts have dates in filenames --- ...-13-guix-users-in-nixos-system-configuration.md | 44 ++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 _pastebins/2018-07-13-guix-users-in-nixos-system-configuration.md (limited to '_pastebins/2018-07-13-guix-users-in-nixos-system-configuration.md') diff --git a/_pastebins/2018-07-13-guix-users-in-nixos-system-configuration.md b/_pastebins/2018-07-13-guix-users-in-nixos-system-configuration.md new file mode 100644 index 0000000..f7c8440 --- /dev/null +++ b/_pastebins/2018-07-13-guix-users-in-nixos-system-configuration.md @@ -0,0 +1,44 @@ +--- +title: Guix users in NixOS system configuration +date: 2018-07-13 +layout: pastebin +lang: en +--- + +```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"; + }; + }; +``` -- cgit v1.2.3