{pkgs, ...}: { imports = [ ../../hardware/intel-nuc.nix ../../modules/snapclient.nix ../../modules/power-management.nix ./topology.nix ./audio-server.nix ]; config = { boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; networking.hostName = "cerithium-telescopium"; networking.networkmanager.enable = true; users.users.kodi = { isNormalUser = true; openssh.authorizedKeys.keyFiles = [ ../../secrets/pub/yubikey.pub ]; }; services.logind.extraConfig = "IdleAction=ignore"; services.thermald.enable = true; services.xserver.enable = true; services.xserver.desktopManager.kodi.enable = true; services.xserver.displayManager.setupCommands = '' /run/current-system/sw/bin/xset -dpms /run/current-system/sw/bin/xset s off ''; services.xserver.desktopManager.kodi.package = pkgs.kodi.passthru.withPackages (kodiPkgs: with kodiPkgs; [ youtube inputstream-adaptive netflix joystick # Amazon VOD # Arte Mediathek # Disney+ # media.ccc.de # RocketBeansTV # twitch # ZDF Mediathek ]); services.displayManager.autoLogin.enable = true; services.displayManager.autoLogin.user = "kodi"; networking.firewall.allowedTCPPorts = [8080 9090]; services.snapclient.enable = true; services.power.target.enable = true; settings.ssh.openOutsideVPN = true; services.avahi = { enable = true; nssmdns4 = true; }; # This may be needed to force Lightdm into 'autologin' mode. # Setting an integer for the amount of time lightdm will wait # between attempts to try to autologin again. services.xserver.displayManager.lightdm.autoLogin.timeout = 3; # This value determines the NixOS release from which the default # settings for stateful data, like file locations and database versions # on your system were taken. It‘s perfectly fine and recommended to leave # this value at the release version of the first install of this system. # Before changing this value read the documentation for this option # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). system.stateVersion = "23.11"; # Did you read the comment? }; }