diff --git a/doc/languages-frameworks/neovim.section.md b/doc/languages-frameworks/neovim.section.md index 71bc52b541dc..b8a7e259a2bb 100644 --- a/doc/languages-frameworks/neovim.section.md +++ b/doc/languages-frameworks/neovim.section.md @@ -59,7 +59,7 @@ For instance, `sqlite-lua` needs `g:sqlite_clib_path` to be set to work. Nixpkgs - `neovimRcContent`: Extra vimL code sourced by the generated `init.lua`. - `wrapperArgs`: Extra arguments forwarded to the `makeWrapper` call. - `wrapRc`: Nix, not being able to write in your `$HOME`, loads the - generated Neovim configuration via its `-u` argument, i.e. : `-u /nix/store/...generatedInit.lua`. This has side effects like preventing Neovim from reading your config in `$XDG_CONFIG_HOME` (see bullet 7 of [`:help startup`](https://neovim.io/doc/user/starting.html#_initialization) in Neovim). Disable it if you want to generate your own wrapper. You can still reuse while reusing the logic of the nixpkgs wrapper and access the generated config via `neovim.passthru.initRc`. + generated Neovim configuration via the `$VIMINIT` environment variable, i.e. : `export VIMINIT='lua dofile("/nix/store/…-init.lua")'`. This has side effects like preventing Neovim from sourcing your `init.lua` in `$XDG_CONFIG_HOME/nvim` (see bullet 7 of [`:help startup`](https://neovim.io/doc/user/starting.html#startup) in Neovim). Disable it if you want to generate your own wrapper. You can still reuse the generated vimscript init code via `neovim.passthru.initRc`. - `plugins`: A list of plugins to add to the wrapper. ``` diff --git a/doc/release-notes/rl-2511.section.md b/doc/release-notes/rl-2511.section.md index 33a2138756b7..dc12ad11a466 100644 --- a/doc/release-notes/rl-2511.section.md +++ b/doc/release-notes/rl-2511.section.md @@ -37,4 +37,6 @@ ### Additions and Improvements {#sec-nixpkgs-release-25.11-lib-additions-improvements} -- Create the first release note entry in this section! +- `neovim`: Added support for the `vim.o.exrc` option, the `VIMINIT` environment variable, and sourcing of `sysinit.vim`. + + See the neovim help page [`:help startup`](https://neovim.io/doc/user/starting.html#startup) for more information, as well as [the nixpkgs neovim wrapper documentation](#neovim-custom-configuration). diff --git a/nixos/modules/services/cluster/kubernetes/kubelet.nix b/nixos/modules/services/cluster/kubernetes/kubelet.nix index aa759e20f49f..ca7b524081f6 100644 --- a/nixos/modules/services/cluster/kubernetes/kubelet.nix +++ b/nixos/modules/services/cluster/kubernetes/kubelet.nix @@ -336,7 +336,10 @@ in [ gitMinimal openssh - util-linux + # TODO (#409339): remove this patch. We had to add it to avoid a mass rebuild + # for the 25.05 release. Once the staging cycle referenced in the above PR completes, + # switch back to plain util-linux. + util-linux.withPatches iproute2 ethtool thin-provisioning-tools diff --git a/nixos/tests/stratis/encryption.nix b/nixos/tests/stratis/encryption.nix index 719d8dd25841..583c881ecaac 100644 --- a/nixos/tests/stratis/encryption.nix +++ b/nixos/tests/stratis/encryption.nix @@ -30,7 +30,7 @@ import ../make-test-python.nix ( machine.succeed("stratis pool rebind keyring testpool testkey2") # test restarting encrypted pool machine.succeed("stratis pool stop --name testpool") - machine.succeed("stratis pool start --name testpool --unlock-method keyring") + machine.succeed("stratis pool start --name testpool --unlock-method any") ''; } ) diff --git a/pkgs/applications/editors/neovim/wrapper.nix b/pkgs/applications/editors/neovim/wrapper.nix index 1ba4130cf7b9..97c7409404b6 100644 --- a/pkgs/applications/editors/neovim/wrapper.nix +++ b/pkgs/applications/editors/neovim/wrapper.nix @@ -48,7 +48,7 @@ let viAlias ? false, # additional argument not generated by makeNeovimConfig - # it will append "-u " to the wrapped arguments + # it sets the VIMINIT environment variable to "lua dofile('${customRc}')" # set to false if you want to control where to save the generated config # (e.g., in ~/.config/init.vim or project/.nvimrc) wrapRc ? true, @@ -193,8 +193,9 @@ let "${placeholder "out"}/rplugin.vim" ] ++ lib.optionals finalAttrs.wrapRc [ - "--add-flags" - "-u ${writeText "init.lua" rcContent}" + "--set-default" + "VIMINIT" + "lua dofile('${writeText "init.lua" rcContent}')" ] ++ finalAttrs.generatedWrapperArgs; diff --git a/pkgs/applications/networking/cluster/k3s/builder.nix b/pkgs/applications/networking/cluster/k3s/builder.nix index 8cbb824230f0..e2662f989452 100644 --- a/pkgs/applications/networking/cluster/k3s/builder.nix +++ b/pkgs/applications/networking/cluster/k3s/builder.nix @@ -333,16 +333,10 @@ let }).overrideAttrs overrideContainerdAttrs; - # TODO (#405952): remove this patch. We had to add it to avoid a mass rebuild - # for the 25.05 release. Once the above PR is merged, switch back to plain util-linuxMinimal. - k3sUtilLinux = util-linuxMinimal.overrideAttrs (prev: { - patches = - prev.patches or [ ] - ++ lib.singleton (fetchpatch { - url = "https://github.com/util-linux/util-linux/commit/7dbfe31a83f45d5aef2b508697e9511c569ffbc8.patch"; - hash = "sha256-bJqpZiPli5Pm/XpDA445Ab5jesXrlcnaO6e4V0B3rSw="; - }); - }); + # TODO (#409339): remove this patch. We had to add it to avoid a mass rebuild + # for the 25.05 release. Once the staging cycle referenced in the above PR completes, + # switch back to plain util-linuxMinimal. + k3sUtilLinux = util-linuxMinimal.withPatches; in buildGoModule rec { pname = "k3s"; diff --git a/pkgs/by-name/_1/_1password-cli/package.nix b/pkgs/by-name/_1/_1password-cli/package.nix index fbd1e8db8cc9..c3bfcf383d1f 100644 --- a/pkgs/by-name/_1/_1password-cli/package.nix +++ b/pkgs/by-name/_1/_1password-cli/package.nix @@ -23,13 +23,13 @@ let if extension == "zip" then fetchzip args else fetchurl args; pname = "1password-cli"; - version = "2.31.0"; + version = "2.31.1"; sources = rec { - aarch64-linux = fetch "linux_arm64" "sha256-l42h6mGqcb7Wy1ryXM0gxnt2fUUDr8+4nc9qIG0nDgc=" "zip"; - i686-linux = fetch "linux_386" "sha256-3oxBu0SAbWNgHZxirmKXm0Mk/uRZRPX/qCfYvkANTfM=" "zip"; - x86_64-linux = fetch "linux_amd64" "sha256-hlktdQCGMtTIbd2j9x0aHKCIoIAydDj/caKaIWJfJTI=" "zip"; + aarch64-linux = fetch "linux_arm64" "sha256-cFGIzB1452XVSkajHbD45Pxp8Hfu10q68nMnbE9dtzg=" "zip"; + i686-linux = fetch "linux_386" "sha256-EckUFVr5MQ75XW4eHCxWt9vtcqzAFHLUDlmr//pcmf8=" "zip"; + x86_64-linux = fetch "linux_amd64" "sha256-jPZxqaLrtBC42bGVOByKuORyl2YFicILlQDHkNuuJuc=" "zip"; aarch64-darwin = - fetch "apple_universal" "sha256-PahPWQ4HpaOvEC1zda8X1Bft+8l/0qGWSJUEcfuWlxg=" + fetch "apple_universal" "sha256-B71apQ2JPyyVHhavMziKNtLNs+WfCDdUEtvfwGFkE+Y=" "pkg"; x86_64-darwin = aarch64-darwin; }; diff --git a/pkgs/by-name/mc/mcat-unwrapped/package.nix b/pkgs/by-name/mc/mcat-unwrapped/package.nix index 9732a5dfd3ab..12e941b39717 100644 --- a/pkgs/by-name/mc/mcat-unwrapped/package.nix +++ b/pkgs/by-name/mc/mcat-unwrapped/package.nix @@ -6,16 +6,16 @@ }: rustPlatform.buildRustPackage (finalAttrs: { pname = "mcat-unwrapped"; - version = "0.2.8"; + version = "0.3.0"; src = fetchFromGitHub { owner = "Skardyy"; repo = "mcat"; tag = "v${finalAttrs.version}"; - hash = "sha256-XvZBikp+Q/pe80eOTQj2rKZ14kXEUBjIroWsh8xmr8A="; + hash = "sha256-+uq2mqUpdpO5lStf4dj6nYpOff3LOL45fXB338mnlZ8="; }; - cargoHash = "sha256-DIvKCPyqD82IgOqs7+fsAz3sj5IkXacxfZOttSEQ1aA="; + cargoHash = "sha256-m1TJ255jwQOEGqz22t5CmrW0zRyGqgQls84yGK5taWU="; passthru = { updateScript = nix-update-script { }; diff --git a/pkgs/by-name/pr/pretty-php/package.nix b/pkgs/by-name/pr/pretty-php/package.nix index 97efb357c8bb..ab9e61be897d 100644 --- a/pkgs/by-name/pr/pretty-php/package.nix +++ b/pkgs/by-name/pr/pretty-php/package.nix @@ -6,16 +6,16 @@ }: php.buildComposerProject2 (finalAttrs: { pname = "pretty-php"; - version = "0.4.93"; + version = "0.4.94"; src = fetchFromGitHub { owner = "lkrms"; repo = "pretty-php"; tag = "v${finalAttrs.version}"; - hash = "sha256-5gFTL4hcnEMKrffMpLRfneq5zeMHH50fjpvZcnefJZ8="; + hash = "sha256-zBhxuEViLxeQ9m3u1L0wYqeL+YEWWwvJS7PtsFPO5QU="; }; - vendorHash = "sha256-cp6WPlEc3WCW19UqLgrqMv8zE9UrCiTuN+WqTpAsuWE="; + vendorHash = "sha256-vnmp/HLzaOzHu22lzugRXIHL43YQ/hm223gcUbIiLT4="; passthru = { tests.version = testers.testVersion { diff --git a/pkgs/by-name/st/stratis-cli/package.nix b/pkgs/by-name/st/stratis-cli/package.nix index d38088428f79..d63f3e442dd0 100644 --- a/pkgs/by-name/st/stratis-cli/package.nix +++ b/pkgs/by-name/st/stratis-cli/package.nix @@ -7,21 +7,21 @@ python3Packages.buildPythonApplication rec { pname = "stratis-cli"; - version = "3.7.0"; + version = "3.8.1"; pyproject = true; src = fetchFromGitHub { owner = "stratis-storage"; - repo = pname; + repo = "stratis-cli"; tag = "v${version}"; - hash = "sha256-F/RP/bWf2fV1IvNbrkYX3d94om1kACNe+oJI8pXM5P4="; + hash = "sha256-zyby53QEC9txH/EP0plV4vUg9fRV6tZJtdQEWQ2iKCA="; }; - nativeBuildInputs = with python3Packages; [ + build-system = with python3Packages; [ setuptools ]; - propagatedBuildInputs = with python3Packages; [ + dependencies = with python3Packages; [ dbus-client-gen dbus-python-client-gen justbytes @@ -42,6 +42,8 @@ python3Packages.buildPythonApplication rec { pythonImportsCheck = [ "stratis_cli" ]; + env.STRATIS_STRICT_POOL_FEATURES = "1"; # required for unit tests + passthru.tests = nixosTests.stratis; meta = with lib; { diff --git a/pkgs/by-name/st/stratisd/package.nix b/pkgs/by-name/st/stratisd/package.nix index 1b8259928646..2b88e75a6bba 100644 --- a/pkgs/by-name/st/stratisd/package.nix +++ b/pkgs/by-name/st/stratisd/package.nix @@ -29,18 +29,18 @@ stdenv.mkDerivation rec { pname = "stratisd"; - version = "3.7.3"; + version = "3.8.1"; src = fetchFromGitHub { owner = "stratis-storage"; - repo = pname; + repo = "stratisd"; tag = "stratisd-v${version}"; - hash = "sha256-W8ssLTFU36t6iLrt9S9V8qcN7EP4IsL7VbhNPLpftio="; + hash = "sha256-vYqvYC3r1TQ62YtMJYOx8bRxFJOam5ntbOS+FJZL/gQ="; }; cargoDeps = rustPlatform.fetchCargoVendor { inherit src; - hash = "sha256-blhB+UfvG22Xe2O0csZ00/jgnVcLTUIkDJG5P22mffQ="; + hash = "sha256-B3n9Ot4CFcVL/R2wHPuDIPBca/5pb2VgcuP1pxnnUrA="; }; postPatch = '' diff --git a/pkgs/by-name/ut/util-linux/fix-mount-regression.patch b/pkgs/by-name/ut/util-linux/fix-mount-regression.patch new file mode 100644 index 000000000000..973ba7493e7d --- /dev/null +++ b/pkgs/by-name/ut/util-linux/fix-mount-regression.patch @@ -0,0 +1,39 @@ +From 7dbfe31a83f45d5aef2b508697e9511c569ffbc8 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Mon, 24 Mar 2025 14:31:05 +0100 +Subject: [PATCH] libmount: fix --no-canonicalize regression + +Fixes: https://github.com/util-linux/util-linux/issues/3474 +Signed-off-by: Karel Zak +--- + libmount/src/context.c | 3 --- + sys-utils/mount.8.adoc | 2 +- + 2 files changed, 1 insertion(+), 4 deletions(-) + +diff --git a/libmount/src/context.c b/libmount/src/context.c +index 0323cb23d34..15a8ad3bbd0 100644 +--- a/libmount/src/context.c ++++ b/libmount/src/context.c +@@ -530,9 +530,6 @@ int mnt_context_is_xnocanonicalize( + assert(cxt); + assert(type); + +- if (mnt_context_is_nocanonicalize(cxt)) +- return 1; +- + ol = mnt_context_get_optlist(cxt); + if (!ol) + return 0; +diff --git a/sys-utils/mount.8.adoc b/sys-utils/mount.8.adoc +index 4f23f8d1f0e..5103b91c578 100644 +--- a/sys-utils/mount.8.adoc ++++ b/sys-utils/mount.8.adoc +@@ -756,7 +756,7 @@ Allow to make a target directory (mountpoint) if it does not exist yet. The opti + *X-mount.nocanonicalize*[**=**_type_]:: + Allows disabling of canonicalization for mount source and target paths. By default, the `mount` command resolves all paths to their absolute paths without symlinks. However, this behavior may not be desired in certain situations, such as when binding a mount over a symlink, or a symlink over a directory or another symlink. The optional argument _type_ can be either "source" or "target" (mountpoint). If no _type_ is specified, then canonicalization is disabled for both types. This mount option does not affect the conversion of source tags (e.g. LABEL= or UUID=) and fstab processing. + + +-The command line option *--no-canonicalize* overrides this mount option and affects all path and tag conversions in all situations, but it does not modify flags for open_tree syscalls. ++The command-line option *--no-canonicalize* overrides this mount option and affects all path and tag conversions in all situations, but for backward compatibility, it does not modify open_tree syscall flags and does not allow the bind-mount over a symlink use case. + + + Note that *mount*(8) still sanitizes and canonicalizes the source and target paths specified on the command line by non-root users, regardless of the X-mount.nocanonicalize setting. + diff --git a/pkgs/by-name/ut/util-linux/package.nix b/pkgs/by-name/ut/util-linux/package.nix index eef5a90698c7..66b24424b7ef 100644 --- a/pkgs/by-name/ut/util-linux/package.nix +++ b/pkgs/by-name/ut/util-linux/package.nix @@ -34,7 +34,7 @@ let isMinimal = cryptsetupSupport == false && !nlsSupport && !ncursesSupport && !systemdSupport; in -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalPackage: rec { pname = "util-linux" + lib.optionalString isMinimal "-minimal"; version = "2.41"; @@ -200,6 +200,18 @@ stdenv.mkDerivation rec { ''; passthru = { + # TODO (#409339): Remove this hack. We had to add it to avoid a mass rebuild + # for the 25.05 release to fix Kubernetes. Once the staging cycle referenced + # in the above PR completes, this passthru and all consumers of it should go away. + withPatches = finalPackage.overrideAttrs (prev: { + patches = lib.unique ( + prev.patches or [ ] + ++ [ + ./fix-mount-regression.patch + ] + ); + }); + updateScript = gitUpdater { # No nicer place to find latest release. url = "https://git.kernel.org/pub/scm/utils/util-linux/util-linux.git"; @@ -237,4 +249,4 @@ stdenv.mkDerivation rec { ]; priority = 6; # lower priority than coreutils ("kill") and shadow ("login" etc.) packages }; -} +}) diff --git a/pkgs/by-name/ve/versitygw/package.nix b/pkgs/by-name/ve/versitygw/package.nix index 6c2647111389..71c96193c772 100644 --- a/pkgs/by-name/ve/versitygw/package.nix +++ b/pkgs/by-name/ve/versitygw/package.nix @@ -6,16 +6,16 @@ buildGoModule rec { pname = "versitygw"; - version = "1.0.13"; + version = "1.0.14"; src = fetchFromGitHub { owner = "versity"; repo = "versitygw"; tag = "v${version}"; - hash = "sha256-BsosWFzaN7P/QXPf86t+fJ6PkBGuykUCTmFEGCgclOE="; + hash = "sha256-/64SiVZUXGRI3guvSIqDBXOmbxucPCZEceCObTee6jI="; }; - vendorHash = "sha256-yDHuNqrCfrvKz4spofdw9EH7J9JZvpCYejlz893nwBk="; + vendorHash = "sha256-HzPjHNZdQ+IJl91QviVG6zydhTb/1tOZGdFBpHLUTfE="; doCheck = false; # Require access to online S3 services diff --git a/pkgs/by-name/xo/xow_dongle-firmware/package.nix b/pkgs/by-name/xo/xow_dongle-firmware/package.nix index a91702950a59..e0cd58af0470 100644 --- a/pkgs/by-name/xo/xow_dongle-firmware/package.nix +++ b/pkgs/by-name/xo/xow_dongle-firmware/package.nix @@ -4,36 +4,53 @@ fetchurl, cabextract, }: - stdenvNoCC.mkDerivation rec { pname = "xow_dongle-firmware"; - version = "2017-07"; + version = "0-unstable-2025-04-22"; + + srcs = [ + (fetchurl { + name = "xow_dongle.cab"; + url = "http://download.windowsupdate.com/c/msdownload/update/driver/drvs/2017/07/1cd6a87c-623f-4407-a52d-c31be49e925c_e19f60808bdcbfbd3c3df6be3e71ffc52e43261e.cab"; + hash = "sha256-ZXNqhP9ANmRbj47GAr7ZGrY1MBnJyzIz3sq5/uwPbwQ="; + }) + (fetchurl { + name = "xow_dongle_045e_02e6.cab"; + url = "https://catalog.s.download.windowsupdate.com/d/msdownload/update/driver/drvs/2015/12/20810869_8ce2975a7fbaa06bcfb0d8762a6275a1cf7c1dd3.cab"; + hash = "sha256-5jiKJ6dXVpIN5zryRo461V16/vWavDoLUICU4JHRnwg="; + }) + ]; + + sourceRoot = "."; dontConfigure = true; dontBuild = true; - src = fetchurl { - url = "http://download.windowsupdate.com/c/msdownload/update/driver/drvs/2017/07/1cd6a87c-623f-4407-a52d-c31be49e925c_e19f60808bdcbfbd3c3df6be3e71ffc52e43261e.cab"; - sha256 = "013g1zngxffavqrk5jy934q3bdhsv6z05ilfixdn8dj0zy26lwv5"; - }; - nativeBuildInputs = [ cabextract ]; - sourceRoot = "."; + unpackPhase = '' + sources=($srcs) - unpackCmd = '' - cabextract -F FW_ACC_00U.bin ${src} + cabextract -F FW_ACC_00U.bin ''${sources[0]} + mv FW_ACC_00U.bin xow_dongle.bin + + cabextract -F FW_ACC_00U.bin ''${sources[1]} + mv FW_ACC_00U.bin xow_dongle_045e_02e6.bin ''; installPhase = '' - install -Dm644 FW_ACC_00U.bin ${placeholder "out"}/lib/firmware/xow_dongle.bin + install -Dm644 xow_dongle.bin $out/lib/firmware/xow_dongle.bin + install -Dm644 xow_dongle_045e_02e6.bin $out/lib/firmware/xow_dongle_045e_02e6.bin ''; meta = with lib; { description = "Xbox One wireless dongle firmware"; homepage = "https://www.xbox.com/en-NZ/accessories/adapters/wireless-adapter-windows"; license = licenses.unfree; - maintainers = with lib.maintainers; [ rhysmdnz ]; + maintainers = with maintainers; [ + rhysmdnz + fazzi + ]; platforms = platforms.linux; }; } diff --git a/pkgs/desktops/lxqt/screengrab/default.nix b/pkgs/desktops/lxqt/screengrab/default.nix index 430e2abff2b5..e652e55424d8 100644 --- a/pkgs/desktops/lxqt/screengrab/default.nix +++ b/pkgs/desktops/lxqt/screengrab/default.nix @@ -6,30 +6,34 @@ autoPatchelfHook, gitUpdater, kwindowsystem, + layer-shell-qt, libXdmcp, libpthreadstubs, libqtxdg, + lxqt-build-tools, perl, pkg-config, qtbase, qtsvg, qttools, + qtwayland, wrapQtAppsHook, }: stdenv.mkDerivation rec { pname = "screengrab"; - version = "2.10.0"; + version = "3.0.0"; src = fetchFromGitHub { owner = "lxqt"; repo = pname; rev = version; - hash = "sha256-cTDGVNnnjgIiCS/KzEVmTagJvNwDKAP2UrWKwdn3WmE="; + hash = "sha256-6cGj3Ijv4DsAdJjcHKUg5et+yYc5miIHHZOTD2D9ASk="; }; nativeBuildInputs = [ cmake + lxqt-build-tools pkg-config perl # needed by LXQtTranslateDesktop.cmake qttools @@ -39,11 +43,13 @@ stdenv.mkDerivation rec { buildInputs = [ kwindowsystem + layer-shell-qt libXdmcp libpthreadstubs libqtxdg qtbase qtsvg + qtwayland ]; passthru.updateScript = gitUpdater { }; diff --git a/pkgs/os-specific/linux/xone/default.nix b/pkgs/os-specific/linux/xone/default.nix index 2d25ba6cdb67..0a53277ff9bf 100644 --- a/pkgs/os-specific/linux/xone/default.nix +++ b/pkgs/os-specific/linux/xone/default.nix @@ -4,16 +4,15 @@ fetchFromGitHub, kernel, }: - stdenv.mkDerivation (finalAttrs: { pname = "xone"; - version = "0.3-unstable-2024-12-23"; + version = "0.3.1"; src = fetchFromGitHub { owner = "dlundqvist"; repo = "xone"; - rev = "6b9d59aed71f6de543c481c33df4705d4a590a31"; - hash = "sha256-MpxP2cb0KEPKaarjfX/yCbkxIFTwwEwVpTMhFcis+A4="; + tag = "v${finalAttrs.version}"; + hash = "sha256-qMZlQgAe5vB5zfuhyK7EBxIwfhnC5MvnF/qr3BGnDms="; }; setSourceRoot = '' @@ -43,6 +42,6 @@ stdenv.mkDerivation (finalAttrs: { fazzi ]; platforms = platforms.linux; - broken = kernel.kernelOlder "5.11"; + broken = kernel.kernelOlder "6"; }; })