diff --git a/flake.lock b/flake.lock index af1c12c..abd9cdd 100644 --- a/flake.lock +++ b/flake.lock @@ -59,6 +59,24 @@ "type": "github" } }, + "flake-parts": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib" + }, + "locked": { + "lastModified": 1704982712, + "narHash": "sha256-2Ptt+9h8dczgle2Oo6z5ni5rt/uLMG47UFTR1ry/wgg=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "07f6395285469419cf9d078f59b5b49993198c00", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, "flake-utils": { "inputs": { "systems": "systems_2" @@ -176,6 +194,27 @@ "type": "github" } }, + "nix-gaming": { + "inputs": { + "flake-parts": "flake-parts", + "nixpkgs": [ + "nixpkgs-unstable-raw" + ] + }, + "locked": { + "lastModified": 1705972904, + "narHash": "sha256-tFTnkEf204Qd+EncVneGBZi/vqzU97Ody9JtWuOrYNE=", + "owner": "fufexan", + "repo": "nix-gaming", + "rev": "ec1ddf5032735e68b2bbde3cee9b536ea89c6fec", + "type": "github" + }, + "original": { + "owner": "fufexan", + "repo": "nix-gaming", + "type": "github" + } + }, "nix-github-actions": { "inputs": { "nixpkgs": [ @@ -269,6 +308,24 @@ "type": "github" } }, + "nixpkgs-lib": { + "locked": { + "dir": "lib", + "lastModified": 1703961334, + "narHash": "sha256-M1mV/Cq+pgjk0rt6VxoyyD+O8cOUiai8t9Q6Yyq4noY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "b0d36bd0a420ecee3bc916c91886caca87c894e9", + "type": "github" + }, + "original": { + "dir": "lib", + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs-raw": { "locked": { "lastModified": 1705641746, @@ -345,6 +402,7 @@ "home-manager-unstable": "home-manager-unstable", "jovian": "jovian", "nix-flatpak": "nix-flatpak", + "nix-gaming": "nix-gaming", "nix-impermanence": "nix-impermanence", "nix-index-db": "nix-index-db", "nix-index-db-unstable": "nix-index-db-unstable", diff --git a/flake.nix b/flake.nix index d7c2400..3a37f46 100644 --- a/flake.nix +++ b/flake.nix @@ -65,6 +65,11 @@ nix-flatpak.url = github:gmodena/nix-flatpak/main; nur.url = "github:nix-community/NUR"; + + nix-gaming = { + url = "github:fufexan/nix-gaming"; + inputs.nixpkgs.follows = "nixpkgs-unstable-raw"; + }; }; outputs = { ... } @inputs: with inputs; diff --git a/roles/desktop/services/flatpak.nix b/roles/desktop/services/flatpak.nix index 5a6834c..20903f8 100644 --- a/roles/desktop/services/flatpak.nix +++ b/roles/desktop/services/flatpak.nix @@ -8,6 +8,7 @@ users.toast = { services.flatpak = { packages = [ "tv.plex.PlexDesktop" ]; + uninstallUnmanagedPackages = true; update.auto = { enable = true; onCalendar = "weekly"; diff --git a/roles/gaming/programs/retroarch.nix b/roles/gaming/programs/retroarch.nix index 72bd0e8..5f47ca2 100644 --- a/roles/gaming/programs/retroarch.nix +++ b/roles/gaming/programs/retroarch.nix @@ -85,7 +85,7 @@ in "retroarch" = { label = "RetroArch"; id = "jxuou-2yjnu"; - devices = [ "steamdeck" "server" "pc" ]; + devices = [ "steamdeck" "server" "pc" "winmax2" ]; path = "~/.local/share/retroarch"; }; }; diff --git a/roles/gaming/programs/steam.nix b/roles/gaming/programs/steam.nix index 27a1a33..a0bb791 100644 --- a/roles/gaming/programs/steam.nix +++ b/roles/gaming/programs/steam.nix @@ -1,11 +1,36 @@ -{ config, pkgs, ... }: +{ config, flakeSelf, ... }: + +let + nix-gaming = flakeSelf.inputs.nix-gaming; +in { + # Get the nix-gaming module + imports = [ + nix-gaming.nixosModules.steamCompat + ]; + programs.steam = { enable = true; # Doubt that I'll use it, but I'll enable it anyways remotePlay.openFirewall = true; + + extraCompatPackages = with nix-gaming.packages.x86_64-linux; [ + proton-ge + ]; }; + + # Use nix-gaming's cachix + nix.settings = { + substituters = ["https://nix-gaming.cachix.org"]; + trusted-public-keys = ["nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4="]; + }; + # Some linux native games (rise of the tomb raider) use alsa for sound services.pipewire.alsa.enable = if config.services.pipewire.pulse.enable == true then true else false; + + # Celeste mod manager + home-manager.users.toast.services.flatpak.packages = [ + "io.github.everestapi.Olympus" + ]; }