-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
staging: 2025-01-20 #30
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
I didn't add everything that I could have added from `inxi --recommends`, mainly because I don't think I needed some of the few I excluded. Overall I've grabbed the things I needed though, or at least the things I think I needed.
o7. It served us so well for so long, but thankfully now we have an actual pipe operator that does the same thing but with slightly more flexibility. Alongside this treewide change is an improvement to the cleanliness of the cachix packages. Overall I'm not terribly happy with this approach _still_, especially since it doesn't really properly consider what derivations are actually needed and which aren't, instead it just blindly grabs what _might_ be useful. This isn't the best approach and I'd like to deal with it properly instead. One idea is to maybe have a "toplevel" attribute in the modules that will contain all relevant packages. The flake attributes for cachix can then leverage this module option to expose the useful things only.
Seems that while I was gone Nixpkgs bumped to GCC 14. This has seemingly broken quite a few of the older archive utilities. Patool also broke, though I don't think it's related to GCC 14. The simplest fix was to rollback the stdenv for the broken archive utilities, and to pin a newer version of patool that was merged onto master but isn't yet in unstable. Once it rolls in I will remove the pin.
This implements the desired goal of #28. There is now a `config.my.toplevel.cachix` attribute that contains any derivations that need to be built. This is done manually and it's very possible I will miss some things of course. I've already gone through everything once by checking for derivations, `symlinkJoin`-s, `mkDerivation`-s, and all fetchers. I'm not too sure if there's a way to iteratively test things I miss, but for now I think I've caught everything.
Some `patool` related fixes landed, including build failures for 2 of the derivations I use, so we have reverted those. Furthermore, pulseaudio related module options got moved from `hardware.pulseaudio` to `services.pulseaudio`.
…gs (and add some comments) Lix is falling behind the normal releases of Nix, and I don't have the sufficient processing power to build it on my system. Furthermore, I would rather support the development of Nix directly, rather than loosely following behind Lix. Lastly, I do not appreciate some of the Lix community members and their attitude towards the Nix project and ecosystem. We all have our differences and while I'm also very disappointed with the state of affairs in the community, I do not think that an extremely hostile and rude attitude is the correct way ahead, and especially by diving the community into two subgroups. Nonetheless, that's an issue to rant about elsewhere.
Moved the `/var/tmp` configuration for the Nix daemon from the `/tmp` module to the nix module. Removed the desire for a zram writeback device since it would have no benefit on a tmpfs system anyways, unless I dedicated a drive to it. Lastly, changed the systemd-boot module to use `rec` in an isolated block.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Happy New Years! This has been a late update due to being busy with real life commitments. I hope to slowly return to improving this and my other projects.
Things Done
flake.lock
revisions, no breaking changes that required fixing.inxi
for system information and diagnostics. The application is wrapped with the majority of important tooling that allows it to work as well as possible. Further may be required and can be checked viainxi --recommends
.lib.pipe
with the actual pipe operator experimental feature. This also brought a massive improvement to the cachix packages expression, which now leverages the flake-partsperSystem
rather than iterating over all flake outputs directly.flake.lock
and fix issues related to stdenv changes. Nixpkgs recently bumped GCC from 13 to 14. This broke a lot of packages since the stdenv on linux uses gcc by default. The simplest fix I had at the time was to simply override each package to a stdenv using gcc 13. Some of those pins are still there due to no fix on Nixpkgs and/or upstream. I will look at these more closely next release cycle.my.toplevel.cachix = [ ... ]
, can track all the important derivations, even if they are not directly part of a.package
output. This is significantly more flexible but requires manual intervention to ensure nothing is missed. I did a fairly comprehensive sweep over the repository and picked out the things that should be cached, mainly the ones that have local overrides. This can be periodically checked again, perhaps with some automated way in the future.flake.lock
again, with no major breakages. If anything, this actually fixed some of the GCC 14 bump changes from the previous upgrade.TMPDIR
was moved into the nix module itself, the recommendation of trying to setup a writeback device for zram was removed since it would functionally have no benefit (still uses the same amount of RAM, just on a difference vdev), and finally I am deciding to userec
for an extremely small systemd-boot module block, simply because I don't think traversingconfig
for it is necessary. I don't really want to have extremely anti-* opinions on the usage ofwith
andrec
, like some others, since they are valuable in controlled and small nix expressions.