xdg-desktop-portal 1.20.1 added support for searching all
directories in XDG_DATA_DIRS for portals:
https://github.com/flatpak/xdg-desktop-portal/commit/bb37e260db3f91b93227cb559745468922ca29fd
This made the NIX_XDG_DESKTOP_PORTAL_DIR patch redundant, since
NixOS already ensures /run/current-system/sw/share is on
XDG_DATA_DIRS.
The patch also does not compose well: it hardcodes a single
portal directory, so when both NixOS and home-manager set it,
home-manager's value overwrote NixOS's, breaking portal
discovery for anything only registered by NixOS (e.g. Cosmic
alongside a home-manager-configured Hyprland).
Those options mapped to the deprecated V1 format,
and didn't allow using the newer format.
If any of the older options are used,
a warning is displayed,
and the generated registries.conf file follows the old V1 format.
For more information about the new format,
see https://github.com/containers/image/blob/main/docs/containers-registries.conf.5.md
Link QEMU firmware descriptors to /etc/qemu/firmware, where
systemd-vmspawn and other tools discover firmware for running VMs.
Signed-off-by: Paul Meyer <katexochen0@gmail.com>
https://github.com/TriliumNext/Trilium/releases/tag/v0.104.0
Breaking changes:
- Backend scripting is now disabled by default
- SQL console access is disabled by default
- The Desktop application has been hardened against potential RCE attacks
- The desktop application now no longer opens its port on the local
network by default
- OMPL v1 export was dropped from this release
Adds modular service option `process.environment` to pass an attrset of
env vars to the service manager.
`null` values actively unset the variable before the process starts.
Values are `coercedTo (either path package) str` via interpolation,
mirroring `pathOrStr`, so paths and packages render to store-path strings
with string context preserved. The type is `lazyAttrsOf`, allowing one
entry to reference another (recursive env definitions).
The systemd backend unsets entries using `unexport` in `ExecStart`,
so the variable is absent even when `Environment=` or
the inherited environment would otherwise supply it.
The systemd backend lifts non-null entries onto the primary unit wrapped
per-key with `lib.mkDefault` so they merge with the existing priority-100
`environment.PATH` binding in `nixos/lib/systemd-lib.nix` while still letting
explicit `systemd.service.environment.<k>` overrides win.
The systemd extra-root modules are loaded via `importApply`, closing `pkgs`
over `systemd/service.nix` as a non-module argument (matching the portable
`lib/services/service.nix` convention) instead of passing a redundant `pkgs`
specialArg. The docs eval threads `pkgs = throw` accordingly.
Portable coverage lives in `testers.modularServiceCompliance`: an eval-level
check that a set value round-trips and a `null` value is preserved, plus an
integration test that records the service's own `/proc/$$/environ` and asserts
the set variable is present and the null variable is absent. The
systemd-specific grep assertions in `systemd/test.nix` cover how systemd
achieves this (`Environment=` rendering, null filtering, the `unexport`
wrapper, and override precedence).
Assisted-by: Claude:claude-opus-4-8
With this patch I essentially get the expected list of maintainers for changes in
nixos-tests.
The downside of this approach is that the CI facility assumes that
there's at most a single definition of `meta.maintainers`, however it
can be more in a module-system context.
For simplicity, just use the first definition location for the time
being.
Verified with
let
lib = import ./lib;
maintainers = import ./ci/eval/compare/maintainers.nix { inherit lib; };
in
maintainers {
changedFiles = [
"nixos/tests/matrix/matrix-authentication-service.nix"
];
affectedAttrPaths = map (lib.splitString ".") [
"nixosTests.matrix-authentication-service"
];
}