
1 changed files with 63 additions and 0 deletions
@ -0,0 +1,63 @@ |
|||
# Idea |
|||
Nixcitizen is an attempt to package a wine application in a sensible and |
|||
practical way with nix. The idea that the `WINEPREFIX` is handled by a |
|||
script that lives inside the nix store which derives the `WINEPREFIX` from |
|||
it's own path inside the store, leading to a creation and setup of a new |
|||
`WINEPREFIX` as soon as the script, it's dependencies or any configuration |
|||
changes. |
|||
|
|||
The volatile nature of the `WINEPREFIX` leads to challenges in regards |
|||
to preservation of needed state, this is handled in the following ways: |
|||
|
|||
* The Application in itself and the Launcher folder containing the |
|||
session data are created in the users home directory and symlinked |
|||
into each prefix. |
|||
* Internal wine settings are handled as registry files and automatically |
|||
applied when a new prefix is created. |
|||
|
|||
All dependencies are handled by wine. [dxvk](https://github.com/doitsujin/dxvk) |
|||
is compiled with nix and copied into each prefix and fonts are handled in a |
|||
similar manner |
|||
|
|||
# Installation |
|||
First clone this repository, then |
|||
|
|||
## On nixos |
|||
* Put `(pkgs.callPackage ./path/to/repo { })` into `environment.systemPackages` or |
|||
`users.extraUsers.<name>.packages` or into your home-manager configuration packages |
|||
|
|||
## with nix-env |
|||
* plz no! |
|||
|
|||
|
|||
## Installation parameters |
|||
* `installDir`: Contains the `Roberts Space Industries` folder that is being linked |
|||
into the `Program Files` folder of the prefixs. |
|||
* `launcherCache`: `AppData` folder of the launcher. Holds the session data. |
|||
* `prefixBaseDir`: Where all the prefixes are installed under. |
|||
* `binName`: Name of the generated executable. |
|||
* `launcherArgs`: Arguments the RSI Launcher is called with. |
|||
* `winePackage`: Package of wine to use. |
|||
* `wineGlobalEnv`: Global variables that are exported at script startup. |
|||
* `winePatches`: List of patches for wine for easier access. |
|||
* `virtualDesktop`: `NULL` or a string in the form `AxB` with `A` and `B` being |
|||
positive Integers that define the height and width of the wine virtual desktop. |
|||
* `registryFiles`: Additional registry files to add to each prefix. |
|||
* `captureMouse`: Whether wine captures fullscreen windows. |
|||
|
|||
## Script parameters |
|||
* `--install-prefix`: Installs the prefix if needed. |
|||
* `--install-launcher`: Installs the launcher. Can be used to reinstall. |
|||
* `--clean`: Deletes all but the currently used prefixes of the game. |
|||
* `--remove-prefix`: Deletes the currently used prefix. Use with care. |
|||
* `--run-game`: Runs the game (after installing the prefix if needed). Default behaviour. |
|||
* `--print-prefix`: Prints the current prefix path. |
|||
* `--help`: Prints help text. |
|||
* `--wine`: Runs a wine executable inside the context of the script. Example: |
|||
`starcitizen --wine winecfg` |
|||
|
|||
# Disclaimer |
|||
This repository does not host any copyrighted content. All contend is fetched |
|||
from official sources and is never redistributed by the author of this |
|||
software. It does not help in any way to cheat or pirate the game. A normal |
|||
account is still needed to install or play the game. |
Loading…
Reference in new issue