1
0
Fork 1
mirror of https://github.com/NixOS/nixpkgs.git synced 2024-11-17 19:21:04 +00:00

Merge master into staging-next

This commit is contained in:
github-actions[bot] 2024-09-28 18:04:13 +00:00 committed by GitHub
commit 8693fc15c4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
81 changed files with 1420 additions and 914 deletions

2
.github/labeler.yml vendored
View file

@ -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:

View file

@ -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";

View file

@ -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

View file

@ -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.

View file

@ -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

View file

@ -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
];
}

View file

@ -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";
};
};

View file

@ -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;

View file

@ -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

View file

@ -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";

View file

@ -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" ];

View file

@ -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 {

View file

@ -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.

View file

@ -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;
}

View file

@ -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;

View file

@ -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")
'';
}
)

View file

@ -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")

View file

@ -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 ];

View file

@ -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/";

View file

@ -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",

View file

@ -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 = [

View file

@ -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 { };
}
)

View file

@ -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}";

View file

@ -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

View file

@ -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}";

View file

@ -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" ];

View file

@ -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=";
};
};

View file

@ -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;
};
})

View file

@ -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;
};
}

View file

@ -15,11 +15,11 @@
</a>
</p>
# Xen Hypervisor <a href="https://xenproject.org/"><img src="https://downloads.xenproject.org/Branding/Mascots/Xen-Fu-Panda-2000px.png" width="48px" align="top" alt="Xen Fu Panda"></a>
# Xen Project Hypervisor <a href="https://xenproject.org/"><img src="https://downloads.xenproject.org/Branding/Mascots/Xen-Fu-Panda-2000px.png" width="48px" align="top" alt="Xen Fu Panda"></a>
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.

View file

@ -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";

View file

@ -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.
'';
};
};

View file

@ -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

View file

@ -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;

View file

@ -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 ];
};
}

View file

@ -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

View file

@ -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;

View file

@ -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

View file

@ -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"

View file

@ -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;

View file

@ -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;

View file

@ -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"
}
}
}

View file

@ -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;

View file

@ -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"
]

View file

@ -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;

View file

@ -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=";

View file

@ -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 ];

View file

@ -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";

View file

@ -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=";

View file

@ -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;
};
}

View file

@ -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 ];
};
}

View file

@ -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=";
};
};

View file

@ -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";
};
}

View file

@ -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;
};

View file

@ -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

View file

@ -14375,7 +14375,7 @@ dependencies = [
[[package]]
name = "zed"
version = "0.154.2"
version = "0.154.3"
dependencies = [
"activity_indicator",
"anyhow",

View file

@ -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;
};

View file

@ -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 = [

View file

@ -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; {

View file

@ -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 ]);

View file

@ -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 ];
};
};

View file

@ -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 = [

View file

@ -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"

View file

@ -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 ];

View file

@ -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 ];
};
}

View file

@ -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";
};
}

View file

@ -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;
};
}

View file

@ -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 = [

View file

@ -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

View file

@ -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 ];

View file

@ -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 = ''

View file

@ -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 ];

View file

@ -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";

View file

@ -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 \

View file

@ -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 ]
}

View file

@ -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 {

View file

@ -3,7 +3,8 @@ From: Yaya <yaya@uwu.is>
Date: Sun, 6 Aug 2023 00:02:40 +0000
Subject: [PATCH] Revert "Config: Restrict permissions of OTP config file"
This reverts commit 4befb3b1d02f32eb2c56f12e4684a7bb3167b0ee.
This reverts commit 4befb3b1d02f32eb2c56f12e4684a7bb3167b0ee
and 3b82864bccee1af625dd19faed511d5b76f66f9d.
The Nix store is world readable by design.
---
@ -19,7 +20,7 @@ index 9ec0f975e..91e5f1a54 100644
with_runtime_config =
if File.exists?(config_path) do
- # <https://git.pleroma.social/pleroma/pleroma/-/issues/3135>
- %File.Stat{mode: mode} = File.lstat!(config_path)
- %File.Stat{mode: mode} = File.stat!(config_path)
-
- if Bitwise.band(mode, 0o007) > 0 do
- raise "Configuration at #{config_path} has world-permissions, execute the following: chmod o= #{config_path}"

View file

@ -1,32 +1,52 @@
{ lib, beamPackages
, fetchFromGitHub, fetchFromGitLab, fetchHex
, file, cmake
, nixosTests, writeText
, ...
{
lib,
beamPackages,
fetchFromGitHub,
fetchFromGitLab,
fetchHex,
file,
cmake,
nixosTests,
writeText,
vips,
pkg-config,
glib,
...
}:
beamPackages.mixRelease rec {
pname = "pleroma";
version = "2.6.3";
version = "2.7.0";
src = fetchFromGitLab {
domain = "git.pleroma.social";
owner = "pleroma";
repo = "pleroma";
rev = "v${version}";
sha256 = "sha256-ZiupcCu6ES/G9rsdNo5+JXOIPhb4CHT2YhKThWiLisw=";
sha256 = "sha256-2uKVwjxMLC8jyZWW+ltBRNtOR7RaAb8SPO1iV2wyROc=";
};
patches = [
./Revert-Config-Restrict-permissions-of-OTP-config.patch
];
patches = [ ./Revert-Config-Restrict-permissions-of-OTP-config.patch ];
mixNixDeps = import ./mix.nix {
inherit beamPackages lib;
overrides = final: prev: {
# mix2nix does not support git dependencies yet,
# so we need to add them manually
prometheus_ex = beamPackages.buildMix rec {
captcha = beamPackages.buildMix {
name = "captcha";
version = "0.1.0";
src = fetchFromGitLab {
domain = "git.pleroma.social";
owner = "pleroma/elixir-libraries";
repo = "elixir-captcha";
rev = "90f6ce7672f70f56708792a98d98bd05176c9176";
sha256 = "sha256-s7EuAhmCsQA/4p2NJHJSWB/DZ5hA+7EelPsUOvKr2Po=";
};
beamDeps = [ ];
};
prometheus_ex = beamPackages.buildMix {
name = "prometheus_ex";
version = "3.0.5";
@ -34,60 +54,28 @@ beamPackages.mixRelease rec {
owner = "lanodan";
repo = "prometheus.ex";
rev = "31f7fbe4b71b79ba27efc2a5085746c4011ceb8f";
sha256 = "sha256-2PZP+YnwnHt69HtIAQvjMBqBbfdbkRSoMzb1AL2Zsyc=";
hash = "sha256-2PZP+YnwnHt69HtIAQvjMBqBbfdbkRSoMzb1AL2Zsyc=";
};
beamDeps = with final; [ prometheus ];
};
captcha = beamPackages.buildMix rec {
name = "captcha";
version = "0.1.0";
src = fetchFromGitLab {
domain = "git.pleroma.social";
group = "pleroma";
owner = "elixir-libraries";
repo = "elixir-captcha";
rev = "90f6ce7672f70f56708792a98d98bd05176c9176";
hash = "sha256-s7EuAhmCsQA/4p2NJHJSWB/DZ5hA+7EelPsUOvKr2Po=";
};
beamDeps = with final; [ ];
postInstall = "mv priv/* $out/lib/erlang/lib/${name}-${version}/priv/";
};
remote_ip = beamPackages.buildMix rec {
remote_ip = beamPackages.buildMix {
name = "remote_ip";
version = "0.1.5";
src = fetchFromGitLab {
domain = "git.pleroma.social";
group = "pleroma";
owner = "elixir-libraries";
owner = "pleroma/elixir-libraries";
repo = "remote_ip";
rev = "b647d0deecaa3acb140854fe4bda5b7e1dc6d1c8";
sha256 = "0c7vmakcxlcs3j040018i7bfd6z0yq6fjfig02g5fgakx398s0x6";
hash = "sha256-pgON0uhTPVeeAC866Qz24Jvm1okoAECAHJrRzqaq+zA=";
};
beamDeps = with final; [ combine plug inet_cidr ];
};
prometheus_phx = beamPackages.buildMix rec {
name = "prometheus_phx";
version = "0.1.1";
preBuild = ''
touch config/prod.exs
'';
src = fetchFromGitLab {
domain = "git.pleroma.social";
group = "pleroma";
owner = "elixir-libraries";
repo = "prometheus-phx";
rev = "9cd8f248c9381ffedc799905050abce194a97514";
sha256 = "0211z4bxb0bc0zcrhnph9kbbvvi1f2v95madpr96pqzr60y21cam";
};
beamDeps = with final; [ prometheus_ex ];
};
majic = prev.majic.override {
buildInputs = [ file ];
beamDeps = with final; [
combine
plug
inet_cidr
];
};
majic = prev.majic.override { buildInputs = [ file ]; };
# Some additional build inputs and build fixes
http_signatures = prev.http_signatures.override {
patchPhase = ''
@ -98,8 +86,16 @@ beamPackages.mixRelease rec {
nativeBuildInputs = [ cmake ];
dontUseCmakeConfigure = true;
};
syslog = prev.syslog.override {
buildPlugins = with beamPackages; [ pc ];
syslog = prev.syslog.override { buildPlugins = with beamPackages; [ pc ]; };
vix = prev.vix.override {
nativeBuildInputs = [ pkg-config ];
buildInputs = [
vips
glib.dev
];
VIX_COMPILATION_MODE = "PLATFORM_PROVIDED_LIBVIPS";
};
# This needs a different version (1.0.14 -> 1.0.18) to build properly with
@ -132,25 +128,27 @@ beamPackages.mixRelease rec {
sha256 = "120znzz0yw1994nk6v28zql9plgapqpv51n9g6qm6md1f4x7gj0z";
};
beamDeps = [];
beamDeps = [ ];
};
mime = prev.mime.override {
patchPhase = let
cfgFile = writeText "config.exs" ''
use Mix.Config
config :mime, :types, %{
"application/activity+json" => ["activity+json"],
"application/jrd+json" => ["jrd+json"],
"application/ld+json" => ["activity+json"],
"application/xml" => ["xml"],
"application/xrd+xml" => ["xrd+xml"]
}
patchPhase =
let
cfgFile = writeText "config.exs" ''
use Mix.Config
config :mime, :types, %{
"application/activity+json" => ["activity+json"],
"application/jrd+json" => ["jrd+json"],
"application/ld+json" => ["activity+json"],
"application/xml" => ["xml"],
"application/xrd+xml" => ["xrd+xml"]
}
'';
in
''
mkdir config
cp ${cfgFile} config/config.exs
'';
in ''
mkdir config
cp ${cfgFile} config/config.exs
'';
};
};
};
@ -164,7 +162,11 @@ beamPackages.mixRelease rec {
description = "ActivityPub microblogging server";
homepage = "https://git.pleroma.social/pleroma/pleroma";
license = licenses.agpl3Only;
maintainers = with maintainers; [ picnoir kloenk yayayayaka ];
maintainers = with maintainers; [
picnoir
kloenk
yayayayaka
];
platforms = platforms.unix;
};
}

File diff suppressed because it is too large Load diff

View file

@ -8,13 +8,13 @@
}:
let
version = "2.4.3";
version = "2.5.0";
src = fetchFromGitHub {
owner = "rvaiya";
repo = "keyd";
rev = "v" + version;
hash = "sha256-NhZnFIdK0yHgFR+rJm4cW+uEhuQkOpCSLwlXNQy6jas=";
hash = "sha256-pylfQjTnXiSzKPRJh9Jli1hhin/MIGIkZxLKxqlReVo=";
};
pypkgs = python3.pkgs;
@ -26,7 +26,7 @@ let
postPatch = ''
substituteInPlace scripts/${pname} \
--replace /bin/sh ${runtimeShell}
--replace-fail /bin/sh ${runtimeShell}
'';
propagatedBuildInputs = with pypkgs; [ xlib ];
@ -47,10 +47,10 @@ stdenv.mkDerivation {
postPatch = ''
substituteInPlace Makefile \
--replace /usr ""
--replace-fail /usr/local ""
substituteInPlace keyd.service \
--replace /usr/bin $out/bin
substituteInPlace keyd.service.in \
--replace-fail @PREFIX@ $out
'';
installFlags = [ "DESTDIR=${placeholder "out"}" ];
@ -72,7 +72,7 @@ stdenv.mkDerivation {
meta = with lib; {
description = "Key remapping daemon for Linux";
license = licenses.mit;
maintainers = with maintainers; [ peterhoeg ];
maintainers = with maintainers; [ alfarel ];
platforms = platforms.linux;
};
}

View file

@ -2409,8 +2409,6 @@ with pkgs;
gut = callPackage ../applications/version-management/gut { };
hred = callPackage ../development/tools/hred { };
hub = callPackage ../applications/version-management/hub { };
hut = callPackage ../applications/version-management/hut { };
@ -7199,8 +7197,6 @@ with pkgs;
mcrcon = callPackage ../tools/networking/mcrcon { };
mozillavpn = qt6Packages.callPackage ../tools/networking/mozillavpn { };
mozwire = callPackage ../tools/networking/mozwire {
inherit (darwin.apple_sdk.frameworks) CoreServices Security;
};
@ -11323,8 +11319,8 @@ with pkgs;
tautulli = python3Packages.callPackage ../servers/tautulli { };
pleroma = callPackage ../servers/pleroma {
elixir = elixir_1_14;
beamPackages = beamPackages.extend (self: super: { elixir = elixir_1_14; });
elixir = elixir_1_17;
beamPackages = beamPackages.extend (self: super: { elixir = elixir_1_17; });
};
plfit = callPackage ../tools/misc/plfit {