whole lotta everythin

This commit is contained in:
k3t
2026-04-04 11:10:04 -06:00
parent 5fe54fe3da
commit f0c9fdef40
9 changed files with 227 additions and 48 deletions
+69 -41
View File
@@ -30,67 +30,95 @@ let
visualization-goom
visualization-fishbmc
visualization-matrix
visualization-pictureit
visualization-shadertoy
visualization-spectrum
visualization-starburst
visualization-waveform
]);
in
{
networking.hostName = "htpc";
# hdmi cec
environment.systemPackages = with pkgs; [
grim
slurp
wl-clipboard
mako
# hdmi cec
libcec
];
nixpkgs.overlays = [
(self: super: { libcec = super.libcec.override { withLibraspberrypi = true; }; })
];
environment.systemPackages = with pkgs; [
libcec
];
services.udev.extraRules = ''
# allow access to raspi cec device for video group (and optionally register it as a systemd device, used below)
KERNEL=="vchiq", GROUP="video", MODE="0660", TAG+="systemd", ENV{SYSTEMD_ALIAS}="/dev/vchiq"
'';
systemd.sockets."cec-client" = {
after = [ "dev-vchiq.device" ];
bindsTo = [ "dev-vchiq.device" ];
wantedBy = [ "sockets.target" ];
socketConfig = {
ListenFIFO = "/run/cec.fifo";
SocketGroup = "video";
SocketMode = "0660";
};
};
systemd.services."cec-client" = {
after = [ "dev-vchiq.device" ];
bindsTo = [ "dev-vchiq.device" ];
wantedBy = [ "multi-user.target" ];
serviceConfig = {
ExecStart = ''${pkgs.libcec}/bin/cec-client -d 1'';
ExecStop = ''/bin/sh -c "echo q > /run/cec.fifo"'';
StandardInput = "socket";
StandardOutput = "journal";
Restart="no";
};
};
#systemd.sockets."cec-client" = {
# after = [ "dev-vchiq.device" ];
# bindsTo = [ "dev-vchiq.device" ];
# wantedBy = [ "sockets.target" ];
# socketConfig = {
# ListenFIFO = "/run/cec.fifo";
# SocketGroup = "video";
# SocketMode = "0660";
# };
#};
#systemd.services."cec-client" = {
# after = [ "dev-vchiq.device" ];
# bindsTo = [ "dev-vchiq.device" ];
# wantedBy = [ "multi-user.target" ];
# serviceConfig = {
# ExecStart = ''${pkgs.libcec}/bin/cec-client -d 1'';
# ExecStop = ''/bin/sh -c "echo q > /run/cec.fifo"'';
# StandardInput = "socket";
# StandardOutput = "journal";
# Restart="no";
# };
#};
# kde connect for remote ctrl
programs.kdeconnect.enable = true;
# kodi wayland
#services.cage.user = "k3t";
#services.cage.extraArguments = [ "-d" "-s" ];
#services.cage.program = "${kodi-with-addons}/bin/kodi-standalone";
#services.cage.enable = true;
# kodi wayland v1
##services.cage.user = "k3t";
##services.cage.extraArguments = [ "-d" "-s" ];
##services.cage.program = "${kodi-with-addons}/bin/kodi-standalone";
##services.cage.enable = true;
# kodi x11
services.xserver.enable = true;
services.xserver.desktopManager.kodi.enable = true;
services.xserver.desktopManager.kodi.package = kodi-with-addons;
services.xserver.displayManager.lightdm.greeter.enable = false;
services.displayManager.autoLogin.user = "k3t";
##services.xserver.enable = true;
##services.xserver.desktopManager.kodi.enable = true;
##services.xserver.desktopManager.kodi.package = kodi-with-addons;
##services.xserver.displayManager.lightdm.greeter.enable = false;
##services.displayManager.autoLogin.user = "k3t";
# kodi wayland, v2
security.pam.loginLimits = [
{ domain = "@users"; item = "rtprio"; type = "-"; value = 1; }
];
services.displayManager = {
sddm = {
enable = true;
wayland.enable = true;
};
autoLogin = {
enable = true;
user = "k3t"; # Replace with the desired user
};
};
programs.sway = {
enable = true;
wrapperFeatures.gtk = true;
};
# kanshi systemd service
systemd.user.services.kanshi = {
description = "kanshi daemon";
serviceConfig = {
Type = "simple";
ExecStart = ''${pkgs.kanshi}/bin/kanshi -c kanshi_config_file'';
};
};
# audio
security.rtkit.enable = true;