nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge master into staging-next

authored by

github-actions[bot] and committed by
GitHub
aac843d6 2994ad0f

+810 -617
+4 -1
.github/CODEOWNERS
··· 90 90 # NixOS integration test driver 91 91 /nixos/lib/test-driver @tfc 92 92 93 + # NixOS QEMU virtualisation 94 + /nixos/virtualisation/qemu-vm.nix @raitobezarius 95 + 93 96 # Systemd 94 97 /nixos/modules/system/boot/systemd.nix @NixOS/systemd 95 98 /nixos/modules/system/boot/systemd @NixOS/systemd ··· 142 139 143 140 # C compilers 144 141 /pkgs/development/compilers/gcc @matthewbauer 145 - /pkgs/development/compilers/llvm @matthewbauer 142 + /pkgs/development/compilers/llvm @matthewbauer @RaitoBezarius 146 143 147 144 # Compatibility stuff 148 145 /pkgs/top-level/unix-tools.nix @matthewbauer
+5 -5
maintainers/maintainer-list.nix
··· 3518 3518 }; 3519 3519 davidcromp = { 3520 3520 email = "davidcrompton1192@gmail.com"; 3521 - github = "DavidCromp"; 3521 + github = "CyborgPotato"; 3522 3522 githubId = 10701143; 3523 3523 name = "David Crompton"; 3524 3524 }; ··· 8417 8417 }; 8418 8418 kristian-brucaj = { 8419 8419 email = "kbrucaj@gmail.com"; 8420 - github = "Kristian-Brucaj"; 8420 + github = "Flameslice"; 8421 8421 githubId = 8893110; 8422 8422 name = "Kristian Brucaj"; 8423 8423 }; ··· 9590 9590 mateodd25 = { 9591 9591 email = "mateodd@icloud.com"; 9592 9592 github = "mateodd25"; 9593 - githubId = 854770; 9593 + githubId = 7878181; 9594 9594 name = "Mateo Diaz"; 9595 9595 }; 9596 9596 math-42 = { ··· 14367 14367 name = "Smitty van Bodegom"; 14368 14368 email = "me@smitop.com"; 14369 14369 matrix = "@smitop:kde.org"; 14370 - github = "Smittyvb"; 14370 + github = "syvb"; 14371 14371 githubId = 10530973; 14372 14372 }; 14373 14373 sna = { ··· 17333 17333 zseri = { 17334 17334 name = "zseri"; 17335 17335 email = "zseri.devel@ytrizja.de"; 17336 - github = "zseri"; 17336 + github = "fogti"; 17337 17337 githubId = 1618343; 17338 17338 keys = [{ 17339 17339 fingerprint = "7AFB C595 0D3A 77BD B00F 947B 229E 63AE 5644 A96D";
+3 -1
nixos/modules/services/web-apps/nextcloud.md
··· 132 132 Nextcloud supports [server-side encryption (SSE)](https://docs.nextcloud.com/server/latest/admin_manual/configuration_files/encryption_configuration.html). 133 133 This is not an end-to-end encryption, but can be used to encrypt files that will be persisted 134 134 to external storage such as S3. Please note that this won't work anymore when using OpenSSL 3 135 - for PHP's openssl extension because this is implemented using the legacy cipher RC4. 135 + for PHP's openssl extension and **Nextcloud 25 or older** because this is implemented using the 136 + legacy cipher RC4. For Nextcloud26 this isn't relevant anymore, because Nextcloud has an RC4 implementation 137 + written in native PHP and thus doesn't need `ext-openssl` for that anymore. 136 138 If [](#opt-system.stateVersion) is *above* `22.05`, 137 139 this is disabled by default. To turn it on again and for further information please refer to 138 140 [](#opt-services.nextcloud.enableBrokenCiphersForSSE).
+5 -1
nixos/modules/services/web-apps/nextcloud.nix
··· 204 204 package = mkOption { 205 205 type = types.package; 206 206 description = lib.mdDoc "Which package to use for the Nextcloud instance."; 207 - relatedPackages = [ "nextcloud24" "nextcloud25" "nextcloud26" ]; 207 + relatedPackages = [ "nextcloud25" "nextcloud26" ]; 208 208 }; 209 209 phpPackage = mkOption { 210 210 type = types.package; ··· 712 712 See <https://docs.nextcloud.com/server/latest/admin_manual/configuration_files/encryption_configuration.html#disabling-encryption> on how to achieve this. 713 713 714 714 For more context, here is the implementing pull request: https://github.com/NixOS/nixpkgs/pull/198470 715 + '') 716 + ++ (optional (cfg.enableBrokenCiphersForSSE && versionAtLeast cfg.package.version "26") '' 717 + Nextcloud26 supports RC4 without requiring legacy OpenSSL, so 718 + `services.nextcloud.enableBrokenCiphersForSSE` can be set to `false`. 715 719 ''); 716 720 717 721 services.nextcloud.package = with pkgs;
-1
nixos/modules/virtualisation/parallels-guest.nix
··· 87 87 bindsTo = [ "cups.service" ]; 88 88 path = [ prl-tools ]; 89 89 serviceConfig = { 90 - Type = "forking"; 91 90 ExecStart = "${prl-tools}/bin/prlshprint"; 92 91 WorkingDirectory = "${prl-tools}/bin"; 93 92 };
+139 -162
nixos/modules/virtualisation/qemu-vm.nix
··· 55 55 56 56 }; 57 57 58 + selectPartitionTableLayout = { useEFIBoot, useDefaultFilesystems }: 59 + if useDefaultFilesystems then 60 + if useEFIBoot then "efi" else "legacy" 61 + else "none"; 62 + 58 63 driveCmdline = idx: { file, driveExtraOpts, deviceExtraOpts, ... }: 59 64 let 60 65 drvId = "drive${toString idx}"; ··· 103 98 addDeviceNames = 104 99 imap1 (idx: drive: drive // { device = driveDeviceName idx; }); 105 100 106 - 107 101 # Shell script to start the VM. 108 102 startVM = 109 103 '' ··· 115 111 NIX_DISK_IMAGE=$(readlink -f "''${NIX_DISK_IMAGE:-${toString config.virtualisation.diskImage}}") || test -z "$NIX_DISK_IMAGE" 116 112 117 113 if test -n "$NIX_DISK_IMAGE" && ! test -e "$NIX_DISK_IMAGE"; then 118 - ${qemu}/bin/qemu-img create -f qcow2 "$NIX_DISK_IMAGE" \ 119 - ${toString config.virtualisation.diskSize}M 114 + echo "Disk image do not exist, creating the virtualisation disk image..." 115 + # If we are using a bootloader and default filesystems layout. 116 + # We have to reuse the system image layout as a backing image format (CoW) 117 + # So we can write on the top of it. 118 + 119 + # If we are not using the default FS layout, potentially, we are interested into 120 + # performing operations in postDeviceCommands or at early boot on the raw device. 121 + # We can still boot through QEMU direct kernel boot feature. 122 + 123 + # CoW prevent size to be attributed to an image. 124 + # FIXME: raise this issue to upstream. 125 + ${qemu}/bin/qemu-img create \ 126 + ${concatStringsSep " \\\n" ([ "-f qcow2" ] 127 + ++ optional (cfg.useBootLoader && cfg.useDefaultFilesystems) "-F qcow2 -b ${systemImage}/nixos.qcow2" 128 + ++ optional (!(cfg.useBootLoader && cfg.useDefaultFilesystems)) "-o size=${toString config.virtualisation.diskSize}M" 129 + ++ [ "$NIX_DISK_IMAGE" ])} 130 + echo "Virtualisation disk image created." 120 131 fi 121 132 122 133 # Create a directory for storing temporary data of the running VM. ··· 171 152 172 153 ${lib.optionalString cfg.useBootLoader 173 154 '' 174 - if ${if !cfg.persistBootDevice then "true" else "! test -e $TMPDIR/disk.img"}; then 175 - # Create a writable copy/snapshot of the boot disk. 176 - # A writable boot disk can be booted from automatically. 177 - ${qemu}/bin/qemu-img create -f qcow2 -F qcow2 -b ${bootDisk}/disk.img "$TMPDIR/disk.img" 178 - fi 179 - 180 - NIX_EFI_VARS=$(readlink -f "''${NIX_EFI_VARS:-${cfg.efiVars}}") 155 + NIX_EFI_VARS=$(readlink -f "''${NIX_EFI_VARS:-${config.system.name}-efi-vars.fd}") 181 156 182 157 ${lib.optionalString cfg.useEFIBoot 183 158 '' 184 159 # VM needs writable EFI vars 185 160 if ! test -e "$NIX_EFI_VARS"; then 186 - cp ${bootDisk}/efi-vars.fd "$NIX_EFI_VARS" 161 + cp ${systemImage}/efi-vars.fd "$NIX_EFI_VARS" 187 162 chmod 0644 "$NIX_EFI_VARS" 188 163 fi 189 164 ''} ··· 213 200 214 201 regInfo = pkgs.closureInfo { rootPaths = config.virtualisation.additionalPaths; }; 215 202 216 - 217 - # Generate a hard disk image containing a /boot partition and GRUB 218 - # in the MBR. Used when the `useBootLoader' option is set. 219 - # Uses `runInLinuxVM` to create the image in a throwaway VM. 220 - # See note [Disk layout with `useBootLoader`]. 221 - # FIXME: use nixos/lib/make-disk-image.nix. 222 - bootDisk = 223 - pkgs.vmTools.runInLinuxVM ( 224 - pkgs.runCommand "nixos-boot-disk" 225 - { preVM = 226 - '' 227 - mkdir $out 228 - diskImage=$out/disk.img 229 - ${qemu}/bin/qemu-img create -f qcow2 $diskImage "120M" 230 - ${lib.optionalString cfg.useEFIBoot '' 231 - efiVars=$out/efi-vars.fd 232 - cp ${cfg.efi.variables} $efiVars 233 - chmod 0644 $efiVars 234 - ''} 235 - ''; 236 - buildInputs = [ pkgs.util-linux ]; 237 - QEMU_OPTS = "-nographic -serial stdio -monitor none" 238 - + lib.optionalString cfg.useEFIBoot ( 239 - " -drive if=pflash,format=raw,unit=0,readonly=on,file=${cfg.efi.firmware}" 240 - + " -drive if=pflash,format=raw,unit=1,file=$efiVars"); 241 - } 242 - '' 243 - # Create a /boot EFI partition with 120M and arbitrary but fixed GUIDs for reproducibility 244 - ${pkgs.gptfdisk}/bin/sgdisk \ 245 - --set-alignment=1 --new=1:34:2047 --change-name=1:BIOSBootPartition --typecode=1:ef02 \ 246 - --set-alignment=512 --largest-new=2 --change-name=2:EFISystem --typecode=2:ef00 \ 247 - --attributes=1:set:1 \ 248 - --attributes=2:set:2 \ 249 - --disk-guid=97FD5997-D90B-4AA3-8D16-C1723AEA73C1 \ 250 - --partition-guid=1:1C06F03B-704E-4657-B9CD-681A087A2FDC \ 251 - --partition-guid=2:970C694F-AFD0-4B99-B750-CDB7A329AB6F \ 252 - --hybrid 2 \ 253 - --recompute-chs /dev/vda 254 - 255 - ${optionalString (config.boot.loader.grub.device != "/dev/vda") 256 - # In this throwaway VM, we only have the /dev/vda disk, but the 257 - # actual VM described by `config` (used by `switch-to-configuration` 258 - # below) may set `boot.loader.grub.device` to a different device 259 - # that's nonexistent in the throwaway VM. 260 - # Create a symlink for that device, so that the `grub-install` 261 - # by `switch-to-configuration` will hit /dev/vda anyway. 262 - '' 263 - ln -s /dev/vda ${config.boot.loader.grub.device} 264 - '' 265 - } 266 - 267 - ${pkgs.dosfstools}/bin/mkfs.fat -F16 /dev/vda2 268 - export MTOOLS_SKIP_CHECK=1 269 - ${pkgs.mtools}/bin/mlabel -i /dev/vda2 ::boot 270 - 271 - # Mount /boot; load necessary modules first. 272 - ${pkgs.kmod}/bin/insmod ${pkgs.linux}/lib/modules/*/kernel/fs/nls/nls_cp437.ko.xz || true 273 - ${pkgs.kmod}/bin/insmod ${pkgs.linux}/lib/modules/*/kernel/fs/nls/nls_iso8859-1.ko.xz || true 274 - ${pkgs.kmod}/bin/insmod ${pkgs.linux}/lib/modules/*/kernel/fs/fat/fat.ko.xz || true 275 - ${pkgs.kmod}/bin/insmod ${pkgs.linux}/lib/modules/*/kernel/fs/fat/vfat.ko.xz || true 276 - ${pkgs.kmod}/bin/insmod ${pkgs.linux}/lib/modules/*/kernel/fs/efivarfs/efivarfs.ko.xz || true 277 - mkdir /boot 278 - mount /dev/vda2 /boot 279 - 280 - ${optionalString config.boot.loader.efi.canTouchEfiVariables '' 281 - mount -t efivarfs efivarfs /sys/firmware/efi/efivars 282 - ''} 283 - 284 - # This is needed for GRUB 0.97, which doesn't know about virtio devices. 285 - mkdir /boot/grub 286 - echo '(hd0) /dev/vda' > /boot/grub/device.map 287 - 288 - # This is needed for systemd-boot to find ESP, and udev is not available here to create this 289 - mkdir -p /dev/block 290 - ln -s /dev/vda2 /dev/block/254:2 291 - 292 - # Set up system profile (normally done by nixos-rebuild / nix-env --set) 293 - mkdir -p /nix/var/nix/profiles 294 - ln -s ${config.system.build.toplevel} /nix/var/nix/profiles/system-1-link 295 - ln -s /nix/var/nix/profiles/system-1-link /nix/var/nix/profiles/system 296 - 297 - # Install bootloader 298 - touch /etc/NIXOS 299 - export NIXOS_INSTALL_BOOTLOADER=1 300 - ${config.system.build.toplevel}/bin/switch-to-configuration boot 301 - 302 - umount /boot 303 - '' # */ 304 - ); 203 + # System image is akin to a complete NixOS install with 204 + # a boot partition and root partition. 205 + systemImage = import ../../lib/make-disk-image.nix { 206 + inherit pkgs config lib; 207 + additionalPaths = [ regInfo ]; 208 + format = "qcow2"; 209 + onlyNixStore = false; 210 + partitionTableType = selectPartitionTableLayout { inherit (cfg) useDefaultFilesystems useEFIBoot; }; 211 + # Bootloader should be installed on the system image only if we are booting through bootloaders. 212 + # Though, if a user is not using our default filesystems, it is possible to not have any ESP 213 + # or a strange partition table that's incompatible with GRUB configuration. 214 + # As a consequence, this may lead to disk image creation failures. 215 + # To avoid this, we prefer to let the user find out about how to install the bootloader on its ESP/disk. 216 + # Usually, this can be through building your own disk image. 217 + # TODO: If a user is interested into a more fine grained heuristic for `installBootLoader` 218 + # by examining the actual contents of `cfg.fileSystems`, please send a PR. 219 + installBootLoader = cfg.useBootLoader && cfg.useDefaultFilesystems; 220 + touchEFIVars = cfg.useEFIBoot; 221 + diskSize = "auto"; 222 + additionalSpace = "0M"; 223 + copyChannel = false; 224 + OVMF = cfg.efi.OVMF; 225 + }; 305 226 306 227 storeImage = import ../../lib/make-disk-image.nix { 307 228 inherit pkgs config lib; ··· 244 297 onlyNixStore = true; 245 298 partitionTableType = "none"; 246 299 installBootLoader = false; 300 + touchEFIVars = false; 247 301 diskSize = "auto"; 248 302 additionalSpace = "0M"; 249 303 copyChannel = false; 250 304 }; 251 305 306 + bootConfiguration = 307 + if cfg.useDefaultFilesystems 308 + then 309 + if cfg.useBootLoader 310 + then 311 + if cfg.useEFIBoot then "efi_bootloading_with_default_fs" 312 + else "legacy_bootloading_with_default_fs" 313 + else 314 + "direct_boot_with_default_fs" 315 + else 316 + "custom"; 317 + suggestedRootDevice = { 318 + "efi_bootloading_with_default_fs" = "${cfg.bootLoaderDevice}2"; 319 + "legacy_bootloading_with_default_fs" = "${cfg.bootLoaderDevice}1"; 320 + "direct_boot_with_default_fs" = cfg.bootLoaderDevice; 321 + # This will enforce a NixOS module type checking error 322 + # to ask explicitly the user to set a rootDevice. 323 + # As it will look like `rootDevice = lib.mkDefault null;` after 324 + # all "computations". 325 + "custom" = null; 326 + }.${bootConfiguration}; 252 327 in 253 328 254 329 { 255 330 imports = [ 256 331 ../profiles/qemu-guest.nix 257 332 (mkRenamedOptionModule [ "virtualisation" "pathsInNixDB" ] [ "virtualisation" "additionalPaths" ]) 333 + (mkRemovedOptionModule [ "virtualisation" "bootDevice" ] "This option was renamed to `virtualisation.rootDevice`, as it was incorrectly named and misleading. Take the time to review what you want to do and look at the new options like `virtualisation.{bootLoaderDevice, bootPartition}`, open an issue in case of issues.") 334 + (mkRemovedOptionModule [ "virtualisation" "efiVars" ] "This option was removed, it is possible to provide a template UEFI variable with `virtualisation.efi.variables` ; if this option is important to you, open an issue") 335 + (mkRemovedOptionModule [ "virtualisation" "persistBootDevice" ] "Boot device is always persisted if you use a bootloader through the root disk image ; if this does not work for your usecase, please examine carefully what `virtualisation.{bootDevice, rootDevice, bootPartition}` options offer you and open an issue explaining your need.`") 258 336 ]; 259 337 260 338 options = { ··· 334 362 ''; 335 363 }; 336 364 337 - virtualisation.bootDevice = 365 + virtualisation.bootLoaderDevice = 338 366 mkOption { 339 367 type = types.path; 368 + default = lookupDriveDeviceName "root" cfg.qemu.drives; 369 + defaultText = literalExpression ''lookupDriveDeviceName "root" cfg.qemu.drives''; 340 370 example = "/dev/vda"; 341 371 description = 342 372 lib.mdDoc '' 343 - The disk to be used for the root filesystem. 373 + The disk to be used for the boot filesystem. 374 + By default, it is the same disk as the root filesystem. 375 + ''; 376 + }; 377 + 378 + virtualisation.bootPartition = 379 + mkOption { 380 + type = types.nullOr types.path; 381 + default = if cfg.useEFIBoot then "${cfg.bootLoaderDevice}1" else null; 382 + defaultText = literalExpression ''if cfg.useEFIBoot then "''${cfg.bootLoaderDevice}1" else null''; 383 + example = "/dev/vda1"; 384 + description = 385 + lib.mdDoc '' 386 + The boot partition to be used to mount /boot filesystem. 387 + In legacy boots, this should be null. 388 + By default, in EFI boot, it is the first partition of the boot device. 344 389 ''; 345 390 }; 346 391 347 - virtualisation.persistBootDevice = 392 + virtualisation.rootDevice = 348 393 mkOption { 349 - type = types.bool; 350 - default = false; 394 + type = types.nullOr types.path; 395 + example = "/dev/vda2"; 351 396 description = 352 397 lib.mdDoc '' 353 - If useBootLoader is specified, whether to recreate the boot device 354 - on each instantiaton or allow it to persist. 355 - ''; 398 + The disk or partition to be used for the root filesystem. 399 + By default (read the source code for more details): 400 + 401 + - under EFI with a bootloader: 2nd partition of the boot disk 402 + - in legacy boot with a bootloader: 1st partition of the boot disk 403 + - in direct boot (i.e. without a bootloader): whole disk 404 + 405 + In case you are not using a default boot device or a default filesystem, you have to set explicitly your root device. 406 + ''; 356 407 }; 357 408 358 409 virtualisation.emptyDiskImages = ··· 744 749 }; 745 750 746 751 virtualisation.efi = { 752 + OVMF = mkOption { 753 + type = types.package; 754 + default = (pkgs.OVMF.override { 755 + secureBoot = cfg.useSecureBoot; 756 + }).fd; 757 + defaultText = ''(pkgs.OVMF.override { 758 + secureBoot = cfg.useSecureBoot; 759 + }).fd''; 760 + description = 761 + lib.mdDoc "OVMF firmware package, defaults to OVMF configured with secure boot if needed."; 762 + }; 763 + 747 764 firmware = mkOption { 748 765 type = types.path; 749 - default = pkgs.OVMF.firmware; 750 - defaultText = literalExpression "pkgs.OVMF.firmware"; 766 + default = cfg.efi.OVMF.firmware; 767 + defaultText = literalExpression "cfg.efi.OVMF.firmware"; 751 768 description = 752 769 lib.mdDoc '' 753 770 Firmware binary for EFI implementation, defaults to OVMF. ··· 768 761 769 762 variables = mkOption { 770 763 type = types.path; 771 - default = pkgs.OVMF.variables; 772 - defaultText = literalExpression "pkgs.OVMF.variables"; 764 + default = cfg.efi.OVMF.variables; 765 + defaultText = literalExpression "cfg.efi.OVMF.variables"; 773 766 description = 774 767 lib.mdDoc '' 775 768 Platform-specific flash binary for EFI variables, implementation-dependent to the EFI firmware. ··· 793 786 ''; 794 787 }; 795 788 796 - virtualisation.efiVars = 789 + virtualisation.useSecureBoot = 797 790 mkOption { 798 - type = types.str; 799 - default = "./${config.system.name}-efi-vars.fd"; 800 - defaultText = literalExpression ''"./''${config.system.name}-efi-vars.fd"''; 791 + type = types.bool; 792 + default = false; 801 793 description = 802 794 lib.mdDoc '' 803 - Path to nvram image containing UEFI variables. The will be created 804 - on startup if it does not exist. 795 + Enable Secure Boot support in the EFI firmware. 805 796 ''; 806 797 }; 798 + 807 799 808 800 virtualisation.bios = 809 801 mkOption { ··· 859 853 ${opt.writableStore} = false; 860 854 ''; 861 855 862 - # Note [Disk layout with `useBootLoader`] 863 - # 864 - # If `useBootLoader = true`, we configure 2 drives: 865 - # `/dev/?da` for the root disk, and `/dev/?db` for the boot disk 866 - # which has the `/boot` partition and the boot loader. 867 - # Concretely: 868 - # 869 - # * The second drive's image `disk.img` is created in `bootDisk = ...` 870 - # using a throwaway VM. Note that there the disk is always `/dev/vda`, 871 - # even though in the final VM it will be at `/dev/*b`. 872 - # * The disks are attached in `virtualisation.qemu.drives`. 873 - # Their order makes them appear as devices `a`, `b`, etc. 874 - # * `fileSystems."/boot"` is adjusted to be on device `b`. 875 - # * The disk.img is recreated each time the VM is booted unless 876 - # virtualisation.persistBootDevice is set. 877 - 878 - # If `useBootLoader`, GRUB goes to the second disk, see 879 - # note [Disk layout with `useBootLoader`]. 880 - boot.loader.grub.device = mkVMOverride ( 881 - if cfg.useBootLoader 882 - then driveDeviceName 2 # second disk 883 - else cfg.bootDevice 884 - ); 856 + # In UEFI boot, we use a EFI-only partition table layout, thus GRUB will fail when trying to install 857 + # legacy and UEFI. In order to avoid this, we have to put "nodev" to force UEFI-only installs. 858 + # Otherwise, we set the proper bootloader device for this. 859 + # FIXME: make a sense of this mess wrt to multiple ESP present in the system, probably use boot.efiSysMountpoint? 860 + boot.loader.grub.device = mkVMOverride (if cfg.useEFIBoot then "nodev" else cfg.bootLoaderDevice); 885 861 boot.loader.grub.gfxmodeBios = with cfg.resolution; "${toString x}x${toString y}"; 862 + virtualisation.rootDevice = mkDefault suggestedRootDevice; 886 863 887 864 boot.initrd.kernelModules = optionals (cfg.useNixStoreImage && !cfg.writableStore) [ "erofs" ]; 888 865 ··· 879 890 '' 880 891 # If the disk image appears to be empty, run mke2fs to 881 892 # initialise. 882 - FSTYPE=$(blkid -o value -s TYPE ${cfg.bootDevice} || true) 883 - PARTTYPE=$(blkid -o value -s PTTYPE ${cfg.bootDevice} || true) 893 + FSTYPE=$(blkid -o value -s TYPE ${cfg.rootDevice} || true) 894 + PARTTYPE=$(blkid -o value -s PTTYPE ${cfg.rootDevice} || true) 884 895 if test -z "$FSTYPE" -a -z "$PARTTYPE"; then 885 - mke2fs -t ext4 ${cfg.bootDevice} 896 + mke2fs -t ext4 ${cfg.rootDevice} 886 897 fi 887 898 ''; 888 899 ··· 927 938 boot.initrd.availableKernelModules = 928 939 optional cfg.writableStore "overlay" 929 940 ++ optional (cfg.qemu.diskInterface == "scsi") "sym53c8xx"; 930 - 931 - virtualisation.bootDevice = mkDefault (driveDeviceName 1); 932 941 933 942 virtualisation.additionalPaths = [ config.system.build.toplevel ]; 934 943 ··· 984 997 ]) 985 998 (mkIf cfg.useEFIBoot [ 986 999 "-drive if=pflash,format=raw,unit=0,readonly=on,file=${cfg.efi.firmware}" 987 - "-drive if=pflash,format=raw,unit=1,file=$NIX_EFI_VARS" 1000 + "-drive if=pflash,format=raw,unit=1,readonly=off,file=$NIX_EFI_VARS" 988 1001 ]) 989 1002 (mkIf (cfg.bios != null) [ 990 1003 "-bios ${cfg.bios}/bios.bin" ··· 1000 1013 file = ''"$NIX_DISK_IMAGE"''; 1001 1014 driveExtraOpts.cache = "writeback"; 1002 1015 driveExtraOpts.werror = "report"; 1016 + deviceExtraOpts.bootindex = "1"; 1003 1017 }]) 1004 1018 (mkIf cfg.useNixStoreImage [{ 1005 1019 name = "nix-store"; 1006 1020 file = ''"$TMPDIR"/store.img''; 1007 - deviceExtraOpts.bootindex = if cfg.useBootLoader then "3" else "2"; 1021 + deviceExtraOpts.bootindex = "2"; 1008 1022 driveExtraOpts.format = if cfg.writableStore then "qcow2" else "raw"; 1009 1023 }]) 1010 - (mkIf cfg.useBootLoader [ 1011 - # The order of this list determines the device names, see 1012 - # note [Disk layout with `useBootLoader`]. 1013 - { 1014 - name = "boot"; 1015 - file = ''"$TMPDIR"/disk.img''; 1016 - driveExtraOpts.media = "disk"; 1017 - deviceExtraOpts.bootindex = "1"; 1018 - } 1019 - ]) 1020 1024 (imap0 (idx: _: { 1021 1025 file = "$(pwd)/empty${toString idx}.qcow2"; 1022 1026 driveExtraOpts.werror = "report"; ··· 1043 1065 device = "tmpfs"; 1044 1066 fsType = "tmpfs"; 1045 1067 } else { 1046 - device = cfg.bootDevice; 1068 + device = cfg.rootDevice; 1047 1069 fsType = "ext4"; 1048 1070 autoFormat = true; 1049 1071 }); ··· 1064 1086 options = [ "mode=0755" ]; 1065 1087 neededForBoot = true; 1066 1088 }; 1067 - # see note [Disk layout with `useBootLoader`] 1068 - "/boot" = lib.mkIf cfg.useBootLoader { 1069 - device = "${lookupDriveDeviceName "boot" cfg.qemu.drives}2"; # 2 for e.g. `vdb2`, as created in `bootDisk` 1089 + "/boot" = lib.mkIf (cfg.useBootLoader && cfg.bootPartition != null) { 1090 + device = cfg.bootPartition; # 1 for e.g. `vda1`, as created in `systemImage` 1070 1091 fsType = "vfat"; 1071 1092 noCheck = true; # fsck fails on a r/o filesystem 1072 1093 };
+2 -2
nixos/tests/bootspec.nix
··· 108 108 machine.start() 109 109 machine.wait_for_unit("multi-user.target") 110 110 111 - machine.succeed("test -e /run/current-system/bootspec/boot.json") 111 + machine.succeed("test -e /run/current-system/boot.json") 112 112 113 - bootspec = json.loads(machine.succeed("jq -r '.v1' /run/current-system/bootspec/boot.json")) 113 + bootspec = json.loads(machine.succeed("jq -r '.v1' /run/current-system/boot.json")) 114 114 115 115 assert all(key in bootspec for key in ('initrd', 'initrdSecrets')), "Bootspec should contain initrd or initrdSecrets field when initrd is enabled" 116 116 '';
+1 -1
nixos/tests/hibernate.nix
··· 63 63 # Small root disk for installer 64 64 512 65 65 ]; 66 - virtualisation.bootDevice = "/dev/vdb"; 66 + virtualisation.rootDevice = "/dev/vdb"; 67 67 }; 68 68 }; 69 69
+5 -5
nixos/tests/initrd-luks-empty-passphrase.nix
··· 30 30 specialisation.boot-luks-wrong-keyfile.configuration = { 31 31 boot.initrd.luks.devices = lib.mkVMOverride { 32 32 cryptroot = { 33 - device = "/dev/vdc"; 33 + device = "/dev/vdb"; 34 34 keyFile = "/etc/cryptroot.key"; 35 35 tryEmptyPassphrase = true; 36 36 fallbackToPassword = !systemdStage1; 37 37 }; 38 38 }; 39 - virtualisation.bootDevice = "/dev/mapper/cryptroot"; 39 + virtualisation.rootDevice = "/dev/mapper/cryptroot"; 40 40 boot.initrd.secrets."/etc/cryptroot.key" = keyfile; 41 41 }; 42 42 43 43 specialisation.boot-luks-missing-keyfile.configuration = { 44 44 boot.initrd.luks.devices = lib.mkVMOverride { 45 45 cryptroot = { 46 - device = "/dev/vdc"; 46 + device = "/dev/vdb"; 47 47 keyFile = "/etc/cryptroot.key"; 48 48 tryEmptyPassphrase = true; 49 49 fallbackToPassword = !systemdStage1; 50 50 }; 51 51 }; 52 - virtualisation.bootDevice = "/dev/mapper/cryptroot"; 52 + virtualisation.rootDevice = "/dev/mapper/cryptroot"; 53 53 }; 54 54 }; 55 55 ··· 76 76 77 77 # Create encrypted volume 78 78 machine.wait_for_unit("multi-user.target") 79 - machine.succeed("echo "" | cryptsetup luksFormat /dev/vdc --batch-mode") 79 + machine.succeed("echo "" | cryptsetup luksFormat /dev/vdb --batch-mode") 80 80 machine.succeed("bootctl set-default nixos-generation-1-specialisation-boot-luks-wrong-keyfile.conf") 81 81 machine.succeed("sync") 82 82 machine.crash()
-1
nixos/tests/initrd-secrets-changing.nix
··· 15 15 16 16 nodes.machine = { ... }: { 17 17 virtualisation.useBootLoader = true; 18 - virtualisation.persistBootDevice = true; 19 18 20 19 boot.loader.grub.device = "/dev/vda"; 21 20
+2 -1
nixos/tests/installer.nix
··· 316 316 # installer. This ensures the target disk (/dev/vda) is 317 317 # the same during and after installation. 318 318 virtualisation.emptyDiskImages = [ 512 ]; 319 - virtualisation.bootDevice = 319 + virtualisation.rootDevice = 320 320 if grubVersion == 1 then "/dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive2" else "/dev/vdb"; 321 + virtualisation.bootLoaderDevice = "/dev/vda"; 321 322 virtualisation.qemu.diskInterface = 322 323 if grubVersion == 1 then "scsi" else "virtio"; 323 324
+4 -4
nixos/tests/luks.nix
··· 18 18 boot-luks.configuration = { 19 19 boot.initrd.luks.devices = lib.mkVMOverride { 20 20 # We have two disks and only type one password - key reuse is in place 21 - cryptroot.device = "/dev/vdc"; 22 - cryptroot2.device = "/dev/vdd"; 21 + cryptroot.device = "/dev/vdb"; 22 + cryptroot2.device = "/dev/vdc"; 23 23 }; 24 - virtualisation.bootDevice = "/dev/mapper/cryptroot"; 24 + virtualisation.rootDevice = "/dev/mapper/cryptroot"; 25 25 }; 26 26 boot-luks-custom-keymap.configuration = lib.mkMerge [ 27 27 boot-luks.configuration ··· 37 37 testScript = '' 38 38 # Create encrypted volume 39 39 machine.wait_for_unit("multi-user.target") 40 + machine.succeed("echo -n supersecret | cryptsetup luksFormat -q --iter-time=1 /dev/vdb -") 40 41 machine.succeed("echo -n supersecret | cryptsetup luksFormat -q --iter-time=1 /dev/vdc -") 41 - machine.succeed("echo -n supersecret | cryptsetup luksFormat -q --iter-time=1 /dev/vdd -") 42 42 43 43 # Boot from the encrypted disk 44 44 machine.succeed("bootctl set-default nixos-generation-1-specialisation-boot-luks.conf")
+4 -4
nixos/tests/lvm2/systemd-stage-1.nix
··· 1 1 { kernelPackages ? null, flavour }: let 2 2 preparationCode = { 3 3 raid = '' 4 - machine.succeed("vgcreate test_vg /dev/vdc /dev/vdd") 4 + machine.succeed("vgcreate test_vg /dev/vdb /dev/vdc") 5 5 machine.succeed("lvcreate -L 512M --type raid0 test_vg -n test_lv") 6 6 ''; 7 7 8 8 thinpool = '' 9 - machine.succeed("vgcreate test_vg /dev/vdc") 9 + machine.succeed("vgcreate test_vg /dev/vdb") 10 10 machine.succeed("lvcreate -L 512M -T test_vg/test_thin_pool") 11 11 machine.succeed("lvcreate -n test_lv -V 16G --thinpool test_thin_pool test_vg") 12 12 ''; 13 13 14 14 vdo = '' 15 - machine.succeed("vgcreate test_vg /dev/vdc") 15 + machine.succeed("vgcreate test_vg /dev/vdb") 16 16 machine.succeed("lvcreate --type vdo -n test_lv -L 6G -V 12G test_vg/vdo_pool_lv") 17 17 ''; 18 18 }.${flavour}; ··· 79 79 kernelPackages = lib.mkIf (kernelPackages != null) kernelPackages; 80 80 }; 81 81 82 - specialisation.boot-lvm.configuration.virtualisation.bootDevice = "/dev/test_vg/test_lv"; 82 + specialisation.boot-lvm.configuration.virtualisation.rootDevice = "/dev/test_vg/test_lv"; 83 83 }; 84 84 85 85 testScript = ''
+1 -1
nixos/tests/nextcloud/default.nix
··· 26 26 }; 27 27 }) 28 28 { } 29 - [ 24 25 26 ] 29 + [ 25 26 ]
+2 -1
nixos/tests/non-default-filesystems.nix
··· 5 5 nodes.machine = 6 6 { config, pkgs, lib, ... }: 7 7 let 8 - disk = config.virtualisation.bootDevice; 8 + disk = config.virtualisation.rootDevice; 9 9 in 10 10 { 11 + virtualisation.rootDevice = "/dev/vda"; 11 12 virtualisation.useDefaultFilesystems = false; 12 13 13 14 boot.initrd.availableKernelModules = [ "btrfs" ];
+1 -1
nixos/tests/swap-file-btrfs.nix
··· 9 9 { 10 10 virtualisation.useDefaultFilesystems = false; 11 11 12 - virtualisation.bootDevice = "/dev/vda"; 12 + virtualisation.rootDevice = "/dev/vda"; 13 13 14 14 boot.initrd.postDeviceCommands = '' 15 15 ${pkgs.btrfs-progs}/bin/mkfs.btrfs --label root /dev/vda
+1 -1
nixos/tests/swap-partition.nix
··· 7 7 { 8 8 virtualisation.useDefaultFilesystems = false; 9 9 10 - virtualisation.bootDevice = "/dev/vda1"; 10 + virtualisation.rootDevice = "/dev/vda1"; 11 11 12 12 boot.initrd.postDeviceCommands = '' 13 13 if ! test -b /dev/vda1; then
+4 -4
nixos/tests/systemd-initrd-btrfs-raid.nix
··· 21 21 fileSystems = lib.mkVMOverride { 22 22 "/".fsType = lib.mkForce "btrfs"; 23 23 }; 24 - virtualisation.bootDevice = "/dev/vdc"; 24 + virtualisation.rootDevice = "/dev/vdb"; 25 25 }; 26 26 }; 27 27 28 28 testScript = '' 29 29 # Create RAID 30 - machine.succeed("mkfs.btrfs -d raid0 /dev/vdc /dev/vdd") 31 - machine.succeed("mkdir -p /mnt && mount /dev/vdc /mnt && echo hello > /mnt/test && umount /mnt") 30 + machine.succeed("mkfs.btrfs -d raid0 /dev/vdb /dev/vdc") 31 + machine.succeed("mkdir -p /mnt && mount /dev/vdb /mnt && echo hello > /mnt/test && umount /mnt") 32 32 33 33 # Boot from the RAID 34 34 machine.succeed("bootctl set-default nixos-generation-1-specialisation-boot-btrfs-raid.conf") ··· 38 38 39 39 # Ensure we have successfully booted from the RAID 40 40 assert "(initrd)" in machine.succeed("systemd-analyze") # booted with systemd in stage 1 41 - assert "/dev/vdc on / type btrfs" in machine.succeed("mount") 41 + assert "/dev/vdb on / type btrfs" in machine.succeed("mount") 42 42 assert "hello" in machine.succeed("cat /test") 43 43 assert "Total devices 2" in machine.succeed("btrfs filesystem show") 44 44 '';
+4 -4
nixos/tests/systemd-initrd-luks-fido2.nix
··· 19 19 specialisation.boot-luks.configuration = { 20 20 boot.initrd.luks.devices = lib.mkVMOverride { 21 21 cryptroot = { 22 - device = "/dev/vdc"; 22 + device = "/dev/vdb"; 23 23 crypttabExtraOpts = [ "fido2-device=auto" ]; 24 24 }; 25 25 }; 26 - virtualisation.bootDevice = "/dev/mapper/cryptroot"; 26 + virtualisation.rootDevice = "/dev/mapper/cryptroot"; 27 27 }; 28 28 }; 29 29 30 30 testScript = '' 31 31 # Create encrypted volume 32 32 machine.wait_for_unit("multi-user.target") 33 - machine.succeed("echo -n supersecret | cryptsetup luksFormat -q --iter-time=1 /dev/vdc -") 34 - machine.succeed("PASSWORD=supersecret SYSTEMD_LOG_LEVEL=debug systemd-cryptenroll --fido2-device=auto /dev/vdc |& systemd-cat") 33 + machine.succeed("echo -n supersecret | cryptsetup luksFormat -q --iter-time=1 /dev/vdb -") 34 + machine.succeed("PASSWORD=supersecret SYSTEMD_LOG_LEVEL=debug systemd-cryptenroll --fido2-device=auto /dev/vdb |& systemd-cat") 35 35 36 36 # Boot from the encrypted disk 37 37 machine.succeed("bootctl set-default nixos-generation-1-specialisation-boot-luks.conf")
+3 -3
nixos/tests/systemd-initrd-luks-keyfile.nix
··· 27 27 specialisation.boot-luks.configuration = { 28 28 boot.initrd.luks.devices = lib.mkVMOverride { 29 29 cryptroot = { 30 - device = "/dev/vdc"; 30 + device = "/dev/vdb"; 31 31 keyFile = "/etc/cryptroot.key"; 32 32 }; 33 33 }; 34 - virtualisation.bootDevice = "/dev/mapper/cryptroot"; 34 + virtualisation.rootDevice = "/dev/mapper/cryptroot"; 35 35 boot.initrd.secrets."/etc/cryptroot.key" = keyfile; 36 36 }; 37 37 }; ··· 39 39 testScript = '' 40 40 # Create encrypted volume 41 41 machine.wait_for_unit("multi-user.target") 42 - machine.succeed("cryptsetup luksFormat -q --iter-time=1 -d ${keyfile} /dev/vdc") 42 + machine.succeed("cryptsetup luksFormat -q --iter-time=1 -d ${keyfile} /dev/vdb") 43 43 44 44 # Boot from the encrypted disk 45 45 machine.succeed("bootctl set-default nixos-generation-1-specialisation-boot-luks.conf")
+6 -6
nixos/tests/systemd-initrd-luks-password.nix
··· 19 19 specialisation.boot-luks.configuration = { 20 20 boot.initrd.luks.devices = lib.mkVMOverride { 21 21 # We have two disks and only type one password - key reuse is in place 22 - cryptroot.device = "/dev/vdc"; 23 - cryptroot2.device = "/dev/vdd"; 22 + cryptroot.device = "/dev/vdb"; 23 + cryptroot2.device = "/dev/vdc"; 24 24 }; 25 - virtualisation.bootDevice = "/dev/mapper/cryptroot"; 25 + virtualisation.rootDevice = "/dev/mapper/cryptroot"; 26 26 # test mounting device unlocked in initrd after switching root 27 27 virtualisation.fileSystems."/cryptroot2".device = "/dev/mapper/cryptroot2"; 28 28 }; ··· 31 31 testScript = '' 32 32 # Create encrypted volume 33 33 machine.wait_for_unit("multi-user.target") 34 + machine.succeed("echo -n supersecret | cryptsetup luksFormat -q --iter-time=1 /dev/vdb -") 34 35 machine.succeed("echo -n supersecret | cryptsetup luksFormat -q --iter-time=1 /dev/vdc -") 35 - machine.succeed("echo -n supersecret | cryptsetup luksFormat -q --iter-time=1 /dev/vdd -") 36 - machine.succeed("echo -n supersecret | cryptsetup luksOpen -q /dev/vdd cryptroot2") 36 + machine.succeed("echo -n supersecret | cryptsetup luksOpen -q /dev/vdc cryptroot2") 37 37 machine.succeed("mkfs.ext4 /dev/mapper/cryptroot2") 38 38 39 39 # Boot from the encrypted disk ··· 47 47 machine.send_console("supersecret\n") 48 48 machine.wait_for_unit("multi-user.target") 49 49 50 - assert "/dev/mapper/cryptroot on / type ext4" in machine.succeed("mount") 50 + assert "/dev/mapper/cryptroot on / type ext4" in machine.succeed("mount"), "/dev/mapper/cryptroot do not appear in mountpoints list" 51 51 assert "/dev/mapper/cryptroot2 on /cryptroot2 type ext4" in machine.succeed("mount") 52 52 ''; 53 53 })
+4 -4
nixos/tests/systemd-initrd-luks-tpm2.nix
··· 21 21 specialisation.boot-luks.configuration = { 22 22 boot.initrd.luks.devices = lib.mkVMOverride { 23 23 cryptroot = { 24 - device = "/dev/vdc"; 24 + device = "/dev/vdb"; 25 25 crypttabExtraOpts = [ "tpm2-device=auto" ]; 26 26 }; 27 27 }; 28 - virtualisation.bootDevice = "/dev/mapper/cryptroot"; 28 + virtualisation.rootDevice = "/dev/mapper/cryptroot"; 29 29 }; 30 30 }; 31 31 ··· 55 55 56 56 # Create encrypted volume 57 57 machine.wait_for_unit("multi-user.target") 58 - machine.succeed("echo -n supersecret | cryptsetup luksFormat -q --iter-time=1 /dev/vdc -") 59 - machine.succeed("PASSWORD=supersecret SYSTEMD_LOG_LEVEL=debug systemd-cryptenroll --tpm2-pcrs= --tpm2-device=auto /dev/vdc |& systemd-cat") 58 + machine.succeed("echo -n supersecret | cryptsetup luksFormat -q --iter-time=1 /dev/vdb -") 59 + machine.succeed("PASSWORD=supersecret SYSTEMD_LOG_LEVEL=debug systemd-cryptenroll --tpm2-pcrs= --tpm2-device=auto /dev/vdb |& systemd-cat") 60 60 61 61 # Boot from the encrypted disk 62 62 machine.succeed("bootctl set-default nixos-generation-1-specialisation-boot-luks.conf")
+3 -3
nixos/tests/systemd-initrd-swraid.nix
··· 20 20 services.swraid = { 21 21 enable = true; 22 22 mdadmConf = '' 23 - ARRAY /dev/md0 devices=/dev/vdc,/dev/vdd 23 + ARRAY /dev/md0 devices=/dev/vdb,/dev/vdc 24 24 ''; 25 25 }; 26 26 kernelModules = [ "raid0" ]; 27 27 }; 28 28 29 - specialisation.boot-swraid.configuration.virtualisation.bootDevice = "/dev/disk/by-label/testraid"; 29 + specialisation.boot-swraid.configuration.virtualisation.rootDevice = "/dev/disk/by-label/testraid"; 30 30 }; 31 31 32 32 testScript = '' 33 33 # Create RAID 34 - machine.succeed("mdadm --create --force /dev/md0 -n 2 --level=raid0 /dev/vdc /dev/vdd") 34 + machine.succeed("mdadm --create --force /dev/md0 -n 2 --level=raid0 /dev/vdb /dev/vdc") 35 35 machine.succeed("mkfs.ext4 -L testraid /dev/md0") 36 36 machine.succeed("mkdir -p /mnt && mount /dev/md0 /mnt && echo hello > /mnt/test && umount /mnt") 37 37
+30 -8
nixos/tests/zfs.nix
··· 80 80 fsType = "zfs"; 81 81 options = [ "noauto" ]; 82 82 }; 83 + virtualisation.fileSystems."/manual/httpkey" = { 84 + device = "manual/httpkey"; 85 + fsType = "zfs"; 86 + options = [ "noauto" ]; 87 + }; 83 88 }; 84 89 85 90 specialisation.forcepool.configuration = { ··· 97 92 options = [ "noauto" ]; 98 93 }; 99 94 }; 95 + 96 + services.nginx = { 97 + enable = true; 98 + virtualHosts = { 99 + localhost = { 100 + locations = { 101 + "/zfskey" = { 102 + return = ''200 "httpkeyabc"''; 103 + }; 104 + }; 105 + }; 106 + }; 107 + }; 100 108 }; 101 109 102 110 testScript = '' 103 111 machine.wait_for_unit("multi-user.target") 104 112 machine.succeed( 105 113 "zpool status", 114 + "parted --script /dev/vdb mklabel msdos", 115 + "parted --script /dev/vdb -- mkpart primary 1024M -1s", 106 116 "parted --script /dev/vdc mklabel msdos", 107 117 "parted --script /dev/vdc -- mkpart primary 1024M -1s", 108 - "parted --script /dev/vdd mklabel msdos", 109 - "parted --script /dev/vdd -- mkpart primary 1024M -1s", 110 118 ) 111 119 112 120 with subtest("sharesmb works"): 113 121 machine.succeed( 114 - "zpool create rpool /dev/vdc1", 122 + "zpool create rpool /dev/vdb1", 115 123 "zfs create -o mountpoint=legacy rpool/root", 116 124 # shared datasets cannot have legacy mountpoint 117 125 "zfs create rpool/shared_smb", ··· 144 126 with subtest("encryption works"): 145 127 machine.succeed( 146 128 'echo password | zpool create -O mountpoint=legacy ' 147 - + "-O encryption=aes-256-gcm -O keyformat=passphrase automatic /dev/vdc1", 148 - "zpool create -O mountpoint=legacy manual /dev/vdd1", 129 + + "-O encryption=aes-256-gcm -O keyformat=passphrase automatic /dev/vdb1", 130 + "zpool create -O mountpoint=legacy manual /dev/vdc1", 149 131 "echo otherpass | zfs create " 150 132 + "-o encryption=aes-256-gcm -o keyformat=passphrase manual/encrypted", 133 + "zfs create -o encryption=aes-256-gcm -o keyformat=passphrase " 134 + + "-o keylocation=http://localhost/zfskey manual/httpkey", 151 135 "bootctl set-default nixos-generation-1-specialisation-encryption.conf", 152 136 "sync", 153 137 "zpool export automatic", ··· 161 141 machine.send_console("password\n") 162 142 machine.wait_for_unit("multi-user.target") 163 143 machine.succeed( 164 - "zfs get keystatus manual/encrypted | grep unavailable", 144 + "zfs get -Ho value keystatus manual/encrypted | grep -Fx unavailable", 165 145 "echo otherpass | zfs load-key manual/encrypted", 166 146 "systemctl start manual-encrypted.mount", 167 - "umount /automatic /manual/encrypted /manual", 147 + "zfs load-key manual/httpkey", 148 + "systemctl start manual-httpkey.mount", 149 + "umount /automatic /manual/encrypted /manual/httpkey /manual", 168 150 "zpool destroy automatic", 169 151 "zpool destroy manual", 170 152 ) ··· 175 153 machine.succeed( 176 154 "rm /etc/hostid", 177 155 "zgenhostid deadcafe", 178 - "zpool create forcepool /dev/vdc1 -O mountpoint=legacy", 156 + "zpool create forcepool /dev/vdb1 -O mountpoint=legacy", 179 157 "bootctl set-default nixos-generation-1-specialisation-forcepool.conf", 180 158 "rm /etc/hostid", 181 159 "sync",
+5 -3
pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix
··· 106 106 }; 107 107 }); 108 108 109 - jinx = super.jinx.overrideAttrs (old: { 109 + jinx = super.jinx.overrideAttrs (old: let 110 + libExt = pkgs.stdenv.targetPlatform.extensions.sharedLibrary; 111 + in { 110 112 dontUnpack = false; 111 113 112 114 nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ ··· 119 117 120 118 postBuild = '' 121 119 NIX_CFLAGS_COMPILE="$($PKG_CONFIG --cflags enchant-2) $NIX_CFLAGS_COMPILE" 122 - $CC -shared -o jinx-mod.so jinx-mod.c -lenchant-2 120 + $CC -shared -o jinx-mod${libExt} jinx-mod.c -lenchant-2 123 121 ''; 124 122 125 123 postInstall = (old.postInstall or "") + "\n" + '' 126 124 outd=$out/share/emacs/site-lisp/elpa/jinx-* 127 - install -m444 -t $outd jinx-mod.so 125 + install -m444 -t $outd jinx-mod${libExt} 128 126 rm $outd/jinx-mod.c $outd/emacs-module.h 129 127 ''; 130 128
+5 -3
pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix
··· 314 314 315 315 ivy-rtags = fix-rtags super.ivy-rtags; 316 316 317 - jinx = super.jinx.overrideAttrs (old: { 317 + jinx = super.jinx.overrideAttrs (old: let 318 + libExt = pkgs.stdenv.targetPlatform.extensions.sharedLibrary; 319 + in { 318 320 nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ 319 321 pkgs.pkg-config 320 322 ]; ··· 326 324 postBuild = '' 327 325 pushd working/jinx 328 326 NIX_CFLAGS_COMPILE="$($PKG_CONFIG --cflags enchant-2) $NIX_CFLAGS_COMPILE" 329 - $CC -shared -o jinx-mod.so jinx-mod.c -lenchant-2 327 + $CC -shared -o jinx-mod${libExt} jinx-mod.c -lenchant-2 330 328 popd 331 329 ''; 332 330 333 331 postInstall = (old.postInstall or "") + "\n" + '' 334 332 pushd source 335 333 outd=$(echo $out/share/emacs/site-lisp/elpa/jinx-*) 336 - install -m444 --target-directory=$outd jinx-mod.so 334 + install -m444 --target-directory=$outd jinx-mod${libExt} 337 335 rm $outd/jinx-mod.c $outd/emacs-module.h 338 336 popd 339 337 '';
+6
pkgs/applications/graphics/gscan2pdf/default.nix
··· 130 130 # Non-zero wait status: 139 131 131 rm t/0601_Dialog_Scan.t 132 132 133 + # Disable a test which failed due to convert returning an exit value of 1 134 + # convert: negative or zero image size `/build/KL5kTVnNCi/YfgegFM53e.pnm' @ error/resize.c/ResizeImage/3743. 135 + # *** unhandled exception in callback: 136 + # *** "convert" unexpectedly returned exit value 1 at t/357_unpaper_rtl.t line 63. 137 + rm t/357_unpaper_rtl.t 138 + 133 139 xvfb-run -s '-screen 0 800x600x24' \ 134 140 make test 135 141 '';
+4 -4
pkgs/applications/networking/cluster/k3s/1_26/default.nix
··· 47 47 # Those pieces of software we entirely ignore upstream's handling of, and just 48 48 # make sure they're in the path if desired. 49 49 let 50 - k3sVersion = "1.26.3+k3s1"; # k3s git tag 51 - k3sCommit = "01ea3ff27be0b04f945179171cec5a8e11a14f7b"; # k3s git commit at the above version 52 - k3sRepoSha256 = "1wpciikmr4l2nw92i3wlz301vxjiyz8rlzkn8jhzcaiifykc565s"; 53 - k3sVendorSha256 = "sha256-1HFLj3zSHV7RvA0fsQ/dPzwnkSRqE9TXXDA4m8OhwZE="; 50 + k3sVersion = "1.26.4+k3s1"; # k3s git tag 51 + k3sCommit = "8d0255af07e95b841952563253d27b0d10bd72f0"; # k3s git commit at the above version 52 + k3sRepoSha256 = "0qlszdnlsvj3hzx2p0wl3zhaw908w8a62z6vlf2g69a3c75f55cs"; 53 + k3sVendorSha256 = "sha256-JXTsZYtTspu/pWMRSS2BcegktawBJ6BK7YEKbz1J/ao="; 54 54 55 55 # nix generated by update.sh 56 56 # Based on the traefik charts here: https://github.com/k3s-io/k3s/blob/d71ab6317e22dd34673faa307a412a37a16767f6/scripts/download#L29-L32
+2 -2
pkgs/applications/networking/nextcloud-client/default.nix
··· 26 26 27 27 mkDerivation rec { 28 28 pname = "nextcloud-client"; 29 - version = "3.8.0"; 29 + version = "3.8.1"; 30 30 31 31 outputs = [ "out" "dev" ]; 32 32 ··· 34 34 owner = "nextcloud"; 35 35 repo = "desktop"; 36 36 rev = "v${version}"; 37 - sha256 = "sha256-kwSETOz/0/LMypbTmwvMMrGzZdquBjkXfoSrLgTfPiQ="; 37 + sha256 = "sha256-BTve1dq+OiUwh/Kiy20iSAyALolkdOX7FHwxvVAdS4U="; 38 38 }; 39 39 40 40 patches = [
+8 -2
pkgs/applications/networking/remote/vmware-horizon-client/default.nix
··· 1 1 { stdenv 2 2 , lib 3 - , buildFHSEnv 3 + , buildFHSEnvChroot 4 4 , fetchurl 5 5 , gsettings-desktop-schemas 6 6 , makeDesktopItem 7 7 , makeWrapper 8 + , opensc 8 9 , writeTextDir 9 10 , configText ? "" 10 11 }: ··· 54 53 # This library causes the program to core-dump occasionally. Use ours instead. 55 54 rm -r $out/lib/vmware/view/crtbora 56 55 56 + # This opensc library is required to support smartcard authentication during the 57 + # initial connection to Horizon. 58 + mkdir $out/lib/vmware/view/pkcs11 59 + ln -s ${opensc}/lib/pkcs11/opensc-pkcs11.so $out/lib/vmware/view/pkcs11/libopenscpkcs11.so 60 + 57 61 ${lib.concatMapStrings wrapBinCommands bins} 58 62 ''; 59 63 }; 60 64 61 - vmwareFHSUserEnv = name: buildFHSEnv { 65 + vmwareFHSUserEnv = name: buildFHSEnvChroot { 62 66 inherit name; 63 67 64 68 runScript = "${vmwareHorizonClientFiles}/bin/${name}_wrapper";
+10 -15
pkgs/applications/radio/uhd/default.nix
··· 11 11 # requires numpy 12 12 , enablePythonApi ? false 13 13 , python3 14 + , buildPackages 14 15 , enableExamples ? false 15 16 , enableUtils ? false 16 - , enableSim ? false 17 17 , libusb1 18 18 , enableDpdk ? false 19 19 , dpdk ··· 34 34 let 35 35 onOffBool = b: if b then "ON" else "OFF"; 36 36 inherit (lib) optionals; 37 + # Later used in pythonEnv generation. Python + mako are always required for the build itself but not necessary for runtime. 38 + pythonEnvArg = (ps: with ps; [ mako ] 39 + ++ optionals (enablePythonApi) [ numpy setuptools ] 40 + ++ optionals (enableUtils) [ requests six ] 41 + ); 37 42 in 38 43 39 44 stdenv.mkDerivation rec { ··· 89 84 ++ [ (lib.optionalString stdenv.isAarch32 "-DCMAKE_CXX_FLAGS=-Wno-psabi") ] 90 85 ; 91 86 92 - # Python + mako are always required for the build itself but not necessary for runtime. 93 - pythonEnv = python3.withPackages (ps: with ps; [ mako ] 94 - ++ optionals (enablePythonApi) [ numpy setuptools ] 95 - ++ optionals (enableUtils) [ requests six ] 96 - ); 87 + pythonEnv = python3.withPackages pythonEnvArg; 97 88 98 89 nativeBuildInputs = [ 99 90 cmake 100 91 pkg-config 101 - python3 102 - ] 103 - # If both enableLibuhd_Python_api and enableUtils are off, we don't need 104 - # pythonEnv in buildInputs as it's a 'build' dependency and not a runtime 105 - # dependency 106 - ++ optionals (!enablePythonApi && !enableUtils) [ pythonEnv ] 107 - ; 92 + # Present both here and in buildInputs for cross compilation. 93 + (buildPackages.python3.withPackages pythonEnvArg) 94 + ]; 108 95 buildInputs = [ 109 96 boost 110 97 libusb1 ··· 119 122 patches = [ 120 123 # Disable tests that fail in the sandbox 121 124 ./no-adapter-tests.patch 122 - ] ++ lib.optionals stdenv.isAarch32 [ 123 - ./neon.patch 124 125 ]; 125 126 126 127 postPhases = [ "installFirmware" "removeInstalledTests" ]
-19
pkgs/applications/radio/uhd/neon.patch
··· 1 - Description: When building for armhf, enable NEON 2 - NEON is part of the armhf baseline, so this will always be enabled on 3 - armhf. 4 - Author: Paul Tagliamonte <paultag@debian.org> 5 - Bug-Debian: https://bugs.debian.org/873608 6 - Origin: vendor 7 - Last-Update: 2017-08-29 8 - 9 - --- uhd-3.10.2.0.orig/host/lib/convert/CMakeLists.txt 10 - +++ uhd-3.10.2.0/host/lib/convert/CMakeLists.txt 11 - @@ -67,6 +67,8 @@ IF(HAVE_ARM_NEON_H AND (${CMAKE_SIZEOF_V 12 - ${CMAKE_CURRENT_SOURCE_DIR}/convert_with_neon.cpp 13 - ${CMAKE_CURRENT_SOURCE_DIR}/convert_neon.S 14 - ) 15 - + 16 - + SET ( CMAKE_CXX_FLAGS "-mfpu=neon" ) 17 - ENDIF() 18 - 19 - ########################################################################
+140 -38
pkgs/applications/terminal-emulators/mlterm/default.nix
··· 1 - { stdenv, lib, fetchFromGitHub, pkg-config, autoconf, makeDesktopItem, nixosTests 2 - , libX11, gdk-pixbuf, cairo, libXft, gtk3, vte 3 - , harfbuzz #substituting glyphs with opentype fonts 4 - , fribidi, m17n_lib #bidi and encoding 1 + { stdenv 2 + , lib 3 + , fetchFromGitHub 4 + , pkg-config 5 + , autoconf 6 + , makeDesktopItem 7 + , nixosTests 8 + , vte 9 + , harfbuzz # can be replaced with libotf 10 + , fribidi 11 + , m17n_lib 5 12 , libssh2 #build-in ssh 6 - , fcitx5, fcitx5-gtk, ibus, uim #IME 13 + , fcitx5 14 + , fcitx5-gtk 15 + , ibus 16 + , uim #IME 7 17 , wrapGAppsHook #color picker in mlconfig 8 - , Cocoa #Darwin 18 + , gdk-pixbuf 19 + , gtk3 20 + , gtk ? gtk3 21 + # List of gui libraries to use. According to `./configure --help` ran on 22 + # release 3.9.3, options are: (xlib|win32|fb|quartz|console|wayland|sdl2|beos) 23 + , enableGuis ? { 24 + xlib = enableX11; 25 + fb = stdenv.isLinux; 26 + quartz = stdenv.isDarwin; 27 + wayland = stdenv.isLinux; 28 + sdl2 = true; 29 + } 30 + , libxkbcommon 31 + , wayland # for the "wayland" --with-gui option 32 + , SDL2 # for the "sdl" --with-gui option 33 + # List of typing engines, the default list enables compiling all of the 34 + # available ones, as recorded on release 3.9.3 35 + , enableTypeEngines ? { 36 + xcore = false; # Considered legacy 37 + xft = enableX11; 38 + cairo = true; 39 + } 40 + , libX11 41 + , libXft 42 + , cairo 43 + # List of external tools to create, this default list includes all default 44 + # tools, as recorded on release 3.9.3. 45 + , enableTools ? { 46 + mlclient = true; 47 + mlconfig = true; 48 + mlcc = true; 49 + mlterm-menu = true; 50 + # Note that according to upstream's ./configure script, to disable 51 + # mlimgloader you have to disable _all_ tools. See: 52 + # https://github.com/arakiken/mlterm/issues/69 53 + mlimgloader = true; 54 + registobmp = true; 55 + mlfc = true; 56 + } 57 + # Whether to enable the X window system 58 + , enableX11 ? stdenv.isLinux 59 + # Most of the input methods and other build features are enabled by default, 60 + # the following attribute set can be used to disable some of them. It's parsed 61 + # when we set `configureFlags`. If you find other configure Flags that require 62 + # dependencies, it'd be nice to make that contribution here. 63 + , enableFeatures ? { 64 + uim = !stdenv.isDarwin; 65 + ibus = !stdenv.isDarwin; 66 + fcitx = !stdenv.isDarwin; 67 + m17n = !stdenv.isDarwin; 68 + ssh2 = true; 69 + bidi = true; 70 + # Open Type layout support, (substituting glyphs with opentype fonts) 71 + otl = true; 72 + } 73 + # Configure the Exec directive in the generated .desktop file 74 + , desktopBinary ? ( 75 + if enableGuis.xlib then 76 + "mlterm" 77 + else if enableGuis.wayland then 78 + "mlterm-wl" 79 + else if enableGuis.sdl2 then 80 + "mlterm-sdl2" 81 + else 82 + throw "mlterm: couldn't figure out what desktopBinary to use." 83 + ) 9 84 }: 10 85 11 - stdenv.mkDerivation rec { 86 + let 87 + # Returns a --with-feature=<comma separated string list of all `true` 88 + # attributes>, or `--without-feature` if all attributes are false or don't 89 + # exist. Used later in configureFlags 90 + withFeaturesList = featureName: attrset: let 91 + commaSepList = lib.concatStringsSep "," (builtins.attrNames (lib.filterAttrs (n: v: v) attrset)); 92 + in 93 + lib.withFeatureAs (commaSepList != "") featureName commaSepList 94 + ; 95 + in stdenv.mkDerivation rec { 12 96 pname = "mlterm"; 13 97 version = "3.9.3"; 14 98 ··· 103 19 sha256 = "sha256-gfs5cdwUUwSBWwJJSaxrQGWJvLkI27RMlk5QvDALEDg="; 104 20 }; 105 21 106 - nativeBuildInputs = [ pkg-config autoconf wrapGAppsHook ]; 22 + nativeBuildInputs = [ 23 + pkg-config 24 + autoconf 25 + ] ++ lib.optionals enableTools.mlconfig [ 26 + wrapGAppsHook 27 + ]; 107 28 buildInputs = [ 108 - libX11 109 - gdk-pixbuf.dev 110 - cairo 111 - libXft 112 - gtk3 113 - harfbuzz 114 - fribidi 29 + gtk 115 30 vte 116 - 31 + gdk-pixbuf 32 + ] ++ lib.optionals enableTypeEngines.xcore [ 33 + libX11 34 + ] ++ lib.optionals enableTypeEngines.xft [ 35 + libXft 36 + ] ++ lib.optionals enableTypeEngines.cairo [ 37 + cairo 38 + ] ++ lib.optionals enableGuis.wayland [ 39 + libxkbcommon 40 + wayland 41 + ] ++ lib.optionals enableGuis.sdl2 [ 42 + SDL2 43 + ] ++ lib.optionals enableFeatures.otl [ 44 + harfbuzz 45 + ] ++ lib.optionals enableFeatures.bidi [ 46 + fribidi 47 + ] ++ lib.optionals enableFeatures.ssh2 [ 117 48 libssh2 118 - ] ++ lib.optionals (!stdenv.isDarwin) [ 119 - # Not supported on Darwin 49 + ] ++ lib.optionals enableFeatures.m17n [ 120 50 m17n_lib 121 - 51 + ] ++ lib.optionals enableFeatures.fcitx [ 122 52 fcitx5 123 53 fcitx5-gtk 54 + ] ++ lib.optionals enableFeatures.ibus [ 124 55 ibus 56 + ] ++ lib.optionals enableFeatures.uim [ 125 57 uim 126 58 ]; 127 59 ··· 162 62 ''; 163 63 164 64 configureFlags = [ 165 - "--with-imagelib=gdk-pixbuf" #or mlimgloader depending on your bugs of choice 166 - "--with-type-engines=cairo,xft,xcore" 167 - "--with-gtk=3.0" 168 - "--enable-ind" #indic scripts 169 - "--enable-fribidi" #bidi scripts 170 - "--with-tools=mlclient,mlconfig,mlcc,mlterm-menu,mlimgloader,registobmp,mlfc" 171 - #mlterm-menu and mlconfig depend on enabling gnome.at-spi2-core 172 - #and configuring ~/.mlterm/key correctly. 173 - ] ++ lib.optionals (!stdenv.isDarwin) [ 174 - "--with-x=yes" 175 - "--with-gui=xlib,fb" 176 - "--enable-m17nlib" #character encodings 177 - ] ++ lib.optionals stdenv.isDarwin [ 178 - "--with-gui=quartz" 65 + (withFeaturesList "type-engines" enableTypeEngines) 66 + (withFeaturesList "tools" enableTools) 67 + (withFeaturesList "gui" enableGuis) 68 + (lib.withFeature enableX11 "x") 69 + ] ++ lib.optionals (gtk != null) [ 70 + "--with-gtk=${lib.versions.major gtk.version}.0" 71 + ] ++ (lib.mapAttrsToList (n: v: lib.enableFeature v n) enableFeatures) ++ [ 179 72 ]; 180 73 181 74 enableParallelBuilding = true; ··· 185 92 186 93 desktopItem = makeDesktopItem { 187 94 name = "mlterm"; 188 - exec = "mlterm %U"; 95 + exec = "${desktopBinary} %U"; 189 96 icon = "mlterm"; 190 97 type = "Application"; 191 - comment = "Terminal emulator"; 98 + comment = "Multi Lingual TERMinal emulator"; 192 99 desktopName = "mlterm"; 193 100 genericName = "Terminal emulator"; 194 - categories = [ "Application" "System" "TerminalEmulator" ]; 101 + categories = [ "System" "TerminalEmulator" ]; 195 102 startupNotify = false; 196 103 }; 197 104 198 - passthru.tests.test = nixosTests.terminal-emulators.mlterm; 105 + passthru = { 106 + tests.test = nixosTests.terminal-emulators.mlterm; 107 + inherit 108 + enableTypeEngines 109 + enableTools 110 + enableGuis 111 + enableFeatures 112 + ; 113 + }; 199 114 200 115 meta = with lib; { 201 116 description = "Multi Lingual TERMinal emulator"; 202 117 homepage = "https://mlterm.sourceforge.net/"; 203 118 license = licenses.bsd3; 204 - maintainers = with maintainers; [ ramkromberg atemu ]; 119 + maintainers = with maintainers; [ ramkromberg atemu doronbehar ]; 205 120 platforms = platforms.all; 121 + mainProgram = desktopBinary; 206 122 }; 207 123 }
+16 -1
pkgs/applications/video/kodi/addons/certifi/default.nix
··· 1 - { lib, buildKodiAddon, fetchzip, addonUpdateScript }: 1 + { lib, buildKodiAddon, fetchzip, addonUpdateScript, cacert }: 2 2 buildKodiAddon rec { 3 3 pname = "certifi"; 4 4 namespace = "script.module.certifi"; ··· 8 8 url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip"; 9 9 sha256 = "sha256-kIPGEjmnHlgVb11W2RKBlrMy3/+kUOcQZiLCcnHCcno="; 10 10 }; 11 + 12 + patches = [ 13 + # Add support for NIX_SSL_CERT_FILE 14 + ./env.patch 15 + ]; 16 + 17 + postPatch = '' 18 + # Use our system-wide ca-bundle instead of the bundled one 19 + ln -snvf "${cacert}/etc/ssl/certs/ca-bundle.crt" "lib/certifi/cacert.pem" 20 + ''; 21 + 22 + propagatedNativeBuildInputs = [ 23 + # propagate cacerts setup-hook to set up `NIX_SSL_CERT_FILE` 24 + cacert 25 + ]; 11 26 12 27 passthru = { 13 28 pythonPath = "lib";
+86
pkgs/applications/video/kodi/addons/certifi/env.patch
··· 1 + diff --git a/lib/certifi/core.py b/lib/certifi/core.py 2 + index de02898..c033d20 100644 3 + --- a/lib/certifi/core.py 4 + +++ b/lib/certifi/core.py 5 + @@ -4,15 +4,25 @@ certifi.py 6 + 7 + This module returns the installation location of cacert.pem or its contents. 8 + """ 9 + +import os 10 + import sys 11 + 12 + 13 + +def get_cacert_path_from_environ(): 14 + + path = os.environ.get("NIX_SSL_CERT_FILE", None) 15 + + 16 + + if path == "/no-cert-file.crt": 17 + + return None 18 + + 19 + + return path 20 + + 21 + + 22 + if sys.version_info >= (3, 11): 23 + 24 + from importlib.resources import as_file, files 25 + 26 + _CACERT_CTX = None 27 + - _CACERT_PATH = None 28 + + _CACERT_PATH = get_cacert_path_from_environ() 29 + 30 + def where() -> str: 31 + # This is slightly terrible, but we want to delay extracting the file 32 + @@ -39,14 +49,16 @@ if sys.version_info >= (3, 11): 33 + return _CACERT_PATH 34 + 35 + def contents() -> str: 36 + - return files("certifi").joinpath("cacert.pem").read_text(encoding="ascii") 37 + + if _CACERT_PATH is not None: 38 + + return open(_CACERT_PATH, encoding="utf-8").read() 39 + + return files("certifi").joinpath("cacert.pem").read_text(encoding="utf-8") 40 + 41 + elif sys.version_info >= (3, 7): 42 + 43 + from importlib.resources import path as get_path, read_text 44 + 45 + _CACERT_CTX = None 46 + - _CACERT_PATH = None 47 + + _CACERT_PATH = get_cacert_path_from_environ() 48 + 49 + def where() -> str: 50 + # This is slightly terrible, but we want to delay extracting the 51 + @@ -74,7 +86,9 @@ elif sys.version_info >= (3, 7): 52 + return _CACERT_PATH 53 + 54 + def contents() -> str: 55 + - return read_text("certifi", "cacert.pem", encoding="ascii") 56 + + if _CACERT_PATH is not None: 57 + + return open(_CACERT_PATH, encoding="utf-8").read() 58 + + return read_text("certifi", "cacert.pem", encoding="utf-8") 59 + 60 + else: 61 + import os 62 + @@ -84,6 +98,8 @@ else: 63 + Package = Union[types.ModuleType, str] 64 + Resource = Union[str, "os.PathLike"] 65 + 66 + + _CACERT_PATH = get_cacert_path_from_environ() 67 + + 68 + # This fallback will work for Python versions prior to 3.7 that lack the 69 + # importlib.resources module but relies on the existing `where` function 70 + # so won't address issues with environments like PyOxidizer that don't set 71 + @@ -102,7 +118,14 @@ else: 72 + def where() -> str: 73 + f = os.path.dirname(__file__) 74 + 75 + + if _CACERT_PATH is not None: 76 + + return _CACERT_PATH 77 + + 78 + return os.path.join(f, "cacert.pem") 79 + 80 + def contents() -> str: 81 + - return read_text("certifi", "cacert.pem", encoding="ascii") 82 + + if _CACERT_PATH is not None: 83 + + with open(_CACERT_PATH, encoding="utf-8") as data: 84 + + return data.read() 85 + + 86 + + return read_text("certifi", "cacert.pem", encoding="utf-8")
+87
pkgs/applications/window-managers/owl/default.nix
··· 1 + { lib 2 + , stdenv 3 + , fetchFromGitHub 4 + , gnustep 5 + , libxkbcommon 6 + , makeWrapper 7 + , wayland 8 + , wayland-scanner 9 + , darwin 10 + }: 11 + 12 + assert wayland.withLibraries; 13 + 14 + let 15 + mkDerivation = if stdenv.isDarwin then stdenv.mkDerivation else gnustep.gsmakeDerivation; 16 + in 17 + mkDerivation { 18 + pname = "owl"; 19 + version = "unstable-2021-11-10"; 20 + 21 + src = fetchFromGitHub { 22 + owner = "owl-compositor"; 23 + repo = "owl"; 24 + rev = "91abf02613cd2ddb97be58b5b6703240320233a0"; 25 + hash = "sha256-a+TznasOVEzSNrs66/y91AeMRDEfyd+WO5mO811hLj0="; 26 + }; 27 + 28 + # use pregenerated nib files because generating them requires Xcode 29 + postPatch = lib.optionalString stdenv.isDarwin '' 30 + sed -i "/ibtool/d" configure 31 + mkdir -p build/Owl.app/Contents/Resources/English.lproj 32 + cp ${./mac/MainMenu.nib} build/Owl.app/Contents/Resources/English.lproj/MainMenu.nib 33 + cp ${./mac/OwlPreferences.nib} build/Owl.app/Contents/Resources/English.lproj/OwlPreferences.nib 34 + ''; 35 + 36 + strictDeps = true; 37 + 38 + nativeBuildInputs = [ 39 + makeWrapper 40 + wayland-scanner 41 + ] ++ lib.optionals stdenv.isDarwin [ 42 + darwin.DarwinTools 43 + darwin.bootstrap_cmds 44 + ] ++ lib.optionals (!stdenv.isDarwin) [ 45 + gnustep.make 46 + ]; 47 + 48 + buildInputs = [ 49 + libxkbcommon 50 + wayland 51 + ] ++ lib.optionals stdenv.isDarwin [ 52 + darwin.apple_sdk.frameworks.Cocoa 53 + ] ++ lib.optionals (!stdenv.isDarwin) [ 54 + gnustep.back 55 + gnustep.base 56 + gnustep.gui 57 + ]; 58 + 59 + preConfigure = '' 60 + mkdir -p build 61 + cd build 62 + ''; 63 + 64 + configureScript = "../configure"; 65 + 66 + # error: "Your gnustep-base was configured for the objc-nonfragile-abi but you are not using it now." 67 + env.NIX_CFLAGS_COMPILE = lib.optionalString (!stdenv.isDarwin) "-fobjc-runtime=gnustep-2.0"; 68 + 69 + installPhase = '' 70 + runHook preInstall 71 + 72 + mkdir -p $out/{Applications,bin} 73 + mv Owl.app $out/Applications 74 + makeWrapper $out/{Applications/Owl.app${lib.optionalString stdenv.isDarwin "/Contents/MacOS"},bin}/Owl 75 + 76 + runHook postInstall 77 + ''; 78 + 79 + meta = with lib; { 80 + description = "A portable Wayland compositor in Objective-C"; 81 + homepage = "https://github.com/owl-compositor/owl"; 82 + license = licenses.gpl3Plus; 83 + maintainers = with maintainers; [ wegank ]; 84 + platforms = platforms.unix; 85 + mainProgram = "Owl"; 86 + }; 87 + }
pkgs/applications/window-managers/owl/mac/MainMenu.nib

This is a binary file and will not be displayed.

pkgs/applications/window-managers/owl/mac/OwlPreferences.nib

This is a binary file and will not be displayed.

+93
pkgs/desktops/deepin/apps/deepin-system-monitor/default.nix
··· 1 + { stdenv 2 + , lib 3 + , fetchFromGitHub 4 + , cmake 5 + , pkg-config 6 + , qttools 7 + , deepin-gettext-tools 8 + , wrapQtAppsHook 9 + , dtkwidget 10 + , qt5integration 11 + , qt5platform-plugins 12 + , qtbase 13 + , qtsvg 14 + , qtx11extras 15 + , dde-qt-dbus-factory 16 + , dde-dock 17 + , gsettings-qt 18 + , procps 19 + , libpcap 20 + , libnl 21 + , util-linux 22 + , systemd 23 + , polkit 24 + }: 25 + 26 + stdenv.mkDerivation rec { 27 + pname = "deepin-system-monitor"; 28 + version = "5.9.32"; 29 + 30 + src = fetchFromGitHub { 31 + owner = "linuxdeepin"; 32 + repo = pname; 33 + rev = version; 34 + sha256 = "sha256-jze5Pigk4edjojmpNNwaVVfcpk5Aed/S0y9YE0HdC0A"; 35 + }; 36 + 37 + postPatch = '' 38 + substituteInPlace deepin-system-monitor-main/process/process_controller.cpp \ 39 + deepin-system-monitor-main/process/priority_controller.cpp \ 40 + deepin-system-monitor-main/service/service_manager.cpp \ 41 + deepin-system-monitor-main/translations/policy/com.deepin.pkexec.deepin-system-monitor.policy \ 42 + --replace "/usr/bin/kill" "${util-linux}/bin/kill" \ 43 + --replace "/usr/bin/renice" "${util-linux}/bin/renice" \ 44 + --replace '/usr/bin/systemctl' '${lib.getBin systemd}/systemctl' 45 + 46 + substituteInPlace deepin-system-monitor-main/{service/service_manager.cpp,process/{priority_controller.cpp,process_controller.cpp}} \ 47 + --replace "/usr/bin/pkexec" "${lib.getBin polkit}/bin/pkexec" 48 + 49 + for file in $(grep -rl "/usr") 50 + do 51 + substituteInPlace $file \ 52 + --replace "/usr" "$out" 53 + done 54 + ''; 55 + 56 + nativeBuildInputs = [ 57 + cmake 58 + pkg-config 59 + qttools 60 + deepin-gettext-tools 61 + wrapQtAppsHook 62 + ]; 63 + 64 + buildInputs = [ 65 + dtkwidget 66 + qt5integration 67 + qt5platform-plugins 68 + qtbase 69 + qtsvg 70 + qtx11extras 71 + dde-qt-dbus-factory 72 + dde-dock 73 + gsettings-qt 74 + procps 75 + libpcap 76 + libnl 77 + ]; 78 + 79 + cmakeFlags = [ 80 + "-DVERSION=${version}" 81 + "-DUSE_DEEPIN_WAYLAND=OFF" 82 + ]; 83 + 84 + strictDeps = true; 85 + 86 + meta = with lib; { 87 + description = "A more user-friendly system monitor"; 88 + homepage = "https://github.com/linuxdeepin/deepin-system-monitor"; 89 + license = licenses.gpl3Plus; 90 + platforms = platforms.linux; 91 + maintainers = teams.deepin.members; 92 + }; 93 + }
+1
pkgs/desktops/deepin/default.nix
··· 49 49 deepin-music = callPackage ./apps/deepin-music { }; 50 50 deepin-picker = callPackage ./apps/deepin-picker { }; 51 51 deepin-shortcut-viewer = callPackage ./apps/deepin-shortcut-viewer { }; 52 + deepin-system-monitor = callPackage ./apps/deepin-system-monitor { }; 52 53 deepin-terminal = callPackage ./apps/deepin-terminal { }; 53 54 deepin-reader = callPackage ./apps/deepin-reader { }; 54 55 deepin-voice-note = callPackage ./apps/deepin-voice-note { };
-3
pkgs/development/haskell-modules/configuration-common.nix
··· 745 745 inline-c-win32 = dontDistribute super.inline-c-win32; 746 746 Southpaw = dontDistribute super.Southpaw; 747 747 748 - # Hydra no longer allows building texlive packages. 749 - lhs2tex = dontDistribute super.lhs2tex; 750 - 751 748 # https://ghc.haskell.org/trac/ghc/ticket/9825 752 749 vimus = overrideCabal (drv: { broken = pkgs.stdenv.isLinux && pkgs.stdenv.isi686; }) super.vimus; 753 750
+2 -2
pkgs/development/python-modules/crate/default.nix
··· 12 12 13 13 buildPythonPackage rec { 14 14 pname = "crate"; 15 - version = "0.30.0"; 15 + version = "0.31.0"; 16 16 format = "setuptools"; 17 17 18 18 disabled = pythonOlder "3.7"; 19 19 20 20 src = fetchPypi { 21 21 inherit pname version; 22 - hash = "sha256-8xraDCFZbpJZsh3sO5VlSHwnEfH4u4AJZkXA+L4TB60="; 22 + hash = "sha256-HhncnVmUXyHLaLkhIFS89NnKoSY42C1GipOqurIsoZ4="; 23 23 }; 24 24 25 25 propagatedBuildInputs = [
+30
pkgs/development/tools/language-servers/docker-compose-language-service/default.nix
··· 1 + { lib 2 + , buildNpmPackage 3 + , nodejs-16_x 4 + , fetchFromGitHub 5 + }: 6 + let 7 + buildNpmPackage' = buildNpmPackage.override { nodejs = nodejs-16_x; }; 8 + in 9 + buildNpmPackage' rec { 10 + pname = "docker-compose-language-service"; 11 + version = "0.1.3"; 12 + 13 + src = fetchFromGitHub { 14 + owner = "microsoft"; 15 + repo = "compose-language-service"; 16 + rev = "v${version}"; 17 + hash = "sha256-faQvUHzqtCipceGnamVQIlAWCDpo7oX01/zGz9RLjMY="; 18 + }; 19 + 20 + npmDepsHash = "sha256-gWaZMsI1HVIXKZInfgzfH8syzOwU2C6kcKvB2M6KLX4="; 21 + 22 + meta = with lib; { 23 + description = "Language service for Docker Compose documents"; 24 + homepage = "https://github.com/microsoft/compose-language-service"; 25 + changelog = "https://github.com/microsoft/compose-language-service/releases/tag/v${version}"; 26 + license = licenses.mit; 27 + maintainers = with maintainers; [ natsukium ]; 28 + mainProgram = "docker-compose-langserver"; 29 + }; 30 + }
+3 -3
pkgs/development/tools/sq/default.nix
··· 2 2 3 3 buildGoModule rec { 4 4 pname = "sq"; 5 - version = "0.25.1"; 5 + version = "0.33.0"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "neilotoole"; 9 9 repo = pname; 10 10 rev = "v${version}"; 11 - sha256 = "sha256-FYEgCXXcVhm6vv1QT8UqCBo+/o0dAPwbR3ZNB72MrGI="; 11 + sha256 = "sha256-1I6adQLbVx4Gj9rdocpEPyQagEpaI4a4sHUaSyntyGI="; 12 12 }; 13 13 14 - vendorHash = "sha256-Kcl0/txbq7+xA6826SzSrZx4L02GHcXG5ciKmkrtWLI="; 14 + vendorHash = "sha256-e14qz4KTD2aAl1G5wj2/T0cxocvscj0r+c8So+omA38="; 15 15 16 16 proxyVendor = true; 17 17
+3 -3
pkgs/games/blightmud/default.nix
··· 11 11 12 12 rustPlatform.buildRustPackage rec { 13 13 pname = "blightmud"; 14 - version = "5.1.0"; 14 + version = "5.2.0"; 15 15 16 16 src = fetchFromGitHub { 17 17 owner = pname; 18 18 repo = pname; 19 19 rev = "v${version}"; 20 - sha256 = "sha256-0cvMROnblt9c4d6Kbr5iY/Qobf3hOKIhWHvOVQONhO4="; 20 + sha256 = "sha256-sLqkDuohCgHJTMte1WIa2Yu43oWXVvnIpeiDBoQpKY8="; 21 21 }; 22 22 23 - cargoSha256 = "sha256-7jSuadpAZXtlYVw4/NBATTIAFO8M6I11FuxfGFQx51Y="; 23 + cargoHash = "sha256-ffADKoMysYY2vwX3asHnjR2EiND4RJsf/W334PWvkGs="; 24 24 25 25 buildFeatures = lib.optional withTTS "tts"; 26 26
+4 -4
pkgs/os-specific/linux/kernel/hardened/patches.json
··· 51 51 }, 52 52 "6.1": { 53 53 "patch": { 54 - "extra": "-hardened1", 55 - "name": "linux-hardened-6.1.24-hardened1.patch", 56 - "sha256": "1fzgf50qj2i12v3wm0zg5bx2kpd5zsvk3zwfnzzm0mg9cap5mpla", 57 - "url": "https://github.com/anthraxx/linux-hardened/releases/download/6.1.24-hardened1/linux-hardened-6.1.24-hardened1.patch" 54 + "extra": "-hardened2", 55 + "name": "linux-hardened-6.1.24-hardened2.patch", 56 + "sha256": "1bjcjq0gqvhknryq97qj1a6q3fi71pql23knvs0c42k4vknfih9q", 57 + "url": "https://github.com/anthraxx/linux-hardened/releases/download/6.1.24-hardened2/linux-hardened-6.1.24-hardened2.patch" 58 58 }, 59 59 "sha256": "0135aj8asplpxqr48hwdmwynx8n8hzhdgh55yl8r0n1kivisgrma", 60 60 "version": "6.1.24"
+2 -2
pkgs/os-specific/linux/kernel/linux-4.14.nix
··· 3 3 with lib; 4 4 5 5 buildLinux (args // rec { 6 - version = "4.14.312"; 6 + version = "4.14.313"; 7 7 8 8 # modDirVersion needs to be x.y.z, will automatically add .0 if needed 9 9 modDirVersion = versions.pad 3 version; ··· 13 13 14 14 src = fetchurl { 15 15 url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; 16 - sha256 = "03bwrnm7z8jxxn681dd5jffrj76l14ngkcccfgbg1p4a0471q436"; 16 + sha256 = "0k2j856niappvkp9m1wxr87xvbwdzdy03mbcj827kmpjd9gdca76"; 17 17 }; 18 18 } // (args.argsOverride or {}))
+2 -2
pkgs/os-specific/linux/kernel/linux-4.19.nix
··· 3 3 with lib; 4 4 5 5 buildLinux (args // rec { 6 - version = "4.19.280"; 6 + version = "4.19.281"; 7 7 8 8 # modDirVersion needs to be x.y.z, will automatically add .0 if needed 9 9 modDirVersion = versions.pad 3 version; ··· 13 13 14 14 src = fetchurl { 15 15 url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; 16 - sha256 = "1xmg9p3ky75n5q894f522s8nwcmbd5c15nmjr0n96m6xzag3kd7w"; 16 + sha256 = "13nwzsh3h634450k37pxdca5j8vr3qswx7k79bs2999xp2js9pf0"; 17 17 }; 18 18 } // (args.argsOverride or {}))
+2 -2
pkgs/os-specific/linux/kernel/linux-5.10.nix
··· 3 3 with lib; 4 4 5 5 buildLinux (args // rec { 6 - version = "5.10.177"; 6 + version = "5.10.178"; 7 7 8 8 # modDirVersion needs to be x.y.z, will automatically add .0 if needed 9 9 modDirVersion = versions.pad 3 version; ··· 13 13 14 14 src = fetchurl { 15 15 url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz"; 16 - sha256 = "0waml6svj07b7f8yb1kzrflqlf61x4kcqbgsr372s484m3z628lz"; 16 + sha256 = "1bx8wws9gvksg1c1af29nm03jjz2f5a5sq9hzc00ymjyf7isvkqs"; 17 17 }; 18 18 } // (args.argsOverride or {}))
+2 -2
pkgs/os-specific/linux/kernel/linux-5.15.nix
··· 3 3 with lib; 4 4 5 5 buildLinux (args // rec { 6 - version = "5.15.107"; 6 + version = "5.15.108"; 7 7 8 8 # modDirVersion needs to be x.y.z, will automatically add .0 if needed 9 9 modDirVersion = versions.pad 3 version; ··· 13 13 14 14 src = fetchurl { 15 15 url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz"; 16 - sha256 = "1a5gqpxmzls5mp4a0cw10ldrps4pvbn19nzfri91ys25j1v0wdqr"; 16 + sha256 = "1fj38bvsyr9g89qr8pcjrp0kaq44g301x46gyjibq73gljnnkswb"; 17 17 }; 18 18 } // (args.argsOverride or { }))
+2 -2
pkgs/os-specific/linux/kernel/linux-5.4.nix
··· 3 3 with lib; 4 4 5 5 buildLinux (args // rec { 6 - version = "5.4.240"; 6 + version = "5.4.241"; 7 7 8 8 # modDirVersion needs to be x.y.z, will automatically add .0 if needed 9 9 modDirVersion = versions.pad 3 version; ··· 13 13 14 14 src = fetchurl { 15 15 url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz"; 16 - sha256 = "0ihf0rqhx7dav3k3igk29962sscb1xyniy2gx8chyllprr0z126w"; 16 + sha256 = "0z7api3qcjrd6w7fva7k6fj4zx17mg5ibn28a6qbgy27dyny1h7z"; 17 17 }; 18 18 } // (args.argsOverride or {}))
+2 -2
pkgs/os-specific/linux/kernel/linux-6.1.nix
··· 3 3 with lib; 4 4 5 5 buildLinux (args // rec { 6 - version = "6.1.24"; 6 + version = "6.1.25"; 7 7 8 8 # modDirVersion needs to be x.y.z, will automatically add .0 if needed 9 9 modDirVersion = versions.pad 3 version; ··· 13 13 14 14 src = fetchurl { 15 15 url = "mirror://kernel/linux/kernel/v6.x/linux-${version}.tar.xz"; 16 - sha256 = "0135aj8asplpxqr48hwdmwynx8n8hzhdgh55yl8r0n1kivisgrma"; 16 + sha256 = "149h95r5msvqah868zd36y92ls9h41cr1rb5vzinl20mxdn46wnb"; 17 17 }; 18 18 } // (args.argsOverride or { }))
+2 -2
pkgs/os-specific/linux/kernel/linux-6.2.nix
··· 3 3 with lib; 4 4 5 5 buildLinux (args // rec { 6 - version = "6.2.11"; 6 + version = "6.2.12"; 7 7 8 8 # modDirVersion needs to be x.y.z, will automatically add .0 if needed 9 9 modDirVersion = versions.pad 3 version; ··· 13 13 14 14 src = fetchurl { 15 15 url = "mirror://kernel/linux/kernel/v6.x/linux-${version}.tar.xz"; 16 - sha256 = "0iyx03z58pv1d5nrryjx94k3nxwyvm4b3bim6nawg1qbws26f8qd"; 16 + sha256 = "1j6cn1ifmcqfqvxp9h10y8yfxi918yzl3yjbf96gmb9p4ysldqf7"; 17 17 }; 18 18 } // (args.argsOverride or { }))
+3 -3
pkgs/os-specific/linux/kernel/linux-rt-5.15.nix
··· 6 6 , ... } @ args: 7 7 8 8 let 9 - version = "5.15.96-rt61"; # updated by ./update-rt.sh 9 + version = "5.15.107-rt62"; # updated by ./update-rt.sh 10 10 branch = lib.versions.majorMinor version; 11 11 kversion = builtins.elemAt (lib.splitString "-" version) 0; 12 12 in buildLinux (args // { ··· 18 18 19 19 src = fetchurl { 20 20 url = "mirror://kernel/linux/kernel/v5.x/linux-${kversion}.tar.xz"; 21 - sha256 = "167g34xjbqxr5klqp127j2j15pms4jmgs0y7gr8zipiz2i69g39l"; 21 + sha256 = "1a5gqpxmzls5mp4a0cw10ldrps4pvbn19nzfri91ys25j1v0wdqr"; 22 22 }; 23 23 24 24 kernelPatches = let rt-patch = { 25 25 name = "rt"; 26 26 patch = fetchurl { 27 27 url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz"; 28 - sha256 = "1s6h80q4sddnsxjx4ilc52j4kvxwbzj638rbh7wwxvknh21vkwvl"; 28 + sha256 = "0w7ksdv3xpzqiwfxc007k496ghklblb7kglswxhn7y1yqn6pgqzs"; 29 29 }; 30 30 }; in [ rt-patch ] ++ kernelPatches; 31 31
+4
pkgs/os-specific/linux/zfs/default.nix
··· 10 10 , gawk, gnugrep, gnused, systemd 11 11 , smartmontools, enableMail ? false 12 12 , sysstat, pkg-config 13 + , curl 13 14 14 15 # Kernel dependencies 15 16 , kernel ? null ··· 77 76 nfs-utils.override (old: { enablePython = old.enablePython or true && enablePython; }) 78 77 }/bin/exportfs" 79 78 substituteInPlace ./lib/libshare/smb.h --replace "/usr/bin/net" "${samba}/bin/net" 79 + # Disable dynamic loading of libcurl 80 + substituteInPlace ./config/user-libfetch.m4 --replace "curl-config --built-shared" "true" 80 81 substituteInPlace ./config/user-systemd.m4 --replace "/usr/lib/modules-load.d" "$out/etc/modules-load.d" 81 82 substituteInPlace ./config/zfs-build.m4 --replace "\$sysconfdir/init.d" "$out/etc/init.d" \ 82 83 --replace "/etc/default" "$out/etc/default" ··· 114 111 ++ optional buildUser pkg-config; 115 112 buildInputs = optionals buildUser [ zlib libuuid attr libtirpc ] 116 113 ++ optional buildUser openssl 114 + ++ optional buildUser curl 117 115 ++ optional (buildUser && enablePython) python3; 118 116 119 117 # for zdb to get the rpath to libgcc_s, needed for pthread_cancel to work
+3 -3
pkgs/servers/home-automation/evcc/default.nix
··· 16 16 17 17 buildGo120Module rec { 18 18 pname = "evcc"; 19 - version = "0.116.2"; 19 + version = "0.116.3"; 20 20 21 21 src = fetchFromGitHub { 22 22 owner = "evcc-io"; 23 23 repo = pname; 24 24 rev = version; 25 - hash = "sha256-SZwfXoIJRdkr0jQSizmXGOWZYteqa2IWrJNSTOQ3OQ8="; 25 + hash = "sha256-w4AExQmItvSbUSGBOnoyP4rGnEYsyFUU9Y+lF+0xGVc="; 26 26 }; 27 27 28 - vendorHash = "sha256-V0etgtYoU5a6OexoHmy4rKv2J9qvNlT57utJp1Nxyas="; 28 + vendorHash = "sha256-lu6/tRf9o0n13lVsT9OBxc6Ytz3IVEE16vLZ+pZ4Czk="; 29 29 30 30 npmDeps = fetchNpmDeps { 31 31 inherit src;
+3 -3
pkgs/servers/minio/default.nix
··· 15 15 in 16 16 buildGoModule rec { 17 17 pname = "minio"; 18 - version = "2023-03-24T21-41-23Z"; 18 + version = "2023-04-13T03-08-07Z"; 19 19 20 20 src = fetchFromGitHub { 21 21 owner = "minio"; 22 22 repo = "minio"; 23 23 rev = "RELEASE.${version}"; 24 - sha256 = "sha256-n42At76bE0LQUiGeW4a9KeVcqVJ+pD9t2WGlUbwZ0Tg="; 24 + sha256 = "sha256-hwNIQO2ZVPs/pw4AiuXMYF6IH/OeXUZ9NMxIWropXVk="; 25 25 }; 26 26 27 - vendorHash = "sha256-OFHifFSsyKIpiffxgVxF538AFBUrJrrcwkqkYyArY7o="; 27 + vendorHash = "sha256-ZBGrZjqrfcF8EYbJwlnpUsV1nOWYmserVV1PXBMkagg="; 28 28 29 29 doCheck = false; 30 30
+15 -8
pkgs/servers/nextcloud/default.nix
··· 39 39 }; 40 40 }; 41 41 in { 42 - nextcloud24 = generic { 43 - version = "24.0.11"; 44 - sha256 = "sha256-ipsg4rulhRnatEW9VwUJLvOEtX5ZiK7MXK3AU8Q9qIo="; 45 - }; 42 + nextcloud24 = throw '' 43 + Nextcloud v24 has been removed from `nixpkgs` as the support for is dropped 44 + by upstream in 2023-04. Please upgrade to at least Nextcloud v25 by declaring 45 + 46 + services.nextcloud.package = pkgs.nextcloud25; 47 + 48 + in your NixOS config. 49 + 50 + WARNING: if you were on Nextcloud 23 you have to upgrade to Nextcloud 24 51 + first on 22.11 because Nextcloud doesn't support upgrades across multiple major versions! 52 + ''; 46 53 47 54 nextcloud25 = generic { 48 - version = "25.0.5"; 49 - sha256 = "sha256-xtxjLYPGK9V0GvUzXcE7awzeYQZNPNmlHuDmtHeMqaU="; 55 + version = "25.0.6"; 56 + sha256 = "sha256-fYtO3CZ5oNpaIs+S+emMrxqYNlck0AC43fxdiomsjDg="; 50 57 }; 51 58 52 59 nextcloud26 = generic { 53 - version = "26.0.0"; 54 - sha256 = "sha256-8WMVA2Ou6TZuy1zVJZv2dW7U8HPOp4tfpRXK2noNDD0="; 60 + version = "26.0.1"; 61 + sha256 = "sha256-b5xqEkjXyK9K1HPXOkJWX2rautRTHFz6V7w0l7K2T0g="; 55 62 }; 56 63 57 64 # tip: get the sha with:
-242
pkgs/servers/nextcloud/packages/24.json
··· 1 - { 2 - "bookmarks": { 3 - "sha256": "1jkbwzig4xd042jcbdbdh4whkpxb87f7ba0c89c78bdgcqzjv1a3", 4 - "url": "https://github.com/nextcloud/bookmarks/releases/download/v11.0.4/bookmarks-11.0.4.tar.gz", 5 - "version": "11.0.4", 6 - "description": "- 📂 Sort bookmarks into folders\n- 🏷 Add tags and personal notes\n- 🔍 Full-text search\n- 📲 Synchronize with all your browsers and devices\n- 👪 Share bookmarks with other users and publicly\n- ☠ Find broken links\n- ⚛ Generate RSS feeds of your collections\n- 📔 Read archived versions of your links in case they are depublished\n- 💬 Create new bookmarks directly from within Nextcloud Talk\n- 💼 Built-in Dashboard widgets for frequent and recent links\n\nRequirements:\n - PHP v7.4+\n - PHP extensions:\n - intl: *\n - mbstring: *\n - when using MySQL, use at least v8.0", 7 - "homepage": "https://github.com/nextcloud/bookmarks", 8 - "licenses": [ 9 - "agpl" 10 - ] 11 - }, 12 - "calendar": { 13 - "sha256": "0zzq556727yryxa0zas6agm6azl1898gbjx4wnl8d8m9hczf6xr2", 14 - "url": "https://github.com/nextcloud-releases/calendar/releases/download/v3.5.7/calendar-v3.5.7.tar.gz", 15 - "version": "3.5.7", 16 - "description": "The Calendar app is a user interface for Nextcloud's CalDAV server. Easily sync events from various devices with your Nextcloud and edit them online.\n\n* 🚀 **Integration with other Nextcloud apps!** Currently Contacts - more to come.\n* 🌐 **WebCal Support!** Want to see your favorite team’s matchdays in your calendar? No problem!\n* 🙋 **Attendees!** Invite people to your events\n* ⌚️ **Free/Busy!** See when your attendees are available to meet\n* ⏰ **Reminders!** Get alarms for events inside your browser and via email\n* 🔍 Search! Find your events at ease\n* ☑️ Tasks! See tasks with a due date directly in the calendar\n* 🙈 **We’re not reinventing the wheel!** Based on the great [c-dav library](https://github.com/nextcloud/cdav-library), [ical.js](https://github.com/mozilla-comm/ical.js) and [fullcalendar](https://github.com/fullcalendar/fullcalendar) libraries.", 17 - "homepage": "https://github.com/nextcloud/calendar/", 18 - "licenses": [ 19 - "agpl" 20 - ] 21 - }, 22 - "contacts": { 23 - "sha256": "1r0z0ldywzaw7a87hlsbn1f9pxqndqpxxa6khn70yh02cjrzh03m", 24 - "url": "https://github.com/nextcloud-releases/contacts/releases/download/v4.2.5/contacts-v4.2.5.tar.gz", 25 - "version": "4.2.5", 26 - "description": "The Nextcloud contacts app is a user interface for Nextcloud's CardDAV server. Easily sync contacts from various devices with your Nextcloud and edit them online.\n\n* 🚀 **Integration with other Nextcloud apps!** Currently Mail and Calendar – more to come.\n* 🎉 **Never forget a birthday!** You can sync birthdays and other recurring events with your Nextcloud Calendar.\n* 👥 **Sharing of Adressbooks!** You want to share your contacts with your friends or coworkers? No problem!\n* 🙈 **We’re not reinventing the wheel!** Based on the great and open SabreDAV library.", 27 - "homepage": "https://github.com/nextcloud/contacts#readme", 28 - "licenses": [ 29 - "agpl" 30 - ] 31 - }, 32 - "deck": { 33 - "sha256": "1q21vpq9fv6p9harn96fq7cn68qixw3d08s9yf25mnxzpynrwv50", 34 - "url": "https://github.com/nextcloud-releases/deck/releases/download/v1.7.3/deck-v1.7.3.tar.gz", 35 - "version": "1.7.3", 36 - "description": "Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized", 37 - "homepage": "https://github.com/nextcloud/deck", 38 - "licenses": [ 39 - "agpl" 40 - ] 41 - }, 42 - "files_markdown": { 43 - "sha256": "1dhl83vxk6aznakmvbcx52gl8slhy6jz1vqwiv8nwfjh75aczzxy", 44 - "url": "https://github.com/icewind1991/files_markdown/releases/download/v2.3.6/files_markdown.tar.gz", 45 - "version": "2.3.6", 46 - "description": "Markdown Editor extends the Nextcloud text editor with a live preview for markdown files.\n\nA full list of features can be found [in the README](https://github.com/icewind1991/files_markdown)", 47 - "homepage": "https://github.com/icewind1991/files_markdown", 48 - "licenses": [ 49 - "agpl" 50 - ] 51 - }, 52 - "files_texteditor": { 53 - "sha256": "0rmk14iw34pd81snp3lm01k07wm5j2nh9spcd4j0m43l20b7kxss", 54 - "url": "https://github.com/nextcloud-releases/files_texteditor/releases/download/v2.15.0/files_texteditor.tar.gz", 55 - "version": "2.15.0", 56 - "description": "This application enables Nextcloud users to open, save and edit text files in the web browser. If enabled, an entry called \"Text file\" in the \"New\" button menu at the top of the web browser appears. When clicked, a new text file opens in the browser and the file can be saved into the current Nextcloud directory. Further, when a text file is clicked in the web browser, it will be opened and editable. If the privileges allow, a user can also edit shared files and save these changes back into the web browser.\nMore information is available in the text editor documentation.", 57 - "homepage": "https://github.com/nextcloud/files_texteditor", 58 - "licenses": [ 59 - "agpl" 60 - ] 61 - }, 62 - "forms": { 63 - "sha256": "1payxppd2j0n67kcswb3dkk2a467fahwakxs7wqsfqgqgr9mcbl4", 64 - "url": "https://github.com/nextcloud/forms/releases/download/v2.5.2/forms.tar.gz", 65 - "version": "2.5.2", 66 - "description": "**Simple surveys and questionnaires, self-hosted!**\n\n- **📝 Simple design:** No mass of options, only the essentials. Works well on mobile of course.\n- **📊 View & export results:** Results are visualized and can also be exported as CSV in the same format used by Google Forms.\n- **🔒 Data under your control!** Unlike in Google Forms, Typeform, Doodle and others, the survey info and responses are kept private on your instance.\n- **🧑‍💻 Connect to your software:** Easily integrate Forms into your service with our full-fledged [REST-API](https://github.com/nextcloud/forms/blob/main/docs/API.md).\n- **🙋 Get involved!** We have lots of stuff planned like more question types, collaboration on forms, [and much more](https://github.com/nextcloud/forms/milestones)!", 67 - "homepage": "https://github.com/nextcloud/forms", 68 - "licenses": [ 69 - "agpl" 70 - ] 71 - }, 72 - "groupfolders": { 73 - "sha256": "09lz63n9i040lndzmpm6rdlpviaa8m9skpjw98m18miamdmqbf0d", 74 - "url": "https://github.com/nextcloud-releases/groupfolders/releases/download/v12.0.3/groupfolders-v12.0.3.tar.gz", 75 - "version": "12.0.3", 76 - "description": "Admin configured folders shared with everyone in a group.\n\nFolders can be configured from *Group folders* in the admin settings.\n\nAfter a folder is created, the admin can give access to the folder to one or more groups, control their write/sharing permissions and assign a quota for the folder.\n\nNote: Encrypting the contents of group folders is currently not supported.", 77 - "homepage": "https://github.com/nextcloud/groupfolders", 78 - "licenses": [ 79 - "agpl" 80 - ] 81 - }, 82 - "impersonate": { 83 - "sha256": "1kjibw5rigij51j6vjmx7ykrk61lg98syp7kkr0fzgwzvxrdniah", 84 - "url": "https://github.com/nextcloud-releases/impersonate/releases/download/v1.11.1/impersonate-v1.11.1.tar.gz", 85 - "version": "1.11.1", 86 - "description": "By installing the impersonate app of your Nextcloud you enable administrators to impersonate other users on the Nextcloud server. This is especially useful for debugging issues reported by users.\n\nTo impersonate a user an administrator has to simply follow the following four steps:\n\n1. Login as administrator to Nextcloud.\n2. Open users administration interface.\n3. Select the impersonate button on the affected user.\n4. Confirm the impersonation.\n\nThe administrator is then logged-in as the user, to switch back to the regular user account they simply have to press the logout button.\n\n**Note:**\n\n- This app is not compatible with instances that have encryption enabled.\n- While impersonate actions are logged note that actions performed impersonated will be logged as the impersonated user.\n- Impersonating a user is only possible after their first login.", 87 - "homepage": "https://github.com/nextcloud/impersonate", 88 - "licenses": [ 89 - "agpl" 90 - ] 91 - }, 92 - "keeweb": { 93 - "sha256": "19wzp588p3a87bi7ajn2r8jmsjjzzc1g8bkpwkidv66gi87gv9sr", 94 - "url": "https://github.com/jhass/nextcloud-keeweb/releases/download/v0.6.12/keeweb-0.6.12.tar.gz", 95 - "version": "0.6.12", 96 - "description": "Open Keepass stores inside Nextcloud with Keeweb just by clicking on an *.kdbx file in your Nextcloud.", 97 - "homepage": "https://github.com/jhass/nextcloud-keeweb", 98 - "licenses": [ 99 - "agpl" 100 - ] 101 - }, 102 - "mail": { 103 - "sha256": "1a697wf2lq596dk04acd6qpmx9immh6v8npj0kf43m31kc3hm0rs", 104 - "url": "https://github.com/nextcloud-releases/mail/releases/download/v1.15.3/mail-v1.15.3.tar.gz", 105 - "version": "1.15.3", 106 - "description": "**💌 A mail app for Nextcloud**\n\n- **🚀 Integration with other Nextcloud apps!** Currently Contacts, Calendar & Files – more to come.\n- **📥 Multiple mail accounts!** Personal and company account? No problem, and a nice unified inbox. Connect any IMAP account.\n- **🔒 Send & receive encrypted mails!** Using the great [Mailvelope](https://mailvelope.com) browser extension.\n- **🙈 We’re not reinventing the wheel!** Based on the great [Horde](https://horde.org) libraries.\n- **📬 Want to host your own mail server?** We do not have to reimplement this as you could set up [Mail-in-a-Box](https://mailinabox.email)!", 107 - "homepage": "https://github.com/nextcloud/mail#readme", 108 - "licenses": [ 109 - "agpl" 110 - ] 111 - }, 112 - "news": { 113 - "sha256": "1zyn6rs24f5dsb4z65dzx2mdkw8gy8n3adk9dgyyd4cjjhhixhsm", 114 - "url": "https://github.com/nextcloud/news/releases/download/21.2.0-beta3/news.tar.gz", 115 - "version": "21.2.0-beta3", 116 - "description": "📰 A RSS/Atom Feed reader App for Nextcloud\n\n- 📲 Synchronize your feeds with multiple mobile or desktop [clients](https://nextcloud.github.io/news/clients/)\n- 🔄 Automatic updates of your news feeds\n- 🆓 Free and open source under AGPLv3, no ads or premium functions\n\n**System Cron is currently required for this app to work**\n\nRequirements can be found [here](https://nextcloud.github.io/news/install/#dependencies)\n\nThe Changelog is available [here](https://github.com/nextcloud/news/blob/master/CHANGELOG.md)\n\nCreate a [bug report](https://github.com/nextcloud/news/issues/new/choose)\n\nCreate a [feature request](https://github.com/nextcloud/news/discussions/new)\n\nReport a [feed issue](https://github.com/nextcloud/news/discussions/new)", 117 - "homepage": "https://github.com/nextcloud/news", 118 - "licenses": [ 119 - "agpl" 120 - ] 121 - }, 122 - "notes": { 123 - "sha256": "0b88xsznfi31la7iyj4b7j1qlb8wvrmq49z9dgdrwja3r81mxnsr", 124 - "url": "https://github.com/nextcloud/notes/releases/download/v4.5.1/notes.tar.gz", 125 - "version": "4.5.1", 126 - "description": "The Notes app is a distraction free notes taking app for [Nextcloud](https://www.nextcloud.com/). It provides categories for better organization and supports formatting using [Markdown](https://en.wikipedia.org/wiki/Markdown) syntax. Notes are saved as files in your Nextcloud, so you can view and edit them with every Nextcloud client. Furthermore, a separate [REST API](https://github.com/nextcloud/notes/blob/master/docs/api/README.md) allows for an easy integration into third-party apps (currently, there are notes apps for [Android](https://github.com/nextcloud/notes-android), [iOS](https://github.com/nextcloud/notes-ios) and the [console](https://git.danielmoch.com/nncli/about) which allow convenient access to your Nextcloud notes). Further features include marking notes as favorites.", 127 - "homepage": "https://github.com/nextcloud/notes", 128 - "licenses": [ 129 - "agpl" 130 - ] 131 - }, 132 - "notify_push": { 133 - "sha256": "1fz6wi5nb4c2w33vp9ry2mk4lmv7aa3axyfxzldf5w4glfzaymzw", 134 - "url": "https://github.com/nextcloud-releases/notify_push/releases/download/v0.6.2/notify_push-v0.6.2.tar.gz", 135 - "version": "0.6.2", 136 - "description": "Push update support for desktop app.\n\nOnce the app is installed, the push binary needs to be setup. You can either use the setup wizard with `occ notify_push:setup` or see the [README](http://github.com/nextcloud/notify_push) for detailed setup instructions", 137 - "homepage": "", 138 - "licenses": [ 139 - "agpl" 140 - ] 141 - }, 142 - "onlyoffice": { 143 - "sha256": "0hscbm7jcnxyg7ib0g16b0sw8nz7rl6qzx90qmki5knhzrf6hf1j", 144 - "url": "https://github.com/ONLYOFFICE/onlyoffice-nextcloud/releases/download/v7.7.0/onlyoffice.tar.gz", 145 - "version": "7.7.0", 146 - "description": "ONLYOFFICE connector allows you to view, edit and collaborate on text documents, spreadsheets and presentations within Nextcloud using ONLYOFFICE Docs. This will create a new Edit in ONLYOFFICE action within the document library for Office documents. This allows multiple users to co-author documents in real time from the familiar web interface and save the changes back to your file storage.", 147 - "homepage": "https://www.onlyoffice.com", 148 - "licenses": [ 149 - "apache" 150 - ] 151 - }, 152 - "polls": { 153 - "sha256": "0qdm0hnljkv0df1s929awyjj1gsp3d6xv9llr52cxv66kkfx086y", 154 - "url": "https://github.com/nextcloud/polls/releases/download/v3.8.4/polls.tar.gz", 155 - "version": "3.8.4", 156 - "description": "A polls app, similar to Doodle/Dudle with the possibility to restrict access (members, certain groups/users, hidden and public).", 157 - "homepage": "https://github.com/nextcloud/polls", 158 - "licenses": [ 159 - "agpl" 160 - ] 161 - }, 162 - "previewgenerator": { 163 - "sha256": "0vwlx3z80i12f9hm0qrm014a0wybjk2j5is7vyn9wcizhr6mpzjv", 164 - "url": "https://github.com/nextcloud-releases/previewgenerator/releases/download/v5.2.2/previewgenerator-v5.2.2.tar.gz", 165 - "version": "5.2.2", 166 - "description": "The Preview Generator app allows admins to pre-generate previews. The app listens to edit events and stores this information. Once a cron job is triggered it will generate start preview generation. This means that you can better utilize your system by pre-generating previews when your system is normally idle and thus putting less load on your machine when the requests are actually served.\n\nThe app does not replace on demand preview generation so if a preview is requested before it is pre-generated it will still be shown.\nThe first time you install this app, before using a cron job, you properly want to generate all previews via:\n**./occ preview:generate-all -vvv**\n\n**Important**: To enable pre-generation of previews you must add **php /var/www/nextcloud/occ preview:pre-generate** to a system cron job that runs at times of your choosing.", 167 - "homepage": "https://github.com/nextcloud/previewgenerator", 168 - "licenses": [ 169 - "agpl" 170 - ] 171 - }, 172 - "registration": { 173 - "sha256": "0m45limwsk8a86fqjxj2w1753hd2vc5icpv0wcbwrlr0mxxdc46f", 174 - "url": "https://github.com/nextcloud-releases/registration/releases/download/v1.5.0/registration-v1.5.0.tar.gz", 175 - "version": "1.5.0", 176 - "description": "User registration\n\nThis app allows users to register a new account.\n\n# Features\n\n- Add users to a given group\n- Allow-list with email domains (including wildcard) to register with\n- Administrator will be notified via email for new user creation or require approval\n- Supports Nextcloud's Client Login Flow v1 and v2 - allowing registration in the mobile Apps and Desktop clients\n\n# Web form registration flow\n\n1. User enters their email address\n2. Verification link is sent to the email address\n3. User clicks on the verification link\n4. User is lead to a form where they can choose their username and password\n5. New account is created and is logged in automatically", 177 - "homepage": "https://github.com/nextcloud/registration", 178 - "licenses": [ 179 - "agpl" 180 - ] 181 - }, 182 - "spreed": { 183 - "sha256": "1r2n312kxx6ymlwrvqsj230x4zsg6im4xrss04zagiflvfljr5da", 184 - "url": "https://github.com/nextcloud-releases/spreed/releases/download/v14.0.10/spreed-v14.0.10.tar.gz", 185 - "version": "14.0.10", 186 - "description": "Chat, video & audio-conferencing using WebRTC\n\n* 💬 **Chat integration!** Nextcloud Talk comes with a simple text chat. Allowing you to share files from your Nextcloud and mentioning other participants.\n* 👥 **Private, group, public and password protected calls!** Just invite somebody, a whole group or send a public link to invite to a call.\n* 💻 **Screen sharing!** Share your screen with participants of your call. You just need to use Firefox version 66 (or newer), latest Edge or Chrome 72 (or newer, also possible using Chrome 49 with this [Chrome extension](https://chrome.google.com/webstore/detail/screensharing-for-nextclo/kepnpjhambipllfmgmbapncekcmabkol)).\n* 🚀 **Integration with other Nextcloud apps** like Files, Contacts and Deck. More to come.\n\nAnd in the works for the [coming versions](https://github.com/nextcloud/spreed/milestones/):\n* ✋ [Federated calls](https://github.com/nextcloud/spreed/issues/21), to call people on other Nextclouds", 187 - "homepage": "https://github.com/nextcloud/spreed", 188 - "licenses": [ 189 - "agpl" 190 - ] 191 - }, 192 - "tasks": { 193 - "sha256": "0jm13d6nm7cfsw27yfiq1il9xjlh0qrq8xby2yz9dmggn7lk1dx5", 194 - "url": "https://github.com/nextcloud/tasks/releases/download/v0.14.5/tasks.tar.gz", 195 - "version": "0.14.5", 196 - "description": "Once enabled, a new Tasks menu will appear in your Nextcloud apps menu. From there you can add and delete tasks, edit their title, description, start and due dates and mark them as important. Tasks can be shared between users. Tasks can be synchronized using CalDav (each task list is linked to an Nextcloud calendar, to sync it to your local client: Thunderbird, Evolution, KDE Kontact, iCal … - just add the calendar as a remote calendar in your client). You can download your tasks as ICS files using the download button for each calendar.", 197 - "homepage": "https://github.com/nextcloud/tasks/", 198 - "licenses": [ 199 - "agpl" 200 - ] 201 - }, 202 - "twofactor_nextcloud_notification": { 203 - "sha256": "1zdx7khsa22k6g9zhcxrgr1mykl16064z0scr5jbgq5ms3hh2q9w", 204 - "url": "https://github.com/nextcloud-releases/twofactor_nextcloud_notification/releases/download/v3.4.0/twofactor_nextcloud_notification-v3.4.0.tar.gz", 205 - "version": "3.4.0", 206 - "description": "Allows using any of your logged in devices as second factor", 207 - "homepage": "https://github.com/nextcloud/twofactor_nextcloud_notification", 208 - "licenses": [ 209 - "agpl" 210 - ] 211 - }, 212 - "twofactor_totp": { 213 - "sha256": "189cwq78dqanqxhsl69dahdkh230zhz2r285lvf0b7pg0sxcs0yc", 214 - "url": "https://github.com/nextcloud-releases/twofactor_totp/releases/download/v6.4.1/twofactor_totp-v6.4.1.tar.gz", 215 - "version": "6.4.1", 216 - "description": "A Two-Factor-Auth Provider for TOTP (RFC 6238)", 217 - "homepage": "https://github.com/nextcloud/twofactor_totp#readme", 218 - "licenses": [ 219 - "agpl" 220 - ] 221 - }, 222 - "twofactor_webauthn": { 223 - "sha256": "10f6dm9cxljicmfk9l4ncg6r7c1jy1pvm0b5kvz35q9jgniq0hcs", 224 - "url": "https://github.com/nextcloud-releases/twofactor_webauthn/releases/download/v0.3.3/twofactor_webauthn-v0.3.3.tar.gz", 225 - "version": "0.3.3", 226 - "description": "A two-factor provider for WebAuthn devices", 227 - "homepage": "https://github.com/nextcloud/twofactor_webauthn#readme", 228 - "licenses": [ 229 - "agpl" 230 - ] 231 - }, 232 - "unsplash": { 233 - "sha256": "1xlqpzry2qq0msrq8alg0mywlhjh09m3z5glh4rgwmh3p5b0777c", 234 - "url": "https://github.com/nextcloud/unsplash/releases/download/v2.0.1/unsplash.tar.gz", 235 - "version": "2.0.1", 236 - "description": "Show a new random featured nature photo in your nextcloud. Now with choosable motives!", 237 - "homepage": "https://github.com/nextcloud/unsplash/", 238 - "licenses": [ 239 - "agpl" 240 - ] 241 - } 242 - }
+2 -2
pkgs/servers/ser2net/default.nix
··· 10 10 11 11 stdenv.mkDerivation rec { 12 12 pname = "ser2net"; 13 - version = "4.3.11"; 13 + version = "4.3.12"; 14 14 15 15 src = fetchFromGitHub { 16 16 owner = "cminyard"; 17 17 repo = pname; 18 18 rev = "v${version}"; 19 - hash = "sha256-5Jo6wwxRwf6JbpG7vEGpEBFA9b0v7DqbfpvgETHHhpY="; 19 + hash = "sha256-jF1tk/JeZ3RGHol+itwtkTF/cn5FHm/vhUgXJzi9J9E="; 20 20 }; 21 21 22 22 passthru = {
+4
pkgs/tools/graphics/wdisplays/default.nix
··· 15 15 sha256 = "sha256-cOF3+T34zPro58maWUouGG+vlLm2C5NfcH7PZhSvApE="; 16 16 }; 17 17 18 + patchPhase = '' 19 + substituteInPlace ./resources/wdisplays.desktop.in --replace "@app_id@" "wdisplays" 20 + ''; 21 + 18 22 meta = with lib; { 19 23 description = "A graphical application for configuring displays in Wayland compositors"; 20 24 homepage = "https://github.com/luispabon/wdisplays";
+3 -3
pkgs/tools/networking/minio-client/default.nix
··· 2 2 3 3 buildGoModule rec { 4 4 pname = "minio-client"; 5 - version = "2023-03-23T20-03-04Z"; 5 + version = "2023-04-12T02-21-51Z"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "minio"; 9 9 repo = "mc"; 10 10 rev = "RELEASE.${version}"; 11 - sha256 = "sha256-wiYgLtFemdB7Cc/hJDvBbjvxH4I9QQkOIdyyPzWO8w0="; 11 + sha256 = "sha256-jNgReeR4KNzB1LKbiAOLWiYeJJ61qgf3J9nMy97FVGU="; 12 12 }; 13 13 14 - vendorHash = "sha256-VtBrxsfi2CUGzXSiHKLvr3Iw1myWyf3uPEQEZahjDhw="; 14 + vendorHash = "sha256-d8cC/exdM7OMGE24bN00BVE3jqE1tj6727JiON/aJkc="; 15 15 16 16 subPackages = [ "." ]; 17 17
+3 -3
pkgs/tools/networking/termscp/default.nix
··· 13 13 14 14 rustPlatform.buildRustPackage rec { 15 15 pname = "termscp"; 16 - version = "0.11.0"; 16 + version = "0.11.2"; 17 17 18 18 src = fetchFromGitHub { 19 19 owner = "veeso"; 20 20 repo = pname; 21 21 rev = "refs/tags/v${version}"; 22 - hash = "sha256-+5ljnCVbaiqqfXCJjMMInoLjLmZjCIoDkQi9pS6VKpc="; 22 + hash = "sha256-bQvoTy48eYK369Ei6B8l6F5/pfQGYiHdz3KsQV7Bi9Y="; 23 23 }; 24 24 25 - cargoHash = "sha256-GoWVDU1XVjbzZlGPEuHucnxcvhf4Rqx/nSEVygD9gCo="; 25 + cargoHash = "sha256-/nadstDHzLOrimL+xK7/ldOozz7ZS1nRQmkIhGHK8p8="; 26 26 27 27 nativeBuildInputs = [ 28 28 pkg-config
+2 -2
pkgs/tools/security/gitleaks/default.nix
··· 8 8 9 9 buildGoModule rec { 10 10 pname = "gitleaks"; 11 - version = "8.16.2"; 11 + version = "8.16.3"; 12 12 13 13 src = fetchFromGitHub { 14 14 owner = "zricethezav"; 15 15 repo = pname; 16 16 rev = "v${version}"; 17 - hash = "sha256-AR/08O0wUp3clbIF+2Kw0klMQ6UorFkIRsnqfX4Q3SY="; 17 + hash = "sha256-WukTYi7iqagOLpx8KATEittlM6OvIfxDYiNTdsotjTY="; 18 18 }; 19 19 20 20 vendorHash = "sha256-Ev0/CSpwJDmc+Dvu/bFDzsgsq80rWImJWXNAUqYHgoE=";
+8 -2
pkgs/tools/typesetting/tex/advi/default.nix
··· 34 34 pname = "advi"; 35 35 version = "2.0.0"; 36 36 37 - useDune2 = true; 38 - 39 37 minimalOCamlVersion = "4.11"; 40 38 41 39 src = fetchurl { 42 40 url = "http://advi.inria.fr/advi-${version}.tar.gz"; 43 41 hash = "sha256-c0DQHlvdekJyXCxmR4+Ut/njtoCzmqX6hNazNv8PpBQ="; 44 42 }; 43 + 44 + postPatch = '' 45 + substituteInPlace ./Makefile \ 46 + --replace "\$(DUNE) install \$(DUNEROOT) --display=short" \ 47 + "\$(DUNE) install \$(DUNEROOT) --prefix $out --docdir $out/share/doc --mandir $out/share/man" 48 + ''; 49 + 50 + duneVersion = "3"; 45 51 46 52 nativeBuildInputs = [ fake-opam kpsexpand makeWrapper texlive.combined.scheme-medium which ]; 47 53 buildInputs = with ocamlPackages; [ camlimages ghostscriptX graphics ];
+8 -5
pkgs/top-level/all-packages.nix
··· 2575 2575 2576 2576 microcom = callPackage ../applications/terminal-emulators/microcom { }; 2577 2577 2578 - mlterm = darwin.apple_sdk_11_0.callPackage ../applications/terminal-emulators/mlterm { 2579 - inherit (darwin.apple_sdk_11_0.frameworks) Cocoa; 2578 + mlterm = darwin.apple_sdk_11_0.callPackage ../applications/terminal-emulators/mlterm { }; 2579 + mlterm-wayland = mlterm.override { 2580 + enableX11 = false; 2580 2581 }; 2581 2582 2582 2583 mrxvt = callPackage ../applications/terminal-emulators/mrxvt { }; ··· 10264 10263 inherit (callPackage ../servers/nextcloud {}) 10265 10264 nextcloud24 nextcloud25 nextcloud26; 10266 10265 10267 - nextcloud24Packages = ( callPackage ../servers/nextcloud/packages { 10268 - apps = lib.importJSON ../servers/nextcloud/packages/24.json; 10269 - }); 10266 + nextcloud24Packages = throw "Nextcloud24 is EOL!"; 10270 10267 nextcloud25Packages = ( callPackage ../servers/nextcloud/packages { 10271 10268 apps = lib.importJSON ../servers/nextcloud/packages/25.json; 10272 10269 }); ··· 17298 17299 ccls = callPackage ../development/tools/language-servers/ccls { 17299 17300 llvmPackages = llvmPackages_latest; 17300 17301 }; 17302 + 17303 + docker-compose-language-service = callPackage ../development/tools/language-servers/docker-compose-language-service { }; 17301 17304 17302 17305 dot-language-server = callPackage ../development/tools/language-servers/dot-language-server { }; 17303 17306 ··· 30895 30894 mt32emu-smf2wav = callPackage ../applications/audio/munt/mt32emu-smf2wav.nix { }; 30896 30895 30897 30896 offpunk = callPackage ../applications/networking/browsers/offpunk { }; 30897 + 30898 + owl-compositor = callPackage ../applications/window-managers/owl { }; 30898 30899 30899 30900 p2pool = callPackage ../applications/misc/p2pool { }; 30900 30901