nix allows for flakes which are 100% reproducible (ie. you copy paste a flake it would do the intended stuff only) , this make me realize that now we can have flakes for games like do you want inscryption , sure add this flake and this would install all dependencies and lutris etc. and you just have to link us to the gog-games.to / fitgirl-repack / dodi-repack variant (preferrably , gog-games.to since you can verify it with gog) (i have picked only the goat of gaming piracy from megathread) , imo this can give huge boost to gaming in linux and wine is literally really close to giving native performance and you wont even see the difference

the same logic can be applied to ms excel , powerpoint etc. but i dont see the point after using libreoffice (literally the best thing ever)

  • Donut@leminal.space
    link
    fedilink
    English
    arrow-up
    23
    ·
    1 year ago

    I only understand half of these words but I noticed Inscryption, so you got me.

    What are flakes and what does it mean to be reproducible?

    • steersman2484@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      10
      arrow-down
      1
      ·
      1 year ago

      Nix is a functional programming language / package manager, which allows you to build software reproducible.

      For example, one developer has version 1.1 of a dependency installed and a second developer has version 1.2 of the same dependency installed. Both build the software from source and get a different result.

      This can lead to “but it works on my machine” bugs. Nix mitigates this and ensures that all devs have the exact same versions and the build process produces the same output.

      In theory these kind of bugs can now only happen because of hardware fault.

      For game piracy this should streamline the installation process. You can just run one command and the game works and you don’t have to tinker around to find out why it does not work for you.

    • seang96@spgrn.com
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      Flakes is a way to manage nix, nix is essentially a package manager, NixOS would be probably easiest way to play with these tools.

      You define a flake / nix configuration and they are designed to be installable on any system. Think of it as if you install and configure all of your programs, services, environment in it and you upgrade to a new PC, you run a command to install your flake from your previous PC and everything is configured how you had it on your previous PC.

      Flakes is a new tool and is under rapid development, so it may have breaking changes in the future, but it is so popular that the devs are trying not to break it as much as possible.

      Also take my comment as a grain of salt since while I know about flakes and use it, I am nowhere close to an expert on it and terms that I used may be incorrect especially for defining them, but in layman’s terms I think its a decent introduction to what it is.

    • randomaside@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      Wouldn’t it be cool if you could store Flatpaked/appimage games on a USB drive indefinitely so then you could plug it into another machine and simply launch the game from it?

      You know, like a video game console!

  • Lupec@lemm.ee
    link
    fedilink
    English
    arrow-up
    7
    ·
    1 year ago

    That’s a great idea, I’d absolutely love it myself. Something like adding a flake input and it giving you an overlay with reproducible packages for a lot of games, I suppose. Not sure about feasibility but it sure sounds enticing!

    Your average user probably wouldn’t be too thrilled about it, but I’m sure Nix nerds would be all over it lol.

  • Barzaria@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    5
    ·
    1 year ago

    This idea is brilliant! How hard would you say swapping from using apt to learning and swapping to nix be? This is a serious question.

    • wolo@lemmy.blahaj.zone
      link
      fedilink
      English
      arrow-up
      3
      ·
      edit-2
      1 year ago

      You don’t need to abandon your distro’s package manager to use Nix, so you can adopt it as much or as little as you like.

  • HouseWolf@lemm.ee
    link
    fedilink
    English
    arrow-up
    3
    arrow-down
    1
    ·
    edit-2
    1 year ago

    As a newer Linux user Nix both fascinates and terrifies me.

    I’ve been running EndeavourOS for a few months and haven’t had much trouble getting cracked games running through Lutris. Most of my cracked games are older 2000s/early 2010s titles, and at most they need a community patch similar to running the game on Windows 10 and changing a setting in Winetricks.

  • people_are_cute@lemmy.sdf.org
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    We are not in want of such solutions, Lutris and other existing solutions are capable of making game-specific environments already. The main problem is having enough volunteers to painstakingly run, test and submit the exact dependency parameters for each game that makes it run correctly. Same will be the issue even if we shift to Nix or anything else. The problem is manpower scarcity, not lack of tech.

  • X3I@lemmy.x3i.tech
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    I am not extremely familiar with nix and flakes but from my understanding, they create isolated environments like venv or containers, correct? Would that not mean having a separate wine install and especially separate Lutris install per Game? So no single Lutris that lists all games but a separate one for each, kindof defeats the purpose I think. I fail to see the benefit over just clicking it on the lutris website, so not sure if this would gain traction. Open for any suggestions and corrections though!

    • wolo@lemmy.blahaj.zone
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      Nix only stores each version of a package once, environments work by setting environment variables and such to control which packages are visible