85 lines
1.6 KiB
Nix
85 lines
1.6 KiB
Nix
|
{
|
||
|
pkgs,
|
||
|
tree,
|
||
|
...
|
||
|
}: let
|
||
|
kodiPackage = pkgs.kodi-wayland.withPackages (kodiPkgs:
|
||
|
with kodiPkgs; [
|
||
|
keymap
|
||
|
sendtokodi
|
||
|
sponsorblock
|
||
|
pvr-iptvsimple
|
||
|
inputstreamhelper
|
||
|
inputstream-adaptive
|
||
|
inputstream-rtmp
|
||
|
visualization-projectm
|
||
|
visualization-waveform
|
||
|
visualization-matrix
|
||
|
visualization-starburst
|
||
|
visualization-spectrum
|
||
|
]);
|
||
|
in {
|
||
|
environment.systemPackages = [
|
||
|
kodiPackage
|
||
|
];
|
||
|
|
||
|
services.xserver = {
|
||
|
enable = true;
|
||
|
desktopManager.kodi = {
|
||
|
enable = true;
|
||
|
package = kodiPackage;
|
||
|
};
|
||
|
#autoLogin.enable = true;
|
||
|
#autoLogin.user = "kodi";
|
||
|
};
|
||
|
|
||
|
networking.firewall = {
|
||
|
allowedTCPPorts = [8080];
|
||
|
allowedUDPPorts = [8080];
|
||
|
};
|
||
|
|
||
|
users.users.kodi = {
|
||
|
uid = 1002;
|
||
|
isNormalUser = true;
|
||
|
extraGroups = [
|
||
|
"video"
|
||
|
"input"
|
||
|
"uinput"
|
||
|
"audio"
|
||
|
"rtkit"
|
||
|
];
|
||
|
};
|
||
|
|
||
|
home-manager.users.kodi = {
|
||
|
imports = with tree.profiles.home-manager; [
|
||
|
base
|
||
|
|
||
|
gui.base
|
||
|
gui.environments.gnome
|
||
|
|
||
|
apps.fileRoller
|
||
|
apps.nautilus
|
||
|
apps.pavucontrol
|
||
|
apps.mpv
|
||
|
|
||
|
apps.firefox
|
||
|
apps.telegram
|
||
|
|
||
|
apps.aria2
|
||
|
apps.rclone
|
||
|
];
|
||
|
|
||
|
# only for x86_64
|
||
|
home.file.widevine-lib = {
|
||
|
source = "${pkgs.widevine-cdm}/share/google/chrome/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so";
|
||
|
target = ".kodi/cdm/libwidevinecdm.so";
|
||
|
};
|
||
|
home.file.widevine-manifest = {
|
||
|
source = "${pkgs.widevine-cdm}/share/google/chrome/WidevineCdm/manifest.json";
|
||
|
target = ".kodi/cdm/manifest.json";
|
||
|
};
|
||
|
|
||
|
home.stateVersion = "24.05";
|
||
|
};
|
||
|
}
|