Merge a0753c1e29 into haskell-updates

This commit is contained in:
nixpkgs-ci[bot]
2025-12-04 00:23:46 +00:00
committed by GitHub
303 changed files with 10225 additions and 1889 deletions
+2
View File
@@ -120,6 +120,8 @@ Unless you understand how the fetcher you're using calculates the hash from the
- `cvs`
- `bzr`
- `svn`
- `darcs`
- `pijul`
The hash is printed to stdout.
+1 -1
View File
@@ -138,7 +138,7 @@ The update script does the following:
downstream, non-nixpkgs projects)
- `data` - path to the dependencies lockfile (can be relative to the
package, can be absolute). In nixpkgs, it's discouraged to have the
lockfiles be named anything other `deps.json`, consider creating
lockfiles be named anything other than `deps.json`. Consider creating
subdirectories if your package requires multiple `deps.json` files.
## Environment {#gradle-environment}
+13
View File
@@ -8678,6 +8678,12 @@
githubId = 12560461;
name = "Arne Keller";
};
flokkq = {
email = "weberclemens07@gmail.com";
github = "flokkq";
githubId = 98653095;
name = "Clemens Weber";
};
flokli = {
email = "flokli@flokli.de";
github = "flokli";
@@ -19682,6 +19688,13 @@
githubId = 83010835;
keys = [ { fingerprint = "0181 FF89 4F34 7FCC EB06 5710 4C88 A185 FB89 301E"; } ];
};
overloader = {
name = "Overloader";
github = "Overloader6";
githubId = 22007229;
email = "overloader@tutanota.com";
keys = [ { fingerprint = "B96E 6D41 E47B 042C 64A2 1D9A 8B17 537A AF09 AF18"; } ];
};
ovlach = {
email = "ondrej@vlach.xyz";
name = "Ondrej Vlach";
+92 -30
View File
@@ -32,7 +32,6 @@ let
};
in
{
options = {
services.zammad = {
enable = lib.mkEnableOption "Zammad, a web-based, open source user support/ticketing solution";
@@ -70,12 +69,6 @@ in
description = "Host address.";
};
openPorts = lib.mkOption {
type = lib.types.bool;
default = false;
description = "Whether to open firewall ports for Zammad";
};
port = lib.mkOption {
type = lib.types.port;
default = 3000;
@@ -177,6 +170,19 @@ in
};
};
nginx = {
configure = lib.mkOption {
type = lib.types.bool;
default = false;
description = "Whether to configure a local nginx for Zammad.";
};
domain = lib.mkOption {
type = lib.types.str;
description = "The domain under which zammad will be reachable.";
};
};
secretKeyBaseFile = lib.mkOption {
type = lib.types.nullOr lib.types.path;
default = null;
@@ -203,7 +209,32 @@ in
};
};
imports = [
(lib.mkRemovedOptionModule [
"services"
"zammad"
"openPorts"
] "The openPorts option was removed in favor of the nginx.configure option.")
];
config = lib.mkIf cfg.enable {
environment.systemPackages = [
# we try to eumulate parts of the pkgr script that are relevant to NixOS
(pkgs.writeShellScriptBin "zammad" ''
if [[ ''${1:-} != run ]]; then
echo "This script only supports the run subcommand".
exit 1
fi
shift
prog="$1"
shift
sudo -u ${cfg.user} -- env ${
lib.concatMapAttrsStringSep " " (n: v: "${n}=${v}") environment
} bash -c "cd ${cfg.package}; ${cfg.package}/bin/$prog $(printf " %q" "$@")"
'')
];
services.zammad.database.settings = {
production = lib.mapAttrs (_: v: lib.mkDefault v) (filterNull {
adapter = "postgresql";
@@ -217,11 +248,6 @@ in
});
};
networking.firewall.allowedTCPPorts = lib.mkIf cfg.openPorts [
config.services.zammad.port
config.services.zammad.websocketPort
];
users.users.${cfg.user} = {
group = "${cfg.group}";
isSystemUser = true;
@@ -245,21 +271,56 @@ in
}
];
services.postgresql = lib.optionalAttrs (cfg.database.createLocally) {
enable = true;
ensureDatabases = [ cfg.database.name ];
ensureUsers = [
{
name = cfg.database.user;
ensureDBOwnership = true;
}
];
};
services.redis = lib.optionalAttrs cfg.redis.createLocally {
servers."${cfg.redis.name}" = {
services = {
nginx = lib.mkIf cfg.nginx.configure {
enable = true;
port = cfg.redis.port;
virtualHosts."${cfg.nginx.domain}" = {
forceSSL = true;
locations = {
"/" = {
proxyPass = "http://127.0.0.1:${toString config.services.zammad.port}";
root = "${config.services.zammad.package}/public/";
extraConfig = # nginx
''
proxy_set_header CLIENT_IP $remote_addr;
'';
};
"/cable" = {
proxyPass = "http://127.0.0.1:${toString config.services.zammad.port}";
proxyWebsockets = true;
extraConfig = # nginx
''
proxy_set_header CLIENT_IP $remote_addr;
'';
};
"/ws" = {
proxyPass = "http://127.0.0.1:${toString config.services.zammad.websocketPort}";
proxyWebsockets = true;
extraConfig = # nginx
''
proxy_set_header CLIENT_IP $remote_addr;
'';
};
};
};
};
postgresql = lib.optionalAttrs cfg.database.createLocally {
enable = true;
ensureDatabases = [ cfg.database.name ];
ensureUsers = [
{
name = cfg.database.user;
ensureDBOwnership = true;
}
];
};
redis = lib.optionalAttrs cfg.redis.createLocally {
servers."${cfg.redis.name}" = {
enable = true;
port = cfg.redis.port;
};
};
};
@@ -273,13 +334,13 @@ in
"network.target"
"systemd-tmpfiles-setup.service"
]
++ lib.optionals (cfg.database.createLocally) [
++ lib.optionals cfg.database.createLocally [
"postgresql.target"
]
++ lib.optionals cfg.redis.createLocally [
"redis-${cfg.redis.name}.service"
];
requires = lib.optionals (cfg.database.createLocally) [
requires = lib.optionals cfg.database.createLocally [
"postgresql.target"
];
description = "Zammad web";
@@ -307,7 +368,7 @@ in
# cleanup state directory from module before refactoring in
# https://github.com/NixOS/nixpkgs/pull/277456
if [[ -e ${cfg.dataDir}/node_modules ]]; then
rm -rf ${cfg.dataDir}/!("tmp"|"config"|"log"|"state_dir_migrated"|"db_seeded")
rm -rf ${cfg.dataDir}/!("tmp"|"config"|"log"|"state_dir_migrated"|"db_seeded"|"storage")
rm -rf ${cfg.dataDir}/config/!("database.yml"|"secrets.yml")
# state directory cleanup required --> zammad was already installed --> do not seed db
echo true > ${cfg.dataDir}/db_seeded
@@ -331,8 +392,9 @@ in
systemd.tmpfiles.rules = [
"d ${cfg.dataDir} 0750 ${cfg.user} ${cfg.group} - -"
"d ${cfg.dataDir}/config 0750 ${cfg.user} ${cfg.group} - -"
"d ${cfg.dataDir}/tmp 0750 ${cfg.user} ${cfg.group} - -"
"d ${cfg.dataDir}/log 0750 ${cfg.user} ${cfg.group} - -"
"d ${cfg.dataDir}/storage 0750 ${cfg.user} ${cfg.group} - -"
"d ${cfg.dataDir}/tmp 0750 ${cfg.user} ${cfg.group} - -"
"f ${cfg.dataDir}/config/secrets.yml 0640 ${cfg.user} ${cfg.group} - -"
"f ${cfg.dataDir}/config/database.yml 0640 ${cfg.user} ${cfg.group} - -"
"f ${cfg.dataDir}/db_seeded 0640 ${cfg.user} ${cfg.group} - -"
+10 -5
View File
@@ -154,8 +154,8 @@ in
];
systemd = {
packages = [ cfg.package ];
services.stalwart-mail = {
description = "Stalwart Mail Server";
wantedBy = [ "multi-user.target" ];
after = [
"local-fs.target"
@@ -173,15 +173,21 @@ in
'';
serviceConfig = {
# Upstream service config
Type = "simple";
LimitNOFILE = 65536;
KillMode = "process";
KillSignal = "SIGINT";
Restart = "on-failure";
RestartSec = 5;
SyslogIdentifier = "stalwart-mail";
ExecStart = [
""
"${lib.getExe cfg.package} --config=${configFile}"
];
LoadCredential = lib.mapAttrsToList (key: value: "${key}:${value}") cfg.credentials;
StandardOutput = "journal";
StandardError = "journal";
ReadWritePaths = [
cfg.dataDir
];
@@ -228,7 +234,6 @@ in
UMask = "0077";
};
unitConfig.ConditionPathExists = [
""
"${configFile}"
];
};
+5 -1
View File
@@ -20,12 +20,14 @@ let
bool
float
int
package
;
cfg = config.services.ersatztv;
defaultEnv = {
ETV_UI_PORT = 8409;
ETV_BASE_URL = "/";
};
in
{
options = {
@@ -54,6 +56,8 @@ in
int
float
bool
path
package
]);
default = defaultEnv;
example = {
@@ -108,7 +112,7 @@ in
ETV_CONFIG_FOLDER = "/var/lib/ersatztv/config";
ETV_TRANSCODE_FOLDER = "/var/lib/ersatztv/transcode";
}
// cfg.environment;
// (lib.mapAttrs (_: s: if lib.isBool s then lib.boolToString s else toString s) cfg.environment);
};
};
+27 -32
View File
@@ -8,7 +8,7 @@ let
inherit (lib) literalExpression types;
cfg = config.services.ollama;
ollamaPackage = cfg.package.override { inherit (cfg) acceleration; };
ollama = lib.getExe cfg.package;
staticUser = cfg.user != null && cfg.group != null;
in
@@ -32,12 +32,33 @@ in
]
"The `models` directory is now always writable. To make other directories writable, use `systemd.services.ollama.serviceConfig.ReadWritePaths`."
)
(lib.mkRemovedOptionModule [
"services"
"ollama"
"acceleration"
] "Set `services.ollama.package` to one of `pkgs.ollama[,-vulkan,-rocm,-cuda,-cpu]` instead.")
];
options = {
services.ollama = {
enable = lib.mkEnableOption "ollama server for local large language models";
package = lib.mkPackageOption pkgs "ollama" { };
package = lib.mkPackageOption pkgs "ollama" {
example = "pkgs.ollama-rocm";
extraDescription = ''
Different packages use different hardware acceleration.
- `ollama`: default behavior; usually equivalent to `ollama-cpu`
- if `nixpkgs.config.rocmSupport` is enabled, is equivalent to `ollama-rocm`
- if `nixpkgs.config.cudaSupport` is enabled, is equivalent to `ollama-cuda`
- otherwise defaults to `false`
- `ollama-cpu`: disable GPU; only use CPU
- `ollama-rocm`: supported by most modern AMD GPUs
- may require overriding gpu type with `services.ollama.rocmOverrideGfx`
if rocm doesn't detect your AMD gpu
- `ollama-cuda`: supported by most modern NVIDIA GPUs
- `ollama-vulkan`: supported by most GPUs
'';
};
user = lib.mkOption {
type = with types; nullOr str;
@@ -97,32 +118,6 @@ in
'';
};
acceleration = lib.mkOption {
type = types.nullOr (
types.enum [
false
"rocm"
"cuda"
"vulkan"
]
);
default = null;
example = "rocm";
description = ''
What interface to use for hardware acceleration.
- `null`: default behavior
- if `nixpkgs.config.rocmSupport` is enabled, uses `"rocm"`
- if `nixpkgs.config.cudaSupport` is enabled, uses `"cuda"`
- otherwise defaults to `false`
- `false`: disable GPU, only use CPU
- `"rocm"`: supported by most modern AMD GPUs
- may require overriding gpu type with `services.ollama.rocmOverrideGfx`
if rocm doesn't detect your AMD gpu
- `"cuda"`: supported by most modern NVIDIA GPUs
- `"vulkan"`: supported by most modern GPUs on Linux
'';
};
rocmOverrideGfx = lib.mkOption {
type = types.nullOr types.str;
default = null;
@@ -152,6 +147,7 @@ in
Since `ollama run` is mostly a shell around the ollama server, this is usually sufficient.
'';
};
loadModels = lib.mkOption {
type = types.listOf types.str;
apply = builtins.filter (model: model != "");
@@ -180,6 +176,7 @@ in
removing any models that are installed but not currently declared there.
'';
};
openFirewall = lib.mkOption {
type = types.bool;
default = false;
@@ -224,7 +221,7 @@ in
// {
Type = "exec";
DynamicUser = true;
ExecStart = "${lib.getExe ollamaPackage} serve";
ExecStart = "${ollama} serve";
WorkingDirectory = cfg.home;
StateDirectory = [ "ollama" ];
ReadWritePaths = [
@@ -309,13 +306,11 @@ in
script =
let
binaryInputs = lib.mapAttrs (_: lib.getExe) {
ollama = ollamaPackage;
parallel = pkgs.parallel;
awk = pkgs.gawk;
sed = pkgs.gnused;
};
inherit (binaryInputs)
ollama
parallel
awk
sed
@@ -355,7 +350,7 @@ in
networking.firewall = lib.mkIf cfg.openFirewall { allowedTCPPorts = [ cfg.port ]; };
environment.systemPackages = [ ollamaPackage ];
environment.systemPackages = [ cfg.package ];
};
meta.maintainers = with lib.maintainers; [
@@ -5,8 +5,6 @@
...
}:
with lib;
let
cfg = config.services.chrony;
chronyPkg = cfg.package;
@@ -17,21 +15,21 @@ let
rtcFile = "${stateDir}/chrony.rtc";
configFile = pkgs.writeText "chrony.conf" ''
${concatMapStringsSep "\n" (
server: "server " + server + " " + cfg.serverOption + optionalString (cfg.enableNTS) " nts"
${lib.concatMapStringsSep "\n" (
server: "server " + server + " " + cfg.serverOption + lib.optionalString (cfg.enableNTS) " nts"
) cfg.servers}
${optionalString (
${lib.optionalString (
cfg.initstepslew.enabled && (cfg.servers != [ ])
) "initstepslew ${toString cfg.initstepslew.threshold} ${concatStringsSep " " cfg.servers}"}
) "initstepslew ${toString cfg.initstepslew.threshold} ${lib.concatStringsSep " " cfg.servers}"}
driftfile ${driftFile}
keyfile ${keyFile}
${optionalString (cfg.enableRTCTrimming) "rtcfile ${rtcFile}"}
${optionalString (cfg.enableNTS) "ntsdumpdir ${stateDir}"}
${lib.optionalString (cfg.enableRTCTrimming) "rtcfile ${rtcFile}"}
${lib.optionalString (cfg.enableNTS) "ntsdumpdir ${stateDir}"}
${optionalString (cfg.enableRTCTrimming) "rtcautotrim ${builtins.toString cfg.autotrimThreshold}"}
${optionalString (!config.time.hardwareClockInLocalTime) "rtconutc"}
${lib.optionalString (cfg.enableRTCTrimming) "rtcautotrim ${builtins.toString cfg.autotrimThreshold}"}
${lib.optionalString (!config.time.hardwareClockInLocalTime) "rtconutc"}
${cfg.extraConfig}
'';
@@ -43,14 +41,14 @@ let
"-f"
"${configFile}"
]
++ optional cfg.enableMemoryLocking "-m"
++ lib.optional cfg.enableMemoryLocking "-m"
++ cfg.extraFlags;
in
{
options = {
services.chrony = {
enable = mkOption {
type = types.bool;
enable = lib.mkOption {
type = lib.types.bool;
default = false;
description = ''
Whether to synchronise your machine's time using chrony.
@@ -58,20 +56,20 @@ in
'';
};
package = mkPackageOption pkgs "chrony" { };
package = lib.mkPackageOption pkgs "chrony" { };
servers = mkOption {
servers = lib.mkOption {
default = config.networking.timeServers;
defaultText = literalExpression "config.networking.timeServers";
type = types.listOf types.str;
defaultText = lib.literalExpression "config.networking.timeServers";
type = lib.types.listOf lib.types.str;
description = ''
The set of NTP servers from which to synchronise.
'';
};
serverOption = mkOption {
serverOption = lib.mkOption {
default = "iburst";
type = types.enum [
type = lib.types.enum [
"iburst"
"offline"
];
@@ -86,8 +84,8 @@ in
'';
};
enableMemoryLocking = mkOption {
type = types.bool;
enableMemoryLocking = lib.mkOption {
type = lib.types.bool;
default =
config.environment.memoryAllocator.provider != "graphene-hardened"
&& config.environment.memoryAllocator.provider != "graphene-hardened-light";
@@ -97,8 +95,8 @@ in
'';
};
enableRTCTrimming = mkOption {
type = types.bool;
enableRTCTrimming = lib.mkOption {
type = lib.types.bool;
default = true;
description = ''
Enable tracking of the RTC offset to the system clock and automatic trimming.
@@ -113,8 +111,8 @@ in
'';
};
autotrimThreshold = mkOption {
type = types.ints.positive;
autotrimThreshold = lib.mkOption {
type = lib.types.ints.positive;
default = 30;
example = 10;
description = ''
@@ -124,8 +122,8 @@ in
'';
};
enableNTS = mkOption {
type = types.bool;
enableNTS = lib.mkOption {
type = lib.types.bool;
default = false;
description = ''
Whether to enable Network Time Security authentication.
@@ -134,8 +132,8 @@ in
};
initstepslew = {
enabled = mkOption {
type = types.bool;
enabled = lib.mkOption {
type = lib.types.bool;
default = true;
description = ''
Allow chronyd to make a rapid measurement of the system clock error
@@ -144,8 +142,8 @@ in
'';
};
threshold = mkOption {
type = types.either types.float types.int;
threshold = lib.mkOption {
type = lib.types.either lib.types.float lib.types.int;
default = 1000; # by default, same threshold as 'ntpd -g' (1000s)
description = ''
The threshold of system clock error (in seconds) above which the
@@ -155,14 +153,14 @@ in
};
};
directory = mkOption {
type = types.str;
directory = lib.mkOption {
type = lib.types.str;
default = "/var/lib/chrony";
description = "Directory where chrony state is stored.";
};
extraConfig = mkOption {
type = types.lines;
extraConfig = lib.mkOption {
type = lib.types.lines;
default = "";
description = ''
Extra configuration directives that should be added to
@@ -170,10 +168,10 @@ in
'';
};
extraFlags = mkOption {
extraFlags = lib.mkOption {
default = [ ];
example = [ "-s" ];
type = types.listOf types.str;
type = lib.types.listOf lib.types.str;
description = "Extra flags passed to the chronyd command.";
};
};
@@ -184,7 +182,7 @@ in
vifino
];
config = mkIf cfg.enable {
config = lib.mkIf cfg.enable {
environment.systemPackages = [ chronyPkg ];
users.groups.chrony.gid = config.ids.gids.chrony;
@@ -196,7 +194,7 @@ in
home = stateDir;
};
services.timesyncd.enable = mkForce false;
services.timesyncd.enable = lib.mkForce false;
# If chrony controls and tracks the RTC, writing it externally causes clock error.
systemd.services.save-hwclock = lib.mkIf cfg.enableRTCTrimming {
@@ -233,7 +231,9 @@ in
path = [ chronyPkg ];
unitConfig.ConditionCapability = "CAP_SYS_TIME";
unitConfig = lib.mkIf (!lib.elem "-x" cfg.extraFlags && !cfg.enableRTCTrimming) {
ConditionCapability = "CAP_SYS_TIME";
};
serviceConfig = {
Type = "notify";
ExecStart = "${chronyPkg}/bin/chronyd ${builtins.toString chronyFlags}";
+37 -20
View File
@@ -40,8 +40,10 @@ let
cacheDir = "/var/cache/mediawiki";
stateDir = "/var/lib/mediawiki";
# https://www.mediawiki.org/wiki/Compatibility
php = pkgs.php82;
toolsPath = pkgs.symlinkJoin {
name = "mediawiki-path";
paths = cfg.path;
};
pkg = pkgs.stdenv.mkDerivation rec {
pname = "mediawiki-full";
@@ -52,6 +54,10 @@ let
mkdir -p $out
cp -r * $out/
substituteInPlace $out/share/mediawiki/includes/config-schema.php \
--replace-fail "/usr/bin/" "${toolsPath}/bin/" \
--replace-fail "\$path/" "${toolsPath}/bin/"
# try removing directories before symlinking to allow overwriting any builtin extension or skin
${concatStringsSep "\n" (
mapAttrsToList (k: v: ''
@@ -79,11 +85,11 @@ let
}
''
mkdir -p $out/bin
makeWrapper ${php}/bin/php $out/bin/mediawiki-maintenance \
makeWrapper ${cfg.phpPackage}/bin/php $out/bin/mediawiki-maintenance \
--set MEDIAWIKI_CONFIG ${mediawikiConfig} \
--add-flags ${pkg}/share/mediawiki/maintenance/run.php
for i in changePassword createAndPromote deleteUserEmail resetUserEmail userOptions edit nukePage update importDump run; do
for i in changePassword createAndPromote deleteUserEmail renameUser resetUserEmail userOptions edit nukePage update importDump run; do
script="$out/bin/mediawiki-$i"
cat <<'EOF' >"$script"
#!${pkgs.runtimeShell}
@@ -115,7 +121,7 @@ let
mediawikiConfig = pkgs.writeTextFile {
name = "LocalSettings.php";
checkPhase = ''
${php}/bin/php --syntax-check "$target"
${cfg.phpPackage}/bin/php --syntax-check "$target"
'';
text = ''
<?php
@@ -190,7 +196,6 @@ let
''}
$wgUseImageMagick = true;
$wgImageMagickConvertCommand = "${pkgs.imagemagick}/bin/convert";
# InstantCommons allows wiki to use images from https://commons.wikimedia.org
$wgUseInstantCommons = false;
@@ -226,10 +231,6 @@ let
$wgRightsText = "";
$wgRightsIcon = "";
# Path to the GNU diff3 utility. Used for conflict resolution.
$wgDiff = "${pkgs.diffutils}/bin/diff";
$wgDiff3 = "${pkgs.diffutils}/bin/diff3";
# Enabled skins.
${concatStringsSep "\n" (mapAttrsToList (k: v: "wfLoadSkin('${k}');") cfg.skins)}
@@ -247,7 +248,6 @@ let
withTrailingSlash = str: if lib.hasSuffix "/" str then str else "${str}/";
in
{
# interface
options = {
services.mediawiki = {
@@ -255,6 +255,11 @@ in
package = mkPackageOption pkgs "mediawiki" { };
# https://www.mediawiki.org/wiki/Compatibility
phpPackage = mkPackageOption pkgs "php" {
default = "php82";
};
finalPackage = mkOption {
type = types.package;
readOnly = true;
@@ -337,6 +342,13 @@ in
description = "Contact address for password reset.";
};
path = mkOption {
type = types.listOf types.package;
defaultText = lib.literalExpression "with pkgs; [ diffutils imagemagick ]";
example = lib.literalExpression "with pkgs; [ librsvg ]";
description = "Extra packages to add to the PATH of phpfpm-pool.";
};
skins = mkOption {
default = { };
type = types.attrsOf types.path;
@@ -530,7 +542,6 @@ in
)
];
# implementation
config = mkIf cfg.enable {
assertions = [
@@ -554,10 +565,16 @@ in
}
];
services.mediawiki.skins = {
MonoBook = "${cfg.package}/share/mediawiki/skins/MonoBook";
Timeless = "${cfg.package}/share/mediawiki/skins/Timeless";
Vector = "${cfg.package}/share/mediawiki/skins/Vector";
services.mediawiki = {
path = with pkgs; [
diffutils
imagemagick
];
skins = {
MonoBook = "${cfg.package}/share/mediawiki/skins/MonoBook";
Timeless = "${cfg.package}/share/mediawiki/skins/Timeless";
Vector = "${cfg.package}/share/mediawiki/skins/Vector";
};
};
services.mysql = mkIf (cfg.database.type == "mysql" && cfg.database.createLocally) {
@@ -588,7 +605,7 @@ in
services.phpfpm.pools.mediawiki = {
inherit user group;
phpEnv.MEDIAWIKI_CONFIG = "${mediawikiConfig}";
phpPackage = php;
phpPackage = cfg.phpPackage;
settings =
(
if (cfg.webserver == "apache") then
@@ -712,8 +729,8 @@ in
fi
echo "exit( \$this->getPrimaryDB()->tableExists( 'user' ) ? 1 : 0 );" | \
${php}/bin/php ${pkg}/share/mediawiki/maintenance/run.php eval --conf ${mediawikiConfig} && \
${php}/bin/php ${pkg}/share/mediawiki/maintenance/install.php \
${cfg.phpPackage}/bin/php ${pkg}/share/mediawiki/maintenance/run.php eval --conf ${mediawikiConfig} && \
${cfg.phpPackage}/bin/php ${pkg}/share/mediawiki/maintenance/install.php \
--confpath /tmp \
--scriptpath / \
--dbserver ${lib.escapeShellArg dbAddr} \
@@ -735,7 +752,7 @@ in
${lib.escapeShellArg cfg.name} \
admin
${php}/bin/php ${pkg}/share/mediawiki/maintenance/update.php --conf ${mediawikiConfig} --quick --skip-external-dependencies
${cfg.phpPackage}/bin/php ${pkg}/share/mediawiki/maintenance/update.php --conf ${mediawikiConfig} --quick --skip-external-dependencies
'';
serviceConfig = {
+87 -74
View File
@@ -11,78 +11,92 @@ let
nvidiaEnabled = (lib.elem "nvidia" config.services.xserver.videoDrivers);
serverBinPath = ''/run/wrappers/bin:${pkgs.qemu_kvm}/libexec:${
lib.makeBinPath (
with pkgs;
[
cfg.package
path =
with pkgs;
[
cfg.package
"/run/wrappers"
acl
attr
bash
btrfs-progs
cdrkit
coreutils
criu
dnsmasq
e2fsprogs
findutils
getent
gawk
gnugrep
gnused
gnutar
gptfdisk
gzip
iproute2
iptables
iw
kmod
libxfs
lvm2
lxcfs
minio
minio-client
nftables
qemu-utils
qemu_kvm
rsync
squashfs-tools-ng
squashfsTools
sshfs
swtpm
systemd
thin-provisioning-tools
util-linux
virtiofsd
xdelta
xz
]
++ lib.optionals (lib.versionAtLeast cfg.package.version "6.3.0") [
skopeo
umoci
]
++ lib.optionals (lib.versionAtLeast cfg.package.version "6.11.0") [
lego
]
++ lib.optionals config.security.apparmor.enable [
apparmor-bin-utils
# some qemu helpers not in bin
(linkFarm "incus-qemu-libexec" [
{
name = "bin";
path = "${qemu_kvm}/libexec";
}
])
(writeShellScriptBin "apparmor_parser" ''
exec '${apparmor-parser}/bin/apparmor_parser' -I '${apparmor-profiles}/etc/apparmor.d' "$@"
'')
]
++ lib.optionals config.services.ceph.client.enable [ ceph-client ]
++ lib.optionals config.virtualisation.vswitch.enable [ config.virtualisation.vswitch.package ]
++ lib.optionals config.boot.zfs.enabled [
config.boot.zfs.package
"${config.boot.zfs.package}/lib/udev"
]
++ lib.optionals nvidiaEnabled [
libnvidia-container
]
)
}'';
acl
attr
bash
btrfs-progs
bzip2
cdrkit
coreutils
criu
dnsmasq
e2fsprogs
findutils
getent
gawk
gnugrep
gnused
gnutar
gptfdisk
gzip
iproute2
iptables
iw
kmod
libxfs
lvm2
lz4
lxcfs
minio
minio-client
nftables
qemu-utils
qemu_kvm
rsync
squashfs-tools-ng
squashfsTools
sshfs
swtpm
systemd
thin-provisioning-tools
util-linux
virtiofsd
xdelta
xz
zstd
]
++ lib.optionals (lib.versionAtLeast cfg.package.version "6.3.0") [
skopeo
umoci
]
++ lib.optionals (lib.versionAtLeast cfg.package.version "6.11.0") [
lego
]
++ lib.optionals config.security.apparmor.enable [
apparmor-bin-utils
(writeShellScriptBin "apparmor_parser" ''
exec '${apparmor-parser}/bin/apparmor_parser' -I '${apparmor-profiles}/etc/apparmor.d' "$@"
'')
]
++ lib.optionals config.services.ceph.client.enable [ ceph-client ]
++ lib.optionals config.virtualisation.vswitch.enable [ config.virtualisation.vswitch.package ]
++ lib.optionals config.boot.zfs.enabled [
config.boot.zfs.package
(linkFarm "incus-zfs-udev" [
{
name = "bin";
path = "${config.boot.zfs.package}/lib/udev";
}
])
]
++ lib.optionals nvidiaEnabled [
libnvidia-container
];
# https://github.com/lxc/incus/blob/cff35a29ee3d7a2af1f937cbb6cf23776941854b/internal/server/instance/drivers/driver_qemu.go#L123
OVMF2MB = pkgs.OVMF.override {
@@ -135,7 +149,6 @@ let
INCUS_LXC_TEMPLATE_CONFIG = "${pkgs.lxcfs}/share/lxc/config";
INCUS_USBIDS_PATH = "${pkgs.hwdata}/share/hwdata/usb.ids";
INCUS_AGENT_PATH = "${cfg.package}/share/agent";
PATH = lib.mkForce serverBinPath;
}
(lib.mkIf (cfg.ui.enable) { "INCUS_UI" = cfg.ui.package; })
];
@@ -381,7 +394,7 @@ in
systemd.services.incus = {
description = "Incus Container and Virtual Machine Management Daemon";
inherit environment;
inherit environment path;
wantedBy = lib.mkIf (!cfg.socketActivation) [ "multi-user.target" ];
after = [
@@ -420,7 +433,7 @@ in
systemd.services.incus-user = {
description = "Incus Container and Virtual Machine Management User Daemon";
inherit environment;
inherit environment path;
after = [
"incus.service"
@@ -441,7 +454,7 @@ in
systemd.services.incus-startup = lib.mkIf cfg.softDaemonRestart {
description = "Incus Instances Startup/Shutdown";
inherit environment;
inherit environment path;
after = [
"incus.service"
+1 -1
View File
@@ -522,7 +522,7 @@ in
};
ergo = runTest ./ergo.nix;
ergochat = runTest ./ergochat.nix;
ersatztv = handleTest ./ersatztv.nix { };
ersatztv = runTest ./ersatztv.nix;
espanso = import ./espanso.nix {
inherit (pkgs) lib;
inherit runTest;
+37 -17
View File
@@ -1,21 +1,41 @@
import ./make-test-python.nix (
{ lib, ... }:
{ lib, ... }:
{
name = "ersatztv";
meta.maintainers = with lib.maintainers; [ allout58 ];
{
name = "ersatztv";
meta.maintainers = with lib.maintainers; [ allout58 ];
nodes.machine =
{ ... }:
{
services.ersatztv.enable = true;
};
nodes.basic =
{ ... }:
{
services.ersatztv.enable = true;
};
nodes.reconfigured =
{ ... }:
{
services.ersatztv.enable = true;
services.ersatztv.environment.ETV_UI_PORT = 8123;
services.ersatztv.openFirewall = true;
};
# ErsatzTV doesn't really have an API to speak of currently, so just check if it responds at all
testScript = ''
machine.wait_for_unit("ersatztv.service")
machine.wait_for_open_port(8409)
machine.succeed("curl --fail http://localhost:8409/")
# ErsatzTV doesn't really have an API to speak of currently, so just check if it responds at all
testScript =
{ nodes, ... }:
let
basicIp = (lib.head nodes.basic.networking.interfaces.eth1.ipv4.addresses).address;
reconfiguredIp = (lib.head nodes.reconfigured.networking.interfaces.eth1.ipv4.addresses).address;
in
''
start_all()
basic.wait_for_unit("ersatztv.service")
basic.wait_for_open_port(8409)
basic.succeed("curl --fail http://localhost:8409/api/sessions")
reconfigured.wait_for_unit("ersatztv.service")
reconfigured.wait_for_open_port(8123)
reconfigured.succeed("curl --fail http://localhost:8123/api/sessions")
# Test that the firewall is open
reconfigured.fail("curl --fail --connect-timeout 5 http://${basicIp}:8409/api/sessions")
basic.succeed("curl --fail http://${reconfiguredIp}:8123/api/sessions")
'';
}
)
}
+2 -2
View File
@@ -1,4 +1,4 @@
{ lib, ... }:
{ lib, pkgs, ... }:
{
name = "ollama-cuda";
meta.maintainers = with lib.maintainers; [ abysssol ];
@@ -7,7 +7,7 @@
{ ... }:
{
services.ollama.enable = true;
services.ollama.acceleration = "cuda";
services.ollama.package = pkgs.ollama-cuda;
};
testScript = ''
+2 -2
View File
@@ -1,4 +1,4 @@
{ lib, ... }:
{ lib, pkgs, ... }:
{
name = "ollama-rocm";
meta.maintainers = with lib.maintainers; [ abysssol ];
@@ -7,7 +7,7 @@
{ ... }:
{
services.ollama.enable = true;
services.ollama.acceleration = "rocm";
services.ollama.package = pkgs.ollama-rocm;
};
testScript = ''
+2 -2
View File
@@ -1,4 +1,4 @@
{ lib, ... }:
{ lib, pkgs, ... }:
{
name = "ollama-vulkan";
meta.maintainers = with lib.maintainers; [ abysssol ];
@@ -7,7 +7,7 @@
{ ... }:
{
services.ollama.enable = true;
services.ollama.acceleration = "vulkan";
services.ollama.package = pkgs.ollama-vulkan;
};
testScript = ''
@@ -39,6 +39,8 @@ buildGoModule rec {
];
meta = with lib; {
# Marked broken 2025-11-28 because it has failed on Hydra for at least one year.
broken = true;
description = "";
homepage = "https://github.com/ethereum-optimism/op-geth";
license = licenses.gpl3Only;
@@ -22312,19 +22312,6 @@ final: prev: {
meta.hydraPlatforms = [ ];
};
vscode-diff-nvim = buildVimPlugin {
pname = "vscode-diff.nvim";
version = "2025-11-27";
src = fetchFromGitHub {
owner = "esmuellert";
repo = "vscode-diff.nvim";
rev = "9831250fb85beb27df984bd985961f1a2ca23f81";
sha256 = "0dl23y5a5yq3kd02w9xfx56nqk20xpjv0j97qr0yh346d27401l1";
};
meta.homepage = "https://github.com/esmuellert/vscode-diff.nvim/";
meta.hydraPlatforms = [ ];
};
vscode-nvim = buildVimPlugin {
pname = "vscode.nvim";
version = "2025-08-06";
@@ -2,19 +2,20 @@
lib,
stdenv,
fetchFromGitHub,
nix-update-script,
pkg-config,
rustPlatform,
vimUtils,
pkg-config,
libuv,
openssl,
vimUtils,
nix-update-script,
}:
let
version = "1.6.3";
version = "2.0.0";
src = fetchFromGitHub {
owner = "mistricky";
repo = "codesnap.nvim";
tag = "v${version}";
hash = "sha256-VHH1jQczzNFiH+5YflhU9vVCkEUoKciV/Z/n9DEZwiY=";
hash = "sha256-gpsNug6lSc/AifW8DeJy9R3LYuiTStuYZV02MiIZhq8=";
};
codesnap-lib = rustPlatform.buildRustPackage {
pname = "codesnap-lib";
@@ -22,18 +23,28 @@ let
sourceRoot = "${src.name}/generator";
cargoHash = "sha256-tg4BO4tPzHhJTowL7RiAuBo4i440FehpGmnz9stTxfI=";
cargoHash = "sha256-tV0Mi+SgdVWkY0fSQ3ZfQnHa8mM8f/49Zy8iv94qBjA=";
nativeBuildInputs = [
pkg-config
rustPlatform.bindgenHook
];
# Allow undefined symbols on Darwin - they will be provided by Neovim's LuaJIT runtime
env.RUSTFLAGS = lib.optionalString stdenv.hostPlatform.isDarwin "-C link-arg=-undefined -C link-arg=dynamic_lookup";
env = {
# Use system openssl
OPENSSL_NO_VENDOR = 1;
# Allow undefined symbols on Darwin - they will be provided by Neovim's LuaJIT runtime
RUSTFLAGS = lib.optionalString stdenv.hostPlatform.isDarwin "-C link-arg=-undefined -C link-arg=dynamic_lookup";
};
postInstall = ''
echo "${version}" > $out/lib/.version
'';
buildInputs = [
libuv.dev
openssl
];
};
in
@@ -41,17 +52,18 @@ vimUtils.buildVimPlugin {
pname = "codesnap.nvim";
inherit version src;
# - Remove the shipped pre-built binaries
# - Copy the resulting binary from the codesnap-lib derivation
# Note: the destination should be generator.so, even on darwin
# https://github.com/mistricky/codesnap.nvim/blob/main/scripts/build_generator.sh
postInstall =
postPatch =
let
extension = if stdenv.hostPlatform.isDarwin then "dylib" else "so";
in
''
rm -r $out/lua/*.so
cp ${codesnap-lib}/lib/libgenerator.${extension} $out/lua/generator.so
substituteInPlace lua/codesnap/fetch.lua \
--replace-fail \
"local lib_name = get_platform_lib_name()" \
"local lib_name = 'libgenerator.${extension}'" \
--replace-fail \
'local lib_dir = path_utils.join(sep, vim.fn.fnamemodify(debug.getinfo(1).source:sub(2), ":p:h:h"), "libs")' \
'local lib_dir = "${codesnap-lib}/lib"'
'';
passthru = {
@@ -0,0 +1,38 @@
{
lib,
cmake,
fetchFromGitHub,
nix-update-script,
vimUtils,
vimPlugins,
}:
vimUtils.buildVimPlugin rec {
pname = "vscode-diff.nvim";
version = "1.6.2";
src = fetchFromGitHub {
owner = "esmuellert";
repo = "vscode-diff.nvim";
tag = "v${version}";
hash = "sha256-FyfVmxX40hAk1ch1PWtNi3FszAKfDk7XKEpnZfBw4I4=";
};
dependencies = [ vimPlugins.nui-nvim ];
nativeBuildInputs = [ cmake ];
dontUseCmakeConfigure = true;
buildPhase = ''
runHook preBuild
make
runHook postBuild
'';
passthru.updateScript = nix-update-script { };
meta = {
description = "VSCode-style side-by-side diff rendering with two-tier highlighting (line + character level)";
homepage = "https://github.com/esmuellert/vscode-diff.nvim/";
license = lib.licenses.mit;
platforms = lib.platforms.all;
};
}
@@ -4091,19 +4091,6 @@ assertNoAdditions {
];
};
vscode-diff-nvim = super.vscode-diff-nvim.overrideAttrs {
dependencies = [
self.nui-nvim
];
nativeBuildInputs = [ cmake ];
dontUseCmakeConfigure = true;
buildPhase = ''
runHook preBuild
make
runHook postBuild
'';
};
which-key-nvim = super.which-key-nvim.overrideAttrs {
nvimSkipModules = [ "which-key.docs" ];
};
@@ -7,8 +7,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
mktplcRef = {
name = "claude-code";
publisher = "anthropic";
version = "2.0.56";
hash = "sha256-HWl7I+KXpvPzL6Fyk2lQdZoeYXPgipIABwJBArETylc=";
version = "2.0.57";
hash = "sha256-vqlW54Ck9Q2N0gUsfCEEt4dTqiaQOi3eAAK43umcEK4=";
};
meta = {
@@ -1965,8 +1965,8 @@ let
mktplcRef = {
name = "gitlab-workflow";
publisher = "gitlab";
version = "6.58.0";
hash = "sha256-kkPLa+xviFUuCmB/+BE3p4tPFSi90aCXO6GcjwHurFI=";
version = "6.58.3";
hash = "sha256-3m77Z3UpP1cIXdnyFZ7EikwsCZ5jVBw9K8PIZbBwFhM=";
};
meta = {
description = "GitLab extension for Visual Studio Code";
@@ -3234,8 +3234,8 @@ let
mktplcRef = {
name = "datawrangler";
publisher = "ms-toolsai";
version = "1.22.0";
hash = "sha256-gUlb48g12RW4j2HS9jfpZROgtFM9zEPg4ozLM7hOaLk=";
version = "1.24.0";
hash = "sha256-FWzrxf5uaPcbu1JCiYxsbkju1mY3n3F2vGLvfMuZxlc=";
};
meta = {
@@ -3852,8 +3852,8 @@ let
mktplcRef = {
publisher = "redhat";
name = "java";
version = "1.49.0";
hash = "sha256-4uBn2NHd32ZsooTJ0c9PWJ14YHIq7RgXb+KdaH4vuCo=";
version = "1.50.0";
hash = "sha256-QF9CTfhhwq+Ld3M31VRaZaAUsBDiUTNdbbOwjlE66Zk=";
};
buildInputs = [ jdk ];
meta = {
@@ -3937,8 +3937,8 @@ let
mktplcRef = {
publisher = "rocq-prover";
name = "vsrocq";
version = "2.3.2";
hash = "sha256-S3rKCzdGb5/UAJC6Z5GGC1Brib9PKiqQv8dRANYbp70=";
version = "2.3.4";
hash = "sha256-2zYoCUtyhboQt68UJEmWOvrTrIOV2QmpaXU5mUhJfsA=";
};
meta = {
description = "VsRocq is an extension for Visual Studio Code with support for the Rocq Prover";
@@ -4083,8 +4083,8 @@ let
mktplcRef = {
name = "sas-lsp";
publisher = "SAS";
version = "1.17.0";
hash = "sha256-lhvSAPbvRmNwrAB0Lk4oKVu7+o3H7TJSQbBlURH2SCA=";
version = "1.18.0";
hash = "sha256-OP0UUANqoQoxr+10/NkwveEULKWFrDn/dmEg0CHMZp0=";
};
meta = {
changelog = "https://marketplace.visualstudio.com/items/SAS.sas-lsp/changelog";
@@ -5142,8 +5142,8 @@ let
mktplcRef = {
name = "vim";
publisher = "vscodevim";
version = "1.32.1";
hash = "sha256-c88Mf3yzo2SJ4lmyzoiVm6ioMY0jkkH+N1EkVZBGzrQ=";
version = "1.32.2";
hash = "sha256-4anCgd8+D3SjO+3zfz9xrL9p8JoHNi4dux3rWLtWWDs=";
};
meta = {
license = lib.licenses.mit;
@@ -45,11 +45,11 @@
"vendorHash": "sha256-weHY7ZV3HaFBYlDNhwAYN9vDItkI+wtk9UNlM0uuwfY="
},
"aliyun_alicloud": {
"hash": "sha256-XljWNpFQr9SghmRkUTsW/0g7oqU8JMmxJxuLWYuorAQ=",
"hash": "sha256-np2BlBqLTmn9UEatFhj3rn8/CQSyPfszL8cY6mDaGFU=",
"homepage": "https://registry.terraform.io/providers/aliyun/alicloud",
"owner": "aliyun",
"repo": "terraform-provider-alicloud",
"rev": "v1.263.0",
"rev": "v1.264.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-LSvX63g4GWcr2Uo6H50dOWG0XWUhmbhUw9EYsQqs+HU="
},
@@ -705,11 +705,11 @@
"vendorHash": "sha256-BUxnKxr0htpdSSTMzb3ix1nNlX7PTBv38ozDjnZ2eK8="
},
"huaweicloud_huaweicloud": {
"hash": "sha256-fCUGjaVdyJZZrj10zKoSLu+LNxhOo5K3ELWJSo/amEc=",
"hash": "sha256-Bj4jwTSw4qduu4BLgXHB72CQ/zDsIwbXh/lz1g/BS3s=",
"homepage": "https://registry.terraform.io/providers/huaweicloud/huaweicloud",
"owner": "huaweicloud",
"repo": "terraform-provider-huaweicloud",
"rev": "v1.80.5",
"rev": "v1.81.0",
"spdx": "MPL-2.0",
"vendorHash": null
},
@@ -194,9 +194,9 @@ rec {
mkTerraform = attrs: pluggable (generic attrs);
terraform_1 = mkTerraform {
version = "1.14.0";
hash = "sha256-G9GyrwELOuzQqTMimC+z2GJUjq+c5YJDoE313JSsX5w=";
vendorHash = "sha256-T6baxFk5lrmhyeJgcn7s5cF+utaogSQOD9S5omEKTZg=";
version = "1.14.1";
hash = "sha256-qqIoVAzVpsdGNbA04jpsiN1HR94xhcfDJvz8UyEweyw=";
vendorHash = "sha256-+mWMU3FWF/VTyPMnOj9AGy1kfvv2W4UB9EDZI7bqSh0=";
patches = [ ./provider-path-0_15.patch ];
passthru = {
inherit plugins;
@@ -42,14 +42,14 @@
stdenv.mkDerivation (finalAttrs: {
pname = "telegram-desktop-unwrapped";
version = "6.3.1";
version = "6.3.4";
src = fetchFromGitHub {
owner = "telegramdesktop";
repo = "tdesktop";
rev = "v${finalAttrs.version}";
fetchSubmodules = true;
hash = "sha256-kIiOHXFOjHCE3GaizNvpu8rUCuJKBN5Oi7p0NvHYy04=";
hash = "sha256-0d5PFo0tv8yayHqsd44gvodgbyRb1b5IPXtJahkWjHU=";
};
nativeBuildInputs = [
@@ -9,19 +9,19 @@ let
callPackage
(import ./generic.nix rec {
pname = "apptainer";
version = "1.4.4";
version = "1.4.5";
projectName = "apptainer";
src = fetchFromGitHub {
owner = "apptainer";
repo = "apptainer";
tag = "v${version}";
hash = "sha256-d3XcN+Jc9KHzVCHOatgpId/DeY/HhVkI9eF+48rzxO4=";
hash = "sha256-J8q/dUW5OPbMXpeZfRP3C2nseimH+HBhkSLoIAE6NlI=";
};
# Override vendorHash with overrideAttrs.
# See https://nixos.org/manual/nixpkgs/unstable/#buildGoModule-vendorHash
vendorHash = "sha256-l8c85M9IdLNhZ40FkC+zH+0wHKcYHcXFbhMklCLULzs=";
vendorHash = "sha256-47Ri7Jdy31rIp+lon6kkpa5e7pgPevU8ajsIa/RVScY=";
extraDescription = " (previously known as Singularity)";
extraMeta.homepage = "https://apptainer.org";
@@ -46,19 +46,19 @@ let
callPackage
(import ./generic.nix rec {
pname = "singularity-ce";
version = "4.3.4";
version = "4.3.5";
projectName = "singularity";
src = fetchFromGitHub {
owner = "sylabs";
repo = "singularity";
tag = "v${version}";
hash = "sha256-+KW9XaYXNzOpUier8FJ4lbKx7uJ8jNKHkt2QX2Kiehs=";
hash = "sha256-CEOVtlfDyOPCg9CtShiQm+RFJUULosKtPkrOfd1vBuQ=";
};
# Override vendorHash with overrideAttrs.
# See https://nixos.org/manual/nixpkgs/unstable/#buildGoModule-vendorHash
vendorHash = "sha256-JCRUhY00Zj6rlmyDW+RKoGNKhmxesgHn9XdO8h2DAj4=";
vendorHash = "sha256-/4jU2Za/1nNTXLy7+2NpGlr/fOJ4kMii0zxPJhytYpI=";
extraConfigureFlags = [
# Do not build squashfuse from the Git submodule sources, use Nixpkgs provided version
@@ -11,14 +11,14 @@
buildPythonPackage rec {
pname = "hyprshade";
version = "4.0.0";
version = "4.0.1";
format = "pyproject";
src = fetchFromGitHub {
owner = "loqusion";
repo = "hyprshade";
tag = version;
hash = "sha256-NnKhIgDAOKOdEqgHzgLq1MSHG3FDT2AVXJZ53Ozzioc=";
hash = "sha256-zK8i2TePJ4cEtGXe/dssHWg+ioCTo1NyqzInQhMaB8w=";
};
nativeBuildInputs = [
@@ -49,8 +49,8 @@ let
group = "World";
owner = "Phosh";
repo = "libcall-ui";
tag = "v0.1.4";
hash = "sha256-6fiqdvagcMnvaZ9UxC05haBwObcsqwgJL/V03LuSMF8=";
tag = "v0.1.5";
hash = "sha256-4lSTwSRZditK51N/4s3tmIOgffe5+WyKxVq2IGqWRn4=";
};
# Derived from subprojects/gvc.wrap
@@ -64,7 +64,7 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "phosh";
version = "0.50.0";
version = "0.51.0";
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
@@ -72,7 +72,7 @@ stdenv.mkDerivation (finalAttrs: {
owner = "Phosh";
repo = "phosh";
tag = "v${finalAttrs.version}";
hash = "sha256-AvnMiLapHKSObz6x/fkLxqreksBkwLbcG6myj5xMuwc=";
hash = "sha256-bM1eKa5/aBjAHOFYyqjs6pLmr3R/WoK3590yGiLVNM4=";
};
nativeBuildInputs = [
@@ -58,7 +58,7 @@ let
in
stdenv.mkDerivation rec {
pname = "phosh-mobile-settings";
version = "0.50.0";
version = "0.51.0";
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
@@ -66,7 +66,7 @@ stdenv.mkDerivation rec {
owner = "Phosh";
repo = "phosh-mobile-settings";
rev = "v${version}";
hash = "sha256-hcq99ilfclZCviFhpQ9mQLcpf7wc+IvlUOb0duQM6fk=";
hash = "sha256-eIRhxhU+u4cocqyw7ab5BefTp9om5UaiqrJWwN+RtoQ=";
};
nativeBuildInputs = [
-33
View File
@@ -1,33 +0,0 @@
lib: prev:
let
# Removing recurseForDerivation prevents derivations of aliased attribute
# set to appear while listing all the packages available.
removeRecurseForDerivations =
alias:
if alias.recurseForDerivations or false then
lib.removeAttrs alias [ "recurseForDerivations" ]
else
alias;
# Disabling distribution prevents top-level aliases for non-recursed package
# sets from building on Hydra.
removeDistribute = alias: if lib.isDerivation alias then lib.dontDistribute alias else alias;
# Make sure that we are not shadowing something from
# writers.
checkInPkgs =
n: alias: if builtins.hasAttr n prev then throw "Alias ${n} is still in writers" else alias;
mapAliases =
aliases:
lib.mapAttrs (
n: alias: removeDistribute (removeRecurseForDerivations (checkInPkgs n alias))
) aliases;
in
mapAliases {
# Cleanup before 22.05, Added 2021-12-11
writePython2 = "Python 2 is EOL and the use of writers.writePython2 is deprecated.";
writePython2Bin = "Python 2 is EOL and the use of writers.writePython2Bin is deprecated.";
}
+2 -8
View File
@@ -1,13 +1,7 @@
{
config,
lib,
callPackages,
}:
{ callPackages }:
# If you are reading this, you can test these writers by running: nix-build . -A tests.writers
let
aliases = if config.allowAliases then (import ./aliases.nix lib) else prev: { };
# Writers for JSON-like data structures
dataWriters = callPackages ./data.nix { };
@@ -16,4 +10,4 @@ let
writers = scriptWriters // dataWriters;
in
writers // (aliases writers)
writers
+2 -2
View File
@@ -10,13 +10,13 @@ telegram-desktop.override {
inherit withWebkit;
unwrapped = telegram-desktop.unwrapped.overrideAttrs (old: rec {
pname = "64gram-unwrapped";
version = "1.1.84";
version = "1.1.88";
src = fetchFromGitHub {
owner = "TDesktop-x64";
repo = "tdesktop";
tag = "v${version}";
hash = "sha256-CtDCrgKZpaTdR+Eh9H1uq7EmO0SFIgHKlW/zeeWBaCM=";
hash = "sha256-zC51hlfi4EwqaDBTQev7KAYvQmUMJl1RBWh5/By2GUU=";
fetchSubmodules = true;
};
+2 -2
View File
@@ -9,13 +9,13 @@
stdenv.mkDerivation rec {
pname = "9pfs";
version = "0.4";
version = "0.5";
src = fetchFromGitHub {
owner = "ftrvxmtrx";
repo = "9pfs";
tag = version;
sha256 = "sha256-nlJ4Zh13T78r0Dn3Ky/XLhipeMbMFbn0qGCJnUCBd3Y=";
sha256 = "sha256-NT8oIQK8Os3HRZLOH2OvauiCvh5bXZFbeEtTFbzNvrs=";
};
postPatch = ''
@@ -7,16 +7,16 @@
buildNpmPackage rec {
pname = "all-the-package-names";
version = "2.0.2277";
version = "2.0.2283";
src = fetchFromGitHub {
owner = "nice-registry";
repo = "all-the-package-names";
tag = "v${version}";
hash = "sha256-gSprKqPJXEky9iMVdDAQJ97xOYp1TgBrCqJEjj0+bxc=";
hash = "sha256-5AT8ZJ0PmKPckTAS4sOwMlqdMmiaoZmrhVAj1J+z9d8=";
};
npmDepsHash = "sha256-ELuyq/+2yw1CbkhqxsDUS8ZAdBemrBqKhjAs6nU9BWE=";
npmDepsHash = "sha256-9ix3O5vf0KLNAl43gyWX+e2K6Vj/kEU24N+mcOE8U0w=";
passthru.updateScript = nix-update-script { };
@@ -8,16 +8,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "alterware-launcher";
version = "0.11.4";
version = "0.11.5";
src = fetchFromGitHub {
owner = "alterware";
repo = "alterware-launcher";
tag = "v${finalAttrs.version}";
hash = "sha256-TDdhPROyDUvTy7+h+P63xQ675SNhGBTU1mJTlNZyM5U=";
hash = "sha256-I2HlLi8f0+p1Gk7QzwNxOAOix0dxGKMmNkcXilQANzo=";
};
cargoHash = "sha256-R5DmSMiwR/b33iyhVa7zY4GiOzTKzKTyeAvsmIEcUqk=";
cargoHash = "sha256-M0Y59+p0SiDiE0MM165l/5HAYc2A00S9TDcYfzdAuAw=";
buildInputs = [ openssl ];
nativeBuildInputs = [ pkg-config ];
+7087
View File
File diff suppressed because it is too large Load Diff
+242
View File
@@ -0,0 +1,242 @@
{
lib,
stdenv,
fetchFromGitHub,
gradle,
autoPatchelfHook,
jetbrains, # Requird by upstream due to JCEF dependency
fontconfig,
libXinerama,
libXrandr,
file,
gtk3,
glib,
cups,
lcms2,
alsa-lib,
libvlc,
libidn,
pulseaudio,
ffmpeg,
libva,
libdvbpsi,
libogg,
chromaprint,
protobuf_21,
libgcrypt,
libdvdnav,
libsecret,
aribb24,
libavc1394,
libmpcdec,
libvorbis,
libebml,
faad2,
libjpeg8,
libkate,
librsvg,
xorg,
libsForQt5,
libupnp,
aalib,
libcaca,
libmatroska,
libopenmpt-modplug,
libsidplayfp,
shine,
libarchive,
gnupg,
srt,
libshout,
ffmpeg_6,
libmpeg2,
xcbutilkeysyms,
lirc,
lua5_2,
taglib,
libspatialaudio,
libmtp,
speexdsp,
libsamplerate,
sox,
libmad,
libnotify,
taglib_1,
zvbi,
libdc1394,
libcddb,
libbluray,
libdvdread,
libvncserver,
twolame,
samba,
libnfs,
flac,
writeShellScript,
nix-update,
libxml2,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "animeko";
version = "5.2.0";
src = fetchFromGitHub {
owner = "open-ani";
repo = "animeko";
tag = "v${finalAttrs.version}";
hash = "sha256-eP1v/o9qUk8qG+n1cJRmlgu2l06hFZLeUN/X06qAVpY=";
fetchSubmodules = true;
};
# CefLog.init(jcefConfig.cefSettings) is being comment out due to compile error
postPatch = ''
echo "kotlin.native.ignoreDisabledTargets=true" >> local.properties
sed -i "s/^version.name=.*/version.name=${finalAttrs.version}/" gradle.properties
sed -i "s/^package.version=.*/package.version=${finalAttrs.version}/" gradle.properties
substituteInPlace app/shared/app-platform/src/desktopMain/kotlin/platform/AniCefApp.kt \
--replace-fail 'CefLog.init(jcefConfig.cefSettings)' '//CefLog.init(jcefConfig.cefSettings)'
'';
gradleBuildTask = "createReleaseDistributable";
gradleUpdateTask = finalAttrs.gradleBuildTask;
mitmCache = gradle.fetchDeps {
inherit (finalAttrs) pname;
pkg = finalAttrs.finalPackage;
data = ./deps.json;
silent = false;
useBwrap = false;
};
env.JAVA_HOME = jetbrains.jdk;
gradleFlags = [
"-Dorg.gradle.java.home=${jetbrains.jdk}"
];
nativeBuildInputs = [
gradle
autoPatchelfHook
];
buildInputs = [
fontconfig
libXinerama
libXrandr
file
shine
libmpeg2
gtk3
glib
cups
lcms2
alsa-lib
libidn
pulseaudio
ffmpeg
faad2
libjpeg8
libkate
librsvg
xorg.libXpm
libsForQt5.qt5.qtsvg
libsForQt5.qt5.qtbase
libsForQt5.qt5.qtx11extras
libupnp
aalib
libcaca
libva
libdvbpsi
libogg
chromaprint
protobuf_21
libgcrypt
libsecret
aribb24
twolame
libmpcdec
libvorbis
libebml
libmatroska
libopenmpt-modplug
libavc1394
libmtp
libsidplayfp
libarchive
gnupg
srt
libshout
ffmpeg_6
xcbutilkeysyms
lirc
lua5_2
taglib
libspatialaudio
speexdsp
libsamplerate
sox
libmad
libnotify
zvbi
libdc1394
libcddb
libbluray
libdvdread
libvncserver
samba
libnfs
taglib_1
libdvdnav
flac
libxml2
];
dontWrapQtApps = true;
doCheck = false;
installPhase = ''
runHook preInstall
cp -r app/desktop/build/compose/binaries/main-release/app/Ani $out
chmod +x $out/lib/runtime/lib/jcef_helper
substituteInPlace app/desktop/appResources/linux-x64/animeko.desktop \
--replace-fail "icon" "animeko"
install -Dm644 app/desktop/appResources/linux-x64/animeko.desktop $out/share/applications/animeko.desktop
install -Dm644 app/desktop/appResources/linux-x64/icon.png $out/share/icons/hicolor/512x512/apps/animeko.png
runHook postInstall
'';
preFixup = ''
# Remove prebuilt vlc and use NixOS version
rm -r $out/lib/app/resources/lib
ln -sf ${libvlc}/lib $out/lib/app/resources/
'';
ANDROID_SDK_HOME = "$(pwd)";
passthru.updateScript = writeShellScript "update-animeko" ''
${lib.getExe nix-update} animeko
$(nix-build -A animeko.mitmCache.updateScript)
'';
meta = {
description = "One-stop platform for finding, following and watching anime";
homepage = "https://github.com/open-ani/animeko";
mainProgram = "Ani";
license = lib.licenses.agpl3Plus;
maintainers = with lib.maintainers; [
pokon548
];
sourceProvenance = with lib.sourceTypes; [
fromSource
binaryBytecode
];
platforms = [
"x86_64-linux"
];
};
})
+2 -2
View File
@@ -8,13 +8,13 @@
buildGoModule rec {
pname = "arkade";
version = "0.11.59";
version = "0.11.60";
src = fetchFromGitHub {
owner = "alexellis";
repo = "arkade";
tag = version;
hash = "sha256-tmn75g4hfayU7zDaP7QPIv46tHHxFgB0ebATS+fYHgI=";
hash = "sha256-2VabFPcvTgkjoGXQDUdDh1BdUB+tS3QsfGDSGerd95Q=";
};
env.CGO_ENABLED = 0;
+2 -2
View File
@@ -8,13 +8,13 @@
}:
stdenv.mkDerivation rec {
pname = "async-profiler";
version = "4.2";
version = "4.2.1";
src = fetchFromGitHub {
owner = "jvm-profiling-tools";
repo = "async-profiler";
rev = "v${version}";
hash = "sha256-y/MQgXoaJSwc6QjTPGQRFNyVoR1ENQ7rDmtCwR5F/oM=";
hash = "sha256-ggqfBndcwHUerWjsvDqmRQ5uEyL6zhNgwVl18R18k0Q=";
};
nativeBuildInputs = [ makeWrapper ];
+4 -4
View File
@@ -15,10 +15,10 @@
let
source = {
version = "2.30.0";
hash = "sha256-4nmKTB/EUiyoOzti0BjbKrfnu3CA9XJnekgxFporVyI=";
npmDepsHash = "sha256-apr7s6GeYAAYg5n9gJjG9MVRPXJnpJoIvVyyAFw3Als=";
clientNpmDepsHash = "sha256-+yDIgQENUmUcxytym8Ke4M6CJ915BvdhgtQFc+ykiD8=";
version = "2.31.0";
hash = "sha256-MxaHbsjewiNU4Zh6HjUO8DPWKi6+05Hl7QmiaOlSzCU=";
npmDepsHash = "sha256-uUdo6QEm7K652VsDrLDJ4Rd6jW3ZjLPN6pq5KqK2OvY=";
clientNpmDepsHash = "sha256-a0eZN/zUoJkJiGHSDqO5lmo9LAN6i8p40sd3rhUD0s0=";
};
src = fetchFromGitHub {
+1 -1
View File
@@ -1,5 +1,5 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl gnused gawk nix-prefetch nix-prefetch-git common-updater-scripts jq prefetch-npm-deps
#!nix-shell -i bash -p curl gnused nix-prefetch-git common-updater-scripts jq prefetch-npm-deps ripgrep
set -euo pipefail
@@ -7,16 +7,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "automatic-timezoned";
version = "2.0.103";
version = "2.0.104";
src = fetchFromGitHub {
owner = "maxbrunet";
repo = "automatic-timezoned";
rev = "v${finalAttrs.version}";
sha256 = "sha256-VxD+aXGbJTdNAI9V3meQjF4CfhPr7lChhVAN4WnH6ac=";
sha256 = "sha256-W4iGBbWLG7HATXGv1xsapGlQ0i+RiPsIZwXET5qaPGE=";
};
cargoHash = "sha256-0AZNViP2jE6/FZdo0LaLjxBPkPqnd2kvZmVtbi5W5RI=";
cargoHash = "sha256-YNBuiTUbGlUea81j+5u3qZj/xaciZ5D9QcWfe4nEG7c=";
nativeInstallCheckInputs = [ versionCheckHook ];
+3 -3
View File
@@ -10,16 +10,16 @@
rustPlatform.buildRustPackage rec {
pname = "avbroot";
version = "3.23.2";
version = "3.23.3";
src = fetchFromGitHub {
owner = "chenxiaolong";
repo = "avbroot";
tag = "v${version}";
hash = "sha256-rS3V+D7dBt/px0UNC8ZZyQ4FzNsjTykMSeXbjFF6iis=";
hash = "sha256-Bdr9oEBIbRyEBhUbY3lIqhtE0l+MklWkwJ1vViYloiM=";
};
cargoHash = "sha256-XX2u281qTwI6/GwujseIiAmlsYPgxkA7cxyIljv29tk=";
cargoHash = "sha256-nT1mKRc9UTeday0ZiJEXTRckKSWpX/tYdcV6Izqwg60=";
nativeBuildInputs = [
pkg-config
+3 -3
View File
@@ -6,16 +6,16 @@
buildGoModule rec {
pname = "aws-lambda-runtime-interface-emulator";
version = "1.29";
version = "1.30";
src = fetchFromGitHub {
owner = "aws";
repo = "aws-lambda-runtime-interface-emulator";
rev = "v${version}";
sha256 = "sha256-iTNo6W533iQmguVd7O955q1LuyixdvVQ79KZyBjb/QE=";
sha256 = "sha256-2GVxcJohh+lLYdx0f4qjIRQNvwKEQNCVD6dQQwNySo8=";
};
vendorHash = "sha256-jGz5reViV145GP9Sf8bGabYxVGi194vbvpTpEgUv3t8=";
vendorHash = "sha256-+7BuDaN1ns63cQOMKuRMjBo9GnLrmsubx/KppUsyheY=";
# disabled because I lack the skill
doCheck = false;
+3 -3
View File
@@ -6,16 +6,16 @@
}:
rustPlatform.buildRustPackage rec {
pname = "binsider";
version = "0.2.1";
version = "0.3.0";
src = fetchFromGitHub {
owner = "orhun";
repo = "binsider";
rev = "v${version}";
hash = "sha256-FNaYMp+vrFIziBzZ8//+ppq7kwRjBJypqsxg42XwdEs=";
hash = "sha256-k40mnDRbvwWJmcT02aVWdwwEiDCuL4hQnvnPitrW8qA=";
};
cargoHash = "sha256-ZoZbhmUeC63IZ5kNuACfRaCsOicZNUAGYABSpCkUCXA=";
cargoHash = "sha256-hysp7AeYJ153AC0ERcrRzf4ujmM+V9pgAxOvOlG/2aE=";
buildNoDefaultFeatures = !stdenv.hostPlatform.isLinux;
+2 -2
View File
@@ -8,13 +8,13 @@
stdenv.mkDerivation rec {
pname = "boost-sml";
version = "1.1.12";
version = "1.1.13";
src = fetchFromGitHub {
owner = "boost-ext";
repo = "sml";
rev = "v${version}";
hash = "sha256-IvZwkhZe9pcyJhZdn4VkWMRUN6Ow8qs3zB6JtWb5pKk=";
hash = "sha256-VgJl09kCRCXBF/IraVbAVowrrMJH0NFcblQAKVQwl6w=";
};
buildInputs = [ boost ];
+4 -4
View File
@@ -14,6 +14,7 @@
installShellFiles,
nixosTests,
nix-update-script,
versionCheckHook,
}:
let
@@ -21,14 +22,14 @@ let
in
python.pkgs.buildPythonApplication rec {
pname = "borgbackup";
version = "1.4.2";
version = "1.4.3";
pyproject = true;
src = fetchFromGitHub {
owner = "borgbackup";
repo = "borg";
tag = version;
hash = "sha256-KoOulgOkMgnkN3I0Gw9z0YKZvqvPJ0A9sIAxRLOlchU=";
hash = "sha256-v42Mv2wz34w2VYu2mPT/K7VtGSYsUDr+NUM99AzpSB0=";
};
postPatch = ''
@@ -99,6 +100,7 @@ python.pkgs.buildPythonApplication rec {
pytest-benchmark
pytest-xdist
pytestCheckHook
versionCheckHook
];
pytestFlags = [
@@ -142,8 +144,6 @@ python.pkgs.buildPythonApplication rec {
"man"
];
disabled = python.pythonOlder "3.9";
passthru.updateScript = nix-update-script {
# Only match tags formatted as x.y.z (e.g., 1.2.3)
extraArgs = [
+3 -3
View File
@@ -8,13 +8,13 @@
stdenvNoCC.mkDerivation {
pname = "candy-icons";
version = "0-unstable-2025-11-01";
version = "0-unstable-2025-11-28";
src = fetchFromGitHub {
owner = "EliverLara";
repo = "candy-icons";
rev = "1be42f22a36813b8b992f37c1ce56d886a4f97cf";
hash = "sha256-suQ2yvKsMbm0a4Qg9D3THMa1gCpZSlOF0plD0H8vYy8=";
rev = "ce1f1910da26b4112a0f5da72f7a8b3b72d09517";
hash = "sha256-140FecsYY5/iweA+Ck9Wd5BRkSbL1TyEzzhgCPGoPQY=";
};
nativeBuildInputs = [ gtk3 ];
@@ -11,16 +11,16 @@
rustPlatform.buildRustPackage rec {
pname = "cargo-local-registry";
version = "0.2.8";
version = "0.2.9";
src = fetchFromGitHub {
owner = "dhovart";
repo = "cargo-local-registry";
rev = "v${version}";
hash = "sha256-XZ/OHcu3viS6LPQMyBDhxlpnC2oSgWQp7XtnKZCfMEw=";
hash = "sha256-DzBD7N7GQZ9nhF22DnxRse0P8MUGReOcXHQ56KOqW6I=";
};
cargoHash = "sha256-d3gWy2OR6mWluaT9Vl7UWzjHsTmTXzyts50PWVibI0o=";
cargoHash = "sha256-9DW6DkWXoGvdHjxIwgXaQP9a5Kc90SdNDRNRq6G6pLg=";
nativeBuildInputs = [
curl
+3 -3
View File
@@ -8,15 +8,15 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "cargo-shear";
version = "1.6.6";
version = "1.7.1";
src = fetchCrate {
pname = "cargo-shear";
version = finalAttrs.version;
hash = "sha256-cLUR3q5/wBWI9eeDjpKtO1/mJZwgRA79iQ0tyRICX7A=";
hash = "sha256-GvkIXk0Ry3bm5A+PwdH4zrDtxzfJt4pd8gF/PPGsyDs=";
};
cargoHash = "sha256-BiGNZJw0H2I4j8wtoI67iR7n/vns1gwBxeE1eXeESn0=";
cargoHash = "sha256-3PIdxoLoe9cgjr53lu7X1cGNT9wHgIG0E4jld7TK3b4=";
env = {
# https://github.com/Boshen/cargo-shear/blob/v1.6.2/src/lib.rs#L51-L54
+3 -3
View File
@@ -10,14 +10,14 @@
rustPlatform.buildRustPackage rec {
pname = "cargo-workspaces";
version = "0.4.1";
version = "0.4.2";
src = fetchCrate {
inherit pname version;
hash = "sha256-5heOf74OUsnrG+vt9AdMXV7uRxqKYs0KRE7qm0irmC0=";
hash = "sha256-/h7v5Wq7YsNMVzLHw3QQmcknbjARpI7HFPAUGX72wZ0=";
};
cargoHash = "sha256-Is2ddCrg+dP0TSw3EUl057RA0L2VW4mPttg2eAtC0j4=";
cargoHash = "sha256-eaTLKQdz8Kyee7Bhub/OBueteeQ8jY36g4DgqctrToY=";
nativeBuildInputs = [
pkg-config
+3 -3
View File
@@ -6,16 +6,16 @@
buildGoModule rec {
pname = "cdncheck";
version = "1.2.11";
version = "1.2.12";
src = fetchFromGitHub {
owner = "projectdiscovery";
repo = "cdncheck";
tag = "v${version}";
hash = "sha256-8EBOvwYsanLkz1DbBwprrP8zZrMX1a/od517qubwzBk=";
hash = "sha256-SFtUfYZqD3QULEAKVOuMLKiwALtE2K8RJFbPlBM4tyw=";
};
vendorHash = "sha256-tJXfJHEZ1KysnJIkVX+UxP3CnTCzlZtsTlVbCSCNeg8=";
vendorHash = "sha256-Mmc2yFgtvpLsPAud3X/7R/2wKkmsucKbkRqHsSg9Qt4=";
subPackages = [ "cmd/cdncheck/" ];
+3 -3
View File
@@ -7,16 +7,16 @@
buildGoModule rec {
pname = "certinfo-go";
version = "0.1.47";
version = "0.1.49";
src = fetchFromGitHub {
owner = "paepckehh";
repo = "certinfo";
tag = "v${version}";
hash = "sha256-2/P2hg8y1Ac7ztRshsNR8S4tUy7VV7zy4XIOVDCVLtw=";
hash = "sha256-28RlCPr3Y43MmVlzzdXp3fSti1zBGuBIYQMkszggAUs=";
};
vendorHash = "sha256-pGAoQi397/ZQU/I73H9aK4gDKYoXuK5FU0RxL1+FgX8=";
vendorHash = "sha256-3Jnk2K1ZBfIXt4Oo8Znxqi6y7JzPG6gAKfZ30gHiFsw=";
ldflags = [
"-s"
@@ -7,14 +7,14 @@
python3.pkgs.buildPythonApplication rec {
pname = "changedetection-io";
version = "0.51.3";
version = "0.51.4";
format = "setuptools";
src = fetchFromGitHub {
owner = "dgtlmoon";
repo = "changedetection.io";
tag = version;
hash = "sha256-R0IL2skCUKLD/Gt9jru23aIMUVpvpx+KxQvQr4YIono=";
hash = "sha256-Qm3dI5ZHkLK3hTsadnzIDdmeiDM/QovGw2FZDVml5tE=";
};
pythonRelaxDeps = true;
+3 -3
View File
@@ -8,13 +8,13 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "chhoto-url";
version = "6.5.1";
version = "6.5.2";
src = fetchFromGitHub {
owner = "SinTan1729";
repo = "chhoto-url";
tag = finalAttrs.version;
hash = "sha256-gDD/1NKqPH84nr+EjTFfMGZkZfskQujn+uRGrnGs/fg=";
hash = "sha256-OO/foBlo6O4sXT6iP85L3liMHFZkCOTcP6Nx9UxyLJg=";
};
sourceRoot = "${finalAttrs.src.name}/actix";
@@ -24,7 +24,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
--replace-fail "./resources/" "${placeholder "out"}/share/chhoto-url/resources/"
'';
cargoHash = "sha256-jSdUKkZBgpMN05FmZUXHqBszuDAByf6bzIaaRNfymGY=";
cargoHash = "sha256-WVSS2041oaxvISmZ9YoLUipSXAcikfeHlvbuN6ZjMb8=";
postInstall = ''
mkdir -p $out/share/chhoto-url
+3 -3
View File
@@ -11,14 +11,14 @@
python3Packages.buildPythonApplication {
pname = "chirp";
version = "0.4.0-unstable-2025-11-20";
version = "0.4.0-unstable-2025-11-27";
pyproject = true;
src = fetchFromGitHub {
owner = "kk7ds";
repo = "chirp";
rev = "eb01134af3704ee883124e4f0fb2f139abbe74f4";
hash = "sha256-Yi7MmHgp4UXLhp9e07SQn310uQJSyStL3WrvVDxgsZI=";
rev = "58637366ee4a6b1da7d411b9792ebe7d9e78d8f1";
hash = "sha256-V2TtyOMIBCxIXqm0YPJ+uGd1hb8gipDdWBQMrE4VpuY=";
};
nativeBuildInputs = [
+3 -3
View File
@@ -8,16 +8,16 @@
buildGoModule rec {
pname = "cirrus-cli";
version = "0.156.0";
version = "0.157.0";
src = fetchFromGitHub {
owner = "cirruslabs";
repo = "cirrus-cli";
rev = "v${version}";
hash = "sha256-9ha87R/TN0Tjl4VWoCEMKc+hnSTcFaeIURndrF2uMR0=";
hash = "sha256-s2LrEvKS74HJ7glOGjyWPW/pVG+K0NLWljowXqlxdT4=";
};
vendorHash = "sha256-czH0s9zxj6A8RMa4i6u3+2rIr8vfBe9ECTnAbQ7kK5E=";
vendorHash = "sha256-WUnwKqCu8IvOWV9+5ZEvEZ8XR1L3CB0nPl6FfQuHs3I=";
ldflags = [
"-X github.com/cirruslabs/cirrus-cli/internal/version.Version=v${version}"
+2 -2
View File
@@ -1,12 +1,12 @@
{
"name": "@anthropic-ai/claude-code",
"version": "2.0.56",
"version": "2.0.57",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@anthropic-ai/claude-code",
"version": "2.0.56",
"version": "2.0.57",
"license": "SEE LICENSE IN README.md",
"bin": {
"claude": "cli.js"
+3 -3
View File
@@ -11,14 +11,14 @@ buildNpmPackage (finalAttrs: {
# ```sh
# nix-shell maintainers/scripts/update.nix --argstr commit true --argstr package vscode-extensions.anthropic.claude-code && nix-shell maintainers/scripts/update.nix --argstr commit true --argstr package claude-code
# ```
version = "2.0.56";
version = "2.0.57";
src = fetchzip {
url = "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-${finalAttrs.version}.tgz";
hash = "sha256-HuT2y0pyVc9wFrWBLffqCrrpN60YN1cl5NPwzOK0q98=";
hash = "sha256-mnSM1FFLrVQwmS3MgRoLg3lIDPJ7ERiWHLDsQoxRIxA=";
};
npmDepsHash = "sha256-yoVNRg7XdVBHGJPlmZ3g/vQ/0qSroKUVaN91N2XWtEs=";
npmDepsHash = "sha256-wVhKqeyFSIvPSb9jx+qUKWAfp7ZX8nvzvyv0A/XxnR8=";
postPatch = ''
cp ${./package-lock.json} package-lock.json
+2 -2
View File
@@ -6,12 +6,12 @@
stdenvNoCC.mkDerivation rec {
pname = "cldr-annotations";
version = "46.1";
version = "48";
src = fetchzip {
url = "https://unicode.org/Public/cldr/${version}/cldr-common-${version}.zip";
stripRoot = false;
hash = "sha256-HNQVVbUIjsGOnkzUlH2m8I0IDgEfy2omCTekZlSyXQI=";
hash = "sha256-Q+dA8Y4VfO8abyHRVgoRQMfY5NG6vZn/ZorxF/SEOmo=";
};
installPhase = ''
+3 -3
View File
@@ -8,15 +8,15 @@
buildGoModule rec {
pname = "cloudfoundry-cli";
version = "8.16.0";
version = "8.17.0";
src = fetchFromGitHub {
owner = "cloudfoundry";
repo = "cli";
rev = "v${version}";
sha256 = "sha256-7ROrXGGzHTI83/SgBqcNJdlZlWzt8rAYdsNM2vgyDKA=";
sha256 = "sha256-OnUqREa2rYx/3yW+yZC69GTx/i7wtK4pLubAlGyYNSI=";
};
vendorHash = "sha256-vWy93zOHh4kCQ/D4rKlbL0mcDbOStYOvC8G4bc6KRgg=";
vendorHash = "sha256-FcymGl2dzCaZGEDpXyebffE3NbIgold8nKaZ+CW1p2o=";
subPackages = [ "." ];
+2 -2
View File
@@ -44,13 +44,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "cockpit";
version = "351";
version = "352";
src = fetchFromGitHub {
owner = "cockpit-project";
repo = "cockpit";
tag = finalAttrs.version;
hash = "sha256-8f/mm53eE0L5fxNwgBkKeNvlBV2gPPvLI+U8c7QkKAI=";
hash = "sha256-8FtC5fr/FPjHnb7RpVi4kz0RS6nvp7aD++ILo0LRZxo=";
fetchSubmodules = true;
};
+3 -3
View File
@@ -14,18 +14,18 @@
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "codex";
version = "0.63.0";
version = "0.64.0";
src = fetchFromGitHub {
owner = "openai";
repo = "codex";
tag = "rust-v${finalAttrs.version}";
hash = "sha256-CWISGlSpS0A2yuXNC11L+5iT5Z9heHqkcIGQDJoUWFE=";
hash = "sha256-1nUawra7VChAcLAwWgcasy22q37DQxq6q8qAx55gHMc=";
};
sourceRoot = "${finalAttrs.src.name}/codex-rs";
cargoHash = "sha256-S6KCJ/b2fY8ydCoR+BfhEV4bbcgwQ6V0xHA9Mbl87jo=";
cargoHash = "sha256-cIiHB8THztG/TqPMjFekkQl8wEvALIf5Bg/fqXJ/hKs=";
nativeBuildInputs = [
installShellFiles
+2 -2
View File
@@ -13,11 +13,11 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "copybara";
version = "20251117";
version = "20251124";
src = fetchurl {
url = "https://github.com/google/copybara/releases/download/v${finalAttrs.version}/copybara_deploy.jar";
hash = "sha256-QbmBrkkqLtB/5ZS9o+Z4KKbogFv5lccEGgLZsuVuPrg=";
hash = "sha256-4MWmzeLpuDlz/Y8N0WmzASADtFCuWNMPT8QnCTrPRrQ=";
};
nativeBuildInputs = [
+2 -2
View File
@@ -76,7 +76,7 @@ buildGoModule (finalAttrs: {
}
diff -u plugin.cfg.orig plugin.cfg || true
for src in ${toString (attrsToSources externalPlugins)}; do go get $src; done
GOOS= GOARCH= go generate
CC= GOOS= GOARCH= go generate
go mod tidy
go mod vendor
'';
@@ -90,7 +90,7 @@ buildGoModule (finalAttrs: {
chmod -R u+w vendor
mv -t . vendor/go.{mod,sum} vendor/plugin.cfg
GOOS= GOARCH= go generate
CC= GOOS= GOARCH= go generate
'';
postPatch = ''
+2 -2
View File
@@ -9,13 +9,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "cpp-utilities";
version = "5.31.1";
version = "5.32.0";
src = fetchFromGitHub {
owner = "Martchus";
repo = "cpp-utilities";
rev = "v${finalAttrs.version}";
sha256 = "sha256-HpzcGHDudVFmkVfkn5YpAATKfZ3FpIKXfqhpjpehK1M=";
sha256 = "sha256-NiCUbo00o4rYY0cKwWGz0e2LfJPcRSs1PY6NBlnj9G8=";
};
nativeBuildInputs = [ cmake ];
+2 -2
View File
@@ -14,11 +14,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "crowdin-cli";
version = "4.11.0";
version = "4.12.0";
src = fetchurl {
url = "https://github.com/crowdin/crowdin-cli/releases/download/${finalAttrs.version}/crowdin-cli.zip";
hash = "sha256-5nQq/p6Zd/CC9Qqwwxk3Cu3CoCL2eNgNGHVC3pRGnVI=";
hash = "sha256-y6JBlZ1h/1iWr8r+323sYpQNpzM3pHtC/CzQt4HL7MQ=";
};
nativeBuildInputs = [
+3 -3
View File
@@ -6,16 +6,16 @@
buildGoModule rec {
pname = "ddns-go";
version = "6.13.2";
version = "6.13.3";
src = fetchFromGitHub {
owner = "jeessy2";
repo = "ddns-go";
rev = "v${version}";
hash = "sha256-Jko5cVcCMrBsfcOOSh6ETlk1jdTCbSj1zOgTwhXnxzQ=";
hash = "sha256-kB13TjZpeLnrbLc4dhA7lJY4I24wjTGfeqFtt97pyQE=";
};
vendorHash = "sha256-URPCqItQ/xg8p0EdkMS6z8vuSJ1YaCicsvyb+Jvj2CU=";
vendorHash = "sha256-CtbbyI7sL1Ej4WDWkEZoRFngiwWpzSwvAKAWQwiMD1E=";
ldflags = [
"-X main.version=${version}"
+5 -17
View File
@@ -3,7 +3,6 @@
stdenv,
fetchFromGitea,
fetchFromGitHub,
fetchpatch,
cmake,
intltool,
libdeltachat,
@@ -15,43 +14,32 @@
let
libdeltachat' = libdeltachat.overrideAttrs rec {
version = "2.22.0";
version = "2.25.0";
src = fetchFromGitHub {
owner = "chatmail";
repo = "core";
tag = "v${version}";
hash = "sha256-DKqqdcG3C7/RF/wz2SqaiPUjZ/7vMFJTR5DIGTXjoTY=";
hash = "sha256-pW1+9aljtnYJmlJOj+m0aQekYO5IsL0fduR7kIAPdN8=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
pname = "chatmail-core";
inherit version src;
hash = "sha256-x71vytk9ytIhHlRR0lDhDcIaDNJGDdPwb6fkB1SI+NQ=";
hash = "sha256-iIC9wE7P2SKeCMtc/hFTRaOGXD2F7kh1TptOoes/Qi0=";
};
};
in
stdenv.mkDerivation (finalAttrs: {
pname = "deltatouch";
version = "2.22.0";
version = "2.25.1";
src = fetchFromGitea {
domain = "codeberg.org";
owner = "lk108";
repo = "deltatouch";
tag = "v${finalAttrs.version}";
hash = "sha256-e8kS6kAjOZ2V33XJuJbvDZ9mfRknDh9un0dn5HtD3UY=";
hash = "sha256-0+5wZCadYHmZjp/Za0LmK7FWq9nfyhXZFAx0lGqfRK0=";
};
patches = [
(fetchpatch {
url = "https://codeberg.org/lk108/deltatouch/commit/b19c088ce95e8ca6ff1102c36d91b1db937e3a3a.patch";
hash = "sha256-58WPUSFaAUqVVU3iq05tae5Gvvr405zDA145V9DbJ54=";
})
(fetchpatch {
url = "https://codeberg.org/lk108/deltatouch/commit/139f3a4abd772b17142a7f61ef9b442200728f4a.patch";
hash = "sha256-bEX4g88CCt7AFok8kTeItzCripXFoG2ED7R9lGYoCAw=";
})
];
nativeBuildInputs = [
qt5.wrapQtAppsHook
intltool
+2 -2
View File
@@ -17,14 +17,14 @@
stdenv.mkDerivation (finalAttrs: {
pname = "dexed";
version = "0.9.9";
version = "1.0.1";
src = fetchFromGitHub {
owner = "asb2m10";
repo = "dexed";
tag = "v${finalAttrs.version}";
fetchSubmodules = true;
hash = "sha256-SPIcaFwx4uGx4Bc1EH1FTnAZ2BAno2h3iO0yhB3G71U=";
hash = "sha256-9EbaME3kw2ptCWpaV9CnM0j5HOof264s5iFoOTcjwNg=";
};
postPatch = ''
+2 -2
View File
@@ -6,13 +6,13 @@
}:
buildGoModule rec {
pname = "di-tui";
version = "1.11.4";
version = "1.13.2";
src = fetchFromGitHub {
owner = "acaloiaro";
repo = "di-tui";
rev = "v${version}";
hash = "sha256-CTZ98EbOdM/uCFZHtCGnU4OHmFw4iPwqseb0RuJvDnk=";
hash = "sha256-8aNwEDxaNUS909gRZ1PGEIKHIK8NmlxM6zwvc2xBlzc=";
};
vendorHash = "sha256-b7dG0nSjPQpjWUbOlIxWudPZWKqtq96sQaJxKvsQT9I=";
+3 -3
View File
@@ -27,15 +27,15 @@ assert lib.assertMsg (lib.elem true [
rustPlatform.buildRustPackage rec {
pname = "diesel-cli";
version = "2.3.3";
version = "2.3.4";
src = fetchCrate {
inherit version;
crateName = "diesel_cli";
hash = "sha256-AgPESgFLnL3jiYBP8DiWb0hLzsx5tJA+gcO/fdV5Cvo=";
hash = "sha256-92mXE+FHggig2TrY+Mf31MEtfxP3vf2J/mUZmW/bkCI=";
};
cargoHash = "sha256-yco4l/4UiYnqnZZLYm3EkHmYiQJhMC2xloFg0brDfsg=";
cargoHash = "sha256-/5Bxn0gZfHCz5GVupmkmN1QKkef4q266e+FUbIN1x9E=";
nativeBuildInputs = [
installShellFiles
+3 -3
View File
@@ -11,13 +11,13 @@
buildGoModule (finalAttrs: {
pname = "discordo";
version = "0-unstable-2025-11-24";
version = "0-unstable-2025-11-30";
src = fetchFromGitHub {
owner = "ayn2op";
repo = "discordo";
rev = "ac1436b4d4e132f92b48b3afdf3f430e2846b41a";
hash = "sha256-qf7DPl/ZZlrjyX1dV9SP7wBiysqvZKNb+awYk6V+Lj8=";
rev = "845485595fbe5df8ff800ce068ea5e051f896dd5";
hash = "sha256-8GUVPt8GalNe5CzAmgJaf0eOM7+WqNt7qchrQGZ/zCo=";
};
vendorHash = "sha256-b5ilZPU6+KwiTj8aC0gqZvgGI+V69gF8LNxCpxwUy7c=";
+3 -3
View File
@@ -8,16 +8,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "docuum";
version = "0.25.1";
version = "0.26.0";
src = fetchFromGitHub {
owner = "stepchowfun";
repo = "docuum";
tag = "v${finalAttrs.version}";
hash = "sha256-fc+qEDYQGRxOSfFng3/K3xYWb8mKTuuKWanQS+/UIMo=";
hash = "sha256-ZfC0z/oaf+HQR33DDtixp9LwLD3v+eZ1tP3WvXqNnFY=";
};
cargoHash = "sha256-IryniHpSJDxjW6FRqTILKzp6XrTHxJ19BiYqRYIHnGo=";
cargoHash = "sha256-0vNhZTIRpZ72hiU6GvlbWlo2U//AdJmowXVuaI/5wB8=";
checkFlags = [
# fails, no idea why
+2 -2
View File
@@ -27,13 +27,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "dosbox-x";
version = "2025.10.07";
version = "2025.12.01";
src = fetchFromGitHub {
owner = "joncampbell123";
repo = "dosbox-x";
rev = "dosbox-x-v${finalAttrs.version}";
hash = "sha256-6y41xAs2FyOL8v+c5ma3zVIw186PU48CcbM3T050jeI=";
hash = "sha256-DD1GE3QUioqCm3A1jYiVuAt17+vlERDYM5T1YS94bQ8=";
};
# sips is unavailable in sandbox, replacing with imagemagick breaks build due to wrong Foundation propagation(?) so don't generate resolution variants
+5 -5
View File
@@ -23,14 +23,14 @@
python3Packages.buildPythonApplication rec {
pname = "dtrx";
version = "8.5.3";
version = "8.7.0";
format = "pyproject";
src = fetchFromGitHub {
owner = "dtrx-py";
repo = "dtrx";
rev = version;
sha256 = "sha256-LB3F6jcqQPRsjFO4L2fPAPnacDAdtcaadgGbwXA9LAw=";
sha256 = "sha256-wk+TPUXFLKqfUbjV/ALCTLXUacpLa8WhqR7VawaPWQM=";
};
makeWrapperArgs =
@@ -64,11 +64,11 @@ python3Packages.buildPythonApplication rec {
passthru.updateScript = gitUpdater { };
meta = with lib; {
meta = {
description = "Do The Right Extraction: A tool for taking the hassle out of extracting archives";
homepage = "https://github.com/dtrx-py/dtrx";
license = licenses.gpl3Plus;
maintainers = [ ];
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ colinsane ];
mainProgram = "dtrx";
};
}
+3 -3
View File
@@ -7,16 +7,16 @@
rustPlatform.buildRustPackage rec {
pname = "dysk";
version = "3.4.0";
version = "3.5.0";
src = fetchFromGitHub {
owner = "Canop";
repo = "dysk";
tag = "v${version}";
hash = "sha256-0P7JySrgIui6sWh/JSqGqAMbI9cqeAkSdPuRtJB/Hec=";
hash = "sha256-FI7npNGK7Y2dteQsBXWRz504tEqXSGLSp7QmmDUMJsI=";
};
cargoHash = "sha256-UuJ7ya/qLU2kmAhP8aucDREXKjdTaiKlzbSgDZXj54o=";
cargoHash = "sha256-bsBIbYYl4mXW7KHya+JEfrCjh7tc3TvKHjcXwt0rQ3k=";
nativeBuildInputs = [
installShellFiles
+3 -3
View File
@@ -5,7 +5,7 @@
}:
let
pname = "e1s";
version = "1.0.51";
version = "1.0.52";
in
buildGoModule {
inherit pname version;
@@ -14,10 +14,10 @@ buildGoModule {
owner = "keidarcy";
repo = "e1s";
tag = "v${version}";
hash = "sha256-9O6VRsO80d+ZvUbqt+AUqph9FXOWlwOdgJcqqiGBNC0=";
hash = "sha256-ObqCd27gMG1WWqAObZZP1rGLJuh8weCdC0zrLfoPwMo=";
};
vendorHash = "sha256-1lise/u40Q8W9STsuyrWIbhf2HY+SFCytUL1PTSWvfY=";
vendorHash = "sha256-8z2RVT2W8TLXdZBAmi/2fu63pijVgzqSvF9xpGexlQ0=";
meta = {
description = "Easily Manage AWS ECS Resources in Terminal";
+2 -2
View File
@@ -8,13 +8,13 @@
buildGoModule rec {
pname = "eksctl";
version = "0.218.0";
version = "0.219.0";
src = fetchFromGitHub {
owner = "weaveworks";
repo = "eksctl";
rev = version;
hash = "sha256-zUVd+9rExjB5rZzOLHvaLW/C+KehLvkk1JZsoKeRu3Q=";
hash = "sha256-D8N1nR5hkY2JhngbxD86/m5+jMZwYiiBqlPs6dPBEgU=";
};
vendorHash = "sha256-NsNBn6kQbQN5FElPxhv806Z6dk5fzqH0wA77i1nBm3c=";
+2 -2
View File
@@ -7,13 +7,13 @@
buildGoModule rec {
pname = "fabric-ai";
version = "1.4.334";
version = "1.4.336";
src = fetchFromGitHub {
owner = "danielmiessler";
repo = "fabric";
tag = "v${version}";
hash = "sha256-O63UsnVufi6QYfl233vqFnoR5WW5ttLN5xdBJ7DxBso=";
hash = "sha256-E+EryezHZU81KKv/jr/rKDLEYL7yNRHMouAebDMmkTM=";
};
vendorHash = "sha256-qWaMBhjt20WAIhDcjY4oOFBT+neJiXg0N2WsPasuHSU=";
+2 -2
View File
@@ -40,7 +40,7 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "faiss";
version = "1.13.0";
version = "1.13.1";
outputs = [ "out" ] ++ lib.optionals pythonSupport [ "dist" ];
@@ -48,7 +48,7 @@ stdenv.mkDerivation (finalAttrs: {
owner = "facebookresearch";
repo = "faiss";
tag = "v${finalAttrs.version}";
hash = "sha256-8o66YbAH2pqPjW7yG2pfuEdEyEzoopE2DJNV70XymUY=";
hash = "sha256-qRwQhQyCjKkz0y14ryWjPdWuibfyb23Bi4/3cTkO8C4=";
};
nativeBuildInputs = [
+2 -2
View File
@@ -6,10 +6,10 @@
let
pname = "fflogs";
version = "8.17.101";
version = "8.17.115";
src = fetchurl {
url = "https://github.com/RPGLogs/Uploaders-fflogs/releases/download/v${version}/fflogs-v${version}.AppImage";
hash = "sha256-yCnFN46/vHrQA8KkaoWQUBCOZ1+6Oa4UkdUhCghGByo=";
hash = "sha256-i16jMTbthl+XvL/I6tOqBKBdKyb6wOLYIQeWveR4Oyg=";
};
extracted = appimageTools.extractType2 { inherit pname version src; };
in
+3 -3
View File
@@ -7,15 +7,15 @@
buildGoModule (finalAttrs: {
pname = "fleet";
version = "4.76.1";
version = "4.77.0";
src = fetchFromGitHub {
owner = "fleetdm";
repo = "fleet";
tag = "fleet-v${finalAttrs.version}";
hash = "sha256-DWrErGFKhhAP+qePYz5VJ26dySMOicGkHEN16J9qOx4=";
hash = "sha256-3GrEjXNHts4qEjv8GhQSwAtcC6/I94SWbr6D4aPXW5c=";
};
vendorHash = "sha256-VLxhlzuQqt/jtUwllCutj2CO2tXWFgLRpU2mGtZM6RE=";
vendorHash = "sha256-DXCfuEGMmcbVcV2LBa6oPMPDtkbkomdgbV4LlMV9qe8=";
subPackages = [
"cmd/fleet"
+28
View File
@@ -0,0 +1,28 @@
{
lib,
rustPlatform,
fetchFromGitHub,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "flow_state";
version = "1.0.3";
src = fetchFromGitHub {
owner = "Stan-breaks";
repo = "flow_state";
tag = "v${finalAttrs.version}";
hash = "sha256-7j8W370lr/QaLL+T7N/2SlcrPe+dTW5zlNPL7+U/Vog=";
};
cargoHash = "sha256-IY4Kd43zLIGRjQbkeZddl6ayRv997HuSKV1DKI8Z6BY=";
meta = {
description = "Terminal-based habit tracker designed for neurodivergent users";
mainProgram = "flow_state";
homepage = "https://github.com/Stan-breaks/flow_state";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [
overloader
];
};
})
+3 -3
View File
@@ -7,16 +7,16 @@
buildGoModule rec {
pname = "gcsfuse";
version = "3.5.1";
version = "3.5.2";
src = fetchFromGitHub {
owner = "googlecloudplatform";
repo = "gcsfuse";
rev = "v${version}";
hash = "sha256-hC8/vgngJ4lLF02uV1MurZyRG7dpcEg9gcZr+HWzaNE=";
hash = "sha256-48m4/k9BLwFrNIXcRY25jvNd3E/9zwEsuf2ZVG00svM=";
};
vendorHash = "sha256-BirzhmYwFSs2poA5tNOlK2bDO71mCkgSck7fE9la2wA=";
vendorHash = "sha256-gC7ngmy4xIkEp2lHOfGyDaZNqy/J4Uy8ox8F2uP7P/0=";
subPackages = [
"."
+2 -2
View File
@@ -6,14 +6,14 @@
python3Packages.buildPythonApplication rec {
pname = "gersemi";
version = "0.23.1";
version = "0.23.2";
format = "pyproject";
src = fetchFromGitHub {
owner = "BlankSpruce";
repo = "gersemi";
tag = version;
hash = "sha256-mAScW+OLHSN5idHk/Kd909sOJDBUAe2Vi55kdhTtlzQ=";
hash = "sha256-sXgu3KscRi/3Myg/4jarMZ4W7/CaQTmyxxbcu8/0o6Y=";
};
build-system = with python3Packages; [
+2 -2
View File
@@ -7,13 +7,13 @@
buildDotnetModule rec {
pname = "gh-gei";
version = "1.21.0";
version = "1.22.0";
src = fetchFromGitHub {
owner = "github";
repo = "gh-gei";
rev = "v${version}";
hash = "sha256-hlhryJno8XpSITBv1ShhqP7jPoRtoscD/YGXIU6ubt0=";
hash = "sha256-5BGYNhrHtRHtjfdjSodlhc0Yu/GcYXjvdzGBg2AWVzc=";
};
dotnet-sdk = dotnetCorePackages.sdk_8_0_4xx;
+2 -2
View File
@@ -6,13 +6,13 @@
buildGoModule rec {
pname = "goa";
version = "3.23.0";
version = "3.23.2";
src = fetchFromGitHub {
owner = "goadesign";
repo = "goa";
rev = "v${version}";
hash = "sha256-jmEpFbWCIPhSQWlO047buoltFdGhZCF+IxJmwAxedpo=";
hash = "sha256-8AcpYTc909MyQYJBArHypMOefNcj1DaJcM2w4NpmcLI=";
};
vendorHash = "sha256-2H5VtNZiOnx1gFSVaBu7q4HTeLhBbIDK01fixBB66M4=";
+3 -3
View File
@@ -6,16 +6,16 @@
buildGoModule rec {
pname = "gobgp";
version = "3.37.0";
version = "4.0.0";
src = fetchFromGitHub {
owner = "osrg";
repo = "gobgp";
rev = "v${version}";
sha256 = "sha256-Nh4JmyZHrT7uPi9+CbmS3h6ezKoicCvEByUJVULMac4=";
sha256 = "sha256-hXpNNDGiiJ0m8TjZe4ZOFhwma7KG7bm5iud1F0lcRzg=";
};
vendorHash = "sha256-HpATJztX31mNWkpeDqOE4rTzhCk3c7E1PtZnKW8Axyo=";
vendorHash = "sha256-y8nhrKQnTXfnDDyr/xZd5b9ccXaM85rd8RKHtoDBuwI=";
postConfigure = ''
export CGO_ENABLED=0
+3 -3
View File
@@ -7,16 +7,16 @@
buildGoModule rec {
pname = "gobgpd";
version = "3.37.0";
version = "4.0.0";
src = fetchFromGitHub {
owner = "osrg";
repo = "gobgp";
tag = "v${version}";
hash = "sha256-Nh4JmyZHrT7uPi9+CbmS3h6ezKoicCvEByUJVULMac4=";
hash = "sha256-hXpNNDGiiJ0m8TjZe4ZOFhwma7KG7bm5iud1F0lcRzg=";
};
vendorHash = "sha256-HpATJztX31mNWkpeDqOE4rTzhCk3c7E1PtZnKW8Axyo=";
vendorHash = "sha256-y8nhrKQnTXfnDDyr/xZd5b9ccXaM85rd8RKHtoDBuwI=";
postConfigure = ''
export CGO_ENABLED=0
+2 -2
View File
@@ -25,13 +25,13 @@ let
in
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "gogh";
version = "361";
version = "362";
src = fetchFromGitHub {
owner = "Gogh-Co";
repo = "Gogh";
tag = "v${finalAttrs.version}";
hash = "sha256-kzJiI1w8CYVYMcHo8mMqLseyFsU/PekjMkkk0gG+RH4=";
hash = "sha256-FlMf7CzdGcGor+wi293CW2PT14O1VRzQbbxnNMmwFqk=";
};
postPatch = ''
+5 -5
View File
@@ -170,11 +170,11 @@ let
linux = stdenvNoCC.mkDerivation (finalAttrs: {
inherit pname meta passthru;
version = "142.0.7444.175";
version = "143.0.7499.40";
src = fetchurl {
url = "https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_${finalAttrs.version}-1_amd64.deb";
hash = "sha256-jh1xtWvntfqM894lG8nW9OS2UAaXFC8PGpTFpexuLoU=";
hash = "sha256-rx5yfN8fD4bs2SRASJ65YFijfq9xknUDwZiXdgAagIU=";
};
# With strictDeps on, some shebangs were not being patched correctly
@@ -272,11 +272,11 @@ let
darwin = stdenvNoCC.mkDerivation (finalAttrs: {
inherit pname meta passthru;
version = "142.0.7444.176";
version = "143.0.7499.41";
src = fetchurl {
url = "http://dl.google.com/release2/chrome/adwwopanah7ruvzdwqiygodsggsq_142.0.7444.176/GoogleChrome-142.0.7444.176.dmg";
hash = "sha256-sH/oPMJOxJNKw+znU2lX7BYtSN6vfcs0CyvxOXlPoFs=";
url = "http://dl.google.com/release2/chrome/mn7icxthshss2p6fseuwaupjs4_143.0.7499.41/GoogleChrome-143.0.7499.41.dmg";
hash = "sha256-L8Zl/hGDqWPQQ+dnaZw7QVifo+N81BCYNzawW+kcyDg=";
};
dontPatch = true;
File diff suppressed because it is too large Load Diff
+11 -11
View File
@@ -1,27 +1,27 @@
# DO NOT EDIT! This file is generated automatically by update.sh
{ }:
{
version = "537.0.0";
version = "548.0.0";
googleCloudSdkPkgs = {
x86_64-linux = {
url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-537.0.0-linux-x86_64.tar.gz";
sha256 = "08221f1alz5ss5fvqdj30k7c98l15gkzidhgj2fhlw5xwi7dp3cn";
url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-548.0.0-linux-x86_64.tar.gz";
sha256 = "15d0hnw8ihff75ppciilmhvjidsgma4pyr1hi3bd1bgyrqm86m8b";
};
x86_64-darwin = {
url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-537.0.0-darwin-x86_64.tar.gz";
sha256 = "0my8vbdyf4iy7qry8vzhb0wmzlbqz7h891rw3vzhjcrksaa4xahn";
url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-548.0.0-darwin-x86_64.tar.gz";
sha256 = "1hbzbanr0dlll02xg484hr8z05s2jzg7n4yigvykdbx3gvi0fkmz";
};
aarch64-linux = {
url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-537.0.0-linux-arm.tar.gz";
sha256 = "16zj9xx3mgldz0a9l45pw2l0gwkb9vfdv7s93v81pmz2jx5hd0d6";
url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-548.0.0-linux-arm.tar.gz";
sha256 = "0b19h83lp5gz4dl1gb2hcj00587p37ijwjfhz8qsyl40kvdapd4n";
};
aarch64-darwin = {
url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-537.0.0-darwin-arm.tar.gz";
sha256 = "0h5ldp6gw7mk7m9jljl1lvvz7sxkrssyy0w3zag5c1lbb7fb9r60";
url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-548.0.0-darwin-arm.tar.gz";
sha256 = "1s1dnw3ia1vaamc1inl3iwpczi175q2pfnd7zysw8m53xrc2651x";
};
i686-linux = {
url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-537.0.0-linux-x86.tar.gz";
sha256 = "0sgnnspjhsk4ydkq7x7gcnw19dbf66cq1rrwr0r1r97953k8rhvj";
url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-548.0.0-linux-x86.tar.gz";
sha256 = "1a8d02lf3zxmw8szjkq8hj6dqxx9zg4xw9mrsblpfzl8k874m794";
};
};
}
@@ -6,13 +6,13 @@
buildGoModule (finalAttrs: {
pname = "grafana-image-renderer";
version = "5.0.10";
version = "5.0.11";
src = fetchFromGitHub {
owner = "grafana";
repo = "grafana-image-renderer";
tag = "v${finalAttrs.version}";
hash = "sha256-oWJlb1mV1sNgN7EQ8L4msfnKps5oV60JgwZYpAJQaq4=";
hash = "sha256-fHIxtIRCxxJVHUA3r1ddCpOAsJ8QCJoCbUWagFcj4+I=";
};
vendorHash = "sha256-wA1XeLO2bYwq7HZOQ5UNcdqqJdEWRUxFoAQucXAj48k=";
+2 -2
View File
@@ -39,11 +39,11 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "haproxy";
version = "3.2.9";
version = "3.3.0";
src = fetchurl {
url = "https://www.haproxy.org/download/${lib.versions.majorMinor finalAttrs.version}/src/haproxy-${finalAttrs.version}.tar.gz";
hash = "sha256-5mDRQbKQGfTRmHhbCDTMPpyW787rgHwv/y/JNb0zVMI=";
hash = "sha256-vy2mtp+C17hVvpd6ueHUcE7vVim2V6xyr7WVioackC4=";
};
buildInputs = [
@@ -1,5 +1,5 @@
--- a/src/main.rs 2024-01-17 23:44:21.346253718 +0100
+++ b/src/main.rs 2024-01-17 23:48:54.536921610 +0100
--- a/src/main.rs 2025-08-25 13:02:46.484172665 +0200
+++ b/src/main.rs 2025-08-25 13:04:40.721403934 +0200
@@ -15,7 +15,6 @@
use crate::utils::*;
use crate::vpn::*;
@@ -8,13 +8,13 @@
use std::process::Command;
#[tokio::main]
@@ -44,16 +43,6 @@
eprintln!("Error creating folder: {}", err);
@@ -47,16 +46,6 @@
eprintln!("Error creating folder: {err}");
}
}
-
- // Create HTB config file if not existing
- let htb_config = format!("{}/.htb.conf", home);
- let htb_config = format!("{home}/.htb.conf");
-
- let file = Path::new(&htb_config);
- if !file.exists() {
@@ -25,7 +25,7 @@
// Initialize Xorg in WSL for secret-tool popup window
if is_wsl() && is_display_zero() {
@@ -104,13 +93,6 @@
@@ -107,13 +96,6 @@
let _ = play_machine(&args[2]).await;
}
}
@@ -39,9 +39,17 @@
"-r" => {
reset_machine().await;
}
--- a/src/manage.rs 2024-01-17 22:50:22.450368210 +0100
+++ b/src/manage.rs 2024-01-17 23:49:21.143071918 +0100
@@ -77,19 +77,14 @@
--- a/src/manage.rs 2025-08-25 13:03:00.835291752 +0200
+++ b/src/manage.rs 2025-08-25 13:18:21.770141852 +0200
@@ -12,7 +12,6 @@
use std::fs;
use std::io::{self,Write};
use std::path::PathBuf;
-use regex::Regex;
use tokio::spawn;
pub async fn get_active_machine_info() {
@@ -78,19 +77,14 @@
if machine_info.ip.is_empty() { //Starting Point case because SP IP address is assigned only after spawn of the machine
machine_info.ip = active_machine.ip;
}
@@ -61,7 +69,7 @@
let appkey = get_appkey();
let active_machine = ActiveMachine::get_active(&appkey).await;
@@ -126,31 +121,9 @@
@@ -130,31 +124,9 @@
// Await the result of the blocking task
blocking_task.await.expect("Blocking task failed");
@@ -74,7 +82,7 @@
-pub fn prompt_setting(option: &str) {
- let home = env::var("HOME").unwrap_or_default();
- let htb_config = format!("{}/.htb.conf", home);
- let htb_config = format!("{home}/.htb.conf");
-
- let content = fs::read_to_string(&htb_config)
- .expect("Failed to read HTB config file");
@@ -82,19 +90,19 @@
- let re = Regex::new(r"prompt_change=\w+")
- .expect("Failed to create regular expression");
-
- let new_content = re.replace(&content, format!("prompt_change={}", option));
- let new_content = re.replace(&content, format!("prompt_change={option}"));
-
- fs::write(&htb_config, new_content.to_string())
- .expect("Failed to write updated content to HTB config file");
-
- println!("Prompt setting updated to: {}", option);
- println!("Prompt setting updated to: {option}");
-}
-
pub async fn update_machines() -> io::Result<()> {
fn find_menu_children_mut<'a>(value: &'a mut Value, name: &str) -> Option<&'a mut Vec<Value>> {
let obj = value.as_object_mut()?;
println!("Retrieving updated data from Hack The Box... Gimme some time hackerzzz...");
--- a/src/play.rs 2024-01-17 22:50:25.709380651 +0100
+++ b/src/play.rs 2024-01-17 23:39:08.715395211 +0100
--- a/src/play.rs 2025-08-25 13:03:09.912367073 +0200
+++ b/src/play.rs 2025-08-25 13:06:49.170236608 +0200
@@ -4,7 +4,6 @@
use crate::types::*;
use crate::utils::*;
@@ -112,7 +120,7 @@
let mut machine_info = PlayingMachine::get_machine(machine_name, &appkey).await;
@@ -103,7 +100,7 @@
@@ -107,7 +104,7 @@
machine_info.ip = get_ip(&appkey_clone).await; // For Starting Point machines and VIP and VIP+ VPNs, if I call the play API two times on the same machine, the old IP address associated to the machine can still live for some seconds providing a wrong IP related to the new same machine. For this reason, it is better to compute always the IP address (no problems for free VPNs because they associate always the same IP address to the same machine)
@@ -121,8 +129,8 @@
let _ = print_banner();
@@ -115,10 +112,6 @@
println!("{}Hey! You have already found the Root Flag! Keep it up!{}", BGREEN, RESET);
@@ -119,10 +116,6 @@
println!("{BGREEN}Hey! You have already found the Root Flag! Keep it up!{RESET}");
}
- if htbconfig.promptchange { //If the prompt is set to change during the playing...
@@ -132,8 +140,8 @@
// Writing /etc/hosts
let _ = add_hosts(&machine_info);
--- a/src/types.rs 2024-01-17 23:40:14.341769452 +0100
+++ b/src/types.rs 2024-01-17 23:43:14.159871196 +0100
--- a/src/types.rs 2025-08-25 13:03:30.716513609 +0200
+++ b/src/types.rs 2025-08-25 13:07:49.414296572 +0200
@@ -2,7 +2,6 @@
use crate::colors::*;
use crate::utils::get_interface_ip;
@@ -142,7 +150,7 @@
use std::process;
use std::thread::sleep;
@@ -485,37 +484,4 @@
@@ -475,37 +474,4 @@
ip: userip,
}
}
@@ -181,9 +189,9 @@
- }
}
\ No newline at end of file
--- a/src/utils.rs 2024-01-17 23:29:49.215407440 +0100
+++ b/src/utils.rs 2024-01-17 23:46:20.681009209 +0100
@@ -5,7 +5,6 @@
--- a/src/utils.rs 2025-08-25 13:03:34.500525470 +0200
+++ b/src/utils.rs 2025-08-25 13:09:31.055654489 +0200
@@ -7,7 +7,6 @@
use crate::types::*;
use crate::vpn::*;
use pnet::datalink;
@@ -191,9 +199,9 @@
use reqwest::Client;
use std::fs;
use std::net::IpAddr;
@@ -13,96 +12,6 @@
use tokio::io::{AsyncWriteExt, BufWriter};
use tokio::sync::mpsc;
@@ -25,96 +24,6 @@
}
}
-pub fn change_shell(machine_info: &mut PlayingMachine, user_info: &mut PlayingUser) {
- let result = std::env::var("SHELL").unwrap_or_default();
@@ -287,8 +295,8 @@
-
pub fn display_target_info(machine_info: &PlayingMachine, user_info: &PlayingUser) {
println!();
println!("{}Our secret agent gathered some information about the target:{}", BYELLOW, RESET);
@@ -184,7 +93,7 @@
println!("{BYELLOW}Our secret agent gathered some information about the target:{RESET}");
@@ -196,7 +105,7 @@
println!("Play Hack The Box machines directly on your system.");
println!();
std::thread::sleep(std::time::Duration::from_secs(2)); //Showing the description for some secs before showing the help message
@@ -297,7 +305,7 @@
println!();
println!("Options:");
println!("-a Print information about the current active machine.");
@@ -193,7 +102,6 @@
@@ -205,7 +114,6 @@
println!("-k <set|reset|delete> Set, reset or delete the Hack The Box App Key.");
println!("-m <machine-name> Specify the machine name to play.");
println!("-l <free|retired|starting> List free, retired or starting point machines.");
+6 -5
View File
@@ -2,6 +2,7 @@
lib,
rustPlatform,
fetchFromGitHub,
unstableGitUpdater,
pkg-config,
openssl,
stdenv,
@@ -15,14 +16,14 @@
rustPlatform.buildRustPackage {
pname = "htb-toolkit";
version = "0-unstable-2025-03-15";
version = "0-unstable-2025-08-12";
src = fetchFromGitHub {
owner = "D3vil0p3r";
repo = "htb-toolkit";
# https://github.com/D3vil0p3r/htb-toolkit/issues/3
rev = "dd193c2974cd5fd1bbc6f7f616ebd597e28539ec";
hash = "sha256-NTZv0BPyIB32CNXbINYTy4n8tNVJ3pRLr1QDhI/tg2Y=";
rev = "60996a88fbd5e8aeab78005e754ef37d95ffdba4";
hash = "sha256-u+IigAs/W0lzp9kCW43TkjHTIrPCkGdmva6tesQq/Pk=";
};
cargoHash = "sha256-ReEe8pyW66GXIPwAy6IKsFEAUjxHmzw5mj21i/h4quQ=";
@@ -44,8 +45,6 @@ rustPlatform.buildRustPackage {
];
postPatch = ''
substituteInPlace src/manage.rs \
--replace-fail /usr/share/icons/htb-toolkit/ $out/share/icons/htb-toolkit/
substituteInPlace src/utils.rs \
--replace-fail "\"base64\"" "\"${coreutils}/bin/base64\"" \
--replace-fail "\"gunzip\"" "\"${gzip}/bin/gunzip\""
@@ -56,6 +55,8 @@ rustPlatform.buildRustPackage {
--replace-fail "arg(\"killall\")" "arg(\"${killall}/bin/killall\")"
'';
passthru.updateScript = unstableGitUpdater { };
meta = with lib; {
description = "Play Hack The Box directly on your system";
mainProgram = "htb-toolkit";
+94 -21
View File
@@ -2,46 +2,119 @@
lib,
stdenv,
fetchFromGitHub,
fetchpatch2,
cmake,
pkg-config,
gfortran,
blas,
lapack,
mpi,
llvmPackages,
mpiCheckPhaseHook,
isILP64 ? false,
mpiSupport ? true,
precision ? "double",
testers,
hypre,
}:
assert lib.elem precision [
"single"
"double"
"long-double"
];
stdenv.mkDerivation (finalAttrs: {
pname = "hypre";
version = "2.33.0";
version = "3.0.0";
src = fetchFromGitHub {
owner = "hypre-space";
repo = "hypre";
tag = "v${finalAttrs.version}";
hash = "sha256-OrpClN9xd+8DdELVnI4xBg3Ih/BaoBiO0w/QrFjUclw=";
hash = "sha256-zu9YWfBT2WJxPg6JHrXjZWRM9Ai1p28EpvAx6xfdPsY=";
};
sourceRoot = "${finalAttrs.src.name}/src";
buildInputs = [ mpi ];
configureFlags = [
"--enable-mpi"
"--enable-shared"
outputs = [
"out"
"dev"
];
preBuild = ''
makeFlagsArray+=(AR="ar -rcu")
patches = [
(fetchpatch2 {
url = "https://raw.githubusercontent.com/spack/spack-packages/eb4b23847f0079d0c9c8de99aaa32557ad4c9194/repos/builtin/packages/hypre/hypre-precision-fix.patch?full_index=1";
hash = "sha256-Ni5xlfFmok884x5Hctf9VOsAgZp8ICG7QNVGTdVKPzE=";
})
];
# fix sequence check
postPatch = lib.optionalString (!mpiSupport) ''
substituteInPlace src/test/CMakeLists.txt \
--replace-fail ''\'''${MPIEXEC_EXECUTABLE} ''${MPIEXEC_NUMPROC_FLAG} 1' ""
'';
installPhase = ''
runHook preInstall
mkdir -p $out/{include,lib}
cp -r hypre/include/* $out/include
cp -r hypre/lib/* $out/lib
runHook postInstall
nativeBuildInputs = [
cmake
pkg-config
gfortran
];
propagatedBuildInputs = [
(blas.override { inherit isILP64; })
(lapack.override { inherit isILP64; })
]
++ lib.optional mpiSupport mpi
++ lib.optional stdenv.cc.isClang llvmPackages.openmp;
cmakeDir = "../src";
cmakeFlags = [
(lib.cmakeBool "BUILD_SHARED_LIBS" (!stdenv.hostPlatform.isStatic))
(lib.cmakeBool "BLA_PREFER_PKGCONFIG" true)
(lib.cmakeBool "HYPRE_ENABLE_HYPRE_BLAS" false)
(lib.cmakeBool "HYPRE_ENABLE_HYPRE_LAPACK" false)
(lib.cmakeBool "HYPRE_ENABLE_FORTRAN" true)
(lib.cmakeBool "HYPRE_ENABLE_BIGINT" isILP64)
(lib.cmakeBool "HYPRE_ENABLE_SINGLE" (precision == "single"))
(lib.cmakeBool "HYPRE_ENABLE_LONG_DOUBLE" (precision == "long-double"))
(lib.cmakeBool "HYPRE_ENABLE_OPENMP" true)
(lib.cmakeBool "HYPRE_ENABLE_MPI" mpiSupport)
(lib.cmakeBool "HYPRE_BUILD_TESTS" finalAttrs.finalPackage.doCheck)
];
__darwinAllowLocalNetworking = mpiSupport;
nativeCheckInputs = lib.optional mpiSupport mpiCheckPhaseHook;
doCheck = true;
postInstall = lib.optionalString finalAttrs.finalPackage.doCheck ''
rm -rf $out/bin
'';
meta = with lib; {
passthru = {
tests = {
cmake-config = testers.hasCmakeConfigModules {
moduleNames = [ "HYPRE" ];
package = finalAttrs.finalPackage;
};
ilp64 = hypre.override { isILP64 = true; };
single = hypre.override { precision = "single"; };
serial = hypre.override { mpiSupport = false; };
};
};
meta = {
description = "Parallel solvers for sparse linear systems featuring multigrid methods";
homepage = "https://computing.llnl.gov/projects/hypre-scalable-linear-solvers-multigrid-methods";
platforms = platforms.unix;
license = licenses.mit;
maintainers = with maintainers; [ mkez ];
platforms = lib.platforms.unix;
license = with lib.licenses; [
asl20
mit
];
maintainers = with lib.maintainers; [
mkez
qbisi
];
};
})
+2 -2
View File
@@ -9,13 +9,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "hyprlang";
version = "0.6.6";
version = "0.6.7";
src = fetchFromGitHub {
owner = "hyprwm";
repo = "hyprlang";
rev = "v${finalAttrs.version}";
hash = "sha256-APyQ4L05EHRbQFS1t7nXex4u+g9Sh8J70W80djOnmI4=";
hash = "sha256-54ltTSbI6W+qYGMchAgCR6QnC1kOdKXN6X6pJhOWxFg=";
};
nativeBuildInputs = [

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