diff options
author | Ben Sima <ben@bsima.me> | 2021-06-26 06:21:56 -0400 |
---|---|---|
committer | Ben Sima <ben@bsima.me> | 2021-11-26 13:47:36 -0500 |
commit | ca1db1b637cdc8b40eb1918fde7c5ab1b89eeb8d (patch) | |
tree | bbefb1d3a5a07fda65caf87d85a01a4de8b25b86 /Biz/Dev/Guix.nix | |
parent | af28ed31aa36ef0de0a8f65bba9fe066e129c57b (diff) |
Begin packaging guix for nix
Diffstat (limited to 'Biz/Dev/Guix.nix')
-rw-r--r-- | Biz/Dev/Guix.nix | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/Biz/Dev/Guix.nix b/Biz/Dev/Guix.nix new file mode 100644 index 0000000..8ee55d4 --- /dev/null +++ b/Biz/Dev/Guix.nix @@ -0,0 +1,47 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + + cfg = config.services.guix; + + +in { + + options.services.guix = { + enable = mkEnableOption "GNU Guix package manager"; + }; + + config = mkIf cfg.enable { + systemd.services.guix-daemon = { + description = "Build daemon for GNU Guix"; + + wantedBy = [ "multi-user.target" ]; + + serviceConfig = { + Restart = "always"; + ExecStart = "${pkgs.guix}/bin/guix-daemon --build-users-group=guixbuild"; + Environment = null; + RemainAfterExit = "yes"; + StandardOutput = "syslog"; + StandardError = "syslog"; + TaskMax = "8192"; + }; + }; + users = { + extraUsers = lib.attrs.genAttrs + (lib.lists.range 1 10) + (n: { + name = "guixbuilder${n}"; + isSystemUser = true; + extraGroups = ["guixbuild"]; + group = "guixbuild"; + description = "Guix build user ${n}"; + }); + extraGroups = { + "guixbuild" = {}; + }; + }; + }; +} |