Compare commits

...

1 commit

4 changed files with 92 additions and 63 deletions

View file

@ -0,0 +1,29 @@
{
lib,
config,
namespace,
...
}:
let
cfg = config.${namespace}.services.openssh;
inherit (lib) mkIf mkEnableOption;
in
{
options.${namespace}.services.openssh = {
enable = mkEnableOption "Enable SSH";
};
config = mkIf cfg.enable {
services.openssh = {
enable = true;
settings = {
PasswordAuthentication = false;
KbdInteractiveAuthentication = false;
};
};
services.fail2ban = {
enable = true;
};
};
}

View file

@ -0,0 +1,48 @@
{
lib,
config,
namespace,
...
}:
let
cfg = config.${namespace}.services.remotebuild;
inherit (lib) mkIf mkEnableOption;
in
{
options.${namespace}.services.remotebuild = {
enable = mkEnableOption "Enable remotebuild";
};
config = mkIf cfg.enable {
users.users.remotebuild = {
isNormalUser = true;
createHome = false;
group = "remotebuild";
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJYZjG+XPNoVHVdCel5MK4mwvtoFCqDY1WMI1yoU71Rd root@yggdrasil"
];
};
users.groups.remotebuild = { };
nix = {
nrBuildUsers = 64;
settings = {
trusted-users = [ "remotebuild" ];
min-free = 10 * 1024 * 1024;
max-free = 200 * 1024 * 1024;
max-jobs = "auto";
cores = 0;
};
};
systemd.services.nix-daemon.serviceConfig = {
MemoryAccounting = true;
MemoryMax = "90%";
OOMScoreAdjust = 500;
};
};
}

View file

@ -19,38 +19,6 @@ in
raspberry-pi-5 raspberry-pi-5
]; ];
security.sudo.wheelNeedsPassword = false;
users.users.remotebuild = {
isNormalUser = true;
createHome = false;
group = "remotebuild";
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJYZjG+XPNoVHVdCel5MK4mwvtoFCqDY1WMI1yoU71Rd root@yggdrasil"
];
};
users.groups.remotebuild = { };
nix = {
nrBuildUsers = 64;
settings = {
trusted-users = [ "remotebuild" ];
min-free = 10 * 1024 * 1024;
max-free = 200 * 1024 * 1024;
max-jobs = "auto";
cores = 0;
};
};
systemd.services.nix-daemon.serviceConfig = {
MemoryAccounting = true;
MemoryMax = "90%";
OOMScoreAdjust = 500;
};
networking = { networking = {
interfaces.wlan0 = { interfaces.wlan0 = {
ipv4.addresses = [ ipv4.addresses = [
@ -74,9 +42,7 @@ in
}; };
}; };
}; };
}; firewall = {
networking.firewall = {
allowedTCPPorts = [ allowedTCPPorts = [
53 53
80 80
@ -85,6 +51,7 @@ in
53 53
]; ];
}; };
};
services.adguardhome = { services.adguardhome = {
enable = true; enable = true;
@ -125,7 +92,6 @@ in
"https://adguardteam.github.io/HostlistsRegistry/assets/filter_24.txt" "https://adguardteam.github.io/HostlistsRegistry/assets/filter_24.txt"
"https://adguardteam.github.io/HostlistsRegistry/assets/filter_47.txt" "https://adguardteam.github.io/HostlistsRegistry/assets/filter_47.txt"
]; ];
}; };
}; };
@ -156,17 +122,14 @@ in
}; };
}; };
services.openssh = {
enable = true;
settings = {
PasswordAuthentication = false;
KbdInteractiveAuthentication = false;
};
};
${namespace} = { ${namespace} = {
submodules.basics = enabled; submodules.basics = enabled;
services = {
openssh = enabled;
remotebuild = enabled;
};
system = { system = {
# cachemiss for webkit gtk # cachemiss for webkit gtk
hardware.networking.enable = mkForce false; hardware.networking.enable = mkForce false;

View file

@ -29,18 +29,6 @@ in
}; };
}; };
services.openssh = {
enable = true;
settings = {
PasswordAuthentication = false;
KbdInteractiveAuthentication = false;
};
};
services.fail2ban = {
enable = true;
};
services.nginx = { services.nginx = {
enable = true; enable = true;
recommendedProxySettings = true; recommendedProxySettings = true;
@ -101,6 +89,7 @@ in
enable = true; enable = true;
inherit sopsFile; inherit sopsFile;
}; };
openssh = enabled;
}; };
security = { security = {