Add this to your home-manager

    let
      f = pkgs.factorio.override {
        username = "<Your Username>";
        token = "<Token>";
        versionsJson = ./factorio.json;
      };
    in
    {
      home-manager.users."<Your Username>".home.packages = [ f ];
    };

In factorio.json

{
  "x86_64-linux": {
    "alpha": {
      "stable": {
        "name": "factorio-space-age_linux_2.0.7.tar.xz",
        "needsAuth": true,
        "sha256": "1zvk1skkm37kyikq4l1q285l8zhxc6lqvs1x2y2ccxwd4cdm6r96",
        "tarDirectory": "x64",
        "url": "https://factorio.com/get-download/2.0.7/expansion/linux64",
        "version": "2.0.7"
      }
    }
  }
}

To get your Factorio working.

  • Doolbs@lemmy.world
    link
    fedilink
    English
    arrow-up
    8
    ·
    2 months ago

    Why?

    I’m thinking of installing it. Is there a problem with it not running?

    • Object@sh.itjust.worksOP
      link
      fedilink
      English
      arrow-up
      23
      ·
      edit-2
      2 months ago

      You need to package all dynamically linked executables because NixOS disables them by design. It’s to prevent two programs not working because they depend on different versions of a single library. But it’s not helpful when you have a program you need to run, and you need it real soon.

      In terms of whether Factorio runs or not, it does run. You have to add that configuration though.

      Still, if you are familiar with Linux and don’t usually get that “I need a program running ASAP” situations, it is a great OS to learn. I can recommend them.