Merge a0753c1e29 into haskell-updates
This commit is contained in:
@@ -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.
|
||||
|
||||
|
||||
@@ -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}
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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} - -"
|
||||
|
||||
@@ -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}"
|
||||
];
|
||||
};
|
||||
|
||||
@@ -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);
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -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}";
|
||||
|
||||
@@ -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 = {
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
@@ -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")
|
||||
'';
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
@@ -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 = ''
|
||||
|
||||
@@ -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 = ''
|
||||
|
||||
@@ -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;
|
||||
|
||||
+2
-2
@@ -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 = [
|
||||
|
||||
@@ -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.";
|
||||
}
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
Generated
+7087
File diff suppressed because it is too large
Load Diff
@@ -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"
|
||||
];
|
||||
};
|
||||
})
|
||||
@@ -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;
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
@@ -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,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 ];
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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/" ];
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 = ''
|
||||
|
||||
@@ -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 = [ "." ];
|
||||
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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 = ''
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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}"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 = ''
|
||||
|
||||
@@ -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=";
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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=";
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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=";
|
||||
|
||||
@@ -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=";
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
];
|
||||
};
|
||||
})
|
||||
@@ -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 = [
|
||||
"."
|
||||
|
||||
@@ -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; [
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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=";
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 = ''
|
||||
|
||||
@@ -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
@@ -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=";
|
||||
|
||||
@@ -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.");
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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
|
||||
];
|
||||
};
|
||||
})
|
||||
|
||||
@@ -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
Reference in New Issue
Block a user