mirror of
https://github.com/RichieCahill/dotfiles.git
synced 2026-04-17 13:08:19 -04:00
created nix_builder module
This commit is contained in:
51
systems/jeeves/nix_builder.nix
Normal file
51
systems/jeeves/nix_builder.nix
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
{ config, lib, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
vars = import ./vars.nix;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.services.nix_builder.containers = mkOption {
|
||||||
|
type = types.attrsOf (types.submodule ({ name, ... }: {
|
||||||
|
options.enable = mkEnableOption "GitHub runner container";
|
||||||
|
}));
|
||||||
|
default = {};
|
||||||
|
description = "GitHub runner container configurations";
|
||||||
|
};
|
||||||
|
|
||||||
|
config.containers = mapAttrs (name: cfg:
|
||||||
|
mkIf cfg.enable {
|
||||||
|
autoStart = true;
|
||||||
|
bindMounts = {
|
||||||
|
"/storage" = {
|
||||||
|
mountPoint = "/zfs/media/github-runners/${name}";
|
||||||
|
isReadOnly = false;
|
||||||
|
};
|
||||||
|
"/secrets".mountPoint = "${vars.storage_secrets}/services/github-runners/${name}";
|
||||||
|
};
|
||||||
|
config = { config, pkgs, lib, ... }: {
|
||||||
|
services.github-runners.${name} = {
|
||||||
|
enable = true;
|
||||||
|
replace = true;
|
||||||
|
workDir = "/zfs/media/github-runners/${name}";
|
||||||
|
url = "https://github.com/RichieCahill/dotfiles";
|
||||||
|
extraLabels = [ "nixos" ];
|
||||||
|
tokenFile = "${vars.storage_secrets}/services/github-runners/${name}";
|
||||||
|
user = "github-runners";
|
||||||
|
group = "github-runners";
|
||||||
|
extraPackages = [ pkgs.nixos-rebuild ];
|
||||||
|
};
|
||||||
|
users = {
|
||||||
|
users.github-runners = {
|
||||||
|
isSystemUser = true;
|
||||||
|
group = "github-runners";
|
||||||
|
uid = 601;
|
||||||
|
};
|
||||||
|
groups.github-runners.gid = 601;
|
||||||
|
};
|
||||||
|
system.stateVersion = "24.11";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
) config.services.nix_builder.containers;
|
||||||
|
}
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
{ pkgs, ... }:
|
|
||||||
let
|
|
||||||
vars = import ./vars.nix;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
|
imports = [
|
||||||
|
./nix_builder.nix
|
||||||
|
];
|
||||||
|
|
||||||
users = {
|
users = {
|
||||||
users.github-runners = {
|
users.github-runners = {
|
||||||
isSystemUser = true;
|
isSystemUser = true;
|
||||||
@@ -12,49 +12,10 @@ in
|
|||||||
groups.github-runners.gid = 601;
|
groups.github-runners.gid = 601;
|
||||||
};
|
};
|
||||||
|
|
||||||
services.github-runners.nix_builder = {
|
|
||||||
enable = true;
|
|
||||||
replace = true;
|
|
||||||
workDir = "/zfs/media/github-runners/nix_builder/";
|
|
||||||
url = "https://github.com/RichieCahill/dotfiles";
|
|
||||||
extraLabels = [ "nixos" ];
|
|
||||||
tokenFile = "${vars.storage_secrets}/services/github_runners/nix_builder";
|
|
||||||
user = "github-runners";
|
|
||||||
group = "github-runners";
|
|
||||||
extraPackages = [ pkgs.nixos-rebuild ];
|
|
||||||
# extraEnvironment
|
|
||||||
};
|
|
||||||
|
|
||||||
containers.nix-builder-1 = {
|
services.nix_builder.containers = {
|
||||||
autoStart = true;
|
nix-builder-0.enable = true;
|
||||||
bindMounts = {
|
nix-builder-1.enable = true;
|
||||||
"/test" = {
|
nix-builder-2.enable = true;
|
||||||
mountPoint = "/zfs/media/github-runners/nix_builder_1";
|
|
||||||
isReadOnly = false;
|
|
||||||
};
|
|
||||||
"/secrets".mountPoint = "${vars.storage_secrets}/services/github_runners/nix_builder_1";
|
|
||||||
};
|
|
||||||
config = { config, pkgs, lib, ... }: {
|
|
||||||
users = {
|
|
||||||
users.github-runners = {
|
|
||||||
isSystemUser = true;
|
|
||||||
group = "github-runners";
|
|
||||||
uid = 601;
|
|
||||||
};
|
|
||||||
groups.github-runners.gid = 601;
|
|
||||||
};
|
|
||||||
services.github-runners.nix_builder_1 = {
|
|
||||||
enable = true;
|
|
||||||
replace = true;
|
|
||||||
workDir = "/zfs/media/github-runners/nix_builder_1";
|
|
||||||
url = "https://github.com/RichieCahill/dotfiles";
|
|
||||||
extraLabels = [ "nixos" ];
|
|
||||||
tokenFile = "${vars.storage_secrets}/services/github_runners/nix_builder_1";
|
|
||||||
user = "github-runners";
|
|
||||||
group = "github-runners";
|
|
||||||
extraPackages = [ pkgs.nixos-rebuild ];
|
|
||||||
};
|
|
||||||
system.stateVersion = "24.11";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user