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.

    • Object@sh.itjust.worksOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      3 minutes 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.

      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.

  • AlligatorBlizzard@sh.itjust.works
    link
    fedilink
    arrow-up
    2
    ·
    2 hours ago

    So I’m currently in a full stack bootcamp (I know - it was free for me and I’m learning things even if it’s basically a scam)… why does Factorio have a json file?

  • RustyNova@lemmy.world
    link
    fedilink
    arrow-up
    8
    ·
    7 hours ago

    I tried nix because it seemed cool, but dipped fast due to things like this. Definitely not a desktop distro (at least for me)