nixos-config/hosts/forbann/configuration.nix

71 lines
1.5 KiB
Nix
Raw Normal View History

2025-10-05 08:20:57 +02:00
{pkgs, ...}: {
boot = {
kernelPackages = pkgs.linuxPackages;
initrd.supportedFilesystems = ["ext4"];
loader.grub = {
enable = true;
device = "/dev/vda";
};
2025-10-04 12:35:54 +02:00
};
2025-10-05 08:20:57 +02:00
fileSystems = {
"/" = {
device = "/dev/vda1";
fsType = "ext4";
};
"/srv" = {
device = "shared0";
fsType = "9p";
options = ["trans=virtio" "version=9p2000.L" "rw"];
neededForBoot = false;
noCheck = true;
2025-10-04 12:35:54 +02:00
};
};
networking = {
useDHCP = true;
2025-10-05 08:20:57 +02:00
useNetworkd = true;
hostName = "forbann";
2025-10-04 12:35:54 +02:00
};
2025-10-05 08:20:57 +02:00
systemd = {
services.mountShared = {
description = "Mount 9p shared folder";
after = ["local-fs.target" "network.target"];
wantedBy = ["multi-user.target"];
serviceConfig = {
Type = "oneshot";
ExecStart = "${pkgs.util-linux}/bin/mount -t 9p -o trans=virtio,version=9p2000.L shared0 /srv";
RemainAfterExit = true;
};
};
network = {
enable = true;
networks."10-eth0" = {
matchConfig.Name = "eth0";
networkConfig = {
Address = "192.168.1.10/24";
Gateway = "192.168.0.254";
DNS = "192.168.0.254";
};
2025-10-04 12:35:54 +02:00
};
};
};
2025-10-05 08:20:57 +02:00
services = {
openssh.enable = true;
rtorrent = {
enable = true;
dataDir = "/home/vmuser/torrents";
};
2025-10-04 12:35:54 +02:00
};
users.users.vmuser = {
2025-10-05 08:20:57 +02:00
isNormalUser = true;
extraGroups = ["wheel"];
password = "changeme";
2025-10-04 12:35:54 +02:00
};
2025-10-05 08:20:57 +02:00
system.stateVersion = "25.05";
2025-10-04 12:35:54 +02:00
}