Files
nixos-dotfiles/hosts/nixserve/default.nix
T
ulve 1550e333e0 nixserve: open Music Assistant/mDNS ports, add paperless service, bump flake inputs
Allow TCP 8095 (Music Assistant web UI) and UDP 5353 (mDNS) through the
firewall so the LAN interface can reach it and Chromecast discovery works;
previously only the trusted tailscale0 interface had access.
2026-10-12 09:08:52 +02:00

77 lines
2.5 KiB
Nix

{ config, pkgs, ... }:
{
imports = [ ./hardware-configuration.nix ./services.nix ./health.nix ];
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
networking.hostName = "nixserve";
networking.hostId = "941b956b";
networking.networkmanager.enable = true;
boot.supportedFilesystems = [ "zfs" ];
boot.zfs.forceImportRoot = false;
boot.zfs.extraPools = [ "media" ];
time.timeZone = "Europe/Stockholm";
i18n.defaultLocale = "en_US.UTF-8";
console.keyMap = "sv-latin1";
services.openssh = {
enable = true;
settings = {
X11Forwarding = false;
PermitRootLogin = "no";
PasswordAuthentication = false;
};
openFirewall = true;
};
users.users."ulve" = {
isNormalUser = true;
shell = pkgs.zsh;
openssh.authorizedKeys.keys = [
# macbook
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICpiU4gStAtrJOBSkQA2YJh98fpWPpxWtWgwAGzVa/wc johansson.olov@gmail.com"
# phone
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDHCIwXs/XPwWfdvaAbGYYX8jVu6CP8MhR7qFTaW2hu6Go4X1+1RTuPQ5RwZSj5pKf2Cyn33pY9KuzIChpKLs9uZrNS08BO6SrcjNtcRJrUOAIq8uKqHOXmq2x2PXbHm6vKp5MwRRanQ/Pa1O2P8kYq8HIBlviD5jUzOtEj8neBfJ/x49+27eHvJdwD2whSy0uty7TfNJi180sJGmepjL4SftGTwcevyvkm+koHj0aDRXxOlFhtrpsbdagg4UHe04ljiUF9urGcA3BSRTKuYbSl+MBsX+YxS97Vi4zT6oqwfh5RPzNZ8v3kZaN51jB369UWlAws0+OgGxIfwVUCf6j1 nixserve"
# fractalus
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIA5pOD7QC78RfnmmofabuiVUCKSlarv3GtuLZt/FCkGl fractalus"
];
description = "ulve";
extraGroups = [ "networkmanager" "wheel" "media" "docker" ];
};
users.groups.media = {};
users.users.jellyfin.extraGroups = [ "media" ];
networking.firewall.allowedTCPPorts = [ 80 443 /* HTTP */ 111 2049 4000 4001 4002 20048 /* NFS */ 3923 /* copyparty */ 8123 /* Home Assistant (LAN devices, e.g. Cast TTS fetch) */ 8095 /* Music Assistant */ ];
networking.firewall.allowedUDPPorts = [ 111 2049 4000 4001 4002 20048 /* NFS */ 5353 /* mDNS - Chromecast discovery */ ];
networking.firewall.trustedInterfaces = [ "tailscale0" ];
programs.zsh.enable = true;
security.polkit.enable = true;
environment.systemPackages = with pkgs; [
wget
curl
git
gitea
transmission_4
];
nixpkgs.config.allowUnfree = true;
nix.gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 14d";
};
nix.settings.auto-optimise-store = true;
nix.settings.experimental-features = [ "nix-command" "flakes" ];
system.stateVersion = "26.05";
}