PortValhalla/profiles/machines/manuel/server.nix

126 lines
2.9 KiB
Nix
Raw Normal View History

2024-11-22 16:31:18 +00:00
{ lib, config, ... }:
2024-12-07 17:36:19 +00:00
let fs = import ../../../lib/modules/fileSystems/fs.nix;
2024-11-22 16:31:18 +00:00
in {
2024-12-06 12:40:04 +00:00
imports = [ ../../users/manuel/config.nix ];
2024-11-22 16:31:18 +00:00
config = {
valhalla = {
fileSystems = {
diskSetup.devices = {
OS = {
path = "/dev/sda";
partitions = {
Boot = {
index = 1;
type = "uefi";
size = "+1G";
format = fs.fat32;
mountPoint = config.valhalla.boot.efiMountPoint;
};
Swap = {
index = 2;
type = "swap";
};
2024-11-22 16:31:18 +00:00
OS = {
index = 3;
label = lib.mkDefault config.valhalla.boot.label;
type = "linux";
};
2024-11-22 16:31:18 +00:00
};
};
};
2024-11-22 16:31:18 +00:00
btrfs = {
volumes = {
2024-11-22 16:31:18 +00:00
OS = {
mountPoint = "/";
devices = [ "/dev/sda3" "/dev/sdb" ];
2024-12-07 22:02:03 +00:00
metadataProfile = "raid1";
dataProfile = "single";
2024-11-22 16:31:18 +00:00
};
};
};
};
hostname = "nuth.ch";
timeZone = "Europe/Zurich";
keyMap = "de_CH-latin1";
keyboardLayout = "ch";
i18n = {
2024-11-29 00:13:58 +00:00
localeSettings =
let defaultLocale = "en_US.UTF-8";
in {
LANG = "de_CH.UTF-8";
LANGUAGE = defaultLocale;
LC_MESSAGE = defaultLocale;
};
2024-11-22 16:31:18 +00:00
};
software = {
essential = true;
server = true;
};
programs.docker.enable = true;
linux.programs = {
2024-12-05 16:08:41 +00:00
grub.enable = true;
2024-12-08 00:03:06 +00:00
systemd-networkd = {
enable = true;
networks =
let device = "enp0s31f6";
in {
${device} = {
Match = {
Name = device;
};
Network = {
Address = "2a01:4f8:10b:2644::2/64";
Gateway = [
"94.130.48.193"
"fe80::1"
];
2024-12-08 01:49:28 +00:00
DNS = [
"5.9.164.112"
"1.1.1.1"
];
2024-12-08 00:03:06 +00:00
};
Address = {
Address = "94.130.48.251";
Peer = "94.130.48.193/32";
};
};
};
};
2024-11-22 16:31:18 +00:00
docker = {
services = {
2024-12-04 17:31:35 +00:00
anki-sync.enable = true;
2024-11-22 16:31:18 +00:00
drone.enable = true;
forgejo.enable = true;
jellyfin.enable = true;
minecraft.enable = true;
nextcloud.enable = true;
2024-12-04 16:02:54 +00:00
ryot.enable = true;
2024-11-22 16:31:18 +00:00
teamspeak.enable = true;
terraria.enable = true;
2024-11-22 16:31:18 +00:00
trackmania.enable = true;
vaultwarden.enable = true;
2024-12-04 16:02:54 +00:00
wekan.enable = true;
2024-11-22 16:31:18 +00:00
woodpecker.enable = true;
};
};
};
};
};
}