modules: added builders

This commit is contained in:
2025-12-28 23:07:51 +00:00
parent 73e7fb50c7
commit 6c298aee35
5 changed files with 116 additions and 3 deletions

View File

@@ -0,0 +1,4 @@
_: {
# home = ./home.nix;
nixos = ./nixos.nix;
}

48
modules/builder/home.nix Normal file
View File

@@ -0,0 +1,48 @@
# {
# config,
# lib,
# pkgs,
# fetchFromGitHub,
# ...
# }:
# let
# cfg = config.modules.fish;
# in
# {
# options.modules.fish = {
# enable = lib.mkEnableOption "Fish";
# };
# config = lib.mkIf cfg.enable {
# home.shell.enableFishIntegration = true;
# programs = {
# fish = {
# enable = true;
# shellInit = ''
# set -g theme_nerd_fonts yes
# set -g theme_color_scheme nord
# set -g theme_display_user yes
# set -g fish_color_autosuggestion 6F6578
# alias nik 'nix'
# '';
# plugins = [
# {
# name = "bobthefish";
# src = pkgs.fetchFromGitHub {
# owner = "oh-my-fish";
# repo = "theme-bobthefish";
# rev = "e3b4d4eafc23516e35f162686f08a42edf844e40";
# sha256 = "sha256-cXOYvdn74H4rkMWSC7G6bT4wa9d3/3vRnKed2ixRnuA=";
# };
# }
# ];
# };
# eza = {
# enable = true;
# enableFishIntegration = true;
# icons = "auto";
# git = true;
# extraOptions = [ ];
# };
# };
# };
# }

55
modules/builder/nixos.nix Normal file
View File

@@ -0,0 +1,55 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.modules.remoteBuild;
in
{
options.modules.remoteBuild = {
use-remote-builders = lib.mkEnableOption "remoteBuild";
become-remote-builder = lib.mkEnableOption "remoteBuild";
};
config =
lib.mkIf cfg.become-remote-builder {
users.users.remotebuild = {
isSystemUser = true;
group = "remotebuild";
useDefaultShell = true;
# ssh-keygen -f /root/.ssh/remotebuild
openssh.authorizedKeys.keyFiles = [ ./remotebuild.pub ];
openssh.authorizedKeys.keys = [
# Laptop
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE/4h+WCBBW82puv8SMdUbkWymF4amEMuZitgFztB6oZ doloroo@proton.me"
];
};
users.groups.remotebuild = { };
nix.settings.trusted-users = [ "remotebuild" ];
}
// lib.mkIf cfg.use-remote-builders {
nix.distributedBuilds = true;
nix.settings.builders-use-substitutes = true;
# Define every build machine here..
nix.buildMachines = [
{
# Main desktop pc
# ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKqsFEgtcTDw89GaZJg8P/FE1xngIXmiUZl8j0b+V7n+ root@doloroo-main
hostName = "doloroo-main";
sshUser = "remotebuild";
sshKey = "/root/.ssh/remotebuild";
system = "x86_64-linux";
supportedFeatures = [
"nixos-test"
"big-parallel"
"kvm"
];
}
];
};
}