{ config, lib, pkgs, ... }: { imports = [ ./hardware-configuration.nix ./packages.nix ./modules/nfs.nix ./modules/navidrome.nix ./modules/slskd.nix ./modules/smb.nix ]; nix.settings.experimental-features = [ "nix-command" "flakes" ]; fileSystems."/media/music" = { device = "/dev/disk/by-uuid/8e6ae06e-a4b5-4ac8-ad15-cb288b14715f"; fsType = "ext4"; }; boot.loader.grub = { enable = true; zfsSupport = true; efiSupport = true; efiInstallAsRemovable = true; mirroredBoots = [ { devices = [ "nodev" ]; path = "/boot"; } ]; }; fileSystems."/" = { device = "zpool/root"; fsType = "zfs"; }; fileSystems."/nix" = { device = "zpool/nix"; fsType = "zfs"; }; fileSystems."/var" = { device = "zpool/var"; fsType = "zfs"; }; fileSystems."/home" = { device = "zpool/home"; fsType = "zfs"; }; fileSystems."/boot" = { device = "/dev/disk/by-uuid/FCFD-4472"; fsType = "vfat"; }; boot.zfs.forceImportRoot = false; services.zfs.autoScrub.enable = true; swapDevices = [ ]; networking.hostId = "6054e036"; networking.hostName = "nixos-music"; networking.networkmanager.enable = true; networking.firewall.enable = false; time.timeZone = "Europe/Berlin"; i18n.defaultLocale = "en_US.UTF-8"; console = { font = "Lat2-Terminus16"; keyMap = "de"; }; programs.fish.enable = true; users.users.user = { isNormalUser = true; description = "user"; uid = 1000; extraGroups = [ "networkmanager" "wheel" "docker" ]; shell = pkgs.fish; }; services.tailscale.enable = true; services.rsync.enable = true; programs.nh.enable = true; programs.neovim.enable = true; programs.tmux.enable = true; programs.bat.enable = true; programs.git = { enable = true; config = { user = { name = "KeksNino"; email = "KeksNino@proton.me"; }; init = { defaultBranch = "main"; }; push = { autoSetupRemote = true; }; }; }; services.openssh = { enable = true; openFirewall = true; settings = { PasswordAuthentication = false; PermitRootLogin = "no"; }; }; systemd.timers."bc-wishlist-scraper" = { wantedBy = [ "timers.target" ]; timerConfig = { OnCalendar = "daily"; Unit = "bc-wishlist-scraper.service"; }; }; systemd.services."bc-wishlist-scraper" = { script = '' ${pkgs.bash}/bin/bash /home/user/bc-wishlist-scraper/run.sh ''; }; systemd.user.timers."scdl" = { wantedBy = [ "timers.target" ]; timerConfig = { OnCalendar = "daily"; Unit = "scdl.service"; }; }; systemd.user.services."scdl" = { script = '' cd ~/Music/scdl && ${pkgs.scdl}/bin/scdl me -f -c --download-archive archive.txt ''; }; system.stateVersion = "26.05"; }