2024-10-18 16:48:34 -05:00
|
|
|
{
|
|
|
|
|
pkgs,
|
|
|
|
|
lib,
|
2024-10-19 16:39:24 -05:00
|
|
|
self,
|
2024-10-18 16:48:34 -05:00
|
|
|
...
|
|
|
|
|
}:
|
|
|
|
|
let
|
2024-11-04 11:04:45 -06:00
|
|
|
builderHosts =
|
|
|
|
|
if self != null then
|
|
|
|
|
(lib.attrNames (
|
|
|
|
|
lib.filterAttrs (_: v: v.config.greg.remote-builder.enable) self.nixosConfigurations
|
|
|
|
|
))
|
|
|
|
|
else
|
|
|
|
|
[ ];
|
2024-10-18 16:48:34 -05:00
|
|
|
in
|
2024-02-09 14:33:51 -06:00
|
|
|
{
|
2025-03-20 14:19:38 -05:00
|
|
|
# This is a dumb hack to pass the value into the import below, but it's how we have to do it,
|
|
|
|
|
# since that's how the module system works
|
|
|
|
|
_module.args.cache = true;
|
2025-02-04 07:44:54 -06:00
|
|
|
imports = [
|
|
|
|
|
./nix-conf.nix
|
|
|
|
|
];
|
2024-02-09 14:33:51 -06:00
|
|
|
|
2024-10-29 23:52:10 -05:00
|
|
|
programs.ssh = {
|
|
|
|
|
extraConfig = builtins.concatStringsSep "\n" (
|
2024-10-18 16:48:34 -05:00
|
|
|
lib.map (x: ''
|
|
|
|
|
Host ${x}-builder
|
|
|
|
|
Hostname ${x}.home
|
|
|
|
|
User remote-builder-user
|
|
|
|
|
'') builderHosts
|
2024-10-29 23:52:10 -05:00
|
|
|
);
|
|
|
|
|
};
|
2024-10-18 16:48:34 -05:00
|
|
|
|
2024-10-03 11:26:39 -05:00
|
|
|
# Base packages that need to be in all my hosts
|
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
|
|
|
agenix
|
|
|
|
|
bmon
|
|
|
|
|
diffutils
|
|
|
|
|
git
|
|
|
|
|
gnupatch
|
|
|
|
|
findutils
|
|
|
|
|
file
|
|
|
|
|
hms # My own home manager switcher
|
2025-05-19 16:13:33 -05:00
|
|
|
btop
|
2024-10-03 11:26:39 -05:00
|
|
|
iperf
|
|
|
|
|
killall
|
|
|
|
|
nano
|
|
|
|
|
pciutils
|
|
|
|
|
pwgen
|
|
|
|
|
unzip
|
|
|
|
|
wget
|
|
|
|
|
];
|
2024-02-13 23:58:38 -06:00
|
|
|
}
|