parent
32a252e9a4
commit
dff0dbccd9
@ -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