Files
publicConfig/hosts/kiwi/kiwi.nix
T
2026-06-01 18:13:27 +02:00

98 lines
1.8 KiB
Nix

{ config, pkgs, ... }:
{
environment.systemPackages = with pkgs; [
];
users.users.kiwi = {
isNormalUser = true;
extraGroups = [
"wheel"
];
openssh.authorizedKeys.keys = [
"ssh-ed25519 ..."
];
};
services.openssh = {
enable = true;
settings = {
PasswordAuthentication = true;
PermitRootLogin = "yes";
};
};
services.k3s = {
enable = true;
role = "agent";
serverAddr = "https://192.168.1.89:6443";
tokenFile = "/var/lib/rancher/k3s/agent/token";
};
networking.firewall = {
enable = true;
allowedTCPPorts = [ 21 22 2121 ];
allowedTCPPortRanges = [
{ from = 30000; to = 30100; }
];
};
services.sftpgo = {
enable = true;
settings = {
sftpd.bindings = [
{
port = 2022;
address = "0.0.0.0";
}
];
sftpd.password_authentication = true;
ftpd = {
bindings = [{
port = 21;
address = "0.0.0.0";
}];
passive_port_range = {
start = 30000;
end = 30100;
};
};
};
loadDataFile = pkgs.writeText "sftpgo-data.json" (builtins.toJSON {
users = [
{
status = 1;
username = "printer";
home_dir = "/var/lib/sftpgo/data";
password = "password";
permissions = {
"/" = [ "upload" "list" "delete" "download" ];
};
public_keys = [];
}
];
});
};
systemd.services.cloudflared-connector = {
description = "Cloudflare Tunnel Connector";
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
serviceConfig = {
ExecStart = "${pkgs.cloudflared}/bin/cloudflared tunnel --no-autoupdate run --token token";
Restart = "always";
RestartSec = "10s";
User = "cloudflared";
Group = "cloudflared";
};
};
users.users.cloudflared = {
group = "cloudflared";
isSystemUser = true;
};
users.groups.cloudflared = { };
}