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 = {
|
2024-12-08 15:50:16 +00:00
|
|
|
boot.label = "Arch";
|
|
|
|
|
2024-12-07 20:14:58 +00:00
|
|
|
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
|
|
|
|
2024-12-07 20:14:58 +00:00
|
|
|
OS = {
|
|
|
|
index = 3;
|
|
|
|
label = lib.mkDefault config.valhalla.boot.label;
|
|
|
|
type = "linux";
|
|
|
|
};
|
2024-11-22 16:31:18 +00:00
|
|
|
};
|
2024-12-07 20:14:58 +00:00
|
|
|
};
|
|
|
|
};
|
2024-11-22 16:31:18 +00:00
|
|
|
|
2024-12-07 20:14:58 +00:00
|
|
|
btrfs = {
|
|
|
|
volumes = {
|
2024-11-22 16:31:18 +00:00
|
|
|
OS = {
|
|
|
|
mountPoint = "/";
|
2024-12-07 20:14:58 +00:00
|
|
|
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;
|
2024-11-27 04:10:42 +00:00
|
|
|
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;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|