xin/hosts/tv/default.nix

87 lines
1.5 KiB
Nix
Raw Normal View History

2024-05-27 21:12:29 -06:00
{ pkgs
, config
2024-05-27 21:12:29 -06:00
, ...
}:
let
pubKeys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO7v+/xS8832iMqJHCWsxUZ8zYoMWoZhjj++e26g1fLT europa"
] ++ config.myconf.managementPubKeys;
myKodi = pkgs.kodi.withPackages (kp: with kp; [
certifi
infotagger
invidious
jellycon
jellyfin
requests
somafm
2024-05-27 21:12:29 -06:00
]);
in
{
_module.args.isUnstable = true;
2024-05-27 21:12:29 -06:00
imports = [
./hardware-configuration.nix
];
boot = {
loader = {
systemd-boot.enable = true;
efi.canTouchEfiVariables = true;
2024-05-27 21:12:29 -06:00
};
2024-05-27 21:12:29 -06:00
kernelPackages = pkgs.linuxPackages_latest;
};
networking = {
hostName = "tv";
networkmanager.enable = true;
firewall = {
enable = true;
allowedTCPPorts = [ 22 ];
checkReversePath = "loose";
};
};
environment.sessionVariables = {
NIX_SSL_CERT_FILE = "/etc/ssl/certs/ca-bundle.crt";
};
2024-05-27 21:12:29 -06:00
services = {
fwupd = {
enable = true;
};
xserver = {
libinput.enable = true;
enable = true;
desktopManager = {
kodi = {
enable = true;
package = myKodi;
};
};
displayManager = {
autoLogin = {
user = "tv";
enable = true;
};
2024-05-27 21:12:29 -06:00
};
videoDrivers = [ "intel" ];
};
};
users = {
users = {
root = { openssh.authorizedKeys.keys = pubKeys; };
tv = {
openssh.authorizedKeys.keys = pubKeys;
isNormalUser = true;
};
};
};
system = {
stateVersion = "22.11";
};
}