130 lines
6.5 KiB
Nix
130 lines
6.5 KiB
Nix
{ pkgs, ... }:
|
|
{
|
|
system.autoUpgrade.enable = pkgs.lib.mkForce false;
|
|
|
|
networking = {
|
|
useNetworkd = true;
|
|
nameservers = [ "127.0.0.1" ];
|
|
domain = "oceanbox.io";
|
|
search = [ "obx" "oceanbox.io" ];
|
|
firewall.allowedTCPPorts = [ 53 ];
|
|
firewall.allowedUDPPorts = [ 53 ];
|
|
firewall.extraCommands = '' '';
|
|
useDHCP = false;
|
|
};
|
|
|
|
services.resolved = {
|
|
enable = true;
|
|
dnssec = "false";
|
|
extraConfig = ''
|
|
DNSStubListener=no
|
|
'';
|
|
fallbackDns = [
|
|
"1.1.1.1"
|
|
"1.0.0.1"
|
|
];
|
|
};
|
|
|
|
boot = {
|
|
loader.systemd-boot.enable = true;
|
|
loader.efi.canTouchEfiVariables = true;
|
|
};
|
|
|
|
console = {
|
|
font = "Lat2-Terminus16";
|
|
keyMap = "us";
|
|
};
|
|
|
|
i18n = {
|
|
defaultLocale = "en_US.UTF-8";
|
|
extraLocaleSettings = {
|
|
LC_CTYPE="en_DK.UTF-8";
|
|
LC_TIME="en_DK.UTF-8";
|
|
LC_PAPER="en_DK.UTF-8";
|
|
LC_NAME="en_DK.UTF-8";
|
|
LC_ADDRESS="en_DK.UTF-8";
|
|
LC_TELEPHONE="en_DK.UTF-8";
|
|
LC_MEASUREMENT="en_DK.UTF-8";
|
|
LC_IDENTIFICATION="en_DK.UTF-8";
|
|
};
|
|
};
|
|
|
|
time.timeZone = "Europe/Oslo";
|
|
|
|
features = {
|
|
desktop.enable = false;
|
|
laptop.enable = false;
|
|
desktop.wayland.enable = false;
|
|
desktop.hyprland.enable = false;
|
|
cachix.enable = false;
|
|
|
|
# host = {
|
|
# inherit name;
|
|
# inherit address;
|
|
# };
|
|
|
|
pki = {
|
|
enable = false;
|
|
certmgr.enable = true;
|
|
certs = {
|
|
foo = { hosts = [ "localhost" ]; };
|
|
};
|
|
};
|
|
|
|
os = {
|
|
networkmanager.enable = false;
|
|
docker.enable = true;
|
|
|
|
adminAuthorizedKeys = [
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKiAS30ZO+wgfAqDE9Y7VhRunn2QszPHA5voUwo+fGOf jonas-3"
|
|
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDULdlLC8ZLu9qBZUYsjhpr6kv5RH4yPkekXQdD7prkqapyoptUkO1nOTDwy7ZsKDxmp9Zc6OtdhgoJbowhGW3VIZPmooWO8twcaYDpkxEBLUehY/n8SlAwBtiHJ4mTLLcynJMVrjmTQLF3FeWVof0Aqy6UtZceFpLp1eNkiHTCM3anwtb9+gfr91dX1YsAOqxqv7ooRDu5rCRUvOi4OvRowepyuBcCjeWpTkJHkC9WGxuESvDV3CySWkGC2fF2LHkAu6SFsFE39UA5ZHo0b1TK+AFqRFiBAb7ULmtuno1yxhpBxbozf8+Yyc7yLfMNCyBpL1ci7WnjKkghQv7yM1xN2XMJLpF56v0slSKMoAs7ThoIlmkRm/6o3NCChgu0pkpNg/YP6A3HfYiEDgChvA6rAHX6+to50L9xF3ajqk4BUzWd/sCk7Q5Op2lzj31L53Ryg8vMP8hjDjYcgEcCCsGOcjUVgcsmfC9LupwRIEz3aF14AWg66+3zAxVho8ozjes= jonas.juselius@juselius.io"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKiAS30ZO+wgfAqDE9Y7VhRunn2QszPHA5voUwo+fGOf jonas-3"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKiAS30ZO+wgfAqDE9Y7VhRunn2QszPHA5voUwo+fGOf jonas"
|
|
"ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAlHx2RWPvBhYzevQE+llnyDuInSsyhs6PFaoavtEB2VLr2gOFxDZW5VmDXlorAXtCpcPpJdYbnPuRWZd0m5950BatWy5UPgDIK2Qm5XABlq6/tXzHJme9PJHcXwo6WStaB31RiJs9nhdYIhPRjcbeFdx/7Fz3atVikE6YUtb8a7YGeKgZh6ashtYPpG3oSBLn1menjk6CxVRt16de3PoDlYav/J8WPbaGJqcPIU9rjzqJkI4aG1txSyJ8Vt2vawQKnzPZCuQAdWgquE3CbJkJbgoh2TKmHds71WMTg3ZXz2KfVjdN8IXCTxdySlgVVAN6x0usGVnA22XnMYQEgbcb3Q== rsa-key-20201215"
|
|
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCk5EKXxo/KLogjqSxSf/GkQdZ30UxB3wXc5k6Y6RRKQ/5iJ+XyYTbuqYOUp30p54apZzbayU2icahE/upr754lQicQwJtOXW/Iut57VRhSpq4P+mKCIdT58xCUkAZYr8Aja8UjHlYeJgFvp023K/fqmwbapu8R1gh4bzXm7uU1XeJoYfuOb+Cb8NGMn1ICrw2aztA0yVOXZ7tyJd2qyr1+6PuM/Ca2nKN4wLIX2vwyN3vZjR15nkIaHQGlTaJlNk2NEG1YTxsIQ9axDjNtyL80kjUr5M8zxW6s0h3451zr1b21EetP1i+1POIjS9uWXv5iabF+1Qb1GaS4FAYzzpqNY+moLzY7Zqfi05MPsMYkNoZ1Kg5aj0IuZb0OM9i6ZJrFs9nYAGG0uLSUTfrs957f9nokFyILGYg5xY46YN3uQrqfZifvcR0KaEdxEKvnfq0qrNG3uYLR/OYm2yblRcNbWgDoQ1hH7qa9uJM2JrPM07s4sJGkqfAib8Hwz9+l7jMrL6KIGUOA4aX0B1KZaIKKiZa42WlgdbeA17aW3laIqS5mZCkI3pLMYZAxe+A6rQi+V8ZAvDSyOL/Vws3lboXaN5QLu17R8uCY7MkIAvRBiZSpdWNeX3JO5m6zexkxkrFlxyEBf+ott4ATSw+eMYMs8i5xQRqPjgO1cABWkUdGpw== martin.moe.carstens@itpartner.no"
|
|
"ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAlHx2RWPvBhYzevQE+llnyDuInSsyhs6PFaoavtEB2VLr2gOFxDZW5VmDXlorAXtCpcPpJdYbnPuRWZd0m5950BatWy5UPgDIK2Qm5XABlq6/tXzHJme9PJHcXwo6WStaB31RiJs9nhdYIhPRjcbeFdx/7Fz3atVikE6YUtb8a7YGeKgZh6ashtYPpG3oSBLn1menjk6CxVRt16de3PoDlYav/J8WPbaGJqcPIU9rjzqJkI4aG1txSyJ8Vt2vawQKnzPZCuQAdWgquE3CbJkJbgoh2TKmHds71WMTg3ZXz2KfVjdN8IXCTxdySlgVVAN6x0usGVnA22XnMYQEgbcb3Q== kai.simen"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGP5k0dXn60dZ3iORy99LVvgTldu9nYU1TJVL1wCJEqp kaih kubernetes"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAII77Aa2MFZMTha8PdkNg32UR8y6Hwb4R0aR9Ad9qifNq mrtz@wurst"
|
|
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDhQwHnneRdyiJULZJNSreQ6uCWRVO5aeXUcVj76+ClOtSOcb4cdQZHcpqLbOQr8yPWFM0ZN1fqkx+PyiVG8UyDx2m6NjbEwzOqif8srNgeO0g9Qog9Kb5UE3r3TEa+pn3wWlocZLLZQ4vCxBS7JPBu4XWyJXl233rzO0NFX8vvJT6eV/O+cCZg1UCjaBI8TzY/5f3vxC8x6G+GknfQemzrfSCwJbXbceRdqSnRDJSu+bl4j9hic1GEVnfU/kjM4qM0YgdCpDk8Xqkjkpag7HSTHTysrfowJJoKNBooI6HzKgBh8LRbAkVbJ1EedIciQ60l3LLCj3X/i3wXNykpaDn8zrGwoB4u14auSPCB6WAmGbVsYCj7bmmjtLnPNYzYQb8p8rAZBIebwV2wZK+J8SZTQxuvbL55iDnUgFr5Dk+hUHrlCa0BqHAf2iEY1TZKmh8pIIstsmP90BZSe7RJPsK0S1lM+zXsdP4QrajQA1zZ18wTBfsfKPItzOLxvEuQyPs= admin@xor"
|
|
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC2tox0uyFGfU1zPNU6yAVSoGOUkeU959aiTMrqu1U9MCCOP2o4IhZIlRpZ08XVnUU/AhycCUF4HgGqdcco8oIVX0P0Cn83KJoD/DOqAiz+1VwIUUV1ylrRdNqCgf4wnmLni3sUPHJdQnuq57+pzDDjHMr9CcBL2KzOHD/QanfR+jZmv9K3OS5oDcWquSCziXkpbkWQURPactmtyzGK2FRRxONZgYrB8gRTDstlWQg/t6GHNVelzuJ7SEf+t8pk/S2e/XAvfZyRJhrVJ35iZKpmxkIn5v0g1Z+z0yX/KRSAPRtNg9uM44cmto77MFx7iFs0CuleL3zHvRvZYW1ZnsKAiP07UkEK87luMpkTzFr9CSHJGpgk1RZYA3qidQti44n6NU9YRNhzO4v+KQE6XDqO80gZCJboSXr3fnYn/QHpPXzK5JcZNWmClyMURYj10qv9So3Fh0o3LV5GThA6JgN874vUywUZanPEdn8ePBcAsjLRzA4YBGEuvJCc6FELSuY2s+/pFba8NXQvrOdJKSRC0g5USQFfaWDln4Q4zZ1G5z76p1u6GtRWxvakkUQ0fze9KAW7msxeKaw+B7uMtyvCL8V2zEE8WKFP1sNyYEe7Sgp3RVfym2VPMNTZVhEImfM/3D+WbzfoJztnJvFKXeeMCcne4G8swyef3o1s3b+CvQ== ski027@uit.no"
|
|
];
|
|
};
|
|
};
|
|
|
|
programs.singularity.enable = false;
|
|
|
|
nixpkgs.config.allowUnfreee = true;
|
|
|
|
# Wait for resolved and network-online
|
|
systemd.services.tailscaled.after = [
|
|
"network-online.target"
|
|
"systemd-resolved.service"
|
|
];
|
|
|
|
# Don't wait on tailscale
|
|
systemd.network.wait-online.ignoredInterfaces = [ "tailscale0" ];
|
|
|
|
services.networkd-dispatcher = {
|
|
enable = true;
|
|
rules = {
|
|
"tailscale-router" = {
|
|
onState = [ "routable" ];
|
|
script = ''
|
|
#!${pkgs.runtimeShell}
|
|
${pkgs.ethtool}/bin/ethtool -K ens3 rx-udp-gro-forwarding on
|
|
${pkgs.ethtool}/bin/ethtool -K ens3 rx-gro-list off
|
|
${pkgs.ethtool}/bin/ethtool -K ens3 tx-udp-segmentation on
|
|
exit 0
|
|
'';
|
|
};
|
|
};
|
|
};
|
|
|
|
imports = [
|
|
./users.nix
|
|
../dns.nix
|
|
../modules
|
|
../nixos
|
|
];
|
|
}
|