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)
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?
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.
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.
I think Flatpak or AppImages would be a more appropriate distribution method, as much as I love nix and flakes.
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!
I would second flatpak and app images, not everyone is on NixOS, and I would like to not use NixOS any time soon as it doesn’t appeal to me the way it works.
The neat and confusing thing about nix and flakes is that you don’t need to be using the OS to benefit from using nix as a home manager/ package installer.
Fleek is a good example.
Friendly reminder that sometimes the native version runs worse than proton/doesn’t have all the dlcs.
We already have the john cena repacks, but it’s not user friendly to set up the environment so it could be a great alternative
It’s actually not that hard to setup
Maybe I’m dumb because it took me 2 hours of my time to set it up
I think you used an older stage of the project. If you look at the setup guide right now, it’s like 3 or 4 commands chained together. Also Undertaker141 makes browsing way easier.
Jc141 are pretty good as far as Linux distribution goes, dwarfs was a strange chose at first but actually makes sense. For anyone wanting to use they’re scripts then they just need to follow the github guide
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.
What
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.
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.
In my life I love two things- piracy, and nix
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.
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!
Nix only stores each version of a package once, environments work by setting environment variables and such to control which packages are visible
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.