split server configuration
This commit is contained in:
parent
0ae8f323bd
commit
f5562eddde
2 changed files with 112 additions and 107 deletions
|
|
@ -1,116 +1,15 @@
|
||||||
{ pkgs, ... }:
|
{ pkgs, libs, ... }:
|
||||||
{
|
{
|
||||||
imports = [ ./hardware-configuration.nix ];
|
imports = [
|
||||||
|
./hardware-configuration.nix
|
||||||
|
(libs.root "/host/server/default.nix")
|
||||||
|
];
|
||||||
|
|
||||||
nix.settings.experimental-features = [
|
nix.settings.experimental-features = [
|
||||||
"nix-command"
|
"nix-command"
|
||||||
"flakes"
|
"flakes"
|
||||||
];
|
];
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
git
|
|
||||||
vim
|
|
||||||
];
|
|
||||||
|
|
||||||
users.users.junko = {
|
|
||||||
isNormalUser = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
users.users.asakiyuki = {
|
|
||||||
isNormalUser = true;
|
|
||||||
extraGroups = [ "wheel" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
services = {
|
|
||||||
adguardhome = {
|
|
||||||
enable = true;
|
|
||||||
port = 34778;
|
|
||||||
openFirewall = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
fail2ban = {
|
|
||||||
enable = true;
|
|
||||||
ignoreIP = [
|
|
||||||
"192.168.0.0/16"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
cloudflare-dyndns = {
|
|
||||||
enable = true;
|
|
||||||
apiTokenFile = "/home/asakiyuki/.secret/CLOUDFLARE_TOKEN_KEY";
|
|
||||||
frequency = "*:0/5";
|
|
||||||
proxied = true;
|
|
||||||
ipv6 = false;
|
|
||||||
ipv4 = true;
|
|
||||||
deleteMissing = false;
|
|
||||||
domains = [ "ddns.asakiyuki.com" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
openssh = {
|
|
||||||
enable = true;
|
|
||||||
ports = [ 15523 ];
|
|
||||||
authorizedKeysInHomedir = true;
|
|
||||||
authorizedKeysFiles = [ "/home/asakiyuki/.ssh/authorized_keys" ];
|
|
||||||
settings = {
|
|
||||||
AllowUsers = [
|
|
||||||
"asakiyuki"
|
|
||||||
"junko"
|
|
||||||
];
|
|
||||||
PasswordAuthentication = true;
|
|
||||||
KbdInteractiveAuthentication = false;
|
|
||||||
AllowAgentForwarding = false;
|
|
||||||
AllowStreamLocalForwarding = false;
|
|
||||||
X11Forwarding = false;
|
|
||||||
PermitRootLogin = "no";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
networking = {
|
|
||||||
useDHCP = false;
|
|
||||||
networkmanager.enable = true;
|
|
||||||
defaultGateway = "192.168.1.1";
|
|
||||||
nameservers = [
|
|
||||||
"8.8.8.8"
|
|
||||||
"1.1.1.1"
|
|
||||||
];
|
|
||||||
|
|
||||||
interfaces = {
|
|
||||||
enp1s0 = {
|
|
||||||
useDHCP = false;
|
|
||||||
|
|
||||||
ipv4.addresses = [
|
|
||||||
{
|
|
||||||
address = "192.168.1.100";
|
|
||||||
prefixLength = 24;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
ipv6.addresses = [
|
|
||||||
{
|
|
||||||
address = "2402:800:62d0:1c26:abcd:1234:5678:9abc";
|
|
||||||
prefixLength = 64;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
firewall = {
|
|
||||||
enable = true;
|
|
||||||
allowedUDPPorts = [
|
|
||||||
53
|
|
||||||
34778
|
|
||||||
];
|
|
||||||
allowedTCPPorts = [
|
|
||||||
15523
|
|
||||||
53
|
|
||||||
8443
|
|
||||||
583
|
|
||||||
25565
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
boot.loader.systemd-boot.enable = true;
|
boot.loader.systemd-boot.enable = true;
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,110 @@
|
||||||
{ ... }:
|
{ libs, ... }:
|
||||||
{
|
{
|
||||||
|
imports = [
|
||||||
|
(libs.root "/home/asakiyuki/configuration.nix")
|
||||||
|
];
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
git
|
||||||
|
vim
|
||||||
|
];
|
||||||
|
|
||||||
|
users.users.junko = {
|
||||||
|
isNormalUser = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
users.users.asakiyuki = {
|
||||||
|
isNormalUser = true;
|
||||||
|
extraGroups = [ "wheel" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
services = {
|
||||||
|
adguardhome = {
|
||||||
|
enable = true;
|
||||||
|
port = 34778;
|
||||||
|
openFirewall = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
fail2ban = {
|
||||||
|
enable = true;
|
||||||
|
ignoreIP = [
|
||||||
|
"192.168.0.0/16"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
cloudflare-dyndns = {
|
||||||
|
enable = true;
|
||||||
|
apiTokenFile = "/home/asakiyuki/.secret/CLOUDFLARE_TOKEN_KEY";
|
||||||
|
frequency = "*:0/5";
|
||||||
|
proxied = true;
|
||||||
|
ipv6 = false;
|
||||||
|
ipv4 = true;
|
||||||
|
deleteMissing = false;
|
||||||
|
domains = [ "ddns.asakiyuki.com" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
openssh = {
|
||||||
|
enable = true;
|
||||||
|
ports = [ 15523 ];
|
||||||
|
authorizedKeysInHomedir = true;
|
||||||
|
authorizedKeysFiles = [ "/home/asakiyuki/.ssh/authorized_keys" ];
|
||||||
|
settings = {
|
||||||
|
AllowUsers = [
|
||||||
|
"asakiyuki"
|
||||||
|
"junko"
|
||||||
|
];
|
||||||
|
PasswordAuthentication = true;
|
||||||
|
KbdInteractiveAuthentication = false;
|
||||||
|
AllowAgentForwarding = false;
|
||||||
|
AllowStreamLocalForwarding = false;
|
||||||
|
X11Forwarding = false;
|
||||||
|
PermitRootLogin = "no";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
networking = {
|
||||||
|
useDHCP = false;
|
||||||
|
networkmanager.enable = true;
|
||||||
|
defaultGateway = "192.168.1.1";
|
||||||
|
nameservers = [
|
||||||
|
"8.8.8.8"
|
||||||
|
"1.1.1.1"
|
||||||
|
];
|
||||||
|
|
||||||
|
interfaces = {
|
||||||
|
enp1s0 = {
|
||||||
|
useDHCP = false;
|
||||||
|
|
||||||
|
ipv4.addresses = [
|
||||||
|
{
|
||||||
|
address = "192.168.1.100";
|
||||||
|
prefixLength = 24;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
ipv6.addresses = [
|
||||||
|
{
|
||||||
|
address = "2402:800:62d0:1c26:abcd:1234:5678:9abc";
|
||||||
|
prefixLength = 64;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
firewall = {
|
||||||
|
enable = true;
|
||||||
|
allowedUDPPorts = [
|
||||||
|
53
|
||||||
|
34778
|
||||||
|
];
|
||||||
|
allowedTCPPorts = [
|
||||||
|
15523
|
||||||
|
53
|
||||||
|
8443
|
||||||
|
583
|
||||||
|
25565
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Reference in a new issue