From 020c1e77489b772f854bb3288b9c8d2818a6bf9d Mon Sep 17 00:00:00 2001 From: EuAndreh Date: Fri, 18 Apr 2025 02:17:12 -0300 Subject: git mv src/content/* src/content/en/ --- .../pastebins/2018/07/13/guix-nixos-systemd.adoc | 22 ++++++++++++ .../en/pastebins/2018/07/13/guixbuilder-nixos.adoc | 42 ++++++++++++++++++++++ .../en/pastebins/2018/07/13/guixbuilder.adoc | 14 ++++++++ .../en/pastebins/2018/07/13/nix-strpad.adoc | 8 +++++ 4 files changed, 86 insertions(+) create mode 100644 src/content/en/pastebins/2018/07/13/guix-nixos-systemd.adoc create mode 100644 src/content/en/pastebins/2018/07/13/guixbuilder-nixos.adoc create mode 100644 src/content/en/pastebins/2018/07/13/guixbuilder.adoc create mode 100644 src/content/en/pastebins/2018/07/13/nix-strpad.adoc (limited to 'src/content/en/pastebins/2018/07/13') diff --git a/src/content/en/pastebins/2018/07/13/guix-nixos-systemd.adoc b/src/content/en/pastebins/2018/07/13/guix-nixos-systemd.adoc new file mode 100644 index 0000000..fa4226a --- /dev/null +++ b/src/content/en/pastebins/2018/07/13/guix-nixos-systemd.adoc @@ -0,0 +1,22 @@ += GNU Guix systemd daemon for NixOS +:catgories: nix, guix +:sort: 3 + +[source,nix] +---- + # Derived from Guix guix-daemon.service.in + # https://git.savannah.gnu.org/cgit/guix.git/tree/etc/guix-daemon.service.in?id=00c86a888488b16ce30634d3a3a9d871ed6734a2 + systemd.services.guix-daemon = { + enable = true; + description = "Build daemon for GNU Guix"; + serviceConfig = { + ExecStart = "/var/guix/profiles/per-user/root/guix-profile/bin/guix-daemon --build-users-group=guixbuild"; + Environment="GUIX_LOCPATH=/root/.guix-profile/lib/locale"; + RemainAfterExit="yes"; + StandardOutput="syslog"; + StandardError="syslog"; + TaskMax= 8192; + }; + wantedBy = [ "multi-user.target" ]; + }; +---- diff --git a/src/content/en/pastebins/2018/07/13/guixbuilder-nixos.adoc b/src/content/en/pastebins/2018/07/13/guixbuilder-nixos.adoc new file mode 100644 index 0000000..65dbcc7 --- /dev/null +++ b/src/content/en/pastebins/2018/07/13/guixbuilder-nixos.adoc @@ -0,0 +1,42 @@ += Guix users in NixOS system configuration +:categories: nix guix +:sort: 2 + +[source,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"; + }; + }; +---- diff --git a/src/content/en/pastebins/2018/07/13/guixbuilder.adoc b/src/content/en/pastebins/2018/07/13/guixbuilder.adoc new file mode 100644 index 0000000..35057f9 --- /dev/null +++ b/src/content/en/pastebins/2018/07/13/guixbuilder.adoc @@ -0,0 +1,14 @@ += Guix builder user creation commands +:categories: guix + +[source,sh] +---- +groupadd --system guixbuild +for i in `seq -w 1 10`; +do + useradd -g guixbuild -G guixbuild \ + -d /var/empty -s `which nologin` \ + -c "Guix build user $i" --system \ + guixbuilder$i; +done +---- diff --git a/src/content/en/pastebins/2018/07/13/nix-strpad.adoc b/src/content/en/pastebins/2018/07/13/nix-strpad.adoc new file mode 100644 index 0000000..71e8168 --- /dev/null +++ b/src/content/en/pastebins/2018/07/13/nix-strpad.adoc @@ -0,0 +1,8 @@ += Nix string padding +:categories: nix +:sort: 1 + +[source,nix] +---- +padString = (n: if n < 10 then "0" + toString n else toString n) +---- -- cgit v1.2.3