Wrote a post on how to do reasonable pinning for non-flake configs using a simple shell script, npins, and nixos-rebuild. I also talk about how tools like nixos-rebuild and nix-channel are skeletons in our closet that we need to actually replace and deprecate as a community, to bring people up to modern practices.
I have been working on something, which is not totally ready.
Most of the deployment tools in the #NixOS ecosystem are tailored to... NixOS. NixOS can run in a bunch of places, but not easily on 256MB RAM devices and 32MB disk.
anyone have a good resource for converting a binary to a #nixos service? I think i got pretty far with @readeckhttps://readeck.org/en/docs/deploy but i have no clue how to handle the /etc/ files it claims it needs and keep getting vague 203 errors.
Thanks to @dimitribouniol and @glacials, we're much closer to the next Cork release! I was finally able to implement the first version of a self-compiled check, which was the only requirement left for the next release.
As promised, both Dimitri and Ben will be getting either a free Cork license or the cash equivalent, as well as a special shoutout in the contributors sections once the feature is fully implemented.
@davidbures@slashtechno for example, as an individual, I would opt-in to donate a humble amount of 1€/month (or little more) for each machine I have #NixOS installed on, and have it distributed between NixOS maintainers and developers of all packages I use.
It is a small and affordable amount for an individual. But, there are thousands of users, and companies could donate more, and this would generate nice monthly income in total.
This is applicable to any #Linux distribution, though.
instead of talking so much about what flakes are for, maybe we should talk more about what they do, because it's actually very little. flakes DO the following:
manage a single, top-level lockfile
force a specific entry point for a Nix expression
change the CLI syntax you use
turn on "pure eval" mode by default
make you git track your files (for git repo flakes)
those are the actual things that flakes effect to Nix code
"there is no moral difference taking money from Anduril or from Microsoft. Microsoft has had multi-billion dollar Pentagon and other agency contracts for many years now, and the things they produce are used wherever the U.S. Government wants to use them, including as tools for war and border control."
100% this. #nixos is so embedded in #github that it is hard to take any complaints about other partners or sponsors seriously.
ME: hm I should make one (1) change to my programmable keyboard.
30 MINUTES LATER: well, my random weird devicemapper issue went away after uninstalling/reinstalling docker and rebooting a few times, but now docker seems to require root, when it didn't before? wtf
Computers may have been a mistake. (Also, it's amazing how far my desire to tinker with my #NixOS setup has plummeted now that the community is splintering.)
So if you are curious about how to package for #NixOs perhaps there is also a project you'd love to contribute to and have in Nix. This is your chance to learn and work with other folks.
I don't actually have time today to work on any side projects, but I thought I'd run through the basic setup steps for MonoGame aaaand
./bin/Debug/net6.0/MyGame
bash: ./bin/Debug/net6.0/MyGame: cannot execute: required file not found
... which required file ._. ???
I think this sort of thing means it tried to dynamically link something and failed. I run into this whenever I try to run loose builds of Linux games on #NixOS, but idk what to do about it.
I'm still stumped on how to get #MonoGame working on #NixOS, but thankfully I have another computer with a real operating system on it, so please enjoy this overwrought Hello World I made using MonoGame tonight:
I've made some progress on getting #MonoGame running on the hell distro! The surprise exit-without-error was a segfault (thanks strace!), which apparently was because #NixOS cleverly hid away udev, which is famously an optional component in all modern Linux distros. Now with that fixed, it simply cannot OpenGL:
"Unhandled exception. Microsoft.Xna.Framework.Graphics.NoSuitableGraphicsDeviceException: Failed to create graphics device!"
(fails somewhere in MonoGame.OpenGL.GL.LoadExtensions)