Move Steam config from configuration.nix to a dedicated gaming.nix module and add gamescope for fullscreen/resolution management with Proton games. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
47 lines
1.6 KiB
Nix
47 lines
1.6 KiB
Nix
{
|
|
description = "NixOS configuration for ringtail (service host & gaming PC)";
|
|
|
|
inputs = {
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11";
|
|
|
|
# Pinned nixpkgs for versioned services (forgejo-runner, snowflake, k3s).
|
|
# Update this deliberately during service reviews, not via `nix flake update`.
|
|
# Current versions: forgejo-runner 12.7.2, snowflake 2.11.0, k3s 1.34.5+k3s1
|
|
nixpkgs-services.url = "github:NixOS/nixpkgs/1073dad219cb244572b74da2b20c7fe39cb3fa9e";
|
|
|
|
disko = {
|
|
url = "github:nix-community/disko";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
home-manager = {
|
|
url = "github:nix-community/home-manager/release-25.11";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
};
|
|
|
|
outputs = { nixpkgs, nixpkgs-services, disko, home-manager, ... }: {
|
|
nixosConfigurations.ringtail = nixpkgs.lib.nixosSystem {
|
|
system = "x86_64-linux";
|
|
modules = [
|
|
disko.nixosModules.disko
|
|
home-manager.nixosModules.home-manager
|
|
./disk-config.nix
|
|
./hardware-configuration.nix
|
|
./configuration.nix
|
|
./gaming.nix
|
|
# Pin versioned services to nixpkgs-services instead of the rolling nixpkgs.
|
|
# This prevents `nix flake update nixpkgs` from silently upgrading them.
|
|
# Bump nixpkgs-services explicitly during service reviews.
|
|
({ ... }: {
|
|
nixpkgs.overlays = [
|
|
(final: prev: let svcPkgs = nixpkgs-services.legacyPackages.x86_64-linux; in {
|
|
forgejo-runner = svcPkgs.forgejo-runner;
|
|
snowflake = svcPkgs.snowflake;
|
|
k3s = svcPkgs.k3s;
|
|
})
|
|
];
|
|
})
|
|
];
|
|
};
|
|
};
|
|
}
|