Based on imaviso's dwproton-flake, this is a bit of an expansion including other useful Proton packages, including dw-proton, as well as support for non-flake based config. Use these packages in programs.steam.extraCompatPackages.
Also shoutout loplxl/GD-Low-Linux-Latency, that's basically the reason this repo exists.
-
Automatically tracks the latest releases of different Proton versions:
-
Daily GitHub Actions workflow to check for updates
-
Simple flake-based installation
Add the flake to your inputs and add the package to programs.steam.extraCompatPackages:
# only flake.nix example
{
# ...
inputs = {
# ...
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
proton.url = "github:JuxGD/proton-flake"
# ...
};
outputs = { self, nixpkgs, proton, ... }:
# ...
{
nixosConfigurations.yourhostname = nixpkgs.lib.nixosSystem { # replace `yourhostname` with your hostname ofc
# ...
system = "x86_64-linux";
modules = [
# ...
({ config, lib, pkgs, ... }: {
programs.steam = {
enable = true;
extraCompatPackages = [
proton.packages.${pkgs.stdenv.hostPlatform.system}.cachyos-proton # for cachyos proton
proton.packages.${pkgs.stdenv.hostPlatform.system}.dw-proton # for dawnwine proton
proton.packages.${pkgs.stdenv.hostPlatform.system}.ge-proton # for glorious eggroll proton
];
};
})
];
};
};
}Haven't tried this pls tell me if it works lol
# configuration.nix
{ config, lib, pkgs, ... }:
let
# ...
proton = import (builtins.fetchGit {
url = "https://github.com/JuxGD/proton-nix";
# important
rev = "<hash>"
# <hash> = any commit in this repo after 739a772111b0b97aab8143747f57d56743db5bfd
# preferably the latest one since that's one that's the most updated
});
# ...
in
{
# ...
programs.steam.extraCompatPackages = [
proton.cachyos-proton
proton.ge-proton
proton.dw-proton
# ...
];
# ...
}# Enter development shell
nix develop
# Build the package
nix buildThis flake automatically checks for new releases daily and creates pull requests when updates are available.
This packaging is provided under the MIT license. The included Proton packages may contain proprietary components.