Merge master into haskell-updates
This commit is contained in:
commit
e35d582350
@ -1417,6 +1417,11 @@
|
||||
fingerprint = "BF8B F725 DA30 E53E 7F11 4ED8 AAA5 0652 F047 9205";
|
||||
}];
|
||||
};
|
||||
appsforartists = {
|
||||
github = "appsforartists";
|
||||
githubId = 926648;
|
||||
name = "Brenton Simpson";
|
||||
};
|
||||
apraga = {
|
||||
email = "alexis.praga@proton.me";
|
||||
github = "apraga";
|
||||
@ -3536,6 +3541,12 @@
|
||||
githubId = 46303707;
|
||||
name = "Christian Lütke-Stetzkamp";
|
||||
};
|
||||
clr-cera = {
|
||||
email = "clrcera05@gmail.com";
|
||||
github = "clr-cera";
|
||||
githubId = 93736542;
|
||||
name = "Clr";
|
||||
};
|
||||
cmacrae = {
|
||||
email = "hi@cmacr.ae";
|
||||
github = "cmacrae";
|
||||
@ -4687,6 +4698,16 @@
|
||||
githubId = 32810399;
|
||||
name = "Diffumist";
|
||||
};
|
||||
diogotcorreia = {
|
||||
name = "Diogo Correia";
|
||||
email = "me@diogotc.com";
|
||||
matrix = "@dtc:diogotc.com";
|
||||
github = "diogotcorreia";
|
||||
githubId = 7467891;
|
||||
keys = [{
|
||||
fingerprint = "111F 91B7 5F61 99D8 985B 4C70 12CF 31FD FF17 2B77";
|
||||
}];
|
||||
};
|
||||
diogox = {
|
||||
name = "Diogo Xavier";
|
||||
github = "diogox";
|
||||
@ -11363,6 +11384,12 @@
|
||||
githubId = 1651325;
|
||||
name = "maralorn";
|
||||
};
|
||||
marble = {
|
||||
email = "nixpkgs@computer-in.love";
|
||||
github = "cyber-murmel";
|
||||
githubId = 30078229;
|
||||
name = "marble";
|
||||
};
|
||||
marcovergueira = {
|
||||
email = "vergueira.marco@gmail.com";
|
||||
github = "marcovergueira";
|
||||
|
@ -152,6 +152,8 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
|
||||
The module now includes an optional config check, that is enabled by default, to make the change obvious before any deployment.
|
||||
More information about the configuration syntax change is available in the [upstream repository](https://github.com/prometheus/snmp_exporter/blob/b75fc6b839ee3f3ccbee68bee55f1ae99555084a/auth-split-migration.md).
|
||||
|
||||
- [watchdogd](https://troglobit.com/projects/watchdogd/), a system and process supervisor using watchdog timers. Available as [services.watchdogd](#opt-services.watchdogd.enable).
|
||||
|
||||
## Other Notable Changes {#sec-release-24.05-notable-changes}
|
||||
|
||||
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
|
||||
@ -209,6 +211,8 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
|
||||
- `services.zfs.zed.enableMail` now uses the global `sendmail` wrapper defined by an email module
|
||||
(such as msmtp or Postfix). It no longer requires using a special ZFS build with email support.
|
||||
|
||||
- `nextcloud-setup.service` no longer changes the group of each file & directory inside `/var/lib/nextcloud/{config,data,store-apps}` if one of these directories has the wrong owner group. This was part of transitioning the group used for `/var/lib/nextcloud`, but isn't necessary anymore.
|
||||
|
||||
- The `krb5` module has been rewritten and moved to `security.krb5`, moving all options but `security.krb5.enable` and `security.krb5.package` into `security.krb5.settings`.
|
||||
|
||||
- Gitea 1.21 upgrade has several breaking changes, including:
|
||||
|
@ -849,6 +849,7 @@
|
||||
./services/monitoring/vmagent.nix
|
||||
./services/monitoring/vmalert.nix
|
||||
./services/monitoring/vnstat.nix
|
||||
./services/monitoring/watchdogd.nix
|
||||
./services/monitoring/zabbix-agent.nix
|
||||
./services/monitoring/zabbix-proxy.nix
|
||||
./services/monitoring/zabbix-server.nix
|
||||
|
@ -897,10 +897,10 @@ in {
|
||||
certs = attrValues cfg.certs;
|
||||
in [
|
||||
{
|
||||
assertion = cfg.email != null || all (certOpts: certOpts.email != null) certs;
|
||||
assertion = cfg.defaults.email != null || all (certOpts: certOpts.email != null) certs;
|
||||
message = ''
|
||||
You must define `security.acme.certs.<name>.email` or
|
||||
`security.acme.email` to register with the CA. Note that using
|
||||
`security.acme.defaults.email` to register with the CA. Note that using
|
||||
many different addresses for certs may trigger account rate limits.
|
||||
'';
|
||||
}
|
||||
|
@ -153,6 +153,7 @@ with lib;
|
||||
type = types.attrs;
|
||||
description = lib.mdDoc ''
|
||||
Modify the systemd service. Can be used to, e.g., adjust the sandboxing options.
|
||||
See {manpage}`systemd.exec(5)` for more options.
|
||||
'';
|
||||
example = {
|
||||
ProtectHome = false;
|
||||
|
@ -15,25 +15,6 @@ let
|
||||
fi
|
||||
'';
|
||||
|
||||
desktopApplicationFile = pkgs.writeTextFile {
|
||||
name = "emacsclient.desktop";
|
||||
destination = "/share/applications/emacsclient.desktop";
|
||||
text = ''
|
||||
[Desktop Entry]
|
||||
Name=Emacsclient
|
||||
GenericName=Text Editor
|
||||
Comment=Edit text
|
||||
MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++;
|
||||
Exec=emacseditor %F
|
||||
Icon=emacs
|
||||
Type=Application
|
||||
Terminal=false
|
||||
Categories=Development;TextEditor;
|
||||
StartupWMClass=Emacs
|
||||
Keywords=Text;Editor;
|
||||
'';
|
||||
};
|
||||
|
||||
in
|
||||
{
|
||||
|
||||
@ -102,7 +83,7 @@ in
|
||||
wantedBy = if cfg.startWithGraphical then [ "graphical-session.target" ] else [ "default.target" ];
|
||||
};
|
||||
|
||||
environment.systemPackages = [ cfg.package editorScript desktopApplicationFile ];
|
||||
environment.systemPackages = [ cfg.package editorScript ];
|
||||
|
||||
environment.variables.EDITOR = mkIf cfg.defaultEditor (mkOverride 900 "emacseditor");
|
||||
};
|
||||
|
@ -119,9 +119,10 @@ let
|
||||
''
|
||||
plugin {
|
||||
sieve_plugins = ${concatStringsSep " " cfg.sieve.plugins}
|
||||
sieve_extensions = ${concatStringsSep " " (map (el: "+${el}") cfg.sieve.extensions)}
|
||||
sieve_global_extensions = ${concatStringsSep " " (map (el: "+${el}") cfg.sieve.globalExtensions)}
|
||||
''
|
||||
(optionalString (cfg.sieve.extensions != []) ''sieve_extensions = ${concatMapStringsSep " " (el: "+${el}") cfg.sieve.extensions}'')
|
||||
(optionalString (cfg.sieve.globalExtensions != []) ''sieve_global_extensions = ${concatMapStringsSep " " (el: "+${el}") cfg.sieve.globalExtensions}'')
|
||||
|
||||
(optionalString (cfg.imapsieve.mailbox != []) ''
|
||||
${
|
||||
concatStringsSep "\n" (flatten (imap1 (
|
||||
|
@ -230,7 +230,10 @@ in
|
||||
description = "Self-contained authentication service";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network.target" ];
|
||||
serviceConfig.ExecStart = "${cfg.package.out}/bin/portunus-orchestrator";
|
||||
serviceConfig = {
|
||||
ExecStart = "${cfg.package}/bin/portunus-orchestrator";
|
||||
Restart = "on-failure";
|
||||
};
|
||||
environment = {
|
||||
PORTUNUS_LDAP_SUFFIX = cfg.ldap.suffix;
|
||||
PORTUNUS_SERVER_BINARY = "${cfg.package}/bin/portunus-server";
|
||||
|
131
nixos/modules/services/monitoring/watchdogd.nix
Normal file
131
nixos/modules/services/monitoring/watchdogd.nix
Normal file
@ -0,0 +1,131 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
with lib;
|
||||
let
|
||||
cfg = config.services.watchdogd;
|
||||
|
||||
mkPluginOpts = plugin: defWarn: defCrit: {
|
||||
enabled = mkEnableOption "watchdogd plugin ${plugin}";
|
||||
interval = mkOption {
|
||||
type = types.ints.unsigned;
|
||||
default = 300;
|
||||
description = ''
|
||||
Amount of seconds between every poll.
|
||||
'';
|
||||
};
|
||||
logmark = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Whether to log current stats every poll interval.
|
||||
'';
|
||||
};
|
||||
warning = mkOption {
|
||||
type = types.numbers.nonnegative;
|
||||
default = defWarn;
|
||||
description = ''
|
||||
The high watermark level. Alert sent to log.
|
||||
'';
|
||||
};
|
||||
critical = mkOption {
|
||||
type = types.numbers.nonnegative;
|
||||
default = defCrit;
|
||||
description = ''
|
||||
The critical watermark level. Alert sent to log, followed by reboot or script action.
|
||||
'';
|
||||
};
|
||||
};
|
||||
in {
|
||||
options.services.watchdogd = {
|
||||
enable = mkEnableOption "watchdogd, an advanced system & process supervisor";
|
||||
package = mkPackageOption pkgs "watchdogd" { };
|
||||
|
||||
settings = mkOption {
|
||||
type = with types; submodule {
|
||||
freeformType = let
|
||||
valueType = oneOf [
|
||||
bool
|
||||
int
|
||||
float
|
||||
str
|
||||
];
|
||||
in attrsOf (either valueType (attrsOf valueType));
|
||||
|
||||
options = {
|
||||
timeout = mkOption {
|
||||
type = types.ints.unsigned;
|
||||
default = 15;
|
||||
description = ''
|
||||
The WDT timeout before reset.
|
||||
'';
|
||||
};
|
||||
interval = mkOption {
|
||||
type = types.ints.unsigned;
|
||||
default = 5;
|
||||
description = ''
|
||||
The kick interval, i.e. how often {manpage}`watchdogd(8)` should reset the WDT timer.
|
||||
'';
|
||||
};
|
||||
|
||||
safe-exit = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
With {var}`safeExit` enabled, the daemon will ask the driver to disable the WDT before exiting.
|
||||
However, some WDT drivers (or hardware) may not support this.
|
||||
'';
|
||||
};
|
||||
|
||||
filenr = mkPluginOpts "filenr" 0.9 1.0;
|
||||
|
||||
loadavg = mkPluginOpts "loadavg" 1.0 2.0;
|
||||
|
||||
meminfo = mkPluginOpts "meminfo" 0.9 0.95;
|
||||
};
|
||||
};
|
||||
default = { };
|
||||
description = ''
|
||||
Configuration to put in {file}`watchdogd.conf`.
|
||||
See {manpage}`watchdogd.conf(5)` for more details.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = let
|
||||
toConfig = attrs: concatStringsSep "\n" (mapAttrsToList toValue attrs);
|
||||
|
||||
toValue = name: value:
|
||||
if isAttrs value
|
||||
then pipe value [
|
||||
(mapAttrsToList toValue)
|
||||
(map (s: " ${s}"))
|
||||
(concatStringsSep "\n")
|
||||
(s: "${name} {\n${s}\n}")
|
||||
]
|
||||
else if isBool value
|
||||
then "${name} = ${boolToString value}"
|
||||
else if any (f: f value) [isString isInt isFloat]
|
||||
then "${name} = ${toString value}"
|
||||
else throw ''
|
||||
Found invalid type in `services.watchdogd.settings`: '${typeOf value}'
|
||||
'';
|
||||
|
||||
watchdogdConf = pkgs.writeText "watchdogd.conf" (toConfig cfg.settings);
|
||||
in mkIf cfg.enable {
|
||||
environment.systemPackages = [ cfg.package ];
|
||||
|
||||
systemd.services.watchdogd = {
|
||||
documentation = [
|
||||
"man:watchdogd(8)"
|
||||
"man:watchdogd.conf(5)"
|
||||
];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
description = "Advanced system & process supervisor";
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
ExecStart = "${cfg.package}/bin/watchdogd -n -f ${watchdogdConf}";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
meta.maintainers = with maintainers; [ vifino ];
|
||||
}
|
@ -164,7 +164,10 @@ in
|
||||
systemd.services.cloud-init-local = {
|
||||
description = "Initial cloud-init job (pre-networking)";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
before = [ "systemd-networkd.service" ];
|
||||
# In certain environments (AWS for example), cloud-init-local will
|
||||
# first configure an IP through DHCP, and later delete it.
|
||||
# This can cause race conditions with anything else trying to set IP through DHCP.
|
||||
before = [ "systemd-networkd.service" "dhcpcd.service" ];
|
||||
path = path;
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
|
@ -99,11 +99,101 @@ let
|
||||
mysqlLocal = cfg.database.createLocally && cfg.config.dbtype == "mysql";
|
||||
pgsqlLocal = cfg.database.createLocally && cfg.config.dbtype == "pgsql";
|
||||
|
||||
# https://github.com/nextcloud/documentation/pull/11179
|
||||
ocmProviderIsNotAStaticDirAnymore = versionAtLeast cfg.package.version "27.1.2"
|
||||
|| (versionOlder cfg.package.version "27.0.0"
|
||||
&& versionAtLeast cfg.package.version "26.0.8");
|
||||
nextcloudGreaterOrEqualThan = versionAtLeast cfg.package.version;
|
||||
nextcloudOlderThan = versionOlder cfg.package.version;
|
||||
|
||||
# https://github.com/nextcloud/documentation/pull/11179
|
||||
ocmProviderIsNotAStaticDirAnymore = nextcloudGreaterOrEqualThan "27.1.2"
|
||||
|| (nextcloudOlderThan "27.0.0" && nextcloudGreaterOrEqualThan "26.0.8");
|
||||
|
||||
overrideConfig = let
|
||||
c = cfg.config;
|
||||
requiresReadSecretFunction = c.dbpassFile != null || c.objectstore.s3.enable;
|
||||
objectstoreConfig = let s3 = c.objectstore.s3; in optionalString s3.enable ''
|
||||
'objectstore' => [
|
||||
'class' => '\\OC\\Files\\ObjectStore\\S3',
|
||||
'arguments' => [
|
||||
'bucket' => '${s3.bucket}',
|
||||
'autocreate' => ${boolToString s3.autocreate},
|
||||
'key' => '${s3.key}',
|
||||
'secret' => nix_read_secret('${s3.secretFile}'),
|
||||
${optionalString (s3.hostname != null) "'hostname' => '${s3.hostname}',"}
|
||||
${optionalString (s3.port != null) "'port' => ${toString s3.port},"}
|
||||
'use_ssl' => ${boolToString s3.useSsl},
|
||||
${optionalString (s3.region != null) "'region' => '${s3.region}',"}
|
||||
'use_path_style' => ${boolToString s3.usePathStyle},
|
||||
${optionalString (s3.sseCKeyFile != null) "'sse_c_key' => nix_read_secret('${s3.sseCKeyFile}'),"}
|
||||
],
|
||||
]
|
||||
'';
|
||||
showAppStoreSetting = cfg.appstoreEnable != null || cfg.extraApps != {};
|
||||
renderedAppStoreSetting =
|
||||
let
|
||||
x = cfg.appstoreEnable;
|
||||
in
|
||||
if x == null then "false"
|
||||
else boolToString x;
|
||||
mkAppStoreConfig = name: { enabled, writable, ... }: optionalString enabled ''
|
||||
[ 'path' => '${webroot}/${name}', 'url' => '/${name}', 'writable' => ${boolToString writable} ],
|
||||
'';
|
||||
in pkgs.writeText "nextcloud-config.php" ''
|
||||
<?php
|
||||
${optionalString requiresReadSecretFunction ''
|
||||
function nix_read_secret($file) {
|
||||
if (!file_exists($file)) {
|
||||
throw new \RuntimeException(sprintf(
|
||||
"Cannot start Nextcloud, secret file %s set by NixOS doesn't seem to "
|
||||
. "exist! Please make sure that the file exists and has appropriate "
|
||||
. "permissions for user & group 'nextcloud'!",
|
||||
$file
|
||||
));
|
||||
}
|
||||
return trim(file_get_contents($file));
|
||||
}''}
|
||||
function nix_decode_json_file($file, $error) {
|
||||
if (!file_exists($file)) {
|
||||
throw new \RuntimeException(sprintf($error, $file));
|
||||
}
|
||||
$decoded = json_decode(file_get_contents($file), true);
|
||||
|
||||
if (json_last_error() !== JSON_ERROR_NONE) {
|
||||
throw new \RuntimeException(sprintf("Cannot decode %s, because: %s", $file, json_last_error_msg()));
|
||||
}
|
||||
|
||||
return $decoded;
|
||||
}
|
||||
$CONFIG = [
|
||||
'apps_paths' => [
|
||||
${concatStrings (mapAttrsToList mkAppStoreConfig appStores)}
|
||||
],
|
||||
${optionalString (showAppStoreSetting) "'appstoreenabled' => ${renderedAppStoreSetting},"}
|
||||
${optionalString cfg.caching.apcu "'memcache.local' => '\\OC\\Memcache\\APCu',"}
|
||||
${optionalString (c.dbname != null) "'dbname' => '${c.dbname}',"}
|
||||
${optionalString (c.dbhost != null) "'dbhost' => '${c.dbhost}',"}
|
||||
${optionalString (c.dbuser != null) "'dbuser' => '${c.dbuser}',"}
|
||||
${optionalString (c.dbtableprefix != null) "'dbtableprefix' => '${toString c.dbtableprefix}',"}
|
||||
${optionalString (c.dbpassFile != null) ''
|
||||
'dbpassword' => nix_read_secret(
|
||||
"${c.dbpassFile}"
|
||||
),
|
||||
''
|
||||
}
|
||||
'dbtype' => '${c.dbtype}',
|
||||
${objectstoreConfig}
|
||||
];
|
||||
|
||||
$CONFIG = array_replace_recursive($CONFIG, nix_decode_json_file(
|
||||
"${jsonFormat.generate "nextcloud-extraOptions.json" cfg.extraOptions}",
|
||||
"impossible: this should never happen (decoding generated extraOptions file %s failed)"
|
||||
));
|
||||
|
||||
${optionalString (cfg.secretFile != null) ''
|
||||
$CONFIG = array_replace_recursive($CONFIG, nix_decode_json_file(
|
||||
"${cfg.secretFile}",
|
||||
"Cannot start Nextcloud, secrets file %s set by NixOS doesn't exist!"
|
||||
));
|
||||
''}
|
||||
'';
|
||||
in {
|
||||
|
||||
imports = [
|
||||
@ -787,107 +877,23 @@ in {
|
||||
timerConfig.Unit = "nextcloud-cron.service";
|
||||
};
|
||||
|
||||
systemd.tmpfiles.rules = ["d ${cfg.home} 0750 nextcloud nextcloud"];
|
||||
systemd.tmpfiles.rules = map (dir: "d ${dir} 0750 nextcloud nextcloud - -") [
|
||||
"${cfg.home}"
|
||||
"${datadir}/config"
|
||||
"${datadir}/data"
|
||||
"${cfg.home}/store-apps"
|
||||
] ++ [
|
||||
"L+ ${datadir}/config/override.config.php - - - - ${overrideConfig}"
|
||||
];
|
||||
|
||||
systemd.services = {
|
||||
# When upgrading the Nextcloud package, Nextcloud can report errors such as
|
||||
# "The files of the app [all apps in /var/lib/nextcloud/apps] were not replaced correctly"
|
||||
# Restarting phpfpm on Nextcloud package update fixes these issues (but this is a workaround).
|
||||
phpfpm-nextcloud.restartTriggers = [ webroot ];
|
||||
phpfpm-nextcloud.restartTriggers = [ webroot overrideConfig ];
|
||||
|
||||
nextcloud-setup = let
|
||||
c = cfg.config;
|
||||
requiresReadSecretFunction = c.dbpassFile != null || c.objectstore.s3.enable;
|
||||
objectstoreConfig = let s3 = c.objectstore.s3; in optionalString s3.enable ''
|
||||
'objectstore' => [
|
||||
'class' => '\\OC\\Files\\ObjectStore\\S3',
|
||||
'arguments' => [
|
||||
'bucket' => '${s3.bucket}',
|
||||
'autocreate' => ${boolToString s3.autocreate},
|
||||
'key' => '${s3.key}',
|
||||
'secret' => nix_read_secret('${s3.secretFile}'),
|
||||
${optionalString (s3.hostname != null) "'hostname' => '${s3.hostname}',"}
|
||||
${optionalString (s3.port != null) "'port' => ${toString s3.port},"}
|
||||
'use_ssl' => ${boolToString s3.useSsl},
|
||||
${optionalString (s3.region != null) "'region' => '${s3.region}',"}
|
||||
'use_path_style' => ${boolToString s3.usePathStyle},
|
||||
${optionalString (s3.sseCKeyFile != null) "'sse_c_key' => nix_read_secret('${s3.sseCKeyFile}'),"}
|
||||
],
|
||||
]
|
||||
'';
|
||||
|
||||
showAppStoreSetting = cfg.appstoreEnable != null || cfg.extraApps != {};
|
||||
renderedAppStoreSetting =
|
||||
let
|
||||
x = cfg.appstoreEnable;
|
||||
in
|
||||
if x == null then "false"
|
||||
else boolToString x;
|
||||
|
||||
nextcloudGreaterOrEqualThan = req: versionAtLeast cfg.package.version req;
|
||||
|
||||
mkAppStoreConfig = name: { enabled, writable, ... }: optionalString enabled ''
|
||||
[ 'path' => '${webroot}/${name}', 'url' => '/${name}', 'writable' => ${boolToString writable} ],
|
||||
'';
|
||||
|
||||
overrideConfig = pkgs.writeText "nextcloud-config.php" ''
|
||||
<?php
|
||||
${optionalString requiresReadSecretFunction ''
|
||||
function nix_read_secret($file) {
|
||||
if (!file_exists($file)) {
|
||||
throw new \RuntimeException(sprintf(
|
||||
"Cannot start Nextcloud, secret file %s set by NixOS doesn't seem to "
|
||||
. "exist! Please make sure that the file exists and has appropriate "
|
||||
. "permissions for user & group 'nextcloud'!",
|
||||
$file
|
||||
));
|
||||
}
|
||||
return trim(file_get_contents($file));
|
||||
}''}
|
||||
function nix_decode_json_file($file, $error) {
|
||||
if (!file_exists($file)) {
|
||||
throw new \RuntimeException(sprintf($error, $file));
|
||||
}
|
||||
$decoded = json_decode(file_get_contents($file), true);
|
||||
|
||||
if (json_last_error() !== JSON_ERROR_NONE) {
|
||||
throw new \RuntimeException(sprintf("Cannot decode %s, because: %s", $file, json_last_error_msg()));
|
||||
}
|
||||
|
||||
return $decoded;
|
||||
}
|
||||
$CONFIG = [
|
||||
'apps_paths' => [
|
||||
${concatStrings (mapAttrsToList mkAppStoreConfig appStores)}
|
||||
],
|
||||
${optionalString (showAppStoreSetting) "'appstoreenabled' => ${renderedAppStoreSetting},"}
|
||||
${optionalString cfg.caching.apcu "'memcache.local' => '\\OC\\Memcache\\APCu',"}
|
||||
${optionalString (c.dbname != null) "'dbname' => '${c.dbname}',"}
|
||||
${optionalString (c.dbhost != null) "'dbhost' => '${c.dbhost}',"}
|
||||
${optionalString (c.dbuser != null) "'dbuser' => '${c.dbuser}',"}
|
||||
${optionalString (c.dbtableprefix != null) "'dbtableprefix' => '${toString c.dbtableprefix}',"}
|
||||
${optionalString (c.dbpassFile != null) ''
|
||||
'dbpassword' => nix_read_secret(
|
||||
"${c.dbpassFile}"
|
||||
),
|
||||
''
|
||||
}
|
||||
'dbtype' => '${c.dbtype}',
|
||||
${objectstoreConfig}
|
||||
];
|
||||
|
||||
$CONFIG = array_replace_recursive($CONFIG, nix_decode_json_file(
|
||||
"${jsonFormat.generate "nextcloud-extraOptions.json" cfg.extraOptions}",
|
||||
"impossible: this should never happen (decoding generated extraOptions file %s failed)"
|
||||
));
|
||||
|
||||
${optionalString (cfg.secretFile != null) ''
|
||||
$CONFIG = array_replace_recursive($CONFIG, nix_decode_json_file(
|
||||
"${cfg.secretFile}",
|
||||
"Cannot start Nextcloud, secrets file %s set by NixOS doesn't exist!"
|
||||
));
|
||||
''}
|
||||
'';
|
||||
occInstallCmd = let
|
||||
mkExport = { arg, value }: "export ${arg}=${value}";
|
||||
dbpass = {
|
||||
@ -932,6 +938,7 @@ in {
|
||||
after = optional mysqlLocal "mysql.service" ++ optional pgsqlLocal "postgresql.service";
|
||||
requires = optional mysqlLocal "mysql.service" ++ optional pgsqlLocal "postgresql.service";
|
||||
path = [ occ ];
|
||||
restartTriggers = [ overrideConfig ];
|
||||
script = ''
|
||||
${optionalString (c.dbpassFile != null) ''
|
||||
if [ ! -r "${c.dbpassFile}" ]; then
|
||||
@ -959,18 +966,6 @@ in {
|
||||
fi
|
||||
'') [ "nix-apps" "apps" ]}
|
||||
|
||||
# create nextcloud directories.
|
||||
# if the directories exist already with wrong permissions, we fix that
|
||||
for dir in ${datadir}/config ${datadir}/data ${cfg.home}/store-apps; do
|
||||
if [ ! -e $dir ]; then
|
||||
install -o nextcloud -g nextcloud -d $dir
|
||||
elif [ $(stat -c "%G" $dir) != "nextcloud" ]; then
|
||||
chgrp -R nextcloud $dir
|
||||
fi
|
||||
done
|
||||
|
||||
ln -sf ${overrideConfig} ${datadir}/config/override.config.php
|
||||
|
||||
# Do not install if already installed
|
||||
if [[ ! -e ${datadir}/config/config.php ]]; then
|
||||
${occInstallCmd}
|
||||
|
@ -95,6 +95,29 @@ in
|
||||
'';
|
||||
};
|
||||
|
||||
services.resolved.dnsovertls = mkOption {
|
||||
default = "false";
|
||||
example = "true";
|
||||
type = types.enum [ "true" "opportunistic" "false" ];
|
||||
description = lib.mdDoc ''
|
||||
If set to
|
||||
- `"true"`:
|
||||
all DNS lookups will be encrypted. This requires
|
||||
that the DNS server supports DNS-over-TLS and
|
||||
has a valid certificate. If the hostname was specified
|
||||
via the `address#hostname` format in {option}`services.resolved.domains`
|
||||
then the specified hostname is used to validate its certificate.
|
||||
- `"opportunistic"`:
|
||||
all DNS lookups will attempt to be encrypted, but will fallback
|
||||
to unecrypted requests if the server does not support DNS-over-TLS.
|
||||
Note that this mode does allow for a malicious party to conduct a
|
||||
downgrade attack by immitating the DNS server and pretending to not
|
||||
support encryption.
|
||||
- `"false"`:
|
||||
all DNS lookups are done unencrypted.
|
||||
'';
|
||||
};
|
||||
|
||||
services.resolved.extraConfig = mkOption {
|
||||
default = "";
|
||||
type = types.lines;
|
||||
@ -141,6 +164,7 @@ in
|
||||
"Domains=${concatStringsSep " " cfg.domains}"}
|
||||
LLMNR=${cfg.llmnr}
|
||||
DNSSEC=${cfg.dnssec}
|
||||
DNSOverTLS=${cfg.dnsovertls}
|
||||
${config.services.resolved.extraConfig}
|
||||
'';
|
||||
|
||||
|
@ -944,6 +944,7 @@ in {
|
||||
vsftpd = handleTest ./vsftpd.nix {};
|
||||
warzone2100 = handleTest ./warzone2100.nix {};
|
||||
wasabibackend = handleTest ./wasabibackend.nix {};
|
||||
watchdogd = handleTest ./watchdogd.nix {};
|
||||
webhook = runTest ./webhook.nix;
|
||||
wiki-js = handleTest ./wiki-js.nix {};
|
||||
wine = handleTest ./wine.nix {};
|
||||
|
@ -73,6 +73,7 @@ in makeTest {
|
||||
};
|
||||
testScript = ''
|
||||
# To wait until cloud-init terminates its run
|
||||
unnamed.wait_for_unit("cloud-init-local.service")
|
||||
unnamed.wait_for_unit("cloud-final.service")
|
||||
|
||||
unnamed.succeed("cat /tmp/cloudinit-write-file | grep -q 'cloudinit'")
|
||||
|
@ -31,7 +31,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
|
||||
enable-x11=
|
||||
|
||||
ctrl-alt=t:foot --maximized
|
||||
ctrl-alt=a:env WINIT_UNIX_BACKEND=x11 WAYLAND_DISPLAY=invalid alacritty --option window.startup_mode=maximized
|
||||
ctrl-alt=a:env WINIT_UNIX_BACKEND=x11 WAYLAND_DISPLAY= alacritty --option window.startup_mode=\"maximized\"
|
||||
|
||||
shell-component=dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY
|
||||
|
||||
|
22
nixos/tests/watchdogd.nix
Normal file
22
nixos/tests/watchdogd.nix
Normal file
@ -0,0 +1,22 @@
|
||||
import ./make-test-python.nix ({ lib, ... }: {
|
||||
name = "watchdogd";
|
||||
meta.maintainers = with lib.maintainers; [ vifino ];
|
||||
|
||||
nodes.machine = { pkgs, ... }: {
|
||||
virtualisation.qemu.options = [
|
||||
"-device i6300esb" # virtual watchdog timer
|
||||
];
|
||||
boot.kernelModules = [ "i6300esb" ];
|
||||
services.watchdogd.enable = true;
|
||||
services.watchdogd.settings = {
|
||||
supervisor.enabled = true;
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
machine.wait_for_unit("watchdogd.service")
|
||||
|
||||
assert "i6300ESB" in machine.succeed("watchdogctl status")
|
||||
machine.succeed("watchdogctl test")
|
||||
'';
|
||||
})
|
@ -18,13 +18,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "gtkcord4";
|
||||
version = "0.0.16-1";
|
||||
version = "0.0.17";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "diamondburned";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-GDQ11X202RIoJUZ2eJ9ukHalhXtKYn9C8lcvAzzaB+4=";
|
||||
hash = "sha256-fvY55N7AyCasT1Nxi37AtbyGQ4qC/764WgfCmwFa1YQ=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@ -56,7 +56,7 @@ buildGoModule rec {
|
||||
install -D -m 444 internal/icons/hicolor/scalable/apps/logo.svg $out/share/icons/hicolor/scalable/apps/gtkcord4.svg
|
||||
'';
|
||||
|
||||
vendorHash = "sha256-ZQBYi5t6ntukoHP2FtwpZrpFd7b2opPC8tOSU9j3jUM=";
|
||||
vendorHash = "sha256-dMrdbUAU87wmnRDlJukG6w4PZ2DKx2v68gxNW5Ewijk=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "GTK4 Discord client in Go, attempt #4";
|
||||
|
@ -20,7 +20,7 @@ let
|
||||
in
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "lyrebird";
|
||||
version = "1.1.0";
|
||||
version = "1.2.0";
|
||||
|
||||
format = "other";
|
||||
doCheck = false;
|
||||
@ -28,8 +28,8 @@ python3Packages.buildPythonApplication rec {
|
||||
src = fetchFromGitHub {
|
||||
owner = "chxrlt";
|
||||
repo = "lyrebird";
|
||||
rev = "v${version}";
|
||||
sha256 = "0wmnww2wi8bb9m8jgc18n04gjia8pf9klmvij0w98xz11l6kxb13";
|
||||
rev = "refs/tags/v${version}";
|
||||
sha256 = "sha256-VIYcOxvSpzRvJMzEv2i5b7t0WMF7aQxB4Y1jfvuZN/Y=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [ toml pygobject3 ];
|
||||
|
@ -2,12 +2,12 @@
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "mopidy-podcast";
|
||||
version = "3.0.0";
|
||||
version = "3.0.1";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit version;
|
||||
pname = "Mopidy-Podcast";
|
||||
sha256 = "1z2b523yvdpcf8p7m7kczrvaw045lmxzhq4qj00dflxa2yw61qxr";
|
||||
sha256 = "sha256-grNPVEVM2PlpYhBXe6sabFjWVB9+q+apIRjcHUxH52A=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -11,13 +11,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "praat";
|
||||
version = "6.4.01";
|
||||
version = "6.4.03";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "praat";
|
||||
repo = "praat";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-6g9oDPcJpI/udX+GKyCUkv+mjGoTbHU2YfTYaTVRwu4=";
|
||||
hash = "sha256-eiZBe/tBX5ax23jsj1AY9O2BBLvEyiDQ6WS1ZtOBQNU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -5,11 +5,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "snd";
|
||||
version = "23.9";
|
||||
version = "24.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/snd/snd-${version}.tar.gz";
|
||||
sha256 = "sha256-2iuY0kjLEVKTK4N1s+mBEt7+RlbK4rm6RFpWq08i6RY=";
|
||||
sha256 = "sha256-DU7AtPoLH+WXXsmree8GbHePvNYmPP7MxYSfhEzgOtU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "besu";
|
||||
version = "23.10.2";
|
||||
version = "23.10.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://hyperledger.jfrog.io/artifactory/${pname}-binaries/${pname}/${version}/${pname}-${version}.tar.gz";
|
||||
sha256 = "sha256-JVgYpcYGejiqi1ZdjzKkmhcqdTah03BnO7t19UgmPCw=";
|
||||
sha256 = "sha256-c8g0zzLHu+JV19jMfKXR6w34QwuRFJNcjc86Z1sqy8I=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
@ -5,11 +5,11 @@
|
||||
|
||||
let
|
||||
pname = "codux";
|
||||
version = "15.17.2";
|
||||
version = "15.18.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/wixplosives/codux-versions/releases/download/${version}/Codux-${version}.x86_64.AppImage";
|
||||
sha256 = "sha256-6y3c9SbRxGhfND0bsMh0yYs7Dy8B23VSjj4qQ/2eBos=";
|
||||
sha256 = "sha256-/U3byPCaeDIFoZX3TY+FbIZQWALOoDEwEtNg6RH86GM=";
|
||||
};
|
||||
|
||||
appimageContents = appimageTools.extractType2 { inherit pname version src; };
|
||||
|
@ -5,13 +5,13 @@
|
||||
|
||||
buildPythonApplication rec {
|
||||
pname = "rednotebook";
|
||||
version = "2.29.3";
|
||||
version = "2.31";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jendrikseipp";
|
||||
repo = "rednotebook";
|
||||
rev = "refs/tags/v${version}";
|
||||
sha256 = "sha256-2qgWJ/bIravil/SuApA7pNXkxS5xUcdFpjVGO/ogDpw=";
|
||||
sha256 = "sha256-TggbHXJqgQ4vFSCLncgzrqJLRT9zQs6YsTQ3/Z4Mixg=";
|
||||
};
|
||||
|
||||
# We have not packaged tests.
|
||||
|
@ -4,13 +4,13 @@ with python3.pkgs;
|
||||
|
||||
buildPythonApplication rec {
|
||||
pname = "thonny";
|
||||
version = "4.1.2";
|
||||
version = "4.1.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = pname;
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-vVDTizU+WDWJ75Ln93TAFYn7PJq5qc3hxVJiNGtK24g=";
|
||||
hash = "sha256-f4wR5OPzWbtSqE+hSW2zD8u3pPl5nPTtGvf2LzOXjI4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ copyDesktopItems ];
|
||||
|
@ -30,21 +30,21 @@ let
|
||||
archive_fmt = if stdenv.isDarwin then "zip" else "tar.gz";
|
||||
|
||||
sha256 = {
|
||||
x86_64-linux = "1z692zp413vgla0ln04rf2fnx0giy2rgglmi6q1jk9b7wmlrsrh1";
|
||||
x86_64-darwin = "00d143mgrx5s7qdsxp93j04wz2xcgm8rkb5gj1a2czjcjvpsyjmv";
|
||||
aarch64-linux = "1b5fjxfgjr7rak23kmnapqbbimd6f7q5fjiwbcclxwyl0cqa0d3j";
|
||||
aarch64-darwin = "0zv81nj767741i9p2i5ac5ql9pm9snz6lg1zqvvw3rps3d5vwysz";
|
||||
armv7l-linux = "11zms120dagscnxrr5xpivcxipbmahf2sy68a4bmcjk1nqnvcsgh";
|
||||
x86_64-linux = "0v702nvv971rwv1grp921ys2d1ig0aq0di7idc1lfikl5ka9b4wa";
|
||||
x86_64-darwin = "1cz1817gy8kx3pkfn80jdgsxmvfyrwiwbmq9mp0079s1zzcdy31k";
|
||||
aarch64-linux = "0bgdiv7nchwlird53r6q5k8ixljaf682w5ki2kx4bgsii83ih4px";
|
||||
aarch64-darwin = "0c5hy5z6k8jjdas7hn29wrmrxwixgrb5jdm1vfdbgqg43sslpgm4";
|
||||
armv7l-linux = "0h8y7mwfhf0ygnywwapblxgiskp9xjh3lpnvwhwbir3bs3v37bhh";
|
||||
}.${system} or throwSystem;
|
||||
in
|
||||
callPackage ./generic.nix rec {
|
||||
# Please backport all compatible updates to the stable release.
|
||||
# This is important for the extension ecosystem.
|
||||
version = "1.85.1";
|
||||
version = "1.85.2";
|
||||
pname = "vscode" + lib.optionalString isInsiders "-insiders";
|
||||
|
||||
# This is used for VS Code - Remote SSH test
|
||||
rev = "0ee08df0cf4527e40edc9aa28f4b5bd38bbff2b2";
|
||||
rev = "8b3775030ed1a69b13e4f4c628c612102e30a681";
|
||||
|
||||
executableName = "code" + lib.optionalString isInsiders "-insiders";
|
||||
longName = "Visual Studio Code" + lib.optionalString isInsiders " - Insiders";
|
||||
@ -68,7 +68,7 @@ in
|
||||
src = fetchurl {
|
||||
name = "vscode-server-${rev}.tar.gz";
|
||||
url = "https://update.code.visualstudio.com/commit:${rev}/server-linux-x64/stable";
|
||||
sha256 = "06672ynsr7bxzkgdi1ghmrb6ki0y1ypmakk7w51r599vi1bjfnr0";
|
||||
sha256 = "1gaq9f4jzdzhfxixb9al5f5pgn1w7lpccacvvy19hq89jzixbix0";
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -653,6 +653,11 @@ in
|
||||
"LLE=1"
|
||||
"WITH_DYNAREC=${stdenv.hostPlatform.parsed.cpu.name}"
|
||||
];
|
||||
# This CXXFLAGS hack works around the GCC 13 error:
|
||||
# 'uint32_t' was not declared in this scope
|
||||
# It can be removed if the issue filed upstream is resolved:
|
||||
# https://github.com/libretro/mupen64plus-libretro-nx/issues/515
|
||||
env.CXXFLAGS = "-include cstdint";
|
||||
meta = {
|
||||
description = "Libretro port of Mupen64 Plus, GL only";
|
||||
license = lib.licenses.gpl3Only;
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "sameboy";
|
||||
version = "0.16";
|
||||
version = "0.16.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "LIJI32";
|
||||
repo = "SameBoy";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-sQVTCHOSc2N+Qs/rl0DfsUzg7P5Egws2UuNBQ9fpkoQ=";
|
||||
sha256 = "sha256-0B9wN6CTx4T3P7RomOrz/bRdp/YGknPqmwWByAbGHvI=";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "clifm";
|
||||
version = "1.15";
|
||||
version = "1.16";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "leo-arch";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-4Z2u1APNfJ9Ai95MMWb5FCUgCA2Hrbp+5eBJZD3tN+U=";
|
||||
sha256 = "sha256-tjxsJv5w0Rvk2XYisncytcRdZLRnOSDJmNJN4kkzr7U=";
|
||||
};
|
||||
|
||||
buildInputs = [ libcap acl file readline python3];
|
||||
@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
|
||||
homepage = "https://github.com/leo-arch/clifm";
|
||||
description = "CliFM is a CLI-based, shell-like, and non-curses terminal file manager written in C: simple, fast, extensible, and lightweight as hell";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ ];
|
||||
maintainers = with maintainers; [ nadir-ishiguro ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
|
@ -16,11 +16,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "xfe";
|
||||
version = "1.45";
|
||||
version = "1.46";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/xfe/xfe-${version}.tar.xz";
|
||||
sha256 = "sha256-RmvVUzqCsRRwXgC4Yabt46uFHnL0XFWncQfXDG+owDc=";
|
||||
sha256 = "sha256-80rtoetmipDObW8BHL2US7305Jo5TFrQrIg6DzLoR/k=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config intltool ];
|
||||
|
@ -12,14 +12,14 @@
|
||||
|
||||
python3Packages.buildPythonPackage rec {
|
||||
pname = "hydrus";
|
||||
version = "557";
|
||||
version = "559";
|
||||
format = "other";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hydrusnetwork";
|
||||
repo = "hydrus";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-upijLCj+mxTQ9EO2mfvnfPjqIvRaAqtByeRY/N1ANlU=";
|
||||
hash = "sha256-+aYrqt1sifCe6/qS4kZyx0CLSHEoutFk6cyxmOXmN7Q=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -25,11 +25,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "photoqt";
|
||||
version = "4.1";
|
||||
version = "4.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://photoqt.org/pkgs/photoqt-${version}.tar.gz";
|
||||
hash = "sha256-vxQZFlS4C+Dg9I6BKeMUFOYHz74d28gbhJlIpxSKTvs=";
|
||||
hash = "sha256-OUqsyvmv6ccJDzcWAeS1OOmK2eXOCEgGktz6GEUzoA8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "avrdudess";
|
||||
version = "2.14";
|
||||
version = "2.15";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/ZakKemble/AVRDUDESS/releases/download/v2.14/AVRDUDESS-2.14-portable.zip";
|
||||
sha256 = "sha256-x3xcsJLBJVO8XdV4OUveZ4KLqN5z/z0FsNLbGHSNoHs=";
|
||||
url = "https://github.com/ZakKemble/AVRDUDESS/releases/download/v2.15/AVRDUDESS-2.15-portable.zip";
|
||||
sha256 = "sha256-TILveSFlZOzkd7XpW6haWZzrWTb7f/GMoj+fHNEJYLA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ unzip ];
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "batsignal";
|
||||
version = "1.6.4";
|
||||
version = "1.8.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "electrickite";
|
||||
repo = "batsignal";
|
||||
rev = version;
|
||||
sha256 = "sha256-Z5j5tSIF3AZiZjkFFtyyi3hMqWMXtf6ont2CQ/FSEjk=";
|
||||
sha256 = "sha256-yngd2yP6XtRp8y8ZUd0NISdf8+8wJvpLogrQQMdB0lA=";
|
||||
};
|
||||
|
||||
buildInputs = [ libnotify glib ];
|
||||
|
@ -32,11 +32,11 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "calibre";
|
||||
version = "7.3.0";
|
||||
version = "7.4.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.calibre-ebook.com/${finalAttrs.version}/calibre-${finalAttrs.version}.tar.xz";
|
||||
hash = "sha256-fBdLXSRJMBVfQOfuqOqHzgHS8fXYq2x5J181pKZhASo=";
|
||||
hash = "sha256-xYMz0V3eBKAZNtV/8TqRmaaTQK6LeVRjZ1fakCoUSB8=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
@ -7,16 +7,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "clipcat";
|
||||
version = "0.16.1";
|
||||
version = "0.16.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "xrelkd";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-SqA8UjKTBtkE1IkWGeshI8KBHr86V9r/+YvFZNJ6Oq8=";
|
||||
hash = "sha256-01vjCs9ktDrULPL8IZraMPpa5+cw8vLtt4cKHKxHjK4=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-KU3kXqy9zL7GQdSsCNW7jcsxdTuRXjJyDtBpmgoXi6E=";
|
||||
cargoHash = "sha256-9L6w7adoQflOW5vxkIJf4FLF7xACx36sKaSPjJAtt3Y=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
protobuf
|
||||
|
@ -2,16 +2,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "geoipupdate";
|
||||
version = "6.0.0";
|
||||
version = "6.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "maxmind";
|
||||
repo = "geoipupdate";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-Rm/W3Q5mb+qkrUYqWK83fi1FgO4KoL7+MjTuvhvY/qk=";
|
||||
sha256 = "sha256-/iLWy3yKO34nnn5ygAewR036PzgUGIqdhXNK4fx3Ym8=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-YXybBVGCbdsP2pP7neHWI7KhkpE3tRo9Wpsx1RaEn9w=";
|
||||
vendorHash = "sha256-jW5/09sOUvPZVM1wzL4xg/a14kZ0KsM8e+zEQoADsl4=";
|
||||
|
||||
ldflags = [ "-X main.version=${version}" ];
|
||||
|
||||
|
@ -18,7 +18,7 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "girara";
|
||||
version = "0.4.1";
|
||||
version = "0.4.2";
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
|
||||
owner = "pwmt";
|
||||
repo = "girara";
|
||||
rev = version;
|
||||
sha256 = "sha256-47ff7NBunVvYlCEQN/LwTRG33aButisVvdwxlh28LUM=";
|
||||
hash = "sha256-/9pj6gB46sKIilImDGdJ8H7UHip/z5ckZWZnJLw/0YU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -7,16 +7,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "hyprdim";
|
||||
version = "2.2.2";
|
||||
version = "2.2.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "donovanglover";
|
||||
repo = "hyprdim";
|
||||
rev = version;
|
||||
hash = "sha256-b2T/ueinKiheuK+siV29vJfEsEodq6qT2J3XxvoD/14=";
|
||||
hash = "sha256-Eeh0D3DkC4ureDUE+BXTGcMFNmZ0hLSidlKlL4ZDgsQ=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-Sf32vaqcxVdg6/kDidxBSr5XDWg3aNEBpEl31do2ZJ8=";
|
||||
cargoHash = "sha256-hgcGzRLB1L3yxJjw1ECDJPmbl1W+2OS4KDojclyVYrc=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
installShellFiles
|
||||
|
@ -1,18 +1,19 @@
|
||||
{ lib, stdenv, fetchFromGitHub, cmake, dmenu }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "j4-dmenu-desktop";
|
||||
version = "2.18";
|
||||
version = "unstable-2023-09-12";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "enkore";
|
||||
repo = pname;
|
||||
rev = "r${version}";
|
||||
sha256 = "1gxpgifzy0hnpd0ymw3r32amzr32z3bgb90ldjzl438p6h1q0i26";
|
||||
repo = "j4-dmenu-desktop";
|
||||
rev = "7e3fd045482a8ea70619e422975b52feabc75175";
|
||||
hash = "sha256-8PmfzQkHlEdMbrcQO0bPruP3jaKEcr/17x0/Z7Jedh0=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
sed -e 's,dmenu -i,${dmenu}/bin/dmenu -i,g' -i ./src/Main.hh
|
||||
substituteInPlace src/main.cc \
|
||||
--replace "dmenu -i" "${lib.getExe dmenu} -i"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
@ -24,10 +25,12 @@ stdenv.mkDerivation rec {
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A wrapper for dmenu that recognize .desktop files";
|
||||
changelog = "https://github.com/enkore/j4-dmenu-desktop/blob/${finalAttrs.src.rev}/CHANGELOG";
|
||||
description = "A wrapper for dmenu that recognizes .desktop files";
|
||||
homepage = "https://github.com/enkore/j4-dmenu-desktop";
|
||||
license = licenses.gpl3;
|
||||
license = licenses.gpl3Only;
|
||||
mainProgram = "j4-dmenu-desktop";
|
||||
maintainers = with maintainers; [ ericsagnes ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
@ -6,16 +6,16 @@
|
||||
|
||||
buildNpmPackage rec {
|
||||
pname = "pairdrop";
|
||||
version = "1.10.3";
|
||||
version = "1.7.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "schlagmichdoch";
|
||||
repo = "PairDrop";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-0trhkaxDWk5zlHN/Mtk/RNeeIeXyOg2QcnSO1kTsNqE=";
|
||||
hash = "sha256-AOFATOCLf2KigeqoUzIfNngyeDesNrThRzxFvqtsXBs=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-CjRTHH/2Hz5RZ83/4p//Q2L/CB48yRXSB08QxRox2bI=";
|
||||
npmDepsHash = "sha256-3nKjmC5eizoV/mrKDBhsSlVQxEHyIsWR6KHFwZhBugI=";
|
||||
|
||||
dontNpmBuild = true;
|
||||
|
||||
|
@ -8,13 +8,13 @@ let config-module = "github.com/f1bonacc1/process-compose/src/config";
|
||||
in
|
||||
buildGoModule rec {
|
||||
pname = "process-compose";
|
||||
version = "0.77.8";
|
||||
version = "0.80.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "F1bonacc1";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-9kDKNzehVcf+FF7OZoMdftp+uVoZ0Zu3ML3Tlor7Qc8=";
|
||||
hash = "sha256-9a850AKcHpKaZJ5C7l8y2dz6zHWyoZ7dIdEqtmXN3ww=";
|
||||
# populate values that require us to use git. By doing this in postFetch we
|
||||
# can delete .git afterwards and maintain better reproducibility of the src.
|
||||
leaveDotGit = true;
|
||||
|
@ -2,16 +2,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "timew-sync-server";
|
||||
version = "1.1.0";
|
||||
version = "1.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "timewarrior-synchronize";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-GaDcnPJBcDJ3AQaHzifDgdl0QT4GSbAOIqp4RrAcO3M=";
|
||||
hash = "sha256-3THRP+hydvq/dnxzUOFGeuu8//qL7pFN0RHJVxzgibI=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-iROqiRWkHG6N6kivUmgmu6sg14JDdG4f98BdR7CL1gs=";
|
||||
vendorHash = "sha256-w7I8PDQQeICDPln2Naf6whOg9qqOniTH/xs1/9luIVc=";
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/timewarrior-synchronize/timew-sync-server";
|
||||
|
@ -21,13 +21,13 @@
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "variety";
|
||||
version = "0.8.10";
|
||||
version = "0.8.11";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "varietywalls";
|
||||
repo = "variety";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-Uln0uoaEZgV9FN3HEBTeFOD7d6RkAQLgQZw7bcgu26A=";
|
||||
hash = "sha256-JdfFzlfj1J5gx11MfOqIdzvBiheWBaGLxg5jCvvsrp8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -45,13 +45,13 @@
|
||||
}:
|
||||
buildPythonApplication rec {
|
||||
pname = "visidata";
|
||||
version = "3.0.1";
|
||||
version = "3.0.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "saulpw";
|
||||
repo = "visidata";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-3/ACuUPj0XjbWuA8/iQQAMhLYAv5Lc/5AyyKmqjhBmc=";
|
||||
hash = "sha256-gplrkrFTIP6TLvk1YazD5roDzsPvDtOXLlTOmTio52s=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -6,20 +6,20 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "blocky";
|
||||
version = "0.22";
|
||||
version = "0.23";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "0xERR0R";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-iU7fpTn8sPtglZfqLJ6fVYbHtYp0jqItSpJsvN4iKE8=";
|
||||
hash = "sha256-IB5vi+nFXbV94YFtY2eMKTgzUgX8q8i8soSrso2zaD4=";
|
||||
};
|
||||
|
||||
# needs network connection and fails at
|
||||
# https://github.com/0xERR0R/blocky/blob/development/resolver/upstream_resolver_test.go
|
||||
doCheck = false;
|
||||
|
||||
vendorHash = "sha256-PnqpDAbHCs1wFudYy+nyG+p/E6ig7ZuhbuU4CFFoiyk=";
|
||||
vendorHash = "sha256-h1CkvI7M1kt2Ix3D8+gDl97CFElV+0/9Eram1burOaM=";
|
||||
|
||||
ldflags = [ "-s" "-w" "-X github.com/0xERR0R/blocky/util.Version=${version}" ];
|
||||
|
||||
|
@ -51,11 +51,11 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "opera";
|
||||
version = "106.0.4998.19";
|
||||
version = "106.0.4998.52";
|
||||
|
||||
src = fetchurl {
|
||||
url = "${mirror}/${version}/linux/${pname}-stable_${version}_amd64.deb";
|
||||
hash = "sha256-deZhuxmFP87wEUjbLtsucSvlGTT4KOwhQYbAkpIAQeM=";
|
||||
hash = "sha256-JTnKjK+ccMAef/VZuDpWS+FFDq6lolen0plckcPA+9w=";
|
||||
};
|
||||
|
||||
unpackPhase = "dpkg-deb -x $src .";
|
||||
|
@ -24,7 +24,7 @@ let
|
||||
vivaldiName = if isSnapshot then "vivaldi-snapshot" else "vivaldi";
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "vivaldi";
|
||||
version = "6.5.3206.48";
|
||||
version = "6.5.3206.50";
|
||||
|
||||
suffix = {
|
||||
aarch64-linux = "arm64";
|
||||
@ -34,8 +34,8 @@ in stdenv.mkDerivation rec {
|
||||
src = fetchurl {
|
||||
url = "https://downloads.vivaldi.com/${branch}/vivaldi-${branch}_${version}-1_${suffix}.deb";
|
||||
hash = {
|
||||
aarch64-linux = "sha256-laerVZWB9kNozy0MxYAPXbTjcfgvr+jL18NMP5u7ST0=";
|
||||
x86_64-linux = "sha256-3gRvPSSyJapqay6nePlMA1R/tfFI75mHi+mx3f+wfjQ=";
|
||||
aarch64-linux = "sha256-8Ozhad6aRskhhNqtUQFYLT14JHZnhLnHtuB+SmtwL8g=";
|
||||
x86_64-linux = "sha256-hpWPDnnJGx2pokR1JFe3Uuq299HvsnjKMyg89wAo53I=";
|
||||
}.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
|
||||
};
|
||||
|
||||
|
@ -2,17 +2,17 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "argocd";
|
||||
version = "2.9.3";
|
||||
version = "2.9.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "argoproj";
|
||||
repo = "argo-cd";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-GaY4Cw/LlSwy35umbB4epXt6ev8ya19UjHRwhDwilqU=";
|
||||
hash = "sha256-Os3C4+pdmbUCu1ok4MFFr4OZNdoODf4lFWRd7L9t3mM=";
|
||||
};
|
||||
|
||||
proxyVendor = true; # darwin/linux hash mismatch
|
||||
vendorHash = "sha256-2TNBbxNX4HGdRqbOEDrLBkWgw+0lyIrdxnVcbip3N6c=";
|
||||
vendorHash = "sha256-3IplGJvGFtEYVgPU2/G9XStmGqie+8/gKPlvBI1L4MI=";
|
||||
|
||||
# Set target as ./cmd per cli-local
|
||||
# https://github.com/argoproj/argo-cd/blob/master/Makefile#L227
|
||||
|
@ -6,13 +6,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "glooctl";
|
||||
version = "1.15.18";
|
||||
version = "1.15.19";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "solo-io";
|
||||
repo = "gloo";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-oHwo0I3OFfilLg2tlL0EycTo6BC7LYbzg7dxgfz/XeI=";
|
||||
hash = "sha256-Tv+S0DnYOabtAVrb7W+VHzugGu2Dm2fBYsoz/DwR4xg=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-MrTiZCvYUmdX4sK85jeeQpUupvitH6PfbQ+RfwELaV4=";
|
||||
|
@ -20,9 +20,24 @@ buildGoModule rec {
|
||||
"-X helm.sh/helm/v3/internal/version.gitCommit=${src.rev}"
|
||||
];
|
||||
|
||||
preBuild = ''
|
||||
# set k8s version to client-go version, to match upstream
|
||||
K8S_MODULES_VER="$(go list -f '{{.Version}}' -m k8s.io/client-go)"
|
||||
K8S_MODULES_MAJOR_VER="$(($(cut -d. -f1 <<<"$K8S_MODULES_VER") + 1))"
|
||||
K8S_MODULES_MINOR_VER="$(cut -d. -f2 <<<"$K8S_MODULES_VER")"
|
||||
old_ldflags="''${ldflags}"
|
||||
ldflags="''${ldflags} -X helm.sh/helm/v3/pkg/lint/rules.k8sVersionMajor=''${K8S_MODULES_MAJOR_VER}"
|
||||
ldflags="''${ldflags} -X helm.sh/helm/v3/pkg/lint/rules.k8sVersionMinor=''${K8S_MODULES_MINOR_VER}"
|
||||
ldflags="''${ldflags} -X helm.sh/helm/v3/pkg/chartutil.k8sVersionMajor=''${K8S_MODULES_MAJOR_VER}"
|
||||
ldflags="''${ldflags} -X helm.sh/helm/v3/pkg/chartutil.k8sVersionMinor=''${K8S_MODULES_MINOR_VER}"
|
||||
'';
|
||||
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
||||
preCheck = ''
|
||||
# restore ldflags for tests
|
||||
ldflags="''${old_ldflags}"
|
||||
|
||||
# skipping version tests because they require dot git directory
|
||||
substituteInPlace cmd/helm/version_test.go \
|
||||
--replace "TestVersion" "SkipVersion"
|
||||
|
@ -2,16 +2,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "k8sgpt";
|
||||
version = "0.3.24";
|
||||
version = "0.3.26";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "k8sgpt-ai";
|
||||
repo = "k8sgpt";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-GxZDbG2G+TFd2lPpEqP1hIDXFJDOLh4Y7yZsHodok/c=";
|
||||
hash = "sha256-FUYtBoJAnY8WRh0eABniOgg781UooG67RKTHp1u3SiQ=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-N/Qd51EmvTWy48Pj+UywBCRDG+k2zd6NTzGGm4jNyjQ=";
|
||||
vendorHash = "sha256-sd4QIQQpDyPV4pqk9VJBApzRzjwxMFieCOQQjJzFXHc=";
|
||||
|
||||
CGO_ENABLED = 0;
|
||||
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "roxctl";
|
||||
version = "4.3.2";
|
||||
version = "4.3.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "stackrox";
|
||||
repo = "stackrox";
|
||||
rev = version;
|
||||
sha256 = "sha256-uVpWOUSBbq8r8UBPHHIkn2WVJ0KDX3J0o8cEhn1G9KM=";
|
||||
sha256 = "sha256-G+BmcGrVxZmVHNl2VsN7nankEIB7uV/PFpQekipdT3c=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-Jzv4ozR8RJiwkgVGGq6dlV/7rbBLq8hFe/Pm4SJZCkU=";
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "temporal";
|
||||
version = "1.22.3";
|
||||
version = "1.22.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "temporalio";
|
||||
repo = "temporal";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-iqJzvnueUnIyu3Z6a5Ht90arHaHgM4COCDdZo7Qvzuk=";
|
||||
hash = "sha256-M/2Zm9B2VeA2BKcF7A7R1Y7T61VZiU2uKGwxGgdy4Sg=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-Aum5OsdJ69MkP8tXXGWa6IdouX6F4xKjD/ndAqShMhw=";
|
||||
|
@ -12,25 +12,25 @@ in {
|
||||
|
||||
guiStable = mkGui {
|
||||
channel = "stable";
|
||||
version = "2.2.44.1";
|
||||
hash = "sha256-Ae1Yij81/rhZOMMfLYaQKR4Dxx1gDGZBpBj0gLCSToI=";
|
||||
version = "2.2.45";
|
||||
hash = "sha256-SMnhPz5zTPtidy/BIvauDM60WgDLG+NIr9rdUrQhz0A=";
|
||||
};
|
||||
|
||||
guiPreview = mkGui {
|
||||
channel = "stable";
|
||||
version = "2.2.44.1";
|
||||
hash = "sha256-Ae1Yij81/rhZOMMfLYaQKR4Dxx1gDGZBpBj0gLCSToI=";
|
||||
version = "2.2.45";
|
||||
hash = "sha256-SMnhPz5zTPtidy/BIvauDM60WgDLG+NIr9rdUrQhz0A=";
|
||||
};
|
||||
|
||||
serverStable = mkServer {
|
||||
channel = "stable";
|
||||
version = "2.2.44.1";
|
||||
hash = "sha256-YtYXTEZj5009L8OU7jdhegYu5Xll3jZAW6NJFWOvxHQ=";
|
||||
version = "2.2.45";
|
||||
hash = "sha256-1GwhZEPfRW1e+enJipy7YOnA4QzeqZ7aCG92GrsZhms=";
|
||||
};
|
||||
|
||||
serverPreview = mkServer {
|
||||
channel = "stable";
|
||||
version = "2.2.44.1";
|
||||
hash = "sha256-YtYXTEZj5009L8OU7jdhegYu5Xll3jZAW6NJFWOvxHQ=";
|
||||
version = "2.2.45";
|
||||
hash = "sha256-1GwhZEPfRW1e+enJipy7YOnA4QzeqZ7aCG92GrsZhms=";
|
||||
};
|
||||
}
|
||||
|
@ -5,11 +5,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "alfaview";
|
||||
version = "9.7.0";
|
||||
version = "9.8.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://assets.alfaview.com/stable/linux/deb/${pname}_${version}.deb";
|
||||
hash = "sha256-nqIMnMz2FysBOyKpoHXQw9Gl0lmQg5oXmnZDqlPNZ+A=";
|
||||
hash = "sha256-agi0f3aj5nHGV2/TAjaX+tY8/4nTdRlRiRn6rkTqokY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -39,6 +39,7 @@ flutter313.buildFlutterApplication (rec {
|
||||
description = "Chat with your friends (matrix client)";
|
||||
homepage = "https://fluffychat.im/";
|
||||
license = licenses.agpl3Plus;
|
||||
mainProgram = "fluffychat";
|
||||
maintainers = with maintainers; [ mkg20001 gilice ];
|
||||
platforms = [ "x86_64-linux" "aarch64-linux" ];
|
||||
sourceProvenance = [ sourceTypes.fromSource ];
|
||||
@ -54,7 +55,7 @@ flutter313.buildFlutterApplication (rec {
|
||||
|
||||
desktopItem = makeDesktopItem {
|
||||
name = "Fluffychat";
|
||||
exec = "@out@/bin/fluffychat";
|
||||
exec = "fluffychat";
|
||||
icon = "fluffychat";
|
||||
desktopName = "Fluffychat";
|
||||
genericName = "Chat with your friends (matrix client)";
|
||||
@ -73,8 +74,6 @@ flutter313.buildFlutterApplication (rec {
|
||||
mkdir -p $D
|
||||
convert $FAV -resize ''${size}x''${size} $D/fluffychat.png
|
||||
done
|
||||
substituteInPlace $out/share/applications/*.desktop \
|
||||
--subst-var out
|
||||
|
||||
patchelf --add-rpath ${libwebrtcRpath} $out/app/lib/libwebrtc.so
|
||||
'';
|
||||
|
@ -11,7 +11,7 @@
|
||||
|
||||
let
|
||||
pname = "localsend";
|
||||
version = "1.12.0";
|
||||
version = "1.13.1";
|
||||
|
||||
linux = flutter313.buildFlutterApplication {
|
||||
inherit pname version;
|
||||
@ -20,7 +20,7 @@ let
|
||||
owner = pname;
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-mk0CLZP0x/mEixeAig7X41aFgQzs+kZkBJx6T//3ZKY=";
|
||||
hash = "sha256-GJHCKNtKvwQAG3AUkhk0G4k/qsmLOUQAyyi9Id7NJh8=";
|
||||
};
|
||||
|
||||
sourceRoot = "source/app";
|
||||
@ -52,7 +52,7 @@ let
|
||||
exec = "@out@/bin/localsend_app";
|
||||
icon = "localsend";
|
||||
desktopName = "LocalSend";
|
||||
startupWMClass = "localsend";
|
||||
startupWMClass = "localsend_app";
|
||||
genericName = "An open source cross-platform alternative to AirDrop";
|
||||
categories = [ "Network" ];
|
||||
};
|
||||
@ -67,7 +67,7 @@ let
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/localsend/localsend/releases/download/v${version}/LocalSend-${version}.dmg";
|
||||
hash = "sha256-XKYc3lA7x0Tf1Mf3o7D2RYwYDRDVHoSb/lj9PhKzV5U=";
|
||||
hash = "sha256-YCy6NlmEPsOFtIZ27mOYDnMPd1tj3YO2bwNDdM3K/uY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ undmg ];
|
||||
@ -90,7 +90,7 @@ let
|
||||
homepage = "https://localsend.org/";
|
||||
license = licenses.mit;
|
||||
mainProgram = "localsend";
|
||||
maintainers = with maintainers; [ sikmir ];
|
||||
maintainers = with maintainers; [ sikmir linsui ];
|
||||
};
|
||||
in
|
||||
if stdenv.isDarwin
|
||||
|
@ -24,21 +24,31 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "ansicolor",
|
||||
"sha256": "607f8fa9786f392043f169898923e6c59b4518242b68b8862eb8a8b7d9c30b4a",
|
||||
"sha256": "8bf17a8ff6ea17499e40a2d2542c2f481cd7615760c6d34065cb22bfd22e6880",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.0.1"
|
||||
"version": "2.0.2"
|
||||
},
|
||||
"app_group_directory": {
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "app_group_directory",
|
||||
"sha256": "ad89800fd55133b46e1f6940ac6b974562f7fb6394c662c0f4422b90167f2416",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.0.0"
|
||||
},
|
||||
"archive": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "archive",
|
||||
"sha256": "49b1fad315e57ab0bbc15bcbb874e83116a1d78f77ebd500a4af6c9407d6b28e",
|
||||
"sha256": "7b875fd4a20b165a3084bd2d210439b22ebc653f21cea4842729c0c30c82596b",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "3.3.8"
|
||||
"version": "3.4.9"
|
||||
},
|
||||
"args": {
|
||||
"dependency": "transitive",
|
||||
@ -64,11 +74,11 @@
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "basic_utils",
|
||||
"sha256": "1fb8c5493fc1b9500512b2e153c0b9bcc9e281621cde7f810420f4761be9e38d",
|
||||
"sha256": "2064b21d3c41ed7654bc82cc476fd65542e04d60059b74d5eed490a4da08fc6c",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "5.6.1"
|
||||
"version": "5.7.0"
|
||||
},
|
||||
"boolean_selector": {
|
||||
"dependency": "transitive",
|
||||
@ -104,41 +114,41 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "build_daemon",
|
||||
"sha256": "5f02d73eb2ba16483e693f80bee4f088563a820e47d1027d4cdfe62b5bb43e65",
|
||||
"sha256": "0343061a33da9c5810b2d6cee51945127d8f4c060b7fbdd9d54917f0a3feaaa1",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "4.0.0"
|
||||
"version": "4.0.1"
|
||||
},
|
||||
"build_resolvers": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "build_resolvers",
|
||||
"sha256": "a7417cc44d9edb3f2c8760000270c99dba8c72ff66d0146772b8326565780745",
|
||||
"sha256": "64e12b0521812d1684b1917bc80945625391cb9bdd4312536b1d69dcb6133ed8",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.3.1"
|
||||
"version": "2.4.1"
|
||||
},
|
||||
"build_runner": {
|
||||
"dependency": "direct dev",
|
||||
"description": {
|
||||
"name": "build_runner",
|
||||
"sha256": "10c6bcdbf9d049a0b666702cf1cee4ddfdc38f02a19d35ae392863b47519848b",
|
||||
"sha256": "67d591d602906ef9201caf93452495ad1812bea2074f04e25dbd7c133785821b",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.4.6"
|
||||
"version": "2.4.7"
|
||||
},
|
||||
"build_runner_core": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "build_runner_core",
|
||||
"sha256": "6d6ee4276b1c5f34f21fdf39425202712d2be82019983d52f351c94aafbc2c41",
|
||||
"sha256": "c9e32d21dd6626b5c163d48b037ce906bbe428bc23ab77bcd77bb21e593b6185",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "7.2.10"
|
||||
"version": "7.2.11"
|
||||
},
|
||||
"built_collection": {
|
||||
"dependency": "transitive",
|
||||
@ -154,11 +164,11 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "built_value",
|
||||
"sha256": "ff627b645b28fb8bdb69e645f910c2458fd6b65f6585c3a53e0626024897dedf",
|
||||
"sha256": "69acb7007eb2a31dc901512bfe0f7b767168be34cb734835d54c070bfa74c1b2",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "8.6.2"
|
||||
"version": "8.8.0"
|
||||
},
|
||||
"characters": {
|
||||
"dependency": "transitive",
|
||||
@ -204,11 +214,11 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "code_builder",
|
||||
"sha256": "315a598c7fbe77f22de1c9da7cfd6fd21816312f16ffa124453b4fc679e540f1",
|
||||
"sha256": "b2151ce26a06171005b379ecff6e08d34c470180ffe16b8e14b6d52be292b55f",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "4.6.0"
|
||||
"version": "4.8.0"
|
||||
},
|
||||
"collection": {
|
||||
"dependency": "direct main",
|
||||
@ -243,11 +253,11 @@
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "connectivity_plus",
|
||||
"sha256": "77a180d6938f78ca7d2382d2240eb626c0f6a735d0bfdce227d8ffb80f95c48b",
|
||||
"sha256": "224a77051d52a11fbad53dd57827594d3bd24f945af28bd70bab376d68d437f0",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "4.0.2"
|
||||
"version": "5.0.2"
|
||||
},
|
||||
"connectivity_plus_platform_interface": {
|
||||
"dependency": "transitive",
|
||||
@ -283,21 +293,21 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "coverage",
|
||||
"sha256": "2fb815080e44a09b85e0f2ca8a820b15053982b2e714b59267719e8a9ff17097",
|
||||
"sha256": "595a29b55ce82d53398e1bcc2cba525d7bd7c59faeb2d2540e9d42c390cfeeeb",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.6.3"
|
||||
"version": "1.6.4"
|
||||
},
|
||||
"cross_file": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "cross_file",
|
||||
"sha256": "fd832b5384d0d6da4f6df60b854d33accaaeb63aa9e10e736a87381f08dee2cb",
|
||||
"sha256": "2f9d2cbccb76127ba28528cb3ae2c2326a122446a83de5a056aaa3880d3882c5",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.3.3+5"
|
||||
"version": "0.3.3+7"
|
||||
},
|
||||
"crypto": {
|
||||
"dependency": "transitive",
|
||||
@ -323,31 +333,31 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "csv",
|
||||
"sha256": "016b31a51a913744a0a1655c74ff13c9379e1200e246a03d96c81c5d9ed297b5",
|
||||
"sha256": "63ed2871dd6471193dffc52c0e6c76fb86269c00244d244297abbb355c84a86e",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "5.0.2"
|
||||
"version": "5.1.1"
|
||||
},
|
||||
"dart_mappable": {
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "dart_mappable",
|
||||
"sha256": "f3c0dacde18fe0a05818a797e811f76ab58d7295cdd326c5dbe3592fe62466da",
|
||||
"sha256": "c2d4775336d7166590766a1c4451edde2a302efe2a2a35ac09eef9025102e10f",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "3.3.1"
|
||||
"version": "4.0.1"
|
||||
},
|
||||
"dart_mappable_builder": {
|
||||
"dependency": "direct dev",
|
||||
"description": {
|
||||
"name": "dart_mappable_builder",
|
||||
"sha256": "ce10c4c19cb9071461703e6186bb50ff7ec806c99ef717cab9ed25099d09f8bd",
|
||||
"sha256": "41926353f9bc20f659c39f1d83d90c9ae5fd0d14aec9b59732cf714eee589b7a",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "3.3.0"
|
||||
"version": "4.0.1"
|
||||
},
|
||||
"dart_style": {
|
||||
"dependency": "transitive",
|
||||
@ -373,11 +383,11 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "dbus",
|
||||
"sha256": "6f07cba3f7b3448d42d015bfd3d53fe12e5b36da2423f23838efc1d5fb31a263",
|
||||
"sha256": "365c771ac3b0e58845f39ec6deebc76e3276aa9922b0cc60840712094d9047ac",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.7.8"
|
||||
"version": "0.7.10"
|
||||
},
|
||||
"desktop_drop": {
|
||||
"dependency": "direct main",
|
||||
@ -403,11 +413,11 @@
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "device_info_plus",
|
||||
"sha256": "7035152271ff67b072a211152846e9f1259cf1be41e34cd3e0b5463d2d6b8419",
|
||||
"sha256": "0042cb3b2a76413ea5f8a2b40cec2a33e01d0c937e91f0f7c211fde4f7739ba6",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "9.1.0"
|
||||
"version": "9.1.1"
|
||||
},
|
||||
"device_info_plus_platform_interface": {
|
||||
"dependency": "transitive",
|
||||
@ -423,11 +433,11 @@
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "dio",
|
||||
"sha256": "417e2a6f9d83ab396ec38ff4ea5da6c254da71e4db765ad737a42af6930140b7",
|
||||
"sha256": "797e1e341c3dd2f69f2dad42564a6feff3bfb87187d05abb93b9609e6f1645c3",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "5.3.3"
|
||||
"version": "5.4.0"
|
||||
},
|
||||
"dynamic_color": {
|
||||
"dependency": "direct main",
|
||||
@ -483,21 +493,21 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "file",
|
||||
"sha256": "1b92bec4fc2a72f59a8e15af5f52cd441e4a7860b49499d69dfa817af20e925d",
|
||||
"sha256": "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "6.1.4"
|
||||
"version": "7.0.0"
|
||||
},
|
||||
"file_picker": {
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "file_picker",
|
||||
"sha256": "be325344c1f3070354a1d84a231a1ba75ea85d413774ec4bdf444c023342e030",
|
||||
"sha256": "4e42aacde3b993c5947467ab640882c56947d9d27342a5b6f2895b23956954a6",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "5.5.0"
|
||||
"version": "6.1.1"
|
||||
},
|
||||
"file_selector": {
|
||||
"dependency": "direct main",
|
||||
@ -513,21 +523,21 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "file_selector_android",
|
||||
"sha256": "d41e165d6f798ca941d536e5dc93494d50e78c571c28ad60cfe0b0fefeb9f1e7",
|
||||
"sha256": "b7556052dbcc25ef88f6eba45ab98aa5600382af8dfdabc9d644a93d97b7be7f",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.5.0+3"
|
||||
"version": "0.5.0+4"
|
||||
},
|
||||
"file_selector_ios": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "file_selector_ios",
|
||||
"sha256": "b3fbdda64aa2e335df6e111f6b0f1bb968402ed81d2dd1fa4274267999aa32c2",
|
||||
"sha256": "2f48db7e338b2255101c35c604b7ca5ab588dce032db7fc418a2fe5f28da63f8",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.5.1+6"
|
||||
"version": "0.5.1+7"
|
||||
},
|
||||
"file_selector_linux": {
|
||||
"dependency": "transitive",
|
||||
@ -543,11 +553,11 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "file_selector_macos",
|
||||
"sha256": "182c3f8350cee659f7b115e956047ee3dc672a96665883a545e81581b9a82c72",
|
||||
"sha256": "b15c3da8bd4908b9918111fa486903f5808e388b8d1c559949f584725a6594d6",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.9.3+2"
|
||||
"version": "0.9.3+3"
|
||||
},
|
||||
"file_selector_platform_interface": {
|
||||
"dependency": "transitive",
|
||||
@ -629,11 +639,11 @@
|
||||
"dependency": "direct dev",
|
||||
"description": {
|
||||
"name": "flutter_lints",
|
||||
"sha256": "a25a15ebbdfc33ab1cd26c63a6ee519df92338a9c10f122adda92938253bef04",
|
||||
"sha256": "e2a421b7e59244faef694ba7b30562e489c2b489866e505074eb005cd7060db7",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.0.3"
|
||||
"version": "3.0.1"
|
||||
},
|
||||
"flutter_localizations": {
|
||||
"dependency": "direct main",
|
||||
@ -645,21 +655,21 @@
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "flutter_markdown",
|
||||
"sha256": "8afc9a6aa6d8e8063523192ba837149dbf3d377a37c0b0fc579149a1fbd4a619",
|
||||
"sha256": "35108526a233cc0755664d445f8a6b4b61e6f8fe993b3658b80b4a26827fc196",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.6.18"
|
||||
"version": "0.6.18+2"
|
||||
},
|
||||
"flutter_plugin_android_lifecycle": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "flutter_plugin_android_lifecycle",
|
||||
"sha256": "f185ac890306b5779ecbd611f52502d8d4d63d27703ef73161ca0407e815f02c",
|
||||
"sha256": "b068ffc46f82a55844acfa4fdbb61fad72fa2aef0905548419d97f0f95c456da",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.0.16"
|
||||
"version": "2.0.17"
|
||||
},
|
||||
"flutter_test": {
|
||||
"dependency": "transitive",
|
||||
@ -687,21 +697,21 @@
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "gal",
|
||||
"sha256": "ebc581bea458be47e8e80761c4449ad3a0f045db206f6f4648885ac474444246",
|
||||
"sha256": "e53ff8647a031e7e4562b4f5978d3008328aeef650c293a3c92d8411e3e299f7",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.1.2"
|
||||
"version": "2.1.4"
|
||||
},
|
||||
"get_it": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "get_it",
|
||||
"sha256": "66c270f23f1b49d3af9c6651d8c40367319f4abefffc23380e4e7c5efd9fe4a7",
|
||||
"sha256": "f79870884de16d689cf9a7d15eedf31ed61d750e813c538a6efb92660fea83c3",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "7.6.2"
|
||||
"version": "7.6.4"
|
||||
},
|
||||
"glob": {
|
||||
"dependency": "transitive",
|
||||
@ -723,6 +733,16 @@
|
||||
"source": "hosted",
|
||||
"version": "2.3.1"
|
||||
},
|
||||
"gtk": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "gtk",
|
||||
"sha256": "e8ce9ca4b1df106e4d72dad201d345ea1a036cc12c360f1a7d5a758f78ffa42c",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.1.0"
|
||||
},
|
||||
"html": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
@ -787,11 +807,11 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "image",
|
||||
"sha256": "a72242c9a0ffb65d03de1b7113bc4e189686fc07c7147b8b41811d0dd0e0d9bf",
|
||||
"sha256": "028f61960d56f26414eb616b48b04eb37d700cbe477b7fb09bf1d7ce57fd9271",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "4.0.17"
|
||||
"version": "4.1.3"
|
||||
},
|
||||
"image_picker": {
|
||||
"dependency": "direct main",
|
||||
@ -807,11 +827,11 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "image_picker_android",
|
||||
"sha256": "d32a997bcc4ee135aebca8e272b7c517927aa65a74b9c60a81a2764ef1a0462d",
|
||||
"sha256": "d6a6e78821086b0b737009b09363018309bbc6de3fd88cc5c26bc2bb44a4957f",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.8.7+5"
|
||||
"version": "0.8.8+2"
|
||||
},
|
||||
"image_picker_for_web": {
|
||||
"dependency": "transitive",
|
||||
@ -827,11 +847,11 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "image_picker_ios",
|
||||
"sha256": "c5538cacefacac733c724be7484377923b476216ad1ead35a0d2eadcdc0fc497",
|
||||
"sha256": "76ec722aeea419d03aa915c2c96bf5b47214b053899088c9abb4086ceecf97a7",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.8.8+2"
|
||||
"version": "0.8.8+4"
|
||||
},
|
||||
"image_picker_linux": {
|
||||
"dependency": "transitive",
|
||||
@ -873,6 +893,46 @@
|
||||
"source": "hosted",
|
||||
"version": "0.2.1+1"
|
||||
},
|
||||
"in_app_purchase": {
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "in_app_purchase",
|
||||
"sha256": "bdda02b5b11b56d5e29c7f0c57c433db3452b0c8ce1c37cbfcf1de52946efd9f",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "3.1.11"
|
||||
},
|
||||
"in_app_purchase_android": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "in_app_purchase_android",
|
||||
"sha256": "c4b84caa4e2c7ffebda444c5033fd8423cc3a45a6e1066929bbbcd4daf665db5",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.3.0+15"
|
||||
},
|
||||
"in_app_purchase_platform_interface": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "in_app_purchase_platform_interface",
|
||||
"sha256": "5168afbc54f406f741252b66d41872c1193a0066a6edcb587176290b92e2d537",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.3.6"
|
||||
},
|
||||
"in_app_purchase_storekit": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "in_app_purchase_storekit",
|
||||
"sha256": "29526f5ce85bd908b4cacdadb2e8ef299bccbb516b90d2881805343f868502ab",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.3.7"
|
||||
},
|
||||
"intl": {
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
@ -937,11 +997,11 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "lints",
|
||||
"sha256": "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452",
|
||||
"sha256": "cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.1.1"
|
||||
"version": "3.0.0"
|
||||
},
|
||||
"logging": {
|
||||
"dependency": "direct main",
|
||||
@ -1017,11 +1077,11 @@
|
||||
"dependency": "direct dev",
|
||||
"description": {
|
||||
"name": "msix",
|
||||
"sha256": "6e76e2491d5c809d784ce2b68e6c3426097fb5c68e61fe121c8c3341ab89bf46",
|
||||
"sha256": "519b183d15dc9f9c594f247e2d2339d855cf0eaacc30e19b128e14f3ecc62047",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "3.16.4"
|
||||
"version": "3.16.7"
|
||||
},
|
||||
"nested": {
|
||||
"dependency": "transitive",
|
||||
@ -1147,11 +1207,11 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "path_provider_android",
|
||||
"sha256": "6b8b19bd80da4f11ce91b2d1fb931f3006911477cec227cce23d3253d80df3f1",
|
||||
"sha256": "e595b98692943b4881b219f0a9e3945118d3c16bd7e2813f98ec6e532d905f72",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.2.0"
|
||||
"version": "2.2.1"
|
||||
},
|
||||
"path_provider_foundation": {
|
||||
"dependency": "transitive",
|
||||
@ -1207,11 +1267,11 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "permission_handler_android",
|
||||
"sha256": "ace7d15a3d1a4a0b91c041d01e5405df221edb9de9116525efc773c74e6fc790",
|
||||
"sha256": "f9fddd3b46109bd69ff3f9efa5006d2d309b7aec0f3c1c5637a60a2d5659e76e",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "11.0.5"
|
||||
"version": "11.1.0"
|
||||
},
|
||||
"permission_handler_apple": {
|
||||
"dependency": "transitive",
|
||||
@ -1237,8 +1297,8 @@
|
||||
"dependency": "direct overridden",
|
||||
"description": {
|
||||
"path": ".",
|
||||
"ref": "fc09b707ab4535a9214c87b16f09feda7e765d90",
|
||||
"resolved-ref": "fc09b707ab4535a9214c87b16f09feda7e765d90",
|
||||
"ref": "2dadd8afbf81e0e3e4791d7144e689555e58f649",
|
||||
"resolved-ref": "2dadd8afbf81e0e3e4791d7144e689555e58f649",
|
||||
"url": "https://github.com/localsend/permission_handler_windows_noop.git"
|
||||
},
|
||||
"source": "git",
|
||||
@ -1258,31 +1318,31 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "photo_manager",
|
||||
"sha256": "41eaa1d1fa51bac1c8f2f6debfd34074edcc6b330aa96bb3d33c3bc2fc6c8a5c",
|
||||
"sha256": "2d698826421ebd045ecc0df60422e9dd24bd22b178310b68444385f783735b55",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.7.2"
|
||||
"version": "2.8.1"
|
||||
},
|
||||
"platform": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "platform",
|
||||
"sha256": "ae68c7bfcd7383af3629daafb32fb4e8681c7154428da4febcff06200585f102",
|
||||
"sha256": "0a279f0707af40c890e80b1e9df8bb761694c074ba7e1d4ab1bc4b728e200b59",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "3.1.2"
|
||||
"version": "3.1.3"
|
||||
},
|
||||
"plugin_platform_interface": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "plugin_platform_interface",
|
||||
"sha256": "da3fdfeccc4d4ff2da8f8c556704c08f912542c5fb3cf2233ed75372384a034d",
|
||||
"sha256": "f4f88d4a900933e7267e2b353594774fc0d07fb072b47eedcd5b54e1ea3269f8",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.1.6"
|
||||
"version": "2.1.7"
|
||||
},
|
||||
"pointycastle": {
|
||||
"dependency": "transitive",
|
||||
@ -1308,21 +1368,21 @@
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "pretty_qr_code",
|
||||
"sha256": "ea7ccb3069e0f5b89b441449b9ec10f4148ddda7a4bef89a130d2ebdaa0be647",
|
||||
"sha256": "799fa8d5c605028302cb7debbf3f180ce56678c4927fb2ecc4b174a3bee526d6",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.0.3"
|
||||
"version": "3.0.0"
|
||||
},
|
||||
"provider": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "provider",
|
||||
"sha256": "cdbe7530b12ecd9eb455bdaa2fcb8d4dad22e80b8afb4798b41479d5ce26847f",
|
||||
"sha256": "9a96a0a19b594dbc5bf0f1f27d2bc67d5f95957359b461cd9feb44ed6ae75096",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "6.0.5"
|
||||
"version": "6.1.1"
|
||||
},
|
||||
"pub_semver": {
|
||||
"dependency": "transitive",
|
||||
@ -1358,41 +1418,41 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "refena",
|
||||
"sha256": "229d7bdc8cfadcb9cf2358aec48fbaedf5fdb4ad079935154479dbbddf21f0d8",
|
||||
"sha256": "dad98c0d372617054a86b33a504fb973ba083c21b7a2b321a4b2142fae3342a2",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.37.0"
|
||||
"version": "1.5.0"
|
||||
},
|
||||
"refena_flutter": {
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "refena_flutter",
|
||||
"sha256": "02e9ebcf4dab237130adb9aec1152764828b39c75a81985c58145cb8cca71b15",
|
||||
"sha256": "fcd8e28e50515182a40abc2718600bbac11ba4757c2b2b92b71177fbc2ee9721",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.37.0"
|
||||
"version": "1.5.0"
|
||||
},
|
||||
"refena_inspector": {
|
||||
"dependency": "direct dev",
|
||||
"description": {
|
||||
"name": "refena_inspector",
|
||||
"sha256": "be1292f944ec3eadbff5bdb93969d8e3ff7b2538a9cd6ce39e2a1b08b5f82352",
|
||||
"sha256": "495822cc8142b3a5826b5f17061b8ea60aa4b0fd7758fdec9746b85cbd61895d",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.8.0"
|
||||
"version": "1.2.0"
|
||||
},
|
||||
"refena_inspector_client": {
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "refena_inspector_client",
|
||||
"sha256": "411cd55af364d6654f1ef117fe08e626c22b6fe514c28d9f22742eba2f80c551",
|
||||
"sha256": "f01636eb2c9609e9a5df5591132df5d3008a4a397b70166bc18c464af09880a6",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "0.8.0"
|
||||
"version": "1.2.0"
|
||||
},
|
||||
"routerino": {
|
||||
"dependency": "direct main",
|
||||
@ -1488,14 +1548,14 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "shared_preferences_linux",
|
||||
"sha256": "c2eb5bf57a2fe9ad6988121609e47d3e07bb3bdca5b6f8444e4cf302428a128a",
|
||||
"sha256": "9f2cbcf46d4270ea8be39fa156d86379077c8a5228d9dfdb1164ae0bb93f1faa",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.3.1"
|
||||
"version": "2.3.2"
|
||||
},
|
||||
"shared_preferences_platform_interface": {
|
||||
"dependency": "transitive",
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "shared_preferences_platform_interface",
|
||||
"sha256": "d4ec5fc9ebb2f2e056c617112aa75dcf92fc2e4faaf2ae999caa297473f75d8a",
|
||||
@ -1518,11 +1578,11 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "shared_preferences_windows",
|
||||
"sha256": "f763a101313bd3be87edffe0560037500967de9c394a714cd598d945517f694f",
|
||||
"sha256": "841ad54f3c8381c480d0c9b508b89a34036f512482c407e6df7a9c4aa2ef8f59",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.3.1"
|
||||
"version": "2.3.2"
|
||||
},
|
||||
"shared_storage": {
|
||||
"dependency": "direct main",
|
||||
@ -1604,31 +1664,31 @@
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "slang",
|
||||
"sha256": "829ae38374a328ac8d97d5835e8b4e9bbed1993f66ca85771c5ccec9c87ac397",
|
||||
"sha256": "fe73e995287db77a32ef5a4ab8247bd20adc7a27ba2a4ba373a8132164eba654",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "3.25.0"
|
||||
"version": "3.26.1"
|
||||
},
|
||||
"slang_build_runner": {
|
||||
"dependency": "direct dev",
|
||||
"description": {
|
||||
"name": "slang_build_runner",
|
||||
"sha256": "f5003a3aa8a6a72de59c8ad29c072da9ab5d1b81c599798c0f651c4e5c7e25e5",
|
||||
"sha256": "72364adbb8d682b48b72402fd67f84e1b62fd96424eae98477a8fe58faec280c",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "3.25.0"
|
||||
"version": "3.26.1"
|
||||
},
|
||||
"slang_flutter": {
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "slang_flutter",
|
||||
"sha256": "cb5e1611744cca620cc03f93a54eca6918e25ae7d600cd940ef2d556e2be4c64",
|
||||
"sha256": "df1d6e5a7237028bcf94f7401d575fdfee8c9ca066b3e9a02acdcd5096e2a25a",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "3.25.0"
|
||||
"version": "3.26.1"
|
||||
},
|
||||
"slang_gpt": {
|
||||
"dependency": "direct dev",
|
||||
@ -1815,11 +1875,11 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "type_plus",
|
||||
"sha256": "52af1140887d0ce0ea89c768dfde1b244cd531221c7f48c8c29b1d24ae8aed9a",
|
||||
"sha256": "2e33cfac2e129297d5874567bdf7587502ec359881e9318551e014d91b02f84a",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.1.0"
|
||||
"version": "2.1.0"
|
||||
},
|
||||
"typed_data": {
|
||||
"dependency": "transitive",
|
||||
@ -1835,81 +1895,81 @@
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "url_launcher",
|
||||
"sha256": "47e208a6711459d813ba18af120d9663c20bdf6985d6ad39fe165d2538378d27",
|
||||
"sha256": "b1c9e98774adf8820c96fbc7ae3601231d324a7d5ebd8babe27b6dfac91357ba",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "6.1.14"
|
||||
"version": "6.2.1"
|
||||
},
|
||||
"url_launcher_android": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "url_launcher_android",
|
||||
"sha256": "b04af59516ab45762b2ca6da40fa830d72d0f6045cd97744450b73493fa76330",
|
||||
"sha256": "31222ffb0063171b526d3e569079cf1f8b294075ba323443fdc690842bfd4def",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "6.1.0"
|
||||
"version": "6.2.0"
|
||||
},
|
||||
"url_launcher_ios": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "url_launcher_ios",
|
||||
"sha256": "7c65021d5dee51813d652357bc65b8dd4a6177082a9966bc8ba6ee477baa795f",
|
||||
"sha256": "bba3373219b7abb6b5e0d071b0fe66dfbe005d07517a68e38d4fc3638f35c6d3",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "6.1.5"
|
||||
"version": "6.2.1"
|
||||
},
|
||||
"url_launcher_linux": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "url_launcher_linux",
|
||||
"sha256": "b651aad005e0cb06a01dbd84b428a301916dc75f0e7ea6165f80057fee2d8e8e",
|
||||
"sha256": "9f2d390e096fdbe1e6e6256f97851e51afc2d9c423d3432f1d6a02a8a9a8b9fd",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "3.0.6"
|
||||
"version": "3.1.0"
|
||||
},
|
||||
"url_launcher_macos": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "url_launcher_macos",
|
||||
"sha256": "b55486791f666e62e0e8ff825e58a023fd6b1f71c49926483f1128d3bbd8fe88",
|
||||
"sha256": "b7244901ea3cf489c5335bdacda07264a6e960b1c1b1a9f91e4bc371d9e68234",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "3.0.7"
|
||||
"version": "3.1.0"
|
||||
},
|
||||
"url_launcher_platform_interface": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "url_launcher_platform_interface",
|
||||
"sha256": "95465b39f83bfe95fcb9d174829d6476216f2d548b79c38ab2506e0458787618",
|
||||
"sha256": "980e8d9af422f477be6948bdfb68df8433be71f5743a188968b0c1b887807e50",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.1.5"
|
||||
"version": "2.2.0"
|
||||
},
|
||||
"url_launcher_web": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "url_launcher_web",
|
||||
"sha256": "2942294a500b4fa0b918685aff406773ba0a4cd34b7f42198742a94083020ce5",
|
||||
"sha256": "7fd2f55fe86cea2897b963e864dc01a7eb0719ecc65fcef4c1cc3d686d718bb2",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.0.20"
|
||||
"version": "2.2.0"
|
||||
},
|
||||
"url_launcher_windows": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "url_launcher_windows",
|
||||
"sha256": "95fef3129dc7cfaba2bc3d5ba2e16063bb561fc6d78e63eee16162bc70029069",
|
||||
"sha256": "7754a1ad30ee896b265f8d14078b0513a4dba28d358eabb9d5f339886f4a1adc",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "3.0.8"
|
||||
"version": "3.1.0"
|
||||
},
|
||||
"uuid": {
|
||||
"dependency": "direct main",
|
||||
@ -1935,11 +1995,11 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "video_player",
|
||||
"sha256": "74b86e63529cf5885130c639d74cd2f9232e7c8a66cbecbddd1dcb9dbd060d1e",
|
||||
"sha256": "e16f0a83601a78d165dabc17e4dac50997604eb9e4cc76e10fa219046b70cef3",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.7.2"
|
||||
"version": "2.8.1"
|
||||
},
|
||||
"video_player_android": {
|
||||
"dependency": "transitive",
|
||||
@ -1955,11 +2015,11 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "video_player_avfoundation",
|
||||
"sha256": "6387c2de77763b45104256b3b00b660089be4f909ded8631457dc11bf635e38f",
|
||||
"sha256": "bc923884640d6dc403050586eb40713cdb8d1d84e6886d8aca50ab04c59124c2",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.5.0"
|
||||
"version": "2.5.2"
|
||||
},
|
||||
"video_player_platform_interface": {
|
||||
"dependency": "transitive",
|
||||
@ -1975,11 +2035,11 @@
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "video_player_web",
|
||||
"sha256": "2dd24f7ba46bfb5d070e9c795001db95e0ca5f2a3d025e98f287c10c9f0fd62f",
|
||||
"sha256": "ab7a462b07d9ca80bed579e30fb3bce372468f1b78642e0911b10600f2c5cb5b",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "2.1.1"
|
||||
"version": "2.1.2"
|
||||
},
|
||||
"vm_service": {
|
||||
"dependency": "transitive",
|
||||
@ -1995,11 +2055,11 @@
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "wakelock_plus",
|
||||
"sha256": "f45a6c03aa3f8322e0a9d7f4a0482721c8789cb41d555407367650b8f9c26018",
|
||||
"sha256": "f268ca2116db22e57577fb99d52515a24bdc1d570f12ac18bb762361d43b043d",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.1.3"
|
||||
"version": "1.1.4"
|
||||
},
|
||||
"wakelock_plus_platform_interface": {
|
||||
"dependency": "transitive",
|
||||
@ -2055,31 +2115,31 @@
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "wechat_assets_picker",
|
||||
"sha256": "00c93a04421013040b555cdcccdb8e90f142a171d6c0d968c2b5042a76013601",
|
||||
"sha256": "0856437acd3a013f34cbca4448ad08bd004f387fc2b11b007b4713f00d63fcb7",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "8.7.1"
|
||||
"version": "8.8.0"
|
||||
},
|
||||
"win32": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "win32",
|
||||
"sha256": "9e82a402b7f3d518fb9c02d0e9ae45952df31b9bf34d77baf19da2de03fc2aaa",
|
||||
"sha256": "b0f37db61ba2f2e9b7a78a1caece0052564d1bc70668156cf3a29d676fe4e574",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "5.0.7"
|
||||
"version": "5.1.1"
|
||||
},
|
||||
"win32_registry": {
|
||||
"dependency": "transitive",
|
||||
"description": {
|
||||
"name": "win32_registry",
|
||||
"sha256": "e4506d60b7244251bc59df15656a3093501c37fb5af02105a944d73eb95be4c9",
|
||||
"sha256": "41fd8a189940d8696b1b810efb9abcf60827b6cbfab90b0c43e8439e3a39d85a",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.1.1"
|
||||
"version": "1.1.2"
|
||||
},
|
||||
"window_manager": {
|
||||
"dependency": "direct main",
|
||||
@ -2120,10 +2180,20 @@
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "3.1.2"
|
||||
},
|
||||
"yaru": {
|
||||
"dependency": "direct main",
|
||||
"description": {
|
||||
"name": "yaru",
|
||||
"sha256": "037219db9ffe757eae0d929cb9dc1a8b27af9850dc6c0d89ecf597dc4f78a5b6",
|
||||
"url": "https://pub.dev"
|
||||
},
|
||||
"source": "hosted",
|
||||
"version": "1.2.0"
|
||||
}
|
||||
},
|
||||
"sdks": {
|
||||
"dart": ">=3.1.1 <4.0.0",
|
||||
"flutter": ">=3.13.1"
|
||||
"flutter": ">=3.13.0"
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
#! /usr/bin/env nix-shell
|
||||
#! nix-shell -I nixpkgs=./. -i bash -p curl gnused jq
|
||||
#! nix-shell -I nixpkgs=./. -i bash -p curl gnused jq yq nix-prefetch-url
|
||||
|
||||
set -eou pipefail
|
||||
|
||||
@ -19,3 +19,8 @@ sed -i "s/version = \".*\"/version = \"${latestVersion}\"/" "$ROOT/default.nix"
|
||||
DARWIN_x64_URL="https://github.com/localsend/localsend/releases/download/v${latestVersion}/LocalSend-${latestVersion}.dmg"
|
||||
DARWIN_X64_SHA=$(nix hash to-sri --type sha256 $(nix-prefetch-url ${DARWIN_x64_URL}))
|
||||
sed -i "/darwin/,/hash/{s|hash = \".*\"|hash = \"${DARWIN_X64_SHA}\"|}" "$ROOT/default.nix"
|
||||
|
||||
GIT_SRC_URL="https://github.com/localsend/localsend/archive/refs/tags/v${latestVersion}.tar.gz"
|
||||
GIT_SRC_SHA=$(nix hash to-sri --type sha256 $(nix-prefetch-url --unpack ${GIT_SRC_URL}))
|
||||
sed -i "/linux/,/hash/{s|hash = \".*\"|hash = \"${GIT_SRC_SHA}\"|}" "$ROOT/default.nix"
|
||||
curl https://raw.githubusercontent.com/localsend/localsend/v${latestVersion}/app/pubspec.lock | yq . > $ROOT/pubspec.lock.json
|
||||
|
@ -30,13 +30,13 @@ stdenv.mkDerivation rec {
|
||||
pname = "qbittorrent"
|
||||
+ lib.optionalString (guiSupport && qtVersion == "5") "-qt5"
|
||||
+ lib.optionalString (!guiSupport) "-nox";
|
||||
version = "4.6.2";
|
||||
version = "4.6.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "qbittorrent";
|
||||
repo = "qBittorrent";
|
||||
rev = "release-${version}";
|
||||
hash = "sha256-+leX0T+yJUG6F7WbHa3nCexQZmd7RRfK8Uc+suMJ+vI=";
|
||||
hash = "sha256-4RVJ7xQY9zcB8+RUr80P9xKUXGxt0ATSzYmRDfZIowU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -5,18 +5,18 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "storj-uplink";
|
||||
version = "1.93.2";
|
||||
version = "1.94.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "storj";
|
||||
repo = "storj";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-3q3z5dYFjBpBbwj64Kp2fiTmxn2PUgc0DGJBMR71yN0=";
|
||||
hash = "sha256-q2QLsbJSVnRch4CIlGI2Thuz0OOpGURIdy1BEKxUZ1A=";
|
||||
};
|
||||
|
||||
subPackages = [ "cmd/uplink" ];
|
||||
|
||||
vendorHash = "sha256-1K74yoMMeMzjldMjZVmmCJRrLYBrVmmOgqqCA1CBzrQ=";
|
||||
vendorHash = "sha256-UGx5pGfS7jWn7Uwjg1Gf/oQ3GbRTh5JSb38uPjxdUxc=";
|
||||
|
||||
ldflags = [ "-s" "-w" ];
|
||||
|
||||
|
@ -2,12 +2,12 @@
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "fava";
|
||||
version = "1.27";
|
||||
version = "1.27.1";
|
||||
format = "pyproject";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-M2uE+/hYUP/l9l5zP/lHJsbMzfQ77cEJBFzbmX29gzM=";
|
||||
hash = "sha256-W/uxzk+/4tDVOL+nVUJfyBAE5sI9/pYq1zu42GCGjSk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = with python3.pkgs; [ setuptools-scm ];
|
||||
|
@ -10,12 +10,12 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "flamp";
|
||||
version = "2.2.10";
|
||||
version = "2.2.11";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://git.code.sf.net/p/fldigi/flamp";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-c0Q9QD3O8eQxRqaBhr79iuNVtWGC8kl+YWYS4xMgDN4=";
|
||||
hash = "sha256-QYfTkciSbBLy49rF6xABMw8TXZ/0QyQ/yhJ2nuM7f/c=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -8,12 +8,12 @@
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "2.0.04";
|
||||
version = "2.0.05";
|
||||
pname = "flrig";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/fldigi/${pname}-${version}.tar.gz";
|
||||
sha256 = "sha256-+AcQ7l1RXFDVVraYySBUE/+ZCyCOMiM2L4LyRXFquUc=";
|
||||
sha256 = "sha256-Mc3AJfBdtIn9m6CH602Mj4UWj8OqnPlf5IiwLXgMYrA=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
@ -25,13 +25,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "freedv";
|
||||
version = "1.9.7.1";
|
||||
version = "1.9.7.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "drowe67";
|
||||
repo = "freedv-gui";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-cjqemWCjZr/1EOjUTsF4y03tvjQqquBLXxU0DG8OIFU=";
|
||||
hash = "sha256-JbLP65fC6uHrHXpSUwtgYHB+VLfheo5RU3C44lx8QlQ=";
|
||||
};
|
||||
|
||||
postPatch = lib.optionalString stdenv.isDarwin ''
|
||||
|
@ -21,10 +21,10 @@ in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gwyddion";
|
||||
version = "2.64";
|
||||
version = "2.65";
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/gwyddion/gwyddion-${version}.tar.xz";
|
||||
sha256 = "sha256-FDL4XDHH6WYF47OsnhxpM7s7YadutiCDjcJKCF8ZlCw=";
|
||||
sha256 = "sha256-kRX7CoPJY8YkYNode5g0OCyWmL+5sM8puCmk9ZE2nqM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config file ];
|
||||
|
@ -13,11 +13,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "magic-vlsi";
|
||||
version = "8.3.454";
|
||||
version = "8.3.456";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://opencircuitdesign.com/magic/archive/magic-${version}.tgz";
|
||||
sha256 = "sha256-nHZJ2L54J2x+H7S29TeGPInTgjEhRFv3h2ki0ccGYB0=";
|
||||
sha256 = "sha256-PrKbLecFJ+th0x9A0fp550RnA8w9oWETMtFpQZP8tzw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ python3 ];
|
||||
|
@ -30,20 +30,20 @@
|
||||
with python3Packages;
|
||||
buildPythonApplication rec {
|
||||
pname = "kitty";
|
||||
version = "0.31.0";
|
||||
version = "0.32.0";
|
||||
format = "other";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kovidgoyal";
|
||||
repo = "kitty";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-VWWuC4T0pyTgqPNm0gNL1j3FShU5b8S157C1dKLon1g=";
|
||||
hash = "sha256-untfXvBAn39C+s1BxVjXoLpPvnw7TM/uPFB+zZHH8w8=";
|
||||
};
|
||||
|
||||
goModules = (buildGoModule {
|
||||
pname = "kitty-go-modules";
|
||||
inherit src version;
|
||||
vendorHash = "sha256-OyZAWefSIiLQO0icxMIHWH3BKgNas8HIxLcse/qWKcU=";
|
||||
vendorHash = "sha256-WRDP3Uyttz/kWm07tjv7wNguF/a1YgZqutbvFEOHuE0=";
|
||||
}).goModules;
|
||||
|
||||
buildInputs = [
|
||||
|
@ -11,13 +11,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "git-quick-stats";
|
||||
version = "2.5.3";
|
||||
version = "2.5.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
repo = "git-quick-stats";
|
||||
owner = "arzzen";
|
||||
rev = version;
|
||||
sha256 = "sha256-Fh8FSaclxOkTr49HixjwoM/367RjtdQ4dRyw87KylPs=";
|
||||
sha256 = "sha256-dbi48rq3ijPa45xtTi6kAly/IwkX4aK1P9hmcPNQEqM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
@ -20,12 +20,12 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "gitea";
|
||||
version = "1.21.3";
|
||||
version = "1.21.4";
|
||||
|
||||
# not fetching directly from the git repo, because that lacks several vendor files for the web UI
|
||||
src = fetchurl {
|
||||
url = "https://dl.gitea.com/gitea/${version}/gitea-src-${version}.tar.gz";
|
||||
hash = "sha256-tJC9p7++lb3lD0yYR4qAtFOTRBQK2SkNCD6Tk+g9M78=";
|
||||
hash = "sha256-bkRI2m7aHrQH5wQbm4MoygrF5da7j4i8Qd/aoMJbhS0=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
1168
pkgs/applications/version-management/sapling/Cargo.lock
generated
1168
pkgs/applications/version-management/sapling/Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
@ -48,7 +48,7 @@ let
|
||||
owner = "facebook";
|
||||
repo = "sapling";
|
||||
rev = version;
|
||||
hash = "sha256-+LxvPJkyq/6gtcBQepZ5pVGXP1/h30zhCHVfUGPUzFE=";
|
||||
hash = "sha256-uzev4x9jY6foop35z4dvUMIfjRtRqhNFDVFpagOosAc";
|
||||
};
|
||||
|
||||
addonsSrc = "${src}/addons";
|
||||
@ -56,7 +56,7 @@ let
|
||||
# Fetches the Yarn modules in Nix to to be used as an offline cache
|
||||
yarnOfflineCache = fetchYarnDeps {
|
||||
yarnLock = "${addonsSrc}/yarn.lock";
|
||||
sha256 = "sha256-3JFrVk78EiNVLLXkCFbuRnXwYHNfVv1pBPBS1yCHtPU=";
|
||||
sha256 = "sha256-3JFrVk78EiNVLLXkCFbuRnXwYHNfVv1pBPBS1yCHtPU";
|
||||
};
|
||||
|
||||
# Builds the NodeJS server that runs with `sl web`
|
||||
@ -113,10 +113,10 @@ python3Packages.buildPythonApplication {
|
||||
lockFile = ./Cargo.lock;
|
||||
outputHashes = {
|
||||
"abomonation-0.7.3+smallvec1" = "sha256-AxEXR6GC8gHjycIPOfoViP7KceM29p2ZISIt4iwJzvM=";
|
||||
"cloned-0.1.0" = "sha256-dtAyQq6fgxvr1RXPQHGiCQesvitsKpVkis4c50uolLc=";
|
||||
"fb303_core-0.0.0" = "sha256-j+4zPXxewRxJsPQaAfvcpSkGNKw3d+inVL45Ibo7Q4E=";
|
||||
"fbthrift-0.0.1+unstable" = "sha256-fsIL07PFu645eJFttIJU4sRSjIVuA4BMJ6kYAA0BpwY=";
|
||||
"serde_bser-0.3.1" = "sha256-h50EJL6twJwK90sBXu40Oap4SfiT4kQAK1+bA8XKdHw=";
|
||||
"cloned-0.1.0" = "sha256-mzAqjM8qovZAd4ZF0GDuD0Ns/UztAO1pAJhukuKc5a0=";
|
||||
"fb303_core-0.0.0" = "sha256-x8I0Lty+sRclpkNMqTMc29J46z/vMsVwOUS3EX7Shes=";
|
||||
"fbthrift-0.0.1+unstable" = "sha256-yTS1wkh8tETZ4K43V0G+TbkN5jgSlXT0endDPBHa1Ps=";
|
||||
"serde_bser-0.3.1" = "sha256-vvMCa6mlcr+xazxZVl2bcF8/r+ufzZmiQ79KofZGWrA=";
|
||||
};
|
||||
};
|
||||
postPatch = ''
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"links": [],
|
||||
"version": "0.2.20231113-145254+995db0d6",
|
||||
"versionHash": "214505116687308775"
|
||||
"version": "0.2.20240116-133042+8acecb66",
|
||||
"versionHash": "11094621090461381576"
|
||||
}
|
||||
|
@ -1,23 +1,28 @@
|
||||
{ lib
|
||||
, mkDerivation
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, autoPatchelfHook
|
||||
, wrapQtAppsHook
|
||||
, hidapi
|
||||
, readline
|
||||
, qtsvg
|
||||
, qtxmlpatterns
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
stdenv.mkDerivation {
|
||||
pname = "flirc";
|
||||
version = "3.24.3";
|
||||
version = "3.27.10";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://web.archive.org/web/20211021211803/http://apt.flirc.tv/arch/x86_64/flirc.latest.x86_64.tar.gz";
|
||||
sha256 = "0p4pp7j70lbw6m25lmjg6ibc67r6jcy7qs3kki9f86ji1jvrxpga";
|
||||
url = "https://web.archive.org/web/20240110170238/http://apt.flirc.tv/arch/x86_64/flirc.latest.x86_64.tar.gz";
|
||||
hash = "sha256-iTr4vzFQ/+dsbsYD6sc8aTHctTkLKf5HnHBnO7cX5qc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoPatchelfHook ];
|
||||
nativeBuildInputs = [
|
||||
autoPatchelfHook
|
||||
wrapQtAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
hidapi
|
||||
readline
|
||||
|
@ -12,13 +12,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "media-downloader";
|
||||
version = "4.1.0";
|
||||
version = "4.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mhogomchungu";
|
||||
repo = "media-downloader";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-x2uM4z4nQd761aj8PVlFH0MbWzwWRiR7ItzLQVOc1Zw=";
|
||||
hash = "sha256-hQLrs4RyHUtcG03h0nCn3uMsHEskGKMVwUkcssGZQLs=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -43,6 +43,8 @@ mkDerivation rec {
|
||||
configureFlags =
|
||||
[ "--dvb-path=${linuxHeaders}/include" ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://www.mythtv.org/";
|
||||
description = "Open Source DVR";
|
||||
|
3284
pkgs/applications/video/obs-studio/plugins/obs-livesplit-one/Cargo.lock
generated
Normal file
3284
pkgs/applications/video/obs-studio/plugins/obs-livesplit-one/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
@ -9,16 +9,21 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "obs-livesplit-one";
|
||||
version = "0.2.0";
|
||||
version = "0.3.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "CryZe";
|
||||
owner = "LiveSplit";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-C1u4z7iQUETM84kf6S6obw+C0ox8J9gMJoVP3/3ZoYw=";
|
||||
sha256 = "sha256-3B3P1PlzIlpVqHJMKWpEnWXGgD/IaiWM1FVKn0BtRj0=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-mQ0TR4DL4bA5u4IL3RY9aLxU5G6qQ5W5xuNadiXGeB0=";
|
||||
cargoLock = {
|
||||
lockFile = ./Cargo.lock;
|
||||
outputHashes = {
|
||||
"livesplit-auto-splitting-0.1.0" = "sha256-/xQEVJH6m6nH5Z1kuOPEElOcOqJmiG9Q8cOx0e6p3Wc=";
|
||||
};
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config ];
|
||||
buildInputs = [ fontconfig obs-studio ];
|
||||
@ -30,7 +35,7 @@ rustPlatform.buildRustPackage rec {
|
||||
|
||||
meta = with lib; {
|
||||
description = "OBS Studio plugin for adding LiveSplit One as a source";
|
||||
homepage = "https://github.com/CryZe/obs-livesplit-one";
|
||||
homepage = "https://github.com/LiveSplit/obs-livesplit-one";
|
||||
license = with licenses; [ asl20 mit ];
|
||||
maintainers = [ maintainers.Bauke ];
|
||||
platforms = obs-studio.meta.platforms;
|
||||
|
@ -6,12 +6,12 @@
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "streamlink";
|
||||
version = "6.5.0";
|
||||
version = "6.5.1";
|
||||
format = "pyproject";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-j01hWTvM4Q+NXoTKlWqsT6Y5wKNJ5983mDQ3Oog5Zu0=";
|
||||
hash = "sha256-IH+0zpnDW/6xuPfHa5bPy0B2rWiBxh6upVPC7BPZfFc=";
|
||||
};
|
||||
|
||||
nativeCheckInputs = with python3Packages; [
|
||||
|
@ -15,13 +15,13 @@
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "tartube";
|
||||
version = "2.4.221";
|
||||
version = "2.5.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "axcore";
|
||||
repo = "tartube";
|
||||
rev = "refs/tags/v${version}";
|
||||
sha256 = "sha256-A5p4olnXak22410DOKIPpZ6MQGR5aS2ARWO+083bSuQ=";
|
||||
sha256 = "sha256-IcJDh8Q9K6SROZWVi98R1N2kSdgwJczScLdJFKy2FIU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -11,13 +11,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "miriway";
|
||||
version = "unstable-2024-01-01";
|
||||
version = "unstable-2024-01-19";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Miriway";
|
||||
repo = "Miriway";
|
||||
rev = "58fac84a9c3a049d2e71ffc125e157a906897aa8";
|
||||
hash = "sha256-Tx+BWaiFHJ54K2eHbHVnkePV+YIktGFWbs/rLoNINPY=";
|
||||
rev = "f07e593576cd5f8cddbad9c35e1fbfdfcb8e7de9";
|
||||
hash = "sha256-KIsgaf18UM9fg5ULy7MO4pFIXSpdDoPuEuRcsqnAcJ0=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
|
@ -264,25 +264,6 @@ stdenv.mkDerivation {
|
||||
inherit bintools;
|
||||
inherit cc libc libcxx nativeTools nativeLibc nativePrefix isGNU isClang;
|
||||
|
||||
# Expose the C++ standard library we're using. See the comments on "General
|
||||
# libc++ support". This is also relevant when using older gcc than the
|
||||
# stdenv's, as may be required e.g. by CUDAToolkit's nvcc.
|
||||
cxxStdlib =
|
||||
let
|
||||
givenLibcxx = libcxx.isLLVM or false;
|
||||
givenGccForLibs = useGccForLibs && gccForLibs.langCC or false;
|
||||
in
|
||||
if (!givenLibcxx) && givenGccForLibs then
|
||||
{ kind = "libstdc++"; package = gccForLibs; solib = gccForLibs_solib; }
|
||||
else if givenLibcxx then
|
||||
{ kind = "libc++"; package = libcxx; solib = libcxx_solib;}
|
||||
else
|
||||
# We're probably using the `libstdc++` that came with our `gcc`.
|
||||
# TODO: this is maybe not always correct?
|
||||
# TODO: what happens when `nativeTools = true`?
|
||||
{ kind = "libstdc++"; package = cc; solib = cc_solib; }
|
||||
;
|
||||
|
||||
emacsBufferSetup = pkgs: ''
|
||||
; We should handle propagation here too
|
||||
(mapc
|
||||
@ -462,13 +443,6 @@ stdenv.mkDerivation {
|
||||
echo "-L${gccForLibs}/lib/gcc/${targetPlatform.config}/${gccForLibs.version}" >> $out/nix-support/cc-ldflags
|
||||
echo "-L${gccForLibs_solib}/lib" >> $out/nix-support/cc-ldflags
|
||||
''
|
||||
# The above "fix" may be incorrect; gcc.cc.lib doesn't contain a
|
||||
# `target-triple` dir but the correct fix may be to just remove the above?
|
||||
#
|
||||
# For clang it's not necessary (see `--gcc-toolchain` below) and for other
|
||||
# situations adding in the above will bring in lots of other gcc libraries
|
||||
# (i.e. sanitizer libraries, `libatomic`, `libquadmath`) besides just
|
||||
# `libstdc++`; this may actually break clang.
|
||||
|
||||
# TODO We would like to connect this to `useGccForLibs`, but we cannot yet
|
||||
# because `libcxxStdenv` on linux still needs this. Maybe someday we'll
|
||||
|
@ -188,6 +188,7 @@ lib.recurseIntoAttrs {
|
||||
fsharp = expectSuccess (makeFSharpWriter {
|
||||
libraries = { fetchNuGet }: [
|
||||
(fetchNuGet { pname = "FSharp.SystemTextJson"; version = "0.17.4"; sha256 = "1bplzc9ybdqspii4q28l8gmfvzpkmgq5l1hlsiyg2h46w881lwg2"; })
|
||||
(fetchNuGet { pname = "System.Text.Json"; version = "4.6.0"; sha256 = "0ism236hwi0k6axssfq58s1d8lihplwiz058pdvl8al71hagri39"; })
|
||||
];
|
||||
} "test-writers-fsharp" ''
|
||||
#r "nuget: FSharp.SystemTextJson, 0.17.4"
|
||||
|
@ -5,13 +5,13 @@
|
||||
}:
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "arxiv-latex-cleaner";
|
||||
version = "1.0.1";
|
||||
version = "1.0.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "google-research";
|
||||
repo = "arxiv-latex-cleaner";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-1IWSDKEoAM4hBKAEEcPq7X89WYDprifDL2GTEJQtdcQ=";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-kM1eCzXipJ6GuYFA9Na2C0HtwHLotmE63nyUZ+9wkkk=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
|
@ -7,7 +7,7 @@
|
||||
|
||||
let
|
||||
pname = "beekeeper-studio";
|
||||
version = "4.0.3";
|
||||
version = "4.1.13";
|
||||
|
||||
plat = {
|
||||
aarch64-linux = "-arm64";
|
||||
@ -15,8 +15,8 @@ let
|
||||
}.${stdenv.hostPlatform.system};
|
||||
|
||||
hash = {
|
||||
aarch64-linux = "sha256-PdRGZedNMZtGPI6Za2T94yKXvk6JoMoAot/kFKsBqQs=";
|
||||
x86_64-linux = "sha256-P2HlCb0dai4cJlKcT9LLQ+njViD+oHS3KI2YdR5jR44=";
|
||||
aarch64-linux = "sha256-8gcxYQ6ZvYC42V/vShFgalJtm8SGZRwtUfwUF9ZirBo=";
|
||||
x86_64-linux = "sha256-Yfpm6//hhYVKX3YipzmFj3NgEsL2h3eW+9yC0yYiDgk=";
|
||||
}.${stdenv.hostPlatform.system};
|
||||
|
||||
src = fetchurl {
|
||||
|
41
pkgs/by-name/ca/candy-icons/package.nix
Normal file
41
pkgs/by-name/ca/candy-icons/package.nix
Normal file
@ -0,0 +1,41 @@
|
||||
{ lib
|
||||
, stdenvNoCC
|
||||
, fetchFromGitHub
|
||||
, gtk3
|
||||
}:
|
||||
|
||||
stdenvNoCC.mkDerivation {
|
||||
pname = "candy-icons";
|
||||
version = "unstable-2023-12-31";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "EliverLara";
|
||||
repo = "candy-icons";
|
||||
rev = "e4464d7b4d8e1821025447b2064b6a8f5c4c8c89";
|
||||
hash = "sha256-XdYjxWf8R4b1GK2iFQnoEOWykc19ZT37ki83WeESQBM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
gtk3
|
||||
];
|
||||
|
||||
dontDropIconThemeCache = true;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/share/icons/candy-icons
|
||||
cp -r . $out/share/icons/candy-icons
|
||||
gtk-update-icon-cache $out/share/icons/candy-icons
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/EliverLara/candy-icons";
|
||||
description = "An icon theme colored with sweet gradients";
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ clr-cera ];
|
||||
};
|
||||
}
|
@ -14,16 +14,16 @@ let
|
||||
in
|
||||
buildGoModule rec {
|
||||
pname = "centrifugo";
|
||||
version = "5.2.0";
|
||||
version = "5.2.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "centrifugal";
|
||||
repo = "centrifugo";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-lD7hUCXHH1nUN58rbn/p8BnVahEwF/jKrAtjwuXB4PM=";
|
||||
hash = "sha256-6N7/YTL18plTbpUr7rn7wzpKNmRqz4hqGTTZ02DpWcs=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-s92P4PoYN2/L7pwGT0d/0E/KUNR1GT9DUhtHjAncNf4=";
|
||||
vendorHash = "sha256-4cBHX7Vhfpd5Z0rZmY0Cl0vgLK2WczKcFhHheBA68aA=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
|
@ -8,13 +8,13 @@
|
||||
}:
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "cosmic-icons";
|
||||
version = "unstable-2023-08-30";
|
||||
version = "unstable-2023-11-28";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pop-os";
|
||||
repo = pname;
|
||||
rev = "14d8e2048087be1ad444f9b3ebb75885509f72c6";
|
||||
sha256 = "sha256-WbdgHmTn403x95x9wEYL0T9ksbN+YLzEB2yE0UrF9T0=";
|
||||
rev = "1e328dacc117c21000a000a3170a801f467f3c2b";
|
||||
sha256 = "sha256-QmCHkqSPWfZhofh4ieJhl4yjt0R4J15+xElbszHS/4M=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ just ];
|
||||
|
1157
pkgs/by-name/co/cosmic-term/Cargo.lock
generated
1157
pkgs/by-name/co/cosmic-term/Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
@ -1,31 +1,30 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
rust,
|
||||
rustPlatform,
|
||||
cmake,
|
||||
makeBinaryWrapper,
|
||||
cosmic-icons,
|
||||
just,
|
||||
pkg-config,
|
||||
libxkbcommon,
|
||||
libinput,
|
||||
fontconfig,
|
||||
freetype,
|
||||
wayland,
|
||||
xorg
|
||||
{ lib
|
||||
, cosmic-icons
|
||||
, fetchFromGitHub
|
||||
, fontconfig
|
||||
, freetype
|
||||
, just
|
||||
, libglvnd
|
||||
, libinput
|
||||
, libxkbcommon
|
||||
, makeBinaryWrapper
|
||||
, mesa
|
||||
, pkg-config
|
||||
, rustPlatform
|
||||
, stdenv
|
||||
, vulkan-loader
|
||||
, wayland
|
||||
, xorg
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "cosmic-term";
|
||||
version = "unstable-2023-12-26";
|
||||
|
||||
version = "0-unstable-2024-01-19";
|
||||
src = fetchFromGitHub {
|
||||
owner = "pop-os";
|
||||
repo = pname;
|
||||
rev = "bf3f507fdd73a06ab1f9b199a98dca6988aafec2";
|
||||
hash = "sha256-c5RNrC0AZvz+O3nj7VvMQuA/U0sgxZCVHn+cc+4pIN8=";
|
||||
rev = "6d519018a070e25db0cd099a2752a7add4d6b138";
|
||||
hash = "sha256-gfvBLrhq6Bz6cQdgiLH5o8vyptOT+q3xwUYoDG6eGTY=";
|
||||
};
|
||||
|
||||
cargoLock = {
|
||||
@ -33,12 +32,13 @@ rustPlatform.buildRustPackage rec {
|
||||
outputHashes = {
|
||||
"accesskit-0.11.0" = "sha256-xVhe6adUb8VmwIKKjHxwCwOo5Y1p3Or3ylcJJdLDrrE=";
|
||||
"atomicwrites-0.4.2" = "sha256-QZSuGPrJXh+svMeFWqAXoqZQxLq/WfIiamqvjJNVhxA=";
|
||||
"cosmic-config-0.1.0" = "sha256-V371fmSmLIwUxtx6w+C55cBJ8oyYgN86r3FZ8rGBLEs=";
|
||||
"cosmic-text-0.10.0" = "sha256-/4Hg+7R0LRF4paXIREkMOTtbQ1xgONym5nKb/TuyeD4=";
|
||||
"glyphon-0.3.0" = "sha256-T7hvqtR3zi9wNemFrPPGakq2vEraLpnPkN7umtumwVg=";
|
||||
"cosmic-config-0.1.0" = "sha256-uo4So9I/jD3LPfigyKwESUdZiK1wqm7rg9wYwyv4uKc=";
|
||||
"cosmic-text-0.10.0" = "sha256-S0GkKUiUsSkL1CZHXhtpQy7Mf5+6fqNuu33RRtxG3mE=";
|
||||
"glyphon-0.4.1" = "sha256-mwJXi63LTBIVFrFcywr/NeOJKfMjQaQkNl3CSdEgrZc=";
|
||||
"libc-0.2.151" = "sha256-VcNTcLOnVXMlX86yeY0VDfIfKOZyyx/DO1Hbe30BsaI=";
|
||||
"sctk-adwaita-0.5.4" = "sha256-yK0F2w/0nxyKrSiHZbx7+aPNY2vlFs7s8nu/COp2KqQ=";
|
||||
"softbuffer-0.3.3" = "sha256-eKYFVr6C1+X6ulidHIu9SP591rJxStxwL9uMiqnXx4k=";
|
||||
"smithay-client-toolkit-0.16.1" = "sha256-z7EZThbh7YmKzAACv181zaEZmWxTrMkFRzP0nfsHK6c=";
|
||||
"softbuffer-0.3.3" = "sha256-eKYFVr6C1+X6ulidHIu9SP591rJxStxwL9uMiqnXx4k=";
|
||||
"taffy-0.3.11" = "sha256-SCx9GEIJjWdoNVyq+RZAGn0N71qraKZxf9ZWhvyzLaI=";
|
||||
"winit-0.28.6" = "sha256-FhW6d2XnXCGJUMoT9EMQew9/OPXiehy/JraeCiVd76M=";
|
||||
};
|
||||
@ -49,18 +49,20 @@ rustPlatform.buildRustPackage rec {
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
just
|
||||
pkg-config
|
||||
makeBinaryWrapper
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
libxkbcommon
|
||||
xorg.libX11
|
||||
libinput
|
||||
fontconfig
|
||||
freetype
|
||||
libglvnd
|
||||
libinput
|
||||
libxkbcommon
|
||||
vulkan-loader
|
||||
wayland
|
||||
xorg.libX11
|
||||
];
|
||||
|
||||
dontUseJustBuild = true;
|
||||
@ -71,23 +73,40 @@ rustPlatform.buildRustPackage rec {
|
||||
(placeholder "out")
|
||||
"--set"
|
||||
"bin-src"
|
||||
"target/${
|
||||
rust.lib.toRustTargetSpecShort stdenv.hostPlatform
|
||||
}/release/cosmic-term"
|
||||
"target/${stdenv.hostPlatform.rust.cargoShortTarget}/release/cosmic-term"
|
||||
];
|
||||
|
||||
# Force linking to libEGL, which is always dlopen()ed, and to
|
||||
# libwayland-client, which is always dlopen()ed except by the
|
||||
# obscure winit backend.
|
||||
RUSTFLAGS = map (a: "-C link-arg=${a}") [
|
||||
"-Wl,--push-state,--no-as-needed"
|
||||
"-lEGL"
|
||||
"-lwayland-client"
|
||||
"-Wl,--pop-state"
|
||||
];
|
||||
|
||||
# LD_LIBRARY_PATH can be removed once tiny-xlib is bumped above 0.2.2
|
||||
postInstall = ''
|
||||
wrapProgram "$out/bin/${pname}" \
|
||||
--suffix XDG_DATA_DIRS : "${cosmic-icons}/share" \
|
||||
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ xorg.libX11 xorg.libXcursor xorg.libXrandr xorg.libXi wayland libxkbcommon ]}
|
||||
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [
|
||||
libxkbcommon
|
||||
mesa.drivers
|
||||
vulkan-loader
|
||||
xorg.libX11
|
||||
xorg.libXcursor
|
||||
xorg.libXi
|
||||
xorg.libXrandr
|
||||
]}
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/pop-os/cosmic-term";
|
||||
description = "Terminal for the COSMIC Desktop Environment";
|
||||
license = licenses.gpl3Only;
|
||||
maintainers = with maintainers; [ ahoneybun ];
|
||||
maintainers = with maintainers; [ ahoneybun nyanbinary ];
|
||||
platforms = platforms.linux;
|
||||
mainProgram = "cosmic-term";
|
||||
};
|
||||
}
|
||||
|
@ -8,14 +8,14 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "debianutils";
|
||||
version = "5.15";
|
||||
version = "5.16";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "salsa.debian.org";
|
||||
owner = "debian";
|
||||
repo = "debianutils";
|
||||
rev = "debian/${finalAttrs.version}";
|
||||
hash = "sha256-o9HPiJCKcTJSoVDCjUcYPkqa6wnAuvCFOFhPdPSKS3A=";
|
||||
hash = "sha256-v0sEk0xnFjWsBoDBge57kbANn8afP2EAImgwFihq7bI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -13,11 +13,11 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
name = "dorion";
|
||||
version = "3.1.1";
|
||||
version = "4.0.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/SpikeHD/Dorion/releases/download/v${finalAttrs.version }/Dorion_${finalAttrs.version}_amd64.deb";
|
||||
hash = "sha256-wvlmR4IlWOKF+T6Uuc6MainWs+cqeJMO9E6Suc/4QMU=";
|
||||
hash = "sha256-vUa7QgOBwLJe36SqD7OCz5uM60/rLmNnM+AWGE/g3jM=";
|
||||
};
|
||||
|
||||
unpackCmd = ''
|
||||
|
@ -6,13 +6,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "eksctl";
|
||||
version = "0.167.0";
|
||||
version = "0.168.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "weaveworks";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-8CxXfjYN9i2AxuKeYmmYN0TQROGkurfmzbqU+aOMbTY=";
|
||||
hash = "sha256-npnsBWhs9GJXBFvEPt+8QVdHIUj/fQ6GpYpbXyVQG3U=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-cuLzn0OZ5VC+RWGsJ8DCdJN8wm0DrsjH55K/cnyuqB8=";
|
||||
|
39
pkgs/by-name/el/elf2nucleus/package.nix
Normal file
39
pkgs/by-name/el/elf2nucleus/package.nix
Normal file
@ -0,0 +1,39 @@
|
||||
{
|
||||
installShellFiles
|
||||
, fetchFromGitHub
|
||||
, lib
|
||||
, micronucleus
|
||||
, rustPlatform
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "elf2nucleus";
|
||||
version = "0.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kpcyrd";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-FAIOtGfGow+0DrPPEBEfvaiinNZLQlGWKJ4DkMj63OA=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-IeQnI6WTzxSI/VzoHtVukZtB1jX98wzLOT01NMLD5wQ=";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
buildInputs = [ micronucleus ];
|
||||
|
||||
postInstall = ''
|
||||
installShellCompletion --cmd elf2nucleus \
|
||||
--bash <($out/bin/elf2nucleus --completions bash) \
|
||||
--fish <($out/bin/elf2nucleus --completions fish) \
|
||||
--zsh <($out/bin/elf2nucleus --completions zsh)
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Integrate micronucleus into the cargo buildsystem, flash an AVR firmware from an elf file";
|
||||
homepage = "https://github.com/kpcyrd/elf2nucleus";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = [ maintainers.marble ];
|
||||
};
|
||||
}
|
@ -17,16 +17,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "eza";
|
||||
version = "0.17.1";
|
||||
version = "0.17.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "eza-community";
|
||||
repo = "eza";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-PItKMPaqDG8L0dYHl8cLoyieljNpP41HLIFfpcLerNg=";
|
||||
hash = "sha256-FcBfi87D3+7MLCBW1+9eZCKSDioDJsZ4u3e6KGvQ3kc=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-PrKP9Akv+qionFTHtlrY8bzaX9HaobhBJGVRMvXWfZU=";
|
||||
cargoHash = "sha256-E3s16hCZ4qc535YV1xdnsBZAPo50T43ZBiIdKvjd4s0=";
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config installShellFiles pandoc ];
|
||||
buildInputs = [ zlib ]
|
||||
|
43
pkgs/by-name/fa/fac/package.nix
Normal file
43
pkgs/by-name/fa/fac/package.nix
Normal file
@ -0,0 +1,43 @@
|
||||
{ lib
|
||||
, buildGoModule
|
||||
, fetchFromGitHub
|
||||
, makeBinaryWrapper
|
||||
, installShellFiles
|
||||
, git
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "fac";
|
||||
version = "2.0.0-unstable-2023-12-29";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mkchoi212";
|
||||
repo = "fac";
|
||||
rev = "d232b05149564701ca3a21cd1a07be2540266cb2";
|
||||
hash = "sha256-puSHbrzxTUebK1qRdWh71jY/f7TKgONS45T7PcZcy00=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-bmGRVTjleAFS5GGf2i/zN8k3SBtaEc3RbKSVZyF6eN4=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
makeBinaryWrapper
|
||||
installShellFiles
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
wrapProgram $out/bin/fac \
|
||||
--prefix PATH : ${lib.makeBinPath [ git ]}
|
||||
|
||||
# Install man page, not installed by default
|
||||
installManPage assets/doc/fac.1
|
||||
'';
|
||||
|
||||
meta = {
|
||||
changelog = "https://github.com/mkchoi212/fac/releases/tag/v${version}";
|
||||
description = "CUI for fixing git conflicts";
|
||||
homepage = "https://github.com/mkchoi212/fac";
|
||||
license = lib.licenses.mit;
|
||||
mainProgram = "fac";
|
||||
maintainers = with lib.maintainers; [ dtzWill ];
|
||||
};
|
||||
}
|
@ -13,13 +13,13 @@
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "hdrop";
|
||||
version = "0.3.0";
|
||||
version = "0.4.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Schweber";
|
||||
repo = "hdrop";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-IVLc1USBkkIBEll1jRIAAszyGCmpw5Sy74Zyalv3W+w=";
|
||||
hash = "sha256-eLOu7xmFphTxCtyyXdM9VkNcUpefefuZMAQtOV4FVtU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
307
pkgs/by-name/ht/htb-toolkit/disable-shell-prompt-change.patch
Normal file
307
pkgs/by-name/ht/htb-toolkit/disable-shell-prompt-change.patch
Normal file
@ -0,0 +1,307 @@
|
||||
--- a/src/main.rs 2024-01-17 23:44:21.346253718 +0100
|
||||
+++ b/src/main.rs 2024-01-17 23:48:54.536921610 +0100
|
||||
@@ -15,7 +15,6 @@
|
||||
use crate::utils::*;
|
||||
use crate::vpn::*;
|
||||
use std::fs;
|
||||
-use std::path::Path;
|
||||
use std::process::Command;
|
||||
|
||||
#[tokio::main]
|
||||
@@ -44,16 +43,6 @@
|
||||
eprintln!("Error creating folder: {}", err);
|
||||
}
|
||||
}
|
||||
-
|
||||
- // Create HTB config file if not existing
|
||||
- let htb_config = format!("{}/.htb.conf", home);
|
||||
-
|
||||
- let file = Path::new(&htb_config);
|
||||
- if !file.exists() {
|
||||
- let lines = ["# HTB configuration file.\n\n", "# Enable/Disable shell prompt change\n", "prompt_change=true\n"];
|
||||
- fs::write(&htb_config, lines.join(""))
|
||||
- .expect("Failed to create HTB config file");
|
||||
- }
|
||||
|
||||
// Initialize Xorg in WSL for secret-tool popup window
|
||||
if is_wsl() && is_display_zero() {
|
||||
@@ -104,13 +93,6 @@
|
||||
let _ = play_machine(&args[2]).await;
|
||||
}
|
||||
}
|
||||
- "-p" => {
|
||||
- if args.len() < 3 || (args[2] != "true" && args[2] != "false") {
|
||||
- println!("Usage: {} -p <true|false>", args[0]);
|
||||
- } else {
|
||||
- prompt_setting(&args[2]);
|
||||
- }
|
||||
- }
|
||||
"-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 @@
|
||||
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;
|
||||
}
|
||||
- let mut user_info = PlayingUser::get_playinguser(&appkey).await;
|
||||
|
||||
// SP Machines change IP address when reset, so need to ask to write /etc/hosts
|
||||
if machine_info.sp_flag {
|
||||
let _ = add_hosts(&machine_info);
|
||||
}
|
||||
-
|
||||
- change_shell(&mut machine_info, &mut user_info);
|
||||
}
|
||||
|
||||
pub async fn stop_machine() {
|
||||
- let htb_path = format!("{}/.htb.conf", env::var("HOME").unwrap());
|
||||
- let htbconfig = HTBConfig::get_current_config(&htb_path);
|
||||
let appkey = get_appkey();
|
||||
let active_machine = ActiveMachine::get_active(&appkey).await;
|
||||
|
||||
@@ -126,31 +121,9 @@
|
||||
|
||||
// Await the result of the blocking task
|
||||
blocking_task.await.expect("Blocking task failed");
|
||||
-
|
||||
- if htbconfig.promptchange { //If the prompt is set to change during the playing, when you stop the machine, it should restore the original shell
|
||||
- restore_shell();
|
||||
- }
|
||||
}
|
||||
}
|
||||
|
||||
-pub fn prompt_setting(option: &str) {
|
||||
- let home = env::var("HOME").unwrap_or_default();
|
||||
- let htb_config = format!("{}/.htb.conf", home);
|
||||
-
|
||||
- let content = fs::read_to_string(&htb_config)
|
||||
- .expect("Failed to read HTB config file");
|
||||
-
|
||||
- let re = Regex::new(r"prompt_change=\w+")
|
||||
- .expect("Failed to create regular expression");
|
||||
-
|
||||
- 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);
|
||||
-}
|
||||
-
|
||||
pub async fn update_machines() -> io::Result<()> {
|
||||
|
||||
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
|
||||
@@ -4,7 +4,6 @@
|
||||
use crate::types::*;
|
||||
use crate::utils::*;
|
||||
use crate::vpn::*;
|
||||
-use std::env;
|
||||
use std::io::{self,Write};
|
||||
use reqwest::Client;
|
||||
use serde::Serialize;
|
||||
@@ -29,8 +28,6 @@
|
||||
pub async fn play_machine(machine_name: &str) -> Result<(), Box<dyn std::error::Error>> {
|
||||
let appkey = get_appkey();
|
||||
let appkey_clone = appkey.clone(); // Clone the necessary data to avoid borrowed value error
|
||||
- let htb_path = format!("{}/.htb.conf", env::var("HOME").unwrap());
|
||||
- let htbconfig = HTBConfig::get_current_config(&htb_path);
|
||||
|
||||
let mut machine_info = PlayingMachine::get_machine(machine_name, &appkey).await;
|
||||
|
||||
@@ -103,7 +100,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)
|
||||
|
||||
- let mut user_info = PlayingUser::get_playinguser(&appkey_clone).await; // Before this it is needed to run HTB VPN to take the Attacker IP address
|
||||
+ let user_info = PlayingUser::get_playinguser(&appkey_clone).await; // Before this it is needed to run HTB VPN to take the Attacker IP address
|
||||
|
||||
let _ = print_banner();
|
||||
|
||||
@@ -115,10 +112,6 @@
|
||||
println!("{}Hey! You have already found the Root Flag! Keep it up!{}", BGREEN, RESET);
|
||||
}
|
||||
|
||||
- if htbconfig.promptchange { //If the prompt is set to change during the playing...
|
||||
- change_shell(&mut machine_info, &mut user_info);
|
||||
- }
|
||||
-
|
||||
// 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
|
||||
@@ -2,7 +2,6 @@
|
||||
use crate::colors::*;
|
||||
use crate::utils::get_interface_ip;
|
||||
use core::time::Duration;
|
||||
-use std::fs;
|
||||
use std::process;
|
||||
use std::thread::sleep;
|
||||
|
||||
@@ -485,37 +484,4 @@
|
||||
ip: userip,
|
||||
}
|
||||
}
|
||||
-}
|
||||
-
|
||||
-pub struct HTBConfig {
|
||||
- pub promptchange: bool,
|
||||
-}
|
||||
-
|
||||
-impl HTBConfig {
|
||||
-
|
||||
- pub fn get_current_config(htb_config: &str) -> Self {
|
||||
- HTBConfig {
|
||||
- promptchange: Self::get_prompt_change(htb_config),
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- fn get_prompt_change(htb_config: &str) -> bool {
|
||||
- let prompt_change = fs::read_to_string(htb_config).expect("Failed to read htconfig.");
|
||||
-
|
||||
- let change_prompt = prompt_change.lines()
|
||||
- .find(|line| line.starts_with("prompt_change="))
|
||||
- .map(|line| line.split('=').nth(1).unwrap_or_default())
|
||||
- .unwrap_or_default();
|
||||
-
|
||||
- // Convert the change_prompt string to a bool
|
||||
-
|
||||
- match change_prompt {
|
||||
- "true" => true,
|
||||
- "false" => false,
|
||||
- _ => {
|
||||
- // Handle other cases if needed, e.g., return a default value
|
||||
- false
|
||||
- }
|
||||
- }
|
||||
- }
|
||||
}
|
||||
\ 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 @@
|
||||
use crate::types::*;
|
||||
use crate::vpn::*;
|
||||
use pnet::datalink;
|
||||
-use regex::Regex;
|
||||
use reqwest::Client;
|
||||
use std::fs;
|
||||
use std::net::IpAddr;
|
||||
@@ -13,96 +12,6 @@
|
||||
use tokio::io::{AsyncWriteExt, BufWriter};
|
||||
use tokio::sync::mpsc;
|
||||
|
||||
-pub fn change_shell(machine_info: &mut PlayingMachine, user_info: &mut PlayingUser) {
|
||||
- let result = std::env::var("SHELL").unwrap_or_default();
|
||||
- let mut file_bak = String::new();
|
||||
- let mut file = String::new();
|
||||
- let mut prompt = String::new();
|
||||
- let mut prompt_field = "";
|
||||
-
|
||||
- if result.contains("bash") {
|
||||
- file_bak = format!("{}/.bashrc.htb.bak", std::env::var("HOME").unwrap_or_default());
|
||||
- file = format!("{}/.bashrc", std::env::var("HOME").unwrap_or_default());
|
||||
- prompt = format!(
|
||||
- "PS1=\"\\e[32m\\]┌──[Target:{}🚀🌐IP:{}🔥\\e[34m\\]Attacker:{}📡IP:{}\\e[32m\\]🏅Prize:{} points]\\n└──╼[👾]\\\\[\\e[36m\\]\\$(pwd) $ \\[\\e[0m\\]\"",
|
||||
- machine_info.machine.name,
|
||||
- machine_info.ip,
|
||||
- user_info.user.name,
|
||||
- get_interface_ip("tun0").expect("Error on getting tun0 IP address"),
|
||||
- machine_info.machine.points
|
||||
- );
|
||||
- prompt_field = "PS1=.*";
|
||||
- } else if result.contains("fish") {
|
||||
- file_bak = format!("{}/.config/fish/functions/fish_prompt.fish.htb.bak", std::env::var("HOME").unwrap_or_default());
|
||||
- file = format!("{}/.config/fish/functions/fish_prompt.fish", std::env::var("HOME").unwrap_or_default());
|
||||
- prompt = format!(
|
||||
- r#"function fish_prompt
|
||||
- set_color 00ff00
|
||||
- echo -n "┌──[Target:{}🚀🌐IP:{}"
|
||||
- set_color ff00d7
|
||||
- echo -n "🔥Attacker:{}📡IP:{}"
|
||||
- set_color 00ff00
|
||||
- echo "🏅Prize:{} points]"
|
||||
- set_color 00ff00
|
||||
- echo -n "└──╼[👾]"
|
||||
- set_color 00ffff
|
||||
- echo (pwd) '$' (set_color normal)
|
||||
-end"#,
|
||||
- machine_info.machine.name,
|
||||
- machine_info.ip,
|
||||
- user_info.user.name,
|
||||
- get_interface_ip("tun0").expect("Error on getting tun0 IP address"),
|
||||
- machine_info.machine.points
|
||||
- );
|
||||
- } else if result.contains("zsh") {
|
||||
- file_bak = format!("{}/.zshrc.htb.bak", std::env::var("HOME").unwrap_or_default());
|
||||
- file = format!("{}/.zshrc", std::env::var("HOME").unwrap_or_default());
|
||||
- prompt = format!(
|
||||
- "PROMPT=\"%F{{46}}┌──[Target:{}🚀🌐IP:{}🔥%F{{201}}Attacker:{}📡IP:{}%F{{46}}🏅Prize:{} points]\"$'\\n'\"└──╼[👾]%F{{44}}%~ $%f \"" ,
|
||||
- machine_info.machine.name,
|
||||
- machine_info.ip,
|
||||
- user_info.user.name,
|
||||
- get_interface_ip("tun0").expect("Error on getting tun0 IP address"),
|
||||
- machine_info.machine.points
|
||||
- );
|
||||
- prompt_field = "PROMPT=.*";
|
||||
- }
|
||||
-
|
||||
- if !std::path::Path::new(&file_bak).exists() {
|
||||
- std::fs::copy(&file, &file_bak).unwrap_or_default();
|
||||
- }
|
||||
-
|
||||
- if result.contains("bash") || result.contains("zsh") {
|
||||
- let file_content = std::fs::read_to_string(&file).unwrap_or_default();
|
||||
- let regex = Regex::new(prompt_field).unwrap();
|
||||
- let new_file_content = regex.replace_all(&file_content, prompt);
|
||||
- std::fs::write(&file, new_file_content.as_ref()).unwrap_or_default();
|
||||
- } else if result.contains("fish") {
|
||||
- std::fs::write(&file, &prompt).unwrap_or_default();
|
||||
- }
|
||||
-}
|
||||
-
|
||||
-pub fn restore_shell() {
|
||||
- let result = env::var("SHELL").unwrap_or_default();
|
||||
- let mut file_bak = String::new();
|
||||
- let mut file = String::new();
|
||||
-
|
||||
- if result.contains("bash") {
|
||||
- file_bak = format!("{}/.bashrc.htb.bak", env::var("HOME").unwrap());
|
||||
- file = format!("{}/.bashrc", env::var("HOME").unwrap());
|
||||
- } else if result.contains("fish") {
|
||||
- file_bak = format!("{}/.config/fish/functions/fish_prompt.fish.htb.bak", env::var("HOME").unwrap());
|
||||
- file = format!("{}/.config/fish/functions/fish_prompt.fish", env::var("HOME").unwrap());
|
||||
- } else if result.contains("zsh") {
|
||||
- file_bak = format!("{}/.zshrc.htb.bak", env::var("HOME").unwrap());
|
||||
- file = format!("{}/.zshrc", env::var("HOME").unwrap());
|
||||
- }
|
||||
- if fs::metadata(&file).is_ok() && std::path::Path::new(&file_bak).exists() {
|
||||
- //Restore the prompt file from the backup
|
||||
- fs::copy(&file_bak, &file).expect("Failed to copy file");
|
||||
- }
|
||||
-}
|
||||
-
|
||||
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!("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
|
||||
- println!("{} [-h] [-a] [-f] [-k] <set|reset|delete> [-m] <machine-name> [-l] <free|retired|starting> [-p] <true|false> [-r] [-s] [-u] [-v] <vpn-name>", env::args().next().unwrap());
|
||||
+ println!("{} [-h] [-a] [-f] [-k] <set|reset|delete> [-m] <machine-name> [-l] <free|retired|starting> [-r] [-s] [-u] [-v] <vpn-name>", env::args().next().unwrap());
|
||||
println!();
|
||||
println!("Options:");
|
||||
println!("-a Print information about the current active machine.");
|
||||
@@ -193,7 +102,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.");
|
||||
- println!("-p <true|false> Set if the shell prompt should be changed.");
|
||||
println!("-r Reset the playing machine.");
|
||||
println!("-s Stop the playing machine.");
|
||||
println!("-u Update free machines in the Red Team menu.");
|
69
pkgs/by-name/ht/htb-toolkit/package.nix
Normal file
69
pkgs/by-name/ht/htb-toolkit/package.nix
Normal file
@ -0,0 +1,69 @@
|
||||
{ lib
|
||||
, rustPlatform
|
||||
, fetchFromGitHub
|
||||
, pkg-config
|
||||
, openssl
|
||||
, stdenv
|
||||
, darwin
|
||||
, coreutils
|
||||
, gnome
|
||||
, libsecret
|
||||
, bash
|
||||
, openvpn
|
||||
, nerdfonts
|
||||
, gzip
|
||||
, killall
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage {
|
||||
pname = "htb-toolkit";
|
||||
version = "unstable-2024-01-17";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "D3vil0p3r";
|
||||
repo = "htb-toolkit";
|
||||
# https://github.com/D3vil0p3r/htb-toolkit/issues/3
|
||||
rev = "54e11774ea8746ea540548082d3b25c22306b4fc";
|
||||
hash = "sha256-QYUqdqFV9Qn+VbJTnz5hx5I0XV1nrzCoCKtRS7jBLsE=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-XDE6A6EIAUbuzt8Zb/ROfDAPp0ZyN0WQ4D1gWHjRVhg=";
|
||||
|
||||
# Patch to disable prompt change of the shell when a target machine is run. Needed due to Nix declarative nature
|
||||
patches = [
|
||||
./disable-shell-prompt-change.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gnome.gnome-keyring
|
||||
openssl
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
darwin.apple_sdk.frameworks.Security
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace src/manage.rs \
|
||||
--replace /usr/share/htb-toolkit/icons/ $out/share/htb-toolkit/icons/
|
||||
substituteInPlace src/utils.rs \
|
||||
--replace /usr/bin/bash ${bash} \
|
||||
--replace "\"base64\"" "\"${coreutils}/bin/base64\"" \
|
||||
--replace "\"gunzip\"" "\"${gzip}/bin/gunzip\""
|
||||
substituteInPlace src/appkey.rs \
|
||||
--replace secret-tool ${lib.getExe libsecret}
|
||||
substituteInPlace src/vpn.rs \
|
||||
--replace "arg(\"openvpn\")" "arg(\"${openvpn}/bin/openvpn\")" \
|
||||
--replace "arg(\"killall\")" "arg(\"${killall}/bin/killall\")"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Play Hack The Box directly on your system";
|
||||
homepage = "https://github.com/D3vil0p3r/htb-toolkit";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ d3vil0p3r ];
|
||||
mainProgram = "htb-toolkit";
|
||||
};
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user