modules: added builders
This commit is contained in:
4
modules/builder/default.nix
Normal file
4
modules/builder/default.nix
Normal file
@@ -0,0 +1,4 @@
|
||||
_: {
|
||||
# home = ./home.nix;
|
||||
nixos = ./nixos.nix;
|
||||
}
|
||||
48
modules/builder/home.nix
Normal file
48
modules/builder/home.nix
Normal 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
55
modules/builder/nixos.nix
Normal 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"
|
||||
];
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user