From 690220634b6f2c67ba54e1b313e57be02268defa Mon Sep 17 00:00:00 2001 From: John Ogle Date: Sun, 8 Sep 2024 12:18:31 -0700 Subject: [PATCH] Setup wayland + autologin conditionals --- machines/boxy/configuration.nix | 2 +- machines/z790prors/configuration.nix | 2 +- roles/kodi/default.nix | 54 ++++++++++++++++------------ 3 files changed, 33 insertions(+), 25 deletions(-) diff --git a/machines/boxy/configuration.nix b/machines/boxy/configuration.nix index bbae7d2..ff5e39f 100644 --- a/machines/boxy/configuration.nix +++ b/machines/boxy/configuration.nix @@ -10,7 +10,7 @@ ./hardware-configuration.nix ../../roles/common/default.nix ../../roles/nix/default.nix - (import ../../roles/kodi/default.nix { autologin = true; inherit lib; inherit pkgs; }) + (import ../../roles/kodi/default.nix { autologin = true; wayland = true; inherit lib; inherit pkgs; }) (import ../../roles/users/default.nix { extraGroups = []; }) ]; diff --git a/machines/z790prors/configuration.nix b/machines/z790prors/configuration.nix index 56762a0..d8768eb 100644 --- a/machines/z790prors/configuration.nix +++ b/machines/z790prors/configuration.nix @@ -11,7 +11,7 @@ ../../roles/common/default.nix (import ../../roles/desktop/default.nix { x11Only = true; inherit inputs; inherit pkgs; }) ../../roles/kids/default.nix - (import ../../roles/kodi/default.nix { autologin = false; inherit lib; inherit pkgs; }) + (import ../../roles/kodi/default.nix { autologin = false; wayland = false; inherit lib; inherit pkgs; }) ../../roles/nfs-mounts/default.nix ../../roles/nix/default.nix ../../roles/printing/default.nix diff --git a/roles/kodi/default.nix b/roles/kodi/default.nix index 44fb668..6d3fce8 100644 --- a/roles/kodi/default.nix +++ b/roles/kodi/default.nix @@ -1,7 +1,10 @@ -{ autologin ? false, pkgs, ... }: +{ autologin ? false, wayland ? false, lib, pkgs, ... }: + +with lib; let - kodiPkg = pkgs.kodi-wayland.withPackages (pkgs: with pkgs; [ + kodiBasePkg = if wayland then pkgs.kodi-wayland else pkgs.kodi; + kodiPkg = kodiBasePkg.withPackages (pkgs: with pkgs; [ jellyfin steam-launcher steam-library @@ -11,29 +14,34 @@ in { users.extraUsers.kodi.isNormalUser = true; - services.cage.user = "kodi"; - services.cage.program = "${kodiPkg}/bin/kodi-standalone"; - services.cage.enable = true; - - #services.xserver.enable = true; - #services.xserver.desktopManager.kodi = { - #enable = true; - #package = kodiPkg; - #}; - - #services.displayManager = if autologin then { - # autoLogin.enable = true; - # autoLogin.user = "kodi"; - # defaultSession = "kodi"; - # sessionData.autologinSession = "kodi"; - #} else {}; - #services.xserver.displayManager = if autologin then { - # lightdm.enable = true; - # lightdm.greeter.enable = false; - #} else {}; - networking.firewall = { allowedTCPPorts = [ 8080 ]; allowedUDPPorts = [ 8080 ]; }; + + services = mkIf autologin { + cage = mkIf wayland { + user = "kodi"; + program = "${kodiPkg}/bin/kodi-standalone"; + enable = true; + }; + + xserver = mkIf (!wayland) { + enable = true; + desktopManager.kodi = { + enable = true; + package = kodiPkg; + }; + displayManager.lightdm = { + enable = true; + greeter.enable = false; + }; + }; + displayManager = mkIf (!wayland) { + autoLogin.enable = true; + autoLogin.user = "kodi"; + defaultSession = "kodi"; + sessionData.autologinSession = "kodi"; + }; + }; }