update nixos

This commit is contained in:
2026-08-24 23:49:59 +02:00
parent fc7a88814a
commit bfa8f5c118
6 changed files with 33 additions and 342 deletions
Generated
+27 -45
View File
@@ -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": {
+1
View File
@@ -223,6 +223,7 @@ in
services.ananicy = {
enable = true;
package = pkgs.ananicy-cpp;
rulesProvider = pkgs.ananicy-cpp;
extraRules = [
{ name = "easyeffects"; type = "Audio"; nice = -12; }
];
+2 -2
View File
@@ -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 { };
})
]
@@ -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',
-48
View File
@@ -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;
+3 -231
View File
@@ -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
];
};
})