feat(hosts): add lyrathorpe-console, a living-room games machine
CI / flake (push) Skipped
CI / flake (pull_request) Successful in 7m46s
CI / flake (push) Skipped
CI / flake (pull_request) Successful in 7m46s
New x86_64 host for a 4th-gen Core i7 (Haswell) with a GTX 1070 8 GB, wired to a television and driven with a Bluetooth controller. Session: greetd gets an initial_session, so the machine autologins into the gamescope Steam session at boot with no greeter and no keyboard. Quitting Steam falls back to greetd's default_session (ReGreet), where the ordinary Sway session is available for keyboard-and-mouse work. Graphics: the GTX 1070 is Pascal, so it needs driver branch 580 (nvidiaPackages.legacy_580) like the Mac Pro's Quadro P400 -- the nixpkgs default (production, 595.x) dropped Pascal support. Games: RetroArch built through retroarch-bare.wrapper with 17 cores covering NES through PS2, GameCube and Wii; Clone Hero; and Steam with Proton-GE and protontricks. RetroArch's menu toggle is bound to L3+R3, without which there is no way to exit a running core on a machine with no keyboard. Proton prerequisites beyond what programs.steam already arranges: the esync file-descriptor hard limit is raised from systemd's default 524288 to 1048576 (soft limit untouched), and Proton-GE is wired in via extraCompatPackages. vm.max_map_count already defaults high enough in nixpkgs and needs no override. Content lives in a shared /srv/games tree created by systemd.tmpfiles, laid out one directory per system under roms/ using the libretro/ES-DE naming convention, plus bios/, saves/, states/, a Steam library folder and Clone Hero's songs. RetroArch is pointed at it declaratively. hardware-configuration.nix is a placeholder, not a hardware scan: the machine is not installed yet. It assumes partition labels `nixos` and `BOOT` and must be replaced with nixos-generate-config output. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
1ff333a896
commit
39434b3929
@@ -112,13 +112,27 @@
|
||||
|
||||
# Unfree packages permitted to be built (replaces blanket allowUnfree).
|
||||
# The NVIDIA entries are for the Mac Pro's Quadro P400 (hosts/MacPro31/
|
||||
# nvidia.nix); unfree packages are not in the binary cache, so the
|
||||
# kernel module is compiled on the host.
|
||||
# nvidia.nix) and the Console host's GTX 1070 (hosts/Console/nvidia.nix);
|
||||
# unfree packages are not in the binary cache, so the kernel module is
|
||||
# compiled on the host. The steam/clonehero entries are the Console
|
||||
# host's games stack (hosts/Console/gaming.nix).
|
||||
unfreePackages = [
|
||||
"claude-code"
|
||||
"nvidia-x11"
|
||||
"nvidia-kernel-modules"
|
||||
"nvidia-settings"
|
||||
"steam"
|
||||
"steam-unwrapped"
|
||||
"steam-run"
|
||||
"clonehero"
|
||||
# RetroArch cores whose upstream licences carry a non-commercial or
|
||||
# no-redistribution-for-profit clause. Everything else in the core set
|
||||
# is plain free software.
|
||||
"libretro-snes9x"
|
||||
"libretro-genesis-plus-gx"
|
||||
"libretro-picodrive"
|
||||
"libretro-fbneo"
|
||||
"libretro-mame2003-plus"
|
||||
];
|
||||
|
||||
# Per-user identity, keyed by username. See README "Users".
|
||||
@@ -293,6 +307,28 @@
|
||||
];
|
||||
};
|
||||
|
||||
lyrathorpe-console = {
|
||||
system = "x86_64-linux";
|
||||
portable = false;
|
||||
# Living-room games machine on a television: autologins into the
|
||||
# gamescope Steam session (hosts/Console/gaming.nix). sway.nix is
|
||||
# still imported -- greetd/ReGreet is what the Steam session falls
|
||||
# back to, and Sway is the keyboard-and-mouse session behind it.
|
||||
modules = [
|
||||
./hosts/Console/configuration.nix
|
||||
./modules/desktop.nix
|
||||
./modules/ssh.nix
|
||||
inputs.nixos-hardware.nixosModules.common-pc-ssd
|
||||
inputs.nixos-hardware.nixosModules.common-cpu-intel
|
||||
./modules/sway.nix
|
||||
];
|
||||
users.lyrathorpe.homeModules = [
|
||||
./home
|
||||
./users/lyrathorpe/home.nix
|
||||
./home/desktop.nix
|
||||
];
|
||||
};
|
||||
|
||||
emmathorpe-edaas = {
|
||||
system = "x86_64-linux";
|
||||
modules = [
|
||||
|
||||
Reference in New Issue
Block a user