From bfa8f5c11840b13591ca31f60f44ca44bd94859d Mon Sep 17 00:00:00 2001 From: Lumpiasty Date: Mon, 24 Aug 2026 23:49:59 +0200 Subject: [PATCH] update nixos --- flake.lock | 72 ++---- modules/desktop/audio-rt.nix | 1 + overlays/pkgs.nix | 4 +- .../fix-install-paths.patch | 16 -- pkgs/networkmanager-dev/fix-paths.patch | 48 ---- pkgs/networkmanager-dev/package.nix | 234 +----------------- 6 files changed, 33 insertions(+), 342 deletions(-) delete mode 100644 pkgs/networkmanager-dev/fix-install-paths.patch delete mode 100644 pkgs/networkmanager-dev/fix-paths.patch diff --git a/flake.lock b/flake.lock index d453d63..7b57cc6 100644 --- a/flake.lock +++ b/flake.lock @@ -61,17 +61,17 @@ }, "claude-code": { "inputs": { - "flake-utils": "flake-utils", "nixpkgs": [ "nixpkgs" - ] + ], + "systems": "systems_2" }, "locked": { - "lastModified": 1786159714, - "narHash": "sha256-Rm3yXcjHmoebdRA35SVy/AM9PsckDPPJkY+xGodiIHQ=", + "lastModified": 1786403413, + "narHash": "sha256-SXErjFOkqgf5UgA/aH31VSncbWAbF1qYpbRKKxJWGSk=", "owner": "sadjow", "repo": "claude-code-nix", - "rev": "9bf9ac959eaee3b06d6ef13f18a711ae64a581b4", + "rev": "b16562174ada2407616943aea88f278b5a2cef71", "type": "github" }, "original": { @@ -199,24 +199,6 @@ } }, "flake-utils": { - "inputs": { - "systems": "systems_2" - }, - "locked": { - "lastModified": 1731533236, - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_2": { "locked": { "lastModified": 1634851050, "narHash": "sha256-N83GlSGPJJdcqhUxSCS/WwW5pksYf3VP1M13cDRTSVA=", @@ -260,11 +242,11 @@ ] }, "locked": { - "lastModified": 1786286733, - "narHash": "sha256-7dN93WKkEERgutPtTjK7SY3ZarO2LAU33A1+vKu+7cc=", + "lastModified": 1786356609, + "narHash": "sha256-ou8fYz5w9yhXC8YbvvExybFIa19MyW5G/8dEPqa90hM=", "owner": "nix-community", "repo": "home-manager", - "rev": "367f7ef80856d18438953d54dda235d42a46ba31", + "rev": "c30c7955cec30d664a9baced6bc0112e263d4647", "type": "github" }, "original": { @@ -305,11 +287,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1786298656, - "narHash": "sha256-umhXwAI7ydg3wZljvqKzioIj2KkPQ8Pu9TWgtWxeL8A=", + "lastModified": 1786473048, + "narHash": "sha256-QoH+hZKwP9/kEJrl02zJDq8821XGSvYY3MIQgkDVDk8=", "owner": "xddxdd", "repo": "nix-cachyos-kernel", - "rev": "d3fe12a5e8a845e35770a3f4796a59bffb16f31a", + "rev": "0a8acbc03e3b4eaa05d478d675a8dc4362f03fea", "type": "github" }, "original": { @@ -341,11 +323,11 @@ ] }, "locked": { - "lastModified": 1786303337, - "narHash": "sha256-qYiFJw0ggHZqz0C2x68VG4wep/fT8OqFv+4EUboPv8c=", + "lastModified": 1786469201, + "narHash": "sha256-dlqgQ74gX1lhu/D4PuFV+tWLNt0L3DJehwbjlm9undM=", "owner": "sudosubin", "repo": "nix-skills", - "rev": "87d4ce3e782ce163e742e2ff99d54cb4f0bb5b33", + "rev": "e98df28d3e7840f532c6886801a87a7624fafaf2", "type": "github" }, "original": { @@ -384,11 +366,11 @@ ] }, "locked": { - "lastModified": 1785232496, - "narHash": "sha256-65EQYIRRpTdpH8lUiB6Mvo5uBkG60aBIzAJuALfx+O0=", + "lastModified": 1786437054, + "narHash": "sha256-I++HzBBAgQ17UaLVU6aSm1/7LDo6c9xr8rAbpByWywE=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "2e790b0a6be8ec2b76174ac0931b8ff11919ec98", + "rev": "6ed13b1d888d5cb07dbb0723eb1df86bbacd0b9c", "type": "github" }, "original": { @@ -400,11 +382,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1786237299, - "narHash": "sha256-TdOIVJTuJ2eGUbjgXWe0X3Kbp6rR98V/2uRVAtKTHqs=", + "lastModified": 1786463514, + "narHash": "sha256-lDVA1kYvHuXlcwnBss5Ws70qskNSIwaDLhI9+MIEyiM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "60c768b1d7043edb84f25e2880ab2bd8327f6cfa", + "rev": "5c406c24ab27a146b8321f419a5536e3cf6842a0", "type": "github" }, "original": { @@ -416,11 +398,11 @@ }, "nixpkgs-2605": { "locked": { - "lastModified": 1786201459, - "narHash": "sha256-CiOTEjmwAmG2AWnaIno9YaCJJmpca2FXPhMAsnrolCg=", + "lastModified": 1786313170, + "narHash": "sha256-9BG7OgUWdu0ONDO5X2q6+K4bsuBITkX/3W4nNJu1Ito=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "8b8c811c7c2541c30382c5de7ed26be055569c60", + "rev": "fcb8fcd6bf2d0adecae5bd491afaaaf8311b758d", "type": "github" }, "original": { @@ -463,11 +445,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1786106723, - "narHash": "sha256-zDSUbpoeo/9ZmD2+wXnzxoo1+uhL8vxc0b8yuYMKYq0=", + "lastModified": 1786384358, + "narHash": "sha256-RzPPiWeUtuvymnpuEWsdtzli5w4kjZs49FqEs3/1u+I=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f13ff45afd1bb73e640eaa08a7066dbed07e3238", + "rev": "2fcb964de67fcf60b43471c55d5d99e61a9ccb5a", "type": "github" }, "original": { @@ -495,7 +477,7 @@ "peerix": { "inputs": { "flake-compat": "flake-compat_3", - "flake-utils": "flake-utils_2", + "flake-utils": "flake-utils", "nixpkgs": "nixpkgs_3" }, "locked": { diff --git a/modules/desktop/audio-rt.nix b/modules/desktop/audio-rt.nix index eed254f..9a94e9e 100644 --- a/modules/desktop/audio-rt.nix +++ b/modules/desktop/audio-rt.nix @@ -223,6 +223,7 @@ in services.ananicy = { enable = true; package = pkgs.ananicy-cpp; + rulesProvider = pkgs.ananicy-cpp; extraRules = [ { name = "easyeffects"; type = "Audio"; nice = -12; } ]; diff --git a/overlays/pkgs.nix b/overlays/pkgs.nix index fa302df..870bb0f 100644 --- a/overlays/pkgs.nix +++ b/overlays/pkgs.nix @@ -9,8 +9,8 @@ # Used via networking.networkmanager.package — does not replace pkgs.networkmanager globally. # Remove once nixpkgs ships networkmanager >= 1.58 stable. networkmanager-clat = assert final.lib.assertMsg - (final.lib.versionOlder prev.networkmanager.version "1.58") - "nixpkgs now ships NetworkManager ${prev.networkmanager.version} >= 1.58 — remove the override in overlays/pkgs.nix and pkgs/networkmanager-dev/"; + (final.lib.versionOlder prev.networkmanager.version "1.59") + "nixpkgs now ships NetworkManager ${prev.networkmanager.version} >= 1.59 — remove the override in overlays/pkgs.nix and pkgs/networkmanager-dev/ if the patches are no longer needed"; prev.callPackage ../pkgs/networkmanager-dev/package.nix { }; }) ] diff --git a/pkgs/networkmanager-dev/fix-install-paths.patch b/pkgs/networkmanager-dev/fix-install-paths.patch deleted file mode 100644 index 6b5f581..0000000 --- a/pkgs/networkmanager-dev/fix-install-paths.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/meson.build b/meson.build -index 61c025b9d7..d2ae60da34 100644 ---- a/meson.build -+++ b/meson.build -@@ -1025,9 +1025,9 @@ meson.add_install_script( - join_paths('tools', 'meson-post-install.sh'), - nm_datadir, - nm_bindir, -- nm_pkgconfdir, -+ nm_prefix + nm_pkgconfdir, - nm_pkglibdir, -- nm_pkgstatedir, -+ nm_prefix + nm_pkgstatedir, - nm_mandir, - nm_sysconfdir, - enable_docs ? '1' : '0', diff --git a/pkgs/networkmanager-dev/fix-paths.patch b/pkgs/networkmanager-dev/fix-paths.patch deleted file mode 100644 index 228f06c..0000000 --- a/pkgs/networkmanager-dev/fix-paths.patch +++ /dev/null @@ -1,48 +0,0 @@ -diff --git a/data/84-nm-drivers.rules b/data/84-nm-drivers.rules -index 148acade5c..6395fbfbe5 100644 ---- a/data/84-nm-drivers.rules -+++ b/data/84-nm-drivers.rules -@@ -7,6 +7,6 @@ ACTION!="add|change|move", GOTO="nm_drivers_end" - # Determine ID_NET_DRIVER if there's no ID_NET_DRIVER or DRIVERS (old udev?) - ENV{ID_NET_DRIVER}=="?*", GOTO="nm_drivers_end" - DRIVERS=="?*", GOTO="nm_drivers_end" --PROGRAM="/bin/sh -c '/usr/sbin/ethtool -i $$1 |/usr/bin/sed -n s/^driver:\ //p' -- $env{INTERFACE}", ENV{ID_NET_DRIVER}="%c" -+PROGRAM="@runtimeShell@ -c '@ethtool@/bin/ethtool -i $$1 |@gnused@/bin/sed -n s/^driver:\ //p' -- $env{INTERFACE}", ENV{ID_NET_DRIVER}="%c" - - LABEL="nm_drivers_end" -diff --git a/src/libnmc-base/nm-vpn-helpers.c b/src/libnmc-base/nm-vpn-helpers.c -index cbe76f5f1c..6ec684f9fe 100644 ---- a/src/libnmc-base/nm-vpn-helpers.c -+++ b/src/libnmc-base/nm-vpn-helpers.c -@@ -284,15 +284,6 @@ nm_vpn_openconnect_authenticate_helper(NMSettingVpn *s_vpn, GPtrArray *secrets, - const char *const *iter; - const char *path; - const char *opt; -- const char *const DEFAULT_PATHS[] = { -- "/sbin/", -- "/usr/sbin/", -- "/usr/local/sbin/", -- "/bin/", -- "/usr/bin/", -- "/usr/local/bin/", -- NULL, -- }; - const char *oc_argv[(12 + 2 * G_N_ELEMENTS(oc_property_args))]; - const char *gw; - int port; -@@ -311,13 +302,8 @@ nm_vpn_openconnect_authenticate_helper(NMSettingVpn *s_vpn, GPtrArray *secrets, - - port = extract_url_port(gw); - -- path = nm_utils_file_search_in_paths("openconnect", -- "/usr/sbin/openconnect", -- DEFAULT_PATHS, -- G_FILE_TEST_IS_EXECUTABLE, -- NULL, -- NULL, -- error); -+ path = g_find_program_in_path("openconnect"); -+ - if (!path) - return FALSE; - diff --git a/pkgs/networkmanager-dev/package.nix b/pkgs/networkmanager-dev/package.nix index 64ca2e7..37bf48f 100644 --- a/pkgs/networkmanager-dev/package.nix +++ b/pkgs/networkmanager-dev/package.nix @@ -2,242 +2,14 @@ # Required for IPv6-mostly / RFC 8925 + RFC 6877 on NixOS until 1.58 stable lands in nixpkgs. # Remove this override once nixpkgs ships networkmanager >= 1.58. { - lib, - stdenv, - fetchurl, - replaceVars, - gettext, - pkg-config, - dbus, - gitUpdater, - libuuid, - polkit, - gnutls, - ppp, - dhcpcd, - iptables, - nftables, - python3, - vala, - libgcrypt, - dnsmasq, - bluez5, - readline, - libselinux, - audit, - gobject-introspection, - perl, - modemmanager, - openresolv, - libndp, - newt, - ethtool, - gnused, - iputils, - kmod, - jansson, - elfutils, - gtk-doc, - libxslt, - docbook_xsl, - docbook_xml_dtd_412, - docbook_xml_dtd_42, - docbook_xml_dtd_43, - curl, - meson, - mesonEmulatorHook, - ninja, - bpftools, - llvmPackages, - libbpf, - libnvme, - libpsl, - mobile-broadband-provider-info, - runtimeShell, - buildPackages, - nixosTests, - systemd, - slang, - udev, - udevCheckHook, - withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd, - withNbft ? false, + networkmanager }: -let - pythonForDocs = python3.pythonOnBuildForHost.withPackages (pkgs: with pkgs; [ pygobject3 ]); -in -stdenv.mkDerivation (finalAttrs: { - pname = "networkmanager"; - version = "1.58.0"; - - src = fetchurl { - # Use the stable release tarball (not the git archive) — GitLab git archives are not content-stable. - url = "https://gitlab.freedesktop.org/api/v4/projects/411/packages/generic/NetworkManager/${finalAttrs.version}/NetworkManager-${finalAttrs.version}.tar.xz"; - hash = "sha256-DG8nA6LJsBfNaPv+HS6KGl1/8FE3x1HsQhy6NulFRro="; - }; - - outputs = [ - "out" - "dev" - "devdoc" - "man" - "doc" - ]; - - mesonFlags = [ - "--sysconfdir=/etc" - "--localstatedir=/var" - (lib.mesonOption "systemdsystemunitdir" ( - if withSystemd then "${placeholder "out"}/etc/systemd/system" else "no" - )) - "-Dudev_dir=${placeholder "out"}/lib/udev" - "-Ddbus_conf_dir=${placeholder "out"}/share/dbus-1/system.d" - "-Dkernel_firmware_dir=/run/current-system/firmware" - - "-Dmodprobe=${kmod}/bin/modprobe" - (lib.mesonOption "session_tracking" (if withSystemd then "systemd" else "no")) - (lib.mesonBool "systemd_journal" withSystemd) - "-Dlibaudit=yes-disabled-by-default" - "-Dpolkit_agent_helper_1=/run/wrappers/bin/polkit-agent-helper-1" - - "-Diwd=true" - "-Dpppd=${ppp}/bin/pppd" - "-Diptables=${iptables}/bin/iptables" - "-Dnft=${nftables}/bin/nft" - "-Dmodem_manager=true" - "-Dnmtui=true" - "-Ddnsmasq=${dnsmasq}/bin/dnsmasq" - "-Dqt=false" - (lib.mesonBool "nbft" withNbft) - - "-Dresolvconf=${openresolv}/bin/resolvconf" - "-Ddhcpcd=${dhcpcd}/bin/dhcpcd" - - "-Ddocs=${lib.boolToString (stdenv.buildPlatform == stdenv.hostPlatform)}" - "-Dman=${lib.boolToString (stdenv.buildPlatform == stdenv.hostPlatform)}" - "-Dtests=no" - "-Dcrypto=gnutls" - "-Dmobile_broadband_provider_info_database=${mobile-broadband-provider-info}/share/mobile-broadband-provider-info/serviceproviders.xml" - ]; - - patches = [ - (replaceVars ./fix-paths.patch { - inherit - ethtool - gnused - ; - inherit runtimeShell; - }) - ./fix-install-paths.patch +networkmanager.overrideAttrs (old: { + patches = old.patches ++ [ # CLAT prefix selection ignores RFC 6724 rule 3 (avoid deprecated addresses): # a deprecated prefix (preferred lifetime 0) can win the selection and break # CLAT with an unroutable source address. Report upstream, then drop this. ./clat-skip-deprecated-prefixes.patch ]; - - buildInputs = [ - (if withSystemd then systemd else udev) - libselinux - audit - libpsl - libuuid - polkit - ppp - libndp - curl - mobile-broadband-provider-info - bluez5 - dnsmasq - modemmanager - readline - newt - jansson - dbus - libbpf - slang - ] - ++ lib.optionals withNbft [ - libnvme - ]; - - propagatedBuildInputs = [ - gnutls - libgcrypt - ]; - - # Disable hardening flags that break clang -target bpf (CLAT BPF compilation). - # Same workaround as nixpkgs systemd package. - hardeningDisable = [ "zerocallusedregs" "shadowstack" "pacret" ]; - - nativeBuildInputs = [ - meson - ninja - gettext - pkg-config - # BPF compiler for CLAT/464XLAT — must use buildPackages to avoid splicing issues - bpftools - buildPackages.llvmPackages.clang - buildPackages.llvmPackages.libllvm - vala - gobject-introspection - perl - elfutils - gtk-doc - libxslt - docbook_xsl - docbook_xml_dtd_412 - docbook_xml_dtd_42 - docbook_xml_dtd_43 - pythonForDocs - udevCheckHook - ] - ++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ - mesonEmulatorHook - ]; - - doCheck = false; - - postPatch = '' - patchShebangs ./tools - patchShebangs libnm/generate-setting-docs.py - - # TODO: submit upstream - substituteInPlace meson.build \ - --replace "'vala', req" "'vala', native: false, req" - '' - + lib.optionalString withSystemd '' - substituteInPlace data/NetworkManager.service.in \ - --replace-fail /usr/bin/busctl ${systemd}/bin/busctl - ''; - - preBuild = '' - mkdir -p ${placeholder "out"}/lib - ln -s $PWD/src/libnm-client-impl/libnm.so.0 ${placeholder "out"}/lib/libnm.so.0 - ''; - - postFixup = lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) '' - cp -r ${buildPackages.networkmanager.devdoc} $devdoc - cp -r ${buildPackages.networkmanager.man} $man - ''; - - doInstallCheck = true; - - passthru = { - tests = { - inherit (nixosTests.networking) networkmanager; - }; - }; - - meta = { - homepage = "https://networkmanager.dev"; - description = "Network configuration and management tool (1.58.0 with CLAT/ipv6-mostly support)"; - license = lib.licenses.gpl2Plus; - maintainers = with lib.maintainers; [ obadz ]; - teams = [ lib.teams.freedesktop ]; - platforms = lib.platforms.linux; - badPlatforms = [ - lib.systems.inspect.platformPatterns.isStatic - ]; - }; })