diff --git a/.github/labeler.yml b/.github/labeler.yml index 4e3fe4160dd6..eca2a2527037 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -380,7 +380,7 @@ - any-glob-to-any-file: - pkgs/applications/editors/vscode/**/* -"6.topic: xen": +"6.topic: xen-project": - any: - changed-files: - any-glob-to-any-file: diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 7ad008549ac8..fd20bc373856 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -1016,6 +1016,12 @@ githubId = 50754358; name = "Alex Winter"; }; + alfarel = { + email = "alfarelcynthesis@proton.me"; + github = "alfarelcynthesis"; + githubId = 104072649; + name = "Cynth"; + }; algram = { email = "aliasgram@gmail.com"; github = "Algram"; @@ -8357,6 +8363,12 @@ githubId = 287769; name = "Sergii Paryzhskyi"; }; + hehongbo = { + name = "Hongbo"; + github = "hehongbo"; + githubId = 665472; + matrix = "@hehongbo:matrix.org"; + }; heijligen = { email = "src@posteo.de"; github = "heijligen"; @@ -9371,6 +9383,13 @@ github = "jacbart"; githubId = 7909687; }; + jacekpoz = { + name = "Jacek Poziemski"; + email = "jacekpoz@proton.me"; + matrix = "@jacekpoz:jacekpoz.pl"; + github = "jacekpoz"; + githubId = 64381190; + }; jacfal = { name = "Jakub Pravda"; email = "me@jakubpravda.net"; @@ -17472,6 +17491,12 @@ githubId = 5653911; name = "Rampoina"; }; + rane = { + email = "rane+nix@junkyard.systems"; + github = "digitalrane"; + githubId = 1829286; + name = "Rane"; + }; ranfdev = { email = "ranfdev@gmail.com"; name = "Lorenzo Miglietta"; @@ -22605,6 +22630,12 @@ githubId = 24979302; name = "Vladimír Zahradník"; }; + wgunderwood = { + email = "wg.underwood13@gmail.com"; + github = "WGUNDERWOOD"; + githubId = 42812654; + name = "William Underwood"; + }; wheelsandmetal = { email = "jakob@schmutz.co.uk"; github = "wheelsandmetal"; diff --git a/maintainers/team-list.nix b/maintainers/team-list.nix index e75a2850f2dc..546c944e0c53 100644 --- a/maintainers/team-list.nix +++ b/maintainers/team-list.nix @@ -1022,6 +1022,19 @@ with lib.maintainers; shortName = "WDZ GmbH"; }; + xen = { + members = [ + hehongbo + lach + rane + sigmasquadron + ]; + scope = "Maintain the Xen Project Hypervisor and the related tooling ecosystem."; + shortName = "Xen Project Hypervisor"; + enableFeatureFreezePing = true; + githubTeams = [ "xen-project" ]; + }; + xfce = { members = [ bobby285271 diff --git a/nixos/doc/manual/release-notes/rl-2411.section.md b/nixos/doc/manual/release-notes/rl-2411.section.md index 66afb6a47be0..ced4c591e712 100644 --- a/nixos/doc/manual/release-notes/rl-2411.section.md +++ b/nixos/doc/manual/release-notes/rl-2411.section.md @@ -49,13 +49,13 @@ - Support for mounting filesystems from block devices protected with [dm-verity](https://docs.kernel.org/admin-guide/device-mapper/verity.html) was added through the `boot.initrd.systemd.dmVerity` option. -- The [Xen Hypervisor](https://xenproject.org) is once again available as a virtualisation option under [`virtualisation.xen`](#opt-virtualisation.xen.enable). +- The [Xen Project Hypervisor](https://xenproject.org) is once again available as a virtualisation option under [`virtualisation.xen`](#opt-virtualisation.xen.enable). - This release includes Xen [4.17.5](https://wiki.xenproject.org/wiki/Xen_Project_4.17_Release_Notes), [4.18.3](https://wiki.xenproject.org/wiki/Xen_Project_4.18_Release_Notes) and [4.19.0](https://wiki.xenproject.org/wiki/Xen_Project_4.19_Release_Notes), as well as support for booting the hypervisor on EFI systems. ::: {.warning} - Booting into Xen through a legacy BIOS bootloader or with the legacy script-based Stage 1 initrd have been **deprecated**. Only EFI booting and the new systemd-based Stage 1 initrd are supported. + Booting into the Xen Project Hypervisor through a legacy BIOS bootloader or with the legacy script-based Stage 1 initrd have been **deprecated**. Only EFI booting and the new systemd-based Stage 1 initrd are supported. ::: - There are two flavours of Xen available by default: `xen`, which includes all built-in components, and `xen-slim`, which replaces the built-in components with their Nixpkgs equivalents. - - The `qemu-xen-traditional` component has been deprecated by upstream Xen, and is no longer available in any of the Xen packages. + - The `qemu-xen-traditional` component has been deprecated by the upstream Xen Project, and is no longer available in any of the Xen Project Hypervisor packages. - The OCaml-based Xen Store can now be configured using [`virtualisation.xen.store.settings`](#opt-virtualisation.xen.store.settings). - The `virtualisation.xen.bridge` options have been deprecated in this release cycle. Users who need network bridges are encouraged to set up their own networking configurations. @@ -155,6 +155,8 @@ - [Immich](https://github.com/immich-app/immich), a self-hosted photo and video backup solution. Available as [services.immich](#opt-services.immich.enable). +- [obs-studio](https://obsproject.com/), Free and open source software for video recording and live streaming. Available as [programs.obs-studio.enable](#opt-programs.obs-studio.enable). + ## Backward Incompatibilities {#sec-release-24.11-incompatibilities} - The `sound` options have been removed or renamed, as they had a lot of unintended side effects. See [below](#sec-release-24.11-migration-sound) for details. diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 7f6fa1c8e73b..5d80f23dd23b 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -259,6 +259,7 @@ ./programs/oblogout.nix ./programs/oddjobd.nix ./programs/openvpn3.nix + ./programs/obs-studio.nix ./programs/partition-manager.nix ./programs/plotinus.nix ./programs/pqos-wrapper.nix diff --git a/nixos/modules/programs/obs-studio.nix b/nixos/modules/programs/obs-studio.nix new file mode 100644 index 000000000000..ee9ec520d1fb --- /dev/null +++ b/nixos/modules/programs/obs-studio.nix @@ -0,0 +1,64 @@ +{ + pkgs, + lib, + config, + ... +}: + +let + cfg = config.programs.obs-studio; +in +{ + options.programs.obs-studio = { + enable = lib.mkEnableOption "Free and open source software for video recording and live streaming"; + + package = lib.mkPackageOption pkgs "obs-studio" { example = "obs-studio"; }; + + finalPackage = lib.mkOption { + type = lib.types.package; + visible = false; + readOnly = true; + description = "Resulting customized OBS Studio package."; + }; + + plugins = lib.mkOption { + default = [ ]; + example = lib.literalExpression "[ pkgs.obs-studio-plugins.wlrobs ]"; + description = "Optional OBS plugins."; + type = lib.types.listOf lib.types.package; + }; + + enableVirtualCamera = lib.mkOption { + type = lib.types.bool; + default = false; + description = '' + Installs and sets up the v4l2loopback kernel module, necessary for OBS + to start a virtual camera. + ''; + }; + }; + + config = lib.mkIf cfg.enable { + programs.obs-studio.finalPackage = pkgs.wrapOBS.override { obs-studio = cfg.package; } { + plugins = cfg.plugins; + }; + + environment.systemPackages = [ cfg.finalPackage ]; + + boot = lib.mkIf cfg.enableVirtualCamera { + kernelModules = [ "v4l2loopback" ]; + extraModulePackages = [ config.boot.kernelPackages.v4l2loopback ]; + + extraModprobeConfig = '' + options v4l2loopback devices=1 video_nr=1 card_label="OBS Cam" exclusive_caps=1 + ''; + }; + + security.polkit.enable = lib.mkIf cfg.enableVirtualCamera true; + }; + + meta.maintainers = with lib.maintainers; [ + CaptainJawZ + GaetanLepage + ]; +} diff --git a/nixos/modules/services/misc/gitlab.nix b/nixos/modules/services/misc/gitlab.nix index 9fd6014f2c71..ecbc087f739f 100644 --- a/nixos/modules/services/misc/gitlab.nix +++ b/nixos/modules/services/misc/gitlab.nix @@ -1127,6 +1127,11 @@ in { environment.systemPackages = [ gitlab-rake gitlab-rails cfg.packages.gitlab-shell ]; + systemd.slices.system-gitlab = { + description = "GitLab DevOps Platform Slice"; + documentation = [ "https://docs.gitlab.com/" ]; + }; + systemd.targets.gitlab = { description = "Common target for all GitLab services."; wantedBy = [ "multi-user.target" ]; @@ -1197,6 +1202,7 @@ in { ''; serviceConfig = { + Slice = "system-gitlab.slice"; User = pgsql.superUser; Type = "oneshot"; RemainAfterExit = true; @@ -1220,6 +1226,9 @@ in { unitConfig = { ConditionPathExists = "!${cfg.registry.certFile}"; }; + serviceConfig = { + Slice = "system-gitlab.slice"; + }; }; # Ensure Docker Registry launches after the certificate generation job @@ -1308,6 +1317,7 @@ in { TimeoutSec = "infinity"; Restart = "on-failure"; WorkingDirectory = "${cfg.packages.gitlab}/share/gitlab"; + Slice = "system-gitlab.slice"; RemainAfterExit = true; ExecStartPre = let @@ -1424,6 +1434,7 @@ in { TimeoutSec = "infinity"; Restart = "on-failure"; WorkingDirectory = "${cfg.packages.gitlab}/share/gitlab"; + Slice = "system-gitlab.slice"; RemainAfterExit = true; ExecStart = pkgs.writeShellScript "gitlab-db-config" '' @@ -1480,6 +1491,7 @@ in { TimeoutSec = "infinity"; Restart = "always"; WorkingDirectory = "${cfg.packages.gitlab}/share/gitlab"; + Slice = "system-gitlab.slice"; ExecStart = utils.escapeSystemdExecArgs ( [ "${cfg.packages.gitlab}/share/gitlab/bin/sidekiq-cluster" @@ -1512,6 +1524,7 @@ in { Restart = "on-failure"; WorkingDirectory = gitlabEnv.HOME; RuntimeDirectory = "gitaly"; + Slice = "system-gitlab.slice"; ExecStart = "${cfg.packages.gitaly}/bin/gitaly ${gitalyToml}"; }; }; @@ -1573,6 +1586,7 @@ in { WorkingDirectory = gitlabEnv.HOME; RuntimeDirectory = "gitlab-pages"; RuntimeDirectoryMode = "0700"; + Slice = "system-gitlab.slice"; }; }; @@ -1596,6 +1610,7 @@ in { TimeoutSec = "infinity"; Restart = "on-failure"; WorkingDirectory = gitlabEnv.HOME; + Slice = "system-gitlab.slice"; ExecStartPre = pkgs.writeShellScript "gitlab-workhorse-pre-start" '' set -o errexit -o pipefail -o nounset shopt -s dotglob nullglob inherit_errexit @@ -1637,6 +1652,7 @@ in { Group = cfg.group; ExecStart = "${cfg.packages.gitlab.rubyEnv}/bin/bundle exec mail_room -c ${cfg.statePath}/config/mail_room.yml"; WorkingDirectory = gitlabEnv.HOME; + Slice = "system-gitlab.slice"; }; }; @@ -1671,6 +1687,7 @@ in { TimeoutSec = "infinity"; Restart = "on-failure"; WorkingDirectory = "${cfg.packages.gitlab}/share/gitlab"; + Slice = "system-gitlab.slice"; ExecStart = concatStringsSep " " [ "${cfg.packages.gitlab.rubyEnv}/bin/bundle" "exec" "puma" "-e production" @@ -1695,6 +1712,7 @@ in { serviceConfig = { User = cfg.user; Group = cfg.group; + Slice = "system-gitlab.slice"; ExecStart = "${gitlab-rake}/bin/gitlab-rake gitlab:backup:create"; }; }; diff --git a/nixos/modules/services/networking/pleroma.nix b/nixos/modules/services/networking/pleroma.nix index a152b72143da..01baa58879da 100644 --- a/nixos/modules/services/networking/pleroma.nix +++ b/nixos/modules/services/networking/pleroma.nix @@ -1,7 +1,13 @@ -{ config, options, lib, pkgs, stdenv, ... }: +{ + config, + lib, + pkgs, + ... +}: let cfg = config.services.pleroma; -in { +in +{ options = { services.pleroma = with lib; { enable = mkEnableOption "pleroma"; @@ -48,7 +54,7 @@ in { Have a look to Pleroma section in the NixOS manual for more information. - ''; + ''; }; secretConfigFile = mkOption { @@ -73,7 +79,7 @@ in { group = cfg.group; isSystemUser = true; }; - groups."${cfg.group}" = {}; + groups."${cfg.group}" = { }; }; environment.systemPackages = [ cfg.package ]; @@ -90,57 +96,79 @@ in { import_config "${cfg.secretConfigFile}" ''; - systemd.services.pleroma = { - description = "Pleroma social network"; - wants = [ "network-online.target" ]; - after = [ "network-online.target" "postgresql.service" ]; - wantedBy = [ "multi-user.target" ]; - restartTriggers = [ config.environment.etc."/pleroma/config.exs".source ]; - environment.RELEASE_COOKIE = "/var/lib/pleroma/.cookie"; - serviceConfig = { - User = cfg.user; - Group = cfg.group; - Type = "exec"; - WorkingDirectory = "~"; - StateDirectory = "pleroma pleroma/static pleroma/uploads"; - StateDirectoryMode = "700"; + systemd.services = + let + commonSystemdServiceConfig = { + User = cfg.user; + Group = cfg.group; + WorkingDirectory = "~"; + StateDirectory = "pleroma pleroma/static pleroma/uploads"; + StateDirectoryMode = "700"; + # Systemd sandboxing directives. + # Taken from the upstream contrib systemd service at + # pleroma/installation/pleroma.service + PrivateTmp = true; + ProtectHome = true; + ProtectSystem = "full"; + PrivateDevices = false; + NoNewPrivileges = true; + CapabilityBoundingSet = "~CAP_SYS_ADMIN"; + }; - # Checking the conf file is there then running the database - # migration before each service start, just in case there are - # some pending ones. - # - # It's sub-optimal as we'll always run this, even if pleroma - # has not been updated. But the no-op process is pretty fast. - # Better be safe than sorry migration-wise. - ExecStartPre = - let preScript = pkgs.writers.writeBashBin "pleromaStartPre" '' - if [ ! -f /var/lib/pleroma/.cookie ] - then - echo "Creating cookie file" - dd if=/dev/urandom bs=1 count=16 | hexdump -e '16/1 "%02x"' > /var/lib/pleroma/.cookie - fi - ${cfg.package}/bin/pleroma_ctl migrate - ''; - in "${preScript}/bin/pleromaStartPre"; + in + { + pleroma-migrations = { + description = "Pleroma social network migrations"; + wants = [ "network-online.target" ]; + after = [ + "network-online.target" + "postgresql.service" + ]; + wantedBy = [ "pleroma.service" ]; + environment.RELEASE_COOKIE = "/var/lib/pleroma/.cookie"; + serviceConfig = commonSystemdServiceConfig // { + Type = "oneshot"; + # Checking the conf file is there then running the database + # migration before each service start, just in case there are + # some pending ones. + # + # It's sub-optimal as we'll always run this, even if pleroma + # has not been updated. But the no-op process is pretty fast. + # Better be safe than sorry migration-wise. + ExecStart = + let + preScript = pkgs.writers.writeBashBin "pleroma-migrations" '' + if [ ! -f /var/lib/pleroma/.cookie ] + then + echo "Creating cookie file" + dd if=/dev/urandom bs=1 count=16 | hexdump -e '16/1 "%02x"' > /var/lib/pleroma/.cookie + fi + ${cfg.package}/bin/pleroma_ctl migrate + ''; + in + "${preScript}/bin/pleroma-migrations"; + }; + # disksup requires bash + path = [ pkgs.bash ]; + }; - ExecStart = "${cfg.package}/bin/pleroma start"; - ExecStop = "${cfg.package}/bin/pleroma stop"; - ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; - - # Systemd sandboxing directives. - # Taken from the upstream contrib systemd service at - # pleroma/installation/pleroma.service - PrivateTmp = true; - ProtectHome = true; - ProtectSystem = "full"; - PrivateDevices = false; - NoNewPrivileges = true; - CapabilityBoundingSet = "~CAP_SYS_ADMIN"; + pleroma = { + description = "Pleroma social network"; + wants = [ "pleroma-migrations.service" ]; + after = [ "pleroma-migrations.service" ]; + wantedBy = [ "multi-user.target" ]; + restartTriggers = [ config.environment.etc."/pleroma/config.exs".source ]; + environment.RELEASE_COOKIE = "/var/lib/pleroma/.cookie"; + serviceConfig = commonSystemdServiceConfig // { + Type = "exec"; + ExecStart = "${cfg.package}/bin/pleroma start"; + ExecStop = "${cfg.package}/bin/pleroma stop"; + ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; + }; + # disksup requires bash + path = [ pkgs.bash ]; + }; }; - # disksup requires bash - path = [ pkgs.bash ]; - }; - }; meta.maintainers = with lib.maintainers; [ picnoir ]; meta.doc = ./pleroma.md; diff --git a/nixos/modules/services/networking/tailscale.nix b/nixos/modules/services/networking/tailscale.nix index 6804165cd8c2..859da5be81dd 100644 --- a/nixos/modules/services/networking/tailscale.nix +++ b/nixos/modules/services/networking/tailscale.nix @@ -115,8 +115,10 @@ in { environment.systemPackages = [ cfg.package ]; # for the CLI systemd.packages = [ cfg.package ]; systemd.services.tailscaled = { + after = lib.mkIf (config.networking.networkmanager.enable) [ "NetworkManager-wait-online.service" ]; wantedBy = [ "multi-user.target" ]; path = [ + (builtins.dirOf config.security.wrapperDir) # for `su` to use taildrive with correct access rights pkgs.procps # for collecting running services (opt-in feature) pkgs.getent # for `getent` to look up user shells pkgs.kmod # required to pass tailscale's v6nat check diff --git a/nixos/modules/services/web-apps/immich.nix b/nixos/modules/services/web-apps/immich.nix index ca6b6dd62413..c1a30c6ff2b3 100644 --- a/nixos/modules/services/web-apps/immich.nix +++ b/nixos/modules/services/web-apps/immich.nix @@ -148,6 +148,11 @@ in example = "127.0.0.1"; description = "Hostname or address of the postgresql server. If an absolute path is given here, it will be interpreted as a unix socket path."; }; + port = mkOption { + type = types.port; + default = 5432; + description = "Port of the postgresql server."; + }; user = mkOption { type = types.str; default = "immich"; diff --git a/nixos/modules/tasks/filesystems/zfs.nix b/nixos/modules/tasks/filesystems/zfs.nix index 1bcfd6ccba93..03b67438d7b6 100644 --- a/nixos/modules/tasks/filesystems/zfs.nix +++ b/nixos/modules/tasks/filesystems/zfs.nix @@ -1,14 +1,10 @@ -{ config, lib, options, pkgs, utils, ... }: +{ config, lib, pkgs, utils, ... }: # # TODO: zfs tunables -with utils; -with lib; - let cfgZfs = config.boot.zfs; - optZfs = options.boot.zfs; cfgExpandOnBoot = config.services.zfs.expandOnBoot; cfgSnapshots = config.services.zfs.autoSnapshot; cfgSnapFlags = cfgSnapshots.flags; @@ -17,7 +13,7 @@ let cfgZED = config.services.zfs.zed; selectModulePackage = package: config.boot.kernelPackages.${package.kernelModuleAttribute}; - clevisDatasets = attrNames (filterAttrs (device: _: any (e: e.fsType == "zfs" && (fsNeededForBoot e) && (e.device == device || hasPrefix "${device}/" e.device)) config.system.build.fileSystems) config.boot.initrd.clevis.devices); + clevisDatasets = lib.attrNames (lib.filterAttrs (device: _: lib.any (e: e.fsType == "zfs" && (utils.fsNeededForBoot e) && (e.device == device || lib.hasPrefix "${device}/" e.device)) config.system.build.fileSystems) config.boot.initrd.clevis.devices); inInitrd = config.boot.initrd.supportedFilesystems.zfs or false; inSystem = config.boot.supportedFilesystems.zfs or false; @@ -28,17 +24,17 @@ let zfsAutoSnap = "${autosnapPkg}/bin/zfs-auto-snapshot"; - datasetToPool = x: elemAt (splitString "/" x) 0; + datasetToPool = x: lib.elemAt (lib.splitString "/" x) 0; fsToPool = fs: datasetToPool fs.device; - zfsFilesystems = filter (x: x.fsType == "zfs") config.system.build.fileSystems; + zfsFilesystems = lib.filter (x: x.fsType == "zfs") config.system.build.fileSystems; - allPools = unique ((map fsToPool zfsFilesystems) ++ cfgZfs.extraPools); + allPools = lib.unique ((map fsToPool zfsFilesystems) ++ cfgZfs.extraPools); - rootPools = unique (map fsToPool (filter fsNeededForBoot zfsFilesystems)); + rootPools = lib.unique (map fsToPool (lib.filter utils.fsNeededForBoot zfsFilesystems)); - dataPools = unique (filter (pool: !(elem pool rootPools)) allPools); + dataPools = lib.unique (lib.filter (pool: !(lib.elem pool rootPools)) allPools); snapshotNames = [ "frequent" "hourly" "daily" "weekly" "monthly" ]; @@ -89,7 +85,7 @@ let ''; getPoolFilesystems = pool: - filter (x: x.fsType == "zfs" && (fsToPool x) == pool) config.system.build.fileSystems; + lib.filter (x: x.fsType == "zfs" && (fsToPool x) == pool) config.system.build.fileSystems; getPoolMounts = prefix: pool: let @@ -98,36 +94,36 @@ let # Remove the "/" suffix because even though most mountpoints # won't have it, the "/" mountpoint will, and we can't have the # trailing slash in "/sysroot/" in stage 1. - mountPoint = fs: escapeSystemdPath (prefix + (lib.removeSuffix "/" fs.mountPoint)); + mountPoint = fs: utils.escapeSystemdPath (prefix + (lib.removeSuffix "/" fs.mountPoint)); hasUsr = lib.any (fs: fs.mountPoint == "/usr") poolFSes; in map (x: "${mountPoint x}.mount") poolFSes ++ lib.optional hasUsr "sysusr-usr.mount"; - getKeyLocations = pool: if isBool cfgZfs.requestEncryptionCredentials then { + getKeyLocations = pool: if lib.isBool cfgZfs.requestEncryptionCredentials then { hasKeys = cfgZfs.requestEncryptionCredentials; command = "${cfgZfs.package}/sbin/zfs list -rHo name,keylocation,keystatus -t volume,filesystem ${pool}"; } else let - keys = filter (x: datasetToPool x == pool) cfgZfs.requestEncryptionCredentials; + keys = lib.filter (x: datasetToPool x == pool) cfgZfs.requestEncryptionCredentials; in { hasKeys = keys != []; command = "${cfgZfs.package}/sbin/zfs list -Ho name,keylocation,keystatus -t volume,filesystem ${toString keys}"; }; createImportService = { pool, systemd, force, prefix ? "" }: - nameValuePair "zfs-import-${pool}" { + lib.nameValuePair "zfs-import-${pool}" { description = "Import ZFS pool \"${pool}\""; # We wait for systemd-udev-settle to ensure devices are available, # but don't *require* it, because mounts shouldn't be killed if it's stopped. # In the future, hopefully someone will complete this: # https://github.com/zfsonlinux/zfs/pull/4943 - wants = [ "systemd-udev-settle.service" ] ++ optional (config.boot.initrd.clevis.useTang) "network-online.target"; + wants = [ "systemd-udev-settle.service" ] ++ lib.optional (config.boot.initrd.clevis.useTang) "network-online.target"; after = [ "systemd-udev-settle.service" "systemd-modules-load.service" "systemd-ask-password-console.service" - ] ++ optional (config.boot.initrd.clevis.useTang) "network-online.target"; + ] ++ lib.optional (config.boot.initrd.clevis.useTang) "network-online.target"; requiredBy = getPoolMounts prefix pool ++ [ "zfs-import.target" ]; before = getPoolMounts prefix pool ++ [ "shutdown.target" "zfs-import.target" ]; conflicts = [ "shutdown.target" ]; @@ -138,7 +134,7 @@ let Type = "oneshot"; RemainAfterExit = true; }; - environment.ZFS_FORCE = optionalString force "-f"; + environment.ZFS_FORCE = lib.optionalString force "-f"; script = let keyLocations = getKeyLocations pool; in (importLib { @@ -157,10 +153,10 @@ let poolImported "${pool}" || poolImport "${pool}" # Try one last time, e.g. to import a degraded pool. fi if poolImported "${pool}"; then - ${optionalString config.boot.initrd.clevis.enable (concatMapStringsSep "\n" (elem: "clevis decrypt < /etc/clevis/${elem}.jwe | zfs load-key ${elem} || true ") (filter (p: (elemAt (splitString "/" p) 0) == pool) clevisDatasets))} + ${lib.optionalString config.boot.initrd.clevis.enable (lib.concatMapStringsSep "\n" (elem: "clevis decrypt < /etc/clevis/${elem}.jwe | zfs load-key ${elem} || true ") (lib.filter (p: (lib.elemAt (lib.splitString "/" p) 0) == pool) clevisDatasets))} - ${optionalString keyLocations.hasKeys '' + ${lib.optionalString keyLocations.hasKeys '' ${keyLocations.command} | while IFS=$'\t' read ds kl ks; do { if [[ "$ks" != unavailable ]]; then @@ -193,15 +189,15 @@ let ''; }; - zedConf = generators.toKeyValue { - mkKeyValue = generators.mkKeyValueDefault { + zedConf = lib.generators.toKeyValue { + mkKeyValue = lib.generators.mkKeyValueDefault { mkValueString = v: - if isInt v then toString v - else if isString v then "\"${v}\"" + if lib.isInt v then toString v + else if lib.isString v then "\"${v}\"" else if true == v then "1" else if false == v then "0" - else if isList v then "\"" + (concatStringsSep " " v) + "\"" - else err "this value is" (toString v); + else if lib.isList v then "\"" + (lib.concatStringsSep " " v) + "\"" + else lib.err "this value is" (toString v); } "="; } cfgZED.settings; in @@ -209,38 +205,38 @@ in { imports = [ - (mkRemovedOptionModule [ "boot" "zfs" "enableLegacyCrypto" ] "The corresponding package was removed from nixpkgs.") - (mkRemovedOptionModule [ "boot" "zfs" "enableUnstable" ] "Instead set `boot.zfs.package = pkgs.zfs_unstable;`") + (lib.mkRemovedOptionModule [ "boot" "zfs" "enableLegacyCrypto" ] "The corresponding package was removed from nixpkgs.") + (lib.mkRemovedOptionModule [ "boot" "zfs" "enableUnstable" ] "Instead set `boot.zfs.package = pkgs.zfs_unstable;`") ]; ###### interface options = { boot.zfs = { - package = mkOption { - type = types.package; + package = lib.mkOption { + type = lib.types.package; default = pkgs.zfs; - defaultText = literalExpression "pkgs.zfs"; + defaultText = lib.literalExpression "pkgs.zfs"; description = "Configured ZFS userland tools package, use `pkgs.zfs_unstable` if you want to track the latest staging ZFS branch."; }; - modulePackage = mkOption { + modulePackage = lib.mkOption { internal = true; # It is supposed to be selected automatically, but can be overridden by expert users. default = selectModulePackage cfgZfs.package; - type = types.package; + type = lib.types.package; description = "Configured ZFS kernel module package."; }; - enabled = mkOption { + enabled = lib.mkOption { readOnly = true; - type = types.bool; + type = lib.types.bool; default = inInitrd || inSystem; - defaultText = literalMD "`true` if ZFS filesystem support is enabled"; + defaultText = lib.literalMD "`true` if ZFS filesystem support is enabled"; description = "True if ZFS filesystem support is enabled"; }; - allowHibernation = mkOption { - type = types.bool; + allowHibernation = lib.mkOption { + type = lib.types.bool; default = false; description = '' Allow hibernation support, this may be a unsafe option depending on your @@ -248,8 +244,8 @@ in ''; }; - extraPools = mkOption { - type = types.listOf types.str; + extraPools = lib.mkOption { + type = lib.types.listOf lib.types.str; default = []; example = [ "tank" "data" ]; description = '' @@ -267,8 +263,8 @@ in ''; }; - devNodes = mkOption { - type = types.path; + devNodes = lib.mkOption { + type = lib.types.path; default = "/dev/disk/by-id"; description = '' Name of directory from which to import ZFS devices. @@ -278,8 +274,8 @@ in ''; }; - forceImportRoot = mkOption { - type = types.bool; + forceImportRoot = lib.mkOption { + type = lib.types.bool; default = true; description = '' Forcibly import the ZFS root pool(s) during early boot. @@ -296,8 +292,8 @@ in ''; }; - forceImportAll = mkOption { - type = types.bool; + forceImportAll = lib.mkOption { + type = lib.types.bool; default = false; description = '' Forcibly import all ZFS pool(s). @@ -309,8 +305,8 @@ in ''; }; - requestEncryptionCredentials = mkOption { - type = types.either types.bool (types.listOf types.str); + requestEncryptionCredentials = lib.mkOption { + type = lib.types.either lib.types.bool (lib.types.listOf lib.types.str); default = true; example = [ "tank" "data" ]; description = '' @@ -321,8 +317,8 @@ in ''; }; - passwordTimeout = mkOption { - type = types.int; + passwordTimeout = lib.mkOption { + type = lib.types.int; default = 0; description = '' Timeout in seconds to wait for password entry for decrypt at boot. @@ -332,7 +328,7 @@ in }; removeLinuxDRM = lib.mkOption { - type = types.bool; + type = lib.types.bool; default = false; description = '' Patch the kernel to change symbols needed by ZFS from @@ -345,9 +341,9 @@ in }; services.zfs.autoSnapshot = { - enable = mkOption { + enable = lib.mkOption { default = false; - type = types.bool; + type = lib.types.bool; description = '' Enable the (OpenSolaris-compatible) ZFS auto-snapshotting service. Note that you must set the `com.sun:auto-snapshot` @@ -360,10 +356,10 @@ in ''; }; - flags = mkOption { + flags = lib.mkOption { default = "-k -p"; example = "-k -p --utc"; - type = types.str; + type = lib.types.str; description = '' Flags to pass to the zfs-auto-snapshot command. @@ -379,41 +375,41 @@ in ''; }; - frequent = mkOption { + frequent = lib.mkOption { default = 4; - type = types.int; + type = lib.types.int; description = '' Number of frequent (15-minute) auto-snapshots that you wish to keep. ''; }; - hourly = mkOption { + hourly = lib.mkOption { default = 24; - type = types.int; + type = lib.types.int; description = '' Number of hourly auto-snapshots that you wish to keep. ''; }; - daily = mkOption { + daily = lib.mkOption { default = 7; - type = types.int; + type = lib.types.int; description = '' Number of daily auto-snapshots that you wish to keep. ''; }; - weekly = mkOption { + weekly = lib.mkOption { default = 4; - type = types.int; + type = lib.types.int; description = '' Number of weekly auto-snapshots that you wish to keep. ''; }; - monthly = mkOption { + monthly = lib.mkOption { default = 12; - type = types.int; + type = lib.types.int; description = '' Number of monthly auto-snapshots that you wish to keep. ''; @@ -421,16 +417,16 @@ in }; services.zfs.trim = { - enable = mkOption { + enable = lib.mkOption { description = "Whether to enable periodic TRIM on all ZFS pools."; default = true; example = false; - type = types.bool; + type = lib.types.bool; }; - interval = mkOption { + interval = lib.mkOption { default = "weekly"; - type = types.str; + type = lib.types.str; example = "daily"; description = '' How often we run trim. For most desktop and server systems @@ -441,9 +437,9 @@ in ''; }; - randomizedDelaySec = mkOption { + randomizedDelaySec = lib.mkOption { default = "6h"; - type = types.str; + type = lib.types.str; example = "12h"; description = '' Add a randomized delay before each ZFS trim. @@ -455,11 +451,11 @@ in }; services.zfs.autoScrub = { - enable = mkEnableOption "periodic scrubbing of ZFS pools"; + enable = lib.mkEnableOption "periodic scrubbing of ZFS pools"; - interval = mkOption { + interval = lib.mkOption { default = "monthly"; - type = types.str; + type = lib.types.str; example = "quarterly"; description = '' Systemd calendar expression when to scrub ZFS pools. See @@ -467,9 +463,9 @@ in ''; }; - randomizedDelaySec = mkOption { + randomizedDelaySec = lib.mkOption { default = "6h"; - type = types.str; + type = lib.types.str; example = "12h"; description = '' Add a randomized delay before each ZFS autoscrub. @@ -479,9 +475,9 @@ in ''; }; - pools = mkOption { + pools = lib.mkOption { default = []; - type = types.listOf types.str; + type = lib.types.listOf lib.types.str; example = [ "tank" ]; description = '' List of ZFS pools to periodically scrub. If empty, all pools @@ -490,8 +486,8 @@ in }; }; - services.zfs.expandOnBoot = mkOption { - type = types.either (types.enum [ "disabled" "all" ]) (types.listOf types.str); + services.zfs.expandOnBoot = lib.mkOption { + type = lib.types.either (lib.types.enum [ "disabled" "all" ]) (lib.types.listOf lib.types.str); default = "disabled"; example = [ "tank" "dozer" ]; description = '' @@ -508,10 +504,10 @@ in }; services.zfs.zed = { - enableMail = mkOption { - type = types.bool; + enableMail = lib.mkOption { + type = lib.types.bool; default = config.services.mail.sendmailSetuidWrapper != null; - defaultText = literalExpression '' + defaultText = lib.literalExpression '' config.services.mail.sendmailSetuidWrapper != null ''; description = '' @@ -519,9 +515,9 @@ in ''; }; - settings = mkOption { - type = with types; attrsOf (oneOf [ str int bool (listOf str) ]); - example = literalExpression '' + settings = lib.mkOption { + type = let t = lib.types; in t.attrsOf (t.oneOf [ t.str t.int t.bool (t.listOf t.str) ]); + example = lib.literalExpression '' { ZED_DEBUG_LOG = "/tmp/zed.debug.log"; @@ -549,8 +545,8 @@ in ###### implementation - config = mkMerge [ - (mkIf cfgZfs.enabled { + config = lib.mkMerge [ + (lib.mkIf cfgZfs.enabled { assertions = [ { assertion = cfgZfs.modulePackage.version == cfgZfs.package.version; @@ -569,7 +565,7 @@ in message = "boot.zfs.allowHibernation while force importing is enabled will cause data corruption"; } { - assertion = !(elem "" allPools); + assertion = !(lib.elem "" allPools); message = '' Automatic pool detection found an empty pool name, which can't be used. Hint: for `fileSystems` entries with `fsType = zfs`, the `device` attribute @@ -591,11 +587,10 @@ in ]; }; - boot.initrd = mkIf inInitrd { - # spl has been removed in ≥ 2.2.0. - kernelModules = [ "zfs" ] ++ lib.optional (lib.versionOlder "2.2.0" version) "spl"; + boot.initrd = lib.mkIf inInitrd { + kernelModules = [ "zfs" ]; extraUtilsCommands = - mkIf (!config.boot.initrd.systemd.enable) '' + lib.mkIf (!config.boot.initrd.systemd.enable) '' copy_bin_and_libs ${cfgZfs.package}/sbin/zfs copy_bin_and_libs ${cfgZfs.package}/sbin/zdb copy_bin_and_libs ${cfgZfs.package}/sbin/zpool @@ -603,12 +598,12 @@ in copy_bin_and_libs ${cfgZfs.package}/lib/udev/zvol_id ''; extraUtilsCommandsTest = - mkIf (!config.boot.initrd.systemd.enable) '' + lib.mkIf (!config.boot.initrd.systemd.enable) '' $out/bin/zfs --help >/dev/null 2>&1 $out/bin/zpool --help >/dev/null 2>&1 ''; - postResumeCommands = mkIf (!config.boot.initrd.systemd.enable) (concatStringsSep "\n" (['' - ZFS_FORCE="${optionalString cfgZfs.forceImportRoot "-f"}" + postResumeCommands = lib.mkIf (!config.boot.initrd.systemd.enable) (lib.concatStringsSep "\n" (['' + ZFS_FORCE="${lib.optionalString cfgZfs.forceImportRoot "-f"}" ''] ++ [(importLib { # See comments at importLib definition. zpoolCmd = "zpool"; @@ -630,21 +625,21 @@ in poolImported "${pool}" || poolImport "${pool}" # Try one last time, e.g. to import a degraded pool. fi - ${optionalString config.boot.initrd.clevis.enable (concatMapStringsSep "\n" (elem: "clevis decrypt < /etc/clevis/${elem}.jwe | zfs load-key ${elem}") (filter (p: (elemAt (splitString "/" p) 0) == pool) clevisDatasets))} + ${lib.optionalString config.boot.initrd.clevis.enable (lib.concatMapStringsSep "\n" (elem: "clevis decrypt < /etc/clevis/${elem}.jwe | zfs load-key ${elem}") (lib.filter (p: (lib.elemAt (lib.splitString "/" p) 0) == pool) clevisDatasets))} - ${if isBool cfgZfs.requestEncryptionCredentials - then optionalString cfgZfs.requestEncryptionCredentials '' + ${if lib.isBool cfgZfs.requestEncryptionCredentials + then lib.optionalString cfgZfs.requestEncryptionCredentials '' zfs load-key -a '' - else concatMapStrings (fs: '' - zfs load-key -- ${escapeShellArg fs} - '') (filter (x: datasetToPool x == pool) cfgZfs.requestEncryptionCredentials)} + else lib.concatMapStrings (fs: '' + zfs load-key -- ${lib.escapeShellArg fs} + '') (lib.filter (x: datasetToPool x == pool) cfgZfs.requestEncryptionCredentials)} '') rootPools))); # Systemd in stage 1 - systemd = mkIf config.boot.initrd.systemd.enable { + systemd = lib.mkIf config.boot.initrd.systemd.enable { packages = [cfgZfs.package]; - services = listToAttrs (map (pool: createImportService { + services = lib.listToAttrs (map (pool: createImportService { inherit pool; systemd = config.boot.initrd.systemd.package; force = cfgZfs.forceImportRoot; @@ -671,18 +666,18 @@ in systemd.shutdownRamfs.storePaths = ["${cfgZfs.package}/bin/zpool"]; # TODO FIXME See https://github.com/NixOS/nixpkgs/pull/99386#issuecomment-798813567. To not break people's bootloader and as probably not everybody would read release notes that thoroughly add inSystem. - boot.loader.grub = mkIf (inInitrd || inSystem) { + boot.loader.grub = lib.mkIf (inInitrd || inSystem) { zfsSupport = true; zfsPackage = cfgZfs.package; }; services.zfs.zed.settings = { - ZED_EMAIL_PROG = mkIf cfgZED.enableMail (mkDefault ( + ZED_EMAIL_PROG = lib.mkIf cfgZED.enableMail (lib.mkDefault ( config.security.wrapperDir + "/" + config.services.mail.sendmailSetuidWrapper.program )); # subject in header for sendmail - ZED_EMAIL_OPTS = mkIf cfgZED.enableMail (mkDefault "@ADDRESS@"); + ZED_EMAIL_OPTS = lib.mkIf cfgZED.enableMail (lib.mkDefault "@ADDRESS@"); PATH = lib.makeBinPath [ cfgZfs.package @@ -701,7 +696,7 @@ in ACTION=="add|change", KERNEL=="sd[a-z]*[0-9]*|mmcblk[0-9]*p[0-9]*|nvme[0-9]*n[0-9]*p[0-9]*", ENV{ID_FS_TYPE}=="zfs_member", ATTR{../queue/scheduler}="none" ''; - environment.etc = genAttrs + environment.etc = lib.genAttrs (map (file: "zfs/zed.d/${file}") [ @@ -726,7 +721,7 @@ in system.fsPackages = [ cfgZfs.package ]; # XXX: needed? zfs doesn't have (need) a fsck environment.systemPackages = [ cfgZfs.package ] - ++ optional cfgSnapshots.enable autosnapPkg; # so the user can run the command to see flags + ++ lib.optional cfgSnapshots.enable autosnapPkg; # so the user can run the command to see flags services.udev.packages = [ cfgZfs.package ]; # to hook zvol naming, etc. systemd.packages = [ cfgZfs.package ]; @@ -741,7 +736,7 @@ in # This forces a sync of any ZFS pools prior to poweroff, even if they're set # to sync=disabled. createSyncService = pool: - nameValuePair "zfs-sync-${pool}" { + lib.nameValuePair "zfs-sync-${pool}" { description = "Sync ZFS pool \"${pool}\""; wantedBy = [ "shutdown.target" ]; unitConfig = { @@ -757,12 +752,12 @@ in }; createZfsService = serv: - nameValuePair serv { + lib.nameValuePair serv { after = [ "systemd-modules-load.service" ]; wantedBy = [ "zfs.target" ]; }; - in listToAttrs (map createImportService' dataPools ++ + in lib.listToAttrs (map createImportService' dataPools ++ map createSyncService allPools ++ map createZfsService [ "zfs-mount" "zfs-share" "zfs-zed" ]); @@ -771,7 +766,7 @@ in systemd.targets.zfs.wantedBy = [ "multi-user.target" ]; }) - (mkIf (cfgZfs.enabled && cfgExpandOnBoot != "disabled") { + (lib.mkIf (cfgZfs.enabled && cfgExpandOnBoot != "disabled") { systemd.services."zpool-expand@" = { description = "Expand ZFS pools"; after = [ "zfs.target" ]; @@ -824,7 +819,7 @@ in }; }) - (mkIf (cfgZfs.enabled && cfgSnapshots.enable) { + (lib.mkIf (cfgZfs.enabled && cfgSnapshots.enable) { systemd.services = let descr = name: if name == "frequent" then "15 mins" else if name == "hourly" then "hour" @@ -862,7 +857,7 @@ in }) snapshotNames); }) - (mkIf (cfgZfs.enabled && cfgScrub.enable) { + (lib.mkIf (cfgZfs.enabled && cfgScrub.enable) { systemd.services.zfs-scrub = { description = "ZFS pools scrubbing"; after = [ "zfs-import.target" ]; @@ -872,7 +867,7 @@ in script = '' ${cfgZfs.package}/bin/zpool scrub -w ${ if cfgScrub.pools != [] then - (concatStringsSep " " cfgScrub.pools) + (lib.concatStringsSep " " cfgScrub.pools) else "$(${cfgZfs.package}/bin/zpool list -H -o name)" } @@ -890,7 +885,7 @@ in }; }) - (mkIf (cfgZfs.enabled && cfgTrim.enable) { + (lib.mkIf (cfgZfs.enabled && cfgTrim.enable) { systemd.services.zpool-trim = { description = "ZFS pools trim"; after = [ "zfs-import.target" ]; diff --git a/nixos/modules/virtualisation/xe-guest-utilities.nix b/nixos/modules/virtualisation/xe-guest-utilities.nix index 9bc68c0a3d7d..14dd25e878cf 100644 --- a/nixos/modules/virtualisation/xe-guest-utilities.nix +++ b/nixos/modules/virtualisation/xe-guest-utilities.nix @@ -4,7 +4,7 @@ let in { options = { services.xe-guest-utilities = { - enable = lib.mkEnableOption "the Xen guest utilities daemon"; + enable = lib.mkEnableOption "the XenServer guest utilities daemon"; }; }; config = lib.mkIf cfg.enable { diff --git a/nixos/modules/virtualisation/xen-boot-builder.sh b/nixos/modules/virtualisation/xen-boot-builder.sh index 13e1a4e20243..1b7c1470f6eb 100755 --- a/nixos/modules/virtualisation/xen-boot-builder.sh +++ b/nixos/modules/virtualisation/xen-boot-builder.sh @@ -5,7 +5,7 @@ [[ $# -ne 1 ]] && echo -e "\e[1;31merror:\e[0m xenBootBuilder must be called with exactly one verbosity argument. See the \e[1;34mvirtualisation.xen.efi.bootBuilderVerbosity\e[0m option." && exit 1 case "$1" in "quiet") true ;; - "default" | "info") echo -n "Installing Xen Hypervisor boot entries..." ;; + "default" | "info") echo -n "Installing Xen Project Hypervisor boot entries..." ;; "debug") echo -e "\e[1;34mxenBootBuilder:\e[0m called with the '$1' flag" ;; *) echo -e "\e[1;31merror:\e[0m xenBootBuilder was called with an invalid argument. See the \e[1;34mvirtualisation.xen.efi.bootBuilderVerbosity\e[0m option." @@ -150,7 +150,7 @@ else esac if [ "$1" = "info" ]; then if [[ ${#preGenerations[@]} == "${#postGenerations[@]}" ]]; then - echo -e "\e[1;33mNo Change:\e[0m Xen Hypervisor boot entries were refreshed, but their contents are identical." + echo -e "\e[1;33mNo Change:\e[0m Xen Project Hypervisor boot entries were refreshed, but their contents are identical." else echo -e "\e[1;32mSuccess:\e[0m Changed the following boot entries:" # We briefly unset errexit and pipefail here, as GNU diff has no option to not fail when files differ. diff --git a/nixos/modules/virtualisation/xen-dom0.nix b/nixos/modules/virtualisation/xen-dom0.nix index 2cc82c910110..9b6ec543dae5 100644 --- a/nixos/modules/virtualisation/xen-dom0.nix +++ b/nixos/modules/virtualisation/xen-dom0.nix @@ -1,4 +1,4 @@ -# Xen hypervisor (Dom0) support. +# Xen Project Hypervisor (Dom0) support. { config, @@ -123,7 +123,7 @@ in options.virtualisation.xen = { - enable = lib.options.mkEnableOption "the Xen Hypervisor, a virtualisation technology defined as a *type-1 hypervisor*, which allows multiple virtual machines, known as *domains*, to run concurrently on the physical machine. NixOS runs as the privileged *Domain 0*. This option requires a reboot into a Xen kernel to take effect"; + enable = lib.options.mkEnableOption "the Xen Project Hypervisor, a virtualisation technology defined as a *type-1 hypervisor*, which allows multiple virtual machines, known as *domains*, to run concurrently on the physical machine. NixOS runs as the privileged *Domain 0*. This option requires a reboot into a Xen kernel to take effect"; debug = lib.options.mkEnableOption "Xen debug features for Domain 0. This option enables some hidden debugging tests and features, and should not be used in production"; @@ -141,7 +141,7 @@ in defaultText = lib.options.literalExpression "pkgs.xen"; example = lib.options.literalExpression "pkgs.xen-slim"; description = '' - The package used for Xen Hypervisor. + The package used for Xen Project Hypervisor. ''; relatedPackages = [ "xen" @@ -207,7 +207,7 @@ in - `quiet` supresses all messages. - - `default` adds a simple "Installing Xen Hypervisor boot entries...done." message to the script. + - `default` adds a simple "Installing Xen Project Hypervisor boot entries...done." message to the script. - `info` is the same as `default`, but it also prints a diff with information on which generations were altered. - This option adds two extra dependencies to the script: `diffutils` and `bat`. @@ -870,5 +870,5 @@ in }; }; }; - meta.maintainers = with lib.maintainers; [ sigmasquadron ]; + meta.maintainers = lib.teams.xen.members; } diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 32e0a777678c..df312316526f 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -717,6 +717,7 @@ in { nzbhydra2 = handleTest ./nzbhydra2.nix {}; ocis = handleTest ./ocis.nix {}; oddjobd = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./oddjobd.nix {}; + obs-studio = handleTest ./obs-studio.nix {}; oh-my-zsh = handleTest ./oh-my-zsh.nix {}; ollama = runTest ./ollama.nix; ollama-cuda = runTestOn ["x86_64-linux" "aarch64-linux"] ./ollama-cuda.nix; diff --git a/nixos/tests/obs-studio.nix b/nixos/tests/obs-studio.nix new file mode 100644 index 000000000000..a1b5bacf0428 --- /dev/null +++ b/nixos/tests/obs-studio.nix @@ -0,0 +1,40 @@ +import ./make-test-python.nix ( + { ... }: + + { + name = "obs-studio"; + + nodes.machine = + { pkgs, ... }: + { + imports = [ + ./common/x11.nix + ./common/user-account.nix + ]; + + programs.obs-studio = { + enable = true; + plugins = with pkgs.obs-studio-plugins; [ + wlrobs + obs-vkcapture + ]; + enableVirtualCamera = true; + }; + }; + + testScript = '' + machine.wait_for_x() + machine.succeed("obs --version") + + # virtual camera tests + machine.succeed("lsmod | grep v4l2loopback") + machine.succeed("ls /dev/video1") + machine.succeed("obs --startvirtualcam >&2 &") + machine.wait_for_window("OBS") + machine.sleep(5) + + # test plugins + machine.succeed("which obs-vkcapture") + ''; + } +) diff --git a/nixos/tests/pleroma.nix b/nixos/tests/pleroma.nix index 721f27e8f8c6..9e1bc1ccefbf 100644 --- a/nixos/tests/pleroma.nix +++ b/nixos/tests/pleroma.nix @@ -32,18 +32,18 @@ import ./make-test-python.nix ({ pkgs, ... }: # system one. Overriding this pretty bad default behaviour. export REQUESTS_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt - toot --debug login_cli -i "pleroma.nixos.test" -e "jamy@nixos.test" -p "jamy-password" + toot login_cli -i "pleroma.nixos.test" -e "jamy@nixos.test" -p 'jamy-password' echo "Login OK" # Send a toot then verify it's part of the public timeline - echo "y" | toot post "hello world Jamy here" + toot post "hello world Jamy here" echo "Send toot OK" - echo "y" | toot timeline | grep -c "hello world Jamy here" + toot timeline -1 | grep -F -q "hello world Jamy here" echo "Get toot from timeline OK" # Test file upload - echo "y" | toot upload ${db-seed} | grep -c "https://pleroma.nixos.test/media" - echo "File upload OK" + echo "y" | ${pkgs.toot}/bin/toot upload <(dd if=/dev/zero bs=1024 count=1024 status=none) \ + | grep -F -q "https://pleroma.nixos.test/media" echo "=====================================================" echo "= SUCCESS =" @@ -244,6 +244,7 @@ import ./make-test-python.nix ({ pkgs, ... }: testScript = { nodes, ... }: '' pleroma.wait_for_unit("postgresql.service") + pleroma.wait_until_succeeds("ls /var/lib/pleroma") pleroma.succeed("provision-db") pleroma.wait_for_file("/var/lib/pleroma") pleroma.succeed("provision-secrets") diff --git a/pkgs/applications/audio/spotify/linux.nix b/pkgs/applications/audio/spotify/linux.nix index 1f0ef0760112..3383e47cb8fe 100644 --- a/pkgs/applications/audio/spotify/linux.nix +++ b/pkgs/applications/audio/spotify/linux.nix @@ -14,14 +14,14 @@ let # If an update breaks things, one of those might have valuable info: # https://aur.archlinux.org/packages/spotify/ # https://community.spotify.com/t5/Desktop-Linux - version = "1.2.42.290.g242057a2"; + version = "1.2.45.454.gc16ec9f6"; # To get the latest stable revision: # curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/spotify?channel=stable' | jq '.download_url,.version,.last_updated' # To get general information: # curl -H 'Snap-Device-Series: 16' 'https://api.snapcraft.io/v2/snaps/info/spotify' | jq '.' # More examples of api usage: # https://github.com/canonical-websites/snapcraft.io/blob/master/webapp/publisher/snaps/views.py - rev = "78"; + rev = "79"; deps = [ alsa-lib @@ -88,7 +88,7 @@ stdenv.mkDerivation { src = fetchurl { name = "spotify-${version}-${rev}.snap"; url = "https://api.snapcraft.io/api/v1/snaps/download/pOBIoZ2LrCB3rDohMxoYGnbN14EHOgD7_${rev}.snap"; - hash = "sha512-3kT7SA2Q1OxgDa5duivIiHaxcROBAFjDnTx6rw2ya6o5yOVygseS02zBgWg2Qd8jq0721KbYC83u9M+MWtWhhA=="; + hash = "sha512-F1Npz/oKCsMKaQx2M5dm1dhWhaSlt8422tpRWnwuk2yjwLWrOYDY2uKYph8YFXfOdS3mV6u5yVlzgFdDqAFmCQ=="; }; nativeBuildInputs = [ wrapGAppsHook3 makeShellWrapper squashfsTools ]; diff --git a/pkgs/applications/editors/vscode/extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix index 48e285588d73..137454efd694 100644 --- a/pkgs/applications/editors/vscode/extensions/default.nix +++ b/pkgs/applications/editors/vscode/extensions/default.nix @@ -4219,10 +4219,11 @@ let mktplcRef = { publisher = "seatonjiang"; name = "gitmoji-vscode"; - version = "1.2.2"; - hash = "sha256-+lwbCLV62y1IHrjCygBphQZJUu+ZApYTwBQld5uu12w="; + version = "1.2.5"; + hash = "sha256-lWd7SyYNxoDauMecJq11akTiwEKBeXuR4htDYCbb6n4="; }; meta = { + changelog = "https://marketplace.visualstudio.com/items/seatonjiang.gitmoji-vscode/changelog"; description = "Gitmoji tool for git commit messages in VSCode"; downloadPage = "https://marketplace.visualstudio.com/items?itemName=seatonjiang.gitmoji-vscode"; homepage = "https://github.com/seatonjiang/gitmoji-vscode/"; diff --git a/pkgs/applications/emulators/retroarch/hashes.json b/pkgs/applications/emulators/retroarch/hashes.json index 268e77276a00..eba7031ee87e 100644 --- a/pkgs/applications/emulators/retroarch/hashes.json +++ b/pkgs/applications/emulators/retroarch/hashes.json @@ -15,10 +15,10 @@ "src": { "owner": "libretro", "repo": "libretro-atari800", - "rev": "173edee31172db46f46512918cda11192a2bd977", - "hash": "sha256-liZKtoiAlA/CFFY0AsfxUkWUQCXIgtLlJCaNydvYCXE=" + "rev": "39380a6e028589e850ecdfd2a5a19307b475d667", + "hash": "sha256-Rw6eTaKHZaCEgvnIqctaKCYQ+W8cHLtckLK8U5Ugck4=" }, - "version": "unstable-2024-09-13" + "version": "unstable-2024-09-24" }, "beetle-gba": { "fetcher": "fetchFromGitHub", @@ -55,20 +55,20 @@ "src": { "owner": "libretro", "repo": "beetle-pce-libretro", - "rev": "3a75c7ce5fc62c524be8d0eb45cd4b39d08a885c", - "hash": "sha256-y+M1hEv5o+gkMN00ZQjuRfJNqLnsTcbbcr+mVgmSSnc=" + "rev": "e6c21fdf7d1aeae411f08272121213fa4de96bbc", + "hash": "sha256-ZeBoLTsr1A+IPQJ+oIGNADrgKySDHczXY6uriLmeHV4=" }, - "version": "unstable-2024-09-06" + "version": "unstable-2024-09-27" }, "beetle-pce-fast": { "fetcher": "fetchFromGitHub", "src": { "owner": "libretro", "repo": "beetle-pce-fast-libretro", - "rev": "f2b4d9b24175348ca48bffd6fd4bb203d08e01d9", - "hash": "sha256-ulGGr215WJIb1uF1G8sGsu/693KKLDpjBuMNRLKQMZI=" + "rev": "6aaabc8e18279ac8a7c6facf26aa67e58375d177", + "hash": "sha256-lhpAnDofOLqyr8j43zTjzbPbcbntEt0DMY6aGtckDmc=" }, - "version": "unstable-2024-08-30" + "version": "unstable-2024-09-20" }, "beetle-pcfx": { "fetcher": "fetchFromGitHub", @@ -287,10 +287,10 @@ "src": { "owner": "libretro", "repo": "fbneo", - "rev": "ea3f1696173441f32e35ddd7295c330443691f00", - "hash": "sha256-spTZ7ZjaBiF6CdQwtrTcafKAszHGJxEnR/mzrlD/1mI=" + "rev": "3d69bc5519c4382b3d5da2763ae42e3b6a3d019e", + "hash": "sha256-Tf5nLy9G9h/qBrwdBFO3OUYl3n81NPw4slEeCfLzMjI=" }, - "version": "unstable-2024-09-12" + "version": "unstable-2024-09-26" }, "fceumm": { "fetcher": "fetchFromGitHub", @@ -338,10 +338,10 @@ "src": { "owner": "libretro", "repo": "fuse-libretro", - "rev": "b7f789133970b69ab27d1d181bc8c8930a462130", - "hash": "sha256-LzKWc6mWXxrYu44HwOmVBzXoebvQIwccwLIwUulKFto=" + "rev": "6fd07d90acc38a1b8835bf16539b833f21aaa38f", + "hash": "sha256-q5vcFNr1RBeTaw1R2LDY9xLU1oGeWtPemTdliWR+39s=" }, - "version": "unstable-2024-09-13" + "version": "unstable-2024-09-20" }, "gambatte": { "fetcher": "fetchFromGitHub", @@ -408,11 +408,11 @@ "src": { "owner": "libretro", "repo": "mame", - "rev": "184cebe571ab6b06f5015404bd40404d25433d9a", - "hash": "sha256-8lnpgpNo9wVkaIiZyXMakTnia5CVHnaTMUpB47iVVhE=", + "rev": "231b5e6d621ed93168ad19eed6c0e3390d4e81ff", + "hash": "sha256-UD1kNQ6KXEa60ZA+65XXqgihLu/XJxTLvbM4Wt9y2vs=", "fetchSubmodules": true }, - "version": "unstable-2024-09-15" + "version": "unstable-2024-09-27" }, "mame2000": { "fetcher": "fetchFromGitHub", @@ -439,10 +439,10 @@ "src": { "owner": "libretro", "repo": "mame2003-plus-libretro", - "rev": "3aa773e2a4e1ded9e255428ec7ef617f09840d6d", - "hash": "sha256-zMD6bC6KNCspDAkTB5lFEiV7wMfYy+mHgljjYOA2b6E=" + "rev": "9221b2f66dbc7a08b22a7365e2431e027e382322", + "hash": "sha256-mm4g1JX98yW/6Us1k5DwaYQQbhmfiBSxxXFvwgvB5yE=" }, - "version": "unstable-2024-09-09" + "version": "unstable-2024-09-26" }, "mame2010": { "fetcher": "fetchFromGitHub", @@ -519,10 +519,10 @@ "src": { "owner": "libretro", "repo": "mgba", - "rev": "b2564482c86378581a7a43ef4e254b2a75167bc7", - "hash": "sha256-9qHk4V7wb9YISpZ2xO2NWCGCFMRWpE8lAKTzIldsC9M=" + "rev": "3e349d52f42151085639aed9550967b88cde4f43", + "hash": "sha256-gTviFmJF+7n0SFUL6PZovLTMyrEeQyAyAJY2i40GEao=" }, - "version": "unstable-2024-02-28" + "version": "unstable-2024-09-24" }, "mrboom": { "fetcher": "fetchFromGitHub", @@ -652,22 +652,22 @@ "src": { "owner": "jpd002", "repo": "Play-", - "rev": "2ecf0923f8000464b0056d42c369f698421187b5", - "hash": "sha256-fKfN1e7UANs+CAJzjqWmzFsEzSwoRz6vW8ZD7sh9O7E=", + "rev": "e70ee1608f9bc3a075c85ce1aab0cf9074201f12", + "hash": "sha256-hD+QgvPXPJ4cVqkk15bY9lZIytCiiuSwNK1MYJzP9T0=", "fetchSubmodules": true }, - "version": "unstable-2024-09-12" + "version": "unstable-2024-09-23" }, "ppsspp": { "fetcher": "fetchFromGitHub", "src": { "owner": "hrydgard", "repo": "ppsspp", - "rev": "0bb69a0ccf5655310de1a41af96fde50cdc85840", - "hash": "sha256-h5edSaaqu0YEqKeMEY4iGWmp0w2AbqbEHergd0DsCGI=", + "rev": "64ce72e81df48f78db5d5b192bd68eca218bd0a1", + "hash": "sha256-DRodUtFcHt+t8GAHI+3+WDltbUzkWZ/ahunOPELabTI=", "fetchSubmodules": true }, - "version": "unstable-2024-09-17" + "version": "unstable-2024-09-28" }, "prboom": { "fetcher": "fetchFromGitHub", @@ -694,10 +694,10 @@ "src": { "owner": "libretro", "repo": "libretro-uae", - "rev": "4b4875f5c29e59fcc7aaab0decdce7af694b70e1", - "hash": "sha256-XaEa3QAzPzboRFdrPlhLmTPy52ClwyR/eQTpo/V++zU=" + "rev": "527564f2748901068a5fef891c5073a4d6cd089b", + "hash": "sha256-tzZVG4B+rzHqhw28cmvjMFiyFfbrU3xOOEU+OCUaa+M=" }, - "version": "unstable-2024-09-17" + "version": "unstable-2024-09-25" }, "quicknes": { "fetcher": "fetchFromGitHub", @@ -754,10 +754,10 @@ "src": { "owner": "snes9xgit", "repo": "snes9x", - "rev": "0727b4a474bf496d06ad42dd7ecc5527996aff3a", - "hash": "sha256-Zx36Yzftascnsqnd3ltutFKGB4fRBcP81vKYJRB2FjU=" + "rev": "72e4946410bff2a09ff327599f014e9f6e855c54", + "hash": "sha256-srPtEMIjsaFdmOkymGhb6vMuY5EBnTVhzJnpsCE/fMQ=" }, - "version": "unstable-2024-09-15" + "version": "unstable-2024-09-27" }, "snes9x2002": { "fetcher": "fetchFromGitHub", @@ -794,10 +794,10 @@ "src": { "owner": "stella-emu", "repo": "stella", - "rev": "03c5d7f1cf3e325e0dc0b41b89ffc17a54834af8", - "hash": "sha256-i7EBcbyoLz6MSeDe2d+HRpaKhig0zZEMC7rQqQrpbvA=" + "rev": "cb61f676ec78cd3f76cbd233bfd91575abde13be", + "hash": "sha256-t+QBWIE5+rEzdv4bbk6MqIQh3XsUgviX69RKe/zMb4Q=" }, - "version": "unstable-2024-09-09" + "version": "unstable-2024-09-26" }, "stella2014": { "fetcher": "fetchFromGitHub", diff --git a/pkgs/applications/emulators/retroarch/retroarch-assets.nix b/pkgs/applications/emulators/retroarch/retroarch-assets.nix index 77930d3fabd6..e9f2cb9379f2 100644 --- a/pkgs/applications/emulators/retroarch/retroarch-assets.nix +++ b/pkgs/applications/emulators/retroarch/retroarch-assets.nix @@ -6,13 +6,13 @@ stdenvNoCC.mkDerivation { pname = "retroarch-assets"; - version = "1.19.0-unstable-2024-08-08"; + version = "1.19.0-unstable-2024-09-22"; src = fetchFromGitHub { owner = "libretro"; repo = "retroarch-assets"; - rev = "8a74442fabfc6f72c623dbf1f7a59bfeba771b9f"; - hash = "sha256-rlIxKciCZK0UDAHsnEcUpFlKT0Y7vd1WqN8UfUOn7cA="; + rev = "1b138de1023272b039273d7bbc8f57573073bd25"; + hash = "sha256-ZePPjNQtzO3e7d9ZqbkfXX+0saus2X77It2l1e7WDWc="; }; makeFlags = [ diff --git a/pkgs/applications/misc/zathura/default.nix b/pkgs/applications/misc/zathura/default.nix index dd8c9b143a66..88241856632d 100644 --- a/pkgs/applications/misc/zathura/default.nix +++ b/pkgs/applications/misc/zathura/default.nix @@ -1,14 +1,21 @@ { config, - pkgs, + lib, + stdenv, + newScope, + gtk3, useMupdf ? true, }: -let - callPackage = pkgs.newScope self; +lib.makeScope newScope ( + self: + let + callPackage = self.callPackage; + in + { + inherit useMupdf; - self = rec { - gtk = pkgs.gtk3; + gtk = gtk3; zathura_core = callPackage ./core { }; @@ -22,14 +29,6 @@ let zathura_cb = callPackage ./cb { }; - zathuraWrapper = callPackage ./wrapper.nix { - plugins = [ - zathura_djvu - zathura_ps - zathura_cb - (if useMupdf then zathura_pdf_mupdf else zathura_pdf_poppler) - ]; - }; - }; -in -self + zathuraWrapper = callPackage ./wrapper.nix { }; + } +) diff --git a/pkgs/applications/misc/zathura/wrapper.nix b/pkgs/applications/misc/zathura/wrapper.nix index 5d60c4822212..4290fff26bcf 100644 --- a/pkgs/applications/misc/zathura/wrapper.nix +++ b/pkgs/applications/misc/zathura/wrapper.nix @@ -3,8 +3,19 @@ lib, makeWrapper, zathura_core, + zathura_djvu, + zathura_ps, + zathura_cb, + zathura_pdf_mupdf, + zathura_pdf_poppler, file, - plugins ? [ ], + useMupdf, + plugins ? [ + zathura_djvu + zathura_ps + zathura_cb + (if useMupdf then zathura_pdf_mupdf else zathura_pdf_poppler) + ], }: symlinkJoin { name = "zathura-with-plugins-${zathura_core.version}"; diff --git a/pkgs/applications/networking/browsers/brave/default.nix b/pkgs/applications/networking/browsers/brave/default.nix index af50ac1b7593..32a7ab244054 100644 --- a/pkgs/applications/networking/browsers/brave/default.nix +++ b/pkgs/applications/networking/browsers/brave/default.nix @@ -6,17 +6,17 @@ callPackage ./make-brave.nix (removeAttrs args [ "callPackage" ]) if stdenv.hostPlatform.isAarch64 then rec { pname = "brave"; - version = "1.70.117"; + version = "1.70.119"; url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_arm64.deb"; - hash = "sha256-FUomXWnIbuW8H0/r+fKEmMG8qO0vBAKUS9kijCbH5Mc="; + hash = "sha256-we/M1/hMdnxxKfhS6q+Lc3G2OCj+wyBpoC6pfd0Ta08="; platform = "aarch64-linux"; } else if stdenv.hostPlatform.isx86_64 then rec { pname = "brave"; - version = "1.70.117"; + version = "1.70.119"; url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb"; - hash = "sha256-54puHFpg3zqgORoqale9ZNgokn7q8fbI+240azFqrlQ="; + hash = "sha256-GtFkE0R4s0G9pO2Omt1V+YvBv0kvyJrcPc41ba07TTQ="; platform = "x86_64-linux"; } else diff --git a/pkgs/applications/networking/browsers/brave/update.sh b/pkgs/applications/networking/browsers/brave/update.sh index 04fbbc349419..d08c1559d0a4 100755 --- a/pkgs/applications/networking/browsers/brave/update.sh +++ b/pkgs/applications/networking/browsers/brave/update.sh @@ -23,7 +23,7 @@ cat > $SCRIPT_DIR/default.nix << EOF callPackage ./make-brave.nix (removeAttrs args [ "callPackage" ]) ( - if stdenv.isAarch64 then + if stdenv.hostPlatform.isAarch64 then rec { pname = "brave"; version = "${latestVersionAarch64}"; @@ -31,7 +31,7 @@ callPackage ./make-brave.nix (removeAttrs args [ "callPackage" ]) hash = "${hashAarch64}"; platform = "aarch64-linux"; } - else if stdenv.isx86_64 then + else if stdenv.hostPlatform.isx86_64 then rec { pname = "brave"; version = "${latestVersionAmd64}"; diff --git a/pkgs/applications/networking/cluster/glooctl/default.nix b/pkgs/applications/networking/cluster/glooctl/default.nix index 2cadbd553038..65009e7d4de6 100644 --- a/pkgs/applications/networking/cluster/glooctl/default.nix +++ b/pkgs/applications/networking/cluster/glooctl/default.nix @@ -7,16 +7,16 @@ buildGoModule rec { pname = "glooctl"; - version = "1.17.8"; + version = "1.17.10"; src = fetchFromGitHub { owner = "solo-io"; repo = "gloo"; rev = "v${version}"; - hash = "sha256-xHAxrAhKrGyH10yOmXRUnR8iI/Bapjx1XKUfklTZKzw="; + hash = "sha256-p917jiPvWjLRoH2y81TvILc9WYZ6n1y1UQy8hIO93jM="; }; - vendorHash = "sha256-zT6AVDYzDf+8DuPoJxu0RZ4djVIOq9dZDTHcjldE95Y="; + vendorHash = "sha256-rAObw4J0ATle1gq5Z1MsrGy/iqQDHjnMPAEIPBgtY3g="; subPackages = [ "projects/gloo/cli/cmd" ]; diff --git a/pkgs/applications/networking/instant-messengers/mattermost-desktop/default.nix b/pkgs/applications/networking/instant-messengers/mattermost-desktop/default.nix index 8390d7793458..41c27ed7c19c 100644 --- a/pkgs/applications/networking/instant-messengers/mattermost-desktop/default.nix +++ b/pkgs/applications/networking/instant-messengers/mattermost-desktop/default.nix @@ -8,17 +8,17 @@ let pname = "mattermost-desktop"; - version = "5.8.1"; + version = "5.9.0"; srcs = { "x86_64-linux" = { url = "https://releases.mattermost.com/desktop/${version}/${pname}-${version}-linux-x64.tar.gz"; - hash = "sha256-VuYHF5ALdbsKxBI7w5UhcqKYLV8BHZncWSDeuCy/SW0="; + hash = "sha256-zLKdfu5p7TyJOw8vJX7i/uu4j0PrUf2/BDmb1kdqqMc="; }; "aarch64-linux" = { url = "https://releases.mattermost.com/desktop/${version}/${pname}-${version}-linux-arm64.tar.gz"; - hash = "sha256-b+sVzMX/NDavshR+WsQyVgYyLkIPSuUlZGqK6/ZjLFs="; + hash = "sha256-JljK7d4KLAn1+NwF+VcedL/7hEsp/9LzLdzROa1fgJA="; }; }; diff --git a/pkgs/applications/networking/mailreaders/neomutt/default.nix b/pkgs/applications/networking/mailreaders/neomutt/default.nix index d3c2fda9588f..5a94137ea2f3 100644 --- a/pkgs/applications/networking/mailreaders/neomutt/default.nix +++ b/pkgs/applications/networking/mailreaders/neomutt/default.nix @@ -1,8 +1,38 @@ -{ lib, stdenv, fetchFromGitHub, gettext, makeWrapper, tcl, which -, ncurses, perl , cyrus_sasl, gss, gpgme, libkrb5, libidn2, libxml2, notmuch, openssl -, lua, lmdb, libxslt, docbook_xsl, docbook_xml_dtd_42, w3m, mailcap, sqlite, zlib, lndir -, pkg-config, zstd, enableZstd ? true, enableMixmaster ? false, enableLua ? false -, withContrib ? true +{ + lib, + stdenv, + fetchFromGitHub, + gettext, + makeWrapper, + tcl, + which, + ncurses, + perl, + cyrus_sasl, + gss, + gpgme, + libkrb5, + libidn2, + libxml2, + notmuch, + openssl, + lua, + lmdb, + libxslt, + docbook_xsl, + docbook_xml_dtd_42, + w3m, + mailcap, + sqlite, + zlib, + lndir, + pkg-config, + zstd, + enableZstd ? true, + enableMixmaster ? false, + enableLua ? false, + enableSmimeKeys ? true, + withContrib ? true, }: stdenv.mkDerivation (finalAttrs: { @@ -10,22 +40,38 @@ stdenv.mkDerivation (finalAttrs: { version = "20240425"; src = fetchFromGitHub { - owner = "neomutt"; - repo = "neomutt"; - rev = finalAttrs.version; - hash = "sha256-QBqPFteoAm3AdQN0XTWpho8DEW2BFCCzBcHUZIiSxyQ="; + owner = "neomutt"; + repo = "neomutt"; + rev = finalAttrs.version; + hash = "sha256-QBqPFteoAm3AdQN0XTWpho8DEW2BFCCzBcHUZIiSxyQ="; }; buildInputs = [ - cyrus_sasl gss gpgme libkrb5 libidn2 ncurses - notmuch openssl perl lmdb - mailcap sqlite - ] - ++ lib.optional enableZstd zstd - ++ lib.optional enableLua lua; + cyrus_sasl + gss + gpgme + libkrb5 + libidn2 + ncurses + notmuch + openssl + perl + lmdb + mailcap + sqlite + ] ++ lib.optional enableZstd zstd ++ lib.optional enableLua lua; nativeBuildInputs = [ - docbook_xsl docbook_xml_dtd_42 gettext libxml2 libxslt.bin makeWrapper tcl which zlib w3m + docbook_xsl + docbook_xml_dtd_42 + gettext + libxml2 + libxslt.bin + makeWrapper + tcl + which + zlib + w3m pkg-config ]; @@ -49,31 +95,38 @@ stdenv.mkDerivation (finalAttrs: { --replace /etc/mime.types ${mailcap}/etc/mime.types ''; - configureFlags = [ - "--enable-autocrypt" - "--gpgme" - "--gss" - "--lmdb" - "--notmuch" - "--ssl" - "--sasl" - "--with-homespool=mailbox" - "--with-mailpath=" - # To make it not reference .dev outputs. See: - # https://github.com/neomutt/neomutt/pull/2367 - "--disable-include-path-in-cflags" - "--zlib" - ] - ++ lib.optional enableZstd "--zstd" - ++ lib.optional enableLua "--lua" - ++ lib.optional enableMixmaster "--mixmaster"; + configureFlags = + [ + "--enable-autocrypt" + "--gpgme" + "--gss" + "--lmdb" + "--notmuch" + "--ssl" + "--sasl" + "--with-homespool=mailbox" + "--with-mailpath=" + # To make it not reference .dev outputs. See: + # https://github.com/neomutt/neomutt/pull/2367 + "--disable-include-path-in-cflags" + "--zlib" + ] + ++ lib.optional enableZstd "--zstd" + ++ lib.optional enableLua "--lua" + ++ lib.optional enableMixmaster "--mixmaster"; - postInstall = '' - wrapProgram "$out/bin/neomutt" --prefix PATH : "$out/libexec/neomutt" - '' - # https://github.com/neomutt/neomutt-contrib - # Contains vim-keys, keybindings presets and more. - + lib.optionalString withContrib "${lib.getExe lndir} ${finalAttrs.passthru.contrib} $out/share/doc/neomutt"; + postInstall = + '' + wrapProgram "$out/bin/neomutt" --prefix PATH : "$out/libexec/neomutt" + '' + + lib.optionalString enableSmimeKeys '' + install -m 755 $src/contrib/smime_keys $out/bin; + substituteInPlace $out/bin/smime_keys \ + --replace-fail '/usr/bin/openssl' '${openssl}/bin/openssl'; + '' + # https://github.com/neomutt/neomutt-contrib + # Contains vim-keys, keybindings presets and more. + + lib.optionalString withContrib "${lib.getExe lndir} ${finalAttrs.passthru.contrib} $out/share/doc/neomutt"; doCheck = true; @@ -111,9 +164,12 @@ stdenv.mkDerivation (finalAttrs: { meta = { description = "Small but very powerful text-based mail client"; mainProgram = "neomutt"; - homepage = "https://www.neomutt.org"; - license = lib.licenses.gpl2Plus; - maintainers = with lib.maintainers; [ erikryb raitobezarius ]; - platforms = lib.platforms.unix; + homepage = "https://www.neomutt.org"; + license = lib.licenses.gpl2Plus; + maintainers = with lib.maintainers; [ + erikryb + raitobezarius + ]; + platforms = lib.platforms.unix; }; }) diff --git a/pkgs/applications/terminal-emulators/rio/default.nix b/pkgs/applications/terminal-emulators/rio/default.nix index 136bbcd49436..6e74b42fcbb4 100644 --- a/pkgs/applications/terminal-emulators/rio/default.nix +++ b/pkgs/applications/terminal-emulators/rio/default.nix @@ -55,16 +55,16 @@ let in rustPlatform.buildRustPackage rec { pname = "rio"; - version = "0.1.15"; + version = "0.1.16"; src = fetchFromGitHub { owner = "raphamorim"; repo = "rio"; rev = "v${version}"; - hash = "sha256-aLqWhRaNqi7gMDxBITLU/Tj//h7RURycLSZXOOq83As="; + hash = "sha256-3OtPlaYkTPIF98CyaXWGZ/1msWHFdscqZXVviu0/O/o="; }; - cargoHash = "sha256-4nqJbz2vauO4jRuUSDjBV1pVrAJMhIP4+eUwS1+GecU="; + cargoHash = "sha256-VpS3prTmAbWTd+gwAOA0BXso4gkcAFuhMZh8Go3Dlao="; nativeBuildInputs = [ ncurses @@ -87,7 +87,7 @@ rustPlatform.buildRustPackage rec { checkFlags = [ # Fail to run in sandbox environment. - "--skip=screen::context::test" + "--skip=sys::unix::eventedfd::EventedFd" ]; postInstall = '' @@ -125,11 +125,5 @@ rustPlatform.buildRustPackage rec { platforms = lib.platforms.unix; changelog = "https://github.com/raphamorim/rio/blob/v${version}/docs/docs/releases.md"; mainProgram = "rio"; - # ---- corcovado/src/sys/unix/eventedfd.rs - sys::unix::eventedfd::EventedFd (line 31) stdout ---- - # Test executable failed (exit status: 101). - # stderr: - # thread 'main' panicked at corcovado/src/sys/unix/eventedfd.rs:24:16: - # called `Result::unwrap()` on an `Err` value: Os { code: 1, kind: PermissionDenied, message: "Operation not permitted" } - broken = stdenv.hostPlatform.isDarwin; }; } diff --git a/pkgs/applications/virtualization/xen/README.md b/pkgs/applications/virtualization/xen/README.md index 02d1ab722707..07087e2fee23 100644 --- a/pkgs/applications/virtualization/xen/README.md +++ b/pkgs/applications/virtualization/xen/README.md @@ -15,11 +15,11 @@
-# Xen Hypervisor
+# Xen Project Hypervisor
-This directory includes the build recipes for the [Xen Hypervisor](https://xenproject.org/).
+This directory includes the build recipes for the [Xen Project Hypervisor](https://xenproject.org/).
-Some other notable packages that compose the Xen Ecosystem include:
+Some other notable packages that compose the Xen Project Ecosystem include:
- `ocamlPackages.xenstore`: Mirage's `oxenstore` implementation.
- `ocamlPackages.vchan`: Mirage's `xen-vchan` implementation.
diff --git a/pkgs/applications/virtualization/xen/generic/default.nix b/pkgs/applications/virtualization/xen/generic/default.nix
index fbbefa95d61d..250e5a41bfc1 100644
--- a/pkgs/applications/virtualization/xen/generic/default.nix
+++ b/pkgs/applications/virtualization/xen/generic/default.nix
@@ -647,7 +647,7 @@ stdenv.mkDerivation (finalAttrs: {
# Short description for Xen.
description =
- "Xen Hypervisor"
+ "Xen Project Hypervisor"
# The "and related components" addition is automatically hidden if said components aren't being built.
+ lib.strings.optionalString (prefetchedSources != { }) " and related components"
# To alter the description inside the paranthesis, edit ./packages.nix.
@@ -681,18 +681,18 @@ stdenv.mkDerivation (finalAttrs: {
# Originally, this was a call for the complicated withPrefetchedSources. Since there aren't
# that many optional components, we just use lib.strings.optionalString, because it's simpler.
# Optional components that aren't being built are automatically hidden.
- + lib.strings.optionalString withEFI "\n* `xen.efi`: Xen's [EFI binary](https://xenbits.xenproject.org/docs/${branch}-testing/misc/efi.html), available on the `boot` output of this package."
+ + lib.strings.optionalString withEFI "\n* `xen.efi`: The Xen Project's [EFI binary](https://xenbits.xenproject.org/docs/${branch}-testing/misc/efi.html), available on the `boot` output of this package."
+ lib.strings.optionalString withFlask "\n* `xsm-flask`: The [FLASK Xen Security Module](https://wiki.xenproject.org/wiki/Xen_Security_Modules_:_XSM-FLASK). The `xenpolicy-${version}` file is available on the `boot` output of this package."
- + lib.strings.optionalString withInternalQEMU "\n* `qemu-xen`: Xen's mirror of [QEMU](https://www.qemu.org/)."
- + lib.strings.optionalString withInternalSeaBIOS "\n* `seabios-xen`: Xen's mirror of [SeaBIOS](https://www.seabios.org/SeaBIOS)."
- + lib.strings.optionalString withInternalOVMF "\n* `ovmf-xen`: Xen's mirror of [OVMF](https://github.com/tianocore/tianocore.github.io/wiki/OVMF)."
- + lib.strings.optionalString withInternalIPXE "\n* `ipxe-xen`: Xen's pinned version of [iPXE](https://ipxe.org/)."
+ + lib.strings.optionalString withInternalQEMU "\n* `qemu-xen`: The Xen Project's mirror of [QEMU](https://www.qemu.org/)."
+ + lib.strings.optionalString withInternalSeaBIOS "\n* `seabios-xen`: The Xen Project's mirror of [SeaBIOS](https://www.seabios.org/SeaBIOS)."
+ + lib.strings.optionalString withInternalOVMF "\n* `ovmf-xen`: The Xen Project's mirror of [OVMF](https://github.com/tianocore/tianocore.github.io/wiki/OVMF)."
+ + lib.strings.optionalString withInternalIPXE "\n* `ipxe-xen`: The Xen Project's pinned version of [iPXE](https://ipxe.org/)."
)
# Finally, we write a notice explaining which vulnerabilities this Xen is NOT vulnerable to.
# This will hopefully give users the peace of mind that their Xen is secure, without needing
# to search the source code for the XSA patches.
+ lib.strings.optionalString (writeAdvisoryDescription != [ ]) (
- "\n\nThis Xen (${version}) has been patched against the following known security vulnerabilities:\n"
+ "\n\nThis Xen Project Hypervisor (${version}) has been patched against the following known security vulnerabilities:\n"
+ lib.strings.removeSuffix "\n" (lib.strings.concatLines writeAdvisoryDescription)
);
@@ -712,10 +712,8 @@ stdenv.mkDerivation (finalAttrs: {
];
# This automatically removes maintainers from EOL versions of Xen, so we aren't bothered about versions we don't explictly support.
- maintainers = lib.lists.optionals (lib.strings.versionAtLeast version minSupportedVersion) (
- with lib.maintainers; [ sigmasquadron ]
- );
- knownVulnerabilities = lib.lists.optional (lib.strings.versionOlder version minSupportedVersion) "Xen ${version} is no longer supported by the Xen Security Team. See https://xenbits.xenproject.org/docs/unstable/support-matrix.html";
+ maintainers = lib.lists.optionals (lib.strings.versionAtLeast version minSupportedVersion) lib.teams.xen.members;
+ knownVulnerabilities = lib.lists.optional (lib.strings.versionOlder version minSupportedVersion) "The Xen Project Hypervisor version ${version} is no longer supported by the Xen Project Security Team. See https://xenbits.xenproject.org/docs/unstable/support-matrix.html";
mainProgram = "xl";
diff --git a/pkgs/applications/virtualization/xen/packages.nix b/pkgs/applications/virtualization/xen/packages.nix
index 77c9cbf099a3..7402edc8bc70 100644
--- a/pkgs/applications/virtualization/xen/packages.nix
+++ b/pkgs/applications/virtualization/xen/packages.nix
@@ -2,13 +2,13 @@
let
standard = {
meta = {
- description = "Standard Xen";
+ description = "Standard";
longDescription = ''
- Standard version of Xen. Uses forks of QEMU, SeaBIOS, OVMF and iPXE provided
- by the Xen Project. This provides the vanilla Xen experince, but wastes space
- and build time. A typical NixOS setup that runs lots of VMs will usually need
- to build two different versions of QEMU when using this Xen derivation (one
- fork and upstream).
+ Standard version of the Xen Project Hypervisor. Uses forks of QEMU, SeaBIOS,
+ OVMF and iPXE provided by the Xen Project. This provides the vanilla Xen
+ experience, but wastes space and build time. A typical NixOS setup that runs
+ lots of VMs will usually need to build two different versions of QEMU when using
+ this Xen derivation (one fork and upstream).
'';
};
};
@@ -16,11 +16,11 @@ let
meta = {
description = "Without Internal Components";
longDescription = ''
- Slimmed-down version of Xen that reuses nixpkgs packages as much as possible.
- Instead of using the Xen forks for various internal components, this version uses
- `seabios`, `ovmf` and `ipxe` from nixpkgs. These components may ocasionally get
- out of sync with the hypervisor itself, but this builds faster and uses less space
- than the default derivation.
+ Slimmed-down version of the Xen Project Hypervisor that reuses nixpkgs packages
+ as much as possible. Instead of using the Xen Project forks for various internal
+ components, this version uses `seabios`, `ovmf` and `ipxe` from Nixpkgs. These
+ components may ocasionally get out of sync with the hypervisor itself, but this
+ builds faster and uses less space than the default derivation.
'';
};
};
diff --git a/pkgs/by-name/bi/biome/package.nix b/pkgs/by-name/bi/biome/package.nix
index 678a1aa71fdb..3213241e9448 100644
--- a/pkgs/by-name/bi/biome/package.nix
+++ b/pkgs/by-name/bi/biome/package.nix
@@ -12,16 +12,16 @@
}:
rustPlatform.buildRustPackage rec {
pname = "biome";
- version = "1.9.0";
+ version = "1.9.2";
src = fetchFromGitHub {
owner = "biomejs";
repo = "biome";
rev = "cli/v${version}";
- hash = "sha256-AVw7yhC/f5JkFw2sQZ5YgzeXXjoJ8BfGgsS5sRVV/wE=";
+ hash = "sha256-erwGLcE5w/UnjZ1aVF3ZYD2OQGI8xt7lVBvpWkJ56tc=";
};
- cargoHash = "sha256-Vz6GCDGdC2IUtBK5X/t/Q5LODFUSlUxPBTCIjgdw3XU=";
+ cargoHash = "sha256-m9r0fcnkDPT2J1DjjbLCzdAxqh8DCFAWA3jikuaVVGQ=";
nativeBuildInputs = [
pkg-config
diff --git a/pkgs/by-name/bl/blackmagic-desktop-video/package.nix b/pkgs/by-name/bl/blackmagic-desktop-video/package.nix
index 990b549e4c60..8888ba83a8c3 100644
--- a/pkgs/by-name/bl/blackmagic-desktop-video/package.nix
+++ b/pkgs/by-name/bl/blackmagic-desktop-video/package.nix
@@ -10,7 +10,7 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "blackmagic-desktop-video";
- version = "14.1a1";
+ version = "14.2a1";
buildInputs = [
autoPatchelfHook
@@ -24,15 +24,15 @@ stdenv.mkDerivation (finalAttrs: {
src =
let
# from the URL the download page where you click the "only download" button is at
- REFERID = "93b33ad64a244cd5b95ec9d373e8d2e1";
+ REFERID = "b97e55f37a0042fbacd234971d8c93ed";
# from the URL that the POST happens to, see browser console
- DOWNLOADID = "0f544a89ce204df6818079a2f18c76a7";
+ DOWNLOADID = "552546307a7c4de29ea6d09a6ca08c90";
in
runCommandLocal "${finalAttrs.pname}-${lib.versions.majorMinor finalAttrs.version}-src.tar.gz"
{
outputHashMode = "recursive";
outputHashAlgo = "sha256";
- outputHash = "sha256-1Cv7VQHhHcM53DKa15lJJVJmdiGUHNTYPTbX+VghQOc=";
+ outputHash = "sha256-rfZDL1YvAuMD5u68MMyiT8cERsIHMc9K25lXt7cqrrk=";
impureEnvVars = lib.fetchers.proxyImpureEnvVars;
diff --git a/pkgs/by-name/ch/chess-clock/package.nix b/pkgs/by-name/ch/chess-clock/package.nix
index 9e36fc97d00a..2074e5404c41 100644
--- a/pkgs/by-name/ch/chess-clock/package.nix
+++ b/pkgs/by-name/ch/chess-clock/package.nix
@@ -15,14 +15,14 @@
stdenv.mkDerivation rec {
pname = "chess-clock";
- version = "0.6.0";
+ version = "0.6.1";
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "World";
repo = pname;
rev = "v${version}";
- hash = "sha256-wwNOop2V84vZO3JV0+VZ+52cKPx8xJg2rLkjfgc/+n4=";
+ hash = "sha256-XDOCHFZC3s3b/4kD1ZkhWar3kozW3vXc0pk7O6oQfiE=";
};
nativeBuildInputs = [
@@ -45,10 +45,9 @@ stdenv.mkDerivation rec {
meta = with lib; {
description = "Time games of over-the-board chess";
- mainProgram = "chess-clock";
homepage = "https://gitlab.gnome.org/World/chess-clock";
- changelog = "https://gitlab.gnome.org/World/chess-clock/-/releases/v${version}";
license = licenses.gpl3Plus;
+ mainProgram = "chess-clock";
maintainers = with maintainers; [ michaelgrahamevans ];
};
}
diff --git a/pkgs/by-name/cy/cyme/package.nix b/pkgs/by-name/cy/cyme/package.nix
index f1a1ca496bf8..341fa8b0dfa2 100644
--- a/pkgs/by-name/cy/cyme/package.nix
+++ b/pkgs/by-name/cy/cyme/package.nix
@@ -13,16 +13,16 @@
rustPlatform.buildRustPackage rec {
pname = "cyme";
- version = "1.8.3";
+ version = "1.8.4";
src = fetchFromGitHub {
owner = "tuna-f1sh";
repo = "cyme";
rev = "v${version}";
- hash = "sha256-DFO12ylrUIPxxOf3+sSXf/MN918U/IUeUfr72Lbnxvc=";
+ hash = "sha256-5433lq3u+s4LiC9089Ul7wGJiouQdVDoM3RT0QSiAnU=";
};
- cargoHash = "sha256-uw+Z0F2NoU1BFGwsNaIKT9hWclhqmJK2se5mm0xUQyc=";
+ cargoHash = "sha256-EW4M072qWCghg4UlhjMBR6DVzKsu/foE+j4MOSiHqNk=";
nativeBuildInputs = [
pkg-config
diff --git a/pkgs/by-name/ez/eza/package.nix b/pkgs/by-name/ez/eza/package.nix
index 3380e98a1171..b1262cea992b 100644
--- a/pkgs/by-name/ez/eza/package.nix
+++ b/pkgs/by-name/ez/eza/package.nix
@@ -17,16 +17,16 @@
rustPlatform.buildRustPackage rec {
pname = "eza";
- version = "0.19.4";
+ version = "0.20.0";
src = fetchFromGitHub {
owner = "eza-community";
repo = "eza";
rev = "v${version}";
- hash = "sha256-5+ZZcoOS5R674cAxQ7vo1yU4D0hLIMF0OSOYYBT60hE=";
+ hash = "sha256-lQEQLINjXGbg9KnqJCQXR/wG50dBTnmWp06wKJi0NE8=";
};
- cargoHash = "sha256-NSNhufF4IzA1syWcQryh+u1SVgvbkmvaXWlJ7P1i/cs=";
+ cargoHash = "sha256-WT5jwG+c3cSKjAgzlOX3kbtOF3E6NICgGT2BGxcWzDA=";
nativeBuildInputs = [ cmake pkg-config installShellFiles pandoc ];
buildInputs = [ zlib ]
@@ -62,7 +62,7 @@ rustPlatform.buildRustPackage rec {
'';
homepage = "https://github.com/eza-community/eza";
changelog = "https://github.com/eza-community/eza/releases/tag/v${version}";
- license = licenses.mit;
+ license = licenses.eupl12;
mainProgram = "eza";
maintainers = with maintainers; [ cafkafk _9glenda ];
platforms = platforms.unix ++ platforms.windows;
diff --git a/pkgs/by-name/fe/fedimint/package.nix b/pkgs/by-name/fe/fedimint/package.nix
index f282b70c4ded..ca91966bbefa 100644
--- a/pkgs/by-name/fe/fedimint/package.nix
+++ b/pkgs/by-name/fe/fedimint/package.nix
@@ -24,16 +24,16 @@ let
in
buildRustPackage rec {
pname = "fedimint";
- version = "0.4.2";
+ version = "0.4.3";
src = fetchFromGitHub {
owner = "fedimint";
repo = "fedimint";
rev = "v${version}";
- hash = "sha256-ih1ZwH8uItplMJU2/XkQseFlYUsf8/TkX8lGyRl7/KU=";
+ hash = "sha256-NUr1ZpYJozWIej46Oqlf/7feJ4kztYYvX3TEzQ5VoWo=";
};
- cargoHash = "sha256-scfgUFuS/b4EFfPuhl6uFlTZi4gyTqtEso2a5jhrxno=";
+ cargoHash = "sha256-sky0Blh2fjP82UgFUfBH0vAIdBzHOfVGAfOW0rwNH00=";
nativeBuildInputs = [
protobuf
diff --git a/pkgs/by-name/fi/files-cli/package.nix b/pkgs/by-name/fi/files-cli/package.nix
index 483bb48324e7..133cecf2d86f 100644
--- a/pkgs/by-name/fi/files-cli/package.nix
+++ b/pkgs/by-name/fi/files-cli/package.nix
@@ -7,16 +7,16 @@
buildGoModule rec {
pname = "files-cli";
- version = "2.13.136";
+ version = "2.13.141";
src = fetchFromGitHub {
repo = "files-cli";
owner = "files-com";
rev = "v${version}";
- hash = "sha256-F20cGZtPTaiZakRiw0xspS7Mxxwr9VDTcRjHeRaLAq0=";
+ hash = "sha256-UVD2zWas4QZD3W6Xro7tiGJDdbive60dYPDY1UTnl08=";
};
- vendorHash = "sha256-ftO+jt3MurZ4erNUmFlMEuVskVIbpRbpIWb7gZVr3jk=";
+ vendorHash = "sha256-4HkIwyRqvbk7qIzCjZNTzF7wDNupNaDpOiqqdlx9UIo=";
ldflags = [
"-s"
diff --git a/pkgs/by-name/gc/gcs/package.nix b/pkgs/by-name/gc/gcs/package.nix
index 53fe4896f3b4..20c52faeb4e6 100644
--- a/pkgs/by-name/gc/gcs/package.nix
+++ b/pkgs/by-name/gc/gcs/package.nix
@@ -3,6 +3,8 @@
buildGoModule,
buildNpmPackage,
fetchFromGitHub,
+ cacert,
+ unzip,
pkg-config,
libGL,
libX11,
@@ -20,13 +22,28 @@
buildGoModule rec {
pname = "gcs";
- version = "5.21.0";
+ version = "5.27.0";
src = fetchFromGitHub {
owner = "richardwilkes";
repo = "gcs";
- rev = "v${version}";
- hash = "sha256-mes1aXh4R1re4sW3xYDWtSIcW7lwkWoAxbcbdyT/W+o=";
+ rev = "refs/tags/v${version}";
+
+ nativeBuildInputs = [
+ cacert
+ unzip
+ ];
+
+ # also fetch pdf.js files
+ # note: the version is locked in the file
+ postFetch = ''
+ cd $out/server/pdf
+ substituteInPlace refresh-pdf.js.sh \
+ --replace-fail '/bin/rm' 'rm'
+ . refresh-pdf.js.sh
+ '';
+
+ hash = "sha256-QVkyemBQ7RrV3dpP3n7Pg0XljdxWtCphZIj2T77nKtU=";
};
modPostBuild = ''
@@ -34,15 +51,14 @@ buildGoModule rec {
sed -i 's|-lmupdf[^ ]* |-lmupdf |g' vendor/github.com/richardwilkes/pdf/pdf.go
'';
- vendorHash = "sha256-H5GCrrqmDwpCneXawu7kZsRfrQ8hcsbqhpAAG6FCawg=";
+ vendorHash = "sha256-+vCc1g5noAl/iwEYhNZJYPiScKqKGKlsuruoUO/4tiU=";
frontend = buildNpmPackage {
name = "${pname}-${version}-frontend";
inherit src;
sourceRoot = "${src.name}/server/frontend";
-
- npmDepsHash = "sha256-wP6sjdcjljzmTs0GUMbF2BPo83LKpfdn15sUuMEIn6E=";
+ npmDepsHash = "sha256-VWTJg/pluRYVVBDiJ+t2uhyodRuIFfHpzCZMte1krDM=";
installPhase = ''
runHook preInstall
@@ -92,7 +108,7 @@ buildGoModule rec {
'';
meta = {
- changelog = "https://github.com/richardwilkes/gcs/releases/tag/${src.rev}";
+ changelog = "https://github.com/richardwilkes/gcs/releases/tag/v${version}";
description = "Stand-alone, interactive, character sheet editor for the GURPS 4th Edition roleplaying game system";
homepage = "https://gurpscharactersheet.com/";
license = lib.licenses.mpl20;
diff --git a/pkgs/development/tools/hred/default.nix b/pkgs/by-name/hr/hred/package.nix
similarity index 83%
rename from pkgs/development/tools/hred/default.nix
rename to pkgs/by-name/hr/hred/package.nix
index 8de5ec2a5f63..b7c77d3ecdda 100644
--- a/pkgs/development/tools/hred/default.nix
+++ b/pkgs/by-name/hr/hred/package.nix
@@ -2,16 +2,16 @@
buildNpmPackage rec {
pname = "hred";
- version = "1.5.0";
+ version = "1.5.1";
src = fetchFromGitHub {
owner = "danburzo";
repo = "hred";
rev = "v${version}";
- hash = "sha256-rnobJG9Z1lXEeFm+c0f9OsbiTzxeP3+zut5LYpGzWfc=";
+ hash = "sha256-+0+WQRI8rdIMbPN0eBUdsWUMWDCxZhTRLiFo1WRd2xc=";
};
- npmDepsHash = "sha256-POxlGWK0TJMwNWDpiK5+OXLGtAx4lFJO3imoe/h+7Sc=";
+ npmDepsHash = "sha256-kNNvSxZqN6cDZIG+lvqxgjAVCJUJrCvZThxrur5kozU=";
dontNpmBuild = true;
diff --git a/pkgs/by-name/im/immich/sources.json b/pkgs/by-name/im/immich/sources.json
index a07d6c0b1b29..267723584efe 100644
--- a/pkgs/by-name/im/immich/sources.json
+++ b/pkgs/by-name/im/immich/sources.json
@@ -1,22 +1,22 @@
{
- "version": "1.115.0",
- "hash": "sha256-H2FCR55redomrDjnnCQys47AaYbWEmlxO5NJEcVMBwY=",
+ "version": "1.116.2",
+ "hash": "sha256-vbLUHNgUHnKAO424j/MwKDv0GZhBZ2T6vwjLsIHhMxM=",
"components": {
"cli": {
- "npmDepsHash": "sha256-+zKtPHXjBd1KAKvI5xaY2/9qzVUg+8Ho/wrV9+TlU64=",
- "version": "2.2.19"
+ "npmDepsHash": "sha256-M0A+B9qHmRRb6XW0P57Huo85cL8PUpLGe32IJzJgZhY=",
+ "version": "2.2.22"
},
"server": {
- "npmDepsHash": "sha256-6CehRhPepspDpQW1h0Bx7EpH7hn42Ygqma/6wim14jA=",
- "version": "1.115.0"
+ "npmDepsHash": "sha256-1gOJxg+OXG4t6jZdia5+1Ie5gOjtZhqpqOgPi3I/U+k=",
+ "version": "1.116.2"
},
"web": {
- "npmDepsHash": "sha256-ZmXfYktgOmMkDjfqSGyyflr2CmnC9yVnJ1gAcmd6A00=",
- "version": "1.115.0"
+ "npmDepsHash": "sha256-mI/hMDf7mBV1oMkJIh6IYVzqGv+h+sc9wiGJsL0Rmog=",
+ "version": "1.116.2"
},
"open-api/typescript-sdk": {
- "npmDepsHash": "sha256-l1mLYFpFQjYxytY0ZWLq+ldUhZA6so0HqPgCABt0s9k=",
- "version": "1.115.0"
+ "npmDepsHash": "sha256-lfqk/2YBbB6qiFXjeTYqnkslVmI8fXTvHe/wGCSD8Ok=",
+ "version": "1.116.2"
}
}
}
diff --git a/pkgs/tools/networking/mozillavpn/default.nix b/pkgs/by-name/mo/mozillavpn/package.nix
similarity index 69%
rename from pkgs/tools/networking/mozillavpn/default.nix
rename to pkgs/by-name/mo/mozillavpn/package.nix
index aa8585349da2..0d480d4eefa4 100644
--- a/pkgs/tools/networking/mozillavpn/default.nix
+++ b/pkgs/by-name/mo/mozillavpn/package.nix
@@ -3,7 +3,6 @@
cargo,
cmake,
fetchFromGitHub,
- fetchpatch,
go,
lib,
libcap,
@@ -12,37 +11,24 @@
libsecret,
pkg-config,
python3,
- qt5compat,
- qtbase,
- qtnetworkauth,
- qtsvg,
- qttools,
- qtwayland,
- qtwebsockets,
+ qt6,
rustPlatform,
rustc,
stdenv,
wireguard-tools,
- wrapQtAppsHook,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "mozillavpn";
- version = "2.23.1";
+ version = "2.24.0";
src = fetchFromGitHub {
owner = "mozilla-mobile";
repo = "mozilla-vpn-client";
rev = "v${finalAttrs.version}";
fetchSubmodules = true;
- hash = "sha256-NQM1ZII9owD9ek/Leo6WRfvNybZ5pUjDgvQGXQBrD+0=";
+ hash = "sha256-iTnwx+KPZ5b8qT0fEMUCGQx1UyGVM4VCzooZqslGWtw=";
};
- patches = [
- # Update cargo deps for "time"
- (fetchpatch {
- url = "https://github.com/mozilla-mobile/mozilla-vpn-client/commit/31d5799a30fc02067ad31d86b6ef63294bb3c3b8.patch";
- hash = "sha256-ECrIcfhhSuvbqQ/ExPdFkQ6b9Q767lhUKmwPdDz7yxI=";
- })
- ];
+ patches = [ ];
netfilterGoModules =
(buildGoModule {
@@ -58,7 +44,7 @@ stdenv.mkDerivation (finalAttrs: {
cargoDeps = rustPlatform.fetchCargoTarball {
inherit (finalAttrs) src patches;
- hash = "sha256-JIe6FQL0xm6FYYGoIwwnOxq21sC1y8xPsr8tYPF0Mzo=";
+ hash = "sha256-ryJFvnJIiDKf2EqlzHj79hSPYrD+3UtZ5lT/QeFv6V0=";
};
buildInputs = [
@@ -66,12 +52,12 @@ stdenv.mkDerivation (finalAttrs: {
libgcrypt
libgpg-error
libsecret
- qt5compat
- qtbase
- qtnetworkauth
- qtsvg
- qtwayland
- qtwebsockets
+ qt6.qt5compat
+ qt6.qtbase
+ qt6.qtnetworkauth
+ qt6.qtsvg
+ qt6.qtwayland
+ qt6.qtwebsockets
];
nativeBuildInputs = [
cargo
@@ -82,10 +68,10 @@ stdenv.mkDerivation (finalAttrs: {
python3.pkgs.glean-parser
python3.pkgs.pyyaml
python3.pkgs.setuptools
- qttools
+ qt6.qttools
+ qt6.wrapQtAppsHook
rustPlatform.cargoSetupHook
rustc
- wrapQtAppsHook
];
postPatch = ''
@@ -101,9 +87,9 @@ stdenv.mkDerivation (finalAttrs: {
'';
cmakeFlags = [
- "-DQT_LCONVERT_EXECUTABLE=${qttools.dev}/bin/lconvert"
- "-DQT_LUPDATE_EXECUTABLE=${qttools.dev}/bin/lupdate"
- "-DQT_LRELEASE_EXECUTABLE=${qttools.dev}/bin/lrelease"
+ "-DQT_LCONVERT_EXECUTABLE=${qt6.qttools.dev}/bin/lconvert"
+ "-DQT_LUPDATE_EXECUTABLE=${qt6.qttools.dev}/bin/lupdate"
+ "-DQT_LRELEASE_EXECUTABLE=${qt6.qttools.dev}/bin/lrelease"
];
dontFixCmake = true;
diff --git a/pkgs/by-name/ni/nimlangserver/lock.json b/pkgs/by-name/ni/nimlangserver/lock.json
index 891c26cba301..7d493fca5a96 100644
--- a/pkgs/by-name/ni/nimlangserver/lock.json
+++ b/pkgs/by-name/ni/nimlangserver/lock.json
@@ -1,217 +1,239 @@
{
"depends": [
{
- "method": "fetchzip",
- "path": "/nix/store/l4zs1l1yw4yhf1f8q7r5x5z2szjygr6d-source",
- "rev": "ba143e029f35fd9b4cd3d89d007cc834d0d5ba3c",
- "sha256": "1lv3l9c4ifqzlfgpwpvpq2z3994zz1nirg8f59xrnfb7zgbv8l3i",
+ "method": "git",
+ "path": "/nix/store/jvk4kr8wws3dbjqnlag2zcysg0d7xnhz-nim-chronos-c04576d",
+ "rev": "c04576d829b8a0a1b12baaa8bc92037501b3a4a0",
+ "sha256": "0plwammxi4iis59p2416g7420f5fx38jziwhmi082c5lm2x658x9",
"srcDir": "",
- "url": "https://github.com/status-im/nim-chronos/archive/ba143e029f35fd9b4cd3d89d007cc834d0d5ba3c.tar.gz",
+ "url": "https://github.com/status-im/nim-chronos",
"subDir": "",
+ "fetchSubmodules": true,
+ "leaveDotGit": false,
"packages": [
"chronos"
]
},
{
- "method": "fetchzip",
- "path": "/nix/store/q42j4w2f70qfihcrpzgl3fspxihfsadb-source",
- "rev": "c0ae9e10a9238883d18226fa28a5435c4d305e45",
- "sha256": "0dxhjg5nf4sc4ga2zrxqcmr1v3ki9irkl603x0y3pz5sd8jdi731",
+ "method": "git",
+ "path": "/nix/store/rxh6hjns335dl5zn13dl78hlj6ign33m-nim-http-utils-8b88ad6",
+ "rev": "8b88ad6dd9a6326c29f82067800c483d9410d873",
+ "sha256": "1c20yhzm7c69xkcdzxwbm8ldid565nrmvgr5jk3g6cghh6z9b63n",
"srcDir": "",
- "url": "https://github.com/status-im/nim-stint/archive/c0ae9e10a9238883d18226fa28a5435c4d305e45.tar.gz",
- "subDir": "",
- "packages": [
- "stint"
- ]
- },
- {
- "method": "fetchzip",
- "path": "/nix/store/jmgpadmdabybhij1srd81xfr873zgfmm-source",
- "rev": "5065d2cf18dcb9812e25cc0e2c50eb357bde04cf",
- "sha256": "069fw3h9cjn0hab9vhfri8ibld7yihb8ggyg1nv5vxz6i3x026m5",
- "srcDir": "",
- "url": "https://github.com/status-im/nim-http-utils/archive/5065d2cf18dcb9812e25cc0e2c50eb357bde04cf.tar.gz",
+ "url": "https://github.com/status-im/nim-http-utils",
"subDir": "",
+ "fetchSubmodules": true,
+ "leaveDotGit": false,
"packages": [
"httputils"
]
},
{
- "method": "fetchzip",
- "path": "/nix/store/wdj38hf9hdyb1skgb6v0z00kxkdmnq04-source",
- "rev": "b178f47527074964f76c395ad0dfc81cf118f379",
- "sha256": "1ir20z9m4wmm0bs2dd2qiq75w0x3skv0yj7sqp6bqfh98ni44xdc",
+ "method": "git",
+ "path": "/nix/store/ngj2jlgi2ygv3xvnqvhlpws2s069fh6c-nim-stint-7c81df9",
+ "rev": "7c81df9adc80088f46a4c2b8bf2a46c26fab057c",
+ "sha256": "0gl8hxk3a29p5f2l3x5v3hscbydnwy8470bl9xjsawysbpa41jq0",
"srcDir": "",
- "url": "https://github.com/status-im/nim-unittest2/archive/b178f47527074964f76c395ad0dfc81cf118f379.tar.gz",
+ "url": "https://github.com/status-im/nim-stint",
"subDir": "",
+ "fetchSubmodules": true,
+ "leaveDotGit": false,
+ "packages": [
+ "stint"
+ ]
+ },
+ {
+ "method": "git",
+ "path": "/nix/store/fvqlv9l67gdbvdq48w76y7dm48s52viw-nim-unittest2-e96f321",
+ "rev": "e96f3215030cbfa13abc2f5827069b6f8ba87e38",
+ "sha256": "0q919mswsspk3fdhb9a742y7yv0pk14yc965afx2jza57m4fw2a2",
+ "srcDir": "",
+ "url": "https://github.com/status-im/nim-unittest2",
+ "subDir": "",
+ "fetchSubmodules": true,
+ "leaveDotGit": false,
"packages": [
"unittest2"
]
},
{
- "method": "fetchzip",
- "path": "/nix/store/yad26q3iv3r2lw9xs655kyx3hvflxi1p-source",
- "rev": "2c3ae3137f3c9cb48134285bd4a47186fa51f0e8",
- "sha256": "09pkxzsnahljkqyp540v1wwiqcnbkz5ji5bz9q9cwn3axpmqc3v7",
+ "method": "git",
+ "path": "/nix/store/ggzfksc7mbfllfdr2va5rmyx757c7nfx-nim-websock-63bcc29",
+ "rev": "63bcc2902d884c63101e144555ad99421734a70a",
+ "sha256": "0rxdz62pns7ywwzh4r1pjj9qyhx7djj06y5yhf83j7dc30qi7wp2",
"srcDir": "",
- "url": "https://github.com/status-im/nim-websock/archive/2c3ae3137f3c9cb48134285bd4a47186fa51f0e8.tar.gz",
+ "url": "https://github.com/status-im/nim-websock",
"subDir": "",
+ "fetchSubmodules": true,
+ "leaveDotGit": false,
"packages": [
"websock"
]
},
{
- "method": "fetchzip",
- "path": "/nix/store/siwfngb840kcdjdviy5rhlpvdpkw14sk-source",
- "rev": "8bfd753649aa7e870ec45e93f1453d3bfcf66733",
- "sha256": "0hvs4kfr4aais7ixvh9d7na2r2zjnvaw3m3rpklafn9qld2wpaav",
- "srcDir": "src",
- "url": "https://github.com/status-im/news/archive/8bfd753649aa7e870ec45e93f1453d3bfcf66733.tar.gz",
- "subDir": "",
- "packages": [
- "news"
- ]
- },
- {
- "method": "fetchzip",
- "path": "/nix/store/ss096qz8svm5my0mjhk3imyrc2nm2x0y-source",
- "rev": "4d541ec43454809904fc4c3c0a7436410ad597d2",
- "sha256": "1a5x0fsxxkqpambz9q637dz0jrzv9q1jb3cya12k6106vc65lyf8",
+ "method": "git",
+ "path": "/nix/store/4q5lil0j6wdxjbkk4nbwnvz0swhxph4v-nim-serialization-298a955",
+ "rev": "298a9554a885b2df59737bb3461aac8d0d339724",
+ "sha256": "1skh778gkml33n0pz7s8fxybdn2rqg2hg10nyp8jip9x6rbpgz6g",
"srcDir": "",
- "url": "https://github.com/status-im/nim-serialization/archive/4d541ec43454809904fc4c3c0a7436410ad597d2.tar.gz",
+ "url": "https://github.com/status-im/nim-serialization",
"subDir": "",
+ "fetchSubmodules": true,
+ "leaveDotGit": false,
"packages": [
"serialization"
]
},
{
- "method": "fetchzip",
- "path": "/nix/store/90rwcr71bq13cid74v4aazikv2s924r1-source",
- "rev": "d9400ddea08341a65102cffdb693d3a7131efef4",
- "sha256": "0gkmh63izhp0bxyfmwfvyp81bxnzwnc3r7nxr5a05xpl8crk85w2",
+ "method": "git",
+ "path": "/nix/store/1k3vziq26ynmmm9j9savsfm8d7glmrax-nim-stew-d4634c5",
+ "rev": "d4634c5405ac188e7050d348332edb6c3b09a527",
+ "sha256": "15ii11644vxs55jix64krg8h0ninnhlgqnc7klmskycbcr4a1xgh",
"srcDir": "",
- "url": "https://github.com/status-im/nim-stew/archive/d9400ddea08341a65102cffdb693d3a7131efef4.tar.gz",
+ "url": "https://github.com/status-im/nim-stew",
"subDir": "",
+ "fetchSubmodules": true,
+ "leaveDotGit": false,
"packages": [
"stew"
]
},
{
- "method": "fetchzip",
- "path": "/nix/store/4nj341ypj07hjvxv0462wpnywhkj02b5-source",
- "rev": "422971502bd641703bf78a27cb20429e77fcfb8b",
- "sha256": "0snzh904f8f3wn33liy6817q9ccx8mvsl88blhr49qh69mzbgnba",
+ "method": "git",
+ "path": "/nix/store/3x156nly2vr6nixgw1zk5jp5n6bgi6rk-nim-faststreams-dbc4a95",
+ "rev": "dbc4a95df60238157dcf286f6125188cb72f37c1",
+ "sha256": "1zvh1lgjmszdd074993qkj01w2v7fjxcawjf7iplwq0rvjpszdy0",
"srcDir": "",
- "url": "https://github.com/status-im/nim-faststreams/archive/422971502bd641703bf78a27cb20429e77fcfb8b.tar.gz",
+ "url": "https://github.com/status-im/nim-faststreams",
"subDir": "",
+ "fetchSubmodules": true,
+ "leaveDotGit": false,
"packages": [
"faststreams"
]
},
{
- "method": "fetchzip",
- "path": "/nix/store/qkwz2w5haw8px691c6gkklvxxp38j9d3-source",
- "rev": "2f95909c767605e06670dc70f5cffd6b9284f192",
- "sha256": "1qdq9wpm6xahqczmvdn3a7yvvrw5x42ylvzmbybdwjzd8vmgg0zv",
+ "method": "git",
+ "path": "/nix/store/7k5blrxbh2zzsxrmz54l5i6v6dj4mp3g-with-91c51ec",
+ "rev": "91c51ec1051bf0cb518cf9bb78114e2a84b03da7",
+ "sha256": "170hfdc2z2qp9cxgvpqswzr4bmzljybh4lnn0k5kganwvf0ffz9p",
"srcDir": "",
- "url": "https://github.com/zevv/with/archive/2f95909c767605e06670dc70f5cffd6b9284f192.tar.gz",
+ "url": "https://github.com/zevv/with",
"subDir": "",
+ "fetchSubmodules": true,
+ "leaveDotGit": false,
"packages": [
"with"
]
},
{
- "method": "fetchzip",
- "path": "/nix/store/hn5r1ywl4qzzjl9zj62w5m6f8bqkjn8q-source",
- "rev": "dfc4c1b39f9ded9baf6365014de2b4bfb4dafc34",
- "sha256": "0fi59m8yvayzlh1ajbl98ddy43i3ikjqh3s5px16y0s3cidg4fai",
+ "method": "git",
+ "path": "/nix/store/jw9y4cm15y80h3v9xjz5s1r0rnyi5x4i-nim-testutils-e4fb95c",
+ "rev": "e4fb95cbe36ad1e231661c922da04b81e0ffeed9",
+ "sha256": "0gqhag91f8dkdv0v2mg6pz5q6afl70bbnk628i52p4wsi4bl49jj",
"srcDir": "",
- "url": "https://github.com/status-im/nim-testutils/archive/dfc4c1b39f9ded9baf6365014de2b4bfb4dafc34.tar.gz",
+ "url": "https://github.com/status-im/nim-testutils",
"subDir": "",
+ "fetchSubmodules": true,
+ "leaveDotGit": false,
"packages": [
"testutils"
]
},
{
- "method": "fetchzip",
- "path": "/nix/store/szg3jxcg0bf6zv224nyisqhnibkd2pxw-source",
- "rev": "c8a5cbe26917e6716b1597dae2d08166f3ce789a",
- "sha256": "1l1y4psbcd5w68j1zz172rlwsk7jxbwlr14r2kwnkj7xc7lfwlnx",
+ "method": "git",
+ "path": "/nix/store/sskmpq7fqax2x2wydb1lhyac4ikx5p6p-nim-results-57b2392",
+ "rev": "57b2392ad69849e3e2d02b74a8a0feee2c3d9570",
+ "sha256": "1wma3dhrrdfxn05ds6yiv9mj071czv90x06bm7f5rslzk0s7m1af",
"srcDir": "",
- "url": "https://github.com/yyoncho/nim-json-rpc/archive/c8a5cbe26917e6716b1597dae2d08166f3ce789a.tar.gz",
+ "url": "https://github.com/arnetheduck/nim-results",
"subDir": "",
+ "fetchSubmodules": true,
+ "leaveDotGit": false,
+ "packages": [
+ "results"
+ ]
+ },
+ {
+ "method": "git",
+ "path": "/nix/store/06gaz1ks9rc13bxr7wkig4sfiz0mb3xw-nim-json-rpc-e27c10a",
+ "rev": "e27c10ad4172e67f71a78044f53de073e7401390",
+ "sha256": "16f1lz2c6pzyjwmnqxxzl3sf635kzvzggmk2gl7mqifz4v31wjbq",
+ "srcDir": "",
+ "url": "https://github.com/status-im/nim-json-rpc",
+ "subDir": "",
+ "fetchSubmodules": true,
+ "leaveDotGit": false,
"packages": [
"json_rpc"
]
},
{
- "method": "fetchzip",
- "path": "/nix/store/dnj20qh97ylf57nka9wbxs735wbw7yxv-source",
- "rev": "4014ef939b51e02053c2e16dd3481d47bc9267dd",
- "sha256": "1kgqr2lqaffglc1fgbanwcvhkqcbbd20d5b6w4lf0nksfl9c357a",
+ "method": "git",
+ "path": "/nix/store/narxn874mr56chm56iya8zdmnadvg61d-nimcrypto-71bca15",
+ "rev": "71bca15508e2c0548f32b42a69bcfb1ccd9ab9ff",
+ "sha256": "0iizdwgxdrfa94572874dr5d3q2g9j6yk33xzywci7ig3w58rm82",
"srcDir": "",
- "url": "https://github.com/cheatfate/nimcrypto/archive/4014ef939b51e02053c2e16dd3481d47bc9267dd.tar.gz",
+ "url": "https://github.com/cheatfate/nimcrypto",
"subDir": "",
+ "fetchSubmodules": true,
+ "leaveDotGit": false,
"packages": [
"nimcrypto"
]
},
{
- "method": "fetchzip",
- "path": "/nix/store/drj65wylnxdbv4jqhymf7biiyjfb75v8-source",
- "rev": "9372f27a25d0718d3527afad6cc936f6a853f86e",
- "sha256": "152zbyqx12fmmjl4wn6kqqk1jzp1ywm4xvjd28ll9037f1pyd5ic",
+ "method": "git",
+ "path": "/nix/store/mki47dpj9mi8wa7gwhp3n0q6z9lhn1mv-nim-bearssl-667b404",
+ "rev": "667b40440a53a58e9f922e29e20818720c62d9ac",
+ "sha256": "0a4mf9g7p7zdhlzzfl9iikmhkyl7w5kf2mrn0bv4w4n30sl98m4s",
"srcDir": "",
- "url": "https://github.com/status-im/nim-bearssl/archive/9372f27a25d0718d3527afad6cc936f6a853f86e.tar.gz",
+ "url": "https://github.com/status-im/nim-bearssl",
"subDir": "",
+ "fetchSubmodules": true,
+ "leaveDotGit": false,
"packages": [
"bearssl"
]
},
{
- "method": "fetchzip",
- "path": "/nix/store/h0xl7qnw7bh513rb24k1n805x3n1rimw-source",
- "rev": "d9394dc7286064902d825bbc1203d03d7218633a",
- "sha256": "102m7jaxjip24a6hrnk0nvfb0vmdx5zq4m9i4xyzq8m782xyqp94",
+ "method": "git",
+ "path": "/nix/store/cfs80kvd9s3np81i5bfr0pvhsv046vxm-nim-json-serialization-8a4ed98",
+ "rev": "8a4ed98bbd0a9479df15af2fa31da38a586ea6d5",
+ "sha256": "1r6acznzdyd3r5ixfhxbcqsrm6iqcyvrg5i93pzna1q4h9mgmf5f",
"srcDir": "",
- "url": "https://github.com/status-im/nim-json-serialization/archive/d9394dc7286064902d825bbc1203d03d7218633a.tar.gz",
+ "url": "https://github.com/status-im/nim-json-serialization",
"subDir": "",
+ "fetchSubmodules": true,
+ "leaveDotGit": false,
"packages": [
"json_serialization"
]
},
{
- "method": "fetchzip",
- "path": "/nix/store/ffz78k6z9wf8vj2kv1jdj5dq2rxf61j7-source",
- "rev": "2a2681b60289aaf7895b7056f22616081eb1a882",
- "sha256": "0n8awgrmn9f6vd7ibv1jlyxk61lrs7hc51fghilrw6g6xq5w9rxq",
+ "method": "git",
+ "path": "/nix/store/vnxrmzlkma85rsf82abcr81ywrgr5dya-nim-chronicles-32ac867",
+ "rev": "32ac8679680ea699f7dbc046e8e0131cac97d41a",
+ "sha256": "0w3ya0rpy0rp997nnfakq0cshpk4vyva195mmgrw5c9zp4pwv2hm",
"srcDir": "",
- "url": "https://github.com/status-im/nim-chronicles/archive/2a2681b60289aaf7895b7056f22616081eb1a882.tar.gz",
+ "url": "https://github.com/status-im/nim-chronicles",
"subDir": "",
+ "fetchSubmodules": true,
+ "leaveDotGit": false,
"packages": [
"chronicles"
]
},
{
- "method": "fetchzip",
- "path": "/nix/store/51nf7pb5cwg2n441ka6w6g6c4hdjsdj4-source",
- "rev": "bb01d965a2ad0f08eaff6a53874f028ddbab4909",
- "sha256": "0v4n7maskd07qsx8rsr9v0bs7nzbncmvxsn7j9jsk9azcy803v49",
+ "method": "git",
+ "path": "/nix/store/ngqb4fpv1yi4zn5x7sn3p3yvxmmbn2z1-nim-zlib-45b06fc",
+ "rev": "45b06fca15ce0f09586067d950da30c10227865a",
+ "sha256": "1gcvl59j7yj698sl4l35drq0cmvy2zsywgi7b0dv9ci3klss4cxb",
"srcDir": "",
- "url": "https://github.com/nickysn/asynctools/archive/bb01d965a2ad0f08eaff6a53874f028ddbab4909.tar.gz",
- "subDir": "",
- "packages": [
- "asynctools"
- ]
- },
- {
- "method": "fetchzip",
- "path": "/nix/store/br78rad2jnl6zka2q89qi6pkfiyn10fv-source",
- "rev": "f34ca261efd90f118dc1647beefd2f7a69b05d93",
- "sha256": "1k8y7m1ry1z8jm8hj8pa3vlqprshaa59cdwq2a4acrfw9ks5w482",
- "srcDir": "",
- "url": "https://github.com/status-im/nim-zlib/archive/f34ca261efd90f118dc1647beefd2f7a69b05d93.tar.gz",
+ "url": "https://github.com/status-im/nim-zlib",
"subDir": "",
+ "fetchSubmodules": true,
+ "leaveDotGit": false,
"packages": [
"zlib"
]
diff --git a/pkgs/by-name/ni/nimlangserver/package.nix b/pkgs/by-name/ni/nimlangserver/package.nix
index bd8e00d25bc9..be91a0ac2a4f 100644
--- a/pkgs/by-name/ni/nimlangserver/package.nix
+++ b/pkgs/by-name/ni/nimlangserver/package.nix
@@ -6,16 +6,17 @@
buildNimPackage (
final: prev: rec {
pname = "nimlangserver";
- version = "1.4.0";
+ version = "1.6.0";
- # lock.json generated with github.com/daylinmorgan/nnl
+ # nix build ".#nimlangserver.src"
+ # nix run "github:daylinmorgan/nnl" -- result/nimble.lock -o:pkgs/by-name/ni/nimlangserver/lock.json --force-git
lockFile = ./lock.json;
src = fetchFromGitHub {
owner = "nim-lang";
repo = "langserver";
rev = "v${version}";
- hash = "sha256-mh+p8t8/mbZvgsJ930lXkcBdUjjioZoNyNZzwywAiUI=";
+ hash = "sha256-rTlkbNuJbL9ke1FpHYVYduiYHUON6oACg20pBs0MaP4=";
};
doCheck = false;
diff --git a/pkgs/by-name/no/nodemon/package.nix b/pkgs/by-name/no/nodemon/package.nix
index 03e432628f65..cc51b9263fc8 100644
--- a/pkgs/by-name/no/nodemon/package.nix
+++ b/pkgs/by-name/no/nodemon/package.nix
@@ -7,13 +7,13 @@
buildNpmPackage rec {
pname = "nodemon";
- version = "3.1.4";
+ version = "3.1.7";
src = fetchFromGitHub {
owner = "remy";
repo = "nodemon";
rev = "v${version}";
- hash = "sha256-bAsq1eoeQ03VhNYgdYJQnZRCxyvt46C+3scihGp+9GU=";
+ hash = "sha256-1hwkPXCPBLYPsg9WwWxId/9v5KF0Iu13qWHRzYJUh+E=";
};
npmDepsHash = "sha256-cZHfaUWhKZYKRe4Foc2UymZ8hTPrGLzlcXe1gMsW1pU=";
diff --git a/pkgs/by-name/or/orchard/package.nix b/pkgs/by-name/or/orchard/package.nix
index dd55bf187963..bf6f04f6a406 100644
--- a/pkgs/by-name/or/orchard/package.nix
+++ b/pkgs/by-name/or/orchard/package.nix
@@ -2,13 +2,13 @@
buildGoModule rec {
pname = "orchard";
- version = "0.23.2";
+ version = "0.24.0";
src = fetchFromGitHub {
owner = "cirruslabs";
repo = pname;
rev = version;
- hash = "sha256-hsYIIA2JA+LT+qaootOkHVN4JD+msO1grYQq4Z6ipYU=";
+ hash = "sha256-N54wkqe05Hm9o+kQmWTJREoU+0GnivaVTJngtBDL8+U=";
# populate values that require us to use git. By doing this in postFetch we
# can delete .git afterwards and maintain better reproducibility of the src.
leaveDotGit = true;
@@ -19,7 +19,7 @@ buildGoModule rec {
'';
};
- vendorHash = "sha256-HphNpli6hYvmeIJlkkSzOZDbdqFL4XI+koUK9RvWfw8=";
+ vendorHash = "sha256-R4KsR00VAq0fUxHM48212GWy8KJoIOM0R8ycVjjjMO4=";
nativeBuildInputs = [ installShellFiles ];
diff --git a/pkgs/by-name/re/regal/package.nix b/pkgs/by-name/re/regal/package.nix
index ff729115eef0..19bf4bbb4b4f 100644
--- a/pkgs/by-name/re/regal/package.nix
+++ b/pkgs/by-name/re/regal/package.nix
@@ -13,6 +13,12 @@ buildGoModule rec {
vendorHash = "sha256-Yl8ZFEiAJRAetc3e2ZdrbTdYhx/Ek9nr3mMQ0H7+aGM=";
+ ldflags = [
+ "-s" "-w"
+ "-X github.com/styrainc/regal/pkg/version.Version=${version}"
+ "-X github.com/styrainc/regal/pkg/version.Commit=${version}"
+ ];
+
meta = with lib; {
description = "Linter and language server for Rego";
mainProgram = "regal";
diff --git a/pkgs/by-name/se/sesh/package.nix b/pkgs/by-name/se/sesh/package.nix
index 624bb550061c..ff5ce98448bf 100644
--- a/pkgs/by-name/se/sesh/package.nix
+++ b/pkgs/by-name/se/sesh/package.nix
@@ -5,13 +5,13 @@
}:
buildGoModule rec {
pname = "sesh";
- version = "2.2.0";
+ version = "2.4.0";
src = fetchFromGitHub {
owner = "joshmedeski";
repo = "sesh";
rev = "v${version}";
- hash = "sha256-Kot5ah4NH1CvXHYRA4r3SS7ugkWgOv9rHlmWoToRpiw=";
+ hash = "sha256-62w4I49ahXC4IHy0i/V4tArCqrg2Rch6f+IM/YoFQh8=";
};
vendorHash = "sha256-a45P6yt93l0CnL5mrOotQmE/1r0unjoToXqSJ+spimg=";
diff --git a/pkgs/by-name/sl/slskd/package.nix b/pkgs/by-name/sl/slskd/package.nix
index 8ab85a4eef3f..ed60e90b7c63 100644
--- a/pkgs/by-name/sl/slskd/package.nix
+++ b/pkgs/by-name/sl/slskd/package.nix
@@ -1,70 +1,82 @@
{
lib,
- buildNpmPackage,
- fetchFromGitHub,
- dotnetCorePackages,
buildDotnetModule,
+ buildPackages,
+ dotnetCorePackages,
+ fetchFromGitHub,
+ fetchNpmDeps,
mono,
nodejs_18,
+ slskd,
+ testers,
}:
+
let
+ nodejs = nodejs_18;
+ # https://github.com/NixOS/nixpkgs/blob/d88947e91716390bdbefccdf16f7bebcc41436eb/pkgs/build-support/node/build-npm-package/default.nix#L62
+ npmHooks = buildPackages.npmHooks.override { inherit nodejs; };
+in
+buildDotnetModule rec {
pname = "slskd";
- version = "0.21.3";
+ version = "0.21.4";
src = fetchFromGitHub {
owner = "slskd";
repo = "slskd";
- rev = version;
- hash = "sha256-qAS8uiXAG0JTOCW/bIVYhv6McUSBihAHFjJu3b5Ttoc=";
+ rev = "refs/tags/${version}";
+ hash = "sha256-9EKlCmc+zdiuEPa8YNjoQ3QLTy8vt2qcZ+6D0sWgwEU=";
};
- meta = with lib; {
- description = "Modern client-server application for the Soulseek file sharing network";
- homepage = "https://github.com/slskd/slskd";
- license = licenses.agpl3Plus;
- maintainers = with maintainers; [
- ppom
- melvyn2
- ];
- platforms = platforms.linux;
- };
-
- wwwroot = buildNpmPackage {
- inherit meta version;
-
- pname = "slskd-web";
- src = "${src}/src/web";
- npmFlags = [ "--legacy-peer-deps" ];
- nodejs = nodejs_18;
- npmDepsHash = "sha256-06qQ1y870TrkXhkHYADjnWVhdyiLWEqdDt3qrJ1BBFo=";
- installPhase = ''
- cp -r build $out
- '';
- };
-
-in
-buildDotnetModule {
- inherit
- pname
- version
- src
- meta
- ;
+ nativeBuildInputs = [
+ nodejs
+ npmHooks.npmConfigHook
+ ];
runtimeDeps = [ mono ];
+ npmRoot = "src/web";
+ npmDeps = fetchNpmDeps {
+ name = "${pname}-${version}-npm-deps";
+ inherit src;
+ sourceRoot = "${src.name}/${npmRoot}";
+ hash = "sha256-WANoxgPbBoMx6o8fjhSTsKBRZadO2QaeErMMMXk0tgE=";
+ };
+
+ projectFile = "slskd.sln";
+ nugetDeps = ./deps.nix;
+
dotnet-sdk = dotnetCorePackages.sdk_8_0;
dotnet-runtime = dotnetCorePackages.aspnetcore_8_0;
- projectFile = "slskd.sln";
-
testProjectFile = "tests/slskd.Tests.Unit/slskd.Tests.Unit.csproj";
doCheck = true;
- nugetDeps = ./deps.nix;
+ postBuild = ''
+ pushd "$npmRoot"
+ npm run build --legacy-peer-deps
+ popd
+ '';
postInstall = ''
rm -r $out/lib/slskd/wwwroot
- ln -s ${wwwroot} $out/lib/slskd/wwwroot
+ mv "$npmRoot"/build $out/lib/slskd/wwwroot
'';
+
+ passthru = {
+ tests.version = testers.testVersion { package = slskd; };
+ };
+
+ meta = {
+ description = "Modern client-server application for the Soulseek file sharing network";
+ homepage = "https://github.com/slskd/slskd";
+ changelog = "https://github.com/slskd/slskd/releases/tag/${version}";
+ license = lib.licenses.agpl3Plus;
+ maintainers = with lib.maintainers; [
+ ppom
+ melvyn2
+ getchoo
+ ];
+ mainProgram = "slskd";
+ platforms = lib.platforms.linux;
+ };
}
diff --git a/pkgs/by-name/te/tex-fmt/package.nix b/pkgs/by-name/te/tex-fmt/package.nix
new file mode 100644
index 000000000000..13a7195668d1
--- /dev/null
+++ b/pkgs/by-name/te/tex-fmt/package.nix
@@ -0,0 +1,27 @@
+{
+ lib,
+ fetchFromGitHub,
+ rustPlatform,
+}:
+
+rustPlatform.buildRustPackage rec {
+ pname = "tex-fmt";
+ version = "0.4.3";
+
+ src = fetchFromGitHub {
+ owner = "WGUNDERWOOD";
+ repo = "tex-fmt";
+ rev = "refs/tags/v${version}";
+ hash = "sha256-Atq/eyvdAuaUEeYDIC5D9icD44mcvuhsyuctYAPrBSU=";
+ };
+
+ cargoHash = "sha256-ShF2Z5Od/pgsNRM6WmxxFeE67pYZin1q4RR6nVmbrsA=";
+
+ meta = {
+ description = "LaTeX formatter written in Rust";
+ homepage = "https://github.com/WGUNDERWOOD/tex-fmt";
+ license = lib.licenses.mit;
+ mainProgram = "tex-fmt";
+ maintainers = with lib.maintainers; [ wgunderwood ];
+ };
+}
diff --git a/pkgs/by-name/to/tor-browser/package.nix b/pkgs/by-name/to/tor-browser/package.nix
index c0b1dfb33d42..48d2070a0fbd 100644
--- a/pkgs/by-name/to/tor-browser/package.nix
+++ b/pkgs/by-name/to/tor-browser/package.nix
@@ -101,7 +101,7 @@ lib.warnIf (useHardenedMalloc != null)
++ lib.optionals mediaSupport [ ffmpeg ]
);
- version = "13.5.4";
+ version = "13.5.5";
sources = {
x86_64-linux = fetchurl {
@@ -111,7 +111,7 @@ lib.warnIf (useHardenedMalloc != null)
"https://tor.eff.org/dist/torbrowser/${version}/tor-browser-linux-x86_64-${version}.tar.xz"
"https://tor.calyxinstitute.org/dist/torbrowser/${version}/tor-browser-linux-x86_64-${version}.tar.xz"
];
- hash = "sha256-2gu/JzkLYvYveOM1XvDpyV3dLoixqKvfmyHGIAz8nis=";
+ hash = "sha256-5Gwr7gKI5HVyAymi04BjiKTAIrYSSLVmIBu882XZ7gw=";
};
i686-linux = fetchurl {
@@ -121,7 +121,7 @@ lib.warnIf (useHardenedMalloc != null)
"https://tor.eff.org/dist/torbrowser/${version}/tor-browser-linux-i686-${version}.tar.xz"
"https://tor.calyxinstitute.org/dist/torbrowser/${version}/tor-browser-linux-i686-${version}.tar.xz"
];
- hash = "sha256-BnJuKKwB6VqsHlRCU1cAuuaNdNu56oSE4z4wYXnyy/Q=";
+ hash = "sha256-kpRtPM7jTYm6wmYiFT89B4Ue7kbsWweUxqXzeNtLCdo=";
};
};
diff --git a/pkgs/by-name/xe/xen-guest-agent/package.nix b/pkgs/by-name/xe/xen-guest-agent/package.nix
index 9375b0d47656..b0223a6311ed 100644
--- a/pkgs/by-name/xe/xen-guest-agent/package.nix
+++ b/pkgs/by-name/xe/xen-guest-agent/package.nix
@@ -45,9 +45,7 @@ rustPlatform.buildRustPackage rec {
homepage = "https://gitlab.com/xen-project/xen-guest-agent";
license = lib.licenses.agpl3Only;
platforms = lib.platforms.unix;
- maintainers = with lib.maintainers; [
- matdibu
- sigmasquadron
- ];
+ maintainers = lib.teams.xen.members;
+ mainProgram = "xen-guest-agent";
};
}
diff --git a/pkgs/by-name/xt/xtf/package.nix b/pkgs/by-name/xt/xtf/package.nix
index 4a19f84c89ec..acf98626b1ab 100644
--- a/pkgs/by-name/xt/xtf/package.nix
+++ b/pkgs/by-name/xt/xtf/package.nix
@@ -71,7 +71,7 @@ stdenv.mkDerivation {
description = "Xen Test Framework and Suite for creating microkernel-based tests";
homepage = "https://xenbits.xenproject.org/docs/xtf/index.html";
license = lib.licenses.bsd2;
- maintainers = with lib.maintainers; [ sigmasquadron ];
+ maintainers = lib.teams.xen.members;
mainProgram = "xtf-runner";
platforms = lib.lists.intersectLists lib.platforms.linux lib.platforms.x86_64;
};
diff --git a/pkgs/by-name/yu/yutto/package.nix b/pkgs/by-name/yu/yutto/package.nix
index eb5b983e8f96..2ce2c6042f2c 100644
--- a/pkgs/by-name/yu/yutto/package.nix
+++ b/pkgs/by-name/yu/yutto/package.nix
@@ -8,21 +8,22 @@
python3Packages.buildPythonApplication rec {
pname = "yutto";
- version = "2.0.0-beta.40";
- format = "pyproject";
+ version = "2.0.0-beta.43";
+ pyproject = true;
disabled = python3Packages.pythonOlder "3.9";
+ pythonRelaxDeps = true;
src = fetchFromGitHub {
owner = "yutto-dev";
repo = "yutto";
- rev = "v${version}";
- hash = "sha256-gopCQ8tEhwtDFs/w+jafD3ZW/4MIrYxPcMh8SbOCwww=";
+ rev = "refs/tags/v${version}";
+ hash = "sha256-ND3uE4vsFa7gPr1E2UfiebExsrj+ELN0+hqnxxOQu8Y=";
};
- nativeBuildInputs = with python3Packages; [ poetry-core ];
+ build-system = with python3Packages; [ hatchling ];
- propagatedBuildInputs =
+ dependencies =
with python3Packages;
[
httpx
diff --git a/pkgs/by-name/ze/zed-editor/Cargo.lock b/pkgs/by-name/ze/zed-editor/Cargo.lock
index e7555dd91235..44273cb00ba1 100644
--- a/pkgs/by-name/ze/zed-editor/Cargo.lock
+++ b/pkgs/by-name/ze/zed-editor/Cargo.lock
@@ -14375,7 +14375,7 @@ dependencies = [
[[package]]
name = "zed"
-version = "0.154.2"
+version = "0.154.3"
dependencies = [
"activity_indicator",
"anyhow",
diff --git a/pkgs/by-name/ze/zed-editor/package.nix b/pkgs/by-name/ze/zed-editor/package.nix
index a61683205a3f..119f9148e609 100644
--- a/pkgs/by-name/ze/zed-editor/package.nix
+++ b/pkgs/by-name/ze/zed-editor/package.nix
@@ -86,13 +86,13 @@ let
in
rustPlatform.buildRustPackage rec {
pname = "zed-editor";
- version = "0.154.2";
+ version = "0.154.3";
src = fetchFromGitHub {
owner = "zed-industries";
repo = "zed";
rev = "refs/tags/v${version}";
- hash = "sha256-DcSlsBwZW2RhzX74eNi0+VBwnxYLl22CbCbZrEOSiFQ=";
+ hash = "sha256-6W4YKtYeLUv1N51YJonb7I2BO4zEESgI8vmMhJVoLDI=";
fetchSubmodules = true;
};
diff --git a/pkgs/data/icons/numix-icon-theme/default.nix b/pkgs/data/icons/numix-icon-theme/default.nix
index fcf843632328..88d224040855 100644
--- a/pkgs/data/icons/numix-icon-theme/default.nix
+++ b/pkgs/data/icons/numix-icon-theme/default.nix
@@ -11,13 +11,13 @@
stdenvNoCC.mkDerivation rec {
pname = "numix-icon-theme";
- version = "24.04.22";
+ version = "24.09.18";
src = fetchFromGitHub {
owner = "numixproject";
repo = pname;
rev = version;
- sha256 = "sha256-hFUsj0nODUVbzKyN6ud3HsaoTZBLGW+jjwc6kFFH02c=";
+ sha256 = "sha256-NcsrITf/uiAeCGVxILP7/duzBYTXs1b9Yztsruq1MJg=";
};
nativeBuildInputs = [
diff --git a/pkgs/data/misc/v2ray-domain-list-community/default.nix b/pkgs/data/misc/v2ray-domain-list-community/default.nix
index ef135367c9ff..8170852020e2 100644
--- a/pkgs/data/misc/v2ray-domain-list-community/default.nix
+++ b/pkgs/data/misc/v2ray-domain-list-community/default.nix
@@ -3,12 +3,12 @@
let
generator = pkgsBuildBuild.buildGoModule rec {
pname = "v2ray-domain-list-community";
- version = "20240914091803";
+ version = "20240920063125";
src = fetchFromGitHub {
owner = "v2fly";
repo = "domain-list-community";
rev = version;
- hash = "sha256-nfw2gpI99hX3sgCdRST4IZ1RsUxPIMWGsTNuFnvOXkU=";
+ hash = "sha256-NNBC7Pd8mxPuC2LVmedZLtvsnw2LfbD+VEPwtTU5DQE=";
};
vendorHash = "sha256-NLh14rXRci4hgDkBJVJDIDvobndB7KYRKAX7UjyqSsg=";
meta = with lib; {
diff --git a/pkgs/development/compilers/chez-racket/shared.nix b/pkgs/development/compilers/chez-racket/shared.nix
index e9a9e42346d6..71bb710d2048 100644
--- a/pkgs/development/compilers/chez-racket/shared.nix
+++ b/pkgs/development/compilers/chez-racket/shared.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation (args // {
postPatch = ''
export ZLIB="$(find ${zlib.out}/lib -type f | sort | head -n1)"
- export LZ4="$(find ${lz4.out}/lib -type f | sort | head -n1)"
+ export LZ4="$(find ${lz4.lib}/lib -type f | sort | head -n1)"
'';
nativeBuildInputs = lib.optionals stdenv.hostPlatform.isDarwin ([ cctools darwin.autoSignDarwinBinariesHook ]);
diff --git a/pkgs/development/libraries/audio/libbass/default.nix b/pkgs/development/libraries/audio/libbass/default.nix
index a8648a1a1c7b..21febc10467c 100644
--- a/pkgs/development/libraries/audio/libbass/default.nix
+++ b/pkgs/development/libraries/audio/libbass/default.nix
@@ -2,31 +2,37 @@
# Upstream changes files in-place, to update:
# 1. Check latest version at http://www.un4seen.com/
-# 2. Update `version`s and `sha256` sums.
+# 2. Update `version`s and `hash` sums.
# See also http://www.un4seen.com/forum/?topic=18614.0
+# Internet Archive used due to upstream URLs being unstable
+
let
allBass = {
bass = {
h = "bass.h";
- version = "2.4.15";
+ version = "2.4.17";
so = {
- i686_linux = "libbass.so";
- x86_64-linux = "x64/libbass.so";
+ i686_linux = "libs/x86/libbass.so";
+ x86_64-linux = "libs/x86_64/libbass.so";
+ armv7l-linux = "libs/armhf/libbass.so";
+ aarch64-linux = "libs/aarch64/libbass.so";
};
- urlpath = "bass24-linux.zip";
- sha256 = "1lmysxfhy727zskavml3ibg5w876ir88923bm17c21s59w5lh7l8";
+ url = "https://web.archive.org/web/20240501180538/http://www.un4seen.com/files/bass24-linux.zip";
+ hash = "sha256-/JAlvtZtnzuzZjWy3n1WT8Q5ZVLO0BJJAJT7/dELS3o=";
};
bass_fx = {
h = "C/bass_fx.h";
version = "2.4.12.1";
so = {
- i686_linux = "libbass_fx.so";
- x86_64-linux = "x64/libbass_fx.so";
+ i686_linux = "libs/x86/libbass_fx.so";
+ x86_64-linux = "libs/x86_64/libbass_fx.so";
+ armv7l-linux = "libs/armhf/libbass_fx.so";
+ aarch64-linux = "libs/aarch64/libbass_fx.so";
};
- urlpath = "z/0/bass_fx24-linux.zip";
- sha256 = "1q0g74z7iyhxqps5b3gnnbic8v2jji1r0mkvais57lsx8y21sbin";
+ url = "https://web.archive.org/web/20240926184106/https://www.un4seen.com/files/z/0/bass_fx24-linux.zip";
+ hash = "sha256-Hul2ELwnaDV8TDRMDXoFisle31GATDkf3PdkR2K9QTs=";
};
};
@@ -35,9 +41,9 @@ let
inherit (bass) version;
src = fetchurl {
- url = "https://www.un4seen.com/files/${bass.urlpath}";
- inherit (bass) sha256;
+ inherit (bass) hash url;
};
+
unpackCmd = ''
mkdir out
${unzip}/bin/unzip $curSrc -d out
@@ -60,8 +66,7 @@ let
homepage = "https://www.un4seen.com/";
license = licenses.unfreeRedistributable;
platforms = builtins.attrNames bass.so;
- # until upstream has stable URLs, this package is prone to always being broken
- broken = true;
+ maintainers = with maintainers; [ jacekpoz ];
};
};
diff --git a/pkgs/development/libraries/drogon/default.nix b/pkgs/development/libraries/drogon/default.nix
index 63f387db9046..701e75ff5f2b 100644
--- a/pkgs/development/libraries/drogon/default.nix
+++ b/pkgs/development/libraries/drogon/default.nix
@@ -9,21 +9,21 @@
stdenv.mkDerivation (finalAttrs: {
pname = "drogon";
- version = "1.9.4";
+ version = "1.9.7";
src = fetchFromGitHub {
owner = "drogonframework";
repo = "drogon";
rev = "v${finalAttrs.version}";
- hash = "sha256-P6blu3EIBzmK1zikFPiV+tvFLfiQhK+cRdClQOhcBSU=";
+ hash = "sha256-YmN02OvCllxADAIicWKaTevrbAsP/ZbnhBd/hjqqz7A=";
fetchSubmodules = true;
};
nativeBuildInputs = [ cmake ];
cmakeFlags = [
- "-DBUILD_TESTING=${if finalAttrs.finalPackage.doInstallCheck then "ON" else "OFF"}"
- "-DBUILD_EXAMPLES=OFF"
+ (lib.cmakeBool "BUILD_TESTING" finalAttrs.finalPackage.doInstallCheck)
+ (lib.cmakeBool "BUILD_EXAMPLES" false)
];
propagatedBuildInputs = [
diff --git a/pkgs/development/libraries/drogon/fix_find_package.patch b/pkgs/development/libraries/drogon/fix_find_package.patch
index b76dbfe48830..49754b9fa220 100644
--- a/pkgs/development/libraries/drogon/fix_find_package.patch
+++ b/pkgs/development/libraries/drogon/fix_find_package.patch
@@ -1,13 +1,13 @@
-diff --git a/test.sh b/test.sh
-index f017b9a..027031e 100755
---- a/test.sh
-+++ b/test.sh
-@@ -135,7 +135,7 @@ if [ $os = "windows" ]; then
- conan install $src_dir -s compiler="Visual Studio" -s compiler.version=16 -sbuild_type=Debug -g cmake_paths
- cmake_gen="$cmake_gen -DCMAKE_TOOLCHAIN_FILE=conan_paths.cmake -DCMAKE_INSTALL_PREFIX=$src_dir/install"
- fi
--cmake .. $cmake_gen
-+cmake .. $cmake_gen -DDrogon_DIR=$out/lib/cmake/Drogon -DTrantor_DIR=$out/lib/cmake/Trantor
+diff --git i/test.sh w/test.sh
+index 4796ff11..a6627fec 100755
+--- i/test.sh
++++ w/test.sh
+@@ -148,7 +148,7 @@ function do_drogon_ctl_test()
+ -DCMAKE_POLICY_DEFAULT_CMP0091=NEW \
+ -DCMAKE_CXX_STANDARD=17"
+ fi
+- cmake .. $cmake_gen
++ cmake .. $cmake_gen -DDrogon_DIR=$out/lib/cmake/Drogon -DTrantor_DIR=$out/lib/cmake/Trantor
- if [ $? -ne 0 ]; then
- echo "Failed to run CMake for example project"
+ if [ $? -ne 0 ]; then
+ echo "Failed to run CMake for example project"
diff --git a/pkgs/development/libraries/libcxxrt/default.nix b/pkgs/development/libraries/libcxxrt/default.nix
index b1ad3d40eb31..908609675f62 100644
--- a/pkgs/development/libraries/libcxxrt/default.nix
+++ b/pkgs/development/libraries/libcxxrt/default.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation {
pname = "libcxxrt";
- version = "4.0.10-unstable-2024-08-06";
+ version = "4.0.10-unstable-2024-09-24";
src = fetchFromGitHub {
owner = "libcxxrt";
repo = "libcxxrt";
- rev = "7a3ef57f64be0f2f2a156af011adfbe76c7dce74";
- sha256 = "H4FodZ3fAgkWWE+ZByAOx7Nn0+ujxEobOkeHdE/lI94=";
+ rev = "40e4fa2049930412a2c43cdf0c39b6b5aa735341";
+ sha256 = "2rEbRTr8RLl8EKrDq210baCPDt9OppdL7zloNjGOZME=";
};
nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/ocaml-modules/vchan/default.nix b/pkgs/development/ocaml-modules/vchan/default.nix
index e1be60da8bd7..51aae9b59b34 100644
--- a/pkgs/development/ocaml-modules/vchan/default.nix
+++ b/pkgs/development/ocaml-modules/vchan/default.nix
@@ -32,6 +32,6 @@ buildDunePackage rec {
description = "Xen Vchan implementation";
homepage = "https://github.com/mirage/ocaml-vchan";
license = licenses.isc;
- maintainers = [ maintainers.sternenseemann ];
+ maintainers = teams.xen.members ++ [ maintainers.sternenseemann ];
};
}
diff --git a/pkgs/development/ocaml-modules/xenstore/default.nix b/pkgs/development/ocaml-modules/xenstore/default.nix
index 296597a6a629..2955755ccb41 100644
--- a/pkgs/development/ocaml-modules/xenstore/default.nix
+++ b/pkgs/development/ocaml-modules/xenstore/default.nix
@@ -25,10 +25,7 @@ buildDunePackage rec {
meta = with lib; {
description = "Xenstore protocol in pure OCaml";
license = licenses.lgpl21Only;
- maintainers = with maintainers; [
- sternenseemann
- sigmasquadron
- ];
+ maintainers = teams.xen.members ++ [ maintainers.sternenseemann ];
homepage = "https://github.com/mirage/ocaml-xenstore";
};
}
diff --git a/pkgs/development/ocaml-modules/xenstore_transport/default.nix b/pkgs/development/ocaml-modules/xenstore_transport/default.nix
index f0867b4ec314..5ef03349e68a 100644
--- a/pkgs/development/ocaml-modules/xenstore_transport/default.nix
+++ b/pkgs/development/ocaml-modules/xenstore_transport/default.nix
@@ -23,5 +23,6 @@ buildDunePackage rec {
description = "Low-level libraries for connecting to a xenstore service on a xen host";
license = licenses.lgpl21Only;
homepage = "https://github.com/xapi-project/ocaml-xenstore-clients";
+ maintainers = teams.xen.members;
};
}
diff --git a/pkgs/development/python-modules/atlassian-python-api/default.nix b/pkgs/development/python-modules/atlassian-python-api/default.nix
index 5d1a30895382..20e01126b974 100644
--- a/pkgs/development/python-modules/atlassian-python-api/default.nix
+++ b/pkgs/development/python-modules/atlassian-python-api/default.nix
@@ -17,7 +17,7 @@
buildPythonPackage rec {
pname = "atlassian-python-api";
- version = "3.41.15";
+ version = "3.41.16";
format = "setuptools";
disabled = pythonOlder "3.7";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
owner = "atlassian-api";
repo = pname;
rev = "refs/tags/${version}";
- hash = "sha256-DnsDulCbkilfD51r8x/L3RJXTDclAi4gYNktfuQC0w8=";
+ hash = "sha256-HhFGM8EPGCT3WqVf6WP6VvwsppvzFvHg+ys7GhUUwW0=";
};
propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/biliass/default.nix b/pkgs/development/python-modules/biliass/default.nix
index 75e799ce44b9..43cb84bac0ed 100644
--- a/pkgs/development/python-modules/biliass/default.nix
+++ b/pkgs/development/python-modules/biliass/default.nix
@@ -2,29 +2,39 @@
lib,
buildPythonPackage,
fetchFromGitHub,
- pythonOlder,
- poetry-core,
- protobuf,
+ rustPlatform,
pytestCheckHook,
}:
buildPythonPackage rec {
pname = "biliass";
- version = "1.3.11";
- format = "pyproject";
-
- disabled = pythonOlder "3.7";
+ version = "2.0.0-beta.1";
+ pyproject = true;
src = fetchFromGitHub {
owner = "yutto-dev";
- repo = "biliass";
- rev = "refs/tags/v${version}";
- hash = "sha256-hBorYAqtxTZ4LElxxJOGxC2g7sBRhRKVv6HOVHZn9FA=";
+ repo = "yutto";
+ rev = "refs/tags/biliass@${version}";
+ hash = "sha256-Clma0Ggkphk6F+K+h3TdMUX4WyWQorh9g2uAT4+Fc9I=";
};
- nativeBuildInputs = [ poetry-core ];
+ sourceRoot = "source/packages/biliass";
+ cargoRoot = "rust";
- propagatedBuildInputs = [ protobuf ];
+ cargoDeps = rustPlatform.fetchCargoTarball {
+ inherit
+ pname
+ version
+ src
+ ;
+ sourceRoot = "${sourceRoot}/${cargoRoot}";
+ hash = "sha256-h/UOolWQ2k5krOZy/kPywpeiLyXWLzvNu+pcn97or1A=";
+ };
+
+ nativeBuildInputs = with rustPlatform; [
+ cargoSetupHook
+ maturinBuildHook
+ ];
doCheck = false; # test artifacts missing
diff --git a/pkgs/development/python-modules/dbt-adapters/default.nix b/pkgs/development/python-modules/dbt-adapters/default.nix
index d39b68a3f7df..50a775edfa4e 100644
--- a/pkgs/development/python-modules/dbt-adapters/default.nix
+++ b/pkgs/development/python-modules/dbt-adapters/default.nix
@@ -14,14 +14,14 @@
buildPythonPackage rec {
pname = "dbt-adapters";
- version = "1.6.1";
+ version = "1.7.0";
pyproject = true;
src = fetchFromGitHub {
owner = "dbt-labs";
repo = "dbt-adapters";
rev = "refs/tags/v${version}";
- hash = "sha256-i5sGgkFrW/37PH5XnH2bf/bTNgCZwEgNZT9IMbOJwLQ=";
+ hash = "sha256-I3A3rIMpT+MAq+ebid9RMr6I3W1l4ir78UmfeEr5U3U=";
};
build-system = [ hatchling ];
diff --git a/pkgs/development/python-modules/docker/default.nix b/pkgs/development/python-modules/docker/default.nix
index 59ab52857824..4ed5c9c113dc 100644
--- a/pkgs/development/python-modules/docker/default.nix
+++ b/pkgs/development/python-modules/docker/default.nix
@@ -16,6 +16,7 @@
# optional-dependenices
paramiko,
+ pynacl, # optional in paramiko, required here
websocket-client,
# tests
@@ -57,7 +58,10 @@ buildPythonPackage rec {
nativeCheckInputs = [
pytestCheckHook
- ] ++ lib.flatten (lib.attrValues optional-dependencies);
+ paramiko
+ pynacl
+ websocket-client
+ ];
pytestFlagsArray = [ "tests/unit" ];
diff --git a/pkgs/development/python-modules/josepy/default.nix b/pkgs/development/python-modules/josepy/default.nix
index 955bc33cc223..b1aa721e1305 100644
--- a/pkgs/development/python-modules/josepy/default.nix
+++ b/pkgs/development/python-modules/josepy/default.nix
@@ -3,6 +3,7 @@
buildPythonPackage,
cryptography,
fetchPypi,
+ fetchpatch,
poetry-core,
pyopenssl,
pytestCheckHook,
@@ -21,6 +22,15 @@ buildPythonPackage rec {
hash = "sha256-MIs7+c6CWtTUu6djcs8ZtdwcLOlqnSmPlkKXXmS9E90=";
};
+ patches = [
+ # don't fail tests on openssl deprecation warning, upstream is working on proper fix
+ # FIXME: remove for next update
+ (fetchpatch {
+ url = "https://github.com/certbot/josepy/commit/350410fc1d38c4ac8422816b6865ac8cd9c60fc7.diff";
+ hash = "sha256-QGbzonXb5BtTTWDeDqnZhbS6gHce99vIOm/H8QYeGXY=";
+ })
+ ];
+
nativeBuildInputs = [ poetry-core ];
propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/proto-plus/default.nix b/pkgs/development/python-modules/proto-plus/default.nix
index df76396f68e3..ae3cd88eeef7 100644
--- a/pkgs/development/python-modules/proto-plus/default.nix
+++ b/pkgs/development/python-modules/proto-plus/default.nix
@@ -11,13 +11,13 @@
buildPythonPackage rec {
pname = "proto-plus";
- version = "1.23.0";
+ version = "1.24.0";
format = "setuptools";
disabled = !isPy3k;
src = fetchPypi {
inherit pname version;
- hash = "sha256-iQdRce8RmIs/oVf129i5zwnWX//ul+Kc5APNje+6GdI=";
+ hash = "sha256-MLcqXsr+RAaw0znbNbVsQFkGTmkie4w72nRiOX+WZEU=";
};
propagatedBuildInputs = [ protobuf ];
diff --git a/pkgs/development/python-modules/pypck/default.nix b/pkgs/development/python-modules/pypck/default.nix
index e39adf256656..a24b786a30c3 100644
--- a/pkgs/development/python-modules/pypck/default.nix
+++ b/pkgs/development/python-modules/pypck/default.nix
@@ -12,7 +12,7 @@
buildPythonPackage rec {
pname = "pypck";
- version = "0.7.23";
+ version = "0.7.24";
pyproject = true;
disabled = pythonOlder "3.9";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
owner = "alengwenus";
repo = "pypck";
rev = "refs/tags/${version}";
- hash = "sha256-CaDwmVx6otBRuPMVpQxaZH/wqkrLgMkq/OnbkkT+VcM=";
+ hash = "sha256-DWdQUnURL3WBi916vOTawtBqq+SHTu4iLViGczwAWQE=";
};
postPatch = ''
diff --git a/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix b/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix
index 43b815e61ce6..48131db46a68 100644
--- a/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix
+++ b/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix
@@ -10,7 +10,7 @@
buildPythonPackage rec {
pname = "tencentcloud-sdk-python";
- version = "3.0.1240";
+ version = "3.0.1241";
pyproject = true;
disabled = pythonOlder "3.9";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
owner = "TencentCloud";
repo = "tencentcloud-sdk-python";
rev = "refs/tags/${version}";
- hash = "sha256-7ymzyQx59IrvI2GyrCYdNVU/3VLa/VzaFTvgfk4stnM=";
+ hash = "sha256-vL6FcD3M8M9RYJZt4LvQOD0Wr6i8KsAQSokjB/o4Lqw=";
};
build-system = [ setuptools ];
diff --git a/pkgs/development/tools/build-managers/moon/default.nix b/pkgs/development/tools/build-managers/moon/default.nix
index f576caef09df..6204b7869268 100644
--- a/pkgs/development/tools/build-managers/moon/default.nix
+++ b/pkgs/development/tools/build-managers/moon/default.nix
@@ -9,16 +9,16 @@
rustPlatform.buildRustPackage rec {
pname = "moon";
- version = "1.28.2";
+ version = "1.28.3";
src = fetchFromGitHub {
owner = "moonrepo";
repo = pname;
rev = "v${version}";
- hash = "sha256-T+fPQ9qQ3mdnf80E6L7VYtDQpiGNj209yH+IgmdAgug=";
+ hash = "sha256-X7O5F/gIkj0EOTMat6koKmCba2V/UiIUq0O46gNiCp8=";
};
- cargoHash = "sha256-PgeVoq0jS7i6WD0cZRHu86zWgxK8fRpJhHujsaFqRy0=";
+ cargoHash = "sha256-I4QLlvN1F4Ptq43A0KpRCnSIxavsvLGnkbJzbiTxjm4=";
env = {
RUSTFLAGS = "-C strip=symbols";
diff --git a/pkgs/development/tools/sentry-cli/default.nix b/pkgs/development/tools/sentry-cli/default.nix
index 52e7927bb18a..5ceb744d504f 100644
--- a/pkgs/development/tools/sentry-cli/default.nix
+++ b/pkgs/development/tools/sentry-cli/default.nix
@@ -11,13 +11,13 @@
}:
rustPlatform.buildRustPackage rec {
pname = "sentry-cli";
- version = "2.36.1";
+ version = "2.36.3";
src = fetchFromGitHub {
owner = "getsentry";
repo = "sentry-cli";
rev = version;
- sha256 = "sha256-kmrSoUrhBJPgIAcMg73Ne4r8Wkx+SXiiNXbtfVp0Q88=";
+ sha256 = "sha256-iqWOcGuDblFKla90w2J8gV2Fv8RjsgfG1VLuNDz4Poc=";
};
doCheck = false;
@@ -27,7 +27,7 @@ rustPlatform.buildRustPackage rec {
buildInputs = [ openssl ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ CoreServices Security SystemConfiguration ];
nativeBuildInputs = [ installShellFiles pkg-config ];
- cargoHash = "sha256-fzQfU3xlRwV/GI69+sd7zz4okbNHbFAskJPgI1X0KQo=";
+ cargoHash = "sha256-TIAKUoiPWlNtcL0Iu/CGLSx8dm9x0GQCtxPCg+t9zyw=";
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
installShellCompletion --cmd sentry-cli \
diff --git a/pkgs/games/kabeljau/default.nix b/pkgs/games/kabeljau/default.nix
index 7f917dce4b3d..58d35ddecb0f 100644
--- a/pkgs/games/kabeljau/default.nix
+++ b/pkgs/games/kabeljau/default.nix
@@ -1,29 +1,26 @@
-{ stdenvNoCC, lib, fetchFromGitea, just, inkscape, makeWrapper, bash, dialog }:
+{ stdenvNoCC, lib, fetchFromGitea, just, imagemagick, makeWrapper, bash, dialog }:
stdenvNoCC.mkDerivation rec {
pname = "kabeljau";
- version = "1.2.0";
+ version = "2.1.0";
src = fetchFromGitea {
domain = "codeberg.org";
owner = "annaaurora";
repo = "kabeljau";
rev = "v${version}";
- hash = "sha256-RedVItgfr6vgqXHA3bOiHXDpfGuHI+sX4jCHL9G5jYk=";
+ hash = "sha256-yZHDnzNTdDXHR+Pi3NODqw4npzuthHgOJYnTmIvGyUE=";
};
# Inkscape is needed in a just recipe where it is used to export the SVG icon to several different sized PNGs.
- nativeBuildInputs = [ just inkscape makeWrapper ];
+ nativeBuildInputs = [ just imagemagick makeWrapper ];
postPatch = ''
patchShebangs --host ${pname}
- substituteInPlace ./justfile \
- --replace " /bin" " $out/bin" \
- --replace " /usr" " $out"
'';
installPhase = ''
runHook preInstall
- just install
+ just --set bin-path $out/bin --set share-path $out/share linux-install
wrapProgram $out/bin/${pname} --suffix PATH : ${
lib.makeBinPath [ dialog ]
}
diff --git a/pkgs/servers/monitoring/grafana-agent/default.nix b/pkgs/servers/monitoring/grafana-agent/default.nix
index c45ea47bac92..1382302def42 100644
--- a/pkgs/servers/monitoring/grafana-agent/default.nix
+++ b/pkgs/servers/monitoring/grafana-agent/default.nix
@@ -15,16 +15,16 @@
buildGoModule rec {
pname = "grafana-agent";
- version = "0.43.0";
+ version = "0.43.3";
src = fetchFromGitHub {
owner = "grafana";
repo = "agent";
rev = "v${version}";
- hash = "sha256-0pwsZONhouGuypGTP64oJd3+nq8VMlyulb/WUJj0qGw=";
+ hash = "sha256-10H3qcvjbmwKL06u+gCxfAdn1z6HaJ/8sWoVa2/ojnA=";
};
- vendorHash = "sha256-vz65gr56wj6PNiQwmfz1wg9SVmRUnrv7ZeWQkqdA4WI=";
+ vendorHash = "sha256-NtFdrdDnuLT5CSax81smNnZxe+I9OouwVyIANyTNzF8=";
proxyVendor = true; # darwin/linux hash mismatch
frontendYarnOfflineCache = fetchYarnDeps {
diff --git a/pkgs/servers/pleroma/Revert-Config-Restrict-permissions-of-OTP-config.patch b/pkgs/servers/pleroma/Revert-Config-Restrict-permissions-of-OTP-config.patch
index 48aa60d4f0d1..34d3fd14e885 100644
--- a/pkgs/servers/pleroma/Revert-Config-Restrict-permissions-of-OTP-config.patch
+++ b/pkgs/servers/pleroma/Revert-Config-Restrict-permissions-of-OTP-config.patch
@@ -3,7 +3,8 @@ From: Yaya