While it is possible to install this without using nix flakes. I'm not familiar with this and cannot provide assistance. If you would like to learn how to use flakes please see the Nixos & Flakes Book (unoffical)
| Package | Description |
|---|---|
| star-citizen | Star Citizen game (standalone) This package is repackaged from nix-gaming. This has been modified to use wine-astral |
| star-citizen-git | Same as star-citizen but uses the latest commits for dxvk dxvk-nvapi and vkd3d-proton |
| star-citizen-umu | Same as star-citizen but uses umu-launcher & proton-ge |
| rsi-launcher | RSI Launcher (standalone). App icon & name matches the RSI Launcher. This is the recommended Package |
| rsi-launcher-git | Same as rsi-launcher but uses the latest commits for dxvk dxvk-nvapi and vkd3d-proton |
| rsi-launcher-umu | Same as rsi-launcher but uses umu-launcher & proton-ge |
| lug-helper | Star Citizen's Linux Users Group Helper Script. Includes a setup script if you wish to use lutris instead of the rsi-launcher package. |
| wine-astral | Custom Wine build (TKG, Lug, Staging + Some other patches) |
Build caches are available
# configuration.nix
{
nix.settings = {
substituters = ["https://nix-citizen.cachix.org"];
trusted-public-keys = ["nix-citizen.cachix.org-1:lPMkWc2X8XD4/7YPEEwXKKBg+SVbYTVrAaLA2wQTKCo="];
};
}Add these packages to your home.packages or environment.systemPackages after
adding nix-citizen as an input
Optionally, you are able to use the nix-citizen module
# flake.nix
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
home-manager.url = "github:nix-community/home-manager";
# ...
nix-citizen.url = "github:LovingMelody/nix-citizen";
# Optional - updates underlying without waiting for nix-citizen to update
nix-gaming.url = "github:fufexan/nix-gaming";
nix-citizen.inputs.nix-gaming.follows = "nix-gaming";
};
outputs = {self, nixpkgs, ...}@inputs: {
# NixOS Setup
nixosConfigurations.HOST = nixpkgs.lib.nixosSystem {
specialArgs = {inherit inputs;};
modules = [
./configuration.nix
# ....
];
};
# HomeManager...
homeConfigurations.HOST = inputs.home-manager.lib.homeManagerConfiguration {
pkgs = import nixpkgs {
system = "x86_64-linux";
config.allowUnfree = true;
};
extraSpecialArgs = {inherit inputs;};
modules = [
./home.nix
# ...
]
};
};
}Then to add packages....
{pkgs, inputs, ....}: {
environment.systemPackages = with pkgs; [ #`home.packages` if using home manager
# replace or repeat for any included package
inputs.nix-citizen.packages.${system}.rsi-launcher
];
};To access the Wine Control Panel (ex. editing Joystick overrides) run the following:
# Adjust command to `star-citizen` if you are using the `star-citizen` package
rsi-launcher --shell
# Wait to enter shell
wine controlLikewise for winecfg (ex. registry edits, some graphics settings):
# If you used the rsi-launcher package the command is rsi-launcher
rsi-launcher --shell
# You can run your usual wine commands once you enter the shell
winecfgGstreamer errors:
rsi-launcher --shell
#
# Once you enter the shell:
wine reg add "HKCU\\Software\\Wine\\MediaFoundation" /v DisableGstByteStreamHandler /t REG_DWORD /d 1 /f
#The LUG wiki contains many other useful troubleshooting steps & tips
nixpkgs supports specifying some CPU features to help your system have more optimized binaries. You can find a list of architectures nixpkgs supports and what features in nixpkgs#lib.systems.architectures. To find your current CPU arch you can use the following command:
nix run nixpkgs#gcc -- -march=native -Q --help=target | grep -- '-march=' | cut -f3The snippet below is a simple way to set these features:
# CPU architecture aware builds:
nixpkgs.hostPlatform = let
# Replace with your CPU arch.
arch = "x86-64-v3";
in
builtins.mapAttrs
(_name: function: function arch)
lib.systems.architectures.predicates;Nix also doesn't build packages with cuda or RoCM support by default.
NOTE: This is more relevant for programs like OBS-Studio and EasyEffects than StarCitizen
Documentation for how to enable this can be found here:
- CUDA: https://wiki.nixos.org/wiki/CUDA#Enabling_CUDA_In_Packages
- ROCM: https://wiki.nixos.org/wiki/AMD_GPU#Enabling_ROCm_&_HIP_For_Packages
- starcitizen-lug/lug-helper - Layed the ground work for the star-citizen package
- fufexan/nix-gaming - Maintaining Wine-GE & DXVK packages
