Merge staging-next into staging
This commit is contained in:
@@ -8029,6 +8029,13 @@
|
||||
github = "hatch01";
|
||||
githubId = 42416805;
|
||||
};
|
||||
Ezjfc = {
|
||||
name = "EndermanbugZJFC";
|
||||
email = "endermanbugzjfc@gmail.com";
|
||||
github = "Ezjfc";
|
||||
githubId = 175898536;
|
||||
keys = [ { fingerprint = "4319 2667 85A9 E6BD 9A84 4BC7 1313 15C2 0524 200C"; } ];
|
||||
};
|
||||
ezrizhu = {
|
||||
name = "Ezri Zhu";
|
||||
email = "me@ezrizhu.com";
|
||||
@@ -15186,6 +15193,13 @@
|
||||
github = "m1dugh";
|
||||
githubId = 42266017;
|
||||
};
|
||||
m3l6h = {
|
||||
email = "admin@michaelhollingworth.io";
|
||||
name = "Michael Hollingworth";
|
||||
github = "m3l6h";
|
||||
githubId = 8094643;
|
||||
keys = [ { fingerprint = "BAA9 7711 58CA D457 B4AE 8B06 8188 423D 2FA2 0A65"; } ];
|
||||
};
|
||||
ma27 = {
|
||||
email = "maximilian@mbosch.me";
|
||||
matrix = "@ma27:nicht-so.sexy";
|
||||
@@ -27725,6 +27739,12 @@
|
||||
githubId = 474343;
|
||||
name = "Xavier Zwirtz";
|
||||
};
|
||||
xavwe = {
|
||||
email = "git@xavwe.dev";
|
||||
github = "xavwe";
|
||||
githubId = 125409009;
|
||||
name = "Xaver Wenhart";
|
||||
};
|
||||
XBagon = {
|
||||
name = "XBagon";
|
||||
email = "xbagon@outlook.de";
|
||||
|
||||
@@ -608,6 +608,12 @@
|
||||
"module-services-suwayomi-server-extra-config": [
|
||||
"index.html#module-services-suwayomi-server-extra-config"
|
||||
],
|
||||
"module-services-immich": [
|
||||
"index.html#module-services-immich"
|
||||
],
|
||||
"module-services-immich-vectorchord-migration": [
|
||||
"index.html#module-services-immich-vectorchord-migration"
|
||||
],
|
||||
"module-services-paisa": [
|
||||
"index.html#module-services-paisa"
|
||||
],
|
||||
|
||||
@@ -174,7 +174,7 @@ Alongside many enhancements to NixOS modules and general system improvements, th
|
||||
|
||||
- [Fider](https://fider.io/), an open platform to collect and prioritize feedback. Available as [services.fider](#opt-services.fider.enable).
|
||||
|
||||
- [PDS](https://github.com/bluesky-social/pds), Personal Data Server for [bsky](https://bsky.social/). Available as [services.pds](#opt-services.pds.enable).
|
||||
- [PDS](https://github.com/bluesky-social/pds), Personal Data Server for [bsky](https://bsky.social/). Available as {option}`services.pds`.
|
||||
|
||||
- [Anubis](https://github.com/TecharoHQ/anubis), a scraper defense software. Available as [services.anubis](#opt-services.anubis.defaultOptions).
|
||||
|
||||
|
||||
@@ -204,6 +204,8 @@
|
||||
|
||||
- `services.ntpd-rs` now performs configuration validation.
|
||||
|
||||
- Immich now has support for [VectorChord](https://github.com/tensorchord/VectorChord) when using the PostgreSQL configuration provided by `services.immich.database.enable`, which replaces `pgvecto-rs`. VectorChord support can be toggled with the option `services.immich.database.enableVectorChord`. Additionally, `pgvecto-rs` support is now disabled from NixOS 25.11 onwards using the option `services.immich.database.enableVectors`. This option will be removed fully in the future once Immich drops support for `pgvecto-rs` fully. See [Immich migration instructions](#module-services-immich-vectorchord-migration)
|
||||
|
||||
- `services.postsrsd` now automatically integrates with the local Postfix instance, when enabled. This behavior can disabled using the [services.postsrsd.configurePostfix](#opt-services.postsrsd.configurePostfix) option.
|
||||
|
||||
- `services.pfix-srsd` now automatically integrates with the local Postfix instance, when enabled. This behavior can disabled using the [services.pfix-srsd.configurePostfix](#opt-services.pfix-srsd.configurePostfix) option.
|
||||
@@ -212,6 +214,8 @@
|
||||
|
||||
- `services.netbird.server` now uses dedicated packages split out due to relicensing of server components to AGPLv3 with version `0.53.0`,
|
||||
|
||||
- `services.pds` has been renamed to `services.bluesky-pds`.
|
||||
|
||||
- The new option [networking.ipips](#opt-networking.ipips) has been added to create IP within IP kind of tunnels (including 4in6, ip6ip6 and ipip).
|
||||
With the existing [networking.sits](#opt-networking.sits) option (6in4), it is now possible to create all combinations of IPv4 and IPv6 encapsulation.
|
||||
|
||||
|
||||
@@ -1537,6 +1537,7 @@
|
||||
./services/web-apps/audiobookshelf.nix
|
||||
./services/web-apps/baikal.nix
|
||||
./services/web-apps/bluemap.nix
|
||||
./services/web-apps/bluesky-pds.nix
|
||||
./services/web-apps/bookstack.nix
|
||||
./services/web-apps/c2fmzq-server.nix
|
||||
./services/web-apps/calibre-web.nix
|
||||
@@ -1655,7 +1656,6 @@
|
||||
./services/web-apps/openwebrx.nix
|
||||
./services/web-apps/outline.nix
|
||||
./services/web-apps/part-db.nix
|
||||
./services/web-apps/pds.nix
|
||||
./services/web-apps/peering-manager.nix
|
||||
./services/web-apps/peertube-runner.nix
|
||||
./services/web-apps/peertube.nix
|
||||
|
||||
@@ -49,7 +49,7 @@ in
|
||||
|
||||
configpath = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "https://cfg.ebusd.eu/";
|
||||
default = "https://ebus.github.io/";
|
||||
description = ''
|
||||
Directory to read CSV config files from. This can be a local folder or a URL.
|
||||
'';
|
||||
|
||||
@@ -37,6 +37,15 @@ in
|
||||
'';
|
||||
};
|
||||
|
||||
package = mkOption {
|
||||
type = types.package;
|
||||
default = pkgs.x2goserver;
|
||||
defaultText = literalExpression "pkgs.x2goserver";
|
||||
description = ''
|
||||
The x2goserver package to use.
|
||||
'';
|
||||
};
|
||||
|
||||
superenicer = {
|
||||
enable = mkEnableOption "superenicer" // {
|
||||
description = ''
|
||||
@@ -87,7 +96,7 @@ in
|
||||
icons.enable = true;
|
||||
};
|
||||
|
||||
environment.systemPackages = [ pkgs.x2goserver ];
|
||||
environment.systemPackages = [ cfg.package ];
|
||||
|
||||
users.groups.x2go = { };
|
||||
users.users.x2go = {
|
||||
@@ -97,14 +106,14 @@ in
|
||||
};
|
||||
|
||||
security.wrappers.x2gosqliteWrapper = {
|
||||
source = "${pkgs.x2goserver}/lib/x2go/libx2go-server-db-sqlite3-wrapper.pl";
|
||||
source = "${cfg.package}/lib/x2go/libx2go-server-db-sqlite3-wrapper.pl";
|
||||
owner = "x2go";
|
||||
group = "x2go";
|
||||
setuid = false;
|
||||
setgid = true;
|
||||
};
|
||||
security.wrappers.x2goprintWrapper = {
|
||||
source = "${pkgs.x2goserver}/bin/x2goprint";
|
||||
source = "${cfg.package}/bin/x2goprint";
|
||||
owner = "x2go";
|
||||
group = "x2go";
|
||||
setuid = false;
|
||||
@@ -123,7 +132,7 @@ in
|
||||
# x2goclient sends SSH commands with preset PATH set to
|
||||
# "/usr/local/bin;/usr/bin;/bin". Since we cannot filter arbitrary ssh
|
||||
# commands, we have to make the following executables available.
|
||||
map (f: "L+ /usr/local/bin/${f} - - - - ${x2goserver}/bin/${f}") [
|
||||
map (f: "L+ /usr/local/bin/${f} - - - - ${cfg.package}/bin/${f}") [
|
||||
"x2goagent"
|
||||
"x2gobasepath"
|
||||
"x2gocleansessions"
|
||||
@@ -173,7 +182,7 @@ in
|
||||
unitConfig.Documentation = "man:x2goserver.conf(5)";
|
||||
serviceConfig = {
|
||||
Type = "forking";
|
||||
ExecStart = "${pkgs.x2goserver}/bin/x2gocleansessions";
|
||||
ExecStart = "${cfg.package}/bin/x2gocleansessions";
|
||||
PIDFile = "/run/x2go/x2goserver.pid";
|
||||
User = "x2go";
|
||||
Group = "x2go";
|
||||
@@ -184,10 +193,10 @@ in
|
||||
if [ ! -e /var/lib/x2go/setup_ran ]
|
||||
then
|
||||
mkdir -p /var/lib/x2go/conf
|
||||
cp -r ${pkgs.x2goserver}/etc/x2go/* /var/lib/x2go/conf/
|
||||
cp -r ${cfg.package}/etc/x2go/* /var/lib/x2go/conf/
|
||||
ln -sf ${x2goServerConf} /var/lib/x2go/conf/x2goserver.conf
|
||||
ln -sf ${x2goAgentOptions} /var/lib/x2go/conf/x2goagent.options
|
||||
${pkgs.x2goserver}/bin/x2godbadmin --createdb
|
||||
${cfg.package}/bin/x2godbadmin --createdb
|
||||
touch /var/lib/x2go/setup_ran
|
||||
fi
|
||||
'';
|
||||
|
||||
+19
-8
@@ -5,7 +5,7 @@
|
||||
...
|
||||
}:
|
||||
let
|
||||
cfg = config.services.pds;
|
||||
cfg = config.services.bluesky-pds;
|
||||
|
||||
inherit (lib)
|
||||
getExe
|
||||
@@ -21,7 +21,7 @@ let
|
||||
|
||||
pdsadminWrapper =
|
||||
let
|
||||
cfgSystemd = config.systemd.services.pds.serviceConfig;
|
||||
cfgSystemd = config.systemd.services.bluesky-pds.serviceConfig;
|
||||
in
|
||||
pkgs.writeShellScriptBin "pdsadmin" ''
|
||||
DUMMY_PDS_ENV_FILE="$(mktemp)"
|
||||
@@ -29,15 +29,26 @@ let
|
||||
env "PDS_ENV_FILE=$DUMMY_PDS_ENV_FILE" \
|
||||
${escapeShellArgs cfgSystemd.Environment} \
|
||||
${concatMapStringsSep " " (envFile: "$(cat ${envFile})") cfgSystemd.EnvironmentFile} \
|
||||
${getExe pkgs.pdsadmin} "$@"
|
||||
${getExe pkgs.bluesky-pdsadmin} "$@"
|
||||
'';
|
||||
in
|
||||
# All defaults are from https://github.com/bluesky-social/pds/blob/8b9fc24cec5f30066b0d0b86d2b0ba3d66c2b532/installer.sh
|
||||
{
|
||||
options.services.pds = {
|
||||
imports = [
|
||||
(lib.mkRenamedOptionModule [ "services" "pds" "enable" ] [ "services" "bluesky-pds" "enable" ])
|
||||
(lib.mkRenamedOptionModule [ "services" "pds" "package" ] [ "services" "bluesky-pds" "package" ])
|
||||
(lib.mkRenamedOptionModule [ "services" "pds" "settings" ] [ "services" "bluesky-pds" "settings" ])
|
||||
(lib.mkRenamedOptionModule
|
||||
[ "services" "pds" "environmentFiles" ]
|
||||
[ "services" "bluesky-pds" "environmentFiles" ]
|
||||
)
|
||||
(lib.mkRenamedOptionModule [ "services" "pds" "pdsadmin" ] [ "services" "bluesky-pds" "pdsadmin" ])
|
||||
];
|
||||
|
||||
options.services.bluesky-pds = {
|
||||
enable = mkEnableOption "pds";
|
||||
|
||||
package = mkPackageOption pkgs "pds" { };
|
||||
package = mkPackageOption pkgs "bluesky-pds" { };
|
||||
|
||||
settings = mkOption {
|
||||
type = types.submodule {
|
||||
@@ -154,7 +165,7 @@ in
|
||||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = cfg.enable;
|
||||
defaultText = literalExpression "config.services.pds.enable";
|
||||
defaultText = literalExpression "config.services.bluesky-pds.enable";
|
||||
description = "Add pdsadmin script to PATH";
|
||||
};
|
||||
};
|
||||
@@ -165,8 +176,8 @@ in
|
||||
systemPackages = [ pdsadminWrapper ];
|
||||
};
|
||||
|
||||
systemd.services.pds = {
|
||||
description = "pds";
|
||||
systemd.services.bluesky-pds = {
|
||||
description = "bluesky pds";
|
||||
|
||||
after = [ "network-online.target" ];
|
||||
wants = [ "network-online.target" ];
|
||||
@@ -0,0 +1,32 @@
|
||||
# Immich {#module-services-immich}
|
||||
|
||||
[Immich](https://immich.app/) is a self-hosted photo and video management
|
||||
solution, similar to SaaS offerings like Google Photos.
|
||||
|
||||
## Migrating from `pgvecto-rs` to VectorChord (pre-25.11 installations) {#module-services-immich-vectorchord-migration}
|
||||
|
||||
Immich instances that were setup before 25.11 (as in
|
||||
`system.stateVersion = 25.11;`) will be automatically migrated to VectorChord.
|
||||
Note that this migration is not reversible, so database dumps should be created
|
||||
if desired.
|
||||
|
||||
See [Immich documentation][vectorchord-migration-docs] for more details about
|
||||
the automatic migration.
|
||||
|
||||
After a successful migration, `pgvecto-rs` should be removed from the database
|
||||
installation, unless other applications depend on it.
|
||||
|
||||
1. Make sure VectorChord is enabled ([](#opt-services.immich.database.enableVectorChord)) and Immich has completed the migration. Refer to the [Immich documentation][vectorchord-migration-docs] for details.
|
||||
2. Run the following two statements in the PostgreSQL database using a superuser role in Immich's database.
|
||||
|
||||
```sql
|
||||
DROP EXTENSION vectors;
|
||||
DROP SCHEMA vectors;
|
||||
```
|
||||
|
||||
- You may use the following command to run these statements against the database: `sudo -u postgres psql immich` (Replace `immich` with the value of [](#opt-services.immich.database.name))
|
||||
|
||||
3. Disable `pgvecto-rs` by setting [](#opt-services.immich.database.enableVectors) to `false`.
|
||||
4. Rebuild and switch.
|
||||
|
||||
[vectorchord-migration-docs]: https://immich.app/docs/administration/postgres-standalone/#migrating-to-vectorchord
|
||||
@@ -182,6 +182,17 @@ in
|
||||
// {
|
||||
default = true;
|
||||
};
|
||||
enableVectorChord =
|
||||
mkEnableOption "the new VectorChord extension for full-text search in Postgres"
|
||||
// {
|
||||
default = true;
|
||||
};
|
||||
enableVectors =
|
||||
mkEnableOption "pgvecto.rs in the database. You may disable this, if you have migrated to VectorChord and deleted the `vectors` schema."
|
||||
// {
|
||||
default = lib.versionOlder config.system.stateVersion "25.11";
|
||||
defaultText = lib.literalExpression "lib.versionOlder config.system.stateVersion \"25.11\"";
|
||||
};
|
||||
createDB = mkEnableOption "the automatic creation of the database for immich." // {
|
||||
default = true;
|
||||
};
|
||||
@@ -233,8 +244,14 @@ in
|
||||
}
|
||||
{
|
||||
# When removing this assertion, please adjust the nixosTests accordingly.
|
||||
assertion = cfg.database.enable -> lib.versionOlder config.services.postgresql.package.version "17";
|
||||
message = "Immich doesn't support PostgreSQL 17+, yet.";
|
||||
assertion =
|
||||
(cfg.database.enable && cfg.database.enableVectors)
|
||||
-> lib.versionOlder config.services.postgresql.package.version "17";
|
||||
message = "Immich doesn't support PostgreSQL 17+ when using pgvecto.rs. Consider disabling it using services.immich.database.enableVectors if it is not needed anymore.";
|
||||
}
|
||||
{
|
||||
assertion = cfg.database.enable -> (cfg.database.enableVectorChord || cfg.database.enableVectors);
|
||||
message = "At least one of services.immich.database.enableVectorChord and services.immich.database.enableVectors has to be enabled.";
|
||||
}
|
||||
];
|
||||
|
||||
@@ -248,27 +265,46 @@ in
|
||||
ensureClauses.login = true;
|
||||
}
|
||||
];
|
||||
extensions = ps: with ps; [ pgvecto-rs ];
|
||||
extensions =
|
||||
ps:
|
||||
lib.optionals cfg.database.enableVectors [ ps.pgvecto-rs ]
|
||||
++ lib.optionals cfg.database.enableVectorChord [
|
||||
ps.pgvector
|
||||
ps.vectorchord
|
||||
];
|
||||
settings = {
|
||||
shared_preload_libraries = [ "vectors.so" ];
|
||||
shared_preload_libraries =
|
||||
lib.optionals cfg.database.enableVectors [
|
||||
"vectors.so"
|
||||
]
|
||||
++ lib.optionals cfg.database.enableVectorChord [ "vchord.so" ];
|
||||
search_path = "\"$user\", public, vectors";
|
||||
};
|
||||
};
|
||||
systemd.services.postgresql-setup.serviceConfig.ExecStartPost =
|
||||
let
|
||||
extensions = [
|
||||
"unaccent"
|
||||
"uuid-ossp"
|
||||
"cube"
|
||||
"earthdistance"
|
||||
"pg_trgm"
|
||||
]
|
||||
++ lib.optionals cfg.database.enableVectors [
|
||||
"vectors"
|
||||
]
|
||||
++ lib.optionals cfg.database.enableVectorChord [
|
||||
"vector"
|
||||
"vchord"
|
||||
];
|
||||
sqlFile = pkgs.writeText "immich-pgvectors-setup.sql" ''
|
||||
CREATE EXTENSION IF NOT EXISTS unaccent;
|
||||
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
|
||||
CREATE EXTENSION IF NOT EXISTS vectors;
|
||||
CREATE EXTENSION IF NOT EXISTS cube;
|
||||
CREATE EXTENSION IF NOT EXISTS earthdistance;
|
||||
CREATE EXTENSION IF NOT EXISTS pg_trgm;
|
||||
${lib.concatMapStringsSep "\n" (ext: "CREATE EXTENSION IF NOT EXISTS \"${ext}\";") extensions}
|
||||
|
||||
ALTER SCHEMA public OWNER TO ${cfg.database.user};
|
||||
ALTER SCHEMA vectors OWNER TO ${cfg.database.user};
|
||||
${lib.optionalString cfg.database.enableVectors "ALTER SCHEMA vectors OWNER TO ${cfg.database.user};"}
|
||||
GRANT SELECT ON TABLE pg_vector_index_stat TO ${cfg.database.user};
|
||||
|
||||
ALTER EXTENSION vectors UPDATE;
|
||||
${lib.concatMapStringsSep "\n" (ext: "ALTER EXTENSION \"${ext}\" UPDATE;") extensions}
|
||||
'';
|
||||
in
|
||||
[
|
||||
@@ -335,7 +371,8 @@ in
|
||||
|
||||
systemd.services.immich-server = {
|
||||
description = "Immich backend server (Self-hosted photo and video backup solution)";
|
||||
after = [ "network.target" ];
|
||||
requires = lib.mkIf cfg.database.enable [ "postgresql.target" ];
|
||||
after = [ "network.target" ] ++ lib.optionals cfg.database.enable [ "postgresql.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
inherit (cfg) environment;
|
||||
path = [
|
||||
@@ -362,7 +399,8 @@ in
|
||||
|
||||
systemd.services.immich-machine-learning = mkIf cfg.machine-learning.enable {
|
||||
description = "immich machine learning";
|
||||
after = [ "network.target" ];
|
||||
requires = lib.mkIf cfg.database.enable [ "postgresql.target" ];
|
||||
after = [ "network.target" ] ++ lib.optionals cfg.database.enable [ "postgresql.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
inherit (cfg.machine-learning) environment;
|
||||
serviceConfig = commonServiceConfig // {
|
||||
@@ -398,5 +436,8 @@ in
|
||||
};
|
||||
users.groups = mkIf (cfg.group == "immich") { immich = { }; };
|
||||
};
|
||||
meta.maintainers = with lib.maintainers; [ jvanbruegge ];
|
||||
meta = {
|
||||
maintainers = with lib.maintainers; [ jvanbruegge ];
|
||||
doc = ./immich.md;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -496,7 +496,6 @@ in
|
||||
with config.lib.kernelConfig;
|
||||
[
|
||||
# !!! Should this really be needed?
|
||||
(isYes "MODULES")
|
||||
(isYes "BINFMT_ELF")
|
||||
]
|
||||
++ (optional (randstructSeed != "") (isYes "GCC_PLUGIN_RANDSTRUCT"));
|
||||
|
||||
@@ -464,9 +464,9 @@ in
|
||||
initrdBin = [
|
||||
pkgs.bashInteractive
|
||||
pkgs.coreutils
|
||||
cfg.package.kmod
|
||||
cfg.package
|
||||
];
|
||||
]
|
||||
++ lib.optional (config.system.build.kernel.config.isYes "MODULES") cfg.package.kmod;
|
||||
extraBin = {
|
||||
less = "${pkgs.less}/bin/less";
|
||||
mount = "${cfg.package.util-linux}/bin/mount";
|
||||
@@ -490,10 +490,6 @@ in
|
||||
${attrsToSection cfg.settings.Manager}
|
||||
'';
|
||||
|
||||
"/lib".source = "${config.system.build.modulesClosure}/lib";
|
||||
|
||||
"/etc/modules-load.d/nixos.conf".text = concatStringsSep "\n" config.boot.initrd.kernelModules;
|
||||
|
||||
# We can use either ! or * to lock the root account in the
|
||||
# console, but some software like OpenSSH won't even allow you
|
||||
# to log in with an SSH key if you use ! so we use * instead
|
||||
@@ -508,11 +504,6 @@ in
|
||||
"/bin".source = "${initrdBinEnv}/bin";
|
||||
"/sbin".source = "${initrdBinEnv}/sbin";
|
||||
|
||||
"/etc/sysctl.d/nixos.conf".text = "kernel.modprobe = /sbin/modprobe";
|
||||
"/etc/modprobe.d/systemd.conf".source = "${cfg.package}/lib/modprobe.d/systemd.conf";
|
||||
"/etc/modprobe.d/ubuntu.conf".source = "${pkgs.kmod-blacklist-ubuntu}/modprobe.conf";
|
||||
"/etc/modprobe.d/debian.conf".source = pkgs.kmod-debian-aliases;
|
||||
|
||||
"/etc/os-release".source = config.boot.initrd.osRelease;
|
||||
"/etc/initrd-release".source = config.boot.initrd.osRelease;
|
||||
|
||||
@@ -522,6 +513,16 @@ in
|
||||
}
|
||||
// optionalAttrs (config.environment.etc ? "modprobe.d/nixos.conf") {
|
||||
"/etc/modprobe.d/nixos.conf".source = config.environment.etc."modprobe.d/nixos.conf".source;
|
||||
}
|
||||
// optionalAttrs (with config.system.build.kernel.config; isSet "MODULES" -> isYes "MODULES") {
|
||||
"/lib".source = "${config.system.build.modulesClosure}/lib";
|
||||
|
||||
"/etc/modules-load.d/nixos.conf".text = concatStringsSep "\n" config.boot.initrd.kernelModules;
|
||||
|
||||
"/etc/sysctl.d/nixos.conf".text = "kernel.modprobe = /sbin/modprobe";
|
||||
"/etc/modprobe.d/systemd.conf".source = "${cfg.package}/lib/modprobe.d/systemd.conf";
|
||||
"/etc/modprobe.d/ubuntu.conf".source = "${pkgs.kmod-blacklist-ubuntu}/modprobe.conf";
|
||||
"/etc/modprobe.d/debian.conf".source = pkgs.kmod-debian-aliases;
|
||||
};
|
||||
|
||||
storePaths = [
|
||||
|
||||
@@ -228,8 +228,6 @@ in
|
||||
inherit assertions;
|
||||
# needed for systemd-remount-fs
|
||||
system.fsPackages = [ pkgs.bcachefs-tools ];
|
||||
# FIXME: Remove this line when the LTS (default) kernel is at least version 6.7
|
||||
boot.kernelPackages = lib.mkDefault pkgs.linuxPackages_latest;
|
||||
services.udev.packages = [ pkgs.bcachefs-tools ];
|
||||
|
||||
systemd = {
|
||||
@@ -316,7 +314,7 @@ in
|
||||
scrubTimer =
|
||||
fs:
|
||||
let
|
||||
fs' = utils.escapeSystemdPath fs;
|
||||
fs' = if fs == "/" then "root" else utils.escapeSystemdPath fs;
|
||||
in
|
||||
lib.nameValuePair "bcachefs-scrub-${fs'}" {
|
||||
description = "regular bcachefs scrub timer on ${fs}";
|
||||
@@ -336,7 +334,7 @@ in
|
||||
scrubService =
|
||||
fs:
|
||||
let
|
||||
fs' = utils.escapeSystemdPath fs;
|
||||
fs' = if fs == "/" then "root" else utils.escapeSystemdPath fs;
|
||||
in
|
||||
lib.nameValuePair "bcachefs-scrub-${fs'}" {
|
||||
description = "bcachefs scrub on ${fs}";
|
||||
|
||||
@@ -82,7 +82,9 @@ in
|
||||
# Needed for mounting filesystems with new checksums
|
||||
"xxhash_generic"
|
||||
"blake2b_generic"
|
||||
"sha256_generic" # Should be baked into our kernel, just to be sure
|
||||
|
||||
# `sha256` is always available, whereas `sha256_generic` is not available from 6.17 onwards
|
||||
"sha256" # Should be baked into our kernel, just to be sure
|
||||
];
|
||||
|
||||
boot.initrd.extraUtilsCommands = mkIf (!config.boot.initrd.systemd.enable) ''
|
||||
|
||||
@@ -276,6 +276,7 @@ in
|
||||
blint = runTest ./blint.nix;
|
||||
blockbook-frontend = runTest ./blockbook-frontend.nix;
|
||||
blocky = runTest ./blocky.nix;
|
||||
bluesky-pds = runTest ./bluesky-pds.nix;
|
||||
bookstack = runTest ./bookstack.nix;
|
||||
boot = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./boot.nix { };
|
||||
bootspec = handleTestOn [ "x86_64-linux" ] ./bootspec.nix { };
|
||||
@@ -741,6 +742,7 @@ in
|
||||
ifm = runTest ./ifm.nix;
|
||||
iftop = runTest ./iftop.nix;
|
||||
immich = runTest ./web-apps/immich.nix;
|
||||
immich-vectorchord-migration = runTest ./web-apps/immich-vectorchord-migration.nix;
|
||||
immich-public-proxy = runTest ./web-apps/immich-public-proxy.nix;
|
||||
incron = runTest ./incron.nix;
|
||||
incus = pkgs.recurseIntoAttrs (
|
||||
@@ -771,6 +773,7 @@ in
|
||||
isso = runTest ./isso.nix;
|
||||
jackett = runTest ./jackett.nix;
|
||||
jellyfin = runTest ./jellyfin.nix;
|
||||
jellyseerr = runTest ./jellyseerr.nix;
|
||||
jenkins = runTest ./jenkins.nix;
|
||||
jenkins-cli = runTest ./jenkins-cli.nix;
|
||||
jibri = runTest ./jibri.nix;
|
||||
@@ -1151,7 +1154,6 @@ in
|
||||
parsedmarc = handleTest ./parsedmarc { };
|
||||
password-option-override-ordering = runTest ./password-option-override-ordering.nix;
|
||||
pdns-recursor = runTest ./pdns-recursor.nix;
|
||||
pds = runTest ./pds.nix;
|
||||
peerflix = runTest ./peerflix.nix;
|
||||
peering-manager = runTest ./web-apps/peering-manager.nix;
|
||||
peertube = handleTestOn [ "x86_64-linux" ] ./web-apps/peertube.nix { };
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
name = "PDS";
|
||||
|
||||
nodes.machine = {
|
||||
services.pds = {
|
||||
services.bluesky-pds = {
|
||||
enable = true;
|
||||
settings = {
|
||||
PDS_PORT = 3000;
|
||||
@@ -18,7 +18,7 @@
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
machine.wait_for_unit("pds.service")
|
||||
machine.wait_for_unit("bluesky-pds.service")
|
||||
machine.wait_for_open_port(3000)
|
||||
machine.succeed("curl --fail http://localhost:3000")
|
||||
'';
|
||||
@@ -0,0 +1,18 @@
|
||||
{ lib, ... }:
|
||||
{
|
||||
name = "jellyseerr";
|
||||
meta.maintainers = with lib.maintainers; [ matteopacini ];
|
||||
|
||||
nodes.machine =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
services.jellyseerr.enable = true;
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
machine.start()
|
||||
machine.wait_for_unit("jellyseerr.service")
|
||||
machine.wait_for_open_port(5055)
|
||||
machine.succeed("curl --fail http://localhost:5055/")
|
||||
'';
|
||||
}
|
||||
@@ -0,0 +1,71 @@
|
||||
{ ... }:
|
||||
{
|
||||
name = "immich-vectorchord-migration";
|
||||
|
||||
nodes.machine =
|
||||
{ lib, pkgs, ... }:
|
||||
{
|
||||
# These tests need a little more juice
|
||||
virtualisation = {
|
||||
cores = 2;
|
||||
memorySize = 2048;
|
||||
diskSize = 4096;
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [ immich-cli ];
|
||||
|
||||
services.immich = {
|
||||
enable = true;
|
||||
environment.IMMICH_LOG_LEVEL = "verbose";
|
||||
# Simulate an existing setup
|
||||
database.enableVectorChord = lib.mkDefault false;
|
||||
database.enableVectors = lib.mkDefault true;
|
||||
};
|
||||
|
||||
# TODO: Remove when PostgreSQL 17 is supported.
|
||||
services.postgresql.package = pkgs.postgresql_16;
|
||||
|
||||
specialisation."immich-vectorchord-enabled".configuration = {
|
||||
services.immich.database.enableVectorChord = true;
|
||||
};
|
||||
|
||||
specialisation."immich-vectorchord-only".configuration = {
|
||||
services.immich.database = {
|
||||
enableVectorChord = true;
|
||||
enableVectors = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
testScript =
|
||||
{ nodes, ... }:
|
||||
let
|
||||
specBase = "${nodes.machine.system.build.toplevel}/specialisation";
|
||||
vectorchordEnabled = "${specBase}/immich-vectorchord-enabled";
|
||||
vectorchordOnly = "${specBase}/immich-vectorchord-only";
|
||||
in
|
||||
''
|
||||
def psql(command: str):
|
||||
machine.succeed(f"sudo -u postgres psql -d ${nodes.machine.services.immich.database.name} -c '{command}'")
|
||||
|
||||
def immich_works():
|
||||
machine.wait_for_unit("immich-server.service")
|
||||
|
||||
machine.wait_for_open_port(2283) # Server
|
||||
machine.wait_for_open_port(3003) # Machine learning
|
||||
machine.succeed("curl --fail http://localhost:2283/")
|
||||
|
||||
immich_works()
|
||||
|
||||
machine.succeed("${vectorchordEnabled}/bin/switch-to-configuration test")
|
||||
|
||||
immich_works()
|
||||
|
||||
psql("DROP EXTENSION vectors;")
|
||||
psql("DROP SCHEMA vectors;")
|
||||
|
||||
machine.succeed("${vectorchordOnly}/bin/switch-to-configuration test")
|
||||
|
||||
immich_works()
|
||||
'';
|
||||
}
|
||||
@@ -18,9 +18,6 @@
|
||||
enable = true;
|
||||
environment.IMMICH_LOG_LEVEL = "verbose";
|
||||
};
|
||||
|
||||
# TODO: Remove when PostgreSQL 17 is supported.
|
||||
services.postgresql.package = pkgs.postgresql_16;
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
|
||||
@@ -335,6 +335,10 @@ in
|
||||
|
||||
blink-cmp-words = super.blink-cmp-words.overrideAttrs {
|
||||
dependencies = [ self.blink-cmp ];
|
||||
meta = {
|
||||
description = "Offline word and synonym completion provider for Neovim";
|
||||
maintainers = with lib.maintainers; [ m3l6h ];
|
||||
};
|
||||
};
|
||||
|
||||
bluloco-nvim = super.bluloco-nvim.overrideAttrs {
|
||||
@@ -1011,6 +1015,11 @@ in
|
||||
nvim-treesitter
|
||||
nvim-treesitter-textobjects
|
||||
];
|
||||
meta = {
|
||||
description = "Overloaded ; and , keys in Neovim";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ m3l6h ];
|
||||
};
|
||||
};
|
||||
|
||||
denops-vim = super.denops-vim.overrideAttrs {
|
||||
|
||||
@@ -411,8 +411,8 @@ let
|
||||
mktplcRef = {
|
||||
name = "vscode-neovim";
|
||||
publisher = "asvetliakov";
|
||||
version = "1.18.23";
|
||||
hash = "sha256-x8amgtsyWMtlV4lHgr0rfBAYzVMpQGzyBqMVTV8hs60=";
|
||||
version = "1.18.24";
|
||||
hash = "sha256-oqsqcB2i8zS2pBElTFHh/diffTLFE9IRDjcQv/IcMgU=";
|
||||
};
|
||||
meta = {
|
||||
changelog = "https://marketplace.visualstudio.com/items/asvetliakov.vscode-neovim/changelog";
|
||||
@@ -4580,8 +4580,8 @@ let
|
||||
mktplcRef = {
|
||||
name = "svelte-vscode";
|
||||
publisher = "svelte";
|
||||
version = "109.10.1";
|
||||
hash = "sha256-nkQ+ianTCMGWKy5NfnuXSWcR7xi6+KkbMCK075nXluE=";
|
||||
version = "109.11.0";
|
||||
hash = "sha256-k0Aka0RxMDyezseyktcwnDvQAtg/ZTkMRk39M76xi20=";
|
||||
};
|
||||
meta = {
|
||||
changelog = "https://github.com/sveltejs/language-tools/releases";
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
}:
|
||||
mkLibretroCore {
|
||||
core = "stella";
|
||||
version = "0-unstable-2025-08-07";
|
||||
version = "0-unstable-2025-08-18";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "stella-emu";
|
||||
repo = "stella";
|
||||
rev = "92313128c3e2afdb9b3decf6642d342af18a1ab5";
|
||||
hash = "sha256-b1GaRB9Iv3qqyb3I9XKmEbkiplV+Wi3TflJdnQboLbw=";
|
||||
rev = "ad52b906d91e20adc5e2c287ae567de2317adcb5";
|
||||
hash = "sha256-9qgK3N3h+1iZSsqVwfDvZPHc4VJ3GY7ekAqnLozNayw=";
|
||||
};
|
||||
|
||||
makefile = "Makefile";
|
||||
|
||||
@@ -335,13 +335,13 @@
|
||||
"vendorHash": "sha256-ZCMSmOCPEMxCSpl3DjIUGPj1W/KNJgyjtHpmQ19JquA="
|
||||
},
|
||||
"datadog": {
|
||||
"hash": "sha256-Fi1Ip/Uy89s8XeX5yT55LKjMw/Bk/B/Vwvc0qXTaYbw=",
|
||||
"hash": "sha256-kn9qUKvCV0vbOHDsgByO8MAJA/xwEzoBzRO9poWs0V0=",
|
||||
"homepage": "https://registry.terraform.io/providers/DataDog/datadog",
|
||||
"owner": "DataDog",
|
||||
"repo": "terraform-provider-datadog",
|
||||
"rev": "v3.70.0",
|
||||
"rev": "v3.71.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-IW7v9w3/X+v+AF8eRE4n1KI7MnLWlxkXzTvAJtsQ4Ik="
|
||||
"vendorHash": "sha256-0aYkDyqpXzGXZR4ua4rru9Bwt5R+UjDdozO8ZnHm1xQ="
|
||||
},
|
||||
"deno": {
|
||||
"hash": "sha256-7IvJrhXMeAmf8e21QBdYNSJyVMEzLpat4Tm4zHWglW8=",
|
||||
@@ -534,13 +534,13 @@
|
||||
"vendorHash": "sha256-IwUmrRZC2KXNzbKajKisaqKbv0RMIH8tgiKsOOlduIo="
|
||||
},
|
||||
"google-beta": {
|
||||
"hash": "sha256-8woiWjYYaojpKykxd9eMT4qXfpHVkXFA9eN3qzhEu+8=",
|
||||
"hash": "sha256-288cK94lKkgSKTs0YuHvoyp/Z3rPr4qDo7AZE6ndJZo=",
|
||||
"homepage": "https://registry.terraform.io/providers/hashicorp/google-beta",
|
||||
"owner": "hashicorp",
|
||||
"repo": "terraform-provider-google-beta",
|
||||
"rev": "v6.47.0",
|
||||
"rev": "v6.48.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-BzmaCp0QL2BbYn+NwlvPGV2CoDjKXr75HaPFVdrS5e4="
|
||||
"vendorHash": "sha256-etnuDVoCrGySDh6cSCO24GCqRVD2UiK4Zcrbf+y12vQ="
|
||||
},
|
||||
"googleworkspace": {
|
||||
"hash": "sha256-dedYnsKHizxJZibuvJOMbJoux0W6zgKaK5fxIofKqCY=",
|
||||
@@ -552,13 +552,13 @@
|
||||
"vendorHash": "sha256-fqVBnAivVekV+4tpkl+E6eNA3wi8mhLevJRCs3W7L2g="
|
||||
},
|
||||
"grafana": {
|
||||
"hash": "sha256-mL+05LpobDrXl483QOmo1k6n/UmLkg3fR64LQBnfrfo=",
|
||||
"hash": "sha256-x1IlmhaQ4vvP1InH68WgBBtwzhyCdF1tsJ0n5Koks1M=",
|
||||
"homepage": "https://registry.terraform.io/providers/grafana/grafana",
|
||||
"owner": "grafana",
|
||||
"repo": "terraform-provider-grafana",
|
||||
"rev": "v4.3.0",
|
||||
"rev": "v4.5.1",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-FQF36Rx+7PzVtbV7eNbvBX4ovqPj6iRlZi0YmB3P6EU="
|
||||
"vendorHash": "sha256-LkWUyuQYJYK5RK5DNKhbOQyfrg0qcM5Z+0oB65La3GQ="
|
||||
},
|
||||
"gridscale": {
|
||||
"hash": "sha256-zD3KiTLKALVOvFOewWyrd65p0XmLOi/bSIP27dXwveU=",
|
||||
@@ -831,13 +831,13 @@
|
||||
"vendorHash": "sha256-QxbZv6YMa5/I4bTeQBNdmG3EKtLEmstnH7HMiZzFJrI="
|
||||
},
|
||||
"migadu": {
|
||||
"hash": "sha256-k7W/oaZeBY5/Wi1vRCD641DKc0KQbBa834WDmtBp5wY=",
|
||||
"hash": "sha256-crrJ76Ou+4waqMnd6SYP5B6dXW2kE6c+PrSnDjm9sZ0=",
|
||||
"homepage": "https://registry.terraform.io/providers/metio/migadu",
|
||||
"owner": "metio",
|
||||
"repo": "terraform-provider-migadu",
|
||||
"rev": "2025.8.7",
|
||||
"rev": "2025.8.14",
|
||||
"spdx": "0BSD",
|
||||
"vendorHash": "sha256-CokSZ4CgWBCb/MnGK410Lt9rwBq3luceoFAPLLrwT5U="
|
||||
"vendorHash": "sha256-lw+aJdj7VwHmF4hwDRLhf4gmkPX+exiyhqVjYrPcok4="
|
||||
},
|
||||
"minio": {
|
||||
"hash": "sha256-TLWbbWYTjnvxT1LaV3FsL31xHHov8LpDYhA/nchMyMo=",
|
||||
@@ -985,13 +985,13 @@
|
||||
"vendorHash": "sha256-AlB9tC3KejgUAjjT2pY7Q2mTS/AV4QRusSnyPiOheXE="
|
||||
},
|
||||
"opentelekomcloud": {
|
||||
"hash": "sha256-lBaer+ZI4kYHocgLlDDOVJnr3EwVhLEHO9JXqbLcH9E=",
|
||||
"hash": "sha256-B5Rp3C343Doq48dO+sid5P9Z0vXN6THdhEGdHnHvKD0=",
|
||||
"homepage": "https://registry.terraform.io/providers/opentelekomcloud/opentelekomcloud",
|
||||
"owner": "opentelekomcloud",
|
||||
"repo": "terraform-provider-opentelekomcloud",
|
||||
"rev": "v1.36.44",
|
||||
"rev": "v1.36.45",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-+OT7y7YN8xT9MJqzVGlGxR1cEK6PYSNZLeSVNp9yOvI="
|
||||
"vendorHash": "sha256-CWQRfXZuD4MrP8qvrZb98HMN9cRY3Gt4nF0cc+c7hnc="
|
||||
},
|
||||
"openwrt": {
|
||||
"hash": "sha256-z78IceF2VJtiQpVqC+rTUDsph73LZawIK+az3rEhljA=",
|
||||
@@ -1445,13 +1445,13 @@
|
||||
"vendorHash": "sha256-eCIJ2w8DjmUCGp0VbliLaQ6C29mJhl6Spya06Xyiqd4="
|
||||
},
|
||||
"venafi": {
|
||||
"hash": "sha256-699jmdrQHo2tbpRbxvsGWVx9wFwKKTrIr8ZJGo5RS2I=",
|
||||
"hash": "sha256-7JKsSAiZufOLVMpWVWI+lyWucJ/eqO7OWdSTkQC6VEc=",
|
||||
"homepage": "https://registry.terraform.io/providers/Venafi/venafi",
|
||||
"owner": "Venafi",
|
||||
"repo": "terraform-provider-venafi",
|
||||
"rev": "v0.22.3",
|
||||
"rev": "v0.22.4",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-jlaqJxBQmyuCQeMW3k9Uo8SosUmRJnDHcE9+GEM7WQI="
|
||||
"vendorHash": "sha256-3fuH/8dqf4jzORN6/ajapj/WclbwD65Nojs+cEdgJ7I="
|
||||
},
|
||||
"vinyldns": {
|
||||
"hash": "sha256-ow+o9fRw/t2i4N65zuVFbfPb68ZUcJfNB5ARYqRTsIs=",
|
||||
@@ -1499,13 +1499,13 @@
|
||||
"vendorHash": "sha256-47xWjlzpQ/EYzjbuuMKQiu5cfYAXdYkXRl+AOEP+sA4="
|
||||
},
|
||||
"vultr": {
|
||||
"hash": "sha256-1ZzydEpNF06NUC0wYtFcPHpdj4FFPI+qF6pVRNsUxTs=",
|
||||
"hash": "sha256-Vxp8Uv6W6nKGvypPAvlY+TI5O77How79c7xBTJWg/5Q=",
|
||||
"homepage": "https://registry.terraform.io/providers/vultr/vultr",
|
||||
"owner": "vultr",
|
||||
"repo": "terraform-provider-vultr",
|
||||
"rev": "v2.26.0",
|
||||
"rev": "v2.27.1",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-i9RzGR03pRhRDDGKBROVSB1aK1EMCYQkYsjeczP8AE4="
|
||||
"vendorHash": "sha256-OoIlSsR8vbS15TfZvPP+RBDjPvD7Jzr2CpgMk76s6R8="
|
||||
},
|
||||
"wavefront": {
|
||||
"hash": "sha256-yNNtOkodzwxKvHQq9GZlUicezGW6u2ih6ry/cOtJQGM=",
|
||||
|
||||
@@ -9,16 +9,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "obs-teleport";
|
||||
version = "0.7.4";
|
||||
version = "0.7.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "fzwoch";
|
||||
repo = "obs-teleport";
|
||||
rev = version;
|
||||
sha256 = "sha256-mHHPlmUyR9NDdQHqw1YNgThGl/8DH/aiCE9rdZhrIK4=";
|
||||
sha256 = "sha256-r1CB9wzw1tuRHWpx5PXyuh1y3Tue34Wpgys7LSEh62s=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-U/5smUMpcVEFWB+xMxLKF9E6N7dyh67QoB+Afq5Ga2Q=";
|
||||
vendorHash = "sha256-o7PL3qnZ13L8+7mVx2yyDIlw/0s+NHNwy9DaRZxVKLc=";
|
||||
|
||||
buildInputs = [
|
||||
libjpeg
|
||||
|
||||
+137
@@ -0,0 +1,137 @@
|
||||
#!/bin/sh
|
||||
set -eu
|
||||
|
||||
name="fetchpijul"
|
||||
remote=
|
||||
channel="main"
|
||||
change=
|
||||
state=
|
||||
exp_hash=
|
||||
|
||||
usage() {
|
||||
echo "Usage: nix-prefetch-pijul [options] [REMOTE] [STATE [EXPECTED-HASH]]"
|
||||
echo
|
||||
echo "Options:"
|
||||
echo " --name <NAME> Symbolic store path name to use for the result."
|
||||
echo " --remote <REMOTE> URL for the Pijul repository."
|
||||
echo " --change <CHANGE> Clone a specific change."
|
||||
echo " --state <STATE> Clone a specific state."
|
||||
echo " --channel <CHANNEL> Channel name (default: ‘main’)."
|
||||
echo " --hash <HASH> Expected hash."
|
||||
echo " --help Show this help message."
|
||||
}
|
||||
|
||||
# Argument parsing
|
||||
while [ $# -gt 0 ]; do
|
||||
case "$1" in
|
||||
--name)
|
||||
name="$2"; shift 2 ;;
|
||||
--remote)
|
||||
remote="$2"; shift 2 ;;
|
||||
--channel)
|
||||
channel="$2"; shift 2 ;;
|
||||
--change)
|
||||
change="$2"; shift 2 ;;
|
||||
--state)
|
||||
state="$2"; shift 2 ;;
|
||||
--hash)
|
||||
exp_hash="$2"; shift 2 ;;
|
||||
--help)
|
||||
usage; exit 0 ;;
|
||||
*)
|
||||
# Positional arguments
|
||||
if [ -z "$remote" ]; then
|
||||
remote="$1"
|
||||
shift
|
||||
elif [ -z "$state" ]; then
|
||||
state="$1"
|
||||
shift
|
||||
elif [ -z "$exp_hash" ]; then
|
||||
exp_hash="$1"
|
||||
shift
|
||||
else
|
||||
echo "Error: Too many arguments" >&2
|
||||
usage
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ -z "$remote" ]; then
|
||||
echo "Error: URL for remote is required." >&2
|
||||
echo >&2
|
||||
usage
|
||||
exit 1
|
||||
elif [ -n "$change" -a -n "$state" ]; then
|
||||
echo "Error: Only one of ‘change’ or ‘state’ can be set" >&2
|
||||
echo >&2
|
||||
usage
|
||||
exit 1
|
||||
fi
|
||||
|
||||
hash=
|
||||
hash_algo="${NIX_HASH_ALGO:-"sha256"}"
|
||||
hash_format="${hashFormat:-"--base32"}"
|
||||
final_path=
|
||||
|
||||
# If the hash was given, a file with that hash may already be in the
|
||||
# store.
|
||||
if [ -n "$exp_hash" ]; then
|
||||
final_path=$(nix-store --print-fixed-path --recursive "$hash_algo" "$exp_hash" "$name")
|
||||
if ! nix-store --check-validity "$final_path" 2> /dev/null; then
|
||||
final_path=""
|
||||
fi
|
||||
hash="$exp_hash"
|
||||
fi
|
||||
|
||||
# If we don’t know the hash or a path with that hash doesn’t exist,
|
||||
# download the file and add it to the store.
|
||||
if [ -z "$final_path" ]; then
|
||||
tmp_clone="$(realpath "$(mktemp -d --tmpdir pijul-clone-tmp-XXXXXXXX)")"
|
||||
trap "rm -rf \"$tmp_clone\"" EXIT
|
||||
|
||||
clone_args="--channel $channel"
|
||||
if [ -n "$change" ]; then
|
||||
clone_args="$clone_args --change $change"
|
||||
elif [ -n "$state" ]; then
|
||||
clone_args="$clone_args --state $state"
|
||||
fi
|
||||
|
||||
cd "$tmp_clone"
|
||||
pijul clone $clone_args "$remote" "$name"
|
||||
rm -rf "$tmp_clone/$name/.pijul"
|
||||
|
||||
hash="$(nix-hash --type "$hash_algo" "$hash_format" "$tmp_clone/$name")"
|
||||
final_path=$(nix-store --add-fixed --recursive "$hash_algo" "$tmp_clone/$name")
|
||||
|
||||
if [ -n "$exp_hash" -a "$exp_hash" != "$hash" ]; then
|
||||
echo "Hash mismatch for “$remote” @ “$channel”" >&2
|
||||
echo "Expected: $exp_hash" >&2
|
||||
echo "Got: $hash" >&2
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
json_escape() {
|
||||
printf '%s' "$1" | jq -Rs .
|
||||
}
|
||||
|
||||
cat <<EOF
|
||||
{
|
||||
"remote": $(json_escape "$remote"),
|
||||
"channel": $(json_escape "$channel"),
|
||||
EOF
|
||||
if [ -n "$change" ]; then cat <<EOF
|
||||
"change": "$(json_escape "$change")",
|
||||
EOF
|
||||
elif [ -n "$state" ]; then cat <<EOF
|
||||
"state": "$(json_escape "$state")",
|
||||
EOF
|
||||
fi; cat <<EOF
|
||||
"path": "$final_path",
|
||||
$(json_escape "$hash_algo"): $(json_escape "$hash"),
|
||||
"hash": "$(nix-hash --to-sri --type "$hash_algo" "$hash")"
|
||||
}
|
||||
EOF
|
||||
# vim: noet ci pi sts=0
|
||||
@@ -8,13 +8,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "aliyun-cli";
|
||||
version = "3.0.294";
|
||||
version = "3.0.296";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "aliyun";
|
||||
repo = "aliyun-cli";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-u7a90QObYcsZFLlKoaIanqadxrSaWEVB/FCHFBul/dI=";
|
||||
hash = "sha256-7LQUxUE31bFve3IyK9G+1XM6Fom888JQ2WZy2mpW9Fs=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
||||
@@ -7,16 +7,16 @@
|
||||
|
||||
buildNpmPackage rec {
|
||||
pname = "all-the-package-names";
|
||||
version = "2.0.2168";
|
||||
version = "2.0.2177";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "nice-registry";
|
||||
repo = "all-the-package-names";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-iHwmvrDIiBMoH1LBrAbYvI/qPebTJIlvaOl6KxXJ+O8=";
|
||||
hash = "sha256-kNRgnkwan9h6LQI1t2PNCNADJ2+hOkJsmDuYW33o1Pc=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-WxgcuQx/raixX4Y2diyDM5cAhsfFCUrNt+z02VC3Ng4=";
|
||||
npmDepsHash = "sha256-TrKLjjPRBb+/swLyCoGrh9YA5J6OxGKkGTF9RwN7J6k=";
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
|
||||
@@ -11,13 +11,13 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "apko";
|
||||
version = "0.30.4";
|
||||
version = "0.30.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "chainguard-dev";
|
||||
repo = "apko";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-4bmfHgtxaoXyx6GAUTtdNr47/Weol4KqO4fnonOCkEM=";
|
||||
hash = "sha256-FYbk61+gVFmTynn2wywtiDIsTfMKWWO+WrZVPgV8KaU=";
|
||||
# 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;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Generated by ./update.sh - do not update manually!
|
||||
{
|
||||
version = "1.17.0-2";
|
||||
arm64-hash = "sha256-skqxt0IPn3X1ejltxTdT7Xm1zEeFTmyJdxRmNK8+fvY=";
|
||||
x86_64-hash = "sha256-ZYTELa0syIS2fZCNNFHg7WlTh9+Zu7XxSJTAvwavg5w=";
|
||||
version = "1.17.1-1";
|
||||
arm64-hash = "sha256-RCANNd8oT9UikiXYXtrO6ctvAxGbQ6TflFh/hVwC7TA=";
|
||||
x86_64-hash = "sha256-rV+0f6qkaQWOZAO1RTzHxiocuhblHejXEcBcdz3OG0M=";
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
stdenvNoCC,
|
||||
bash,
|
||||
pds,
|
||||
bluesky-pds,
|
||||
makeBinaryWrapper,
|
||||
jq,
|
||||
curl,
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "pdsadmin";
|
||||
inherit (pds) version src;
|
||||
inherit (bluesky-pds) version src;
|
||||
|
||||
patches = [ ./pdsadmin-offline.patch ];
|
||||
|
||||
@@ -49,7 +49,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
|
||||
meta = {
|
||||
description = "Admin scripts for Bluesky Personal Data Server (PDS)";
|
||||
inherit (pds.meta) homepage license;
|
||||
inherit (bluesky-pds.meta) homepage license;
|
||||
maintainers = with lib.maintainers; [ t4ccer ];
|
||||
platforms = lib.platforms.unix;
|
||||
mainProgram = "pdsadmin";
|
||||
@@ -15,7 +15,7 @@
|
||||
assert par2Support -> par2cmdline != null;
|
||||
|
||||
let
|
||||
version = "0.33.7";
|
||||
version = "0.33.8";
|
||||
|
||||
pythonDeps =
|
||||
with python3.pkgs;
|
||||
@@ -38,7 +38,7 @@ stdenv.mkDerivation {
|
||||
repo = "bup";
|
||||
owner = "bup";
|
||||
rev = version;
|
||||
hash = "sha256-tuOUml4gF4i7bE2xtjJJol1gRAfYv73RghUYwIDsGyM=";
|
||||
hash = "sha256-FIIzD+7QUwNYhJQhOPzGQxjiSlMsnA6lahh/kn3eGrg=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
||||
@@ -9,16 +9,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "cedar";
|
||||
version = "4.5.0";
|
||||
version = "4.5.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cedar-policy";
|
||||
repo = "cedar";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-CkrrpaAS7CZk2eboGXXDPtpfil5d+4Cg4Ldkw/Zwr8c=";
|
||||
hash = "sha256-f8d7KL1DzEfJqEJ5uwwOJCgePE/frOXIFcXuoybIp2U=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-OLTKAFTqjgw5Dix2B0bPzRYjP2EQLgCXjfiB3Reirok=";
|
||||
cargoHash = "sha256-MK6Zcpf12mGzntEv632kQjH7YOx31QBCmSJHxjE3l1c=";
|
||||
|
||||
passthru = {
|
||||
tests.version = testers.testVersion { package = cedar; };
|
||||
|
||||
@@ -7,13 +7,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "civo";
|
||||
version = "1.4.2";
|
||||
version = "1.4.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "civo";
|
||||
repo = "cli";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-U//qnxLD4DR6hIUJBIYtkbUkXVmIiHxLfTeza+bTYL4=";
|
||||
hash = "sha256-0F8RF2vbuuLv39yIYQk7TdBw8CImcnMFQ9r+GSHGGiY=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-TsaGXDUTvTsfDIBhM9+JwL2swEw/qSivn3NTA0tWkZw=";
|
||||
|
||||
+4
-4
@@ -6,13 +6,13 @@
|
||||
"packages": {
|
||||
"": {
|
||||
"dependencies": {
|
||||
"@anthropic-ai/claude-code": "^1.0.83"
|
||||
"@anthropic-ai/claude-code": "^1.0.84"
|
||||
}
|
||||
},
|
||||
"node_modules/@anthropic-ai/claude-code": {
|
||||
"version": "1.0.83",
|
||||
"resolved": "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-1.0.83.tgz",
|
||||
"integrity": "sha512-Mm+88khPbg9eAUbrWGirigWeC4xu2hH0ns3+lnfKWX3e8RJDOV9vnCHjzbEIVXvvvw1YmeIO7TxsFk5/MVuhGA==",
|
||||
"version": "1.0.84",
|
||||
"resolved": "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-1.0.84.tgz",
|
||||
"integrity": "sha512-+Qu+z1jTdZPu0UL4dalntkofDGL0BgWqs6XmRlq+RuxurHJy58zKae4PL8naevrkbgazauIPYDDGmHF3u+B0uQ==",
|
||||
"license": "SEE LICENSE IN README.md",
|
||||
"bin": {
|
||||
"claude": "cli.js"
|
||||
|
||||
@@ -7,16 +7,16 @@
|
||||
|
||||
buildNpmPackage rec {
|
||||
pname = "claude-code";
|
||||
version = "1.0.83";
|
||||
version = "1.0.84";
|
||||
|
||||
nodejs = nodejs_20; # required for sandboxed Nix builds on Darwin
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-${version}.tgz";
|
||||
hash = "sha256-h6bAP6nMifQ6cfM80A1QxSYM53LYbEX1WsyPiNPby0M=";
|
||||
hash = "sha256-Uu6K2Fq4MT0jb4GsAaHo0UbjnK2bXxjQEjND3ftcFMo=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-vxy4FvwEQrtrVzlfmZCY8EDC22yG04GYzBrN0U65gsw=";
|
||||
npmDepsHash = "sha256-G1Jrjds7Il+gmQ5SYRgbW3faB2gJd3x0r576IGwFNys=";
|
||||
|
||||
postPatch = ''
|
||||
cp ${./package-lock.json} package-lock.json
|
||||
|
||||
@@ -19,17 +19,17 @@
|
||||
|
||||
let
|
||||
deltachat-rpc-server' = deltachat-rpc-server.overrideAttrs rec {
|
||||
version = "2.10.0";
|
||||
version = "2.11.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "chatmail";
|
||||
repo = "core";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-boS8Awxp9Z/4TrYfqRF77K01dAcEZOfr+oOqMOEeUig=";
|
||||
hash = "sha256-W1DEG72Fk98pp0lm5+AyVb9zcpE5c2mqElOHFpofx58=";
|
||||
};
|
||||
cargoDeps = rustPlatform.fetchCargoVendor {
|
||||
pname = "deltachat-core-rust";
|
||||
pname = "chatmail-core";
|
||||
inherit version src;
|
||||
hash = "sha256-fSuVq0ODYvKLU2peQuutfuSerZl2cfRCu/w0E6eQRV8=";
|
||||
hash = "sha256-P/wIat9sflXfloboMdN15EGo1cqxgPZ0OBDYF/iB/7A=";
|
||||
};
|
||||
};
|
||||
electron = electron_37;
|
||||
@@ -37,19 +37,19 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "deltachat-desktop";
|
||||
version = "2.10.0";
|
||||
version = "2.11.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "deltachat";
|
||||
repo = "deltachat-desktop";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-97a82xHoFWCdO6dB1nhTYqosWA2Cf6cRfg2eTaiZd8g=";
|
||||
hash = "sha256-M/QqD+g85o4xHF8BmusqU2sNIk9NFzOtCnz+MAk9/74=";
|
||||
};
|
||||
|
||||
pnpmDeps = pnpm.fetchDeps {
|
||||
inherit (finalAttrs) pname version src;
|
||||
fetcherVersion = 1;
|
||||
hash = "sha256-SJyLLsUH1tm/ADJ6yJo5yCTE/rjHVOhHw3plGQUgD3M=";
|
||||
hash = "sha256-2EKu0ju/TTyVTYPjmStXsGoFdJEq5NkHqtQZggY2xbE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -12,20 +12,20 @@
|
||||
}:
|
||||
let
|
||||
pname = "dependabot-cli";
|
||||
version = "1.68.0";
|
||||
version = "1.71.0";
|
||||
|
||||
# `tag` is what `dependabot` uses to find the relevant docker images.
|
||||
tag = "nixpkgs-dependabot-cli-${version}";
|
||||
|
||||
# Get these hashes from
|
||||
# nix run nixpkgs#nix-prefetch-docker -- --image-name ghcr.io/github/dependabot-update-job-proxy/dependabot-update-job-proxy --image-tag latest --final-image-name dependabot-update-job-proxy --final-image-tag ${tag}
|
||||
updateJobProxy.imageDigest = "sha256:83834c9a112c3e29c4bc357e17ee057c32232f443bc295130b024077acbcca4e";
|
||||
updateJobProxy.hash = "sha256-ej6AEvnp7n8O6eArrVAJgXzeco/Rz+tXg7gVxo0OsW8=";
|
||||
updateJobProxy.imageDigest = "sha256:a42f9b9845929ae044b8cd51b5335195c33fd610405e558552408287c5295827";
|
||||
updateJobProxy.hash = "sha256-pEtwBoJ+wF2TdQCcCyigLg4NYqOp2oNCEB7oCJOkwYc=";
|
||||
|
||||
# Get these hashes from
|
||||
# nix run nixpkgs#nix-prefetch-docker -- --image-name ghcr.io/dependabot/dependabot-updater-github-actions --image-tag latest --final-image-name dependabot-updater-github-actions --final-image-tag ${tag}
|
||||
updaterGitHubActions.imageDigest = "sha256:90a65d2c98f8fc8ac1fd6291ea0be02a911818d4fa8ec788ceb1c9227fa844f4";
|
||||
updaterGitHubActions.hash = "sha256-uc/yetek6XHTWQb1+DJiOWEHS2nea+/jd/lJdpI6m7E=";
|
||||
updaterGitHubActions.imageDigest = "sha256:ca93364b87b6a803d0005409cdb4c61d9c6d808dca33de47de14ef8c30811b51";
|
||||
updaterGitHubActions.hash = "sha256-TnV8IaBrGPpd06YYmvazGMlZTAVJIMCSWdOgi6hkpRE=";
|
||||
in
|
||||
buildGoModule {
|
||||
inherit pname version;
|
||||
@@ -34,10 +34,10 @@ buildGoModule {
|
||||
owner = "dependabot";
|
||||
repo = "cli";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-Pd9Q5ipwcj7KQ+Nr7Tyga3xwGKLPFJIPc23fob0EQeA=";
|
||||
hash = "sha256-RZNZ72FG4KQr52X0No6iXU4NMUQs7k000KYpw2Kuz5U=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-vitkSAvc7TAXcqXQPbnIE0z4tYlSvdx072hzAB50O3I=";
|
||||
vendorHash = "sha256-5zOMTe8Sa/nkIGtwm4FbAqv3/9Mg5Du2ixxF84VQbXE=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
|
||||
@@ -9,13 +9,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "dgraph";
|
||||
version = "24.1.3";
|
||||
version = "24.1.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dgraph-io";
|
||||
repo = "dgraph";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-d6HKhA07l6rT+8TktEWaOFw4YTfDz8O5ZhgEQkVcE/M=";
|
||||
sha256 = "sha256-tvzX5pkaad/DrJkFIIjxAIJME9KHi/2KONw6fXcml18=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-eOo2ihaabdhDRATIc5C4YEMBcA0Xl5xzBKW5GJhrTOA=";
|
||||
|
||||
@@ -14,13 +14,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "doublecmd";
|
||||
version = "1.1.27";
|
||||
version = "1.1.28";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "doublecmd";
|
||||
repo = "doublecmd";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-YHaxynBIxoirFDKvGEECKIAJezuex3DBoU8snEdbhhg=";
|
||||
hash = "sha256-RbDAWpJy4+7VNJkuY+LB27nQFbThUCaH+Bcsqdrlp5g=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -7,16 +7,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "dysk";
|
||||
version = "2.10.1";
|
||||
version = "3.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Canop";
|
||||
repo = "dysk";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-B6iEssB9+BUXO4p1aSzrOGlBA8TiUOZY7a9U8F9SXaQ=";
|
||||
hash = "sha256-aQbvuLcgZX+bLegGhwrlO2unOFXi2MIGHjSvdhzxhYM=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-qfKNxLtvVaXGVP0wzOoZ5jaViO4hcMoZIOqxrpXiWzc=";
|
||||
cargoHash = "sha256-6/nIktM0E5MHo3Badrt0nMq5EFcK/LUS9k81Cjq7NSU=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
installShellFiles
|
||||
|
||||
@@ -9,16 +9,16 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "gost";
|
||||
version = "3.2.3";
|
||||
version = "3.2.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "go-gost";
|
||||
repo = "gost";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-B2ffIGS0tURZI7uVALih7YM9thBWAjihdIdSHhQFnE8=";
|
||||
hash = "sha256-zFGoM+fYO/o70LJ2fbzhMv4qbjLozJGmGbudqHjCFRU=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-WvCNvmH/KpFivKMBqBMgKi9VieOegGIrh463YC9WwAg=";
|
||||
vendorHash = "sha256-W3CHttD9iGpl2wG/Pa21YY6ACf5M894p25nLfMX0+F4=";
|
||||
|
||||
# Based on ldflags in upstream's .goreleaser.yaml
|
||||
ldflags = [
|
||||
|
||||
+1
-1
@@ -58,6 +58,6 @@ in
|
||||
pkg
|
||||
// {
|
||||
meta = pkg.meta // {
|
||||
position = toString ./default.nix + ":1";
|
||||
position = toString ./package.nix + ":1";
|
||||
};
|
||||
}
|
||||
@@ -10,13 +10,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "hcxtools";
|
||||
version = "7.0.0";
|
||||
version = "7.0.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ZerBea";
|
||||
repo = "hcxtools";
|
||||
rev = version;
|
||||
sha256 = "sha256-gL1OnNtd6cqW0kM3w2wHc0UU3JvC6H2kQg1aBDaN11U=";
|
||||
sha256 = "sha256-WV5+1PQF999qSIMrIYApmIx6C+ovbKOtJDFglzxzSB4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
+1
-1
@@ -41,7 +41,7 @@ in
|
||||
pkg.overrideAttrs (
|
||||
finalAttrs: o: {
|
||||
meta = o.meta // {
|
||||
position = toString ./default.nix + ":1";
|
||||
position = toString ./package.nix + ":1";
|
||||
};
|
||||
passthru = o.passthru // {
|
||||
tests = {
|
||||
@@ -273,7 +273,7 @@ buildNpmPackage' {
|
||||
|
||||
passthru = {
|
||||
tests = {
|
||||
inherit (nixosTests) immich;
|
||||
inherit (nixosTests) immich immich-vectorchord-migration;
|
||||
};
|
||||
|
||||
machine-learning = immich-machine-learning;
|
||||
|
||||
@@ -48,7 +48,7 @@ in
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "ipxe";
|
||||
version = "1.21.1-unstable-2025-08-07";
|
||||
version = "1.21.1-unstable-2025-08-13";
|
||||
|
||||
nativeBuildInputs = [
|
||||
mtools
|
||||
@@ -66,8 +66,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
src = fetchFromGitHub {
|
||||
owner = "ipxe";
|
||||
repo = "ipxe";
|
||||
rev = "8460dc4e8ffc98db62377d1c5502d6aac40f5a64";
|
||||
hash = "sha256-Xk1lbExR4dyiba4tF0Dm9/KtTVxc78Fs8gjmZU7pdpI=";
|
||||
rev = "a53ec449327788e2015642bff21443d3a399c05b";
|
||||
hash = "sha256-rcRWkuOgtHs6ZzcECbsVXCN+HS5cG/HlrVPP5+ZF+EM=";
|
||||
};
|
||||
|
||||
# Calling syslinux on a FAT image isn't going to work on Aarch64.
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
python3Packages,
|
||||
sqlite,
|
||||
nix-update-script,
|
||||
nixosTests,
|
||||
}:
|
||||
|
||||
let
|
||||
@@ -17,13 +18,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "jellyseerr";
|
||||
version = "2.7.2";
|
||||
version = "2.7.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Fallenbagel";
|
||||
repo = "jellyseerr";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-MaLmdG98WewnNJt7z6OP9xv6zlNwwu/+YnPM0Iebxj4=";
|
||||
hash = "sha256-a3lhQ33Zb+vSu1sQjuqO3bITiQEIOVyFTecmJAhJROU=";
|
||||
};
|
||||
|
||||
pnpmDeps = pnpm.fetchDeps {
|
||||
@@ -78,7 +79,10 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
--set NODE_ENV production
|
||||
'';
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
passthru = {
|
||||
inherit (nixosTests) jellyseerr;
|
||||
updateScript = nix-update-script { };
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Fork of overseerr for jellyfin support";
|
||||
|
||||
+2
-2
@@ -4,7 +4,7 @@
|
||||
fetchurl,
|
||||
unzip,
|
||||
makeDesktopItem,
|
||||
jre,
|
||||
jre8,
|
||||
}:
|
||||
|
||||
let
|
||||
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
|
||||
};
|
||||
|
||||
patchPhase = ''
|
||||
sed -i -e "4s:.*:command=${jre}/bin/java:" -e "10s:.*:jarpath=$out/share/jmol/Jmol.jar:" -e "11,21d" jmol
|
||||
sed -i -e "4s:.*:command=${jre8}/bin/java:" -e "10s:.*:jarpath=$out/share/jmol/Jmol.jar:" -e "11,21d" jmol
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
@@ -33,13 +33,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "justbuild";
|
||||
version = "1.6.2";
|
||||
version = "1.6.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "just-buildsystem";
|
||||
repo = "justbuild";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-C2Tv/R8bIKAG0E1vcZyS2fs2Pr26+luinPsjCqbboR0=";
|
||||
hash = "sha256-ZTwe6S0AH1yQt5mABtIeWuMbiVSKeOZWMFI26fthLsM=";
|
||||
};
|
||||
|
||||
bazelapi = fetchurl {
|
||||
|
||||
@@ -20,11 +20,11 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "keepass";
|
||||
version = "2.57.1";
|
||||
version = "2.59";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/keepass/KeePass-${finalAttrs.version}-Source.zip";
|
||||
hash = "sha256-97ZX1EzhMv4B3YZ3HoUqlGTEMsQn3cmNGr+uvS6AKYY=";
|
||||
hash = "sha256-esJxGCGDb8AZi28Z7NeHMYyL8GWFpKOusua9UxlgSns=";
|
||||
};
|
||||
|
||||
sourceRoot = ".";
|
||||
@@ -101,7 +101,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
xbuild /p:Configuration=Release
|
||||
xbuild KeePass.sln /p:Configuration=Release
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
@@ -11,13 +11,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "kubeshark";
|
||||
version = "52.8.0";
|
||||
version = "52.8.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kubeshark";
|
||||
repo = "kubeshark";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-p7kTawHggRR1fdd8nAPRCGuvVgRKZ6n8U22D/731xJ8=";
|
||||
hash = "sha256-o11gVE+s2tVd2RLD6Otd23wt3l6HxBwoOfwhaaqttn8=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-4s1gxJo2w5BibZ9CJP7Jl9Z8Zzo8WpBokBnRN+zp8b4=";
|
||||
|
||||
@@ -11,13 +11,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "libmsquic";
|
||||
version = "2.5.0";
|
||||
version = "2.5.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "microsoft";
|
||||
repo = "msquic";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-GWkdwPms0jqVADp8D4HtvOi+9YORZpqbJ7OqKnS/jB0=";
|
||||
hash = "sha256-rL4uKcPx3IUzBDp8uGW2VprVyYuTD5p73WbdW+ebSGg=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
||||
@@ -18,21 +18,21 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "matrix-authentication-service";
|
||||
version = "0.20.0";
|
||||
version = "1.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "element-hq";
|
||||
repo = "matrix-authentication-service";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-BLEbEDZRh7fgcnkH/YUHPPdKM1FtZdjvsL1rJ57BP3w=";
|
||||
hash = "sha256-v3M/MrBwa4XBfsDYt9BCmt0MBEnIjrCck/Cpv79dXLw=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-1jLiCCZUj/rBHd1huqZdmgKayoSZoOt3tptyZlOcWJA=";
|
||||
cargoHash = "sha256-D1LBPwPdkTV35cDrKaygRoiBYWRSYv4KtkAdvs5+S/o=";
|
||||
|
||||
npmDeps = fetchNpmDeps {
|
||||
name = "${finalAttrs.pname}-${finalAttrs.version}-npm-deps";
|
||||
src = "${finalAttrs.src}/${finalAttrs.npmRoot}";
|
||||
hash = "sha256-+n9P2P88G3neHJqmJi/VWpaQ/UkUzBtihfeKy5lju4U=";
|
||||
hash = "sha256-1yxxzxhefviOQX6lXWFW/bmkOcJeetE1sCPsDUT4UJM=";
|
||||
};
|
||||
|
||||
npmRoot = "frontend";
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "mautrix-meta";
|
||||
version = "0.5.2";
|
||||
version = "0.5.3";
|
||||
|
||||
subPackages = [ "cmd/mautrix-meta" ];
|
||||
|
||||
@@ -23,13 +23,13 @@ buildGoModule rec {
|
||||
owner = "mautrix";
|
||||
repo = "meta";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-S/HWCN9d3Nhbl73RoFD684OG3CbdNWXU8QReJoSYJK0=";
|
||||
hash = "sha256-k23ygwKQjKFov/8TJ6BKlcgIv5Jsy7oSBjcCCS5YVm4=";
|
||||
};
|
||||
|
||||
buildInputs = lib.optional (!withGoolm) olm;
|
||||
tags = lib.optional withGoolm "goolm";
|
||||
|
||||
vendorHash = "sha256-m0s99gl49NzGEpuDPB5tL92krt2Zho36NsIEXJk+nCw=";
|
||||
vendorHash = "sha256-xibBQNwXzpbvS9nVBBRyJK95I5EqF1Xde1TL1BEZmnA=";
|
||||
|
||||
passthru = {
|
||||
tests = {
|
||||
|
||||
@@ -6,16 +6,16 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "mcp-grafana";
|
||||
version = "0.6.2";
|
||||
version = "0.6.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "grafana";
|
||||
repo = "mcp-grafana";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-huJt0UtaKs/F4v7FJXb0fILqBd+OaTL9X0MUb9KZsX8=";
|
||||
hash = "sha256-6Sfj0v0mYg7j0C0H3ntX8+ydRslOW9b3xzFo3Ti3a5g=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-4TqbAUZQNwlfP44rRlmx+6ZaiOPEKcJ+K7qYja3pL/4=";
|
||||
vendorHash = "sha256-zevHaGR0Lipyn9KzdEQOHC0yqMmSl0/Wp02GTI3MmSw=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
fetchFromGitHub,
|
||||
nixosTests,
|
||||
nix-update-script,
|
||||
version ? "1.15.2",
|
||||
version ? "1.17.1",
|
||||
}:
|
||||
|
||||
let
|
||||
@@ -15,11 +15,11 @@ let
|
||||
# the meilisearch module accordingly and to remove the meilisearch_1_11
|
||||
# attribute from all-packages.nix at that point too.
|
||||
hashes = {
|
||||
"1.15.2" = "sha256-aTgfgPuyRcjr/DxxyuKOFXfBcDponVmKz5PpGbnsmd0=";
|
||||
"1.17.1" = "sha256-krl8993p7fm3x7mJTrEDPjifB4sbmXb5gtLqHMYoIc0=";
|
||||
"1.11.3" = "sha256-CVofke9tOGeDEhRHEt6EYwT52eeAYNqlEd9zPpmXQ2U=";
|
||||
};
|
||||
cargoHashes = {
|
||||
"1.15.2" = "sha256-eBGxVtE25txA17zxXdlSC6Vbrm+/v1fA7iTIBDvQ71M=";
|
||||
"1.17.1" = "sha256-4g9CpdBAjMv8mQ1dXj02lCyTFaMp62HlcdcsdhIL744=";
|
||||
"1.11.3" = "sha256-cEJTokDJQuc9Le5+3ObMDNJmEhWEb+Qh0TV9xZkD9D8=";
|
||||
};
|
||||
in
|
||||
|
||||
@@ -9,18 +9,18 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "meowlnir";
|
||||
version = "0.6.0";
|
||||
version = "0.7.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "maunium";
|
||||
repo = "meowlnir";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-TKt6uwj3RdhSEjGnWmYybJFaQ82qf3tXY4PPUAm6juQ=";
|
||||
hash = "sha256-S0GrM8uKfWJh0/oAQp2f7P+yj99N0bovCNscM8b7tB8=";
|
||||
};
|
||||
|
||||
buildInputs = [ olm ];
|
||||
|
||||
vendorHash = "sha256-rFk4QUAI/Brclt/X/T7O0T6v2dTxpqbNLtoi0twYliw=";
|
||||
vendorHash = "sha256-gzigJ2gg9jaREbFdX+38sUV8I/gcB5x+lYaABnS2Mbk=";
|
||||
|
||||
doCheck = true;
|
||||
doInstallCheck = true;
|
||||
|
||||
@@ -6,17 +6,17 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "mitra";
|
||||
version = "4.7.0";
|
||||
version = "4.8.0";
|
||||
|
||||
src = fetchFromGitea {
|
||||
domain = "codeberg.org";
|
||||
owner = "silverpill";
|
||||
repo = "mitra";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-xSgwCKjYuF6nUo4P7NrGocyhqBbBV/sx2BGKjWCEtB0=";
|
||||
hash = "sha256-hBbqlL5E0iSMtnGFCdVnKkCUcNwmBPkOnyEY+aAlw0o=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-dwaW69Mxn4GVFqOI+UUGkJG9yc3SWob0FcC1oMGsHg8=";
|
||||
cargoHash = "sha256-tk+WJaYBUteFfNfRuD45KNK0QaFMFUiDbaaqmwtPORQ=";
|
||||
|
||||
# require running database
|
||||
doCheck = false;
|
||||
|
||||
@@ -6,16 +6,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "mod";
|
||||
version = "0.8.0";
|
||||
version = "0.9.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "marwan-at-work";
|
||||
repo = "mod";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-P0FE0Sl4IXH6DAETnlBwQ2CR0X0AP9Z0noW99By7mxU=";
|
||||
sha256 = "sha256-s/i2S1BbIUEXclQlv0uXlzjEvrT+udo0uzec2Una0uY=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-GiE2RNAxbKpIekn54bfYlNvIcQo8D3ysmPSvxQhujYI=";
|
||||
vendorHash = "sha256-drGfJFuEsJyZJ1x40ww0rFYsl0AkjLbznCWgluwOCYs=";
|
||||
|
||||
doCheck = false;
|
||||
|
||||
|
||||
@@ -9,16 +9,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "mprisence";
|
||||
version = "1.2.4";
|
||||
version = "1.2.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "lazykern";
|
||||
repo = "mprisence";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-eUUUHjR6wnbaPb1QD9luEVvu5qSAxG5c4TuMjnzRV40=";
|
||||
hash = "sha256-XZgc5eaBo/FwRCTJnm6lKzp824/XckIMK5P4aTohiuE=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-BnzDMvwqQ56VFc7AuzsfyZ002qcmRaAOMfipynZ1/Mc=";
|
||||
cargoHash = "sha256-zbycof7QBI2Ua3rO24aCDZcxX8yoPKpAAFeQI4b2YjM=";
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "nsc";
|
||||
version = "2.11.0";
|
||||
version = "2.11.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "nats-io";
|
||||
repo = "nsc";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-/xfNl91cb82kV2IC/m56p94nb3WLDPU5O+1H+sTZnW4=";
|
||||
hash = "sha256-9HHrAT4LKVLb2+IDmXoPRtOKo1DRFznAbxJZp/B1uRY=";
|
||||
};
|
||||
|
||||
ldflags = [
|
||||
@@ -24,7 +24,7 @@ buildGoModule rec {
|
||||
"-X main.builtBy=nixpkgs"
|
||||
];
|
||||
|
||||
vendorHash = "sha256-Ms+chBbQCo3TGWPgIy4OSXNpxO5jpm1zxEe9upiPmnY=";
|
||||
vendorHash = "sha256-sTaiaLJyokasaf1Mbaz4RkgspTd3VphZat8Bavg/Y9A=";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
@@ -47,7 +47,7 @@ buildGoModule rec {
|
||||
# the test strips table formatting from the command output in a naive way
|
||||
# that removes all the table characters, including '-'.
|
||||
# The nix build directory looks something like:
|
||||
# /private/tmp/nix-build-nsc-2.11.0.drv-0/nsc_test2000598938/keys
|
||||
# /private/tmp/nix-build-nsc-2.11.1.drv-0/nsc_test2000598938/keys
|
||||
# Then the `-` are removed from the path unintentionally and the test fails.
|
||||
# This should be fixed upstream to avoid mangling the path when
|
||||
# removing the table decorations from the command output.
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
}:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "nvidia-modprobe";
|
||||
version = "580.65.06";
|
||||
version = "580.76.05";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "NVIDIA";
|
||||
repo = "nvidia-modprobe";
|
||||
rev = version;
|
||||
hash = "sha256-peEklk7lSnwz/RC6UlUEQf47clbTRL8M1xz8z4MgdHE=";
|
||||
hash = "sha256-NGVd+uur4jYcnmhIuK5qy0ktm95da89adUQpJbRT3VI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ gnum4 ];
|
||||
|
||||
@@ -31,9 +31,9 @@ let
|
||||
|
||||
phome = "$out/lib/olympus";
|
||||
# The following variables are to be updated by the update script.
|
||||
version = "25.07.26.04";
|
||||
buildId = "4981"; # IMPORTANT: This line is matched with regex in update.sh.
|
||||
rev = "31ee2ad97fd48ec122733c2bdd600913695673b9";
|
||||
version = "25.08.17.03";
|
||||
buildId = "5045"; # IMPORTANT: This line is matched with regex in update.sh.
|
||||
rev = "977e47bd2addb50ced3a81ee8a006bfc050e8afa";
|
||||
in
|
||||
buildDotnetModule {
|
||||
pname = "olympus-unwrapped";
|
||||
@@ -44,7 +44,7 @@ buildDotnetModule {
|
||||
owner = "EverestAPI";
|
||||
repo = "Olympus";
|
||||
fetchSubmodules = true; # Required. See upstream's README.
|
||||
hash = "sha256-bflkZdp7qA0/DM+8UEudgJJ5imfd3QbEBkMbzvv2WGM=";
|
||||
hash = "sha256-VnHuFL+EDHfYdjYNhLQDiNQGK/X97HD3hJ8xAftFzFk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -9,14 +9,14 @@
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "oterm";
|
||||
version = "0.14.1";
|
||||
version = "0.14.3";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ggozad";
|
||||
repo = "oterm";
|
||||
tag = version;
|
||||
hash = "sha256-Fkr0oabFSkgUkqO3cqZANP3xUSD0uO2F8I/VEzkhvis=";
|
||||
hash = "sha256-zCxuAhgbUpsVoCquFp8MsDYgJ7yANPtWlHhpdGuxOPY=";
|
||||
};
|
||||
|
||||
pythonRelaxDeps = [
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user