Skip to content

Commit d4f1f4e

Browse files
Merge staging-next into staging
2 parents 0e8900f + 3f0c889 commit d4f1f4e

105 files changed

Lines changed: 10251 additions & 2802 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

maintainers/maintainer-list.nix

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7199,6 +7199,14 @@
71997199
githubId = 345808;
72007200
name = "Jakub Okoński";
72017201
};
7202+
fauxmight = {
7203+
email = "nix@ivories.org";
7204+
matrix = "@fauxmight:matrix.ivories.org";
7205+
github = "fauxmight";
7206+
githubId = 53975399;
7207+
name = "A Frederick Christensen";
7208+
keys = [ { fingerprint = "5A49 F4F9 3EDC 21E9 B7CC 4E94 9EEF 4142 5355 8AC4"; } ];
7209+
};
72027210
fbeffa = {
72037211
email = "beffa@fbengineering.ch";
72047212
github = "fedeinthemix";
@@ -9677,6 +9685,13 @@
96779685
githubId = 37965;
96789686
name = "Léo Stefanesco";
96799687
};
9688+
inexcode = {
9689+
name = "Inex Code";
9690+
email = "nixpkgs@inex.dev";
9691+
matrix = "@inexcode:inex.rocks";
9692+
github = "inexcode";
9693+
githubId = 13254627;
9694+
};
96809695
infinidoge = {
96819696
name = "Infinidoge";
96829697
email = "infinidoge@inx.moe";
@@ -11848,6 +11863,12 @@
1184811863
github = "kira-bruneau";
1184911864
githubId = 382041;
1185011865
};
11866+
kiranshila = {
11867+
email = "me@kiranshila.com";
11868+
name = "Kiran Shila";
11869+
github = "kiranshila";
11870+
githubId = 6305359;
11871+
};
1185111872
kirelagin = {
1185211873
email = "kirelagin@gmail.com";
1185311874
matrix = "@kirelagin:matrix.org";
@@ -23005,6 +23026,12 @@
2300523026
githubId = 4044033;
2300623027
name = "Thomas Sowell";
2300723028
};
23029+
TsubakiDev = {
23030+
email = "i@tsubakidev.cc";
23031+
github = "TsubakiDev";
23032+
githubId = 132794625;
23033+
name = "Daniel Wang";
23034+
};
2300823035
ttrei = {
2300923036
email = "reinis.taukulis@gmail.com";
2301023037
github = "ttrei";

nixos/modules/programs/git.nix

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,8 @@ in
6060
enable = lib.mkEnableOption "git-lfs (Large File Storage)";
6161

6262
package = lib.mkPackageOption pkgs "git-lfs" { };
63+
64+
enablePureSSHTransfer = lib.mkEnableOption "Enable pure SSH transfer in server side by adding git-lfs-transfer to environment.systemPackages";
6365
};
6466
};
6567
};
@@ -72,7 +74,10 @@ in
7274
};
7375
})
7476
(lib.mkIf (cfg.enable && cfg.lfs.enable) {
75-
environment.systemPackages = [ cfg.lfs.package ];
77+
environment.systemPackages = lib.mkMerge [
78+
[ cfg.lfs.package ]
79+
(lib.mkIf cfg.lfs.enablePureSSHTransfer [ pkgs.git-lfs-transfer ])
80+
];
7681
programs.git.config = {
7782
filter.lfs = {
7883
clean = "git-lfs clean -- %f";

nixos/modules/services/monitoring/librenms.nix

Lines changed: 33 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ let
55
settingsFormat = pkgs.formats.json { };
66
configJson = settingsFormat.generate "librenms-config.json" cfg.settings;
77

8-
package = pkgs.librenms.override {
8+
package = cfg.package.override {
99
logDir = cfg.logDir;
1010
dataDir = cfg.dataDir;
1111
};
@@ -60,6 +60,18 @@ in
6060
options.services.librenms = with lib; {
6161
enable = mkEnableOption "LibreNMS network monitoring system";
6262

63+
package = lib.mkPackageOption pkgs "librenms" { };
64+
65+
finalPackage = lib.mkOption {
66+
type = lib.types.package;
67+
readOnly = true;
68+
default = package;
69+
defaultText = lib.literalExpression "package";
70+
description = ''
71+
The final package used by the module. This is the package that has all overrides.
72+
'';
73+
};
74+
6375
user = mkOption {
6476
type = types.str;
6577
default = "librenms";
@@ -526,13 +538,25 @@ in
526538
User = cfg.user;
527539
Group = cfg.group;
528540
ExecStartPre = lib.mkIf cfg.database.createLocally [
529-
"!${pkgs.writeShellScript "librenms-db-init" ''
530-
DB_PASSWORD=$(cat ${cfg.database.passwordFile} | tr -d '\n')
531-
echo "ALTER USER '${cfg.database.username}'@'localhost' IDENTIFIED BY '$DB_PASSWORD';" | ${pkgs.mariadb}/bin/mysql
532-
${lib.optionalString cfg.useDistributedPollers ''
533-
echo "ALTER USER '${cfg.database.username}'@'%' IDENTIFIED BY '$DB_PASSWORD';" | ${pkgs.mariadb}/bin/mysql
534-
''}
535-
''}"
541+
"!${
542+
pkgs.writeShellScript "librenms-db-init" (
543+
if !isNull cfg.database.socket then
544+
''
545+
echo "ALTER USER '${cfg.database.username}'@'localhost' IDENTIFIED VIA unix_socket;" | ${pkgs.mariadb}/bin/mysql --socket='${cfg.database.socket}'
546+
${lib.optionalString cfg.useDistributedPollers ''
547+
echo "ALTER USER '${cfg.database.username}'@'%' IDENTIFIED VIA unix_socket;" | ${pkgs.mariadb}/bin/mysql --socket='${cfg.database.socket}'
548+
''}
549+
''
550+
else
551+
''
552+
DB_PASSWORD=$(cat ${cfg.database.passwordFile} | tr -d '\n')
553+
echo "ALTER USER '${cfg.database.username}'@'localhost' IDENTIFIED BY '$DB_PASSWORD';" | ${pkgs.mariadb}/bin/mysql
554+
${lib.optionalString cfg.useDistributedPollers ''
555+
echo "ALTER USER '${cfg.database.username}'@'%' IDENTIFIED BY '$DB_PASSWORD';" | ${pkgs.mariadb}/bin/mysql
556+
''}
557+
''
558+
)
559+
}"
536560
];
537561
};
538562
script = ''
@@ -567,6 +591,7 @@ in
567591
then ''
568592
# use socket connection
569593
echo "DB_SOCKET=${cfg.database.socket}" >> ${cfg.dataDir}/.env
594+
echo "DB_PASSWORD=null" >> ${cfg.dataDir}/.env
570595
''
571596
else ''
572597
# use TCP connection

nixos/modules/services/networking/dhcpcd.nix

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -249,7 +249,8 @@ in
249249
ExecReload = "${dhcpcd}/sbin/dhcpcd --rebind";
250250
Restart = "always";
251251
AmbientCapabilities = [ "CAP_NET_ADMIN" "CAP_NET_RAW" "CAP_NET_BIND_SERVICE" ];
252-
ReadWritePaths = [ "/proc/sys/net/ipv4" "/proc/sys/net/ipv6" ]
252+
ReadWritePaths = [ "/proc/sys/net/ipv4" ]
253+
++ lib.optional cfgN.enableIPv6 "/proc/sys/net/ipv6"
253254
++ lib.optionals useResolvConf ([ "/run/resolvconf" ] ++ config.networking.resolvconf.subscriberFiles);
254255
DeviceAllow = "";
255256
LockPersonality = true;

nixos/modules/tasks/filesystems/zfs.nix

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,8 @@ let
129129
"systemd-ask-password-console.service"
130130
] ++ lib.optional (config.boot.initrd.clevis.useTang) "network-online.target";
131131
requiredBy = let
132-
noauto = lib.all (fs: lib.elem "noauto" fs.options) (getPoolFilesystems pool);
132+
poolFilesystems = getPoolFilesystems pool;
133+
noauto = poolFilesystems != [ ] && lib.all (fs: lib.elem "noauto" fs.options) poolFilesystems;
133134
in getPoolMounts prefix pool ++ lib.optional (!noauto) "zfs-import.target";
134135
before = getPoolMounts prefix pool ++ [ "shutdown.target" "zfs-import.target" ];
135136
conflicts = [ "shutdown.target" ];

nixos/tests/all-tests.nix

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ in {
135135
archi = handleTest ./archi.nix {};
136136
aria2 = handleTest ./aria2.nix {};
137137
armagetronad = handleTest ./armagetronad.nix {};
138-
artalk = handleTest ./artalk.nix {};
138+
artalk = runTest ./artalk.nix;
139139
atd = handleTest ./atd.nix {};
140140
atop = handleTest ./atop.nix {};
141141
atticd = runTest ./atticd.nix;

nixos/tests/artalk.nix

Lines changed: 48 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,56 @@
1-
import ./make-test-python.nix (
2-
{ lib, pkgs, ... }:
3-
{
1+
{ lib, pkgs, ... }:
2+
{
43

5-
name = "artalk";
4+
name = "artalk";
65

7-
meta = {
8-
maintainers = with lib.maintainers; [ moraxyc ];
9-
};
6+
meta = {
7+
maintainers = with lib.maintainers; [ moraxyc ];
8+
};
109

11-
nodes.machine =
12-
{ pkgs, ... }:
13-
{
14-
environment.systemPackages = [ pkgs.curl ];
15-
services.artalk = {
16-
enable = true;
10+
nodes.machine =
11+
{ pkgs, ... }:
12+
{
13+
environment.systemPackages = [
14+
pkgs.curl
15+
pkgs.artalk
16+
pkgs.sudo
17+
];
18+
services.artalk = {
19+
enable = true;
20+
settings = {
21+
cache.enabled = true;
22+
admin_users = [
23+
{
24+
name = "admin";
25+
email = "admin@example.org";
26+
# md5 for 'password'
27+
password = "(md5)5F4DCC3B5AA765D61D8327DEB882CF99";
28+
}
29+
];
1730
};
1831
};
32+
};
33+
34+
testScript = ''
35+
import json
36+
machine.wait_for_unit("artalk.service")
37+
38+
machine.wait_for_open_port(23366)
1939
20-
testScript = ''
21-
machine.wait_for_unit("artalk.service")
40+
assert '${pkgs.artalk.version}' in machine.succeed("curl --fail --max-time 10 http://127.0.0.1:23366/api/v2/version")
2241
23-
machine.wait_for_open_port(23366)
42+
# Get token
43+
result = json.loads(machine.succeed("""
44+
curl --fail -X POST --json '{
45+
"email": "admin@example.org",
46+
"password": "password"
47+
}' 'http://127.0.0.1:23366/api/v2/auth/email/login'
48+
"""))
49+
token = result['token']
2450
25-
machine.succeed("curl --fail --max-time 10 http://127.0.0.1:23366/")
26-
'';
27-
}
28-
)
51+
# Test admin
52+
machine.succeed(f"""
53+
curl --fail -X POST --header 'Authorization: {token}' 'http://127.0.0.1:23366/api/v2/cache/flush'
54+
""")
55+
'';
56+
}

pkgs/applications/audio/strawberry/default.nix

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,13 +40,13 @@ let
4040
in
4141
stdenv.mkDerivation rec {
4242
pname = "strawberry";
43-
version = "1.2.2";
43+
version = "1.2.3";
4444

4545
src = fetchFromGitHub {
4646
owner = "jonaski";
4747
repo = pname;
4848
rev = version;
49-
hash = "sha256-X752GsP2b7rumQHzw52zI7PeE8tdM9Scgl3nHVcpO/s=";
49+
hash = "sha256-90gnPw21oBHrRslJmB2hUId0WI7Gf+I4bvdS+dvAHdI=";
5050
};
5151

5252
# the big strawberry shown in the context menu is *very* much in your face, so use the grey version instead
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
--- a/build/deps/src/org/jetbrains/intellij/build/impl/BundledMavenDownloader.kt
2+
+++ b/build/deps/src/org/jetbrains/intellij/build/impl/BundledMavenDownloader.kt
3+
@@ -35,7 +35,7 @@
4+
"org.jdom:jdom2:2.0.6.1",*/
5+
)
6+
7+
-private val mavenTelemetryDependencies = listOf("com.fasterxml.jackson.core:jackson-core:2.16.0")
8+
+private val mavenTelemetryDependencies = listOf("com.fasterxml.jackson.core:jackson-core:2.17.0")
9+
10+
object BundledMavenDownloader {
11+
private val mutex = Mutex()

pkgs/applications/editors/jetbrains/patches/no-download.patch

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -46,11 +46,11 @@
4646
return URI.create("${base}/${groupStr}/${artifactId}/${version}/${artifactId}-${version}${classifierStr}.${packaging}")
4747
--- a/platform/build-scripts/downloader/src/org/jetbrains/intellij/build/dependencies/JdkDownloader.kt
4848
+++ b/platform/build-scripts/downloader/src/org/jetbrains/intellij/build/dependencies/JdkDownloader.kt
49-
@@ -33,11 +33,7 @@
50-
}
51-
52-
suspend fun getJdkHome(communityRoot: BuildDependenciesCommunityRoot, os: OS, arch: Arch, infoLog: (String) -> Unit): Path {
53-
- val jdkUrl = getUrl(communityRoot = communityRoot, os = os, arch = arch)
49+
@@ -55,11 +55,7 @@
50+
variation: String? = null,
51+
infoLog: (String) -> Unit,
52+
): Path {
53+
- val jdkUrl = getUrl(communityRoot = communityRoot, os = os, arch = arch, jdkBuildNumber = jdkBuildNumber, variation = variation)
5454
- val jdkArchive = downloadFileToCacheLocation(url = jdkUrl.toString(), communityRoot = communityRoot)
5555
- val jdkExtracted = BuildDependenciesDownloader.extractFileToCacheLocation(communityRoot = communityRoot,
5656
- archiveFile = jdkArchive,
@@ -72,15 +72,15 @@
7272
* Set both properties if a .snap package should be produced.
7373
--- a/platform/build-scripts/src/org/jetbrains/intellij/build/impl/LinuxDistributionBuilder.kt
7474
+++ b/platform/build-scripts/src/org/jetbrains/intellij/build/impl/LinuxDistributionBuilder.kt
75-
@@ -45,7 +45,7 @@
76-
withContext(Dispatchers.IO) {
75+
@@ -50,7 +50,7 @@
7776
val distBinDir = targetPath.resolve("bin")
7877
val sourceBinDir = context.paths.communityHomeDir.resolve("bin/linux")
79-
- copyFileToDir(NativeBinaryDownloader.downloadRestarter(context = context, os = OsFamily.LINUX, arch = arch), distBinDir)
78+
addNativeLauncher(distBinDir, targetPath, arch)
79+
- copyFileToDir(NativeBinaryDownloader.getRestarter(context, OsFamily.LINUX, arch), distBinDir)
8080
+ copyFileToDir(sourceBinDir.resolve("${arch.dirName}/restarter"), distBinDir)
8181
copyFileToDir(sourceBinDir.resolve("${arch.dirName}/fsnotifier"), distBinDir)
82-
copyFileToDir(sourceBinDir.resolve("${arch.dirName}/libdbm.so"), distBinDir)
8382
generateBuildTxt(context, targetPath)
83+
copyDistFiles(context, targetPath, OsFamily.LINUX, arch)
8484
@@ -85,6 +85,8 @@
8585
}
8686
}
@@ -90,6 +90,16 @@
9090
val runtimeDir = context.bundledRuntime.extract(os = OsFamily.LINUX, arch = arch)
9191
updateExecutablePermissions(runtimeDir, executableFileMatchers)
9292
val tarGzPath = buildTarGz(arch = arch, runtimeDir = runtimeDir, unixDistPath = osAndArchSpecificDistPath, suffix = suffix(arch))
93+
@@ -383,7 +385,8 @@
94+
}
95+
96+
private suspend fun addNativeLauncher(distBinDir: Path, targetPath: Path, arch: JvmArchitecture) {
97+
- val (execPath, licensePath) = NativeBinaryDownloader.getLauncher(context, OsFamily.LINUX, arch)
98+
+ val execPath = Path.of("XPLAT_LAUNCHER_PREBUILT_PATH_HERE/Linux-${arch.archName}/xplat-launcher")
99+
+ val licensePath = Path.of("XPLAT_LAUNCHER_PREBUILT_PATH_HERE/license/xplat-launcher-third-party-licenses.html")
100+
copyFile(execPath, distBinDir.resolve(context.productProperties.baseFileName))
101+
copyFile(licensePath, targetPath.resolve("license/launcher-third-party-libraries.html"))
102+
}
93103
--- a/platform/build-scripts/src/org/jetbrains/intellij/build/impl/brokenPlugins.kt
94104
+++ b/platform/build-scripts/src/org/jetbrains/intellij/build/impl/brokenPlugins.kt
95105
@@ -9,6 +9,8 @@
@@ -137,7 +147,7 @@
137147
- // Ideal solution would be to move compilation to other process altogether and do not modify current process classpath
138148
- println(" * Downloading $kotlinJpsPluginUrl")
139149
- val tmpLocation = Files.createTempFile(cacheLocation.parent, cacheLocation.name, ".tmp")
140-
- suspendingRetryWithExponentialBackOff {
150+
- retryWithExponentialBackOff {
141151
- FileUtils.copyURLToFile(kotlinJpsPluginUrl.toURL(), tmpLocation.toFile())
142152
- }
143153
- Files.move(tmpLocation, cacheLocation, StandardCopyOption.ATOMIC_MOVE)

0 commit comments

Comments
 (0)