diff --git a/nixos/doc/manual/configuration/gpu-accel.chapter.md b/nixos/doc/manual/configuration/gpu-accel.chapter.md index 2cbf2c51bb70..0046337320a5 100644 --- a/nixos/doc/manual/configuration/gpu-accel.chapter.md +++ b/nixos/doc/manual/configuration/gpu-accel.chapter.md @@ -91,16 +91,7 @@ All successfully loaded drivers are exposed to the application as different GPUs. In NixOS, there are two ways to make ICD files visible to Vulkan applications: an environment variable and a module option. -The first option is through the `VK_ICD_FILENAMES` environment variable. -This variable can contain multiple JSON files, separated by `:`. For -example: - -```ShellSession -$ export \ - VK_ICD_FILENAMES=`nix-build '' --no-out-link -A amdvlk`/share/vulkan/icd.d/amd_icd64.json -``` - -The second mechanism is to add the Vulkan driver package to +The way to do this is to add the Vulkan driver package to [](#opt-hardware.graphics.extraPackages). This links the ICD file under `/run/opengl-driver`, where it will be visible to the ICD loader. @@ -129,25 +120,7 @@ vulkan-tools package. Modern AMD [Graphics Core Next](https://en.wikipedia.org/wiki/Graphics_Core_Next) (GCN) GPUs are -supported through either radv, which is part of mesa, or the amdvlk -package. Adding the amdvlk package to -[](#opt-hardware.graphics.extraPackages) -makes amdvlk the default driver and hides radv and lavapipe from the device list. -A specific driver can be forced as follows: - -```nix -{ - hardware.graphics.extraPackages = [ pkgs.amdvlk ]; - - # To enable Vulkan support for 32-bit applications, also add: - hardware.graphics.extraPackages32 = [ pkgs.driversi686Linux.amdvlk ]; - - # Force radv - environment.variables.AMD_VULKAN_ICD = "RADV"; - # Or - environment.variables.VK_ICD_FILENAMES = "/run/opengl-driver/share/vulkan/icd.d/radeon_icd.x86_64.json"; -} -``` +supported through the RADV driver, which is part of mesa. ## VA-API {#sec-gpu-accel-va-api} diff --git a/nixos/doc/manual/release-notes/rl-2411.section.md b/nixos/doc/manual/release-notes/rl-2411.section.md index 997c0bf1f325..f0fac1194f2f 100644 --- a/nixos/doc/manual/release-notes/rl-2411.section.md +++ b/nixos/doc/manual/release-notes/rl-2411.section.md @@ -29,7 +29,7 @@ - Convenience options for `amdgpu`, the open source driver for Radeon cards, are now available under [`hardware.amdgpu`](#opt-hardware.amdgpu.initrd.enable). -- [AMDVLK](https://github.com/GPUOpen-Drivers/AMDVLK), AMD's open source Vulkan driver, is now available to be configured under the [`hardware.amdgpu.amdvlk`](#opt-hardware.amdgpu.amdvlk.enable) option. +- [AMDVLK](https://github.com/GPUOpen-Drivers/AMDVLK), AMD's open source Vulkan driver, is now available to be configured under the {option}`hardware.amdgpu.amdvlk` option. This also allows configuring runtime settings for AMDVLK, including enabling experimental features. - The `moonlight-qt` package (for [Moonlight game streaming](https://moonlight-stream.org/)) now has HDR support on Linux systems. diff --git a/nixos/doc/manual/release-notes/rl-2511.section.md b/nixos/doc/manual/release-notes/rl-2511.section.md index 05984ef78ee9..6701aee186b7 100644 --- a/nixos/doc/manual/release-notes/rl-2511.section.md +++ b/nixos/doc/manual/release-notes/rl-2511.section.md @@ -152,6 +152,8 @@ - The `no-broken-symlink` build hook now also fails builds whose output derivation contains links to $TMPDIR (typically /build, which contains the build directory). +- `hardware.amdgpu.amdvlk` and the `amdvlk` package have been removed, as they have been deprecated by AMD. These have been replaced with the RADV driver from Mesa, which is enabled by default. + - The `services.polipo` module has been removed as `polipo` is unmaintained and archived upstream. - `virtualisation.lxd` has been removed due to lack of Nixpkgs maintenance. Users can migrate to `virtualisation.incus`, a fork of LXD, as a replacement. See [Incus migration documentation](https://linuxcontainers.org/incus/docs/main/howto/server_migrate_lxd/) for migration information. diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 6b10044e8f50..3171684a30e6 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -631,7 +631,6 @@ ./services/hardware/acpid.nix ./services/hardware/actkbd.nix ./services/hardware/amdgpu.nix - ./services/hardware/amdvlk.nix ./services/hardware/argonone.nix ./services/hardware/asusd.nix ./services/hardware/auto-cpufreq.nix diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix index d72f1a9c9211..3451c82297ce 100644 --- a/nixos/modules/rename.nix +++ b/nixos/modules/rename.nix @@ -34,6 +34,11 @@ in "fontconfig" "penultimate" ] "The corresponding package has removed from nixpkgs.") + (mkRemovedOptionModule [ + "hardware" + "amdgpu" + "amdvlk" + ] "'amdvlk' has been removed. The replacement driver RADV, part of Mesa, is enabled by default.") (mkRemovedOptionModule [ "hardware" "brightnessctl" ] '' The brightnessctl module was removed because newer versions of brightnessctl don't require the udev rules anymore (they can use the diff --git a/nixos/modules/services/desktop-managers/cosmic.nix b/nixos/modules/services/desktop-managers/cosmic.nix index eae24f71eacc..342e1d7e3d5a 100644 --- a/nixos/modules/services/desktop-managers/cosmic.nix +++ b/nixos/modules/services/desktop-managers/cosmic.nix @@ -72,6 +72,8 @@ in environment.pathsToLink = [ "/share/backgrounds" "/share/cosmic" + "/share/cosmic-layouts" + "/share/cosmic-themes" ]; environment.systemPackages = utils.removePackagesByName ( corePkgs diff --git a/nixos/modules/services/hardware/amdgpu.nix b/nixos/modules/services/hardware/amdgpu.nix index 4aff9cdd077d..0958ef58b4b0 100644 --- a/nixos/modules/services/hardware/amdgpu.nix +++ b/nixos/modules/services/hardware/amdgpu.nix @@ -40,7 +40,6 @@ in }; opencl.enable = lib.mkEnableOption ''OpenCL support using ROCM runtime library''; - # cfg.amdvlk option is defined in ./amdvlk.nix module }; config = { diff --git a/nixos/modules/services/hardware/amdvlk.nix b/nixos/modules/services/hardware/amdvlk.nix deleted file mode 100644 index ba0349a069bc..000000000000 --- a/nixos/modules/services/hardware/amdvlk.nix +++ /dev/null @@ -1,65 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: - -let - cfg = config.hardware.amdgpu.amdvlk; -in -{ - options.hardware.amdgpu.amdvlk = { - enable = lib.mkEnableOption "AMDVLK Vulkan driver"; - - package = lib.mkPackageOption pkgs "amdvlk" { }; - - supportExperimental.enable = lib.mkEnableOption "Experimental features support"; - - support32Bit.enable = lib.mkEnableOption "32-bit driver support"; - support32Bit.package = lib.mkPackageOption pkgs [ "driversi686Linux" "amdvlk" ] { }; - - settings = lib.mkOption { - type = with lib.types; attrsOf (either str int); - default = { }; - example = { - AllowVkPipelineCachingToDisk = 1; - ShaderCacheMode = 1; - IFH = 0; - EnableVmAlwaysValid = 1; - IdleAfterSubmitGpuMask = 1; - }; - description = '' - Runtime settings for AMDVLK to be configured {file}`/etc/amd/amdVulkanSettings.cfg`. - See [AMDVLK GitHub page](https://github.com/GPUOpen-Drivers/AMDVLK?tab=readme-ov-file#runtime-settings). - ''; - }; - }; - - config = lib.mkIf cfg.enable { - hardware.graphics = { - enable = true; - extraPackages = [ cfg.package ]; - } - // lib.optionalAttrs cfg.support32Bit.enable { - enable32Bit = true; - extraPackages32 = [ cfg.support32Bit.package ]; - }; - - environment.sessionVariables = lib.mkIf cfg.supportExperimental.enable { - AMDVLK_ENABLE_DEVELOPING_EXT = "all"; - }; - - environment.etc = lib.mkIf (cfg.settings != { }) { - "amd/amdVulkanSettings.cfg".text = lib.concatStrings ( - lib.mapAttrsToList (n: v: '' - ${n},${builtins.toString v} - '') cfg.settings - ); - }; - }; - - meta = { - maintainers = with lib.maintainers; [ johnrtitor ]; - }; -} diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 9b5a91cb36f4..63f94af949af 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -1417,7 +1417,7 @@ in systemd = runTest ./systemd.nix; systemd-analyze = runTest ./systemd-analyze.nix; systemd-binfmt = handleTestOn [ "x86_64-linux" ] ./systemd-binfmt.nix { }; - systemd-boot = handleTest ./systemd-boot.nix { }; + systemd-boot = import ./systemd-boot.nix { inherit runTest runTestOn; }; systemd-bpf = runTest ./systemd-bpf.nix; systemd-capsules = runTest ./systemd-capsules.nix; systemd-confinement = handleTest ./systemd-confinement { }; diff --git a/nixos/tests/systemd-boot.nix b/nixos/tests/systemd-boot.nix index 570cd6b93409..fe0bde317646 100644 --- a/nixos/tests/systemd-boot.nix +++ b/nixos/tests/systemd-boot.nix @@ -1,21 +1,20 @@ { - system ? builtins.currentSystem, - config ? { }, - pkgs ? import ../.. { inherit system config; }, + runTest, + runTestOn, + ... }: -with import ../lib/testing-python.nix { inherit system pkgs; }; -with pkgs.lib; - let - common = { - virtualisation.useBootLoader = true; - virtualisation.useEFIBoot = true; - boot.loader.systemd-boot.enable = true; - boot.loader.efi.canTouchEfiVariables = true; - environment.systemPackages = [ pkgs.efibootmgr ]; - system.switch.enable = true; - }; + common = + { pkgs, ... }: + { + virtualisation.useBootLoader = true; + virtualisation.useEFIBoot = true; + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + environment.systemPackages = [ pkgs.efibootmgr ]; + system.switch.enable = true; + }; commonXbootldr = { @@ -32,6 +31,9 @@ let partitionTableType = "efixbootldr"; touchEFIVars = true; installBootLoader = true; + # Don't copy the channel to avoid rebuilding this image, and all tests + # that use it, every time that nixpkgs changes + copyChannel = false; }; in { @@ -90,80 +92,23 @@ let ''; in { - basic = makeTest { - name = "systemd-boot"; - meta.maintainers = with pkgs.lib.maintainers; [ - danielfullmer - julienmalka - ]; + basic = runTest ( + { lib, ... }: + { + name = "systemd-boot"; + meta.maintainers = with lib.maintainers; [ + danielfullmer + julienmalka + ]; - nodes.machine = common; - - testScript = '' - machine.start() - machine.wait_for_unit("multi-user.target") - - machine.succeed("test -e /boot/loader/entries/nixos-generation-1.conf") - machine.succeed("grep 'sort-key nixos' /boot/loader/entries/nixos-generation-1.conf") - - # Ensure we actually booted using systemd-boot - # Magic number is the vendor UUID used by systemd-boot. - machine.succeed( - "test -e /sys/firmware/efi/efivars/LoaderEntrySelected-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f" - ) - - # "bootctl install" should have created an EFI entry - machine.succeed('efibootmgr | grep "Linux Boot Manager"') - ''; - }; - - # Test that systemd-boot works with secure boot - secureBoot = makeTest { - name = "systemd-boot-secure-boot"; - - nodes.machine = { - imports = [ common ]; - environment.systemPackages = [ pkgs.sbctl ]; - virtualisation.useSecureBoot = true; - }; - - testScript = - let - efiArch = pkgs.stdenv.hostPlatform.efiArch; - in - { nodes, ... }: - '' - machine.start(allow_reboot=True) - machine.wait_for_unit("multi-user.target") - - machine.succeed("sbctl create-keys") - machine.succeed("sbctl enroll-keys --yes-this-might-brick-my-machine") - machine.succeed('sbctl sign /boot/EFI/systemd/systemd-boot${efiArch}.efi') - machine.succeed('sbctl sign /boot/EFI/BOOT/BOOT${toUpper efiArch}.EFI') - machine.succeed('sbctl sign /boot/EFI/nixos/*${nodes.machine.system.boot.loader.kernelFile}.efi') - - machine.reboot() - - assert "Secure Boot: enabled (user)" in machine.succeed("bootctl status") - ''; - }; - - basicXbootldr = makeTest { - name = "systemd-boot-xbootldr"; - meta.maintainers = with pkgs.lib.maintainers; [ sdht0 ]; - - nodes.machine = commonXbootldr; - - testScript = - { nodes, ... }: - '' - ${customDiskImage nodes} + nodes.machine = common; + testScript = '' machine.start() machine.wait_for_unit("multi-user.target") - machine.succeed("test -e /efi/EFI/systemd/systemd-bootx64.efi") machine.succeed("test -e /boot/loader/entries/nixos-generation-1.conf") + machine.succeed("grep 'sort-key nixos' /boot/loader/entries/nixos-generation-1.conf") # Ensure we actually booted using systemd-boot # Magic number is the vendor UUID used by systemd-boot. @@ -174,140 +119,217 @@ in # "bootctl install" should have created an EFI entry machine.succeed('efibootmgr | grep "Linux Boot Manager"') ''; - }; + } + ); + + # Test that systemd-boot works with secure boot + secureBoot = runTest ( + { pkgs, lib, ... }: + { + name = "systemd-boot-secure-boot"; + + nodes.machine = + { pkgs, ... }: + { + imports = [ common ]; + environment.systemPackages = [ pkgs.sbctl ]; + virtualisation.useSecureBoot = true; + }; + + testScript = + { nodes, ... }: + let + efiArch = pkgs.stdenv.hostPlatform.efiArch; + in + '' + machine.start(allow_reboot=True) + machine.wait_for_unit("multi-user.target") + + machine.succeed("sbctl create-keys") + machine.succeed("sbctl enroll-keys --yes-this-might-brick-my-machine") + machine.succeed('sbctl sign /boot/EFI/systemd/systemd-boot${efiArch}.efi') + machine.succeed('sbctl sign /boot/EFI/BOOT/BOOT${lib.toUpper efiArch}.EFI') + machine.succeed('sbctl sign /boot/EFI/nixos/*${nodes.machine.system.boot.loader.kernelFile}.efi') + + machine.reboot() + + assert "Secure Boot: enabled (user)" in machine.succeed("bootctl status") + ''; + } + ); + + basicXbootldr = runTest ( + { lib, ... }: + { + name = "systemd-boot-xbootldr"; + meta.maintainers = with lib.maintainers; [ sdht0 ]; + + nodes.machine = commonXbootldr; + + testScript = + { nodes, ... }: + '' + ${customDiskImage nodes} + + machine.start() + machine.wait_for_unit("multi-user.target") + + machine.succeed("test -e /efi/EFI/systemd/systemd-bootx64.efi") + machine.succeed("test -e /boot/loader/entries/nixos-generation-1.conf") + + # Ensure we actually booted using systemd-boot + # Magic number is the vendor UUID used by systemd-boot. + machine.succeed( + "test -e /sys/firmware/efi/efivars/LoaderEntrySelected-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f" + ) + + # "bootctl install" should have created an EFI entry + machine.succeed('efibootmgr | grep "Linux Boot Manager"') + ''; + } + ); # Check that specialisations create corresponding boot entries. - specialisation = makeTest { - name = "systemd-boot-specialisation"; - meta.maintainers = with pkgs.lib.maintainers; [ - lukegb - julienmalka - ]; + specialisation = runTest ( + { pkgs, lib, ... }: + { + name = "systemd-boot-specialisation"; + meta.maintainers = with lib.maintainers; [ + lukegb + julienmalka + ]; - nodes.machine = - { pkgs, lib, ... }: - { - imports = [ common ]; - specialisation.something.configuration = { - boot.loader.systemd-boot.sortKey = "something"; + nodes.machine = + { pkgs, lib, ... }: + { + imports = [ common ]; + specialisation.something.configuration = { + boot.loader.systemd-boot.sortKey = "something"; - # Since qemu will dynamically create a devicetree blob when starting - # up, it is not straight forward to create an export of that devicetree - # blob without knowing before-hand all the flags we would pass to qemu - # (we would then be able to use `dumpdtb`). Thus, the following config - # will not boot, but it does allow us to assert that the boot entry has - # the correct contents. - boot.loader.systemd-boot.installDeviceTree = pkgs.stdenv.hostPlatform.isAarch64; - hardware.deviceTree.name = "dummy.dtb"; - hardware.deviceTree.package = lib.mkForce ( - pkgs.runCommand "dummy-devicetree-package" { } '' - mkdir -p $out - cp ${pkgs.emptyFile} $out/dummy.dtb - '' - ); + # Since qemu will dynamically create a devicetree blob when starting + # up, it is not straight forward to create an export of that devicetree + # blob without knowing before-hand all the flags we would pass to qemu + # (we would then be able to use `dumpdtb`). Thus, the following config + # will not boot, but it does allow us to assert that the boot entry has + # the correct contents. + boot.loader.systemd-boot.installDeviceTree = pkgs.stdenv.hostPlatform.isAarch64; + hardware.deviceTree.name = "dummy.dtb"; + hardware.deviceTree.package = lib.mkForce ( + pkgs.runCommand "dummy-devicetree-package" { } '' + mkdir -p $out + cp ${pkgs.emptyFile} $out/dummy.dtb + '' + ); + }; }; - }; - testScript = - { nodes, ... }: - '' + testScript = + { nodes, ... }: + '' + machine.start() + machine.wait_for_unit("multi-user.target") + + machine.succeed( + "test -e /boot/loader/entries/nixos-generation-1-specialisation-something.conf" + ) + machine.succeed( + "grep -q 'title NixOS (something)' /boot/loader/entries/nixos-generation-1-specialisation-something.conf" + ) + machine.succeed( + "grep 'sort-key something' /boot/loader/entries/nixos-generation-1-specialisation-something.conf" + ) + '' + + pkgs.lib.optionalString pkgs.stdenv.hostPlatform.isAarch64 '' + machine.succeed( + r"grep 'devicetree /EFI/nixos/[a-z0-9]\{32\}.*dummy' /boot/loader/entries/nixos-generation-1-specialisation-something.conf" + ) + ''; + } + ); + + # Boot without having created an EFI entry--instead using default "/EFI/BOOT/BOOTX64.EFI" + fallback = runTest ( + { pkgs, lib, ... }: + { + name = "systemd-boot-fallback"; + meta.maintainers = with lib.maintainers; [ + danielfullmer + julienmalka + ]; + + nodes.machine = + { pkgs, lib, ... }: + { + imports = [ common ]; + boot.loader.efi.canTouchEfiVariables = lib.mkForce false; + }; + + testScript = '' machine.start() machine.wait_for_unit("multi-user.target") + machine.succeed("test -e /boot/loader/entries/nixos-generation-1.conf") + + # Ensure we actually booted using systemd-boot + # Magic number is the vendor UUID used by systemd-boot. machine.succeed( - "test -e /boot/loader/entries/nixos-generation-1-specialisation-something.conf" - ) - machine.succeed( - "grep -q 'title NixOS (something)' /boot/loader/entries/nixos-generation-1-specialisation-something.conf" - ) - machine.succeed( - "grep 'sort-key something' /boot/loader/entries/nixos-generation-1-specialisation-something.conf" - ) - '' - + pkgs.lib.optionalString pkgs.stdenv.hostPlatform.isAarch64 '' - machine.succeed( - r"grep 'devicetree /EFI/nixos/[a-z0-9]\{32\}.*dummy' /boot/loader/entries/nixos-generation-1-specialisation-something.conf" + "test -e /sys/firmware/efi/efivars/LoaderEntrySelected-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f" ) + + # "bootctl install" should _not_ have created an EFI entry + machine.fail('efibootmgr | grep "Linux Boot Manager"') ''; - }; + } + ); - # Boot without having created an EFI entry--instead using default "/EFI/BOOT/BOOTX64.EFI" - fallback = makeTest { - name = "systemd-boot-fallback"; - meta.maintainers = with pkgs.lib.maintainers; [ - danielfullmer - julienmalka - ]; + update = runTest ( + { lib, ... }: + { + name = "systemd-boot-update"; + meta.maintainers = with lib.maintainers; [ + danielfullmer + julienmalka + ]; - nodes.machine = - { pkgs, lib, ... }: - { - imports = [ common ]; - boot.loader.efi.canTouchEfiVariables = mkForce false; - }; + nodes.machine = common; - testScript = '' - machine.start() - machine.wait_for_unit("multi-user.target") + testScript = '' + machine.succeed("mount -o remount,rw /boot") - machine.succeed("test -e /boot/loader/entries/nixos-generation-1.conf") + def switch(): + # Replace version inside sd-boot with something older. See magic[] string in systemd src/boot/efi/boot.c + machine.succeed( + """ + find /boot -iname '*boot*.efi' -print0 | \ + xargs -0 -I '{}' sed -i 's/#### LoaderInfo: systemd-boot .* ####/#### LoaderInfo: systemd-boot 000.0-1-notnixos ####/' '{}' + """ + ) + return machine.succeed("/run/current-system/bin/switch-to-configuration boot 2>&1") - # Ensure we actually booted using systemd-boot - # Magic number is the vendor UUID used by systemd-boot. - machine.succeed( - "test -e /sys/firmware/efi/efivars/LoaderEntrySelected-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f" - ) + output = switch() + assert "updating systemd-boot from 000.0-1-notnixos to " in output, "Couldn't find systemd-boot update message" + assert 'to "/boot/EFI/systemd/systemd-bootx64.efi"' in output, "systemd-boot not copied to to /boot/EFI/systemd/systemd-bootx64.efi" + assert 'to "/boot/EFI/BOOT/BOOTX64.EFI"' in output, "systemd-boot not copied to to /boot/EFI/BOOT/BOOTX64.EFI" - # "bootctl install" should _not_ have created an EFI entry - machine.fail('efibootmgr | grep "Linux Boot Manager"') - ''; - }; + with subtest("Test that updating works with lowercase bootx64.efi"): + machine.succeed( + # Move to tmp file name first, otherwise mv complains the new location is the same + "mv /boot/EFI/BOOT/BOOTX64.EFI /boot/EFI/BOOT/bootx64.efi.new", + "mv /boot/EFI/BOOT/bootx64.efi.new /boot/EFI/BOOT/bootx64.efi", + ) + output = switch() + assert "updating systemd-boot from 000.0-1-notnixos to " in output, "Couldn't find systemd-boot update message" + assert 'to "/boot/EFI/systemd/systemd-bootx64.efi"' in output, "systemd-boot not copied to to /boot/EFI/systemd/systemd-bootx64.efi" + assert 'to "/boot/EFI/BOOT/BOOTX64.EFI"' in output, "systemd-boot not copied to to /boot/EFI/BOOT/BOOTX64.EFI" + ''; + } + ); - update = makeTest { - name = "systemd-boot-update"; - meta.maintainers = with pkgs.lib.maintainers; [ - danielfullmer - julienmalka - ]; - - nodes.machine = common; - - testScript = '' - machine.succeed("mount -o remount,rw /boot") - - def switch(): - # Replace version inside sd-boot with something older. See magic[] string in systemd src/boot/efi/boot.c - machine.succeed( - """ - find /boot -iname '*boot*.efi' -print0 | \ - xargs -0 -I '{}' sed -i 's/#### LoaderInfo: systemd-boot .* ####/#### LoaderInfo: systemd-boot 000.0-1-notnixos ####/' '{}' - """ - ) - return machine.succeed("/run/current-system/bin/switch-to-configuration boot 2>&1") - - output = switch() - assert "updating systemd-boot from 000.0-1-notnixos to " in output, "Couldn't find systemd-boot update message" - assert 'to "/boot/EFI/systemd/systemd-bootx64.efi"' in output, "systemd-boot not copied to to /boot/EFI/systemd/systemd-bootx64.efi" - assert 'to "/boot/EFI/BOOT/BOOTX64.EFI"' in output, "systemd-boot not copied to to /boot/EFI/BOOT/BOOTX64.EFI" - - with subtest("Test that updating works with lowercase bootx64.efi"): - machine.succeed( - # Move to tmp file name first, otherwise mv complains the new location is the same - "mv /boot/EFI/BOOT/BOOTX64.EFI /boot/EFI/BOOT/bootx64.efi.new", - "mv /boot/EFI/BOOT/bootx64.efi.new /boot/EFI/BOOT/bootx64.efi", - ) - output = switch() - assert "updating systemd-boot from 000.0-1-notnixos to " in output, "Couldn't find systemd-boot update message" - assert 'to "/boot/EFI/systemd/systemd-bootx64.efi"' in output, "systemd-boot not copied to to /boot/EFI/systemd/systemd-bootx64.efi" - assert 'to "/boot/EFI/BOOT/BOOTX64.EFI"' in output, "systemd-boot not copied to to /boot/EFI/BOOT/BOOTX64.EFI" - ''; - }; - - memtest86 = - with pkgs.lib; - optionalAttrs (meta.availableOn { inherit system; } pkgs.memtest86plus) (makeTest { + memtest86 = runTestOn [ "x86_64-linux" ] ( + { lib, ... }: + { name = "systemd-boot-memtest86"; - meta.maintainers = with maintainers; [ julienmalka ]; + meta.maintainers = with lib.maintainers; [ julienmalka ]; nodes.machine = { pkgs, lib, ... }: @@ -320,282 +342,313 @@ in machine.succeed("test -e /boot/loader/entries/memtest86.conf") machine.succeed("test -e /boot/efi/memtest86/memtest.efi") ''; - }); + } + ); - netbootxyz = makeTest { - name = "systemd-boot-netbootxyz"; - meta.maintainers = with pkgs.lib.maintainers; [ julienmalka ]; + netbootxyz = runTest ( + { lib, ... }: + { + name = "systemd-boot-netbootxyz"; + meta.maintainers = with lib.maintainers; [ julienmalka ]; - nodes.machine = - { pkgs, lib, ... }: - { - imports = [ common ]; - boot.loader.systemd-boot.netbootxyz.enable = true; - }; - - testScript = '' - machine.succeed("test -e /boot/loader/entries/netbootxyz.conf") - machine.succeed("test -e /boot/efi/netbootxyz/netboot.xyz.efi") - ''; - }; - - edk2-uefi-shell = makeTest { - name = "systemd-boot-edk2-uefi-shell"; - meta.maintainers = with pkgs.lib.maintainers; [ iFreilicht ]; - - nodes.machine = - { ... }: - { - imports = [ common ]; - boot.loader.systemd-boot.edk2-uefi-shell.enable = true; - }; - - testScript = '' - machine.succeed("test -e /boot/loader/entries/edk2-uefi-shell.conf") - machine.succeed("test -e /boot/efi/edk2-uefi-shell/shell.efi") - ''; - }; - - windows = makeTest { - name = "systemd-boot-windows"; - meta.maintainers = with pkgs.lib.maintainers; [ iFreilicht ]; - - nodes.machine = - { ... }: - { - imports = [ common ]; - boot.loader.systemd-boot.windows = { - "7" = { - efiDeviceHandle = "HD0c1"; - sortKey = "before_all_others"; - }; - "Ten".efiDeviceHandle = "FS0"; - "11" = { - title = "Title with-_-punctuation ...?!"; - efiDeviceHandle = "HD0d4"; - sortKey = "zzz"; - }; + nodes.machine = + { pkgs, lib, ... }: + { + imports = [ common ]; + boot.loader.systemd-boot.netbootxyz.enable = true; }; - }; - testScript = '' - machine.succeed("test -e /boot/efi/edk2-uefi-shell/shell.efi") - - machine.succeed("test -e /boot/loader/entries/windows_7.conf") - machine.succeed("test -e /boot/loader/entries/windows_Ten.conf") - machine.succeed("test -e /boot/loader/entries/windows_11.conf") - - machine.succeed("grep 'efi /efi/edk2-uefi-shell/shell.efi' /boot/loader/entries/windows_7.conf") - machine.succeed("grep 'efi /efi/edk2-uefi-shell/shell.efi' /boot/loader/entries/windows_Ten.conf") - machine.succeed("grep 'efi /efi/edk2-uefi-shell/shell.efi' /boot/loader/entries/windows_11.conf") - - machine.succeed("grep 'HD0c1:EFI\\\\Microsoft\\\\Boot\\\\Bootmgfw.efi' /boot/loader/entries/windows_7.conf") - machine.succeed("grep 'FS0:EFI\\\\Microsoft\\\\Boot\\\\Bootmgfw.efi' /boot/loader/entries/windows_Ten.conf") - machine.succeed("grep 'HD0d4:EFI\\\\Microsoft\\\\Boot\\\\Bootmgfw.efi' /boot/loader/entries/windows_11.conf") - - machine.succeed("grep 'sort-key before_all_others' /boot/loader/entries/windows_7.conf") - machine.succeed("grep 'sort-key o_windows_Ten' /boot/loader/entries/windows_Ten.conf") - machine.succeed("grep 'sort-key zzz' /boot/loader/entries/windows_11.conf") - - machine.succeed("grep 'title Windows 7' /boot/loader/entries/windows_7.conf") - machine.succeed("grep 'title Windows Ten' /boot/loader/entries/windows_Ten.conf") - machine.succeed('grep "title Title with-_-punctuation ...?!" /boot/loader/entries/windows_11.conf') - ''; - }; - - memtestSortKey = makeTest { - name = "systemd-boot-memtest-sortkey"; - meta.maintainers = with pkgs.lib.maintainers; [ julienmalka ]; - - nodes.machine = - { pkgs, lib, ... }: - { - imports = [ common ]; - boot.loader.systemd-boot.memtest86.enable = true; - boot.loader.systemd-boot.memtest86.sortKey = "apple"; - }; - - testScript = '' - machine.succeed("test -e /boot/loader/entries/memtest86.conf") - machine.succeed("test -e /boot/efi/memtest86/memtest.efi") - machine.succeed("grep 'sort-key apple' /boot/loader/entries/memtest86.conf") - ''; - }; - - entryFilenameXbootldr = makeTest { - name = "systemd-boot-entry-filename-xbootldr"; - meta.maintainers = with pkgs.lib.maintainers; [ sdht0 ]; - - nodes.machine = - { pkgs, lib, ... }: - { - imports = [ commonXbootldr ]; - boot.loader.systemd-boot.memtest86.enable = true; - }; - - testScript = - { nodes, ... }: - '' - ${customDiskImage nodes} - - machine.start() - machine.wait_for_unit("multi-user.target") - - machine.succeed("test -e /efi/EFI/systemd/systemd-bootx64.efi") - machine.succeed("test -e /boot/loader/entries/memtest86.conf") - machine.succeed("test -e /boot/EFI/memtest86/memtest.efi") + testScript = '' + machine.succeed("test -e /boot/loader/entries/netbootxyz.conf") + machine.succeed("test -e /boot/efi/netbootxyz/netboot.xyz.efi") ''; - }; + } + ); - extraEntries = makeTest { - name = "systemd-boot-extra-entries"; - meta.maintainers = with pkgs.lib.maintainers; [ julienmalka ]; + edk2-uefi-shell = runTest ( + { lib, ... }: + { + name = "systemd-boot-edk2-uefi-shell"; + meta.maintainers = with lib.maintainers; [ iFreilicht ]; - nodes.machine = - { pkgs, lib, ... }: - { - imports = [ common ]; - boot.loader.systemd-boot.extraEntries = { - "banana.conf" = '' - title banana - ''; + nodes.machine = + { ... }: + { + imports = [ common ]; + boot.loader.systemd-boot.edk2-uefi-shell.enable = true; }; - }; - testScript = '' - machine.succeed("test -e /boot/loader/entries/banana.conf") - machine.succeed("test -e /boot/efi/nixos/.extra-files/loader/entries/banana.conf") - ''; - }; + testScript = '' + machine.succeed("test -e /boot/loader/entries/edk2-uefi-shell.conf") + machine.succeed("test -e /boot/efi/edk2-uefi-shell/shell.efi") + ''; + } + ); - extraFiles = makeTest { - name = "systemd-boot-extra-files"; - meta.maintainers = with pkgs.lib.maintainers; [ julienmalka ]; + windows = runTest ( + { lib, ... }: + { + name = "systemd-boot-windows"; + meta.maintainers = with lib.maintainers; [ iFreilicht ]; - nodes.machine = - { pkgs, lib, ... }: - { - imports = [ common ]; - boot.loader.systemd-boot.extraFiles = { - "efi/fruits/tomato.efi" = pkgs.netbootxyz-efi; + nodes.machine = + { ... }: + { + imports = [ common ]; + boot.loader.systemd-boot.windows = { + "7" = { + efiDeviceHandle = "HD0c1"; + sortKey = "before_all_others"; + }; + "Ten".efiDeviceHandle = "FS0"; + "11" = { + title = "Title with-_-punctuation ...?!"; + efiDeviceHandle = "HD0d4"; + sortKey = "zzz"; + }; + }; }; - }; - testScript = '' - machine.succeed("test -e /boot/efi/fruits/tomato.efi") - machine.succeed("test -e /boot/efi/nixos/.extra-files/efi/fruits/tomato.efi") - ''; - }; + testScript = '' + machine.succeed("test -e /boot/efi/edk2-uefi-shell/shell.efi") - switch-test = makeTest { - name = "systemd-boot-switch-test"; - meta.maintainers = with pkgs.lib.maintainers; [ julienmalka ]; + machine.succeed("test -e /boot/loader/entries/windows_7.conf") + machine.succeed("test -e /boot/loader/entries/windows_Ten.conf") + machine.succeed("test -e /boot/loader/entries/windows_11.conf") - nodes = { - inherit common; + machine.succeed("grep 'efi /efi/edk2-uefi-shell/shell.efi' /boot/loader/entries/windows_7.conf") + machine.succeed("grep 'efi /efi/edk2-uefi-shell/shell.efi' /boot/loader/entries/windows_Ten.conf") + machine.succeed("grep 'efi /efi/edk2-uefi-shell/shell.efi' /boot/loader/entries/windows_11.conf") - machine = - { pkgs, nodes, ... }: + machine.succeed("grep 'HD0c1:EFI\\\\Microsoft\\\\Boot\\\\Bootmgfw.efi' /boot/loader/entries/windows_7.conf") + machine.succeed("grep 'FS0:EFI\\\\Microsoft\\\\Boot\\\\Bootmgfw.efi' /boot/loader/entries/windows_Ten.conf") + machine.succeed("grep 'HD0d4:EFI\\\\Microsoft\\\\Boot\\\\Bootmgfw.efi' /boot/loader/entries/windows_11.conf") + + machine.succeed("grep 'sort-key before_all_others' /boot/loader/entries/windows_7.conf") + machine.succeed("grep 'sort-key o_windows_Ten' /boot/loader/entries/windows_Ten.conf") + machine.succeed("grep 'sort-key zzz' /boot/loader/entries/windows_11.conf") + + machine.succeed("grep 'title Windows 7' /boot/loader/entries/windows_7.conf") + machine.succeed("grep 'title Windows Ten' /boot/loader/entries/windows_Ten.conf") + machine.succeed('grep "title Title with-_-punctuation ...?!" /boot/loader/entries/windows_11.conf') + ''; + } + ); + + memtestSortKey = runTest ( + { lib, ... }: + { + name = "systemd-boot-memtest-sortkey"; + meta.maintainers = with lib.maintainers; [ julienmalka ]; + + nodes.machine = + { pkgs, lib, ... }: + { + imports = [ common ]; + boot.loader.systemd-boot.memtest86.enable = true; + boot.loader.systemd-boot.memtest86.sortKey = "apple"; + }; + + testScript = '' + machine.succeed("test -e /boot/loader/entries/memtest86.conf") + machine.succeed("test -e /boot/efi/memtest86/memtest.efi") + machine.succeed("grep 'sort-key apple' /boot/loader/entries/memtest86.conf") + ''; + } + ); + + entryFilenameXbootldr = runTest ( + { lib, ... }: + { + name = "systemd-boot-entry-filename-xbootldr"; + meta.maintainers = with lib.maintainers; [ sdht0 ]; + + nodes.machine = + { pkgs, lib, ... }: + { + imports = [ commonXbootldr ]; + boot.loader.systemd-boot.memtest86.enable = true; + }; + + testScript = + { nodes, ... }: + '' + ${customDiskImage nodes} + + machine.start() + machine.wait_for_unit("multi-user.target") + + machine.succeed("test -e /efi/EFI/systemd/systemd-bootx64.efi") + machine.succeed("test -e /boot/loader/entries/memtest86.conf") + machine.succeed("test -e /boot/EFI/memtest86/memtest.efi") + ''; + } + ); + + extraEntries = runTest ( + { lib, ... }: + { + name = "systemd-boot-extra-entries"; + meta.maintainers = with lib.maintainers; [ julienmalka ]; + + nodes.machine = + { pkgs, lib, ... }: + { + imports = [ common ]; + boot.loader.systemd-boot.extraEntries = { + "banana.conf" = '' + title banana + ''; + }; + }; + + testScript = '' + machine.succeed("test -e /boot/loader/entries/banana.conf") + machine.succeed("test -e /boot/efi/nixos/.extra-files/loader/entries/banana.conf") + ''; + } + ); + + extraFiles = runTest ( + { lib, ... }: + { + name = "systemd-boot-extra-files"; + meta.maintainers = with lib.maintainers; [ julienmalka ]; + + nodes.machine = + { pkgs, lib, ... }: { imports = [ common ]; boot.loader.systemd-boot.extraFiles = { "efi/fruits/tomato.efi" = pkgs.netbootxyz-efi; }; - - # These are configs for different nodes, but we'll use them here in `machine` - system.extraDependencies = [ - nodes.common.system.build.toplevel - nodes.with_netbootxyz.system.build.toplevel - ]; }; - with_netbootxyz = - { pkgs, ... }: - { - imports = [ common ]; - boot.loader.systemd-boot.netbootxyz.enable = true; - }; - }; - - testScript = - { nodes, ... }: - let - originalSystem = nodes.machine.system.build.toplevel; - baseSystem = nodes.common.system.build.toplevel; - finalSystem = nodes.with_netbootxyz.system.build.toplevel; - in - '' + testScript = '' machine.succeed("test -e /boot/efi/fruits/tomato.efi") machine.succeed("test -e /boot/efi/nixos/.extra-files/efi/fruits/tomato.efi") - - with subtest("remove files when no longer needed"): - machine.succeed("${baseSystem}/bin/switch-to-configuration boot") - machine.fail("test -e /boot/efi/fruits/tomato.efi") - machine.fail("test -d /boot/efi/fruits") - machine.succeed("test -d /boot/efi/nixos/.extra-files") - machine.fail("test -e /boot/efi/nixos/.extra-files/efi/fruits/tomato.efi") - machine.fail("test -d /boot/efi/nixos/.extra-files/efi/fruits") - - with subtest("files are added back when needed again"): - machine.succeed("${originalSystem}/bin/switch-to-configuration boot") - machine.succeed("test -e /boot/efi/fruits/tomato.efi") - machine.succeed("test -e /boot/efi/nixos/.extra-files/efi/fruits/tomato.efi") - - with subtest("simultaneously removing and adding files works"): - machine.succeed("${finalSystem}/bin/switch-to-configuration boot") - machine.fail("test -e /boot/efi/fruits/tomato.efi") - machine.fail("test -e /boot/efi/nixos/.extra-files/efi/fruits/tomato.efi") - machine.succeed("test -e /boot/loader/entries/netbootxyz.conf") - machine.succeed("test -e /boot/efi/netbootxyz/netboot.xyz.efi") - machine.succeed("test -e /boot/efi/nixos/.extra-files/loader/entries/netbootxyz.conf") - machine.succeed("test -e /boot/efi/nixos/.extra-files/efi/netbootxyz/netboot.xyz.efi") ''; - }; + } + ); - garbage-collect-entry = makeTest { - name = "systemd-boot-garbage-collect-entry"; - meta.maintainers = with pkgs.lib.maintainers; [ julienmalka ]; + switch-test = runTest ( + { lib, ... }: + { + name = "systemd-boot-switch-test"; + meta.maintainers = with lib.maintainers; [ julienmalka ]; - nodes = { - inherit common; - machine = - { pkgs, nodes, ... }: - { - imports = [ common ]; + nodes = { + inherit common; - # These are configs for different nodes, but we'll use them here in `machine` - system.extraDependencies = [ - nodes.common.system.build.toplevel - ]; - }; - }; + machine = + { pkgs, nodes, ... }: + { + imports = [ common ]; + boot.loader.systemd-boot.extraFiles = { + "efi/fruits/tomato.efi" = pkgs.netbootxyz-efi; + }; - testScript = - { nodes, ... }: - let - baseSystem = nodes.common.system.build.toplevel; - in - '' - machine.succeed("nix-env -p /nix/var/nix/profiles/system --set ${baseSystem}") - machine.succeed("nix-env -p /nix/var/nix/profiles/system --delete-generations 1") - machine.succeed("${baseSystem}/bin/switch-to-configuration boot") - machine.fail("test -e /boot/loader/entries/nixos-generation-1.conf") - machine.succeed("test -e /boot/loader/entries/nixos-generation-2.conf") + # These are configs for different nodes, but we'll use them here in `machine` + system.extraDependencies = [ + nodes.common.system.build.toplevel + nodes.with_netbootxyz.system.build.toplevel + ]; + }; + + with_netbootxyz = + { pkgs, ... }: + { + imports = [ common ]; + boot.loader.systemd-boot.netbootxyz.enable = true; + }; + }; + + testScript = + { nodes, ... }: + let + originalSystem = nodes.machine.system.build.toplevel; + baseSystem = nodes.common.system.build.toplevel; + finalSystem = nodes.with_netbootxyz.system.build.toplevel; + in + '' + machine.succeed("test -e /boot/efi/fruits/tomato.efi") + machine.succeed("test -e /boot/efi/nixos/.extra-files/efi/fruits/tomato.efi") + + with subtest("remove files when no longer needed"): + machine.succeed("${baseSystem}/bin/switch-to-configuration boot") + machine.fail("test -e /boot/efi/fruits/tomato.efi") + machine.fail("test -d /boot/efi/fruits") + machine.succeed("test -d /boot/efi/nixos/.extra-files") + machine.fail("test -e /boot/efi/nixos/.extra-files/efi/fruits/tomato.efi") + machine.fail("test -d /boot/efi/nixos/.extra-files/efi/fruits") + + with subtest("files are added back when needed again"): + machine.succeed("${originalSystem}/bin/switch-to-configuration boot") + machine.succeed("test -e /boot/efi/fruits/tomato.efi") + machine.succeed("test -e /boot/efi/nixos/.extra-files/efi/fruits/tomato.efi") + + with subtest("simultaneously removing and adding files works"): + machine.succeed("${finalSystem}/bin/switch-to-configuration boot") + machine.fail("test -e /boot/efi/fruits/tomato.efi") + machine.fail("test -e /boot/efi/nixos/.extra-files/efi/fruits/tomato.efi") + machine.succeed("test -e /boot/loader/entries/netbootxyz.conf") + machine.succeed("test -e /boot/efi/netbootxyz/netboot.xyz.efi") + machine.succeed("test -e /boot/efi/nixos/.extra-files/loader/entries/netbootxyz.conf") + machine.succeed("test -e /boot/efi/nixos/.extra-files/efi/netbootxyz/netboot.xyz.efi") + ''; + } + ); + + garbage-collect-entry = runTest ( + { lib, ... }: + { + name = "systemd-boot-garbage-collect-entry"; + meta.maintainers = with lib.maintainers; [ julienmalka ]; + + nodes = { + inherit common; + machine = + { pkgs, nodes, ... }: + { + imports = [ common ]; + + # These are configs for different nodes, but we'll use them here in `machine` + system.extraDependencies = [ + nodes.common.system.build.toplevel + ]; + }; + }; + + testScript = + { nodes, ... }: + let + baseSystem = nodes.common.system.build.toplevel; + in + '' + machine.succeed("nix-env -p /nix/var/nix/profiles/system --set ${baseSystem}") + machine.succeed("nix-env -p /nix/var/nix/profiles/system --delete-generations 1") + machine.succeed("${baseSystem}/bin/switch-to-configuration boot") + machine.fail("test -e /boot/loader/entries/nixos-generation-1.conf") + machine.succeed("test -e /boot/loader/entries/nixos-generation-2.conf") + ''; + } + ); + + no-bootspec = runTest ( + { lib, ... }: + { + name = "systemd-boot-no-bootspec"; + meta.maintainers = with lib.maintainers; [ julienmalka ]; + + nodes.machine = { + imports = [ common ]; + boot.bootspec.enable = false; + }; + + testScript = '' + machine.start() + machine.wait_for_unit("multi-user.target") ''; - }; - - no-bootspec = makeTest { - name = "systemd-boot-no-bootspec"; - meta.maintainers = with pkgs.lib.maintainers; [ julienmalka ]; - - nodes.machine = { - imports = [ common ]; - boot.bootspec.enable = false; - }; - - testScript = '' - machine.start() - machine.wait_for_unit("multi-user.target") - ''; - }; + } + ); } diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix index 1c98e93803df..a9f5e45ed759 100644 --- a/pkgs/applications/editors/vim/plugins/generated.nix +++ b/pkgs/applications/editors/vim/plugins/generated.nix @@ -13707,12 +13707,12 @@ final: prev: { sidekick-nvim = buildVimPlugin { pname = "sidekick.nvim"; - version = "2025-09-27"; + version = "2025-09-30"; src = fetchFromGitHub { owner = "folke"; repo = "sidekick.nvim"; - rev = "242b2bd216191c151d24f665cc8f596cb63288ea"; - sha256 = "11qg13y57437pjwdsg0khj0wrwp86m779847isnb3a35kia7b2cc"; + rev = "7b3d28bbb883e898f6a8b4f2d7a9ab6ad5cef9f8"; + sha256 = "1m2af27xvagdq6q8kyahcsrbraaw4x2yvrg35xxcpgp0vi0m9h6a"; }; meta.homepage = "https://github.com/folke/sidekick.nvim/"; meta.hydraPlatforms = [ ]; diff --git a/pkgs/applications/editors/vscode/vscode.nix b/pkgs/applications/editors/vscode/vscode.nix index cb741ef730fd..25663ca9e60c 100644 --- a/pkgs/applications/editors/vscode/vscode.nix +++ b/pkgs/applications/editors/vscode/vscode.nix @@ -36,20 +36,20 @@ let hash = { - x86_64-linux = "sha256-y0Bjrxmp7DYV4iUDnQGC0aIYrQNM3oPicajbeVuEtqc="; - x86_64-darwin = "sha256-6/BiMvVp955PW0hz22+NzdvC+IC+pNYjz25n3Op6V/k="; - aarch64-linux = "sha256-DF8QnqvVFqNyxjrphR6NaUXOKr8Koe34NitRa5mTBYs="; - aarch64-darwin = "sha256-v+m8AMpPph6CztUCjneBKC9txEOAKvcHsAXr/8KjIeA="; - armv7l-linux = "sha256-py1FZYd77YVNloQbXm36ou4HGowmteY8HzOiUioGD8Y="; + x86_64-linux = "sha256-0zgsR0nk9zsOeEcKhrmAFbAhvKKFNsC8fXjCnxFcndE="; + x86_64-darwin = "sha256-4+3T3axXNfePEkevhLwRPeqoxKs2OTL7B7TiV2BxZWc="; + aarch64-linux = "sha256-iGLtuVFA5NphiF1PU9Pus/nZ8PyCNNzDOpcQ+utYE2I="; + aarch64-darwin = "sha256-E4BopxbqH1lg1Q2NlyWjH8jytabiv5y4hG5ZJW4nqzs="; + armv7l-linux = "sha256-YIidKSsqK3DSAfPd7O1pbft1C/ny/iB+CFbR/T9u7L8="; } .${system} or throwSystem; # Please backport all compatible updates to the stable release. # This is important for the extension ecosystem. - version = "1.104.1"; + version = "1.104.2"; # This is used for VS Code - Remote SSH test - rev = "0f0d87fa9e96c856c5212fc86db137ac0d783365"; + rev = "e3a5acfb517a443235981655413d566533107e92"; in callPackage ./generic.nix { pname = "vscode" + lib.optionalString isInsiders "-insiders"; @@ -82,7 +82,7 @@ callPackage ./generic.nix { src = fetchurl { name = "vscode-server-${rev}.tar.gz"; url = "https://update.code.visualstudio.com/commit:${rev}/server-linux-x64/stable"; - hash = "sha256-o0O/WDH+hr3R9np+WPLJo+/nIVBRjP8H2JVwa8volfg="; + hash = "sha256-Tz1P8eGokG+8thao9dRllAdTxvllhfOEDKH9lC2QwB0="; }; stdenv = stdenvNoCC; }; diff --git a/pkgs/applications/emulators/libretro/cores/snes9x.nix b/pkgs/applications/emulators/libretro/cores/snes9x.nix index effe46dde609..908f8094aacd 100644 --- a/pkgs/applications/emulators/libretro/cores/snes9x.nix +++ b/pkgs/applications/emulators/libretro/cores/snes9x.nix @@ -5,13 +5,13 @@ }: mkLibretroCore { core = "snes9x"; - version = "0-unstable-2025-09-18"; + version = "0-unstable-2025-09-24"; src = fetchFromGitHub { owner = "snes9xgit"; repo = "snes9x"; - rev = "b43619754a595ec6feb089a387638118037ef74b"; - hash = "sha256-b6YC4qisHPdJtM1IEsrwUjCBZ6JElZuKvakApOLGGvY="; + rev = "94115094ead4da7342bd638bb4cc293ae7d297c0"; + hash = "sha256-tXSQursZcV/gsLlydVRD1KUR8t2zztfby7cDno1xtHc="; }; makefile = "Makefile"; diff --git a/pkgs/applications/networking/cluster/k3s/docs/examples/STORAGE.md b/pkgs/applications/networking/cluster/k3s/docs/examples/STORAGE.md index fc9a6440ff9a..f61a13eee01d 100644 --- a/pkgs/applications/networking/cluster/k3s/docs/examples/STORAGE.md +++ b/pkgs/applications/networking/cluster/k3s/docs/examples/STORAGE.md @@ -87,36 +87,22 @@ In order to support Rook/Ceph, the following NixOS kernelModule configuration is boot.kernelModules = [ "rbd" ]; ``` -## ZFS Snapshot Support +## ZFS ContainerD Support -K3s's builtin containerd does not support the zfs snapshotter. However, it is possible to configure it to use an external containerd: +The [ZFS snapshotter](https://github.com/containerd/zfs) can be enabled for k3s' embedded ContainerD though it requires mounting a dataset to a specific path used by k3s: `/var/lib/rancher/k3s/agent/containerd/io.containerd.snapshotter.v1.zfs` + +For example: + +```bash +$ zfs create -o mountpoint=/var/lib/rancher/k3s/agent/containerd/io.containerd.snapshotter.v1.zfs /containerd +``` + +You can now configure k3s to use zfs by passing the `--snapshotter` flag. ``` -virtualisation.containerd = { - enable = true; - settings = - let - fullCNIPlugins = pkgs.buildEnv { - name = "full-cni"; - paths = with pkgs;[ - cni-plugins - cni-plugin-flannel - ]; - }; - in { - plugins."io.containerd.grpc.v1.cri".cni = { - bin_dir = "${fullCNIPlugins}/bin"; - conf_dir = "/var/lib/rancher/k3s/agent/etc/cni/net.d/"; - }; - # Optionally set private registry credentials here instead of using /etc/rancher/k3s/registries.yaml - # plugins."io.containerd.grpc.v1.cri".registry.configs."registry.example.com".auth = { - # username = ""; - # password = ""; - # }; - }; -}; -# TODO describe how to enable zfs snapshotter in containerd -services.k3s.extraFlags = toString [ - "--container-runtime-endpoint unix:///run/containerd/containerd.sock" -]; +services.k3s = { + ... + extraFlags = [ + "--snapshotter=zfs" + ]; ``` diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json index 9bc45762bb02..f3818b557f35 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -534,13 +534,13 @@ "vendorHash": "sha256-cQybnUaDLVmQrtFkiI5k3OwqN9Oks+J1H2kbkNjO4jc=" }, "google-beta": { - "hash": "sha256-HDTjSxx3TE69B7DvJbn/b67IH/S4IXvXGVTFwrgAWZE=", + "hash": "sha256-efZ/NHcYSv7CSO6gN6DY43px6kJR7KrlOp+HamrvssY=", "homepage": "https://registry.terraform.io/providers/hashicorp/google-beta", "owner": "hashicorp", "repo": "terraform-provider-google-beta", - "rev": "v7.3.0", + "rev": "v7.5.0", "spdx": "MPL-2.0", - "vendorHash": "sha256-9tXElUSD6WSfEn6Urt0GZFkxGXj/iUO83ZkKw3GfAgo=" + "vendorHash": "sha256-Bii3UrY1WbhewgsURxq7gGVqT1WSszFkif0V88hiyZo=" }, "googleworkspace": { "hash": "sha256-dedYnsKHizxJZibuvJOMbJoux0W6zgKaK5fxIofKqCY=", diff --git a/pkgs/by-name/am/amdvlk/package.nix b/pkgs/by-name/am/amdvlk/package.nix deleted file mode 100644 index 8b6d97d3bcae..000000000000 --- a/pkgs/by-name/am/amdvlk/package.nix +++ /dev/null @@ -1,141 +0,0 @@ -{ - stdenv, - callPackage, - lib, - fetchRepoProject, - nix-update-script, - cmake, - directx-shader-compiler, - glslang, - ninja, - patchelf, - perl, - pkg-config, - python3, - expat, - libdrm, - ncurses, - openssl, - wayland, - xorg, - zlib, -}: -let - - suffix = if stdenv.system == "x86_64-linux" then "64" else "32"; - -in -stdenv.mkDerivation (finalAttrs: { - pname = "amdvlk"; - version = "2025.Q1.3"; - - src = fetchRepoProject { - name = "amdvlk-src"; - manifest = "https://github.com/GPUOpen-Drivers/AMDVLK.git"; - rev = "refs/tags/v-${finalAttrs.version}"; - hash = "sha256-ZXou5g0emeK++NyV/hQllZAdZAMEY9TYs9c+umFdcfo="; - }; - - buildInputs = [ - expat - libdrm - ncurses - openssl - wayland - zlib - ] - ++ (with xorg; [ - libX11 - libxcb - xcbproto - libXext - libXrandr - libXft - libxshmfence - ]); - - nativeBuildInputs = [ - cmake - directx-shader-compiler - glslang - ninja - patchelf - perl - pkg-config - python3 - ] - ++ (with python3.pkgs; [ - jinja2 - ruamel-yaml - ]); - - rpath = lib.makeLibraryPath ( - [ - libdrm - openssl - stdenv.cc.cc - zlib - ] - ++ (with xorg; [ - libX11 - libxcb - libxshmfence - ]) - ); - - cmakeDir = "../drivers/xgl"; - - cmakeFlags = [ - # There is some incredibly cursed issue with - # `directx-shader-compiler` flagging up compiler errors only on - # `i686-linux` and only when it has been compiled with a recent - # GCC. Since few 32‐bit games are going to use ray tracing anyway, - # we just disable it for now. Arch has done this since 2022. - # - # See: - # * - # * - # * - (lib.cmakeBool "VKI_RAY_TRACING" (!(stdenv.hostPlatform.isx86 && stdenv.hostPlatform.is32bit))) - ]; - - installPhase = '' - runHook preInstall - - install -Dm755 -t $out/lib icd/amdvlk${suffix}.so - install -Dm644 -t $out/share/vulkan/icd.d icd/amd_icd${suffix}.json - install -Dm644 -t $out/share/vulkan/implicit_layer.d icd/amd_icd${suffix}.json - - patchelf --set-rpath "$rpath" $out/lib/amdvlk${suffix}.so - - runHook postInstall - ''; - - # Keep the rpath, otherwise vulkaninfo and vkcube segfault - dontPatchELF = true; - - passthru.updateScript = nix-update-script { - extraArgs = [ - "--url" - "https://github.com/GPUOpen-Drivers/AMDVLK" - "--version-regex" - "v-(.*)" - ]; - }; - - passthru.impureTests = { - amdvlk = callPackage ./test.nix { }; - }; - - meta = { - description = "AMD Open Source Driver For Vulkan"; - homepage = "https://github.com/GPUOpen-Drivers/AMDVLK"; - changelog = "https://github.com/GPUOpen-Drivers/AMDVLK/releases/tag/v-${finalAttrs.version}"; - license = lib.licenses.mit; - platforms = [ - "x86_64-linux" - "i686-linux" - ]; - maintainers = with lib.maintainers; [ Flakebi ]; - }; -}) diff --git a/pkgs/by-name/am/amdvlk/test.nix b/pkgs/by-name/am/amdvlk/test.nix deleted file mode 100644 index 40da948c6836..000000000000 --- a/pkgs/by-name/am/amdvlk/test.nix +++ /dev/null @@ -1,58 +0,0 @@ -{ - lib, - makeImpureTest, - coreutils, - amdvlk, - vulkan-tools, -}: -makeImpureTest { - name = "amdvlk"; - testedPackage = "amdvlk"; - - sandboxPaths = [ - "/sys" - "/dev/dri" - ]; - - nativeBuildInputs = [ vulkan-tools ]; - - VK_ICD_FILENAMES = "${amdvlk}/share/vulkan/icd.d/amd_icd64.json"; - XDG_RUNTIME_DIR = "/tmp"; - - # AMDVLK needs access to /dev/dri/card0 (or another card), but normally it is rw-rw---- - # Change the permissions to be rw for everyone - prepareRunCommands = '' - function reset_perms() - { - # Reset permissions to previous state - for card in /dev/dri/card*; do - sudo ${coreutils}/bin/chmod "0''${cardPerms[$card]}" $card - done - } - - # Save permissions on /dev/dri/card* - declare -A cardPerms - for card in /dev/dri/card*; do - cardPerms[$card]=$(stat -c "%a" $card) - done - - sudo ${coreutils}/bin/chmod o+rw /dev/dri/card* - trap reset_perms EXIT - ''; - - testScript = '' - # Check that there is at least one card with write-access - if ! ls -l /dev/dri/card* | cut -b8-9 | grep -q rw; then - echo 'AMDVLK needs rw access to /dev/dri/card0 or a fitting card, please run `sudo chmod o+rw /dev/dri/card*`' - exit 1 - fi - - vulkaninfo --summary - echo "Checking version" - vulkaninfo --summary | grep '= ${amdvlk.version}' - ''; - - meta = with lib.maintainers; { - maintainers = [ Flakebi ]; - }; -} diff --git a/pkgs/by-name/ch/checkov/package.nix b/pkgs/by-name/ch/checkov/package.nix index 0e0683eda207..339d80d64f0a 100644 --- a/pkgs/by-name/ch/checkov/package.nix +++ b/pkgs/by-name/ch/checkov/package.nix @@ -37,14 +37,14 @@ with py.pkgs; python3.pkgs.buildPythonApplication rec { pname = "checkov"; - version = "3.2.471"; + version = "3.2.473"; pyproject = true; src = fetchFromGitHub { owner = "bridgecrewio"; repo = "checkov"; tag = version; - hash = "sha256-dAUokMpBvd2lAKNQJJqAthBUNoI3S1C7gat4Jda7bZk="; + hash = "sha256-FfzAMuFF+ftjcKn+6uYgoeUPoBDnkVTBCPSeom6KR5k="; }; pythonRelaxDeps = [ diff --git a/pkgs/by-name/cl/cloudflared/package.nix b/pkgs/by-name/cl/cloudflared/package.nix index 9b9324b7e867..502042599017 100644 --- a/pkgs/by-name/cl/cloudflared/package.nix +++ b/pkgs/by-name/cl/cloudflared/package.nix @@ -9,13 +9,13 @@ buildGoModule rec { pname = "cloudflared"; - version = "2025.8.1"; + version = "2025.9.1"; src = fetchFromGitHub { owner = "cloudflare"; repo = "cloudflared"; tag = version; - hash = "sha256-7qPyzxsCgRs/Jzwdg4MrtqD7arS7o420BkmbtXTlJe4="; + hash = "sha256-xFkRwbRfJCpwTW9T9g2Tnn6qAwoTT9bxOCEkTM01+B4="; }; vendorHash = null; diff --git a/pkgs/by-name/co/cosmic-applibrary/package.nix b/pkgs/by-name/co/cosmic-applibrary/package.nix index 9d6bcc14f575..2f60f0f352b0 100644 --- a/pkgs/by-name/co/cosmic-applibrary/package.nix +++ b/pkgs/by-name/co/cosmic-applibrary/package.nix @@ -36,14 +36,10 @@ rustPlatform.buildRustPackage (finalAttrs: { "prefix" (placeholder "out") "--set" - "bin-src" - "target/${stdenv.hostPlatform.rust.cargoShortTarget}/release/cosmic-app-library" + "cargo-target-dir" + "target/${stdenv.hostPlatform.rust.cargoShortTarget}" ]; - postPatch = '' - substituteInPlace justfile --replace '#!/usr/bin/env' "#!$(command -v env)" - ''; - passthru = { tests = { inherit (nixosTests) diff --git a/pkgs/by-name/co/cosmic-bg/package.nix b/pkgs/by-name/co/cosmic-bg/package.nix index db22e05c964e..719f4650bde2 100644 --- a/pkgs/by-name/co/cosmic-bg/package.nix +++ b/pkgs/by-name/co/cosmic-bg/package.nix @@ -45,8 +45,8 @@ rustPlatform.buildRustPackage (finalAttrs: { "prefix" (placeholder "out") "--set" - "bin-src" - "target/${stdenv.hostPlatform.rust.cargoShortTarget}/release/cosmic-bg" + "cargo-target-dir" + "target/${stdenv.hostPlatform.rust.cargoShortTarget}" ]; passthru = { diff --git a/pkgs/by-name/co/cosmic-edit/package.nix b/pkgs/by-name/co/cosmic-edit/package.nix index 1b8e42fab2e0..c861f9a5ead8 100644 --- a/pkgs/by-name/co/cosmic-edit/package.nix +++ b/pkgs/by-name/co/cosmic-edit/package.nix @@ -53,8 +53,8 @@ rustPlatform.buildRustPackage (finalAttrs: { "prefix" (placeholder "out") "--set" - "bin-src" - "target/${stdenv.hostPlatform.rust.cargoShortTarget}/release/cosmic-edit" + "cargo-target-dir" + "target/${stdenv.hostPlatform.rust.cargoShortTarget}" ]; passthru = { diff --git a/pkgs/by-name/co/cosmic-files/package.nix b/pkgs/by-name/co/cosmic-files/package.nix index ba97add394a1..f931d3df52e6 100644 --- a/pkgs/by-name/co/cosmic-files/package.nix +++ b/pkgs/by-name/co/cosmic-files/package.nix @@ -40,11 +40,8 @@ rustPlatform.buildRustPackage (finalAttrs: { "prefix" (placeholder "out") "--set" - "bin-src" - "target/${stdenv.hostPlatform.rust.cargoShortTarget}/release/cosmic-files" - "--set" - "applet-src" - "target/${stdenv.hostPlatform.rust.cargoShortTarget}/release/cosmic-files-applet" + "cargo-target-dir" + "target/${stdenv.hostPlatform.rust.cargoShortTarget}" ]; # This is needed since by setting cargoBuildFlags, it would build both the applet and the main binary diff --git a/pkgs/by-name/co/cosmic-greeter/package.nix b/pkgs/by-name/co/cosmic-greeter/package.nix index 5c8a30e81af9..a66a3ac5a144 100644 --- a/pkgs/by-name/co/cosmic-greeter/package.nix +++ b/pkgs/by-name/co/cosmic-greeter/package.nix @@ -57,11 +57,8 @@ rustPlatform.buildRustPackage (finalAttrs: { "prefix" (placeholder "out") "--set" - "bin-src" - "target/${stdenv.hostPlatform.rust.cargoShortTarget}/release/cosmic-greeter" - "--set" - "daemon-src" - "target/${stdenv.hostPlatform.rust.cargoShortTarget}/release/cosmic-greeter-daemon" + "cargo-target-dir" + "target/${stdenv.hostPlatform.rust.cargoShortTarget}" ]; postPatch = '' diff --git a/pkgs/by-name/co/cosmic-idle/package.nix b/pkgs/by-name/co/cosmic-idle/package.nix index ce660c1ad14d..9847ce7966f0 100644 --- a/pkgs/by-name/co/cosmic-idle/package.nix +++ b/pkgs/by-name/co/cosmic-idle/package.nix @@ -41,8 +41,8 @@ rustPlatform.buildRustPackage (finalAttrs: { "prefix" (placeholder "out") "--set" - "bin-src" - "target/${stdenv.hostPlatform.rust.cargoShortTarget}/release/cosmic-idle" + "cargo-target-dir" + "target/${stdenv.hostPlatform.rust.cargoShortTarget}" ]; postPatch = '' diff --git a/pkgs/by-name/co/cosmic-initial-setup/package.nix b/pkgs/by-name/co/cosmic-initial-setup/package.nix index 08aad02cf6b4..63558e905a57 100644 --- a/pkgs/by-name/co/cosmic-initial-setup/package.nix +++ b/pkgs/by-name/co/cosmic-initial-setup/package.nix @@ -3,6 +3,7 @@ stdenv, rustPlatform, fetchFromGitHub, + fetchpatch2, just, libcosmicAppHook, libinput, @@ -24,6 +25,8 @@ rustPlatform.buildRustPackage (finalAttrs: { cargoHash = "sha256-orwK9gcFXK4/+sfwRubcz0PP6YAFqsENRHnlSLttLxM="; + buildFeatures = [ "nixos" ]; + # cargo-auditable fails during the build when compiling the `crabtime::function` # procedural macro. It panics because the `--out-dir` flag is not passed to # the rustc wrapper. @@ -47,6 +50,12 @@ rustPlatform.buildRustPackage (finalAttrs: { patches = [ ./disable-language-page.patch ./disable-timezone-page.patch + # TODO: Remove in next update + (fetchpatch2 { + name = "fix-layout-and-themes-page.patch"; + url = "https://patch-diff.githubusercontent.com/raw/pop-os/cosmic-initial-setup/pull/53.diff?full_index=1"; + hash = "sha256-081qyQnPhh+FRPU/JKJVCK+l3SKjHAIV5b6/7WN6lb8="; + }) ]; postPatch = '' diff --git a/pkgs/by-name/co/cosmic-launcher/package.nix b/pkgs/by-name/co/cosmic-launcher/package.nix index 6595b2bd6595..f2617f151cc7 100644 --- a/pkgs/by-name/co/cosmic-launcher/package.nix +++ b/pkgs/by-name/co/cosmic-launcher/package.nix @@ -36,8 +36,8 @@ rustPlatform.buildRustPackage (finalAttrs: { "prefix" (placeholder "out") "--set" - "bin-src" - "target/${stdenv.hostPlatform.rust.cargoShortTarget}/release/cosmic-launcher" + "cargo-target-dir" + "target/${stdenv.hostPlatform.rust.cargoShortTarget}" ]; env."CARGO_TARGET_${stdenv.hostPlatform.rust.cargoEnvVarTarget}_RUSTFLAGS" = "--cfg tokio_unstable"; diff --git a/pkgs/by-name/co/cosmic-notifications/package.nix b/pkgs/by-name/co/cosmic-notifications/package.nix index 470359ee8e12..9ff3f7ac8299 100644 --- a/pkgs/by-name/co/cosmic-notifications/package.nix +++ b/pkgs/by-name/co/cosmic-notifications/package.nix @@ -39,8 +39,8 @@ rustPlatform.buildRustPackage (finalAttrs: { "prefix" (placeholder "out") "--set" - "bin-src" - "target/${stdenv.hostPlatform.rust.cargoShortTarget}/release/cosmic-notifications" + "cargo-target-dir" + "target/${stdenv.hostPlatform.rust.cargoShortTarget}" ]; passthru = { diff --git a/pkgs/by-name/co/cosmic-panel/package.nix b/pkgs/by-name/co/cosmic-panel/package.nix index 1f9ad5881177..ff40a8512385 100644 --- a/pkgs/by-name/co/cosmic-panel/package.nix +++ b/pkgs/by-name/co/cosmic-panel/package.nix @@ -36,8 +36,8 @@ rustPlatform.buildRustPackage (finalAttrs: { "prefix" (placeholder "out") "--set" - "bin-src" - "target/${stdenv.hostPlatform.rust.cargoShortTarget}/release/cosmic-panel" + "cargo-target-dir" + "target/${stdenv.hostPlatform.rust.cargoShortTarget}" ]; passthru = { diff --git a/pkgs/by-name/co/cosmic-player/package.nix b/pkgs/by-name/co/cosmic-player/package.nix index 5cd04cc15067..a213b228531a 100644 --- a/pkgs/by-name/co/cosmic-player/package.nix +++ b/pkgs/by-name/co/cosmic-player/package.nix @@ -30,10 +30,6 @@ rustPlatform.buildRustPackage (finalAttrs: { cargoHash = "sha256-DodFIfthiGFSvXWfPsPjFhNY6G7z3lb6pfc5HtUXhMo="; - postPatch = '' - substituteInPlace justfile --replace-fail '#!/usr/bin/env' "#!$(command -v env)" - ''; - nativeBuildInputs = [ just pkg-config @@ -64,8 +60,8 @@ rustPlatform.buildRustPackage (finalAttrs: { "prefix" (placeholder "out") "--set" - "bin-src" - "target/${stdenv.hostPlatform.rust.cargoShortTarget}/release/cosmic-player" + "cargo-target-dir" + "target/${stdenv.hostPlatform.rust.cargoShortTarget}" ]; postInstall = '' diff --git a/pkgs/by-name/co/cosmic-randr/package.nix b/pkgs/by-name/co/cosmic-randr/package.nix index c1885e1fc39c..95f1be48c2fc 100644 --- a/pkgs/by-name/co/cosmic-randr/package.nix +++ b/pkgs/by-name/co/cosmic-randr/package.nix @@ -39,8 +39,8 @@ rustPlatform.buildRustPackage (finalAttrs: { "prefix" (placeholder "out") "--set" - "bin-src" - "target/${stdenv.hostPlatform.rust.cargoShortTarget}/release/cosmic-randr" + "cargo-target-dir" + "target/${stdenv.hostPlatform.rust.cargoShortTarget}" ]; passthru = { diff --git a/pkgs/by-name/co/cosmic-screenshot/package.nix b/pkgs/by-name/co/cosmic-screenshot/package.nix index 43052df88163..19e6b35a9007 100644 --- a/pkgs/by-name/co/cosmic-screenshot/package.nix +++ b/pkgs/by-name/co/cosmic-screenshot/package.nix @@ -34,8 +34,8 @@ rustPlatform.buildRustPackage (finalAttrs: { "prefix" (placeholder "out") "--set" - "bin-src" - "target/${stdenv.hostPlatform.rust.cargoShortTarget}/release/cosmic-screenshot" + "cargo-target-dir" + "target/${stdenv.hostPlatform.rust.cargoShortTarget}" ]; passthru.tests = { diff --git a/pkgs/by-name/co/cosmic-settings/package.nix b/pkgs/by-name/co/cosmic-settings/package.nix index fcc20c1b18ee..31c4217cca33 100644 --- a/pkgs/by-name/co/cosmic-settings/package.nix +++ b/pkgs/by-name/co/cosmic-settings/package.nix @@ -66,8 +66,8 @@ rustPlatform.buildRustPackage (finalAttrs: { "prefix" (placeholder "out") "--set" - "bin-src" - "target/${stdenv.hostPlatform.rust.cargoShortTarget}/release/cosmic-settings" + "cargo-target-dir" + "target/${stdenv.hostPlatform.rust.cargoShortTarget}" ]; preFixup = '' diff --git a/pkgs/by-name/co/cosmic-store/package.nix b/pkgs/by-name/co/cosmic-store/package.nix index 96b3f223db9a..234b522ceb37 100644 --- a/pkgs/by-name/co/cosmic-store/package.nix +++ b/pkgs/by-name/co/cosmic-store/package.nix @@ -47,8 +47,8 @@ rustPlatform.buildRustPackage (finalAttrs: { "prefix" (placeholder "out") "--set" - "bin-src" - "target/${stdenv.hostPlatform.rust.cargoShortTarget}/release/cosmic-store" + "cargo-target-dir" + "target/${stdenv.hostPlatform.rust.cargoShortTarget}" ]; passthru = { diff --git a/pkgs/by-name/co/cosmic-term/package.nix b/pkgs/by-name/co/cosmic-term/package.nix index 390b2a7bab0a..cbd95303c28d 100644 --- a/pkgs/by-name/co/cosmic-term/package.nix +++ b/pkgs/by-name/co/cosmic-term/package.nix @@ -47,8 +47,8 @@ rustPlatform.buildRustPackage (finalAttrs: { "prefix" (placeholder "out") "--set" - "bin-src" - "target/${stdenv.hostPlatform.rust.cargoShortTarget}/release/cosmic-term" + "cargo-target-dir" + "target/${stdenv.hostPlatform.rust.cargoShortTarget}" ]; passthru = { diff --git a/pkgs/by-name/fi/fire/package.nix b/pkgs/by-name/fi/fire/package.nix index f1c9268a0da8..c5d17a81a6ff 100644 --- a/pkgs/by-name/fi/fire/package.nix +++ b/pkgs/by-name/fi/fire/package.nix @@ -78,14 +78,14 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "fire"; - version = "1.0.2-unstable-2025-08-16"; + version = "1.5.0b-unstable-2025-09-20"; src = fetchFromGitHub { owner = "jerryuhoo"; repo = "Fire"; - rev = "e74e9351a18921c5b7419646eee377e38524c47a"; + rev = "34a424a4fc50984213b6e98e3aaae3dcb8e960c4"; fetchSubmodules = true; - hash = "sha256-2hx5nba7o+ot+KtypSZJb3pKJk8mUIdI1sNqnT2va0Q="; + hash = "sha256-ZTsZ/J5aeyjg4pxhjjIkgoTB5sSg2jpeKAp/uc4V+aQ="; }; postPatch = @@ -101,6 +101,9 @@ stdenv.mkDerivation (finalAttrs: { --replace-fail 'set(FORMATS' 'set(FORMATS ${formatsListing}) #' \ --replace-fail 'BUNDLE_ID "''${BUNDLE_ID}"' 'BUNDLE_ID "''${BUNDLE_ID}" LV2URI "https://www.bluewingsmusic.com/Fire/"' \ --replace-fail 'COPY_PLUGIN_AFTER_BUILD TRUE' 'COPY_PLUGIN_AFTER_BUILD FALSE' + + # Regression tests require big sound files stored in LFS, skip them + rm -v tests/RegressionTests.cpp '' + lib.optionalString stdenv.hostPlatform.isLinux '' # Remove hardcoded LTO flags: needs extra setup on Linux diff --git a/pkgs/by-name/ga/gale/package.nix b/pkgs/by-name/ga/gale/package.nix index 124107d22a61..63674e57902b 100644 --- a/pkgs/by-name/ga/gale/package.nix +++ b/pkgs/by-name/ga/gale/package.nix @@ -20,13 +20,13 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "gale"; - version = "1.9.7"; + version = "1.10.0"; src = fetchFromGitHub { owner = "Kesomannen"; repo = "gale"; tag = finalAttrs.version; - hash = "sha256-XEc8h7A1q+WfPl2HojFt2oIlAnNswq3X0o6jMZrEjCQ="; + hash = "sha256-SnPYuMYdoY69CWMztuDxw0ohRDU2uECNhBs46hLg+eA="; }; postPatch = '' @@ -36,13 +36,13 @@ rustPlatform.buildRustPackage (finalAttrs: { pnpmDeps = pnpm_10.fetchDeps { inherit (finalAttrs) pname version src; fetcherVersion = 1; - hash = "sha256-QQXP/x7AjDtUpe6h+pC6vUsIAptv1kN/1MJZjHAIdMo="; + hash = "sha256-DYhPe59qfsSjyMIN31RL0mrHfmE6/I1SF+XutettkO8="; }; cargoRoot = "src-tauri"; buildAndTestSubdir = finalAttrs.cargoRoot; - cargoHash = "sha256-zaTbb1+JK9mA9Tvnatw8lse5PBhKknDM48mN/sWLQ6w="; + cargoHash = "sha256-tWQRYD6hMU7cvtelGryLdpfoEnUKYt7yYNwHTFZ4pLw="; nativeBuildInputs = [ jq diff --git a/pkgs/applications/audio/hushboard/default.nix b/pkgs/by-name/hu/hushboard/package.nix similarity index 60% rename from pkgs/applications/audio/hushboard/default.nix rename to pkgs/by-name/hu/hushboard/package.nix index b354be1ac63c..16fadc50b2eb 100644 --- a/pkgs/applications/audio/hushboard/default.nix +++ b/pkgs/by-name/hu/hushboard/package.nix @@ -1,31 +1,39 @@ { lib, - buildPythonApplication, + python3Packages, fetchFromGitHub, gobject-introspection, gtk3, libappindicator, libpulseaudio, librsvg, - pycairo, - pygobject3, - six, wrapGAppsHook3, - xlib, + nix-update-script, + fetchpatch, }: -buildPythonApplication { +python3Packages.buildPythonApplication { pname = "hushboard"; - version = "unstable-2021-03-17"; - format = "setuptools"; + version = "0-unstable-2024-04-28"; + pyproject = true; src = fetchFromGitHub { owner = "stuartlangridge"; repo = "hushboard"; - rev = "c16611c539be111891116a737b02c5fb359ad1fc"; - sha256 = "06jav6j0bsxhawrq31cnls8zpf80fpwk0cak5s82js6wl4vw2582"; + rev = "13f5e62add99355f90798006742f62397be8be0c"; + hash = "sha256-z5ZSqcdKUHWt7kgW7ISZJei2YzVZHJGOqJ2IXv3qiWQ="; }; + patches = [ + # https://github.com/stuartlangridge/hushboard/pull/30 + (fetchpatch { + url = "https://github.com/stuartlangridge/hushboard/commit/b17b58cd00eb9af8184f8dcb010bbae7f9bc470c.patch"; + hash = "sha256-C03hq2ttXY8DJzrarQvFIzo29d+owZVIHZRA28fq7Z8="; + }) + ]; + + build-system = with python3Packages; [ setuptools ]; + nativeBuildInputs = [ wrapGAppsHook3 gobject-introspection @@ -37,7 +45,7 @@ buildPythonApplication { libpulseaudio ]; - propagatedBuildInputs = [ + propagatedBuildInputs = with python3Packages; [ pycairo pygobject3 six @@ -62,15 +70,21 @@ buildPythonApplication { cp hushboard-512.png $out/share/icons/hicolor/512x512/apps/hushboard.png ''; - # There are no tests + passthru.updateScript = nix-update-script { extraArgs = [ "--version=branch" ]; }; + + # no tests doCheck = false; - meta = with lib; { + pythonImportsCheck = [ + "hushboard" + ]; + + meta = { homepage = "https://kryogenix.org/code/hushboard/"; - license = licenses.mit; + license = lib.licenses.mit; description = "Mute your microphone while typing"; mainProgram = "hushboard"; - platforms = platforms.linux; - maintainers = with maintainers; [ keysmashes ]; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ keysmashes ]; }; } diff --git a/pkgs/by-name/nf/nf-test/package.nix b/pkgs/by-name/nf/nf-test/package.nix index d49cbfc2613e..014465db1d19 100644 --- a/pkgs/by-name/nf/nf-test/package.nix +++ b/pkgs/by-name/nf/nf-test/package.nix @@ -11,11 +11,11 @@ stdenv.mkDerivation rec { pname = "nf-test"; - version = "0.9.2"; + version = "0.9.3"; src = fetchurl { url = "https://github.com/askimed/nf-test/releases/download/v${version}/nf-test-${version}.tar.gz"; - hash = "sha256-v7LgbfKdTvQbMcs1ajdKmSQr742YQ0uL4wN79rPV1No="; + hash = "sha256-LLylgv34HiMXg+sjBbMdeLVPMV5+h+Z2xEWCiBqbNEY="; }; sourceRoot = "."; diff --git a/pkgs/by-name/pl/platformsh/versions.json b/pkgs/by-name/pl/platformsh/versions.json index 1c568061e52e..f2ef24a2f407 100644 --- a/pkgs/by-name/pl/platformsh/versions.json +++ b/pkgs/by-name/pl/platformsh/versions.json @@ -1,19 +1,19 @@ { - "version": "5.3.0", + "version": "5.5.0", "darwin-amd64": { - "hash": "sha256-9ntTHPC58qq9aasbXHqcfoK5X7dpDWoGhQEQpKmIcGw=", - "url": "https://github.com/platformsh/cli/releases/download/5.3.0/platform_5.3.0_darwin_all.tar.gz" + "hash": "sha256-cuLDYW0kr6D2qMhVW+avwbnqq6KI4zRyNBbNSNOpY2o=", + "url": "https://github.com/platformsh/cli/releases/download/5.5.0/platform_5.5.0_darwin_all.tar.gz" }, "darwin-arm64": { - "hash": "sha256-9ntTHPC58qq9aasbXHqcfoK5X7dpDWoGhQEQpKmIcGw=", - "url": "https://github.com/platformsh/cli/releases/download/5.3.0/platform_5.3.0_darwin_all.tar.gz" + "hash": "sha256-cuLDYW0kr6D2qMhVW+avwbnqq6KI4zRyNBbNSNOpY2o=", + "url": "https://github.com/platformsh/cli/releases/download/5.5.0/platform_5.5.0_darwin_all.tar.gz" }, "linux-amd64": { - "hash": "sha256-puQ+Wpzmfqs9hM+UDAuicRjbNODbGDbMGiXPe4hrKzU=", - "url": "https://github.com/platformsh/cli/releases/download/5.3.0/platform_5.3.0_linux_amd64.tar.gz" + "hash": "sha256-7WUjkF8u8AvCFT1MtNjYQI3jlmoABmmEUyg4pctCrGo=", + "url": "https://github.com/platformsh/cli/releases/download/5.5.0/platform_5.5.0_linux_amd64.tar.gz" }, "linux-arm64": { - "hash": "sha256-V509gDeX0jpMwWLVbNpe3HP17hy1xlY7Kk6ZTOTyCMI=", - "url": "https://github.com/platformsh/cli/releases/download/5.3.0/platform_5.3.0_linux_arm64.tar.gz" + "hash": "sha256-WTATvnvCF1GDObO14wHWN290/qz24f3gOKgnjNW0xF8=", + "url": "https://github.com/platformsh/cli/releases/download/5.5.0/platform_5.5.0_linux_arm64.tar.gz" } } diff --git a/pkgs/by-name/si/signal-desktop/libsignal-node.nix b/pkgs/by-name/si/signal-desktop/libsignal-node.nix index b3b13c42c954..cb5190abb930 100644 --- a/pkgs/by-name/si/signal-desktop/libsignal-node.nix +++ b/pkgs/by-name/si/signal-desktop/libsignal-node.nix @@ -24,23 +24,23 @@ let in rustPlatform.buildRustPackage (finalAttrs: { pname = "libsignal-node"; - version = "0.78.3"; + version = "0.81.0"; src = fetchFromGitHub { owner = "signalapp"; repo = "libsignal"; tag = "v${finalAttrs.version}"; - hash = "sha256-BRNgNE7BR4mlCKS4sydxx7rrfy+s4bTpQkX9GbEfhTg="; + hash = "sha256-SOQyps+iGVQ3RWPLmQHzXwmMwmR1PrGIbViCmNg60P4="; }; - cargoHash = "sha256-T8kSQFTvwAYZad9rQRK6vY8vEiilEKv1+fd/1EBlxjI="; + cargoHash = "sha256-O4v9GgNrs4+HpfgoHh6YLy4dNF1LrF1ZS50RaEHh1iM="; npmRoot = "node"; npmDeps = fetchNpmDeps { name = "${finalAttrs.pname}-npm-deps"; inherit (finalAttrs) version src; sourceRoot = "${finalAttrs.src.name}/${finalAttrs.npmRoot}"; - hash = "sha256-e/WyQlea46qTx7x45QuYdlaShezHV5vuB3ptB2DRCVE="; + hash = "sha256-KvMEQ9nJunqF2CDjiP3s3CMoeF+nbUpZDzSIMsImbPg="; }; nativeBuildInputs = [ @@ -62,15 +62,8 @@ rustPlatform.buildRustPackage (finalAttrs: { ./dont-strip-absolute-paths.patch ]; postPatch = '' - substituteInPlace node/binding.gyp \ - --replace-fail "'--out-dir', '<(PRODUCT_DIR)/'," \ - "'--out-dir', '$out/lib/<(NODE_OS_NAME)-<(target_arch)/'," \ - --replace-fail "'target_name': 'libsignal_client_<(NODE_OS_NAME)_<(target_arch).node'," \ - "'target_name': '@signalapp+libsignal-client'," - substituteInPlace node/build_node_bridge.py \ - --replace-fail "dst_base = 'libsignal_client_%s_%s' % (node_os_name, node_arch)" \ - "dst_base = '@signalapp+libsignal-client'" \ + --replace-fail "'prebuilds'" "'$out/lib'" \ --replace-fail "objcopy = shutil.which('%s-linux-gnu-objcopy' % cargo_target.split('-')[0]) or 'objcopy'" \ "objcopy = os.getenv('OBJCOPY', 'objcopy')" ''; @@ -79,7 +72,7 @@ rustPlatform.buildRustPackage (finalAttrs: { runHook preBuild pushd node - npx node-gyp rebuild + npm run build -- --copy-to-prebuilds popd runHook postBuild diff --git a/pkgs/by-name/si/signal-desktop/package.nix b/pkgs/by-name/si/signal-desktop/package.nix index 01bf8349b79d..e369ffaf2c6b 100644 --- a/pkgs/by-name/si/signal-desktop/package.nix +++ b/pkgs/by-name/si/signal-desktop/package.nix @@ -3,7 +3,7 @@ lib, nodejs_22, pnpm_10, - electron_37, + electron_38, python3, makeWrapper, callPackage, @@ -23,7 +23,7 @@ let nodejs = nodejs_22; pnpm = pnpm_10.override { inherit nodejs; }; - electron = electron_37; + electron = electron_38; libsignal-node = callPackage ./libsignal-node.nix { inherit nodejs; }; signal-sqlcipher = callPackage ./signal-sqlcipher.nix { inherit pnpm nodejs; }; @@ -52,13 +52,13 @@ let ''; }); - version = "7.70.0"; + version = "7.72.1"; src = fetchFromGitHub { owner = "signalapp"; repo = "Signal-Desktop"; tag = "v${version}"; - hash = "sha256-y9i9YQPsLt3SLqROyEZsyIkVy/os3hy+1UMUSFMZJTY="; + hash = "sha256-X+ENbHnlr9VL+flaZAHsOjRSBnXHa32qLNEXntxnRLA="; }; sticker-creator = stdenv.mkDerivation (finalAttrs: { @@ -134,15 +134,15 @@ stdenv.mkDerivation (finalAttrs: { fetcherVersion = 1; hash = if withAppleEmojis then - "sha256-uVVUHvYhBCplKPyuS2+PKCxox8uWU2E/2EXLCG1ot54=" + "sha256-7VDIUyQBhFNrAmpfemKcNgjJEuvQ355uU6oZdWM1Hk8=" else - "sha256-tbfk/tIgqpjDtDiULbTVUOJf5i9eLX9xY7vUPrrjmu0="; + "sha256-gpK4WZjD//jZkxLvhAzXVAKmLjya8D1MVCPD4KKJJdA="; }; env = { ELECTRON_SKIP_BINARY_DOWNLOAD = "1"; SIGNAL_ENV = "production"; - SOURCE_DATE_EPOCH = 1757542492; + SOURCE_DATE_EPOCH = 1758811882; }; preBuild = '' @@ -218,10 +218,12 @@ stdenv.mkDerivation (finalAttrs: { install -Dm644 $icon $out/share/icons/hicolor/`basename ''${icon%.png}`/apps/signal-desktop.png done + # TODO: Remove --ozone-platform=wayland after next electron update, + # see https://github.com/electron/electron/pull/48309 makeWrapper '${lib.getExe electron}' "$out/bin/signal-desktop" \ --add-flags "$out/share/signal-desktop/app.asar" \ --set-default ELECTRON_FORCE_IS_PACKAGED 1 \ - --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" \ + --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform=wayland --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" \ --add-flags ${lib.escapeShellArg commandLineArgs} runHook postInstall diff --git a/pkgs/by-name/si/signal-desktop/ringrtc.nix b/pkgs/by-name/si/signal-desktop/ringrtc.nix index 0f5f892ecc77..7a2ddc5c7c09 100644 --- a/pkgs/by-name/si/signal-desktop/ringrtc.nix +++ b/pkgs/by-name/si/signal-desktop/ringrtc.nix @@ -19,16 +19,16 @@ let in rustPlatform.buildRustPackage (finalAttrs: { pname = "ringrtc"; - version = "2.57.0"; + version = "2.57.1"; src = fetchFromGitHub { owner = "signalapp"; repo = "ringrtc"; tag = "v${finalAttrs.version}"; - hash = "sha256-m73SXjTES1sHGbQRtn9CjurFd/Xby5Yyn6uLVLigfiU="; + hash = "sha256-U3sfNjJInT7QBqLLNK1j/0xzmwi/pfZZGOtL/JZ5gZM="; }; - cargoHash = "sha256-LRCgK/w+GcYBCWUKjytErQCxDtS15EnsVOr5Uq6F8ww="; + cargoHash = "sha256-DcaZmOPVO/eAMZ9NsqmwnI2d7Vdz/aVmvI4COivvDBM="; cargoBuildFlags = [ "-p" diff --git a/pkgs/by-name/sn/snakefmt/package.nix b/pkgs/by-name/sn/snakefmt/package.nix index 44735da75e42..9aa688267d78 100644 --- a/pkgs/by-name/sn/snakefmt/package.nix +++ b/pkgs/by-name/sn/snakefmt/package.nix @@ -8,26 +8,27 @@ python3.pkgs.buildPythonApplication rec { pname = "snakefmt"; - version = "0.11.0"; + version = "0.11.2"; pyproject = true; disabled = python3.pythonOlder "3.11"; src = fetchPypi { inherit pname version; - hash = "sha256-r8O5LhA8/agP/35381f2zB2rdCJy7nY0K6NC8w5yHzA="; + hash = "sha256-6a03WEAeApH3pFNgB1xXODhrWKGxYNOIJ7QGMNn3NeE="; }; - build-system = [ python3.pkgs.poetry-core ]; + build-system = with python3.pkgs; [ hatchling ]; dependencies = with python3.pkgs; [ black click - importlib-metadata - toml ]; - pythonRelaxDeps = [ "black" ]; + pythonRelaxDeps = [ + "black" + "click" + ]; pythonImportsCheck = [ "snakefmt" ]; diff --git a/pkgs/by-name/ta/tart/package.nix b/pkgs/by-name/ta/tart/package.nix index f8e4fa92ab32..357a77a53d82 100644 --- a/pkgs/by-name/ta/tart/package.nix +++ b/pkgs/by-name/ta/tart/package.nix @@ -9,14 +9,16 @@ # See https://github.com/cirruslabs/softnet#installing enableSoftnet ? false, softnet, + nix-update-script, + versionCheckHook, }: stdenvNoCC.mkDerivation (finalAttrs: { pname = "tart"; - version = "2.28.1"; + version = "2.28.6"; src = fetchurl { url = "https://github.com/cirruslabs/tart/releases/download/${finalAttrs.version}/tart.tar.gz"; - hash = "sha256-rV5hAJk46e9PAdEo8Qc6/17WqZ9aihj5+A1nLp3fJro="; + hash = "sha256-F6bYWVHtzXo6TH4CAvdF6qx7OCVvKACsh2KdRYFsxOw="; }; sourceRoot = "."; @@ -37,8 +39,14 @@ stdenvNoCC.mkDerivation (finalAttrs: { runHook postInstall ''; + nativeInstallCheckInputs = [ + versionCheckHook + ]; + doInstallCheck = true; + passthru.updateScript = nix-update-script { }; + meta = with lib; { - description = "macOS VMs on Apple Silicon to use in CI and other automations"; + description = "macOS and Linux VMs on Apple Silicon to use in CI and other automations"; homepage = "https://tart.run"; license = licenses.fairsource09; maintainers = with maintainers; [ @@ -46,10 +54,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { aduh95 ]; mainProgram = "tart"; - platforms = [ - "aarch64-darwin" - "x86_64-darwin" - ]; + platforms = platforms.darwin; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; }; }) diff --git a/pkgs/by-name/wi/windsurf/info.json b/pkgs/by-name/wi/windsurf/info.json index 852ca8a043ef..6b5a470845cb 100644 --- a/pkgs/by-name/wi/windsurf/info.json +++ b/pkgs/by-name/wi/windsurf/info.json @@ -1,20 +1,20 @@ { "aarch64-darwin": { - "version": "1.12.11", + "version": "1.12.12", "vscodeVersion": "1.99.3", - "url": "https://windsurf-stable.codeiumdata.com/darwin-arm64/stable/869df67af2a3134ce6fe3d8395ac0ae23726fd02/Windsurf-darwin-arm64-1.12.11.zip", - "sha256": "1303ed86901099beac3ea6a8ac8ca532f238130b032153546252b852d8224d95" + "url": "https://windsurf-stable.codeiumdata.com/darwin-arm64/stable/146732d0c28fe6d8f982f1ebf7ab4101ece88c63/Windsurf-darwin-arm64-1.12.12.zip", + "sha256": "dae2809d0d551b1ad4acd03effba65c655d6040b3903e046934b1940e4be063f" }, "x86_64-darwin": { - "version": "1.12.11", + "version": "1.12.12", "vscodeVersion": "1.99.3", - "url": "https://windsurf-stable.codeiumdata.com/darwin-x64/stable/869df67af2a3134ce6fe3d8395ac0ae23726fd02/Windsurf-darwin-x64-1.12.11.zip", - "sha256": "6a0898186f68125c9f1310f8c2e6867f3e54ab6a72e1295799da1bd607af4825" + "url": "https://windsurf-stable.codeiumdata.com/darwin-x64/stable/146732d0c28fe6d8f982f1ebf7ab4101ece88c63/Windsurf-darwin-x64-1.12.12.zip", + "sha256": "8696e119dbabf962d465ea6d2395f165a849b0d8abdd1f62d0ea1d49528e92e1" }, "x86_64-linux": { - "version": "1.12.11", + "version": "1.12.12", "vscodeVersion": "1.99.3", - "url": "https://windsurf-stable.codeiumdata.com/linux-x64/stable/869df67af2a3134ce6fe3d8395ac0ae23726fd02/Windsurf-linux-x64-1.12.11.tar.gz", - "sha256": "421a27f73c84a6f52bba3cfdc9edd9ea055013ba9c85bdd0777b072ab382637c" + "url": "https://windsurf-stable.codeiumdata.com/linux-x64/stable/146732d0c28fe6d8f982f1ebf7ab4101ece88c63/Windsurf-linux-x64-1.12.12.tar.gz", + "sha256": "9f832381f3ea79f3662d728817b05ef33756708e845052d40d1253b7e1a055dc" } } diff --git a/pkgs/development/python-modules/databricks-sdk/default.nix b/pkgs/development/python-modules/databricks-sdk/default.nix index 3e4c205684f6..fcd5efe78395 100644 --- a/pkgs/development/python-modules/databricks-sdk/default.nix +++ b/pkgs/development/python-modules/databricks-sdk/default.nix @@ -21,14 +21,14 @@ buildPythonPackage rec { pname = "databricks-sdk"; - version = "0.65.0"; + version = "0.67.0"; pyproject = true; src = fetchFromGitHub { owner = "databricks"; repo = "databricks-sdk-py"; tag = "v${version}"; - hash = "sha256-57qaTymMOkEJ+DzBDshhMoCJQk1UqJ796mv5uTOkUDw="; + hash = "sha256-3UGPB3KEO7M4QFYiniU4hcaOUmCMq3vW4yBIxDUhHLk="; }; build-system = [ diff --git a/pkgs/development/python-modules/docling-mcp/default.nix b/pkgs/development/python-modules/docling-mcp/default.nix index 58801822260f..4e5f5599105d 100644 --- a/pkgs/development/python-modules/docling-mcp/default.nix +++ b/pkgs/development/python-modules/docling-mcp/default.nix @@ -30,14 +30,14 @@ buildPythonPackage rec { pname = "docling-mcp"; - version = "1.2.0"; + version = "1.3.1"; pyproject = true; src = fetchFromGitHub { owner = "docling-project"; repo = "docling-mcp"; tag = "v${version}"; - hash = "sha256-ktJ5K+1Qb7/lUHPkmv2FMnSe6PiIQ1BvWj5qIG8xfdE="; + hash = "sha256-MEGj/tPHDZqvgqmzXsoeEIWWU7vlLo8H4KhMFgf6q2c="; }; pythonRemoveDeps = [ diff --git a/pkgs/development/python-modules/momonga/default.nix b/pkgs/development/python-modules/momonga/default.nix new file mode 100644 index 000000000000..d894d4f698e6 --- /dev/null +++ b/pkgs/development/python-modules/momonga/default.nix @@ -0,0 +1,39 @@ +{ + buildPythonPackage, + fetchFromGitHub, + lib, + pyserial, + setuptools, +}: + +buildPythonPackage rec { + pname = "momonga"; + version = "0.1.5"; + pyproject = true; + + src = fetchFromGitHub { + owner = "nbtk"; + repo = "momonga"; + tag = "v${version}"; + hash = "sha256-sc81L71DJq+XiIYUSMH6knfaPfV7cng/Sp0ZTY6N7ZI="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + pyserial + ]; + + pythonImportsCheck = [ "momonga" ]; + + # tests require access to the API + doCheck = false; + + meta = { + changelog = "https://github.com/nbtk/momonga/releases/tag/${src.tag}"; + description = "Python Route B Library: A Communicator for Low-voltage Smart Electric Energy Meters"; + homepage = "https://github.com/nbtk/momonga"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.dotlambda ]; + }; +} diff --git a/pkgs/development/python-modules/pyhive-integration/default.nix b/pkgs/development/python-modules/pyhive-integration/default.nix index d6e26b78ab0f..8ecacc3fdb59 100644 --- a/pkgs/development/python-modules/pyhive-integration/default.nix +++ b/pkgs/development/python-modules/pyhive-integration/default.nix @@ -14,14 +14,14 @@ buildPythonPackage rec { pname = "pyhive-integration"; - version = "1.0.3"; + version = "1.0.5"; pyproject = true; src = fetchFromGitHub { owner = "Pyhass"; repo = "Pyhiveapi"; tag = "v${version}"; - hash = "sha256-g3dEB41bYT2XygAIRqXpdCeYuh7IH9O3ZG1zr5Sm7+8="; + hash = "sha256-chAIFBd51a4QHVhAm5jsQvDhe7huSMyv8oARZKEc2Qw="; }; pythonRemoveDeps = [ "pre-commit" ]; diff --git a/pkgs/development/python-modules/pyicloud/default.nix b/pkgs/development/python-modules/pyicloud/default.nix index 2d87062de302..a7d1bc73ef6e 100644 --- a/pkgs/development/python-modules/pyicloud/default.nix +++ b/pkgs/development/python-modules/pyicloud/default.nix @@ -1,56 +1,69 @@ { lib, buildPythonPackage, - fetchFromGitHub, - pythonAtLeast, - setuptools, certifi, click, + fetchFromGitHub, + fido2, keyring, keyrings-alt, - requests, - tzlocal, pytest-mock, + pytest-socket, pytestCheckHook, + pythonAtLeast, + requests, + setuptools, + setuptools-scm, + srp, + tzlocal, }: buildPythonPackage rec { pname = "pyicloud"; - version = "1.0.0"; + version = "2.1.0"; pyproject = true; src = fetchFromGitHub { - owner = "picklepete"; + owner = "timlaing"; repo = "pyicloud"; - rev = version; - hash = "sha256-2E1pdHHt8o7CGpdG+u4xy5OyNCueUGVw5CY8oicYd5w="; + tag = version; + hash = "sha256-bGS5yAizdaZUdwKNoZPKP/DSpJs5XI70hyTLfJg9QmI="; }; - nativeBuildInputs = [ setuptools ]; + build-system = [ + setuptools + setuptools-scm + ]; - propagatedBuildInputs = [ + dependencies = [ certifi click + fido2 keyring keyrings-alt requests + srp tzlocal ]; nativeCheckInputs = [ pytest-mock + pytest-socket pytestCheckHook ]; + pythonImportsCheck = [ "pyicloud" ]; + disabledTests = lib.optionals (pythonAtLeast "3.12") [ # https://github.com/picklepete/pyicloud/issues/446 "test_storage" ]; meta = with lib; { - description = "PyiCloud is a module which allows pythonistas to interact with iCloud webservices"; + description = "Module to interact with iCloud webservices"; mainProgram = "icloud"; - homepage = "https://github.com/picklepete/pyicloud"; + homepage = "https://github.com/timlaing/pyicloud"; + changelog = "https://github.com/timlaing/pyicloud/releases/tag/${src.tag}"; license = licenses.mit; maintainers = [ maintainers.mic92 ]; }; diff --git a/pkgs/development/tools/electron/binary/info.json b/pkgs/development/tools/electron/binary/info.json index fa6185480737..255219b50cba 100644 --- a/pkgs/development/tools/electron/binary/info.json +++ b/pkgs/development/tools/electron/binary/info.json @@ -12,35 +12,35 @@ }, "36": { "hashes": { - "aarch64-darwin": "32e25c46dfc1dc52d55a47d197f063534ac9932c7140ba06ac8686025ceb6072", - "aarch64-linux": "ab134d66bdbf558c0a222da59cd3a61e63914154c37186bc9d8299f24d70c9c9", - "armv7l-linux": "031aba9dd2b9041b8144bb6cb1cf4864aec6df1ed68ac96f35d414ba86525804", + "aarch64-darwin": "33892aeb000bd7f3f8a102f3bb3111b6fa1e2ccd92cbb5b787c79423e96d61b8", + "aarch64-linux": "55da6f2d692445f0eff0ee898160ff4da2c2d3f1736aff77fcb12c836f19db5e", + "armv7l-linux": "0631d0dc472c412f4c52def18adf6fddc0aefde37e0b15d0611cd4743f9e1e9b", "headers": "0fv8hz55xk76vksj8sagfhja0xx03ks8awi3sbmlinjb9m02hb9p", - "x86_64-darwin": "6594c103081f9e57fc0a7baebec8c9be6362c674afc3b3804938b510ae4fcb51", - "x86_64-linux": "234ab7c9e9eea1ab2e502ebaea8fcfbcfc10bcfa120f5dca45624c39daee64f2" + "x86_64-darwin": "8448b9f39e6c540b326b2abfcdfd41349482247b936a72914f9c843478b6597c", + "x86_64-linux": "bab89894ad4336ee8f855de3bb5405ee3d872d90b2ba7b196ac24cbc7a3025b8" }, - "version": "36.9.1" + "version": "36.9.2" }, "37": { "hashes": { - "aarch64-darwin": "4594071c44edc118bc9c58175148a0881c05d4ff95b8e9d7a24465c7a54131a3", - "aarch64-linux": "87ff5353f05b7d4ed83b0131dc73923957c5a9948c4748c9c696e94b90c5546b", - "armv7l-linux": "3fb1c01cadd627e7bb2126629557c277441dc1064de1c7e1946f7ce26f743abb", + "aarch64-darwin": "82869e916e74cb763c03fefb5fcee1fc99536e597716d4f3a9c716f9c37effab", + "aarch64-linux": "7c76a5147a9870b8bcbd859278148e1e326f98ea6a5dcb3ac2707d39bd22b2d5", + "armv7l-linux": "0d4a49b5f462972173daf6e919664cc04cad7a7d2a96b074cb181ea07bb0cd74", "headers": "0pxwny0ynvyqb3zqnharc4mkgj6acipqra1jjmf4hbr2a8m5fnc6", - "x86_64-darwin": "27cd4f024df5c7bc377a5e93dc4815567ac301ee8bb1ebd5ba04bf448bdebc28", - "x86_64-linux": "00873612a8c1b0c29dff6d3c759585013deaacf64e38b4cb173b7b18d0f272fc" + "x86_64-darwin": "258a104f781c50939ec6b45177a6f810da646ade15567a09cf9d14ec81b82cb2", + "x86_64-linux": "02e644d75392a1ea8991106bc77e1db243ee1fc0c23107dc3b253ed545dd4c66" }, - "version": "37.5.1" + "version": "37.6.0" }, "38": { "hashes": { - "aarch64-darwin": "2b47e58564eea4e7de76c337b5257e8538e657b3e7c9d403d03834ace0e6b358", - "aarch64-linux": "e28841bb9e47617cec0eea9abed88ea6b5e87d378d59553fb646c789df13f089", - "armv7l-linux": "6cea25eadd6c9af1e5015dd23d2f2a06f1f8d6c3aa6eb5574e0a76c081a96859", + "aarch64-darwin": "cff178e2cb9ae0d957d43009ef46d249d5594bc107d7704130bc0ce2e234bbd1", + "aarch64-linux": "76116429b368c883f93eb98cbdb053f98d811c35943133fe3cf9b408018ebe2f", + "armv7l-linux": "a4345bb87504b6b2bef29c0dc53b99770b203a7052fd2c5d38fd3e16177d3e68", "headers": "096wv1fp5m6nlsv11hsa2jj4yr8mb8pjh16s7ip5amj0phlx5783", - "x86_64-darwin": "0bbd87ff8fc608ebc340b425e69b7489421bb51ba5fb623ece8cdc85e4e041ab", - "x86_64-linux": "12944d0afa00b107d6f918216059aa9b3838f55301eeb752dd5321b5f56b1b63" + "x86_64-darwin": "232a83cb11b37f67dc0683402463ef30ac0309afb8e96f3bc1ea53e72fafa789", + "x86_64-linux": "f0028975282a6f2946797175ac406a95096f29c5dcda98048148668dfa36eff8" }, - "version": "38.1.2" + "version": "38.2.0" } } diff --git a/pkgs/development/tools/electron/chromedriver/info.json b/pkgs/development/tools/electron/chromedriver/info.json index b06010d5bd9a..70d8453feddb 100644 --- a/pkgs/development/tools/electron/chromedriver/info.json +++ b/pkgs/development/tools/electron/chromedriver/info.json @@ -12,35 +12,35 @@ }, "36": { "hashes": { - "aarch64-darwin": "77ec0308c8dfa3a44c3c0d7254285b622e3d5fa6a5ba990acda5d0a651c2173e", - "aarch64-linux": "02a798cf281bfcb8f1ca27016b92e2b869323bf9338a8f10801f4ba355fe4b45", - "armv7l-linux": "65b958043ee8a39278fe4eaa5fd00932ae5d23d0e279e56a8a39e0db46bdaafa", + "aarch64-darwin": "843592feae9fd5cd698cf5db2bcebe59654b108899fa5987a0b3cb34a0245bad", + "aarch64-linux": "9d6c593a608d8a9eb4e6bd1e6aaa84a6c3417b3080f933100790d22661d6b10e", + "armv7l-linux": "78070ec874d829b836cb929272c6264fff1855a1b85cc562d5d907b3f735715c", "headers": "0fv8hz55xk76vksj8sagfhja0xx03ks8awi3sbmlinjb9m02hb9p", - "x86_64-darwin": "f00ff6f5b3c029427ecd27fb94949bc1abddad64d5fddb23ecb8ce30db4d0cd4", - "x86_64-linux": "07bdcb9f55367caef1cbbe11ee9d15cf479ccead63632713c268123c6a5ef720" + "x86_64-darwin": "c1c4dd9cda4d9b9b31599716fc63dc71e1f1d6e300a4d4c019fe2bc02ef56557", + "x86_64-linux": "609de7bc826d6c858ce7703d8be9abc0a14d35ab745d178893cadf1291f35fa7" }, - "version": "36.9.1" + "version": "36.9.2" }, "37": { "hashes": { - "aarch64-darwin": "402c841a5fc2638f50b8b9e409d877e78bb6d597cc341fd320502a3845444d62", - "aarch64-linux": "b2c813e32f2336817682fe978a8045091c0e3ee1c4aa795c8e891bbd865b6276", - "armv7l-linux": "39371e49f3ae7b24b9c1f7577db6eff8e9928862884cb6fe578159bcf7882368", + "aarch64-darwin": "ea1b52ec0af04037b419897585ebb2e81f65ccd79dd8f331e26578d042c01a2f", + "aarch64-linux": "5c588569bbbca2bcef0881ea877d70dafcf7955e0d19765797f60e2c4d228c8a", + "armv7l-linux": "87a781e82f4fc530820311edc059eafe30e9cec673704c8e73ebf452c5382bc6", "headers": "0pxwny0ynvyqb3zqnharc4mkgj6acipqra1jjmf4hbr2a8m5fnc6", - "x86_64-darwin": "f3cfb979890539a28692b885a07be17707c953f538bd28630afe14a8d1526574", - "x86_64-linux": "bd5370472537117793e99ca7019e8cb626117de3f6058e5fdcea0adeed364699" + "x86_64-darwin": "667a9067a774a5ada82a44bc310a23657dc2942067732b6c2879ae0042e2faf2", + "x86_64-linux": "e1c04c3826e506765e90d95738d1cf0ecbb3a798f2f3a7bf17d0cc03fe0be1fe" }, - "version": "37.5.1" + "version": "37.6.0" }, "38": { "hashes": { - "aarch64-darwin": "e0ce8aa3fe8e2bf36478e406197f3926f1cfc57ec862c3eaceef8f33792933a8", - "aarch64-linux": "6bbfa5d1a0d8b1619f6676c0771675bc5d037fccc143df2c42f658e30e7347df", - "armv7l-linux": "3f464df339753efcb14038be3588c85fd29e913f46d266de4b3d7f31f3c2f377", + "aarch64-darwin": "97345d6f601c009ae810ee82dea77d90ff32040f95aefa7d1dbd95ab76ccebc7", + "aarch64-linux": "a1402389fe0b9687308020bc9b58909fa0987e5af3f5368557a88f18c9576a02", + "armv7l-linux": "7d038066c6c708517c08f06972dc688364a60b4537e1b83c3bf1db1baf290e45", "headers": "096wv1fp5m6nlsv11hsa2jj4yr8mb8pjh16s7ip5amj0phlx5783", - "x86_64-darwin": "871bbf03fce46eee78b067e17d4fc917ada1f55b6aedc1d0762f7078ab482ddd", - "x86_64-linux": "ebaa24fecc77539ae0f6b20bee9ce37da0143775ea168a48bc4e455d8bdb8c3f" + "x86_64-darwin": "d116d52170eecf0b982c0019f538aa7f01646c8b32b85512ec36096d18a3ed68", + "x86_64-linux": "0ad0238eedb81f71ade28056288b13a3c6a5223654300c423eb266ac0163765c" }, - "version": "38.1.2" + "version": "38.2.0" } } diff --git a/pkgs/development/tools/electron/info.json b/pkgs/development/tools/electron/info.json index c0b3171d3910..6bc1079b6481 100644 --- a/pkgs/development/tools/electron/info.json +++ b/pkgs/development/tools/electron/info.json @@ -56,10 +56,10 @@ }, "src/electron": { "args": { - "hash": "sha256-36H0FNNB3QUFdO22BqtHcIys/J3WBsghaoA/3a8gaTM=", + "hash": "sha256-iVs4TcW6ymx+vmYabOZnYbHLwHsnuTb/2iXfQYOZnho=", "owner": "electron", "repo": "electron", - "tag": "v36.9.1" + "tag": "v36.9.2" }, "fetcher": "fetchFromGitHub" }, @@ -1321,7 +1321,7 @@ "electron_yarn_hash": "1lqvsfr1w32n4as7g7ms49jjdfw7sl1fyvg2640cpdgjs4dd96ky", "modules": "135", "node": "22.19.0", - "version": "36.9.1" + "version": "36.9.2" }, "37": { "chrome": "138.0.7204.251", @@ -1380,10 +1380,10 @@ }, "src/electron": { "args": { - "hash": "sha256-lE8WyIAjLQqZZyuIHPgA217lqCFUEh0mzPhvzOzQ39c=", + "hash": "sha256-bmXyAQGG2oORXDALL5sV6ZLtrpZls4PzBOD0vQINcsg=", "owner": "electron", "repo": "electron", - "tag": "v37.5.1" + "tag": "v37.6.0" }, "fetcher": "fetchFromGitHub" }, @@ -2650,10 +2650,10 @@ "fetcher": "fetchFromGitiles" } }, - "electron_yarn_hash": "1lqvsfr1w32n4as7g7ms49jjdfw7sl1fyvg2640cpdgjs4dd96ky", + "electron_yarn_hash": "0hm126bl9cscs2mjb3yx2yr4b22agqp9r0c5kv25r3lvc020r9pk", "modules": "136", "node": "22.19.0", - "version": "37.5.1" + "version": "37.6.0" }, "38": { "chrome": "140.0.7339.133", @@ -2712,10 +2712,10 @@ }, "src/electron": { "args": { - "hash": "sha256-xeRBL6x0kzPTjzCk9eR7aDFJcdZtKgxAZN7SSCPbRJQ=", + "hash": "sha256-XlMLp3I7nQmlaqTbwwAzg4r17t4f5/C69nGDtJj/r0g=", "owner": "electron", "repo": "electron", - "tag": "v38.1.2" + "tag": "v38.2.0" }, "fetcher": "fetchFromGitHub" }, @@ -3974,9 +3974,9 @@ "fetcher": "fetchFromGitiles" } }, - "electron_yarn_hash": "0iqvdzggcb35yiarmd1n72sdkzy482qzj385286vnwanc93hls6s", + "electron_yarn_hash": "1knhw3blk3bl2a8nl58ik272qj2q0cpqiih5gcsds1na3bbkbn2z", "modules": "139", "node": "22.19.0", - "version": "38.1.2" + "version": "38.2.0" } } diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index 2c8bbc8165e0..0d3edeb24151 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -717,8 +717,8 @@ let BTRFS_FS_POSIX_ACL = yes; - BCACHEFS_QUOTA = whenAtLeast "6.7" (option yes); - BCACHEFS_POSIX_ACL = whenAtLeast "6.7" (option yes); + BCACHEFS_QUOTA = whenBetween "6.7" "6.18" (option yes); + BCACHEFS_POSIX_ACL = whenBetween "6.7" "6.18" (option yes); UBIFS_FS_ADVANCED_COMPR = option yes; diff --git a/pkgs/os-specific/linux/zfs/generic.nix b/pkgs/os-specific/linux/zfs/generic.nix index 98d0236bcd90..bf615d8716de 100644 --- a/pkgs/os-specific/linux/zfs/generic.nix +++ b/pkgs/os-specific/linux/zfs/generic.nix @@ -156,7 +156,7 @@ let --replace-fail "bashcompletiondir=/etc/bash_completion.d" \ "bashcompletiondir=$out/share/bash-completion/completions" - substituteInPlace ./cmd/arc_summary --replace-fail "/sbin/modinfo" "modinfo" + substituteInPlace ./cmd/zarcsummary --replace-fail "/sbin/modinfo" "modinfo" '' + '' echo 'Supported Kernel versions:' diff --git a/pkgs/os-specific/linux/zfs/unstable.nix b/pkgs/os-specific/linux/zfs/unstable.nix index e115be3336a0..8c9b35be6056 100644 --- a/pkgs/os-specific/linux/zfs/unstable.nix +++ b/pkgs/os-specific/linux/zfs/unstable.nix @@ -10,20 +10,20 @@ callPackage ./generic.nix args { kernelModuleAttribute = "zfs_unstable"; kernelMinSupportedMajorMinor = "4.18"; - kernelMaxSupportedMajorMinor = "6.16"; + kernelMaxSupportedMajorMinor = "6.17"; # this package should point to a version / git revision compatible with the latest kernel release # IMPORTANT: Always use a tagged release candidate or commits from the # zfs--staging branch, because this is tested by the OpenZFS # maintainers. - version = "2.4.0-rc1"; + version = "2.4.0-rc2"; # rev = ""; tests = { inherit (nixosTests.zfs) unstable; }; - hash = "sha256-6BU/Cotu+Lp7Pqp0eyECzAwsl82vKyDBkacxAh9wHPo="; + hash = "sha256-NoY8lXQ/qxO0cQLmU0tIjqqWUThfWzVioigpS2crbeE="; extraLongDescription = '' This is "unstable" ZFS, and will usually be a pre-release version of ZFS. diff --git a/pkgs/shells/fish/plugins/forgit.nix b/pkgs/shells/fish/plugins/forgit.nix index 11b15ef56db4..333ea768fffe 100644 --- a/pkgs/shells/fish/plugins/forgit.nix +++ b/pkgs/shells/fish/plugins/forgit.nix @@ -6,13 +6,13 @@ buildFishPlugin rec { pname = "forgit"; - version = "25.09.0"; + version = "25.10.0"; src = fetchFromGitHub { owner = "wfxr"; repo = "forgit"; rev = version; - hash = "sha256-hbPiuuiyPOCtnByInhoA0atVDwNaMRfzp1n9dusg59I="; + hash = "sha256-MG60GzRG0NFQsGXBXBedSweucxo88S/NACXTme7ixRM="; }; postInstall = '' diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index e87b86200b49..65a83ed52762 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -433,6 +433,7 @@ mapAliases { alsaTools = throw "'alsaTools' has been renamed to/replaced by 'alsa-tools'"; # Converted to throw 2024-10-17 alsaUtils = throw "'alsaUtils' has been renamed to/replaced by 'alsa-utils'"; # Converted to throw 2024-10-17 amazon-qldb-shell = throw "'amazon-qldb-shell' has been removed due to being unmaintained upstream"; # Added 2025-07-30 + amdvlk = throw "'amdvlk' has been removed since it was deprecated by AMD. Its replacement, RADV, is enabled by default."; # Added 2025-09-20 angelfish = throw "'angelfish' has been renamed to/replaced by 'libsForQt5.kdeGear.angelfish'"; # Converted to throw 2024-10-17 animeko = throw "'animeko' has been removed since it is unmaintained"; # Added 2025-08-20 ansible_2_14 = throw "Ansible 2.14 goes end of life in 2024/05 and can't be supported throughout the 24.05 release cycle"; # Added 2024-04-11 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 24b72e37e98c..1947b743aa6f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7270,7 +7270,6 @@ with pkgs; # Multi-arch "drivers" which we want to build for i686. driversi686Linux = recurseIntoAttrs { inherit (pkgsi686Linux) - amdvlk intel-media-driver intel-vaapi-driver mesa @@ -11575,8 +11574,6 @@ with pkgs; huggle = libsForQt5.callPackage ../applications/misc/huggle { }; - hushboard = python3.pkgs.callPackage ../applications/audio/hushboard { }; - hyperion-ng = libsForQt5.callPackage ../applications/video/hyperion-ng { }; jackline = callPackage ../applications/networking/instant-messengers/jackline { diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 6e32cb75f174..fc6ffe5655be 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9614,6 +9614,8 @@ self: super: with self; { momepy = callPackage ../development/python-modules/momepy { }; + momonga = callPackage ../development/python-modules/momonga { }; + monai = callPackage ../development/python-modules/monai { }; monai-deploy = callPackage ../development/python-modules/monai-deploy { };