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
@@ -0,0 +1,57 @@
|
||||
# PLACEHOLDER -- not generated by nixos-generate-config.
|
||||
#
|
||||
# This host has not been installed yet, so there is no real hardware scan to
|
||||
# commit. The values below are the conventional defaults for a Haswell UEFI
|
||||
# desktop and assume the install labels its partitions `nixos` (root, ext4) and
|
||||
# `BOOT` (ESP, vfat) -- see docs/hosts/console.md. They exist so the flake
|
||||
# evaluates in CI; they are not a description of the actual machine.
|
||||
#
|
||||
# Replace this whole file with the output of `nixos-generate-config` run on the
|
||||
# machine, and commit that. If the labels do not match, the boot fails loudly on
|
||||
# a missing device rather than touching the wrong disk.
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
modulesPath,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
imports = [
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [
|
||||
"xhci_pci"
|
||||
"ehci_pci"
|
||||
"ahci"
|
||||
"nvme"
|
||||
"usb_storage"
|
||||
"usbhid"
|
||||
"sd_mod"
|
||||
"sr_mod"
|
||||
];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-intel" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-label/nixos";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
fileSystems."/boot" = {
|
||||
device = "/dev/disk/by-label/BOOT";
|
||||
fsType = "vfat";
|
||||
options = [
|
||||
"fmask=0022"
|
||||
"dmask=0022"
|
||||
];
|
||||
};
|
||||
|
||||
swapDevices = [ ];
|
||||
|
||||
networking.useDHCP = lib.mkDefault true;
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
}
|
||||
Reference in New Issue
Block a user