Merge commit '2d52ed7a3277b3d2c5308322e2b140dfdc8ffd54' into haskell-updates

This commit is contained in:
Michael Daniels
2026-02-22 20:21:59 -05:00
572 changed files with 4368 additions and 5422 deletions
+1 -5
View File
@@ -293,11 +293,7 @@ pkgs/development/python-modules/buildcatrust/ @ajs124 @lukegb @mweinelt
/nixos/modules/services/backup/mysql-backup.nix @6543
# Hardened profile & related modules
/nixos/modules/profiles/hardened.nix @joachifm
/nixos/modules/security/lock-kernel-modules.nix @joachifm
/nixos/modules/security/misc.nix @joachifm
/nixos/tests/hardened.nix @joachifm
/pkgs/os-specific/linux/kernel/hardened/ @fabianhjr @joachifm
/pkgs/os-specific/linux/kernel/hardened/ @fabianhjr
# Home Automation
/nixos/modules/services/home-automation/home-assistant.nix @mweinelt
+22 -18
View File
@@ -3601,6 +3601,12 @@
githubId = 37768199;
name = "Christian Bergschneider";
};
blokyk = {
email = "pro@zoeee.net";
github = "blokyk";
githubId = 32983140;
name = "Zoë Courvoisier";
};
bloominstrong = {
email = "github@mail.bloominstrong.net";
github = "bloominstrong";
@@ -5195,12 +5201,6 @@
githubId = 27779510;
keys = [ { fingerprint = "FDF5 EF67 8CC1 FE22 1845 6A22 CF7B BB5B C756 1BD3"; } ];
};
codyopel = {
email = "codyopel@gmail.com";
github = "codyopel";
githubId = 5561189;
name = "Cody Opel";
};
coffeeispower = {
email = "tiagodinis33@proton.me";
github = "coffeeispower";
@@ -7215,6 +7215,11 @@
name = "Tom van Dijk";
keys = [ { fingerprint = "D044 F07B 8863 B681 26BD 79FE 7A98 4C82 07AD BA51"; } ];
};
dtvillafana = {
github = "dtvillafana";
githubId = 82293276;
name = "David Villafaña";
};
dudeofawesome = {
email = "tourist-04.iced@icloud.com";
github = "dudeofawesome";
@@ -12605,12 +12610,6 @@
githubId = 26695750;
name = "Joakim Holm";
};
joachifm = {
email = "joachifm@fastmail.fm";
github = "joachifm";
githubId = 41977;
name = "Joachim Fasting";
};
joachimschmidt557 = {
email = "joachim.schmidt557@outlook.com";
github = "joachimschmidt557";
@@ -21107,12 +21106,6 @@
github = "plebhash";
githubId = 147345153;
};
pleshevskiy = {
email = "dmitriy@pleshevski.ru";
github = "pleshevskiy";
githubId = 7839004;
name = "Dmitriy Pleshevskiy";
};
pluiedev = {
email = "hi@pluie.me";
github = "pluiedev";
@@ -24562,6 +24555,11 @@
githubId = 67710369;
keys = [ { fingerprint = "EA88 EA07 26E9 6CBF 6365 3966 163B 16EE 76ED 24CE"; } ];
};
shunueda = {
name = "Shun Ueda";
github = "shunueda";
githubId = 62182668;
};
shved = {
name = "Yury Shvedov";
email = "mestofel13@gmail.com";
@@ -24898,6 +24896,12 @@
github = "Skyb0rg007";
githubId = 30806179;
};
skyethepinkcat = {
name = "Skye Jonke";
email = "skye@skyenet.online";
github = "skyethepinkcat";
githubId = 29717600;
};
skykanin = {
github = "skykanin";
githubId = 3789764;
@@ -20,6 +20,8 @@
- [PdfDing](https://www.pdfding.com/), manage, view and edit your PDFs seamlessly on all your devices wherever you are. Available as [services.pdfding](#opt-services.pdfding.enable).
- [mangowc](https://github.com/DreamMaoMao/mangowc), a lightweight and feature-rich Wayland compositor based on dwl. Available as [programs.mangowc](#opt-programs.mangowc.enable).
- [reaction](https://reaction.ppom.me/), a daemon that scans program outputs for repeated patterns, and takes action. A common usage is to scan ssh and webserver logs, and to ban hosts that cause multiple authentication errors. A modern alternative to fail2ban. Available as [services.reaction](#opt-services.reaction.enable).
- [rqbit](https://github.com/ikatson/rqbit), a bittorrent client written in Rust. It has HTTP API and Web UI, and can be used as a library. Available as [services.rqbit](#opt-services.rqbit.enable).
@@ -34,6 +36,8 @@
- [nohang](https://github.com/hakavlad/nohang), a daemon for Linux that prevents out of memory (OOM) situations from affecting system responsiveness. Available as [services.nohang](#opt-services.nohang.enable)
- [bentopdf](https://github.com/alam00000/bentopdf), a privacy-first PDF toolkit running completely in-browser. Available as [services.bentopdf](#opt-services.bentopdf.enable).
- [DankMaterialShell](https://danklinux.com), a complete desktop shell for Wayland compositors built with Quickshell. Available as [programs.dms-shell](#opt-programs.dms-shell.enable).
- [dms-greeter](https://danklinux.com), a modern display manager greeter for DankMaterialShell that works with greetd and supports multiple Wayland compositors. Available as [services.displayManager.dms-greeter](#opt-services.displayManager.dms-greeter.enable).
@@ -187,6 +191,13 @@ See <https://github.com/NixOS/nixpkgs/issues/481673>.
- `services.caddy` now supports setting `httpPort` and `httpsPort` and opening them in the firewall via `openFirewall`.
- The latest available version of Nextcloud is v33 (available as `pkgs.nextcloud33`). The installation logic is as follows:
- If [`services.nextcloud.package`](#opt-services.nextcloud.package) is specified explicitly, this package will be installed (**recommended**)
- If [`system.stateVersion`](#opt-system.stateVersion) is >=26.05, `pkgs.nextcloud33` will be installed by default.
- If [`system.stateVersion`](#opt-system.stateVersion) is >=25.11, `pkgs.nextcloud32` will be installed by default.
- `nextcloud31` is EOL and was thus removed.
- Please note that an upgrade from v31 (or older) to v33 directly is not possible. Please upgrade to `nextcloud32` (or earlier) first. Nextcloud prohibits skipping major versions while upgrading. You can upgrade by declaring [`services.nextcloud.package = pkgs.nextcloud32;`](#opt-services.nextcloud.package).
- `services.slurm` now supports slurmrestd usage through the `services.slurm.rest` NixOS options.
- `services.kanidm` options for server, client and unix were moved under dedicated namespaces.
+1 -1
View File
@@ -93,7 +93,7 @@ in
{
meta = {
maintainers = [ lib.maintainers.joachifm ];
maintainers = [ ];
};
options = {
+2
View File
@@ -349,6 +349,7 @@
./programs/wayland/hyprland.nix
./programs/wayland/hyprlock.nix
./programs/wayland/labwc.nix
./programs/wayland/mangowc.nix
./programs/wayland/miracle-wm.nix
./programs/wayland/niri.nix
./programs/wayland/river.nix
@@ -1591,6 +1592,7 @@
./services/web-apps/artalk.nix
./services/web-apps/audiobookshelf.nix
./services/web-apps/baikal.nix
./services/web-apps/bentopdf.nix
./services/web-apps/bluemap.nix
./services/web-apps/bluesky-pds.nix
./services/web-apps/bookstack.nix
-1
View File
@@ -29,7 +29,6 @@ in
config = mkIf config.profiles.hardened {
meta = {
maintainers = [
maintainers.joachifm
maintainers.emily
];
};
+5
View File
@@ -109,6 +109,11 @@ in
consider using `programs.pay-respects` instead.
'')
(mkRemovedOptionModule [ "programs" "tilp2" ] "The corresponding package was removed from nixpkgs.")
(mkRemovedOptionModule [
"programs"
"unity3d"
"enable"
] "The corresponding package was removed from nixpkgs in 2022.")
(mkRemovedOptionModule [ "programs" "way-cooler" ] (
"way-cooler is abandoned by its author: "
+ "https://way-cooler.org/blog/2020/01/09/way-cooler-post-mortem.html"
@@ -9,13 +9,6 @@ let
sandbox = pkgs.chromium.sandbox;
in
{
imports = [
(lib.mkRenamedOptionModule
[ "programs" "unity3d" "enable" ]
[ "security" "chromiumSuidSandbox" "enable" ]
)
];
options.security.chromiumSuidSandbox.enable = lib.mkOption {
type = lib.types.bool;
default = false;
@@ -1,7 +1,7 @@
{ config, lib, ... }:
{
meta = {
maintainers = [ lib.maintainers.joachifm ];
maintainers = [ ];
};
options = {
+1 -1
View File
@@ -1,7 +1,7 @@
{ config, lib, ... }:
{
meta = {
maintainers = [ lib.maintainers.joachifm ];
maintainers = [ ];
};
imports = [
+7 -2
View File
@@ -206,16 +206,17 @@ let
original,
name,
set ? { },
extraArgs ? null,
}:
pkgs.runCommand "${name}-wrapper"
{
nativeBuildInputs = [ pkgs.makeWrapper ];
}
''
makeWrapper "${original}" "$out/bin/${name}" \
${lib.concatStringsSep " \\\n " (
lib.mapAttrsToList (name: value: ''--set ${name} "${value}"'') set
(lib.mapAttrsToList (name: value: ''--set ${name} "${value}"'') set)
++ (lib.optional (extraArgs != null) ''--add-flags "${extraArgs}"'')
)}
'';
@@ -230,6 +231,7 @@ let
}
// (mkPassEnv cfg)
// cfg.environment;
extraArgs = cfg.extraArgs or null;
});
# Paths listed in ReadWritePaths must exist before service is started
@@ -778,6 +780,9 @@ in
description = ''
Additional arguments for all {command}`borg` calls the
service has. Handle with care.
These extra arguments also get included in the wrapper
script for this job.
'';
default = [ ];
example = [ "--remote-path=/path/to/borg" ];
@@ -212,6 +212,10 @@ in
++ lib.optional config.services.pipewire.pulse.enable plasma-pa
++ lib.optional config.powerManagement.enable powerdevil
++ lib.optional config.services.printing.enable print-manager
++ lib.optionals config.hardware.sane.enable [
skanlite
skanpage
]
++ lib.optional config.services.colord.enable colord-kde
++ lib.optional config.services.hardware.bolt.enable plasma-thunderbolt
++ lib.optional config.services.samba.enable kdenetwork-filesharing
@@ -24,6 +24,16 @@ in
'';
default = { };
example = {
charger = {
governor = "performance";
turbo = "auto";
};
battery = {
governor = "powersave";
turbo = "never";
};
};
type = lib.types.submodule { freeformType = format.type; };
};
};
+7 -1
View File
@@ -10,6 +10,10 @@ let
localDB = cfg.database.host == "localhost";
user = cfg.database.username;
phpWithPspell = pkgs.php83.withExtensions ({ enabled, all }: [ all.pspell ] ++ enabled);
env = {
ASPELL_CONF = "dict-dir ${pkgs.aspellWithDicts (_: cfg.dicts)}/lib/aspell";
};
in
{
options.services.roundcube = {
@@ -263,7 +267,7 @@ in
"catch_workers_output" = true;
};
phpPackage = phpWithPspell;
phpEnv.ASPELL_CONF = "dict-dir ${pkgs.aspellWithDicts (_: cfg.dicts)}/lib/aspell";
phpEnv = env;
};
systemd.services.phpfpm-roundcube.after = [ "roundcube-setup.service" ];
@@ -282,6 +286,8 @@ in
after = [ "network-online.target" ];
wantedBy = [ "multi-user.target" ];
environment = env;
path = [
(if localDB then config.services.postgresql.package else pkgs.postgresql)
];
+1 -2
View File
@@ -724,8 +724,7 @@ in
serviceConfig = {
ExecStartPre = [
(pkgs.writeShellScript "frigate-clear-cache" ''
shopt -s extglob
rm --recursive --force /var/cache/frigate/!(model_cache)
${lib.getExe pkgs.findutils} /var/cache/frigate -not -path '/var/cache/frigate/model_cache/*' -type f -delete
'')
(pkgs.writeShellScript "frigate-create-writable-config" ''
cp --no-preserve=mode ${configFile} /run/frigate/frigate.yml
@@ -0,0 +1,112 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.services.bentopdf;
in
{
options.services.bentopdf = {
enable = lib.mkEnableOption "bentopdf Privacy First PDF Toolkit";
package = lib.mkPackageOption pkgs "bentopdf" {
extraDescription = ''
To use the "normal mode" variant of bentopdf, which includes all socials, marketing and explanatory texts, set this option to `pkgs.bentopdf.override { simpleMode = false; }`.
'';
};
domain = lib.mkOption {
description = "Domain to use for the virtual host.";
type = lib.types.str;
};
nginx = {
enable = lib.mkEnableOption "a virtualhost to serve bentopdf through nginx";
virtualHost = lib.mkOption {
type = lib.types.submodule (import ../web-servers/nginx/vhost-options.nix { inherit config lib; });
default = { };
example = lib.literalExpression ''
{
serverAliases = [ "bentopdf.''${config.networking.domain}" ];
}
'';
description = "Extra configuration for the nginx virtual host of bentopdf.";
};
};
caddy = {
enable = lib.mkEnableOption "a virtualhost to serve bentopdf through caddy";
virtualHost = lib.mkOption {
type = lib.types.submodule (
import ../web-servers/caddy/vhost-options.nix { cfg = config.services.caddy; }
);
default = { };
example = lib.literalExpression ''
{
serverAliases = [ "bentopdf.''${config.networking.domain}" ];
}
'';
description = "Extra configuration for the caddy virtual host of bentopdf.";
};
};
};
config = lib.mkIf cfg.enable {
services.nginx = lib.mkIf cfg.nginx.enable {
enable = lib.mkDefault true;
virtualHosts."${cfg.domain}" = lib.mkMerge [
cfg.nginx.virtualHost
{
root = lib.mkForce "${cfg.package}";
locations."/" = {
index = "index.html";
extraConfig = ''
try_files $uri $uri/ /index.html;
'';
};
locations."~* \\.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2|ttf|eot)$".extraConfig = ''
expires 1y;
add_header Cache-Control "public, immutable";
'';
}
];
};
services.caddy = lib.mkIf cfg.caddy.enable {
enable = lib.mkDefault true;
virtualHosts."${cfg.domain}" = lib.mkMerge [
cfg.caddy.virtualHost
{
hostName = lib.mkForce cfg.domain;
extraConfig = ''
root * ${cfg.package}
try_files {path} /index.html
file_server
@static {
path_regexp static \.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2|ttf|eot)$
}
handle @static {
header {
Cache-Control "public, immutable"
}
header Cache-Control max-age=31536000
}
'';
}
];
};
};
meta.maintainers = with lib.maintainers; [
charludo
stunkymonkey
];
}
+1 -1
View File
@@ -5,7 +5,7 @@ self-hostable cloud platform. The server setup can be automated using
[services.nextcloud](#opt-services.nextcloud.enable). A
desktop client is packaged at `pkgs.nextcloud-client`.
The current default by NixOS is `nextcloud32` which is also the latest
The current default by NixOS is `nextcloud33` which is also the latest
major version available.
## Basic usage {#module-services-nextcloud-basic-usage}
@@ -464,8 +464,8 @@ in
type = lib.types.package;
description = "Which package to use for the Nextcloud instance.";
relatedPackages = [
"nextcloud31"
"nextcloud32"
"nextcloud33"
];
};
phpPackage = lib.mkPackageOption pkgs "php" {
@@ -1194,7 +1194,7 @@ in
{
warnings =
let
latest = 32;
latest = 33;
upgradeWarning = major: nixos: ''
A legacy Nextcloud install (from before NixOS ${nixos}) may be installed.
@@ -1226,7 +1226,8 @@ in
++ (lib.optional (lib.versionOlder cfg.package.version "29") (upgradeWarning 28 "24.11"))
++ (lib.optional (lib.versionOlder cfg.package.version "30") (upgradeWarning 29 "24.11"))
++ (lib.optional (lib.versionOlder cfg.package.version "31") (upgradeWarning 30 "25.05"))
++ (lib.optional (lib.versionOlder cfg.package.version "32") (upgradeWarning 31 "25.11"));
++ (lib.optional (lib.versionOlder cfg.package.version "32") (upgradeWarning 31 "25.11"))
++ (lib.optional (lib.versionOlder cfg.package.version "33") (upgradeWarning 32 "26.05"));
services.nextcloud.package = lib.mkDefault (
if pkgs ? nextcloud then
@@ -1235,12 +1236,12 @@ in
nextcloud defined in an overlay, please set `services.nextcloud.package` to
`pkgs.nextcloud`.
''
else if lib.versionOlder stateVersion "25.05" then
pkgs.nextcloud30
else if lib.versionOlder stateVersion "25.11" then
pkgs.nextcloud31
else
else if lib.versionOlder stateVersion "26.05" then
pkgs.nextcloud32
else
pkgs.nextcloud33
);
services.nextcloud.phpOptions = lib.mkMerge [
+1
View File
@@ -275,6 +275,7 @@ in
beanstalkd = runTest ./beanstalkd.nix;
bees = runTest ./bees.nix;
benchexec = runTest ./benchexec.nix;
bentopdf = handleTest ./bentopdf { };
beszel = runTest ./beszel.nix;
binary-cache = runTest {
imports = [ ./binary-cache.nix ];
+28
View File
@@ -0,0 +1,28 @@
import ../make-test-python.nix (
{ lib, ... }:
{
name = "bentopdf-caddy";
meta.maintainers = with lib.maintainers; [ stunkymonkey ];
nodes.machine =
{ pkgs, ... }:
{
services.bentopdf = {
enable = true;
domain = "localhost:80";
caddy.enable = true;
caddy.virtualHost.extraConfig = "tls internal";
};
# disable letsencrypt cert fetching
services.caddy.globalConfig = "auto_https disable_certs";
};
testScript = ''
machine.wait_for_unit("caddy.service")
machine.wait_for_open_port(80)
machine.succeed("curl -vvv --fail --show-error --silent --location --insecure http://localhost/")
assert "<title>BentoPDF - The Privacy First PDF Toolkit</title>" in machine.succeed("curl --fail --show-error --silent --location --insecure http://localhost/")
'';
}
)
+6
View File
@@ -0,0 +1,6 @@
{ system, pkgs, ... }:
{
caddy = import ./caddy.nix { inherit system pkgs; };
nginx = import ./nginx.nix { inherit system pkgs; };
}
+24
View File
@@ -0,0 +1,24 @@
import ../make-test-python.nix (
{ lib, ... }:
{
name = "bentopdf-nginx";
meta.maintainers = with lib.maintainers; [ stunkymonkey ];
nodes.machine =
{ pkgs, ... }:
{
services.bentopdf = {
enable = true;
domain = "localhost";
nginx.enable = true;
};
};
testScript = ''
machine.wait_for_unit("nginx.service")
machine.wait_for_open_port(80)
assert "<title>BentoPDF - The Privacy First PDF Toolkit</title>" in machine.succeed("curl --fail --show-error --silent --location --insecure http://localhost:80/")
'';
}
)
+2 -1
View File
@@ -131,7 +131,8 @@ in
repo = remoteRepo;
encryption.mode = "none";
startAt = [ ];
environment.BORG_RSH = "ssh -oStrictHostKeyChecking=no -i /root/id_ed25519";
# This uses extraArgs instead of BORG_RSH to test propagation of these args
extraArgs = [ "--rsh=ssh -oStrictHostKeyChecking=no -i /root/id_ed25519" ];
};
commandFail = {
+1 -1
View File
@@ -73,7 +73,7 @@
services.caddy = {
package = pkgs.caddy.withPlugins {
plugins = [ "github.com/caddyserver/replace-response@v0.0.0-20241211194404-3865845790a7" ];
hash = "sha256-RrB0/qXL0mCvkxKaz8zhj5GWKEtOqItXP2ASYz7VdMU=";
hash = "sha256-P6rYPJeJcKZgH/d29YQrPf68uWWuav2tQq/2+sVT3tg=";
};
configFile = pkgs.writeText "Caddyfile" ''
{
+1 -1
View File
@@ -4,7 +4,7 @@ let
in
{
name = "dnscrypt-proxy";
meta.maintainers = with lib.maintainers; [ joachifm ];
meta.maintainers = [ ];
nodes = {
# A client running the recommended setup: DNSCrypt proxy as a forwarder
+2 -2
View File
@@ -1,8 +1,8 @@
{ pkgs, ... }:
{
name = "hardened";
meta = with pkgs.lib.maintainers; {
maintainers = [ joachifm ];
meta = {
maintainers = [ ];
};
nodes.machine =
+1 -1
View File
@@ -57,7 +57,7 @@
# Still on main page
machine.succeed("xdotool mousemove 500 740 click 1")
machine.sleep(2)
machine.wait_for_text(r"(Date|Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday|All day|Name|Details|More)")
machine.wait_for_text(r"(Date|January|February|March|April|May|June|July|August|September|October|November|December|Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday|All day|Name|Details|More)")
machine.screenshot("lomiri-calendar_newevent")
# On New Event page
+6 -1
View File
@@ -20,6 +20,10 @@ let
type = types.str;
default = "";
};
provision = mkOption {
type = types.str;
default = "";
};
extraTests = mkOption {
type = types.either types.str (types.functionTo types.str);
default = "";
@@ -75,6 +79,7 @@ let
inherit (config) test-helpers;
in
mkBefore ''
${test-helpers.provision}
start_all()
nextcloud.wait_for_unit("multi-user.target")
@@ -142,7 +147,7 @@ let
in
listToAttrs (
concatMap genTests [
31
32
33
]
)
+78 -47
View File
@@ -8,15 +8,23 @@
with import ../../lib/testing-python.nix { inherit system pkgs; };
runTest (
{ config, lib, ... }:
{
config,
lib,
pkgs,
...
}:
let
accessKey = "BKIKJAA5BMMU2RHO6IBB";
secretKey = "V7f1CwQqAcwo80UEIJEjc5gVQUSSx5ohQ9GSrr12";
accessKey = "GK85bae09276df06d47a1ed2bf";
secretKey = "eac031e3379beb05477a9c8381ade716c8f5860f1dffec915ae2a728a88c88c6";
rootCredentialsFile = pkgs.writeText "minio-credentials-full" ''
MINIO_ROOT_USER=${accessKey}
MINIO_ROOT_PASSWORD=${secretKey}
'';
awsCfg = "${pkgs.writeText "aws.cfg" ''
[default]
endpoint_url=https://acme.test
aws_access_key_id=${accessKey}
aws_secret_access_key=${secretKey}
region=garage
''}";
in
{
inherit name;
@@ -27,7 +35,6 @@ runTest (
nodes = {
nextcloud =
{
config,
pkgs,
nodes,
...
@@ -35,6 +42,9 @@ runTest (
{
services.nextcloud.config.dbtype = "sqlite";
environment.variables.AWS_CONFIG_FILE = awsCfg;
environment.variables.AWS_CA_BUNDLE = "/etc/ssl/certs/ca-bundle.crt";
services.nextcloud.config.objectstore.s3 = {
enable = true;
bucket = "nextcloud";
@@ -45,40 +55,60 @@ runTest (
useSsl = true;
port = 443;
usePathStyle = true;
region = "us-east-1";
region = "garage";
};
security.pki.certificates = [
(builtins.readFile ../common/acme/server/ca.cert.pem)
];
environment.systemPackages = [ pkgs.minio-client ];
environment.systemPackages = [ pkgs.awscli2 ];
# The dummy certs are for acme.test, so we pretend that's the FQDN
# of the minio VM.
# of the garage VM.
networking.extraHosts = ''
${nodes.minio.networking.primaryIPAddress} acme.test
${nodes.garage.networking.primaryIPAddress} acme.test
'';
};
client =
{ nodes, ... }:
{ pkgs, nodes, ... }:
{
environment.variables.AWS_CONFIG_FILE = awsCfg;
environment.variables.AWS_CA_BUNDLE = "/etc/ssl/certs/ca-bundle.crt";
environment.systemPackages = [ pkgs.awscli2 ];
security.pki.certificates = [
(builtins.readFile ../common/acme/server/ca.cert.pem)
];
networking.extraHosts = ''
${nodes.minio.networking.primaryIPAddress} acme.test
${nodes.garage.networking.primaryIPAddress} acme.test
'';
};
minio =
{ ... }:
garage =
{ pkgs, ... }:
{
security.pki.certificates = [
(builtins.readFile ../common/acme/server/ca.cert.pem)
];
services.garage = {
enable = true;
package = pkgs.garage_2;
settings = {
rpc_bind_addr = "[::]:3901";
rpc_public_addr = "[::]:3901";
rpc_secret = "81e5ab61625a5097c5953a09a16a524479c290ca01921560704395b830ad248d";
replication_factor = 1;
s3_api = {
s3_region = "garage";
api_bind_addr = "[::]:3900";
};
};
};
services.nginx = {
enable = true;
recommendedProxySettings = true;
@@ -87,7 +117,7 @@ runTest (
onlySSL = true;
sslCertificate = ../common/acme/server/acme.test.cert.pem;
sslCertificateKey = ../common/acme/server/acme.test.key.pem;
locations."/".proxyPass = "http://127.0.0.1:9000";
locations."/".proxyPass = "http://127.0.0.1:3900";
};
};
@@ -95,25 +125,34 @@ runTest (
127.0.0.1 acme.test
'';
environment.systemPackages = [ pkgs.gawk ];
virtualisation.diskSize = 2 * 1024;
networking.firewall.allowedTCPPorts = [
9000
3900
80
443
];
services.minio = {
enable = true;
listenAddress = "0.0.0.0:9000";
consoleAddress = "0.0.0.0:9001";
inherit rootCredentialsFile;
};
};
};
test-helpers.init = ''
minio.wait_for_open_port(9000)
minio.wait_for_unit("nginx.service")
minio.wait_for_open_port(443)
test-helpers.provision = ''
garage.start()
garage.wait_for_open_port(3900)
garage.wait_for_unit("nginx.service")
garage.wait_for_open_port(443)
node_id = garage.succeed("garage status | tail -n1 | awk '{ print $1 }'")
garage.succeed(
"garage status",
f"garage layout assign -c 1GB -z garage {node_id}",
"garage layout apply --version 1",
"garage key import ${accessKey} ${secretKey} --yes",
"garage bucket create nextcloud",
"garage key list >&2",
"garage bucket allow --read --write --owner nextcloud --key ${accessKey}"
)
'';
test-helpers.extraTests =
@@ -124,42 +163,34 @@ runTest (
nextcloud.succeed("test ! -e ${nodes.nextcloud.services.nextcloud.home}/data/root/files/test-shared-file")
with subtest("Check if file is in S3"):
nextcloud.succeed(
"mc alias set minio https://acme.test ${accessKey} ${secretKey} --api s3v4"
)
files = nextcloud.succeed('mc ls minio/nextcloud|sort').strip().split('\n')
files = [
f.rsplit(' ', 2)
for f in nextcloud.succeed('aws s3 ls s3://nextcloud/|sort').strip().split('\n')
]
print(files)
# Cannot assert an exact number here, nc27 writes more stuff initially into S3.
# For now let's assume it's always the most recently added file.
assert len(files) > 0, f"""
Expected to have at least one object in minio/nextcloud. But `mc ls` gave output:
Expected to have at least one object in garage/nextcloud. But `mc ls` gave output:
'{files}'
"""
import re
ptrn = re.compile("^\[[A-Z0-9 :-]+\] +(?P<details>[A-Za-z0-9 :]+)$")
match = ptrn.match(files[-1].strip())
assert match, "Cannot match mc client output!"
size, type_, file = tuple(match.group('details').split(' '))
_, size, file = files[-1]
assert size == "3B", f"""
assert size == "3", f"""
Expected size of uploaded file to be 3 bytes, got {size}
"""
assert type_ == 'STANDARD', f"""
Expected type of bucket entry to be a file, i.e. 'STANDARD'. Got {type_}
"""
assert file.startswith('urn:oid'), """
Expected filename to start with 'urn:oid', instead got '{file}.
"""
with subtest("Test download from S3"):
client.succeed(
"env AWS_ACCESS_KEY_ID=${accessKey} AWS_SECRET_ACCESS_KEY=${secretKey} "
+ f"${lib.getExe pkgs.awscli2} s3 cp s3://nextcloud/{file} test --endpoint-url https://acme.test "
+ "--region us-east-1 --ca-bundle /etc/ssl/certs/ca-bundle.crt"
f"aws s3 cp s3://nextcloud/{file} test "
+ "--ca-bundle /etc/ssl/certs/ca-bundle.crt"
)
client.succeed("test hi = $(cat test)")
+1 -1
View File
@@ -1,7 +1,7 @@
{ lib, ... }:
{
name = "tor";
meta.maintainers = with lib.maintainers; [ joachifm ];
meta.maintainers = [ ];
nodes.client =
{ pkgs, ... }:
@@ -28,12 +28,12 @@
zlib,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "bitwig-studio";
version = "4.4.10";
src = fetchurl {
url = "https://downloads.bitwig.com/stable/${version}/${pname}-${version}.deb";
url = "https://downloads.bitwig.com/stable/${finalAttrs.version}/${finalAttrs.pname}-${finalAttrs.version}.deb";
sha256 = "sha256-gtQ1mhXk0AqGidZk5TCzSR58pD1JJoELMBmELtqyb4U=";
};
@@ -101,7 +101,7 @@ stdenv.mkDerivation rec {
"''${gappsWrapperArgs[@]}" \
--prefix PATH : "${lib.makeBinPath [ ffmpeg ]}" \
--suffix PATH : "${lib.makeBinPath [ xdg-utils ]}" \
--suffix LD_LIBRARY_PATH : "${lib.strings.makeLibraryPath buildInputs}"
--suffix LD_LIBRARY_PATH : "${lib.strings.makeLibraryPath finalAttrs.buildInputs}"
done
find $out -type f -executable -name 'jspawnhelper' | \
@@ -127,4 +127,4 @@ stdenv.mkDerivation rec {
];
sourceProvenance = [ lib.sourceTypes.binaryNativeCode ];
};
}
})
@@ -35,13 +35,13 @@
zlib,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "bitwig-studio-unwrapped";
version = "5.3.13";
src = fetchurl {
name = "bitwig-studio-${version}.deb";
url = "https://www.bitwig.com/dl/Bitwig%20Studio/${version}/installer_linux/";
name = "bitwig-studio-${finalAttrs.version}.deb";
url = "https://www.bitwig.com/dl/Bitwig%20Studio/${finalAttrs.version}/installer_linux/";
hash = "sha256-tx+Dz9fTm4DIobwLa055ZOCMG+tU7vQl11NFnEKMAno=";
};
@@ -117,7 +117,7 @@ stdenv.mkDerivation rec {
"''${gappsWrapperArgs[@]}" \
--prefix PATH : "${lib.makeBinPath [ ffmpeg ]}" \
--suffix PATH : "${lib.makeBinPath [ xdg-utils ]}" \
--suffix LD_LIBRARY_PATH : "${lib.strings.makeLibraryPath buildInputs}"
--suffix LD_LIBRARY_PATH : "${lib.strings.makeLibraryPath finalAttrs.buildInputs}"
done
find $out -type f -executable -name 'jspawnhelper' | \
@@ -143,4 +143,4 @@ stdenv.mkDerivation rec {
];
sourceProvenance = [ lib.sourceTypes.binaryNativeCode ];
};
}
})
@@ -12,14 +12,14 @@
gtk3,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "deadbeef-headerbar-gtk3-plugin";
version = "1.2";
src = fetchFromGitHub {
owner = "saivert";
repo = "ddb_misc_headerbar_GTK3";
rev = "v${version}";
rev = "v${finalAttrs.version}";
sha256 = "1v1schvnps7ypjqgcbqi74a45w8r2gbhrawz7filym22h1qr9wn0";
};
@@ -49,4 +49,4 @@ stdenv.mkDerivation rec {
maintainers = [ lib.maintainers.jtojnar ];
platforms = lib.platforms.linux;
};
}
})
@@ -9,14 +9,14 @@
libdbusmenu,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "deadbeef-statusnotifier-plugin";
version = "1.6";
src = fetchFromGitHub {
owner = "vovochka404";
repo = "deadbeef-statusnotifier-plugin";
rev = "v${version}";
rev = "v${finalAttrs.version}";
sha256 = "sha256-6WEbY59vPNrL3W5GUwFQJimmSS+td8Ob+G46fPAxfV4=";
};
@@ -48,4 +48,4 @@ stdenv.mkDerivation rec {
maintainers = [ lib.maintainers.kurnevsky ];
platforms = lib.platforms.linux;
};
}
})
+3 -3
View File
@@ -6,12 +6,12 @@
portaudio,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "espeak";
version = "1.48.04";
src = fetchurl {
url = "mirror://sourceforge/espeak/espeak-${version}-source.zip";
url = "mirror://sourceforge/espeak/espeak-${finalAttrs.version}-source.zip";
sha256 = "0n86gwh9pw0jqqpdz7mxggllfr8k0r7pc67ayy7w5z6z79kig6mz";
};
@@ -42,4 +42,4 @@ stdenv.mkDerivation rec {
license = lib.licenses.gpl3Plus;
platforms = lib.platforms.linux;
};
}
})
+3 -3
View File
@@ -9,12 +9,12 @@
sox,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "espeakedit";
version = "1.48.03";
src = fetchurl {
url = "mirror://sourceforge/espeak/espeakedit-${version}.zip";
url = "mirror://sourceforge/espeak/espeakedit-${finalAttrs.version}.zip";
sha256 = "0x8s7vpb7rw5x37yjzy1f98m4f2csdg89libb74fm36gn8ly0hli";
};
@@ -76,4 +76,4 @@ stdenv.mkDerivation rec {
license = lib.licenses.gpl3Plus;
platforms = lib.platforms.linux;
};
}
})
@@ -11,14 +11,14 @@
perlPackages,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "swh-plugins";
version = "0.4.17";
src = fetchFromGitHub {
owner = "swh";
repo = "ladspa";
rev = "v${version}";
rev = "v${finalAttrs.version}";
sha256 = "sha256-eOtIhNcuItREUShI8JRlBVKfMfovpdfIYu+m37v4KLE=";
};
@@ -57,4 +57,4 @@ stdenv.mkDerivation rec {
maintainers = [ lib.maintainers.magnetophon ];
platforms = lib.platforms.unix;
};
}
})
@@ -21,14 +21,14 @@
tlsBackend ? "native-tls", # "native-tls" "rustls-tls-native-roots" "rustls-tls-webpki-roots"
}:
rustPlatform.buildRustPackage rec {
rustPlatform.buildRustPackage (finalAttrs: {
pname = "librespot";
version = "0.8.0";
src = fetchFromGitHub {
owner = "librespot-org";
repo = "librespot";
rev = "v${version}";
rev = "v${finalAttrs.version}";
hash = "sha256-twWndV6z5Cdivz7pfAJzdlIjddEiZPEFnTzipMczmJo=";
};
@@ -71,8 +71,8 @@ rustPlatform.buildRustPackage rec {
description = "Open Source Spotify client library and playback daemon";
mainProgram = "librespot";
homepage = "https://github.com/librespot-org/librespot";
changelog = "https://github.com/librespot-org/librespot/blob/v${version}/CHANGELOG.md";
changelog = "https://github.com/librespot-org/librespot/blob/v${finalAttrs.version}/CHANGELOG.md";
license = with lib.licenses; [ mit ];
maintainers = with lib.maintainers; [ bennofs ];
};
}
})
+4 -4
View File
@@ -26,14 +26,14 @@
SDL ? null,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "lmms";
version = "1.2.2";
src = fetchFromGitHub {
owner = "LMMS";
repo = "lmms";
rev = "v${version}";
rev = "v${finalAttrs.version}";
sha256 = "006hwv1pbh3y5whsxkjk20hsbgwkzr4dawz43afq1gil69y7xpda";
fetchSubmodules = true;
};
@@ -83,7 +83,7 @@ stdenv.mkDerivation rec {
cmakeFlags = [
"-DWANT_QT5=ON"
]
++ lib.optionals (lib.versionOlder version "11.4") [
++ lib.optionals (lib.versionOlder finalAttrs.version "11.4") [
# Fix the build with CMake 4.
"-DCMAKE_POLICY_VERSION_MINIMUM=3.5"
];
@@ -96,4 +96,4 @@ stdenv.mkDerivation rec {
platforms = lib.platforms.linux;
maintainers = [ ];
};
}
})
@@ -5,14 +5,14 @@
faust2jaqt,
faust2lv2,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "CharacterCompressor";
version = "0.3.3";
src = fetchFromGitHub {
owner = "magnetophon";
repo = "CharacterCompressor";
rev = "V${version}";
rev = "V${finalAttrs.version}";
sha256 = "1h0bhjhx023476gbijq842b6f8z71zcyn4c9mddwyb18w9cdamp5";
};
@@ -46,4 +46,4 @@ stdenv.mkDerivation rec {
license = lib.licenses.gpl3;
maintainers = [ lib.maintainers.magnetophon ];
};
}
})
@@ -5,14 +5,14 @@
faust2jaqt,
faust2lv2,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "CompBus";
version = "1.1.1";
src = fetchFromGitHub {
owner = "magnetophon";
repo = "CompBus";
rev = "V${version}";
rev = "V${finalAttrs.version}";
sha256 = "0yhj680zgk4dn4fi8j3apm72f3z2mjk12amf2a7p0lwn9iyh4a2z";
};
@@ -50,4 +50,4 @@ stdenv.mkDerivation rec {
license = lib.licenses.gpl3;
maintainers = [ lib.maintainers.magnetophon ];
};
}
})
@@ -5,14 +5,14 @@
faust2jaqt,
faust2lv2,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "constant-detune-chorus";
version = "0.1.3";
src = fetchFromGitHub {
owner = "magnetophon";
repo = "constant-detune-chorus";
rev = "V${version}";
rev = "V${finalAttrs.version}";
sha256 = "1sipmc25fr7w7xqx1r0y6i2zwfkgszzwvhk1v15mnsb3cqvk8ybn";
};
@@ -43,4 +43,4 @@ stdenv.mkDerivation rec {
license = lib.licenses.gpl3;
maintainers = [ lib.maintainers.magnetophon ];
};
}
})
@@ -5,14 +5,14 @@
faust2jaqt,
faust2lv2,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "LazyLimiter";
version = "0.3.2";
src = fetchFromGitHub {
owner = "magnetophon";
repo = "LazyLimiter";
rev = "V${version}";
rev = "V${finalAttrs.version}";
sha256 = "10xdydwmsnkx8hzsm74pa546yahp29wifydbc48yywv3sfj5anm7";
};
@@ -43,4 +43,4 @@ stdenv.mkDerivation rec {
license = lib.licenses.gpl2;
maintainers = [ lib.maintainers.magnetophon ];
};
}
})
@@ -6,14 +6,14 @@
faust2jaqt,
faust2lv2,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "MBdistortion";
version = "1.1.1";
src = fetchFromGitHub {
owner = "magnetophon";
repo = "MBdistortion";
rev = "V${version}";
rev = "V${finalAttrs.version}";
sha256 = "0mdzaqmxzgspfgx9w1hdip18y17hwpdcgjyq1rrfm843vkascwip";
};
@@ -51,4 +51,4 @@ stdenv.mkDerivation rec {
license = lib.licenses.gpl2;
maintainers = [ lib.maintainers.magnetophon ];
};
}
})
@@ -5,14 +5,14 @@
faust2jaqt,
faust2lv2,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "RhythmDelay";
version = "2.1";
src = fetchFromGitHub {
owner = "magnetophon";
repo = "RhythmDelay";
rev = "V${version}";
rev = "V${finalAttrs.version}";
sha256 = "1j0bjl9agz43dcrcrbiqd7fv7xsxgd65s4ahhv5pvcr729y0fxg4";
};
@@ -43,4 +43,4 @@ stdenv.mkDerivation rec {
license = lib.licenses.gpl3;
maintainers = [ lib.maintainers.magnetophon ];
};
}
})
@@ -8,23 +8,23 @@
puredata-with-plugins,
jack-example-tools,
}:
stdenv.mkDerivation rec {
let
plugins = [
helmholtz
];
pitchTracker = puredata-with-plugins plugins;
in
stdenv.mkDerivation (finalAttrs: {
pname = "VoiceOfFaust";
version = "1.1.7";
src = fetchFromGitHub {
owner = "magnetophon";
repo = "VoiceOfFaust";
tag = "V${version}";
tag = "V${finalAttrs.version}";
sha256 = "sha256-wsc4yzytK2hPVBQwMhdhjnH1pDtpkNCFJnItyzszEs0=";
};
plugins = [
helmholtz
];
pitchTracker = puredata-with-plugins plugins;
nativeBuildInputs = [
faust2jack
faust2lv2
@@ -52,4 +52,4 @@ stdenv.mkDerivation rec {
license = lib.licenses.agpl3Only;
maintainers = [ lib.maintainers.magnetophon ];
};
}
})
@@ -5,14 +5,14 @@
faust2jaqt,
faust2lv2,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "faustCompressors";
version = "1.2";
src = fetchFromGitHub {
owner = "magnetophon";
repo = "faustCompressors";
rev = "v${version}";
rev = "v${finalAttrs.version}";
sha256 = "144f6g17q4m50kxzdncsfzdyycdfprnpwdaxcwgxj4jky1xsha1d";
};
@@ -55,4 +55,4 @@ stdenv.mkDerivation rec {
license = lib.licenses.gpl3;
maintainers = [ lib.maintainers.magnetophon ];
};
}
})
@@ -5,14 +5,14 @@
faust2jaqt,
faust2lv2,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "pluginUtils";
version = "1.1";
src = fetchFromGitHub {
owner = "magnetophon";
repo = "pluginUtils";
rev = "V${version}";
rev = "V${finalAttrs.version}";
sha256 = "1hnr5sp7k6ypf4ks61lnyqx44dkv35yllf3a3xcbrw7yqzagwr1c";
};
@@ -50,4 +50,4 @@ stdenv.mkDerivation rec {
license = lib.licenses.gpl3;
maintainers = [ lib.maintainers.magnetophon ];
};
}
})
@@ -5,14 +5,14 @@
faust2jaqt,
faust2lv2,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "shelfMultiBand";
version = "0.6.1";
src = fetchFromGitHub {
owner = "magnetophon";
repo = "shelfMultiBand";
rev = "V${version}";
rev = "V${finalAttrs.version}";
sha256 = "1b1h4z5fs2xm7wvw11p9wnd0bxs3m88124f5phh0gwvpsdrd0im5";
};
@@ -46,4 +46,4 @@ stdenv.mkDerivation rec {
license = lib.licenses.gpl3;
maintainers = [ lib.maintainers.magnetophon ];
};
}
})
+6 -6
View File
@@ -26,7 +26,7 @@ let
'') debs
);
in
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "${lib.toLower type}-edit";
inherit version;
@@ -40,9 +40,9 @@ stdenv.mkDerivation rec {
installPhase = ''
mkdir -p $out/bin
cp ${type}-Edit $out/bin/.${pname}
cp ${type}-Edit $out/bin/.${finalAttrs.pname}
cat >$out/bin/${pname} <<EOF
cat >$out/bin/${finalAttrs.pname} <<EOF
#!${runtimeShell} -eu
exec ${lib.getExe bubblewrap} \
--dev-bind / / \
@@ -50,9 +50,9 @@ stdenv.mkDerivation rec {
--ro-bind "${debian}/lib64" /lib64 \
--tmpfs /usr \
--ro-bind "${debian}/usr/lib" /usr/lib \
$out/bin/.${pname}
$out/bin/.${finalAttrs.pname}
EOF
chmod 755 $out/bin/${pname}
chmod 755 $out/bin/${finalAttrs.pname}
'';
passthru.deps =
@@ -81,4 +81,4 @@ stdenv.mkDerivation rec {
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ magnetophon ];
};
}
})
+3 -3
View File
@@ -5,13 +5,13 @@
mopidy,
}:
pythonPackages.buildPythonApplication rec {
pythonPackages.buildPythonApplication (finalAttrs: {
pname = "mopidy-bandcamp";
version = "1.1.5";
pyproject = true;
src = fetchPypi {
inherit version;
inherit (finalAttrs) version;
pname = "Mopidy-Bandcamp";
hash = "sha256-wg9zcOKfZQRhpyA1Cu5wvdwKpmrlcr2m9mrqBHgUXAQ=";
};
@@ -33,4 +33,4 @@ pythonPackages.buildPythonApplication rec {
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ desttinghim ];
};
}
})
+3 -3
View File
@@ -5,14 +5,14 @@
mopidy,
}:
pythonPackages.buildPythonApplication rec {
pythonPackages.buildPythonApplication (finalAttrs: {
pname = "mopidy-iris";
version = "3.70.0";
pyproject = true;
src = fetchPypi {
pname = "mopidy_iris";
inherit version;
inherit (finalAttrs) version;
hash = "sha256-md/1blTTtjiAAb/jiLE2EfiSlIUwEga8U7OiuKa466k=";
};
@@ -38,4 +38,4 @@ pythonPackages.buildPythonApplication rec {
license = lib.licenses.asl20;
maintainers = [ lib.maintainers.rvolosatovs ];
};
}
})
+3 -3
View File
@@ -5,13 +5,13 @@
mopidy,
}:
pythonPackages.buildPythonApplication rec {
pythonPackages.buildPythonApplication (finalAttrs: {
pname = "mopidy-jellyfin";
version = "1.0.6";
pyproject = true;
src = fetchPypi {
inherit version;
inherit (finalAttrs) version;
pname = "mopidy_jellyfin";
hash = "sha256-IKCPypMuluR0+mMALp8lB1oB1pSw4rN4rOl/eKn+Qvo=";
};
@@ -34,4 +34,4 @@ pythonPackages.buildPythonApplication rec {
license = lib.licenses.asl20;
maintainers = [ lib.maintainers.pstn ];
};
}
})
@@ -5,7 +5,7 @@
mopidy,
}:
pythonPackages.buildPythonApplication rec {
pythonPackages.buildPythonApplication (finalAttrs: {
pname = "mopidy-listenbrainz";
version = "0.3.0";
pyproject = true;
@@ -13,7 +13,7 @@ pythonPackages.buildPythonApplication rec {
src = fetchFromGitHub {
owner = "suaviloquence";
repo = "mopidy-listenbrainz";
tag = "v${version}";
tag = "v${finalAttrs.version}";
hash = "sha256-kYZgG2KQMTxMR8tdwwCKkfexDcxcndXG9LSdlnoN/CY=";
};
@@ -32,4 +32,4 @@ pythonPackages.buildPythonApplication rec {
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ bohanubis ];
};
}
})
+3 -3
View File
@@ -5,13 +5,13 @@
fetchPypi,
}:
pythonPackages.buildPythonApplication rec {
pythonPackages.buildPythonApplication (finalAttrs: {
pname = "mopidy-local";
version = "3.3.0";
pyproject = true;
src = fetchPypi {
inherit version;
inherit (finalAttrs) version;
pname = "mopidy_local";
hash = "sha256-y6btbGk5UiVan178x7d9jq5OTnKMbuliHv0aRxuZK3o=";
};
@@ -37,4 +37,4 @@ pythonPackages.buildPythonApplication rec {
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ ruuda ];
};
}
})
+3 -3
View File
@@ -6,13 +6,13 @@
glibcLocales,
}:
pythonPackages.buildPythonApplication rec {
pythonPackages.buildPythonApplication (finalAttrs: {
pname = "mopidy-moped";
version = "0.7.1";
pyproject = true;
src = fetchPypi {
inherit version;
inherit (finalAttrs) version;
pname = "Mopidy-Moped";
sha256 = "15461174037d87af93dd59a236d4275c5abf71cea0670ffff24a7d0399a8a2e4";
};
@@ -36,4 +36,4 @@ pythonPackages.buildPythonApplication rec {
maintainers = [ ];
hydraPlatforms = [ ];
};
}
})
+3 -3
View File
@@ -11,7 +11,7 @@
nixosTests,
}:
pythonPackages.buildPythonApplication rec {
pythonPackages.buildPythonApplication (finalAttrs: {
pname = "mopidy";
version = "3.4.2";
pyproject = true;
@@ -19,7 +19,7 @@ pythonPackages.buildPythonApplication rec {
src = fetchFromGitHub {
owner = "mopidy";
repo = "mopidy";
tag = "v${version}";
tag = "v${finalAttrs.version}";
hash = "sha256-2OFav2HaQq/RphmZxLyL1n3suwzt1Y/d4h33EdbStjk=";
};
@@ -70,4 +70,4 @@ pythonPackages.buildPythonApplication rec {
maintainers = [ lib.maintainers.fpletz ];
hydraPlatforms = [ ];
};
}
})
+3 -3
View File
@@ -5,13 +5,13 @@
mopidy,
}:
pythonPackages.buildPythonApplication rec {
pythonPackages.buildPythonApplication (finalAttrs: {
pname = "mopidy-mopify";
version = "1.7.3";
pyproject = true;
src = fetchPypi {
inherit version;
inherit (finalAttrs) version;
pname = "Mopidy-Mopify";
hash = "sha256-RlCC+39zC+LeA/QDWPHYx5TrEwOgVrnvcH1Xg12qSLE=";
};
@@ -36,4 +36,4 @@ pythonPackages.buildPythonApplication rec {
license = lib.licenses.gpl3;
maintainers = [ lib.maintainers.Gonzih ];
};
}
})
+3 -3
View File
@@ -5,13 +5,13 @@
mopidy,
}:
pythonPackages.buildPythonApplication rec {
pythonPackages.buildPythonApplication (finalAttrs: {
pname = "mopidy-mpd";
version = "3.3.0";
pyproject = true;
src = fetchPypi {
inherit version;
inherit (finalAttrs) version;
pname = "Mopidy-MPD";
hash = "sha256-CeLMRqj9cwBvQrOx7XHVV8MjDjwOosONVlsN2o+vTVM=";
};
@@ -30,4 +30,4 @@ pythonPackages.buildPythonApplication rec {
license = lib.licenses.asl20;
maintainers = [ lib.maintainers.tomahna ];
};
}
})
+3 -3
View File
@@ -5,13 +5,13 @@
mopidy,
}:
pythonPackages.buildPythonApplication rec {
pythonPackages.buildPythonApplication (finalAttrs: {
pname = "mopidy-mpris";
version = "3.0.3";
pyproject = true;
src = fetchPypi {
inherit version;
inherit (finalAttrs) version;
pname = "Mopidy-MPRIS";
hash = "sha256-rHQgNIyludTEL7RDC8dIpyGTMOt1Tazn6i/orKlSP4U=";
};
@@ -35,4 +35,4 @@ pythonPackages.buildPythonApplication rec {
license = lib.licenses.asl20;
maintainers = [ lib.maintainers.nickhu ];
};
}
})
+3 -3
View File
@@ -5,13 +5,13 @@
mopidy,
}:
pythonPackages.buildPythonApplication rec {
pythonPackages.buildPythonApplication (finalAttrs: {
pname = "mopidy-muse";
version = "0.0.33";
pyproject = true;
src = fetchPypi {
inherit version;
inherit (finalAttrs) version;
pname = "Mopidy-Muse";
hash = "sha256-CEPAPWtMrD+HljyqBB6EAyGVeOjzkvVoEywlE4XEJGs=";
};
@@ -36,4 +36,4 @@ pythonPackages.buildPythonApplication rec {
license = lib.licenses.asl20;
maintainers = [ ];
};
}
})
@@ -5,7 +5,7 @@
mopidy,
}:
pythonPackages.buildPythonApplication rec {
pythonPackages.buildPythonApplication (finalAttrs: {
pname = "mopidy-musicbox-webclient";
version = "3.1.0";
pyproject = true;
@@ -13,7 +13,7 @@ pythonPackages.buildPythonApplication rec {
src = fetchFromGitHub {
owner = "pimusicbox";
repo = "mopidy-musicbox-webclient";
tag = "v${version}";
tag = "v${finalAttrs.version}";
sha256 = "1lzarazq67gciyn6r8cdms0f7j0ayyfwhpf28z93ydb280mfrrb9";
};
@@ -30,8 +30,8 @@ pythonPackages.buildPythonApplication rec {
meta = {
description = "Mopidy frontend extension and web client with additional features for Pi MusicBox";
homepage = "https://github.com/pimusicbox/mopidy-musicbox-webclient";
changelog = "https://github.com/pimusicbox/mopidy-musicbox-webclient/blob/v${version}/CHANGELOG.rst";
changelog = "https://github.com/pimusicbox/mopidy-musicbox-webclient/blob/v${finalAttrs.version}/CHANGELOG.rst";
license = lib.licenses.asl20;
maintainers = [ ];
};
}
})
+3 -3
View File
@@ -5,13 +5,13 @@
mopidy,
}:
pythonPackages.buildPythonApplication rec {
pythonPackages.buildPythonApplication (finalAttrs: {
pname = "mopidy-notify";
version = "0.2.1";
pyproject = true;
src = fetchPypi {
inherit version;
inherit (finalAttrs) version;
pname = "Mopidy-Notify";
hash = "sha256-8FT4O4k0wEsdHA1vJaOW9UamJ3QLyO47HwL5XcSU3Pc=";
};
@@ -39,4 +39,4 @@ pythonPackages.buildPythonApplication rec {
license = lib.licenses.asl20;
maintainers = [ ];
};
}
})
+3 -3
View File
@@ -5,13 +5,13 @@
mopidy,
}:
pythonPackages.buildPythonApplication rec {
pythonPackages.buildPythonApplication (finalAttrs: {
pname = "mopidy-podcast";
version = "3.0.1";
pyproject = true;
src = fetchPypi {
inherit version;
inherit (finalAttrs) version;
pname = "Mopidy-Podcast";
hash = "sha256-grNPVEVM2PlpYhBXe6sabFjWVB9+q+apIRjcHUxH52A=";
};
@@ -40,4 +40,4 @@ pythonPackages.buildPythonApplication rec {
lib.maintainers.daneads
];
};
}
})
+3 -3
View File
@@ -5,13 +5,13 @@
mopidy,
}:
pythonPackages.buildPythonApplication rec {
pythonPackages.buildPythonApplication (finalAttrs: {
pname = "mopidy-scrobbler";
version = "2.0.1";
pyproject = true;
src = fetchPypi {
inherit version;
inherit (finalAttrs) version;
pname = "Mopidy-Scrobbler";
sha256 = "11vxgax4xgkggnq4fr1rh2rcvzspkkimck5p3h4phdj3qpnj0680";
};
@@ -35,4 +35,4 @@ pythonPackages.buildPythonApplication rec {
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ jakeisnt ];
};
}
})
+3 -3
View File
@@ -5,13 +5,13 @@
mopidy,
}:
pythonPackages.buildPythonApplication rec {
pythonPackages.buildPythonApplication (finalAttrs: {
pname = "mopidy-somafm";
version = "2.0.2";
pyproject = true;
src = fetchPypi {
inherit version;
inherit (finalAttrs) version;
pname = "Mopidy-SomaFM";
sha256 = "DC0emxkoWfjGHih2C8nINBFByf521Xf+3Ks4JRxNPLM=";
};
@@ -34,4 +34,4 @@ pythonPackages.buildPythonApplication rec {
license = lib.licenses.mit;
maintainers = [ lib.maintainers.nickhu ];
};
}
})
@@ -5,7 +5,7 @@
mopidy,
}:
pythonPackages.buildPythonApplication rec {
pythonPackages.buildPythonApplication (finalAttrs: {
pname = "mopidy-soundcloud";
version = "3.0.2";
pyproject = true;
@@ -13,7 +13,7 @@ pythonPackages.buildPythonApplication rec {
src = fetchFromGitHub {
owner = "mopidy";
repo = "mopidy-soundcloud";
tag = "v${version}";
tag = "v${finalAttrs.version}";
sha256 = "sha256-1Qqbfw6NZ+2K1w+abMBfWo0RAmIRbNyIErEmalmWJ0s=";
};
@@ -35,4 +35,4 @@ pythonPackages.buildPythonApplication rec {
license = lib.licenses.mit;
maintainers = [ ];
};
}
})
+4 -4
View File
@@ -6,7 +6,7 @@
nix-update-script,
}:
pythonPackages.buildPythonApplication rec {
pythonPackages.buildPythonApplication (finalAttrs: {
pname = "mopidy-spotify";
version = "5.0.0a3";
pyproject = true;
@@ -14,7 +14,7 @@ pythonPackages.buildPythonApplication rec {
src = fetchFromGitHub {
owner = "mopidy";
repo = "mopidy-spotify";
tag = "v${version}";
tag = "v${finalAttrs.version}";
hash = "sha256-pM+kqeWYiPXv9DZDBTgwiEwC6Sbqv6uz5vJ5odcixOw=";
};
@@ -40,8 +40,8 @@ pythonPackages.buildPythonApplication rec {
meta = {
description = "Mopidy extension for playing music from Spotify";
homepage = "https://github.com/mopidy/mopidy-spotify";
changelog = "https://github.com/mopidy/mopidy-spotify/releases/tag/v${version}";
changelog = "https://github.com/mopidy/mopidy-spotify/releases/tag/v${finalAttrs.version}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ getchoo ];
};
}
})
+3 -3
View File
@@ -5,7 +5,7 @@
mopidy,
}:
pythonPackages.buildPythonApplication rec {
pythonPackages.buildPythonApplication (finalAttrs: {
pname = "mopidy-subidy";
version = "1.0.0";
pyproject = true;
@@ -13,7 +13,7 @@ pythonPackages.buildPythonApplication rec {
src = fetchFromGitHub {
owner = "Prior99";
repo = "mopidy-subidy";
tag = version;
tag = finalAttrs.version;
sha256 = "0c5ghhhrj5v3yp4zmll9ari6r5c6ha8c1izwqshvadn40b02q7xz";
};
@@ -38,4 +38,4 @@ pythonPackages.buildPythonApplication rec {
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ wenngle ];
};
}
})
+4 -4
View File
@@ -5,7 +5,7 @@
mopidy,
}:
python3Packages.buildPythonApplication rec {
python3Packages.buildPythonApplication (finalAttrs: {
pname = "Mopidy-Tidal";
version = "0.3.12";
pyproject = true;
@@ -13,7 +13,7 @@ python3Packages.buildPythonApplication rec {
src = fetchFromGitHub {
owner = "tehkillerbee";
repo = "mopidy-tidal";
tag = "v${version}";
tag = "v${finalAttrs.version}";
hash = "sha256-1u1MMLtVNZkVhmUr5DW34TlJ2s/YGRKXjqi+SrtClR4=";
};
@@ -34,8 +34,8 @@ python3Packages.buildPythonApplication rec {
meta = {
description = "Mopidy extension for playing music from Tidal";
homepage = "https://github.com/tehkillerbee/mopidy-tidal";
changelog = "https://github.com/tehkillerbee/mopidy-tidal/releases/tag/${src.tag}";
changelog = "https://github.com/tehkillerbee/mopidy-tidal/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.mit;
maintainers = [ ];
};
}
})
+3 -3
View File
@@ -5,13 +5,13 @@
mopidy,
}:
pythonPackages.buildPythonApplication rec {
pythonPackages.buildPythonApplication (finalAttrs: {
pname = "mopidy-tunein";
version = "1.1.0";
pyproject = true;
src = fetchPypi {
inherit version;
inherit (finalAttrs) version;
pname = "Mopidy-TuneIn";
sha256 = "01y1asylscr73yqx071imhrzfzlg07wmqqzkdvpgm6r35marc2li";
};
@@ -32,4 +32,4 @@ pythonPackages.buildPythonApplication rec {
license = lib.licenses.asl20;
maintainers = [ ];
};
}
})
+3 -3
View File
@@ -7,7 +7,7 @@
extraPkgs ? pkgs: [ ],
}:
pythonPackages.buildPythonApplication rec {
pythonPackages.buildPythonApplication (finalAttrs: {
pname = "mopidy-youtube";
version = "3.7";
pyproject = true;
@@ -15,7 +15,7 @@ pythonPackages.buildPythonApplication rec {
src = fetchFromGitHub {
owner = "natumbri";
repo = "mopidy-youtube";
tag = "v${version}";
tag = "v${finalAttrs.version}";
hash = "sha256-iFt7r8Ljymc+grNJiOClTHkZOeo7AcYpcNc8tLMPROk=";
};
@@ -69,4 +69,4 @@ pythonPackages.buildPythonApplication rec {
license = lib.licenses.asl20;
maintainers = [ ];
};
}
})
+4 -4
View File
@@ -8,7 +8,7 @@
let
python = python3;
in
python.pkgs.buildPythonApplication rec {
python.pkgs.buildPythonApplication (finalAttrs: {
pname = "mopidy-ytmusic";
version = "0.3.9";
pyproject = true;
@@ -16,7 +16,7 @@ python.pkgs.buildPythonApplication rec {
src = fetchFromGitHub {
owner = "jmcdo29";
repo = "mopidy-ytmusic";
rev = "v${version}";
rev = "v${finalAttrs.version}";
hash = "sha256-2o4fDtaIxRDvIiAGV/9qK/00BmYXasBUwW03fxFcDAU=";
};
@@ -41,10 +41,10 @@ python.pkgs.buildPythonApplication rec {
doCheck = false;
meta = {
changelog = "https://github.com/jmcdo29/mopidy-ytmusic/releases/tag/${src.rev}";
changelog = "https://github.com/jmcdo29/mopidy-ytmusic/releases/tag/${finalAttrs.src.rev}";
description = "Mopidy extension for playing music from YouTube Music";
homepage = "https://github.com/jmcdo29/mopidy-ytmusic";
license = lib.licenses.asl20;
maintainers = [ lib.maintainers.nickhu ];
};
}
})
+4 -4
View File
@@ -19,12 +19,12 @@
assert withConplay -> !libOnly;
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "${lib.optionalString libOnly "lib"}mpg123";
version = "1.33.4";
src = fetchurl {
url = "mirror://sourceforge/mpg123/mpg123-${version}.tar.bz2";
url = "mirror://sourceforge/mpg123/mpg123-${finalAttrs.version}.tar.bz2";
hash = "sha256-OujJ/4Cpe/wOIuifvNdGh+yk/B2zFbEmB/J/ActaR9k=";
};
@@ -88,7 +88,7 @@ stdenv.mkDerivation rec {
# Expect the text in format of '<a href="download/mpg123-1.32.6.tar.bz2">'
new_version="$(curl -s https://mpg123.org/download.shtml |
pcregrep -o1 '<a href="download/mpg123-([0-9.]+).tar.bz2">')"
update-source-version ${pname} "$new_version"
update-source-version ${finalAttrs.pname} "$new_version"
'';
};
@@ -99,4 +99,4 @@ stdenv.mkDerivation rec {
maintainers = with lib.maintainers; [ ftrvxmtrx ];
platforms = lib.platforms.all;
};
}
})
@@ -7,12 +7,12 @@
fftw,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
version = "0.7.0";
pname = "timbreid";
src = fetchurl {
url = "http://williambrent.conflations.com/pd/timbreID-${version}-src.zip";
url = "http://williambrent.conflations.com/pd/timbreID-${finalAttrs.version}-src.zip";
sha256 = "14k2xk5zrzrw1zprdbwx45hrlc7ck8vq4drpd3l455i5r8yk4y6b";
};
@@ -53,4 +53,4 @@ stdenv.mkDerivation rec {
maintainers = [ lib.maintainers.magnetophon ];
platforms = lib.platforms.linux;
};
}
})
+4 -4
View File
@@ -41,7 +41,7 @@ let
version,
...
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
inherit src version;
pname = "pianoteq-${name}";
@@ -66,11 +66,11 @@ let
desktopItems = [
(makeDesktopItem {
name = pname;
name = finalAttrs.pname;
exec = ''"${mainProgram}"'';
desktopName = mainProgram;
icon = "pianoteq";
comment = meta.description;
comment = finalAttrs.meta.description;
categories = [
"AudioVideo"
"Audio"
@@ -114,7 +114,7 @@ let
];
sourceProvenance = [ lib.sourceTypes.binaryNativeCode ];
};
};
});
fetchWithCurlScript =
{
@@ -44,7 +44,7 @@
python3,
xvfb-run,
}:
python3.pkgs.buildPythonApplication rec {
python3.pkgs.buildPythonApplication (finalAttrs: {
pname = "quodlibet${tag}";
version = "4.7.1";
pyproject = true;
@@ -57,7 +57,7 @@ python3.pkgs.buildPythonApplication rec {
src = fetchFromGitHub {
owner = "quodlibet";
repo = "quodlibet";
tag = "release-${version}";
tag = "release-${finalAttrs.version}";
hash = "sha256-xr3c1e4tjw2YHuKbvNeUPBIFdHEcpztqXjHVDSSxYlo=";
};
@@ -197,4 +197,4 @@ python3.pkgs.buildPythonApplication rec {
license = lib.licenses.gpl2Plus;
maintainers = [ ];
};
}
})
+3 -3
View File
@@ -36,12 +36,12 @@ let
builtins.replaceStrings [ "." ] [ "" ] version
}_linux_${arch}.tar.xz";
in
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "reaper";
version = "7.59";
src = fetchurl {
url = url_for_platform version stdenv.hostPlatform.qemuArch;
url = url_for_platform finalAttrs.version stdenv.hostPlatform.qemuArch;
hash =
if stdenv.hostPlatform.isDarwin then
"sha256-S4RAXWss1tPzmO0zzKfkXPrcgBqwNN5EE1jpjEZ5mYk="
@@ -152,4 +152,4 @@ stdenv.mkDerivation rec {
viraptor
];
};
}
})
+3 -3
View File
@@ -24,14 +24,14 @@
openssl,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "snapcast";
version = "0.34.0";
src = fetchFromGitHub {
owner = "badaix";
repo = "snapcast";
rev = "v${version}";
rev = "v${finalAttrs.version}";
hash = "sha256-BPsAGFLWUfONuyQ1pzsJzGV/Jlxv+4TkVT1KG7j8H0s=";
};
@@ -84,4 +84,4 @@ stdenv.mkDerivation rec {
platforms = lib.platforms.linux ++ lib.platforms.darwin;
license = lib.licenses.gpl3Plus;
};
}
})
@@ -64,14 +64,14 @@ let
mruby-zest = callPackage ./mruby-zest { };
in
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "zynaddsubfx";
version = "3.0.6";
src = fetchFromGitHub {
owner = "zynaddsubfx";
repo = "zynaddsubfx";
tag = version;
tag = finalAttrs.version;
fetchSubmodules = true;
hash = "sha256-0siAx141DZx39facXWmKbsi0rHBNpobApTdey07EcXg=";
};
@@ -204,4 +204,4 @@ stdenv.mkDerivation rec {
# - Zest UI fails to start on pulg_setup: Could not open display, aborting.
broken = stdenv.hostPlatform.isDarwin;
};
}
})
@@ -11,14 +11,14 @@
libx11,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "mruby-zest";
version = "3.0.6";
src = fetchFromGitHub {
owner = pname;
repo = "${pname}-build";
tag = version;
owner = "mruby-zest";
repo = "mruby-zest-build";
tag = finalAttrs.version;
fetchSubmodules = true;
sha256 = "sha256-rIb6tQimwrUj+623IU5zDyKNWsNYYBElLQClOsP+5Dc=";
};
@@ -70,4 +70,4 @@ stdenv.mkDerivation rec {
maintainers = with lib.maintainers; [ kira-bruneau ];
platforms = lib.platforms.all;
};
}
})
@@ -17,16 +17,16 @@
wrapQtAppsHook ? null,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "digibyte";
version = "7.17.3";
name = pname + toString (lib.optional (!withGui) "d") + "-" + version;
name = finalAttrs.pname + toString (lib.optional (!withGui) "d") + "-" + finalAttrs.version;
src = fetchFromGitHub {
owner = "digibyte-core";
repo = pname;
rev = "v${version}";
repo = "digibyte";
rev = "v${finalAttrs.version}";
sha256 = "zPwnC2qd28fA1saG4nysPlKU1nnXhfuSG3DpCY6T+kM=";
};
@@ -69,4 +69,4 @@ stdenv.mkDerivation rec {
maintainers = [ lib.maintainers.mmahut ];
platforms = lib.platforms.linux;
};
}
})
@@ -24,14 +24,14 @@
withWallet ? true,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = if withGui then "elements" else "elementsd";
version = "23.3.2";
src = fetchFromGitHub {
owner = "ElementsProject";
repo = "elements";
rev = "elements-${version}";
rev = "elements-${finalAttrs.version}";
sha256 = "sha256-NLLM+stYOXcnAjEfXRerjvgMXM8jFSOyZhu/A0ZTnRw=";
};
@@ -67,7 +67,7 @@ stdenv.mkDerivation rec {
"--with-boost-libdir=${boost.out}/lib"
"--disable-bench"
]
++ lib.optionals (!doCheck) [
++ lib.optionals (!finalAttrs.doCheck) [
"--disable-tests"
"--disable-gui-tests"
]
@@ -112,4 +112,4 @@ stdenv.mkDerivation rec {
license = lib.licenses.mit;
platforms = lib.platforms.unix;
};
}
})
@@ -18,14 +18,14 @@
hexdump,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "gridcoin-research";
version = "5.4.9.0";
src = fetchFromGitHub {
owner = "gridcoin-community";
repo = "Gridcoin-Research";
rev = "${version}";
rev = "${finalAttrs.version}";
hash = "sha256-nupZB4nNbitpf5EBCNy0e+ovjayAszup/r7qxbxA5jI=";
};
@@ -70,4 +70,4 @@ stdenv.mkDerivation rec {
maintainers = with lib.maintainers; [ gigglesquid ];
platforms = lib.platforms.linux;
};
}
})
@@ -12,7 +12,7 @@
python3,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "nano-wallet";
version = "28.2";
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
src = fetchFromGitHub {
owner = "nanocurrency";
repo = "nano-node";
tag = "V${version}";
tag = "V${finalAttrs.version}";
fetchSubmodules = true;
hash = "sha256-Wo1Gd6dOnCoPiGmuJQhZmKKSg7LrKpfdvLNNKBYTUWI=";
};
@@ -82,5 +82,4 @@ stdenv.mkDerivation rec {
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ jluttine ];
};
}
})
@@ -5,14 +5,14 @@
libpcap,
}:
buildGoModule rec {
buildGoModule (finalAttrs: {
pname = "optimism";
version = "1.9.4";
src = fetchFromGitHub {
owner = "ethereum-optimism";
repo = "optimism";
rev = "op-node/v${version}";
rev = "op-node/v${finalAttrs.version}";
hash = "sha256-pAmstWA6up0CvHEQW5RnDYumdwKP0i6fpz59EYTBsmU=";
fetchSubmodules = true;
};
@@ -41,4 +41,4 @@ buildGoModule rec {
maintainers = with lib.maintainers; [ happysalada ];
mainProgram = "cmd";
};
}
})
@@ -4,14 +4,14 @@
fetchFromGitHub,
}:
buildGoModule rec {
buildGoModule (finalAttrs: {
pname = "op-geth";
version = "1.101305.3";
src = fetchFromGitHub {
owner = "ethereum-optimism";
repo = "op-geth";
rev = "v${version}";
rev = "v${finalAttrs.version}";
hash = "sha256-AKVwwvt77FZlm7089EeayYVRYLo7c3v6LFVpsQN68Zk=";
fetchSubmodules = true;
};
@@ -46,4 +46,4 @@ buildGoModule rec {
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ happysalada ];
};
}
})
@@ -19,15 +19,15 @@
wrapQtAppsHook ? null,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "vertcoin";
version = "0.18.0";
name = pname + toString (lib.optional (!withGui) "d") + "-" + version;
name = finalAttrs.pname + toString (lib.optional (!withGui) "d") + "-" + finalAttrs.version;
src = fetchFromGitHub {
owner = pname + "-project";
repo = pname + "-core";
owner = "vertcoin-project";
repo = "vertcoin-core";
rev = "2bd6dba7a822400581d5a6014afd671fb7e61f36";
sha256 = "ua9xXA+UQHGVpCZL0srX58DDUgpfNa+AAIKsxZbhvMk=";
};
@@ -86,4 +86,4 @@ stdenv.mkDerivation rec {
maintainers = [ lib.maintainers.mmahut ];
platforms = lib.platforms.linux;
};
}
})
@@ -25,14 +25,14 @@
zeromq,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "zcash";
version = "5.4.2";
src = fetchFromGitHub {
owner = "zcash";
repo = "zcash";
rev = "v${version}";
rev = "v${finalAttrs.version}";
hash = "sha256-XGq/cYUo43FcpmRDO2YiNLCuEQLsTFLBFC4M1wM29l8=";
};
@@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
];
cargoDeps = rustPlatform.fetchCargoVendor {
inherit pname version src;
inherit (finalAttrs) pname version src;
hash = "sha256-VBqasLpxqI4kr73Mr7OVuwb2OIhUwnY9CTyZZOyEElU=";
};
@@ -115,4 +115,4 @@ stdenv.mkDerivation rec {
# https://github.com/zcash/zcash/issues/4405
broken = stdenv.hostPlatform.isAarch64 && stdenv.hostPlatform.isDarwin;
};
}
})
@@ -40,14 +40,14 @@ let
}
) (lib.importJSON ./deps.json);
in
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "cudatext";
version = "1.202.1";
src = fetchFromGitHub {
owner = "Alexey-T";
repo = "CudaText";
tag = version;
tag = finalAttrs.version;
hash = "sha256-ZFMO986D4RtrTnLFdcL0a2BNjcsB+9pIolylblku7j4=";
};
@@ -84,7 +84,7 @@ stdenv.mkDerivation rec {
env.NIX_LDFLAGS = toString [
"--as-needed"
"-rpath"
(lib.makeLibraryPath buildInputs)
(lib.makeLibraryPath finalAttrs.buildInputs)
];
buildPhase =
@@ -146,4 +146,4 @@ stdenv.mkDerivation rec {
platforms = lib.platforms.linux;
mainProgram = "cudatext";
};
}
})
@@ -28,7 +28,7 @@
version,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
inherit pname version src;
desktopItem = makeDesktopItem {
@@ -103,7 +103,7 @@ stdenv.mkDerivation rec {
# Create desktop item.
mkdir -p $out/share/applications
cp ${desktopItem}/share/applications/* $out/share/applications
cp ${finalAttrs.desktopItem}/share/applications/* $out/share/applications
mkdir -p $out/share/pixmaps
ln -s $out/eclipse/icon.xpm $out/share/pixmaps/eclipse.xpm
@@ -123,5 +123,4 @@ stdenv.mkDerivation rec {
];
maintainers = [ lib.maintainers.jerith666 ];
};
}
})
@@ -4,12 +4,12 @@
fetchzip,
}:
melpaBuild rec {
melpaBuild (finalAttrs: {
pname = "ebuild-mode";
version = "1.81";
src = fetchzip {
url = "https://gitweb.gentoo.org/proj/ebuild-mode.git/snapshot/ebuild-mode-${version}.tar.bz2";
url = "https://gitweb.gentoo.org/proj/ebuild-mode.git/snapshot/ebuild-mode-${finalAttrs.version}.tar.bz2";
hash = "sha256-b+59Ec+NOHvFgbFOmnsvGjnq392VR1JCsPx/ORSdffo=";
};
@@ -19,4 +19,4 @@ melpaBuild rec {
license = lib.licenses.gpl2Plus;
maintainers = [ ];
};
}
})
@@ -4,12 +4,12 @@
fetchurl,
}:
melpaBuild rec {
melpaBuild (finalAttrs: {
pname = "jam-mode";
version = "0.3";
src = fetchurl {
url = "https://dev.gentoo.org/~ulm/distfiles/${pname}-${version}.el.xz";
url = "https://dev.gentoo.org/~ulm/distfiles/${finalAttrs.pname}-${finalAttrs.version}.el.xz";
hash = "sha256-0IlYqbPa4AAwOpjdd20k8hqtvDhZmcz1WHa/LHx8kMk=";
};
@@ -32,4 +32,4 @@ melpaBuild rec {
license = lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [ qyliss ];
};
}
})
@@ -4,14 +4,14 @@
lib,
}:
melpaBuild rec {
melpaBuild (finalAttrs: {
pname = "session-management-for-emacs";
ename = "session";
version = "2.2a";
melpaVersion = "2.2"; # default value derived from version is not valid for Emacs
src = fetchzip {
url = "mirror://sourceforge/emacs-session/session-${version}.tar.gz";
url = "mirror://sourceforge/emacs-session/session-${finalAttrs.version}.tar.gz";
hash = "sha256-lc6NIX+lx97qCs5JqG7x0iVE6ki09Gy7DEQuPW2c+7s=";
};
@@ -28,4 +28,4 @@ melpaBuild rec {
homepage = "https://emacs-session.sourceforge.net/";
license = lib.licenses.gpl2;
};
}
})
@@ -10,20 +10,20 @@
let
libExt = stdenv.hostPlatform.extensions.sharedLibrary;
tsc-dyn = rustPlatform.buildRustPackage rec {
tsc-dyn = rustPlatform.buildRustPackage (finalAttrs: {
pname = "tsc-dyn";
version = "0.18.0";
src = fetchFromGitHub {
owner = "emacs-tree-sitter";
repo = "emacs-tree-sitter";
tag = version;
tag = finalAttrs.version;
hash = "sha256-LrakDpP3ZhRQqz47dPcyoQnu5lROdaNlxGaQfQT6u+k=";
};
cargoHash = "sha256-Tua3ZFfSyWVYXU9mPLWXE6ejGlXowTNe3nvZBaicmSQ=";
sourceRoot = "${src.name}/core";
sourceRoot = "${finalAttrs.src.name}/core";
postInstall = ''
pushd $out/lib
@@ -31,7 +31,7 @@ let
echo -n $version > DYN-VERSION
popd
'';
};
});
in
melpaBuild {
pname = "tsc";
@@ -13,7 +13,7 @@
webkitgtk_4_1,
}:
buildPythonApplication rec {
buildPythonApplication (finalAttrs: {
pname = "formiko";
version = "1.5.0";
format = "setuptools";
@@ -21,7 +21,7 @@ buildPythonApplication rec {
src = fetchFromGitHub {
owner = "ondratu";
repo = "formiko";
tag = version;
tag = finalAttrs.version;
sha256 = "sha256-slfpkckCvxHJ/jlBP7QAhzaf9TAcS6biDQBZcBTyTKI=";
};
@@ -50,4 +50,4 @@ buildPythonApplication rec {
license = lib.licenses.bsd3;
platforms = lib.platforms.linux;
};
}
})
@@ -23,8 +23,8 @@
plugins = map processPlugin unprocessedPlugins;
in
stdenv.mkDerivation rec {
pname = meta.mainProgram + "-with-plugins";
stdenv.mkDerivation (finalAttrs: {
pname = finalAttrs.meta.mainProgram + "-with-plugins";
version = ide.version;
src = ide;
dontInstall = true;
@@ -45,7 +45,8 @@
buildPhase =
let
appDir = lib.optionalString stdenv.hostPlatform.isDarwin "Applications/${lib.escapeShellArg ide.product}.app";
rootDir = if stdenv.hostPlatform.isDarwin then "${appDir}/Contents" else meta.mainProgram;
rootDir =
if stdenv.hostPlatform.isDarwin then "${appDir}/Contents" else finalAttrs.meta.mainProgram;
in
''
cp -r ${ide} $out
@@ -74,5 +75,5 @@
done
)
'';
};
});
}
@@ -231,10 +231,10 @@ let
};
in
stdenvNoCC.mkDerivation rec {
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "${buildType}-oss";
inherit version buildNumber;
name = "${pname}-${version}.tar.gz";
name = "${finalAttrs.pname}-${version}.tar.gz";
inherit src;
nativeBuildInputs = [
p7zip
@@ -321,4 +321,4 @@ stdenvNoCC.mkDerivation rec {
jps-bootstrap
;
};
}
})
@@ -6,14 +6,14 @@
with python3Packages;
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "octave-kernel";
version = "0.34.2";
format = "setuptools";
src = fetchPypi {
pname = "octave_kernel";
inherit version;
inherit (finalAttrs) version;
sha256 = "sha256-5ki2lekfK7frPsmPBIzYQOfANCUY9x+F2ZRAQSdPTxo=";
};
@@ -33,4 +33,4 @@ buildPythonPackage rec {
maintainers = with lib.maintainers; [ thomasjm ];
platforms = lib.platforms.all;
};
}
})
@@ -4,14 +4,14 @@
fetchFromGitHub,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "wolfram-for-jupyter-kernel";
version = "0.9.2";
src = fetchFromGitHub {
owner = "WolframResearch";
repo = "WolframLanguageForJupyter";
rev = "v${version}";
rev = "v${finalAttrs.version}";
sha256 = "19d9dvr0bv7iy0x8mk4f576ha7z7h7id39nyrggwf9cp7gymxf47";
};
@@ -33,4 +33,4 @@ stdenv.mkDerivation rec {
maintainers = with lib.maintainers; [ fbeffa ];
platforms = lib.platforms.all;
};
}
})

Some files were not shown because too many files have changed in this diff Show More