Setup wayland + autologin conditionals

This commit is contained in:
2024-09-08 12:18:31 -07:00
parent 460585832b
commit 690220634b
3 changed files with 33 additions and 25 deletions

View File

@@ -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 = []; })
];

View File

@@ -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

View File

@@ -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";
};
};
}