nixos/spec/koumakyou/jovian.nix

91 lines
2.2 KiB
Nix
Raw Normal View History

{ pkgs, lib, config, jovian, ... }: {
2024-05-11 00:03:05 +08:00
imports = [
jovian.nixosModules.jovian
];
2024-04-29 22:36:32 +08:00
jovian = {
hardware.has.amd.gpu = true;
steamos.useSteamOSConfig = true;
steamos.enableDefaultCmdlineConfig = false;
2024-04-29 22:36:32 +08:00
steam = {
enable = true;
2024-05-11 00:03:05 +08:00
autoStart = true;
2024-05-13 09:43:33 +08:00
desktopSession = "plasma";
2024-04-29 22:36:32 +08:00
user = "app";
};
};
users.home.persistApp.directories = [
".steam" ".local/share/Steam"
".config/gamescope" ".config/hhd"
2024-05-22 22:10:06 +08:00
".kodi"
2024-04-29 22:36:32 +08:00
];
users.users.app.extraGroups = [ "networkmanager" "gamemode" ];
programs.gamemode.enable = true;
2024-05-11 00:03:05 +08:00
programs.regreet.enable = false;
2024-05-13 09:43:33 +08:00
home.plasma.enable = true;
home.plasma.extraConfig = {
configFile = {
kwinrc.Xwayland.Scale = 1.75;
2024-05-14 20:02:58 +08:00
kscreenlockerrc.Daemon.Autolock = false;
};
};
2024-05-22 22:10:06 +08:00
home-manager.users.app.home.packages = with pkgs; [
(pkgs.kodi-wayland.passthru.withPackages (kodiPkgs: with kodiPkgs; [
joystick # keymap steam-controller
#controller-topology-project
libretro libretro-2048
libretro-fuse libretro-genplus libretro-mgba
libretro-nestopia libretro-snes9x
jellycon
]))
];
services.handheld-daemon = {
enable = true;
user = "app";
};
jovian.decky-loader = let
adjustor = pkgs.python3.pkgs.buildPythonApplication rec {
pname = "adjustor";
version = "2.1.5";
pyproject = true;
src = pkgs.fetchFromGitHub {
owner = "hhd-dev";
repo = pname;
rev = "v${version}";
hash = "sha256-KgeK2lC3b9VbjYmy7rD/ImODWDDx3pWIzWgNnSLJeDs=";
};
propagatedBuildInputs = with pkgs.python3.pkgs; [
setuptools
pyroute2
rich
];
# This package doesn't have upstream tests.
doCheck = false;
};
in {
# ~/.steam/steam/.cef-enable-remote-debugging
enable = true;
user = "app";
extraPackages = with pkgs; [
curl unzip util-linux gnugrep procps pciutils kmod
ryzenadj # adjustor
];
extraPythonPackages = pythonPackages: with pythonPackages; [
hid pyyaml
# adjustor
];
stateDir = "/nix/persist/decky";
};
boot.kernelParams = lib.mkIf config.jovian.decky-loader.enable [ "iomem=relaxed" "amd_pstate=passive" ];
2024-04-29 22:36:32 +08:00
}