Skip to content

Latest commit

 

History

History
65 lines (49 loc) · 1.38 KB

README.md

File metadata and controls

65 lines (49 loc) · 1.38 KB

Satisfactory Dedicated Server for NixOS

Usage

Add the flake to your flake inputs:

{
  inputs = {
    satisfactory-server = {
      url = "github:nekowinston/satisfactory-server-flake";
      inputs.nixpkgs.follows = "nixpkgs";
    };
  };
}

Add the module to your NixOS config:

{
  nixosConfigurations.cambrian = nixpkgs.lib.nixosSystem {
    system = "x86_64-linux";
    modules = [
      inputs.satisfactory-server.nixosModules.default
    ];
  };
}

You can then configure it like:

{
  services.satisfactory = {
    enable = true;
    openFirewall = true;
  };
}

For more options, see ./docs/nixos-options.md.

Updates

I appreciate version bump PRs!
If you want to help out, here's a brief guide:

  1. Visit this SteamDB page, and make note of both the latest Manifest ID, and the Build ID.

  2. Edit ./pkgs/satisfactory-server/default.nix:

    • set version to the Build ID
    • set src.manifest to the Manifest ID
    • set src.hash to ""
  3. To fetch the hash for the latest version, run:

    NIXPKGS_ALLOW_UNFREE=1 nix build --impure .#packages.x86_64-linux.default`
  4. The build will error out, warning about a mismatched hash; update src.hash to the new hash.

  5. Commit & open a PR.