Compare commits
3
Commits
d07be06293
...
cc39b11599
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
cc39b11599
|
||
|
|
bfa8f5c118
|
||
|
|
fc7a88814a
|
Generated
+36
-88
@@ -44,38 +44,6 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"cachyos-kernel": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1784569577,
|
|
||||||
"narHash": "sha256-pmwdKRPSavZ98QJv/Xlbj2U60AZ/+P4aevLBZ71jDaA=",
|
|
||||||
"owner": "CachyOS",
|
|
||||||
"repo": "linux-cachyos",
|
|
||||||
"rev": "5ca2493c51b1cadec102c9c549345b43f669960b",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "CachyOS",
|
|
||||||
"repo": "linux-cachyos",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"cachyos-kernel-patches": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1783974915,
|
|
||||||
"narHash": "sha256-kReDG2emoGxaG0Lr8tt9jUuu1kQu07yAJZhVWfbwxYc=",
|
|
||||||
"owner": "CachyOS",
|
|
||||||
"repo": "kernel-patches",
|
|
||||||
"rev": "ea739d734ec179864b21446856315bc49f7c52fa",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "CachyOS",
|
|
||||||
"repo": "kernel-patches",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"cf": {
|
"cf": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1756852014,
|
"lastModified": 1756852014,
|
||||||
@@ -93,17 +61,17 @@
|
|||||||
},
|
},
|
||||||
"claude-code": {
|
"claude-code": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils",
|
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
],
|
||||||
|
"systems": "systems_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1784948311,
|
"lastModified": 1787448531,
|
||||||
"narHash": "sha256-zXmyx6HuIjH0RQPV4VjVAXQttLyLDk55x9c3NmDke8c=",
|
"narHash": "sha256-XL0bbQUXgB5TXKWUBzAVxbNwsoII/XQmuHpwqaRI6OQ=",
|
||||||
"owner": "sadjow",
|
"owner": "sadjow",
|
||||||
"repo": "claude-code-nix",
|
"repo": "claude-code-nix",
|
||||||
"rev": "0d3cd1d6260b6f0ed232224c274c565407446fa1",
|
"rev": "a652fdf13cf7ac39be23fafbca3e1d6290eff001",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -217,11 +185,11 @@
|
|||||||
"nixpkgs-lib": "nixpkgs-lib"
|
"nixpkgs-lib": "nixpkgs-lib"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1782949081,
|
"lastModified": 1787559586,
|
||||||
"narHash": "sha256-vp6Y/Grm98ESt6ceOkWiHWyZRDV3J1RID4w+6NWK9yA=",
|
"narHash": "sha256-onL0VLf9vPllmT0H/OlURIU5r5t5WIEl7t4tVNKT0Nw=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-parts",
|
||||||
"rev": "17c9d6cdfc60c64f4ee8d306f9bc0b4ccb51481e",
|
"rev": "9d0d87172c374f89da73c1cfe6d81ae62feac1f1",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -231,24 +199,6 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-utils": {
|
"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": {
|
"locked": {
|
||||||
"lastModified": 1634851050,
|
"lastModified": 1634851050,
|
||||||
"narHash": "sha256-N83GlSGPJJdcqhUxSCS/WwW5pksYf3VP1M13cDRTSVA=",
|
"narHash": "sha256-N83GlSGPJJdcqhUxSCS/WwW5pksYf3VP1M13cDRTSVA=",
|
||||||
@@ -292,11 +242,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1784913159,
|
"lastModified": 1787540599,
|
||||||
"narHash": "sha256-JWq0BfjO4ktpH5USfQNQzdvHpIDT8fSKD5K7LvdMRFs=",
|
"narHash": "sha256-MHwk52ty3NsLhq9a1IbIfBJZlCUJIdiUYFo52JLK9hY=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "079a3b5d1aa6a719920a51316253b7d6dd22738d",
|
"rev": "03f4cd46bc1dd4f3a96da778d2ce9f7ce39dd450",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -332,18 +282,16 @@
|
|||||||
},
|
},
|
||||||
"nix-cachyos-kernel": {
|
"nix-cachyos-kernel": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"cachyos-kernel": "cachyos-kernel",
|
|
||||||
"cachyos-kernel-patches": "cachyos-kernel-patches",
|
|
||||||
"flake-compat": "flake-compat_2",
|
"flake-compat": "flake-compat_2",
|
||||||
"flake-parts": "flake-parts_2",
|
"flake-parts": "flake-parts_2",
|
||||||
"nixpkgs": "nixpkgs"
|
"nixpkgs": "nixpkgs"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1784919871,
|
"lastModified": 1787594581,
|
||||||
"narHash": "sha256-pCtk2K7SXa43Ujj2mav4L40OHqqymXt+y9YKGvm7AzY=",
|
"narHash": "sha256-C0Ckqq9K/XMIWKW/OFeIkKipMXc6Qc3eFMiY4w7Iv8o=",
|
||||||
"owner": "xddxdd",
|
"owner": "xddxdd",
|
||||||
"repo": "nix-cachyos-kernel",
|
"repo": "nix-cachyos-kernel",
|
||||||
"rev": "29893f428702736575d4eb5806c26c3148d6da8c",
|
"rev": "be42f230afd6789046dc99c4479236d4061fe7e1",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -375,11 +323,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1784989404,
|
"lastModified": 1787600895,
|
||||||
"narHash": "sha256-2USwOGm7rf9oX2lIVIIbci5hvAdP1tOHK+WpHK5nifw=",
|
"narHash": "sha256-cugFvCDVE5alelpwRfv7PQc0JRYJuR5L+5gt8J5iris=",
|
||||||
"owner": "sudosubin",
|
"owner": "sudosubin",
|
||||||
"repo": "nix-skills",
|
"repo": "nix-skills",
|
||||||
"rev": "939e5b8184c974e8cd5d4bf3d05465589b341663",
|
"rev": "e61bc6e3b27ee72b887ccfd3f4b3f728b18dbf27",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -418,11 +366,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1784723954,
|
"lastModified": 1787144466,
|
||||||
"narHash": "sha256-1CfD8ZUjCkTgjsneLZ/lxCHhgDfqxxE7/GX0MmsgiqA=",
|
"narHash": "sha256-HHfv2/HkNSKbbSyU9iD/g8lbP6r4tl33sSw1W4rXCk0=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "a017f5b72210026af5b3ac5949f08d94380a6fbd",
|
"rev": "0471accf8d0a8210b31d947497d179ecc99e0021",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -434,11 +382,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1784900848,
|
"lastModified": 1787574585,
|
||||||
"narHash": "sha256-qHfivN3D0K3wKjKCJVhzFBz6eKIt56DHJUvIzbRc5Gc=",
|
"narHash": "sha256-lYyM+zbWl1jCJ5xSxPzCkPtxO3OXMst8+QfboXRQCcs=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "6136e0cb87c2b1dea66de7caf58fd70db4d78267",
|
"rev": "09cf6aa915e6e042f74607067dffa237084ff53e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -450,11 +398,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-2605": {
|
"nixpkgs-2605": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1784856561,
|
"lastModified": 1787525875,
|
||||||
"narHash": "sha256-J+Bx1Z6Oeoj2FgnBhRMKyUhhtDoOpTgXYaVLZpDjW4A=",
|
"narHash": "sha256-sKbMlkDCBVmAjUVT94LwhVtET/YEMtZaFdn5UduWxz8=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "597283ad8aa0b331c788e97c4c262d58877074ef",
|
"rev": "a3b98866eecd08edac6e61a3081e69540a35020f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -466,11 +414,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-lib": {
|
"nixpkgs-lib": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1782614948,
|
"lastModified": 1785031560,
|
||||||
"narHash": "sha256-ePjCwr1sNm9NYUqywL7QfK3JnlS015msC+eBu2zKlp8=",
|
"narHash": "sha256-OmshNvn2vupOFpYinLUu+1Dnpu4n7Q5N3ggGVNHpkUI=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixpkgs.lib",
|
"repo": "nixpkgs.lib",
|
||||||
"rev": "db3f255737b94216eb71cce308e2912cf6bc2d7c",
|
"rev": "0e79af5e3d4dcfcd676ab5ba3f95d2e3352e078c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -497,11 +445,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1784796856,
|
"lastModified": 1787498568,
|
||||||
"narHash": "sha256-wWFrV5/Qbm+lyt5x20E/bSbfJiGKMo4RCxZV8cl/WZI=",
|
"narHash": "sha256-9i/VTdusq/+NM/tz+J1Re+ojkMB8MBf0QshnYfzHz30=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "e2587caef70cea85dd97d7daab492899902dbf5d",
|
"rev": "56c02bc00adcf003215cc4bd996d6efaf4cff188",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -529,7 +477,7 @@
|
|||||||
"peerix": {
|
"peerix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat_3",
|
"flake-compat": "flake-compat_3",
|
||||||
"flake-utils": "flake-utils_2",
|
"flake-utils": "flake-utils",
|
||||||
"nixpkgs": "nixpkgs_3"
|
"nixpkgs": "nixpkgs_3"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
@@ -556,11 +504,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1783574839,
|
"lastModified": 1785762349,
|
||||||
"narHash": "sha256-ICof1tV4/9XheBLBGf7dhMhfMq4dOs1zwTHrr7zGFlA=",
|
"narHash": "sha256-jZhZkzAwc7f3exzcTDJWP2WCAchCv0iNC3UF/QsahdQ=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "plasma-manager",
|
"repo": "plasma-manager",
|
||||||
"rev": "c551f0687658e4bb699cfff6015436ad7ee57a0d",
|
"rev": "a19a2a029fa180911bd89c554dca1616e10f4c1d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
@@ -223,6 +223,7 @@ in
|
|||||||
services.ananicy = {
|
services.ananicy = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.ananicy-cpp;
|
package = pkgs.ananicy-cpp;
|
||||||
|
rulesProvider = pkgs.ananicy-cpp;
|
||||||
extraRules = [
|
extraRules = [
|
||||||
{ name = "easyeffects"; type = "Audio"; nice = -12; }
|
{ name = "easyeffects"; type = "Audio"; nice = -12; }
|
||||||
];
|
];
|
||||||
|
|||||||
+2
-2
@@ -9,8 +9,8 @@
|
|||||||
# Used via networking.networkmanager.package — does not replace pkgs.networkmanager globally.
|
# Used via networking.networkmanager.package — does not replace pkgs.networkmanager globally.
|
||||||
# Remove once nixpkgs ships networkmanager >= 1.58 stable.
|
# Remove once nixpkgs ships networkmanager >= 1.58 stable.
|
||||||
networkmanager-clat = assert final.lib.assertMsg
|
networkmanager-clat = assert final.lib.assertMsg
|
||||||
(final.lib.versionOlder prev.networkmanager.version "1.58")
|
(final.lib.versionOlder prev.networkmanager.version "1.59")
|
||||||
"nixpkgs now ships NetworkManager ${prev.networkmanager.version} >= 1.58 — remove the override in overlays/pkgs.nix and pkgs/networkmanager-dev/";
|
"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 { };
|
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',
|
|
||||||
@@ -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;
|
|
||||||
|
|
||||||
@@ -2,242 +2,14 @@
|
|||||||
# Required for IPv6-mostly / RFC 8925 + RFC 6877 on NixOS until 1.58 stable lands in nixpkgs.
|
# 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.
|
# Remove this override once nixpkgs ships networkmanager >= 1.58.
|
||||||
{
|
{
|
||||||
lib,
|
networkmanager
|
||||||
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,
|
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
networkmanager.overrideAttrs (old: {
|
||||||
pythonForDocs = python3.pythonOnBuildForHost.withPackages (pkgs: with pkgs; [ pygobject3 ]);
|
patches = old.patches ++ [
|
||||||
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
|
|
||||||
# CLAT prefix selection ignores RFC 6724 rule 3 (avoid deprecated addresses):
|
# CLAT prefix selection ignores RFC 6724 rule 3 (avoid deprecated addresses):
|
||||||
# a deprecated prefix (preferred lifetime 0) can win the selection and break
|
# a deprecated prefix (preferred lifetime 0) can win the selection and break
|
||||||
# CLAT with an unroutable source address. Report upstream, then drop this.
|
# CLAT with an unroutable source address. Report upstream, then drop this.
|
||||||
./clat-skip-deprecated-prefixes.patch
|
./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
|
|
||||||
];
|
|
||||||
};
|
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user