100 lines
3.1 KiB
Nix
100 lines
3.1 KiB
Nix
{
|
||
config,
|
||
pkgs,
|
||
...
|
||
}: {
|
||
imports = [
|
||
../hardware/intel-nuc.nix
|
||
];
|
||
config = let
|
||
hashes = builtins.import ../hashes.nix;
|
||
in {
|
||
boot.loader.systemd-boot.enable = true;
|
||
boot.loader.efi.canTouchEfiVariables = true;
|
||
|
||
networking.hostName = "cerithium-telescopium";
|
||
networking.networkmanager.enable = true;
|
||
|
||
users.extraUsers.kodi.isNormalUser = true;
|
||
|
||
services.logind.extraConfig = "IdleAction=ignore";
|
||
|
||
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 = let
|
||
REpo-AiO = pkgs.fetchFromGitHub {
|
||
owner = "Collabsvito";
|
||
repo = "REpo-AiO";
|
||
inherit (hashes.REpo-AiO) rev hash;
|
||
};
|
||
|
||
rtlGroupPlugin = pkgs.kodiPackages.buildKodiAddon rec {
|
||
pname = "rtl+";
|
||
namespace = "plugin.video.rtlgroup.de";
|
||
version = hashes.rtlGroupPlugin.version;
|
||
|
||
src = pkgs.fetchzip {
|
||
url = "file://${REpo-AiO}/MATRIX/${namespace}/${namespace}-${version}+matrix.1.zip";
|
||
hash = hashes.rtlGroupPlugin.hash;
|
||
};
|
||
|
||
patchPhase = ''
|
||
sed 's/Cryptodome/Crypto/g' -i resources/lib/common.py
|
||
'';
|
||
};
|
||
|
||
netflixPlugin = pkgs.kodiPackages.netflix.overrideAttrs rec {
|
||
inherit (hashes.netflixPlugin) version;
|
||
src = pkgs.fetchFromGitHub {
|
||
owner = "CastagnaIT";
|
||
repo = "plugin.video.netflix";
|
||
rev = "v${version}";
|
||
inherit (hashes.netflixPlugin) hash;
|
||
};
|
||
};
|
||
in
|
||
pkgs.kodi.passthru.withPackages (kodiPkgs:
|
||
with kodiPkgs; [
|
||
youtube
|
||
inputstream-adaptive
|
||
rtlGroupPlugin
|
||
netflixPlugin
|
||
joystick
|
||
# Amazon VOD
|
||
# Arte Mediathek
|
||
# Disney+
|
||
# media.ccc.de
|
||
# RocketBeansTV
|
||
# twitch
|
||
# ZDF Mediathek
|
||
]);
|
||
services.xserver.displayManager.autoLogin.enable = true;
|
||
services.xserver.displayManager.autoLogin.user = "kodi";
|
||
|
||
networking.firewall.allowedTCPPorts = [8080];
|
||
|
||
# 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;
|
||
|
||
# services.cage = {
|
||
# enable = true;
|
||
# program = "${pkgs.kodi-wayland}/bin/kodi-standalone";
|
||
# user = "kodi";
|
||
# };
|
||
|
||
# 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?
|
||
};
|
||
}
|