https://github.com/ribbon-studios/protontweaks
Automatically apply necessary protontricks to your games!
https://github.com/ribbon-studios/protontweaks
automation gaming linux proton protontricks steam winetricks
Last synced: 3 months ago
JSON representation
Automatically apply necessary protontricks to your games!
- Host: GitHub
- URL: https://github.com/ribbon-studios/protontweaks
- Owner: ribbon-studios
- License: gpl-3.0
- Created: 2024-03-02T18:56:03.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-01-13T20:29:36.000Z (over 1 year ago)
- Last Synced: 2025-01-13T21:30:25.495Z (over 1 year ago)
- Topics: automation, gaming, linux, proton, protontricks, steam, winetricks
- Language: Rust
- Homepage: https://protontweaks.com
- Size: 278 KB
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
[![Coverage][coverage-image]][coverage-url] [![CI Build][github-actions-image]][github-actions-url]
> [!IMPORTANT]
> This is the Protontweaks CLI repository, you can find its sister repositories at the following links!
- [CLI](https://github.com/rain-cafe/protontweaks) _(you are here)_
- [App](https://github.com/rain-cafe/protontweaks-ui)
- [Database / API](https://github.com/rain-cafe/protontweaks-db)
## Protontweaks
> Automatically apply necessary protontricks to your games!
### Requirements
- [`protontricks`](https://github.com/Matoking/protontricks)
### Installation
This will automatically install protontweaks with your systems package manager if its available
```sh
$ bash -c "$(curl -fsSL https://protontweaks.com/install.sh)"
```
#### NixOS
NixOS Flake Example
```nix
{
description = "NixOS Example";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
protontweaks.url = "github:rain-cafe/protontweaks/main";
protontweaks.inputs.nixpkgs.follows = "nixpkgs";
};
outputs = { self, nixpkgs, ... } @ inputs: {
nixosConfigurations =
let
inherit (self) outputs;
inherit (nixpkgs.lib) nixosSystem;
in
{
your-hostname = nixosSystem {
specialArgs = { inherit inputs outputs; };
modules = [
# This is just an example, you can obviously format this however you want!
({ pkgs, ... }: {
imports = [
inputs.protontweaks.nixosModules.protontweaks
];
nixpkgs = {
overlays = [
inputs.protontweaks.overlay
];
};
# This will install protontweaks and enable the watch service that automatically updates the launch options
services.protontweaks.enable = true;
})
# Your NixOS Modules here...
../defaults/configuration.nix
];
};
};
};
}
```
### Usage
#### Automatic
This installs a systemd service that automatically updates your launch options when you install a game.
```sh
$ protontweaks service --install
```
#### Manual
Add the following to the launch options for a steam game!
```sh
protontweaks %command%
```
### Configuration
We attempt to load a configuration file from the following locations, from highest to lowest priority:
1. `$XDG_CONFIG_HOME/protontweaks.json`
2. `$HOME/.config/protontweaks.json`
3. `/etc/protontweaks.json`
```jsonc
{
// Whether to automatically run games with gamemoderun (if installed and supported)
// Default: true
"gamemode": true,
// Whether to automatically run games with mangohud (if installed and supported)
// Default: false
"mangohud": true
}
```
[github-actions-image]: https://img.shields.io/github/actions/workflow/status/rain-cafe/protontweaks/ci.yml?event=push
[github-actions-url]: https://github.com/rain-cafe/protontweaks/actions/workflows/ci.yml?query=branch%3Amain
[coverage-image]: https://img.shields.io/codecov/c/github/rain-cafe/protontweaks
[coverage-url]: https://app.codecov.io/gh/rain-cafe/protontweaks
[maintainability-image]: https://img.shields.io/codeclimate/maintainability/rain-cafe/protontweaks
[maintainability-url]: https://codeclimate.com/github/rain-cafe/protontweaks/maintainability