Compare commits
1 commit
564f6ba279
...
dfade51c25
Author | SHA1 | Date | |
---|---|---|---|
|
dfade51c25 |
29
modules/nixos/services/openssh/default.nix
Normal file
29
modules/nixos/services/openssh/default.nix
Normal 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;
|
||||
};
|
||||
};
|
||||
}
|
48
modules/nixos/services/remotebuild/default.nix
Normal file
48
modules/nixos/services/remotebuild/default.nix
Normal 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;
|
||||
};
|
||||
};
|
||||
}
|
|
@ -19,38 +19,6 @@ in
|
|||
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 = {
|
||||
interfaces.wlan0 = {
|
||||
ipv4.addresses = [
|
||||
|
@ -74,16 +42,15 @@ in
|
|||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
networking.firewall = {
|
||||
allowedTCPPorts = [
|
||||
53
|
||||
80
|
||||
];
|
||||
allowedUDPPorts = [
|
||||
53
|
||||
];
|
||||
firewall = {
|
||||
allowedTCPPorts = [
|
||||
53
|
||||
80
|
||||
];
|
||||
allowedUDPPorts = [
|
||||
53
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
services.adguardhome = {
|
||||
|
@ -125,7 +92,6 @@ in
|
|||
"https://adguardteam.github.io/HostlistsRegistry/assets/filter_24.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} = {
|
||||
submodules.basics = enabled;
|
||||
|
||||
services = {
|
||||
openssh = enabled;
|
||||
remotebuild = enabled;
|
||||
};
|
||||
|
||||
system = {
|
||||
# cachemiss for webkit gtk
|
||||
hardware.networking.enable = mkForce false;
|
||||
|
|
|
@ -29,18 +29,6 @@ in
|
|||
};
|
||||
};
|
||||
|
||||
services.openssh = {
|
||||
enable = true;
|
||||
settings = {
|
||||
PasswordAuthentication = false;
|
||||
KbdInteractiveAuthentication = false;
|
||||
};
|
||||
};
|
||||
|
||||
services.fail2ban = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
services.nginx = {
|
||||
enable = true;
|
||||
recommendedProxySettings = true;
|
||||
|
@ -101,6 +89,7 @@ in
|
|||
enable = true;
|
||||
inherit sopsFile;
|
||||
};
|
||||
openssh = enabled;
|
||||
};
|
||||
|
||||
security = {
|
||||
|
|
Loading…
Reference in a new issue