summaryrefslogtreecommitdiff
path: root/src/content/en/pastebins/2018/07/13
diff options
context:
space:
mode:
authorEuAndreh <eu@euandre.org>2025-04-18 02:17:12 -0300
committerEuAndreh <eu@euandre.org>2025-04-18 02:48:42 -0300
commit020c1e77489b772f854bb3288b9c8d2818a6bf9d (patch)
tree142aec725a52162a446ea7d947cb4347c9d573c9 /src/content/en/pastebins/2018/07/13
parentMakefile: Remove security.txt.gz (diff)
downloadeuandre.org-020c1e77489b772f854bb3288b9c8d2818a6bf9d.tar.gz
euandre.org-020c1e77489b772f854bb3288b9c8d2818a6bf9d.tar.xz
git mv src/content/* src/content/en/
Diffstat (limited to 'src/content/en/pastebins/2018/07/13')
-rw-r--r--src/content/en/pastebins/2018/07/13/guix-nixos-systemd.adoc22
-rw-r--r--src/content/en/pastebins/2018/07/13/guixbuilder-nixos.adoc42
-rw-r--r--src/content/en/pastebins/2018/07/13/guixbuilder.adoc14
-rw-r--r--src/content/en/pastebins/2018/07/13/nix-strpad.adoc8
4 files changed, 86 insertions, 0 deletions
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)
+----