# Star Citizen on Nixy

This repo already includes Star Citizen support through `nix-citizen`.

Relevant files:

- `flake.nix` — declares the `nix-citizen` and `nix-gaming` inputs
- `home/programs/star-citizen/default.nix` — Home Manager module that installs the chosen Star Citizen package
- `home/programs/steam/system.nix` — Steam / gamescope / gamemode setup
- `home/programs/group/gaming-apps.nix` — extra gaming tools such as `lutris`, `mangohud`, `protonup-qt`, and `wine`

## Recommended package

For most setups, start with:

- `rsi-launcher-umu`

If you want the game package instead of just the launcher, try:

- `star-citizen-umu`

The `*-umu` variants are usually the safest choice on Nix-based gaming setups because they are designed around UMU/Proton style runtime handling.

## How to enable it

Your laptop and home-pc profiles already import the module:

- `hosts/laptop/home.nix`
- `hosts/home-pc/home.nix`

So you only need to turn it on in the relevant Home Manager config.

Add or update:

```nix
programs.star-citizen = {
  enable = true;
  package = "rsi-launcher-umu";
};
```

If you want the packaged game instead of the launcher, use:

```nix
programs.star-citizen = {
  enable = true;
  package = "star-citizen-umu";
};
```

## Rebuild

This flake exposes NixOS host outputs, so apply the change with your normal host rebuild command from the repo root:

```bash
sudo nixos-rebuild switch --flake .#thinkpad
```

or:

```bash
sudo nixos-rebuild switch --flake .#home-pc
```

If you’re building from one of the host directories directly, use the host-specific `nixos-rebuild` flow you already use in this repo.

## First launch checklist

Before launching the game, make sure:

- `Steam` module is enabled
- `gamescope` and `gamemode` are available
- `protonup-qt` is installed so you can manage `GE-Proton` / `Wine-GE`
- you have enough disk space for the launcher and game files
- your GPU drivers are set up properly

Useful tools already included in this repo:

- `lutris`
- `mangohud`
- `goverlay`
- `gamescope`
- `gamemode`
- `protonup-qt`
- `winetricks`
- `protontricks`

## Notes

- Star Citizen is a Windows game, so the launcher/game still downloads its own data after installation.
- If the launcher starts but the game fails to launch, try switching the package to another `nix-citizen` option from `home/programs/star-citizen/default.nix`.
- If you want overlay/performance debugging, launch the game with `MANGOHUD=1` or use the included `mangohud` / `goverlay` tools.

## Troubleshooting

### Launcher doesn’t appear

- Rebuild the Home Manager profile
- Check that `programs.star-citizen.enable = true;`
- Confirm the module is imported in the host profile you are using

### Launcher opens but game fails

- Try `rsi-launcher-umu` or `star-citizen-umu`
- Verify `protonup-qt` has a current `GE-Proton`
- Make sure `gamescope` / `gamemode` are enabled in your gaming setup

### Need a clean reset

If you want to switch package variants, change `programs.star-citizen.package` and rebuild again. The package selection is the only thing the module installs.
