{ fleetFlake, fleetModules, lib, pkgs, config, ... }: { imports = [ ./hardware-configuration.nix ] ++ (fleetModules [ "common" "ssh" "ccr" "cgit" ]); ccr.enable = true; services.rock5b-fan-control.enable = true; services.nginx.enable = true; services.nginx.virtualHosts."localhost" = { cgit = { enable = true; virtual-root = "/"; include = [ (builtins.toFile "cgitrc-extra-1" '' repo.url=test-repo.git repo.path=/srv/git/test-repo. repo.desc=the master foo repository repo.owner=fooman@example.com css=/custom.css '') (builtins.toFile "cgitrc-extra-2" '' # Allow http transport git clone enable-http-clone=1 '') ]; }; }; fileSystems."/mnt/film" = { device = "//ccr.ydns.eu/film"; fsType = "cifs"; options = let credentials = pkgs.writeText "credentials" '' username=guest password= ''; in ["credentials=${credentials},x-systemd.automount,noauto,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s"]; }; fileSystems."/mnt/archivio" = { device = "//ccr.ydns.eu/archivio"; fsType = "cifs"; options = let credentials = pkgs.writeText "credentials" '' username=guest password= ''; in ["credentials=${credentials},x-systemd.automount,noauto,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s"]; }; environment.systemPackages = with pkgs; [ kodi-rock5b cifs-utils ]; users.extraUsers.kodi = { isNormalUser = true; uid = 1002; extraGroups = ["video" "input"]; }; networking.firewall.allowedTCPPorts = [ 8080 # kodi control 80 ]; programs.bash.loginShellInit = '' [[ "$(tty)" == '/dev/tty1' ]] && \ [[ "$(whoami)" == 'kodi' ]] && \ ${pkgs.kodi-rock5b}/bin/kodi-standalone ''; # Waiting for https://github.com/NixOS/nixpkgs/issues/140304 services.getty = let script = pkgs.writeText "login-program.sh" '' if [[ "$(tty)" == '/dev/tty1' ]]; then ${pkgs.shadow}/bin/login -f kodi; else ${pkgs.shadow}/bin/login; fi ''; in { loginProgram = "${pkgs.bash}/bin/sh"; loginOptions = toString script; extraArgs = ["--skip-login"]; }; }