#nixpkgs

aleksana :blobhaj_melty_crush:'s avatar
aleksana :blobhaj_melty_crush:

@[email protected]

loongarch64 native stdenv is here!
github.com/NixOS/nixpkgs/pull/

root@loong1:~/nixpkgs# ./result/bin/hello
Hello, world!
root@loong1:~/nixpkgs# uname -m
loongarch64
aleksana :blobhaj_melty_crush:'s avatar
aleksana :blobhaj_melty_crush:

@[email protected]

loongarch64 native stdenv is here!
github.com/NixOS/nixpkgs/pull/

root@loong1:~/nixpkgs# ./result/bin/hello
Hello, world!
root@loong1:~/nixpkgs# uname -m
loongarch64
Paul Meyer's avatar
Paul Meyer

@[email protected]

For many, overlays, and fixed-point functions as underlying concept, are hard to gasp in .

I found the documentation to be actually quite good in this case, checkout the function docs of fix and extends (and read in this order). Both have great examples/steps that guide you through, which was really helpful to me.

Paul Meyer's avatar
Paul Meyer

@[email protected]

For many, overlays, and fixed-point functions as underlying concept, are hard to gasp in .

I found the documentation to be actually quite good in this case, checkout the function docs of fix and extends (and read in this order). Both have great examples/steps that guide you through, which was really helpful to me.

Honnip's avatar
Honnip

@[email protected]

> curl -s https://api.github.com/repos/NixOS/nixpkgs | jq .stargazers_count
20000

20000✨

Honnip's avatar
Honnip

@[email protected]

> curl -s https://api.github.com/repos/NixOS/nixpkgs | jq .stargazers_count
20000

20000✨

Honnip's avatar
Honnip

@[email protected]

> curl -s https://api.github.com/repos/NixOS/nixpkgs | jq .stargazers_count
20000

20000✨

Honnip's avatar
Honnip

@[email protected]

> curl -s https://api.github.com/repos/NixOS/nixpkgs | jq .stargazers_count
20000

20000✨

Honnip's avatar
Honnip

@[email protected]

> curl -s https://api.github.com/repos/NixOS/nixpkgs | jq .stargazers_count
20000

20000✨

Honnip's avatar
Honnip

@[email protected]

> curl -s https://api.github.com/repos/NixOS/nixpkgs | jq .stargazers_count
20000

20000✨

Atemu's avatar
Atemu

@[email protected]

Any way to trigger a command in with the press of a button on the home screen?

For there is the widget app but it doesn't appear to work with -on-droid.

I really don't want to have to install and maintain using some install script and some prebuilt global FHS binaries when I could simply get it from .

Project Insanity's avatar
Project Insanity

@[email protected]

Looks like is still growing 🤯 Commit statistics on

Screenshot of terminal application git-bars showing commit statistics of each month for the repository nixpkgs. 2025-03 has the highest count with 15495 commits.
Sandro :nixos: :verified_gay:'s avatar
Sandro :nixos: :verified_gay:

@[email protected]

The more I look into other packaging systems as the more I am horrified. They call themselves a distro but have no good way to handle a go repository without a vendor directory.

daniel :nixos:'s avatar
daniel :nixos:

@[email protected]

My current mood is: do not use python3 when building Python packages, use the generic python parameter instead

#nix #nixpkgs

daniel :nixos:'s avatar
daniel :nixos:

@[email protected] · Reply to daniel :nixos:'s post

Fixed my overlays, but I think the error message is very #nixpkgs specific? If you simply use something like pkgs.python3.pkgs.buildPythonPackage, you don't have a "generic python parameter" ...

daniel :nixos:'s avatar
daniel :nixos:

@[email protected]

My current mood is: do not use python3 when building Python packages, use the generic python parameter instead

#nix #nixpkgs

Jake Hamilton's avatar
Jake Hamilton

@[email protected] · Reply to Jake Hamilton's post

Aux Lib is, by and large, a rewrite and downsizing of Nixpkgs' `lib`. Though, there are things that have been removed, changed, or added. Still, we would not be able to release this today without the work of all the contributors.

Paul Meyer's avatar
Paul Meyer

@[email protected]

Nice, lib.packagesFromDirectoryRecursive now supports nested scopes!

packagesFromDirectoryRecursive transforms a directory tree of packages into a nested attribute set of derivations. You can use it to manage a package set in a similar way to by-name in nixpkgs (without the sharding part). The package files in tree must be suitable for callPackage.

Subdirectories in the tree result in nested attribute sets. In the following example, packages d, e and f will be in a nested attribute set called my-namespace.

my-packages
├── a.nix
├── b.nix
├── c
│ ├── my-extra-feature.patch
│ ├── package.nix
│ └── support-definitions.nix
└── my-namespace
├── d.nix
├── e.nix
└── f
└── package.nix

Previously, this would only use one scope (my-packages), so e could only depend on d as my-packages.d. With the introduction of nested scopes, e can refer to d within the same scope directly.

PR: github.com/NixOS/nixpkgs/pull/

function doc on noogle (which isn't yet updated for the new behavior): noogle.dev/f/lib/packagesFromD

flashfox's avatar
flashfox

@[email protected]

I though it had been a while without any drama, but of course the universe provides.

Guess what, telemetry in is coming back. Again, it's Opt-Out, not Opt-In.
The difference: this time that work is sponsored by the NixOS Foundation.

github.com/cachix/devenv/pull/

oceansprint.org/reports/2025/

Brought to you by @domenkozar of course.

Paul Meyer's avatar
Paul Meyer

@[email protected] · Reply to Paul Meyer's post

Further, I opened a PR to add keep-sorted to the nixpkgs CI. keep-sorted is a language-agnostic formatter that sorts lines between two markers in a larger file. It will help us to get some order in the large top-level files like all-packages.nix!

github.com/NixOS/nixpkgs/pull/

Paul Meyer's avatar
Paul Meyer

@[email protected] · Reply to Paul Meyer's post

If you want to learn more about gobuild.nix and why we need it, checkout my talk at FOSDEM this year:
fosdem.org/2025/schedule/event

Paul Meyer's avatar
Paul Meyer

@[email protected]

2025 is over, it was an great experience!

I mostly worked on gobuild.nix, a next-generation builder for Go in nixpkgs. gobuild.nix removes vendoring for Go packages in nixpkgs, modeling the full dependency graph in Nix. Each module dependency will be its own derivation, including build cache on a module level.

During the sprint, I moved gobuild.nix from linking dependency source into a vendor directory to providing a local directory that can be used as GOPROXY. This is both more versatile and simple.

Together with @britter I started implementing a code generation tool that will help to package the large number of packages that will be part of the Go dependencies package set. The tool generates the Nix code for these packages, including the FOD hashes.

Andrew Kaster

@[email protected]

Who needs pigs to fly? I think that the end times will be marked by an occasion where two or users agree on the correct way to build a FOSS project.

"use devshell"
"use flake"
"use this other flake thing"
"just use upstream nixpkgs"
"upstream nixpkgs is slow, let's use this fhsENV thing"
"use flakeutils, it's really handy"
"flakeutils that everyone uses is a waste of time, just use nix directly"
"nix2 solved all of our problems, flakes just add unnecessary complexity"
"structure the flake like this"

samueldr's avatar
samueldr

@[email protected]

Nix 🤡 fork

The “not-a-fork”[sic] fork of Nix has decided to go ahead and take over the next major version number out of the hands from the official Nix package, and from there, take over the mindshare of the version 3.0.

What the actual fuck?

This is effectively a hostile takeover of the Nix name. Nix 3.0 will surface the “not-a-fork”[sic] fork.

They will surely be using the excuse that it's “Determinate Nix”, which is a different name. But in practice, you know how it is. They are polluting the mindshare with their “not-a-fork”[sic] fork.

Also, this is absolutely 100% a fork, even though they say it's not.

This is a fork that has made the current state of Flakes stable. A major fork in the road. Either Nix will have to become "incompatible" with the stability “promises” from the “not-a-fork”[fork], or bow down to what Determinate Systems decides for compatibility, for their future.

I guess it's a good time to jump over to Lix, for anyone who hasn't done so. It work just fine with NixOS.

Hopefully we'll have a statement from the Nix project regarding this.

#NixOS #Nixpkgs #Nix

decafkafk's avatar
decafkafk

@[email protected]

This is a serious proposal, we should actually ban and denounce determinate systems now.

https://discourse.nixos.org/t/we-should-urgently-ban-and-denounce-determinate-systems/61356

Please.

#nix #nixos #nixpkgs

decafkafk's avatar
decafkafk

@[email protected]

This is a serious proposal, we should actually ban and denounce determinate systems now.

https://discourse.nixos.org/t/we-should-urgently-ban-and-denounce-determinate-systems/61356

Please.

#nix #nixos #nixpkgs

decafkafk's avatar
decafkafk

@[email protected]

This is a serious proposal, we should actually ban and denounce determinate systems now.

https://discourse.nixos.org/t/we-should-urgently-ban-and-denounce-determinate-systems/61356

Please.

#nix #nixos #nixpkgs

Ponygol's avatar
Ponygol

@[email protected]

Want to help out Nixpkgs but don't know what to do? I compiled a list of still failing packages due to switching to GCC-14 in stdenv a while back. GCC changed some warning to errors in this version and lots of especially older projects fail to build now.

Plenty of examples of the fix already in Nixpkgs, ideal for first time contributors.

polygon.github.io/fix-nixpkgs-

Ponygol's avatar
Ponygol

@[email protected]

Want to help out Nixpkgs but don't know what to do? I compiled a list of still failing packages due to switching to GCC-14 in stdenv a while back. GCC changed some warning to errors in this version and lots of especially older projects fail to build now.

Plenty of examples of the fix already in Nixpkgs, ideal for first time contributors.

polygon.github.io/fix-nixpkgs-

musicmatze :rust: :nixos:'s avatar
musicmatze :rust: :nixos:

@[email protected]

Can we please remove @determinatesystems from the community?

samueldr's avatar
samueldr

@[email protected]

Nix 🤡 fork

The “not-a-fork”[sic] fork of Nix has decided to go ahead and take over the next major version number out of the hands from the official Nix package, and from there, take over the mindshare of the version 3.0.

What the actual fuck?

This is effectively a hostile takeover of the Nix name. Nix 3.0 will surface the “not-a-fork”[sic] fork.

They will surely be using the excuse that it's “Determinate Nix”, which is a different name. But in practice, you know how it is. They are polluting the mindshare with their “not-a-fork”[sic] fork.

Also, this is absolutely 100% a fork, even though they say it's not.

This is a fork that has made the current state of Flakes stable. A major fork in the road. Either Nix will have to become "incompatible" with the stability “promises” from the “not-a-fork”[fork], or bow down to what Determinate Systems decides for compatibility, for their future.

I guess it's a good time to jump over to Lix, for anyone who hasn't done so. It work just fine with NixOS.

Hopefully we'll have a statement from the Nix project regarding this.

#NixOS #Nixpkgs #Nix

samueldr's avatar
samueldr

@[email protected]

Nix 🤡 fork

The “not-a-fork”[sic] fork of Nix has decided to go ahead and take over the next major version number out of the hands from the official Nix package, and from there, take over the mindshare of the version 3.0.

What the actual fuck?

This is effectively a hostile takeover of the Nix name. Nix 3.0 will surface the “not-a-fork”[sic] fork.

They will surely be using the excuse that it's “Determinate Nix”, which is a different name. But in practice, you know how it is. They are polluting the mindshare with their “not-a-fork”[sic] fork.

Also, this is absolutely 100% a fork, even though they say it's not.

This is a fork that has made the current state of Flakes stable. A major fork in the road. Either Nix will have to become "incompatible" with the stability “promises” from the “not-a-fork”[fork], or bow down to what Determinate Systems decides for compatibility, for their future.

I guess it's a good time to jump over to Lix, for anyone who hasn't done so. It work just fine with NixOS.

Hopefully we'll have a statement from the Nix project regarding this.

#NixOS #Nixpkgs #Nix

Thomas Gerbet's avatar
Thomas Gerbet

@[email protected]

The latest set of GRUB2 vulnerabilities from mid-February lists.gnu.org/archive/html/gru requires **79** patches, along with some adjustments, to be applied to the latest stable tarball without breaking tests.

This does not make life easy for downstream consumers.

If other distro maintainers want to take a look, I have isolated the patches so you don't have to deal with Nix: gist.github.com/LeSuisse/34059

PR: github.com/NixOS/nixpkgs/pull/

Thomas Gerbet's avatar
Thomas Gerbet

@[email protected]

The latest set of GRUB2 vulnerabilities from mid-February lists.gnu.org/archive/html/gru requires **79** patches, along with some adjustments, to be applied to the latest stable tarball without breaking tests.

This does not make life easy for downstream consumers.

If other distro maintainers want to take a look, I have isolated the patches so you don't have to deal with Nix: gist.github.com/LeSuisse/34059

PR: github.com/NixOS/nixpkgs/pull/

Thomas Gerbet's avatar
Thomas Gerbet

@[email protected]

The latest set of GRUB2 vulnerabilities from mid-February lists.gnu.org/archive/html/gru requires **79** patches, along with some adjustments, to be applied to the latest stable tarball without breaking tests.

This does not make life easy for downstream consumers.

If other distro maintainers want to take a look, I have isolated the patches so you don't have to deal with Nix: gist.github.com/LeSuisse/34059

PR: github.com/NixOS/nixpkgs/pull/

Benedikt Ritter (he/him)'s avatar
Benedikt Ritter (he/him)

@[email protected]

🚀 New Blog Post! 🚀

I've been working on optimizing Gradle build support in nixpkgs! In my latest post, I take a deep dive into how it currently works, the limitations of the existing approach, and an optimization that improves efficiency and maintainability.

Check it out here: britter.dev/blog/2025/02/19/ni

I’d love to hear your thoughts! Also, if your team needs Gradle or NixOS consulting, I’d be happy to help. 😊

Benedikt Ritter (he/him)'s avatar
Benedikt Ritter (he/him)

@[email protected]

🚀 New Blog Post! 🚀

I've been working on optimizing Gradle build support in nixpkgs! In my latest post, I take a deep dive into how it currently works, the limitations of the existing approach, and an optimization that improves efficiency and maintainability.

Check it out here: britter.dev/blog/2025/02/19/ni

I’d love to hear your thoughts! Also, if your team needs Gradle or NixOS consulting, I’d be happy to help. 😊

hexa-'s avatar
hexa-

@[email protected] · Reply to hexa-'s post

devenv generate uploads repo contents

Unfortunately is not well-equipped to resolve this conflict. There is no explicit policy and common sense seems not to be equally distributed.

Ultimately this is a governance issue for where the steering committee would be in a great position to limit the scope of what is acceptable behaviour.

In fact, if you have an opinion on the matter, please reach out to any steering committee representative and tell them:

github.com/NixOS/org/blob/main

🧵3/n

hexa-'s avatar
hexa-

@[email protected] · Reply to hexa-'s post

devenv generate uploads repo contents

Unfortunately is not well-equipped to resolve this conflict. There is no explicit policy and common sense seems not to be equally distributed.

Ultimately this is a governance issue for where the steering committee would be in a great position to limit the scope of what is acceptable behaviour.

In fact, if you have an opinion on the matter, please reach out to any steering committee representative and tell them:

github.com/NixOS/org/blob/main

🧵3/n

hexa-'s avatar
hexa-

@[email protected] · Reply to hexa-'s post

devenv generate uploads repo contents

The CLI does not do informed consent and neither `devenv.sh` nor `devenv.new` have a privacy policy or will tell you who runs the service and who it shares its data with.

In the package was bumped to 1.4.0 after which a contributor immediately sent a follow-up PR¹ to enable `DO_NOT_TRACK=1` when wrapping the devenv binary.

This was promptly reverted² by the author of devenv.

🧵2/n

[1] github.com/NixOS/nixpkgs/pull/
[2] github.com/NixOS/nixpkgs/pull/

decafkafk's avatar
decafkafk

@[email protected]

Domen, creator of devenv, recently added telemetry to his devenv thing, as part of adding AI to the product, and when nixpkgs contributors removed the telemetry, he reverted the change, with a self merge, without a fucking review even.

https://github.com/NixOS/nixpkgs/pull/381981

This is a clear conflict of interest. We need to stop this from happening in the NixOS organization, corpos need to have some respect for users.

Discussion thread: https://discourse.nixos.org/t/should-commercial-actors-ship-telemetry-in-nixpkgs/60279/8

#nix #nixos #nixpkgs

decafkafk's avatar
decafkafk

@[email protected]

Domen, creator of devenv, recently added telemetry to his devenv thing, as part of adding AI to the product, and when nixpkgs contributors removed the telemetry, he reverted the change, with a self merge, without a fucking review even.

https://github.com/NixOS/nixpkgs/pull/381981

This is a clear conflict of interest. We need to stop this from happening in the NixOS organization, corpos need to have some respect for users.

Discussion thread: https://discourse.nixos.org/t/should-commercial-actors-ship-telemetry-in-nixpkgs/60279/8

#nix #nixos #nixpkgs

flashfox's avatar
flashfox

@[email protected] · Reply to flashfox's post

@jfredett @oliverwiegers .... and reverted by the author, who apparently has commit rights and does not seem to agree with community PR workflow.

So we now have commercial actors in who can just push their own commercial agenda be decree.

flashfox's avatar
flashfox

@[email protected] · Reply to Joe 'Oz' Fredette's post

@jfredett @oliverwiegers

At least in the telemetry seems to be of by default now

github.com/NixOS/nixpkgs/pull/

Robert Hensing's avatar
Robert Hensing

@[email protected]

@emilychwiggy I don't pin the extensions. Missing executables can generally provided with the direnv extension.

doesn't provide a mature vscode or vscodium distribution yet. Needs automated tests and more maintainers, I would guess.

Ariel (L3 nightmare ed.)'s avatar
Ariel (L3 nightmare ed.)

@[email protected]

I wonder if I could configure my Nix binary cache to do on-demand cross-compilation of packages so this poor ancient laptop doesn't cook itself every time I rebuild....

Paul Meyer's avatar
Paul Meyer

@[email protected]

After some months of work, I got the legacy `buildGoPackage` builder removed from . Most packages using the legacy builder were migrated to `buildGoModule`. Now we have less maintenance burden and thus the chance to work on something new!
github.com/NixOS/nixpkgs/issue

Check out the updated Go section in the nixpkgs manual: nixos.org/manual/nixpkgs/unsta

Paul Meyer's avatar
Paul Meyer

@[email protected]

Shortly after the branch off for the upcoming release of NixOS 24.11, there was quite a drop in the share of Go package sources that are vulnerable, compared to the last scan 3 months ago.

Report with all vulnerable packages can be found here: github.com/katexochen/govulnch

screenshot of the changed stats
Paul Meyer's avatar
Paul Meyer

@[email protected] · Reply to Paul Meyer's post

issue for this is github.com/NixOS/nixpkgs/issue

Paul Meyer's avatar
Paul Meyer

@[email protected]

TIL: `git archive` is used by GitHub and other forges to create an archive of a repo to download. git can do unexpected thing when creating such archive, like variable substitution using the `export-subst` feature. So even if a commit is immutable, you can still download different content if a ref or tag changed.

git-scm.com/docs/git-archive/2

Example: github.com/smallstep/cli/blob/

That's a real problem in context of reproducible builds (or just source-pinning in general).

samueldr's avatar
samueldr

@[email protected]

So I ran the script that @kees adapted from @bagder 's initial concept on the older×biggest repo I still make use of.

(Side-note, It would be interesting to have an AST-aware equivalent that can guesstimate the age of the constructs, rather than the age the "source" stringy-based serialization, especially since it's likely some changes refreshed some line's age, but actually only changed part of its semantics, or nothing at all.)

I ran it on the release tags (in other words, the initial point in time a numbered release was marked stable).

It took a surprisingly long amount of time, but I did not change the implementation. Maybe there's some accidentally quadratic operation that could be made faster... But also this is a legitimately big git repo, and maybe the hours it spent on the last few tags were legitimate.

Anyways, #Nixpkgs and #NixOS peeps might like that.

Stratified graph of the age of lines of codes in Nixpkgs... There's growth, and stratas are visible It goes from 2003 to 2025, and from 0 lines of code to 5.0M.
Paul Meyer's avatar
Paul Meyer

@[email protected]

There will be a Go meetup @ NixCon on Sunday, 11:00. Join us in discussing Go in nixpkgs, buildGoModule and community projects around Go and Nix. Check out the pad and feel free to add topics: pad.fluxfingers.net/E6VPRRYGQ2

seth 🍃's avatar
seth 🍃

@[email protected]

I've been nominated for the first NixOS Steering Committee!

You can read my candidate form here, where I explain some of my goals, previous work, and motivation in running for this position. I also encourage everyone to check the issues of this repository, which is filled with some great questions from the community and responses by myself and my fellow candidates

I will be continuing this thread by highlighting some of the questions I find most important for this election 🧵

github.com/NixOS/SC-election-2

Puna's avatar
Puna

@[email protected]

Iunno how to use social media or Mastodon, but I've been meaning to give this a try for awhile. :

- 24yo trans CS student in Leipzig, Germany
- Life for me revolves around tech. Preferably Linux, old computers and sound chips.
- since 6th grade. Used Lua, Object Pascal, C, C++, and many more over the years. Currently C# and Assembly for uni.
- user & contributor since 2018, Linux user since 2015…-ish?
- Current project: Slowly getting submitted into / , + dealing with uni.

Iunno what I'll post on here or expect to get out of this yet. Prolly complaining about programming stuff. Maybe finding like-minded and/or local people? We'll see I guess.

A Linux desktop session: The Lomiri desktop environment running on NixOS, including the default applications in the side bar and indicators in the top bar. The launcher icon and the wallpaper have been replaced with graphics that use the Nix snowflake, and the launcher colour has been changed to a light blue.

There are three opened applications to showcase the system & my interests a bit more.
1. The bottom-right one is the Lomiri terminal, showing neofetch information about the system. It's an AArch64 PineBook Pro running NixOS on the "unstable" rolling release channel, with the current desktop environment being detected as Lomiri.
2. Above it is Lomiri's gallery app, showing a screenshot from the game Cosmic Psycho.
3. On the left side is the Morph web browser, showing the GitHub page for the Nixpkgs project in the selected tab, and a background YouTube tab with the song "Razor Destroyer" by "hizmi" for the Sharp X68000 computer.A Linux desktop session: The Lomiri desktop environment running on NixOS, including the default applications in the side bar and indicators in the top bar. The launcher icon and the wallpaper have been replaced with graphics that use the Nix snowflake, and the launcher colour has been changed to a light blue.

There are three opened applications to showcase the system & my interests a bit more.
1. The bottom-right one is the Lomiri terminal, showing neofetch information about the system. It's an AArch64 PineBook Pro running NixOS on the "unstable" rolling release channel, with the current desktop environment being detected as Lomiri.
2. Above it is Lomiri's gallery app, showing a screenshot from the game Cosmic Psycho.
3. On the left side is the Morph web browser, showing the GitHub page for the Nixpkgs project in the selected tab, and a background YouTube tab with the song "Razor Destroyer" by "hizmi" for the Sharp X68000 computer.
Markus Wamser's avatar
Markus Wamser

@[email protected]

Hello World.

I'm a consultant/developer for Embedded Systems Security.

Every now and then I contribute to and

I tried blogging a few times before, but either the service went out of business after a few posts or I ran out of time for longer posts.

Expect and or orientended content from me.
Ocassional ramblings on random things, too.