Skip to content

Commit 4963a3e

Browse files
Merge master into staging-next
2 parents bb91d46 + 2bf0209 commit 4963a3e

File tree

89 files changed

+1967
-508
lines changed

Some content is hidden

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

89 files changed

+1967
-508
lines changed

doc/hooks/autopatchcil.section.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# autoPatchcilHook {#setup-hook-autopatchcilhook}
2+
3+
This is a special setup hook which helps in packaging .NET assemblies/programs in that it automatically tries to find missing shared library dependencies of .NET assemblies based on the given `buildInputs` and `nativeBuildInputs`.
4+
5+
As the hook needs information for the host where the package will be run on, there's a required environment variable called `autoPatchcilRuntimeId` which should be filled in with the RID (Runtime Identifier) of the machine where the output will be run on. If you're using `buildDotnetModule`, it will fall back to `dotnetRuntimeIds` (which is set to `lib.singleton (if runtimeId != null then runtimeId else systemToDotnetRid stdenvNoCC.hostPlatform.system)`) for you if not provided.
6+
7+
In certain situations you may want to run the main command (`autoPatchcil`) of the setup hook on a file or a set of directories instead of unconditionally patching all outputs. This can be done by setting the `dontAutoPatchcil` environment variable to a non-empty value.
8+
9+
By default, `autoPatchcil` will fail as soon as any .NET assembly requires a dependency which cannot be resolved via the given build inputs. In some situations you might prefer to just leave missing dependencies unpatched and continue to patch the rest. This can be achieved by setting the `autoPatchcilIgnoreMissingDeps` environment variable to a non-empty value. `autoPatchcilIgnoreMissingDeps` can be set to a list like `autoPatchcilIgnoreMissingDeps = [ "libcuda.so.1" "libcudart.so.1" ];` or to `[ "*" ]` to ignore all missing dependencies.
10+
11+
The `autoPatchcil` command requires the `--rid` command line flag, informing the RID (Runtime Identifier) it should assume the assemblies will be executed on, and also recognizes a `--no-recurse` command line flag, which prevents it from recursing into subdirectories.
12+
13+
::: {.note}
14+
Since, unlike most native binaries, .NET assemblies are compiled once to run on any platform, many assemblies may have PInvoke stubs for libraries that might not be available on the platform that the package will effectively run on. A few examples are assemblies that call native Windows APIs through PInvoke targeting `kernel32`, `gdi32`, `user32`, `shell32` or `ntdll`.
15+
16+
`autoPatchcil` does its best to ignore dependencies from other platforms by checking the requested file extensions, however not all PInvoke stubs provide an extension so in those cases it will be necessary to list those in `autoPatchcilIgnoreMissingDeps` manually.
17+
:::

doc/hooks/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ The stdenv built-in hooks are documented in [](#ssec-setup-hooks).
77
```{=include=} sections
88
autoconf.section.md
99
automake.section.md
10+
autopatchcil.section.md
1011
autopatchelf.section.md
1112
aws-c-common.section.md
1213
bmake.section.md

doc/redirects.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2067,6 +2067,9 @@
20672067
"setup-hook-automake": [
20682068
"index.html#setup-hook-automake"
20692069
],
2070+
"setup-hook-autopatchcilhook": [
2071+
"index.html#setup-hook-autopatchcilhook"
2072+
],
20702073
"setup-hook-autopatchelfhook": [
20712074
"index.html#setup-hook-autopatchelfhook"
20722075
],

doc/release-notes/rl-2505.section.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,8 @@
6868
- [testers.shellcheck](https://nixos.org/manual/nixpkgs/unstable/#tester-shellcheck) now warns when `name` is not provided.
6969
The `name` argument will become mandatory in a future release.
7070

71+
- [GIMP 3.0](https://www.gimp.org/news/2025/03/16/gimp-3-0-released/) available as `gimp3`.
72+
7173
- `grafana-agent` and `services.grafana-agent` have been removed in favor of
7274
Grafana Alloy (`grafana-alloy` and `services.alloy`), as they depend on an EOL compiler version
7375
and will become EOL during the 25.05 lifecycle.

maintainers/maintainer-list.nix

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5020,6 +5020,12 @@
50205020
githubId = 6470493;
50215021
name = "Craige McWhirter";
50225022
};
5023+
craigf = {
5024+
email = "craig@craigfurman.dev";
5025+
github = "craigfurman";
5026+
githubId = 4772216;
5027+
name = "Craig Furman";
5028+
};
50235029
cransom = {
50245030
email = "cransom@hubns.net";
50255031
github = "cransom";

maintainers/scripts/luarocks-packages.csv

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ ansicolors,,,,,,Freed-Wu
44
argparse,,,,,,
55
basexx,,,,,,
66
binaryheap,,,,,,vcunat
7-
bit32,,,,5.3.0-1,5.1,lblasc
7+
bit32,,,,,5.1,lblasc
88
busted,,,,,,
99
busted-htest,,,,,,mrcjkb
1010
cassowary,,,,,,alerque

nixos/doc/manual/release-notes/rl-2505.section.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -416,6 +416,8 @@
416416

417417
- `programs.clash-verge.tunMode` was deprecated and removed because now service mode is necessary to start program. Without `programs.clash-verge.enable`, clash-verge-rev will refuse to start.
418418

419+
- `services.homepage-dashboard` now requires the `allowedHosts` option to be set in accordance with the [documentation](https://gethomepage.dev/installation/#homepage_allowed_hosts).
420+
419421
- `services.netbird.tunnels` was renamed to [`services.netbird.clients`](#opt-services.netbird.clients),
420422
hardened (using dedicated less-privileged users) and significantly extended.
421423

nixos/modules/module-list.nix

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1055,6 +1055,8 @@
10551055
./services/networking/atticd.nix
10561056
./services/networking/autossh.nix
10571057
./services/networking/avahi-daemon.nix
1058+
./services/networking/ax25/axlisten.nix
1059+
./services/networking/ax25/axports.nix
10581060
./services/networking/babeld.nix
10591061
./services/networking/bee.nix
10601062
./services/networking/biboumi.nix

nixos/modules/services/misc/homepage-dashboard.nix

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
lib,
55
...
66
}:
7-
87
let
98
cfg = config.services.homepage-dashboard;
109
# Define the settings format used for this program
@@ -29,6 +28,19 @@ in
2928
description = "Port for Homepage to bind to.";
3029
};
3130

31+
allowedHosts = lib.mkOption {
32+
type = lib.types.str;
33+
default = "localhost:8082,127.0.0.1:8082";
34+
example = "example.com";
35+
description = ''
36+
Hosts that homepage-dashboard will be running under.
37+
You will want to change this in order to acess homepage from anything other than localhost.
38+
see the upsream documentation:
39+
40+
<https://gethomepage.dev/installation/#homepage_allowed_hosts>
41+
'';
42+
};
43+
3244
environmentFile = lib.mkOption {
3345
type = lib.types.str;
3446
description = ''
@@ -215,6 +227,7 @@ in
215227
NIXPKGS_HOMEPAGE_CACHE_DIR = "/var/cache/homepage-dashboard";
216228
PORT = toString cfg.listenPort;
217229
LOG_TARGETS = "stdout";
230+
HOMEPAGE_ALLOWED_HOSTS = cfg.allowedHosts;
218231
};
219232

220233
serviceConfig = {
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
{
2+
config,
3+
lib,
4+
pkgs,
5+
...
6+
}:
7+
8+
let
9+
inherit (lib)
10+
types
11+
;
12+
13+
inherit (lib.modules)
14+
mkIf
15+
;
16+
17+
inherit (lib.options)
18+
mkEnableOption
19+
mkOption
20+
literalExpression
21+
;
22+
23+
cfg = config.services.ax25.axlisten;
24+
in
25+
{
26+
options = {
27+
28+
services.ax25.axlisten = {
29+
30+
enable = mkEnableOption "AX.25 axlisten daemon";
31+
32+
package = mkOption {
33+
type = types.package;
34+
default = pkgs.ax25-apps;
35+
defaultText = literalExpression "pkgs.ax25-apps";
36+
description = "The ax25-apps package to use.";
37+
};
38+
39+
config = mkOption {
40+
type = types.str;
41+
default = "-art";
42+
description = ''
43+
Options that will be passed to the axlisten daemon.
44+
'';
45+
};
46+
};
47+
};
48+
49+
config = mkIf cfg.enable {
50+
51+
systemd.services.axlisten = {
52+
description = "AX.25 traffic monitor";
53+
wantedBy = [ "multi-user.target" ];
54+
after = [ "ax25-axports.target" ];
55+
requires = [ "ax25-axports.target" ];
56+
serviceConfig = {
57+
Type = "exec";
58+
ExecStart = "${cfg.package}/bin/axlisten ${cfg.config}";
59+
};
60+
};
61+
};
62+
}

0 commit comments

Comments
 (0)