Merge master into haskell-updates

This commit is contained in:
github-actions[bot] 2024-09-09 00:16:33 +00:00 committed by GitHub
commit fee9184d2e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
217 changed files with 13427 additions and 10229 deletions

View File

@ -3575,6 +3575,12 @@
matrix = "@chayleaf:matrix.pavluk.org";
name = "Anna Pavlyuk";
};
cheeseecake = {
email = "chanelnjw@gmail.com";
github = "cheeseecake";
githubId = 34784816;
name = "Chanel";
};
chekoopa = {
email = "chekoopa@mail.ru";
github = "chekoopa";

View File

@ -44,6 +44,8 @@
- [FlareSolverr](https://github.com/FlareSolverr/FlareSolverr), proxy server to bypass Cloudflare protection. Available as [services.flaresolverr](#opt-services.flaresolverr.enable) service.
- [Gancio](https://gancio.org/), a shared agenda for local communities. Available as [services.gancio](#opt-services.gancio.enable).
- [Goatcounter](https://www.goatcounter.com/), Easy web analytics. No tracking of personal data. Available as [services.goatcounter](options.html#opt-services.goatcocunter.enable).
- [UWSM](https://github.com/Vladimir-csp/uwsm), a wayland session manager to wrap Wayland Compositors into useful systemd units such as `graphical-session.target`. Available as [programs.uwsm](#opt-programs.uwsm.enable).
@ -454,6 +456,8 @@
- Kanidm previously had an incorrect systemd service type, causing dependent units with an `after` and `requires` directive to start before `kanidm*` finished startup. The module has now been updated in line with upstream recommendations.
- The kubelet configuration file can now be amended with arbitrary additional content using the `services.kubernetes.kubelet.extraConfig` option.
- To facilitate dependency injection, the `imgui` package now builds a static archive using vcpkg' CMake rules.
The derivation now installs "impl" headers selectively instead of by a wildcard.
Use `imgui.src` if you just want to access the unpacked sources.

View File

@ -16,7 +16,7 @@
###### implementation
config = lib.mkIf config.hardware.cpu.amd.updateMicrocode {
# Microcode updates must be the first item prepended in the initrd
boot.initrd.prepend = lib.mkOrder 1 [ "${pkgs.microcodeAmd}/amd-ucode.img" ];
boot.initrd.prepend = lib.mkOrder 1 [ "${pkgs.microcode-amd}/amd-ucode.img" ];
};
}

View File

@ -16,7 +16,7 @@
###### implementation
config = lib.mkIf config.hardware.cpu.intel.updateMicrocode {
# Microcode updates must be the first item prepended in the initrd
boot.initrd.prepend = lib.mkOrder 1 [ "${pkgs.microcodeIntel}/intel-ucode.img" ];
boot.initrd.prepend = lib.mkOrder 1 [ "${pkgs.microcode-intel}/intel-ucode.img" ];
};
}

View File

@ -1411,6 +1411,7 @@
./services/web-apps/fluidd.nix
./services/web-apps/freshrss.nix
./services/web-apps/galene.nix
./services/web-apps/gancio.nix
./services/web-apps/gerrit.nix
./services/web-apps/glance.nix
./services/web-apps/gotify-server.nix

View File

@ -166,7 +166,7 @@ let
# ensure all required lock files exist, but none more
script = ''
GLOBIGNORE="${lib.concatStringsSep ":" concurrencyLockfiles}"
rm -f *
rm -f -- *
unset GLOBIGNORE
xargs touch <<< "${toString concurrencyLockfiles}"
@ -323,11 +323,11 @@ let
cat key.pem fullchain.pem > full.pem
# Group might change between runs, re-apply it
chown '${user}:${data.group}' *
chown '${user}:${data.group}' -- *
# Default permissions make the files unreadable by group + anon
# Need to be readable by group
chmod 640 *
chmod 640 -- *
'';
};
@ -410,7 +410,7 @@ let
expiration_line="$(
set -euxo pipefail
openssl x509 -noout -enddate <$pem \
openssl x509 -noout -enddate <"$pem" \
| grep notAfter \
| sed -e 's/^notAfter=//'
)"
@ -418,8 +418,8 @@ let
expiration_date="$(date -d "$expiration_line" +%s)"
now="$(date +%s)"
expiration_s=$[expiration_date - now]
expiration_days=$[expiration_s / (3600 * 24)] # rounds down
expiration_s=$((expiration_date - now))
expiration_days=$((expiration_s / (3600 * 24))) # rounds down
[[ $expiration_days -gt ${toString data.validMinDays} ]]
}
@ -441,7 +441,7 @@ let
# Check if we can renew.
# We can only renew if the list of domains has not changed.
# We also need an account key. Avoids #190493
if cmp -s domainhash.txt certificates/domainhash.txt && [ -e 'certificates/${keyName}.key' -a -e 'certificates/${keyName}.crt' -a -n "$(find accounts -name '${data.email}.key')" ]; then
if cmp -s domainhash.txt certificates/domainhash.txt && [ -e 'certificates/${keyName}.key' ] && [ -e 'certificates/${keyName}.crt' ] && [ -n "$(find accounts -name '${data.email}.key')" ]; then
# Even if a cert is not expired, it may be revoked by the CA.
# Try to renew, and silently fail if the cert is not expired.

View File

@ -66,6 +66,7 @@ let
// lib.optionalAttrs (cfg.clusterDomain != "") { clusterDomain = cfg.clusterDomain; }
// lib.optionalAttrs (cfg.clusterDns != []) { clusterDNS = cfg.clusterDns; }
// lib.optionalAttrs (cfg.featureGates != {}) { featureGates = cfg.featureGates; }
// lib.optionalAttrs (cfg.extraConfig != {}) cfg.extraConfig
));
manifestPath = "kubernetes/manifests";
@ -184,6 +185,12 @@ in
type = separatedString " ";
};
extraConfig = mkOption {
description = "Kubernetes kubelet extra configuration file entries.";
default = {};
type = attrsOf attrs;
};
featureGates = mkOption {
description = "Attribute set of feature gate";
default = top.featureGates;

View File

@ -29,7 +29,7 @@ in
'')
(lib.mkRemovedOptionModule [ "services" "samba" "extraConfig" ] "Use services.samba.settings instead.")
(lib.mkRenamedOptionModule [ "services" "samba" "invalidUsers" ] [ "services" "samba" "settings" "global" "invalid users" ])
(lib.mkRenamedOptionModule [ "services" "samba" "securityType" ] [ "services" "samba" "settings" "global" "security type" ])
(lib.mkRenamedOptionModule [ "services" "samba" "securityType" ] [ "services" "samba" "settings" "global" "security" ])
(lib.mkRenamedOptionModule [ "services" "samba" "shares" ] [ "services" "samba" "settings" ])
(lib.mkRenamedOptionModule [ "services" "samba" "enableWinbindd" ] [ "services" "samba" "winbindd" "enable" ])
@ -106,13 +106,39 @@ in
'';
settings = lib.mkOption {
type = lib.types.submodule { freeformType = settingsFormat.type; };
default = {};
type = lib.types.submodule {
freeformType = settingsFormat.type;
options = {
global.security = lib.mkOption {
type = lib.types.enum [ "auto" "user" "domain" "ads" ];
default = "user";
description = "Samba security type.";
};
global."invalid users" = lib.mkOption {
type = lib.types.listOf lib.types.str;
default = [ "root" ];
description = "List of users who are denied to login via Samba.";
apply = x: lib.concatStringsSep " " x;
};
global."passwd program" = lib.mkOption {
type = lib.types.str;
default = "/run/wrappers/bin/passwd %u";
description = "Path to a program that can be used to set UNIX user passwords.";
};
};
};
default = {
"global" = {
"security" = "user";
"passwd program" = "/run/wrappers/bin/passwd %u";
"invalid users" = [ "root" ];
};
};
example = {
"global" = {
"security" = "user";
"passwd program" = "/run/wrappers/bin/passwd %u";
"invalid users" = "root";
"invalid users" = [ "root" ];
};
"public" = {
"path" = "/srv/public";

View File

@ -0,0 +1,280 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.services.gancio;
settingsFormat = pkgs.formats.json { };
inherit (lib)
mkEnableOption
mkPackageOption
mkOption
types
literalExpression
mkIf
optional
mapAttrsToList
concatStringsSep
concatMapStringsSep
getExe
mkMerge
mkDefault
;
in
{
options.services.gancio = {
enable = mkEnableOption "Gancio, a shared agenda for local communities";
package = mkPackageOption pkgs "gancio" { };
plugins = mkOption {
type = with types; listOf package;
default = [ ];
example = literalExpression "[ pkgs.gancioPlugins.telegram-bridge ]";
description = ''
Paths of gancio plugins to activate (linked under $WorkingDirectory/plugins/).
'';
};
user = mkOption {
type = types.str;
description = "The user (and PostgreSQL database name) used to run the gancio server";
default = "gancio";
};
settings = mkOption rec {
type = types.submodule {
freeformType = settingsFormat.type;
options = {
hostname = mkOption {
type = types.str;
description = "The domain name under which the server is reachable.";
};
baseurl = mkOption {
type = types.str;
default = "";
example = "/gancio";
description = "The URL path under which the server is reachable.";
};
server = {
host = mkOption {
type = types.str;
default = "localhost";
example = "::";
description = ''
The address (IPv4, IPv6 or DNS) for the gancio server to listen on.
'';
};
port = mkOption {
type = types.port;
default = 13120;
description = ''
Port number of the gancio server to listen on.
'';
};
};
db = {
dialect = mkOption {
type = types.enum [
"sqlite"
"postgres"
];
default = "sqlite";
description = ''
The database dialect to use
'';
};
storage = mkOption {
description = ''
Location for the SQLite database.
'';
readOnly = true;
type = types.nullOr types.str;
default = if cfg.settings.db.dialect == "sqlite" then "/var/lib/gancio/db.sqlite" else null;
defaultText = ''
if cfg.settings.db.dialect == "sqlite" then "/var/lib/gancio/db.sqlite" else null
'';
};
host = mkOption {
description = ''
Connection string for the PostgreSQL database
'';
readOnly = true;
type = types.nullOr types.str;
default = if cfg.settings.db.dialect == "postgres" then "/run/postgresql" else null;
defaultText = ''
if cfg.settings.db.dialect == "postgres" then "/run/postgresql" else null
'';
};
database = mkOption {
description = ''
Name of the PostgreSQL database
'';
readOnly = true;
type = types.nullOr types.str;
default = if cfg.settings.db.dialect == "postgres" then cfg.user else null;
defaultText = ''
if cfg.settings.db.dialect == "postgres" then cfg.user else null
'';
};
};
log_level = mkOption {
description = "Gancio log level.";
type = types.enum [
"debug"
"info"
"warning"
"error"
];
default = "info";
};
# FIXME upstream proper journald logging
log_path = mkOption {
description = "Directory Gancio logs into";
readOnly = true;
type = types.str;
default = "/var/log/gancio";
};
};
};
description = ''
Configuration for Gancio, see <https://gancio.org/install/config> for supported values.
'';
};
userLocale = mkOption {
type = with types; attrsOf (attrsOf (attrsOf str));
default = { };
example = {
en.register.description = "My new registration page description";
};
description = ''
Override default locales within gancio.
See [https://framagit.org/les/gancio/tree/master/locales](default languages and locales).
'';
};
nginx = mkOption {
type = types.submodule (import ../web-servers/nginx/vhost-options.nix { inherit config lib; });
default = { };
example = {
enableACME = true;
forceSSL = true;
};
description = "Extra configuration for the nginx virtual host of gancio.";
};
};
config = mkIf cfg.enable {
environment.systemPackages = [ cfg.package ];
users.users.gancio = lib.mkIf (cfg.user == "gancio") {
isSystemUser = true;
group = cfg.user;
home = "/var/lib/gancio";
};
users.groups.gancio = lib.mkIf (cfg.user == "gancio") { };
systemd.tmpfiles.settings."10-gancio" =
let
rules = {
mode = "0755";
user = cfg.user;
group = config.users.users.${cfg.user}.group;
};
in
{
"/var/lib/gancio/user_locale".d = rules;
"/var/lib/gancio/plugins".d = rules;
};
systemd.services.gancio =
let
configFile = settingsFormat.generate "gancio-config.json" cfg.settings;
in
{
description = "Gancio server";
documentation = [ "https://gancio.org/" ];
wantedBy = [ "multi-user.target" ];
after = [
"network.target"
] ++ optional (cfg.settings.db.dialect == "postgres") "postgresql.service";
environment = {
NODE_ENV = "production";
};
preStart = ''
# We need this so the gancio executable run by the user finds the right settings.
ln -sf ${configFile} config.json
rm -f user_locale/*
${concatStringsSep "\n" (
mapAttrsToList (
l: c: "ln -sf ${settingsFormat.generate "gancio-${l}-locale.json" c} user_locale/${l}.json"
) cfg.userLocale
)}
rm -f plugins/*
${concatMapStringsSep "\n" (p: "ln -sf ${p} plugins/") cfg.plugins}
'';
serviceConfig = {
ExecStart = "${getExe cfg.package} start ${configFile}";
StateDirectory = "gancio";
WorkingDirectory = "/var/lib/gancio";
LogsDirectory = "gancio";
User = cfg.user;
# hardening
RestrictRealtime = true;
RestrictNamespaces = true;
LockPersonality = true;
ProtectKernelModules = true;
ProtectKernelTunables = true;
ProtectKernelLogs = true;
ProtectControlGroups = true;
ProtectClock = true;
RestrictSUIDSGID = true;
SystemCallArchitectures = "native";
CapabilityBoundingSet = "";
ProtectProc = "invisible";
};
};
services.postgresql = mkIf (cfg.settings.db.dialect == "postgres") {
enable = true;
ensureDatabases = [ cfg.user ];
ensureUsers = [
{
name = cfg.user;
ensureDBOwnership = true;
}
];
};
services.nginx = {
enable = true;
virtualHosts."${cfg.settings.hostname}" = mkMerge [
cfg.nginx
{
enableACME = mkDefault true;
forceSSL = mkDefault true;
locations = {
"/" = {
index = "index.html";
tryFiles = "$uri $uri @proxy";
};
"@proxy" = {
proxyWebsockets = true;
proxyPass = "http://${cfg.settings.server.host}:${toString cfg.settings.server.port}";
recommendedProxySettings = true;
};
};
}
];
};
};
}

View File

@ -364,6 +364,7 @@ in {
ft2-clone = handleTest ./ft2-clone.nix {};
legit = handleTest ./legit.nix {};
mimir = handleTest ./mimir.nix {};
gancio = handleTest ./gancio.nix {};
garage = handleTest ./garage {};
gemstash = handleTest ./gemstash.nix {};
geoserver = runTest ./geoserver.nix;

View File

@ -24,7 +24,7 @@ let assertions = rec {
with subtest("binary should report the correct version"):
pkgver = "${pkgs.atop.version}"
ver = re.sub(r'(?s)^Version: (\d\.\d\.\d).*', r'\1', machine.succeed("atop -V"))
ver = re.sub(r'(?s)^Version: (\d+\.\d+\.\d+).*', r'\1', machine.succeed("atop -V"))
assert ver == pkgver, f"Version is `{ver}`, expected `{pkgver}`"
'';
atoprc = contents:
@ -103,6 +103,9 @@ let assertions = rec {
machine.fail("type -p atopgpud")
'';
};
meta = {
timeout = 600;
};
in
{
justThePackage = makeTest {
@ -120,6 +123,7 @@ in
(netatop false)
(atopgpu false)
];
inherit meta;
};
defaults = makeTest {
name = "atop-defaults";
@ -138,6 +142,7 @@ in
(netatop false)
(atopgpu false)
];
inherit meta;
};
minimal = makeTest {
name = "atop-minimal";
@ -159,6 +164,7 @@ in
(netatop false)
(atopgpu false)
];
inherit meta;
};
netatop = makeTest {
name = "atop-netatop";
@ -178,6 +184,7 @@ in
(netatop true)
(atopgpu false)
];
inherit meta;
};
atopgpu = makeTest {
name = "atop-atopgpu";
@ -197,6 +204,7 @@ in
(netatop false)
(atopgpu true)
];
inherit meta;
};
everything = makeTest {
name = "atop-everything";
@ -222,5 +230,6 @@ in
(netatop true)
(atopgpu true)
];
inherit meta;
};
}

87
nixos/tests/gancio.nix Normal file
View File

@ -0,0 +1,87 @@
import ./make-test-python.nix (
{ pkgs, ... }:
let
extraHosts = ''
192.168.13.12 agenda.example.com
'';
in
{
name = "gancio";
meta.maintainers = with pkgs.lib.maintainers; [ jbgi ];
nodes = {
server =
{ pkgs, ... }:
{
networking = {
interfaces.eth1 = {
ipv4.addresses = [
{
address = "192.168.13.12";
prefixLength = 24;
}
];
};
inherit extraHosts;
firewall.allowedTCPPorts = [ 80 ];
};
environment.systemPackages = [ pkgs.gancio ];
services.gancio = {
enable = true;
settings = {
hostname = "agenda.example.com";
db.dialect = "postgres";
};
plugins = [ pkgs.gancioPlugins.telegram-bridge ];
userLocale = {
en = {
register = {
description = "My new registration page description";
};
};
};
nginx = {
enableACME = false;
forceSSL = false;
};
};
};
client =
{ pkgs, ... }:
{
environment.systemPackages = [ pkgs.jq ];
networking = {
interfaces.eth1 = {
ipv4.addresses = [
{
address = "192.168.13.1";
prefixLength = 24;
}
];
};
inherit extraHosts;
};
};
};
testScript = ''
start_all()
server.wait_for_unit("postgresql")
server.wait_for_unit("gancio")
server.wait_for_unit("nginx")
server.wait_for_open_port(13120)
server.wait_for_open_port(80)
# Check can create user via cli
server.succeed("cd /var/lib/gancio && sudo -u gancio gancio users create admin dummy admin")
# Check event list is returned
client.wait_until_succeeds("curl --verbose --fail-with-body http://agenda.example.com/api/events", timeout=30)
server.shutdown()
client.shutdown()
'';
}
)

View File

@ -32,7 +32,7 @@ import ./make-test-python.nix ({ pkgs, ... }:
# system one. Overriding this pretty bad default behaviour.
export REQUESTS_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt
echo "jamy-password" | toot login_cli -i "pleroma.nixos.test" -e "jamy@nixos.test"
toot --debug login_cli -i "pleroma.nixos.test" -e "jamy@nixos.test" -p "jamy-password"
echo "Login OK"
# Send a toot then verify it's part of the public timeline
@ -182,7 +182,7 @@ import ./make-test-python.nix ({ pkgs, ... }:
client = { nodes, pkgs, config, ... }: {
security.pki.certificateFiles = [ "${tls-cert}/cert.pem" ];
networking.extraHosts = hosts nodes;
environment.systemPackages = with pkgs; [
environment.systemPackages = [
pkgs.toot
send-toot
];
@ -191,7 +191,7 @@ import ./make-test-python.nix ({ pkgs, ... }:
security.pki.certificateFiles = [ "${tls-cert}/cert.pem" ];
networking.extraHosts = hosts nodes;
networking.firewall.enable = false;
environment.systemPackages = with pkgs; [
environment.systemPackages = [
provision-db
provision-secrets
provision-user
@ -245,10 +245,13 @@ import ./make-test-python.nix ({ pkgs, ... }:
testScript = { nodes, ... }: ''
pleroma.wait_for_unit("postgresql.service")
pleroma.succeed("provision-db")
pleroma.wait_for_file("/var/lib/pleroma")
pleroma.succeed("provision-secrets")
pleroma.systemctl("restart pleroma.service")
pleroma.wait_for_unit("pleroma.service")
pleroma.succeed("provision-user")
client.succeed("send-toot")
'';
meta.timeout = 600;
})

View File

@ -44,37 +44,37 @@ in
pgp-privkey = toString (pkgs.writeText "sourcehut.pgp-privkey" ''
-----BEGIN PGP PRIVATE KEY BLOCK-----
lFgEYqDRORYJKwYBBAHaRw8BAQdAehGoy36FUx2OesYm07be2rtLyvR5Pb/ltstd
Gk7hYQoAAP9X4oPmxxrHN8LewBpWITdBomNqlHoiP7mI0nz/BOPJHxEktDZuaXhv
lFgEZrFBKRYJKwYBBAHaRw8BAQdAS1Ffiytk0h0z0jfaT3qyiDUV/plVIUwOg1Yr
AXP2YmsAAP0W6QMC3G2G41rzCGLeSHeGibor1+XuxvcwUpVdW7ge+BH/tDZuaXhv
cy90ZXN0cy9zb3VyY2VodXQgPHJvb3QraHV0QHNvdXJjZWh1dC5sb2NhbGRvbWFp
bj6IlwQTFgoAPxYhBPqjgjnL8RHN4JnADNicgXaYm0jJBQJioNE5AhsDBQkDwmcA
BgsJCAcDCgUVCgkICwUWAwIBAAIeBQIXgAAKCRDYnIF2mJtIySVCAP9e2nHsVHSi
2B1YGZpVG7Xf36vxljmMkbroQy+0gBPwRwEAq+jaiQqlbGhQ7R/HMFcAxBIVsq8h
Aw1rngsUd0o3dAicXQRioNE5EgorBgEEAZdVAQUBAQdAXZV2Sd5ZNBVTBbTGavMv
D6ORrUh8z7TI/3CsxCE7+yADAQgHAAD/c1RU9xH+V/uI1fE7HIn/zL0LUPpsuce2
cH++g4u3kBgTOYh+BBgWCgAmFiEE+qOCOcvxEc3gmcAM2JyBdpibSMkFAmKg0TkC
GwwFCQPCZwAACgkQ2JyBdpibSMlKagD/cTre6p1m8QuJ7kwmCFRSz5tBzIuYMMgN
xtT7dmS91csA/35fWsOykSiFRojQ7ccCSUTHL7ApF2EbL968tP/D2hIG
=Hjoc
bj6IkwQTFgoAOxYhBMISh2Z08FCi969cq9R2wSP9QF2bBQJmsUEpAhsDBQsJCAcC
AiICBhUKCQgLAgQWAgMBAh4HAheAAAoJENR2wSP9QF2b4JMA+wQLdxVcod/ppyvH
QguGqqhkpk8KquCddOuFnQVAfHFWAQCK5putVk4mGzsoLTbOJCSGRC4pjEktZawQ
MTqJmnOuC5xdBGaxQSkSCisGAQQBl1UBBQEBB0Aed6UYJyighTY+KuPNQ439st3x
x04T1j58sx3AnKgYewMBCAcAAP9WLB79HO1zFRqTCnk7GIEWWogMFKVpazeBUNu9
h9rzCA2+iHgEGBYKACAWIQTCEodmdPBQovevXKvUdsEj/UBdmwUCZrFBKQIbDAAK
CRDUdsEj/UBdmwgJAQDVk/px/pSzqreSeDLzxlb6dOo+N1KcicsJ0akhSJUcvwD9
EPhpEDZu/UBKchAutOhWwz+y6pyoF4Vt7XG+jbJQtA4=
=KaQc
-----END PGP PRIVATE KEY BLOCK-----
'');
pgp-pubkey = pkgs.writeText "sourcehut.pgp-pubkey" ''
-----BEGIN PGP PUBLIC KEY BLOCK-----
mDMEYqDRORYJKwYBBAHaRw8BAQdAehGoy36FUx2OesYm07be2rtLyvR5Pb/ltstd
Gk7hYQq0Nm5peG9zL3Rlc3RzL3NvdXJjZWh1dCA8cm9vdCtodXRAc291cmNlaHV0
LmxvY2FsZG9tYWluPoiXBBMWCgA/FiEE+qOCOcvxEc3gmcAM2JyBdpibSMkFAmKg
0TkCGwMFCQPCZwAGCwkIBwMKBRUKCQgLBRYDAgEAAh4FAheAAAoJENicgXaYm0jJ
JUIA/17acexUdKLYHVgZmlUbtd/fq/GWOYyRuuhDL7SAE/BHAQCr6NqJCqVsaFDt
H8cwVwDEEhWyryEDDWueCxR3Sjd0CLg4BGKg0TkSCisGAQQBl1UBBQEBB0BdlXZJ
3lk0FVMFtMZq8y8Po5GtSHzPtMj/cKzEITv7IAMBCAeIfgQYFgoAJhYhBPqjgjnL
8RHN4JnADNicgXaYm0jJBQJioNE5AhsMBQkDwmcAAAoJENicgXaYm0jJSmoA/3E6
3uqdZvELie5MJghUUs+bQcyLmDDIDcbU+3ZkvdXLAP9+X1rDspEohUaI0O3HAklE
xy+wKRdhGy/evLT/w9oSBg==
=pJD7
mDMEZrFBKRYJKwYBBAHaRw8BAQdAS1Ffiytk0h0z0jfaT3qyiDUV/plVIUwOg1Yr
AXP2Ymu0Nm5peG9zL3Rlc3RzL3NvdXJjZWh1dCA8cm9vdCtodXRAc291cmNlaHV0
LmxvY2FsZG9tYWluPoiTBBMWCgA7FiEEwhKHZnTwUKL3r1yr1HbBI/1AXZsFAmax
QSkCGwMFCwkIBwICIgIGFQoJCAsCBBYCAwECHgcCF4AACgkQ1HbBI/1AXZvgkwD7
BAt3FVyh3+mnK8dCC4aqqGSmTwqq4J1064WdBUB8cVYBAIrmm61WTiYbOygtNs4k
JIZELimMSS1lrBAxOomac64LuDgEZrFBKRIKKwYBBAGXVQEFAQEHQB53pRgnKKCF
Nj4q481Djf2y3fHHThPWPnyzHcCcqBh7AwEIB4h4BBgWCgAgFiEEwhKHZnTwUKL3
r1yr1HbBI/1AXZsFAmaxQSkCGwwACgkQ1HbBI/1AXZsICQEA1ZP6cf6Us6q3kngy
88ZW+nTqPjdSnInLCdGpIUiVHL8A/RD4aRA2bv1ASnIQLrToVsM/suqcqBeFbe1x
vo2yULQO
=luxZ
-----END PGP PUBLIC KEY BLOCK-----
'';
pgp-key-id = "0xFAA38239CBF111CDE099C00CD89C8176989B48C9";
pgp-key-id = "0xC212876674F050A2F7AF5CABD476C123FD405D9B";
};
};

View File

@ -14,7 +14,11 @@ import ./make-test-python.nix ({ lib, ... }@args: let
inherit (pkgs.vscode.passthru) rev vscodeServer;
in {
name = "vscode-remote-ssh";
meta.maintainers = [ ];
meta = {
maintainers = [ ];
timeout = 600;
};
nodes = let
serverAddress = "192.168.0.2";
@ -70,7 +74,11 @@ in {
client.succeed("sudo -u alice code --remote=ssh-remote+root@server /root")
client.wait_for_window("Visual Studio Code")
client.wait_for_text("Do you trust the authors" if should_succeed else "Disconnected from SSH")
if should_succeed:
ocr_text = "Do you trust"
else:
ocr_text = "Could not establish connection"
client.wait_for_text(ocr_text)
client.screenshot(screenshot)
if should_succeed:

View File

@ -62,13 +62,13 @@
stdenv.mkDerivation rec {
pname = "audacity";
version = "3.6.1";
version = "3.6.2";
src = fetchFromGitHub {
owner = "audacity";
repo = "audacity";
rev = "Audacity-${version}";
hash = "sha256-MZ/u4wUUhDo1Mm9jxOY4MtzeV2797meT4HjYi5bCSM0=";
hash = "sha256-x3UeZM00kmZB3IG9EBx1jssyWmC3gcYTPtwMmJNSzgM=";
};
postPatch = ''

View File

@ -49,27 +49,15 @@ let
} else portaudio;
in stdenv'.mkDerivation (finalAttrs: {
pname = "musescore";
version = "4.4.0";
version = "4.4.1";
src = fetchFromGitHub {
owner = "musescore";
repo = "MuseScore";
rev = "v${finalAttrs.version}";
sha256 = "sha256-oDbOaLFmSpZ7D8E7LBxUwFwiaPcucIUj3eEp6sXR5o8=";
sha256 = "sha256-eLtpLgXSc8L5y1Mg3s1wrxr09+/vBxNqJEtl9IoKYSM=";
};
patches = [
# https://github.com/musescore/MuseScore/pull/24247
(fetchpatch {
name = "skip-downloading-harfbuzz.patch";
url = "https://github.com/musescore/MuseScore/commit/686ea243d58b43eb3dff7ebdabb2e09de4d212e4.patch";
hash = "sha256-fsb1hKFKXwBdMPh+Ek0UT3XtI8qg3ieWUQW1/XDvhmg=";
})
# https://github.com/musescore/MuseScore/pull/24261
(fetchpatch {
name = "allow-using-system-harfbuzz.patch";
url = "https://github.com/musescore/MuseScore/commit/696279e362afe72db5e92f8a47aa64b3a0e86a86.patch";
hash = "sha256-z1W2SmzUUlVL7mRR2frzUZjMEnwqkVfRVz4TufR1tDU=";
})
# https://github.com/musescore/MuseScore/pull/24326
(fetchpatch {
name = "fix-menubar-with-qt6.5+.patch";
@ -132,12 +120,14 @@ in stdenv'.mkDerivation (finalAttrs: {
qtbase
qtdeclarative
qt5compat
qtwayland
qtsvg
qtscxml
qtnetworkauth
] ++ lib.optionals stdenv.isLinux [
alsa-lib
qtwayland
] ++ lib.optionals stdenv.isDarwin [
darwin.apple_sdk_11_0.frameworks.Cocoa
];
postInstall = ''

View File

@ -92,7 +92,6 @@ stdenv.mkDerivation rec {
mkdir $out/bin
ln -s $out/opt/REAPER/reaper $out/bin/
ln -s $out/opt/REAPER/reamote-server $out/bin/
runHook postInstall
'';

View File

@ -20,15 +20,15 @@
, jq
}:
let
py3 = python3.withPackages (p: [ p.mako ]);
py3 = python3.withPackages (p: [ p.distutils p.mako ]);
in
stdenv.mkDerivation rec {
pname = "clightning";
version = "24.05";
version = "24.08";
src = fetchurl {
url = "https://github.com/ElementsProject/lightning/releases/download/v${version}/clightning-v${version}.zip";
hash = "sha256-FD7JFM80wrruqBWjYnJHZh2f2GZJ6XDQmUQ0XetnWBg=";
hash = "sha256-u4dkVcdduTBuRE615mPx66U8OFZSeMdL2fNJNoHbVxc=";
};
# when building on darwin we need cctools to provide the correct libtool

View File

@ -8,13 +8,13 @@
buildGoModule rec {
pname = "emptty";
version = "0.12.1";
version = "0.13.0";
src = fetchFromGitHub {
owner = "tvrzna";
repo = pname;
rev = "v${version}";
hash = "sha256-9qNAQBmcFKPpJ+AqfOy3emA1fvqI/XaT39KwI5fpXHU=";
hash = "sha256-xZfR4sn20fDaTNAxuxVflpr+8AFg5Z7vesO7P8Jxw6A=";
};
buildInputs = [ pam libX11 ];

View File

@ -451,6 +451,13 @@ let
orgit-forge = buildWithGit super.orgit-forge;
ormolu = super.ormolu.overrideAttrs (attrs: {
postPatch = attrs.postPatch or "" + ''
substituteInPlace ormolu.el \
--replace-fail 'ormolu-process-path "ormolu"' 'ormolu-process-path "${lib.getExe pkgs.ormolu}"'
'';
});
ox-rss = buildWithGit super.ox-rss;
python-isort = super.python-isort.overrideAttrs (attrs: {

View File

@ -1,17 +1,40 @@
{ lib, mkDerivation, fetchurl, qtbase, qtscript, qtwebengine, qmake, zlib, pkg-config, poppler, wrapGAppsHook3 }:
{
lib,
stdenv,
fetchurl,
cmake,
pkg-config,
wrapQtAppsHook,
poppler,
qtbase,
qttools,
qtwebengine,
qt5compat,
zlib
}:
mkDerivation rec {
stdenv.mkDerivation rec {
pname = "texmaker";
version = "5.1.4";
version = "6.0.0";
src = fetchurl {
url = "http://www.xm1math.net/texmaker/${pname}-${version}.tar.bz2";
sha256 = "sha256-MgUE1itxtZHAa30LEgKsdQoxEv4soyjjBYAFXrMI/qY=";
url = "http://www.xm1math.net/texmaker/texmaker-${version}.tar.bz2";
hash = "sha256-l3zlgOJcGrbgvD2hA74LQ+v2C4zg0nJzEE/df1hhd/w=";
};
buildInputs = [ qtbase qtscript poppler zlib qtwebengine ];
nativeBuildInputs = [ pkg-config poppler qmake wrapGAppsHook3 ];
env.NIX_CFLAGS_COMPILE = "-I${poppler.dev}/include/poppler";
buildInputs = [
poppler
qtbase
qtwebengine
qt5compat
qttools
zlib
];
nativeBuildInputs = [
cmake
pkg-config
wrapQtAppsHook
];
qmakeFlags = [
"DESKTOPDIR=${placeholder "out"}/share/applications"
@ -19,15 +42,9 @@ mkDerivation rec {
"METAINFODIR=${placeholder "out"}/share/metainfo"
];
dontWrapGApps = true;
preFixup = ''
qtWrapperArgs+=("''${gappsWrapperArgs[@]}")
'';
meta = with lib; {
description = "TeX and LaTeX editor";
longDescription=''
longDescription = ''
This editor is a full fledged IDE for TeX and
LaTeX editing with completion, structure viewer, preview,
spell checking and support of any compilation chain.
@ -35,7 +52,10 @@ mkDerivation rec {
homepage = "http://www.xm1math.net/texmaker/";
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ cfouche markuskowa ];
maintainers = with maintainers; [
cfouche
markuskowa
];
mainProgram = "texmaker";
};
}

View File

@ -17,7 +17,9 @@
, # Misc dependencies
arrow-cpp
, Cocoa
, coc-clangd
, coc-diagnostic
, coc-pyright
, code-minimap
, dasht
, deno
@ -139,7 +141,7 @@
nvimRequireCheck = "alpha";
};
advanced-git-search-nvim = super.autosave-nvim.overrideAttrs {
advanced-git-search-nvim = super.advanced-git-search-nvim.overrideAttrs {
dependencies = with super; [ telescope-nvim vim-fugitive vim-rhubarb ];
};
@ -344,11 +346,22 @@
dependencies = with self; [ nvim-cmp zsh ];
};
coc-clangd = buildVimPlugin {
inherit (coc-clangd) pname version meta;
src = "${coc-clangd}/lib/node_modules/coc-clangd";
};
coc-diagnostic = buildVimPlugin {
inherit (coc-diagnostic) pname version meta;
src = "${coc-diagnostic}/lib/node_modules/coc-diagnostic";
};
coc-pyright = buildVimPlugin {
pname = "coc-pyright";
inherit (coc-pyright) version meta;
src = "${coc-pyright}/lib/node_modules/coc-pyright";
};
coc-nginx = buildVimPlugin {
pname = "coc-nginx";
inherit (nodePackages."@yaegassy/coc-nginx") version meta;
@ -2241,7 +2254,6 @@
// (
let
nodePackageNames = [
"coc-clangd"
"coc-cmake"
"coc-css"
"coc-docker"
@ -2263,7 +2275,6 @@
"coc-metals"
"coc-pairs"
"coc-prettier"
"coc-pyright"
"coc-python"
"coc-r-lsp"
"coc-rls"

View File

@ -1816,8 +1816,8 @@ let
mktplcRef = {
name = "dependi";
publisher = "fill-labs";
version = "0.7.8";
hash = "sha256-UxLpn86U5EI+qRUpEXt+ByirtCwOUknRwTwpfCF+tqQ=";
version = "0.7.9";
hash = "sha256-VsjISVDZGGh6/pf3Fd5g8pYDvWXA1+0oZKlQEGLBp4M=";
};
meta = {
changelog = "https://marketplace.visualstudio.com/items/fill-labs.dependi/changelog";
@ -4261,8 +4261,8 @@ let
mktplcRef = {
publisher = "shd101wyy";
name = "markdown-preview-enhanced";
version = "0.8.13";
hash = "sha256-DxM7oWAbIonsKTvJjxX4oTaBwvRcxNT2y10ljYAzVeI=";
version = "0.8.14";
hash = "sha256-vCuuPB/GTkM2xCBn1UF3CZwP49Ge/8eelHhg67EG7tQ=";
};
meta = {
description = "Provides a live preview of markdown using either markdown-it or pandoc";

View File

@ -3,6 +3,7 @@
, runCommandWith
, writeShellScript
, fetchFromGitHub
, fetchpatch
, nixosTests
, freetype
@ -114,11 +115,27 @@ in stdenv.mkDerivation {
repo = "darling";
rev = "25afbc76428c39c3909e9efcf5caef1140425211";
fetchSubmodules = true;
hash = "sha256-T0g38loUFv3jHvUu3R3QH9hwP8JVe2al4g4VhXnBDMc=";
hash = "sha256-z9IMgc5hH2Upn8wHl1OgP42q9HTSkeHnxB3N812A+Kc=";
# Remove 500MB of dependency test files to get under Hydra output limit
postFetch = ''
rm -r $out/src/external/openjdk/test
rm -r $out/src/external/libmalloc/tests
rm -r $out/src/external/libarchive/libarchive/tar/test
'';
};
outputs = [ "out" "sdk" ];
patches = [
# Fix 'clang: error: no such file or directory: .../signal/mach_excUser.c'
# https://github.com/darlinghq/darling/issues/1511
# https://github.com/darlinghq/darling/commit/f46eb721c11d32addd807f092f4b3a6ea515bb6d
(fetchpatch {
url = "https://github.com/darlinghq/darling/commit/f46eb721c11d32addd807f092f4b3a6ea515bb6d.patch?full_index=1";
hash = "sha256-FnLcHnK4cNto+E3OQSxE3iK+FHSU8y459FcpMvrzd6o=";
})
];
postPatch = ''
# We have to be careful - Patching everything indiscriminately
# would affect Darwin scripts as well

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation {
pname = "avrdudess";
version = "2.17";
version = "2.18";
src = fetchurl {
url = "https://github.com/ZakKemble/AVRDUDESS/releases/download/v2.17/AVRDUDESS-2.17-portable.zip";
sha256 = "sha256-TcXXGDs75Q2ew+m2B/p00Y24O5aJQlp+3FcAn7GSVyI=";
url = "https://github.com/ZakKemble/AVRDUDESS/releases/download/v2.18/AVRDUDESS-2.18-portable.zip";
sha256 = "sha256-N93FLiXp1WwhI5KwH6sho2wyFtkbODwCHOpEVbVnYdc=";
};
nativeBuildInputs = [ unzip ];

View File

@ -3,13 +3,13 @@
with python3Packages;
buildPythonApplication rec {
pname = "tuir";
version = "1.29.0";
version = "1.31.0";
src = fetchFromGitLab {
owner = "ajak";
owner = "Chocimier";
repo = pname;
rev = "v${version}";
sha256 = "1fqp6bvq8kzdsf3nna4mn1phdcixpx76bya43xrivxjbzsfl59ib";
hash = "sha256-VYBtD3Ex6+iIRNvX6jF0b0iPvno41/58xCRydiyssvk=";
};
# Tests try to access network
@ -21,13 +21,13 @@ buildPythonApplication rec {
nativeCheckInputs = [ coverage coveralls docopt mock pylint pytest vcrpy ];
propagatedBuildInputs = [ beautifulsoup4 decorator kitchen requests six ];
propagatedBuildInputs = [ beautifulsoup4 decorator kitchen mailcap-fix requests six ];
meta = with lib; {
description = "Browse Reddit from your Terminal (fork of rtv)";
mainProgram = "tuir";
homepage = "https://gitlab.com/ajak/tuir/";
homepage = "https://gitlab.com/Chocimier/tuir";
license = licenses.mit;
maintainers = with maintainers; [ Br1ght0ne matthiasbeyer ];
maintainers = with maintainers; [ Br1ght0ne matthiasbeyer brokenpip3 ];
};
}

File diff suppressed because it is too large Load Diff

View File

@ -1,61 +1,66 @@
{ lib
, rustPlatform
, fetchFromGitHub
, pkg-config
, gtk4
, libadwaita
, bluez
, dbus
, openssl
, wrapGAppsHook4
, glib
}:
{
lib,
rustPlatform,
fetchFromGitHub,
pkg-config,
gtk4,
libadwaita,
bluez,
dbus,
openssl,
wrapGAppsHook4,
glib,
}: let
releaseVersion = "0.5.2";
in
rustPlatform.buildRustPackage rec {
pname = "watchmate";
version = "${releaseVersion}-unstable-2024-08-13";
rustPlatform.buildRustPackage rec {
pname = "watchmate";
version = "0.4.5";
src = fetchFromGitHub {
owner = "azymohliad";
repo = "watchmate";
rev = "v${version}";
hash = "sha256-4L9mfZWphwXON8VgRcGrz+k62wyPzd1phtRu9HQnVdE=";
};
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"mpris2-zbus-0.1.0" = "sha256-f2hth7TnA14I4UPyp0u4IfMi9WY4G3M1sEc4xNtnbr0=";
src = fetchFromGitHub {
owner = "azymohliad";
repo = "watchmate";
rev = "e05edfae94a1973110c6f40f25133d5979f485ab";
hash = "sha256-fHWxn7hFx/9cnLlCHIC6hIJaLd1U3Ii9mJgTJ+Hw63M=";
};
};
nativeBuildInputs = [
pkg-config
wrapGAppsHook4
glib
];
buildInputs = [
gtk4
libadwaita
bluez
dbus
openssl
];
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"mpris2-zbus-0.1.0" = "sha256-a/cvbB0M9cUd8RP5XxgHRbJ/i/UKAEK4DTwwUU69IuY=";
};
};
postInstall = ''
install -Dm444 assets/io.gitlab.azymohliad.WatchMate.desktop -t $out/share/applications/
install -Dm444 assets/io.gitlab.azymohliad.WatchMate.metainfo.xml -t $out/share/metainfo/
install -Dm444 assets/icons/io.gitlab.azymohliad.WatchMate.svg -t $out/share/icons/hicolor/scalable/apps/
install -Dm444 assets/icons/io.gitlab.azymohliad.WatchMate-symbolic.svg -t $out/share/icons/hicolor/scalable/apps/
'';
nativeBuildInputs = [
pkg-config
wrapGAppsHook4
glib
];
meta = with lib; {
description = "PineTime smart watch companion app for Linux phone and desktop";
mainProgram = "watchmate";
homepage = "https://github.com/azymohliad/watchmate";
changelog = "https://github.com/azymohliad/watchmate/raw/v${version}/CHANGELOG.md";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ chuangzhu ];
platforms = platforms.linux;
};
}
buildInputs = [
gtk4
libadwaita
bluez
dbus
openssl
];
postInstall = ''
install -Dm444 assets/io.gitlab.azymohliad.WatchMate.desktop -t $out/share/applications/
install -Dm444 assets/io.gitlab.azymohliad.WatchMate.metainfo.xml -t $out/share/metainfo/
install -Dm444 assets/io.gitlab.azymohliad.WatchMate.gschema.xml -t $out/share/glib-2.0/schemas/
glib-compile-schemas $out/share/glib-2.0/schemas/
install -Dm444 assets/icons/io.gitlab.azymohliad.WatchMate.svg -t $out/share/icons/hicolor/scalable/apps/
install -Dm444 assets/icons/io.gitlab.azymohliad.WatchMate-symbolic.svg -t $out/share/icons/hicolor/scalable/apps/
'';
meta = with lib; {
description = "PineTime smart watch companion app for Linux phone and desktop";
mainProgram = "watchmate";
homepage = "https://github.com/azymohliad/watchmate";
changelog = "https://github.com/azymohliad/watchmate/raw/v${releaseVersion}/CHANGELOG.md";
license = licenses.gpl3Plus;
maintainers = with maintainers; [chuangzhu];
platforms = platforms.linux;
};
}

View File

@ -1,20 +1,20 @@
{
beta = import ./browser.nix {
channel = "beta";
version = "128.0.2739.42";
version = "129.0.2792.12";
revision = "1";
hash = "sha256-VcBn2WL4rdAeEa62XT/dhC2OFLsV0Q/Sp6hqgmc/e0Y=";
hash = "sha256-LWu5DKCoGSFqUZqgvKx3aoZRzAf6FR3hJnk/agAV9sI=";
};
dev = import ./browser.nix {
channel = "dev";
version = "129.0.2779.0";
version = "129.0.2792.10";
revision = "1";
hash = "sha256-hlamsHTpBMGwOICga0k874q8+xuaZFMofFLG/EvB0NU=";
hash = "sha256-jw/muaunLlrtZADrD7asVH+o/u3cp3NyvjRXqPWyHJI=";
};
stable = import ./browser.nix {
channel = "stable";
version = "128.0.2739.42";
version = "128.0.2739.54";
revision = "1";
hash = "sha256-AwdZX2Ens2+rhHLYV0efYsXYBTs2a57HyGz2k+IDMeQ=";
hash = "sha256-qiLZExLU3f6l+qPEGiqOuDgjqOtSyhPwSt7kQfBBSyg=";
};
}

View File

@ -1,21 +1,22 @@
{ lib
, buildGoModule
, fetchFromGitHub
, installShellFiles
{
lib,
buildGoModule,
fetchFromGitHub,
installShellFiles,
}:
buildGoModule rec {
pname = "glooctl";
version = "1.16.17";
version = "1.17.6";
src = fetchFromGitHub {
owner = "solo-io";
repo = "gloo";
rev = "v${version}";
hash = "sha256-18ZvxXAE83/NT/Syv/wshTiulTMroAaamxYtfuYIuR4=";
hash = "sha256-uuT/3MU9qdtdCaELkwKCLdif9MqAt2gDnwjH1LrsF8U=";
};
vendorHash = "sha256-wLB+sUaSOBb1VLx/iwlU4U6LKakUP+GbhdWfjlvCu84=";
vendorHash = "sha256-C8zzNMHA4tKIUncqUJRE3VZFJO8KEX8GbOcTvbOnmU0=";
subPackages = [ "projects/gloo/cli/cmd" ];
@ -25,10 +26,13 @@ buildGoModule rec {
ldflags = [
"-s"
"-w"
"-X github.com/solo-io/gloo/pkg/version.Version=${version}"
];
preCheck = ''
export HOME=$TMPDIR
'';
postInstall = ''
mv $out/bin/cmd $out/bin/glooctl
installShellCompletion --cmd glooctl \
@ -37,9 +41,10 @@ buildGoModule rec {
'';
meta = {
description = "glooctl is the unified CLI for Gloo";
description = "Unified CLI for Gloo, the feature-rich, Kubernetes-native, next-generation API gateway built on Envoy";
mainProgram = "glooctl";
homepage = "https://docs.solo.io/gloo-edge/latest/reference/cli/glooctl/";
changelog = "https://github.com/solo-io/gloo/releases/tag/v${version}";
license = lib.licenses.asl20;
maintainers = [ ];
};

View File

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "helm-s3";
version = "0.16.0";
version = "0.16.2";
src = fetchFromGitHub {
owner = "hypnoglow";
repo = pname;
rev = "v${version}";
hash = "sha256-0wx8q93y8goXNh2x/XI3FQEXImVTpONURiDW2dCAi6o=";
hash = "sha256-hQuZd0VI+JspIjR7Dax/LXUZ9Rqflc6RQG9X80BkfeY=";
};
vendorHash = "sha256-i+rWg0/EUes5soFVRu9M5/iktbtudII7Ly5pcnOU2hU=";
vendorHash = "sha256-CXlZazpsHasjHPNHzXIsrbtWgQs/lVRqGsoqRvl2MHw=";
# NOTE: Remove the install and upgrade hooks.
postPatch = ''

View File

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "rancher";
version = "2.7.7";
version = "2.9.0";
src = fetchFromGitHub {
owner = "rancher";
repo = "cli";
rev = "v${version}";
hash = "sha256-HgLV4iuZXkL6BOKtUul1pFuIWv09VnUSPbdrtFd6Khk=";
hash = "sha256-YyNzqihoQNMmROLeD7/KOU6mTe/UMKgRwGPxCjIglDM=";
};
ldflags = [
@ -19,7 +19,7 @@ buildGoModule rec {
"-static"
];
vendorHash = "sha256-mXLZMnGJ1m5gFroJcSoE4SbVvsyuS73hfXFeWBRtUdI=";
vendorHash = "sha256-BvT5Awn4o8AbCSaUPLuAIsayC2oj2to4VSZpxQlKKSM=";
postInstall = ''
mv $out/bin/cli $out/bin/rancher

File diff suppressed because it is too large Load Diff

View File

@ -5,17 +5,19 @@
, fetchFromGitHub
, Cocoa
, pkgsBuildHost
, openssl
, pkg-config
}:
rustPlatform.buildRustPackage rec {
pname = "gurk-rs";
version = "0.4.3";
version = "0.5.1";
src = fetchFromGitHub {
owner = "boxdot";
repo = pname;
rev = "v${version}";
hash = "sha256-MPYqWgwh5PKH3GsCDx6aa4ryorWZ96YK8KOYZ5PILkk=";
hash = "sha256-g0V6FPkCpIEWx+/kDG9+0NtlCVj6jc1gbkkzOSl/lAo=";
};
postPatch = ''
@ -25,22 +27,27 @@ rustPlatform.buildRustPackage rec {
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"libsignal-protocol-0.1.0" = "sha256-p4YzrtJaQhuMBTtquvS1m9llszfyTeDfl7+IXzRUFSE=";
"libsignal-service-0.1.0" = "sha256-p0umCPtBg9s4G6RHcwK/tU+RtQE2fFLRHOYt2GmBCtQ=";
"curve25519-dalek-4.1.1" = "sha256-p9Vx0lAaYILypsI4/RVsHZLOqZKaa4Wvf7DanLA38pc=";
"presage-0.6.1" = "sha256-MsVSUI4ht+ftO2UC1IIeCtomkzg4ug95kKsc41PDVNg=";
"libsignal-protocol-0.1.0" = "sha256-4aHINlpVAqVTtm7npwXQRutZUmIxYgkhXhApg7jSM4M=";
"libsignal-service-0.1.0" = "sha256-AOGw76A9R2qH3hc7B+MBE3okzW8b5LTZdepzUDOv9lM=";
"curve25519-dalek-4.1.3" = "sha256-bPh7eEgcZnq9C3wmSnnYv0C4aAP+7pnwk9Io29GrI4A=";
"presage-0.6.2" = "sha256-t9t8ecPtefI/jYlk+Ul8WdgH26VJIkfMptbKxprekS0=";
"qr2term-0.3.1" = "sha256-U8YLouVZTtDwsvzZiO6YB4Pe75RXGkZXOxHCQcCOyT8=";
};
};
nativeBuildInputs = [ protobuf ];
nativeBuildInputs = [ protobuf pkg-config ];
buildInputs = lib.optionals stdenv.isDarwin [ Cocoa ];
buildInputs = [ openssl ]
++ lib.optionals stdenv.isDarwin [ Cocoa ];
NIX_LDFLAGS = lib.optionals (stdenv.isDarwin && stdenv.isx86_64) [ "-framework" "AppKit" ];
PROTOC = "${pkgsBuildHost.protobuf}/bin/protoc";
OPENSSL_NO_VENDOR = true;
useNextest = true;
meta = with lib; {
description = "Signal Messenger client for terminal";
mainProgram = "gurk";

View File

@ -4,15 +4,15 @@ with ocamlPackages;
buildDunePackage rec {
pname = "jackline";
version = "unstable-2023-03-09";
version = "unstable-2024-02-28";
minimalOCamlVersion = "4.08";
src = fetchFromGitHub {
owner = "hannesm";
repo = "jackline";
rev = "a7acd19bd8141b842ac69b05146d9a63e729230d";
hash = "sha256-AhiFfZkDit9tnGenETc3A1hHqWN+csiS2bVjsGNaHf8=";
rev = "31b90275a5f848cfc8c4f5b75e7d1933bec37852";
hash = "sha256-G2jjsc/i9Qgo0TP+ZE4gB/1cjuZ9l8R7e59K2DGD5GY=";
};
nativeBuildInpts = [

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "super-productivity";
version = "8.0.10";
version = "9.0.5";
src = fetchurl {
url = "https://github.com/johannesjo/super-productivity/releases/download/v${version}/superProductivity-${version}.AppImage";
sha256 = "sha256-YJx5ygHx0ZYPmw3xFGjPRx8nR20D+XR9SMxE2ymuWes=";
sha256 = "sha256-eNAoLcQWnsTDA7sG8i0Ur9BZ+pNt4AK1GOppFCD1ZGg=";
name = "${pname}-${version}.AppImage";
};

View File

@ -12,13 +12,13 @@
stdenv.mkDerivation rec {
pname = "treesheets";
version = "0-unstable-2024-06-29";
version = "0-unstable-2024-08-25";
src = fetchFromGitHub {
owner = "aardappel";
repo = "treesheets";
rev = "0d3eff693f23929e8b53317b08df9da2d610994f";
hash = "sha256-c5HMxFxDD439kKguW8Mwkjmnavh2MSSiODTgrnZcbjo=";
rev = "89a03e5db0c083f1c8cd422d615a3340e69856b4";
hash = "sha256-p780EW/62xf4vf7Lvi5mB8fiQt91Iqi1tNTLC5iyRtE=";
};
nativeBuildInputs = [

View File

@ -45,8 +45,8 @@ let
}
else
{
version = "2024.2";
hash = "sha256-gCp+M18uiVdw9XsVnk7DaOuw/yzm2sz3BsboAlw2hSs=";
version = "2024.3";
hash = "sha256-u9oFbuWTkL59WNhME6nsDU42NWF63y63RwNJIsuh8Ck=";
};
in stdenv.mkDerivation rec {

View File

@ -1,42 +0,0 @@
{ lib
, stdenv
, rustPlatform
, fetchFromGitHub
, pkg-config
, libgit2
, Security
}:
rustPlatform.buildRustPackage rec {
pname = "gex";
version = "0.6.4";
src = fetchFromGitHub {
owner = "Piturnah";
repo = pname;
rev = "v${version}";
hash = "sha256-Xer7a3UtFIv3idchI7DfZ5u6qgDW/XFWi5ihtcREXqo=";
};
nativeBuildInputs = [ pkg-config ];
buildInputs = [
libgit2
] ++ lib.optionals stdenv.isDarwin [
Security
];
# force the libgit2-sys crate to use the system libgit2 library
LIBGIT2_NO_VENDOR = 1;
cargoHash = "sha256-HNz1wwn0eUhNR6ZLLPMse8LmAS4CzADx0ZR9gJgJQCg=";
meta = with lib; {
description = "Git Explorer: cross-platform git workflow improvement tool inspired by Magit";
homepage = "https://github.com/Piturnah/gex";
changelog = "https://github.com/Piturnah/gex/releases/tag/${src.rev}";
license = with licenses; [ asl20 /* or */ mit ];
maintainers = with maintainers; [ azd325 evanrichter piturnah ];
mainProgram = "gex";
};
}

View File

@ -8,16 +8,16 @@
rustPlatform.buildRustPackage rec {
pname = "git-cliff";
version = "2.4.0";
version = "2.5.0";
src = fetchFromGitHub {
owner = "orhun";
repo = "git-cliff";
rev = "v${version}";
hash = "sha256-JRFd84DR0pLimAslr+LTC2N09sjOuFCXU71hRsEriOs=";
hash = "sha256-d6IawXBumA5ZJiigMTx4IZgOFrH5bNrbRsNHfT4Ik3w=";
};
cargoHash = "sha256-pLbz2z+l8E/R+GffseOacKrjr6ERZf1ETh8tVQjI4TU=";
cargoHash = "sha256-zXcVOE+yTD4SsVNTYhXnKy6et5en9jzYXPKPVnCOixI=";
# attempts to run the program on .git in src which is not deterministic
doCheck = false;

View File

@ -9,16 +9,16 @@
rustPlatform.buildRustPackage rec {
pname = "gql";
version = "0.26.0";
version = "0.27.0";
src = fetchFromGitHub {
owner = "AmrDeveloper";
repo = "GQL";
rev = version;
hash = "sha256-qVO+kqsmVFDsO9fJGLyqxBzlBc8DZmX1ZQ7UjI3T0Fw=";
hash = "sha256-/cL/Ts5RbClGqs5D93RTC7A5fr6Ca1c1sNbVZE4zK+E=";
};
cargoHash = "sha256-sq8hxI1MOOE97OwrUEkwrEkpQWeCTzA8r6x5abTxCl0=";
cargoHash = "sha256-o9eTOauQF5sf8UPyG0os2NQLsNkAIUOGhmMsZo6Kncw=";
nativeBuildInputs = [
pkg-config

View File

@ -49,13 +49,13 @@ let
in
stdenv.mkDerivation rec {
pname = "mkvtoolnix";
version = "86.0";
version = "87.0";
src = fetchFromGitLab {
owner = "mbunkus";
repo = "mkvtoolnix";
rev = "release-${version}";
hash = "sha256-h9rVs4A7JihnCj15XUus9xMvShKWyYhJN/90v/fl0PE=";
hash = "sha256-UU57ZgH1sxCXspwfKXScw08aJYiv+k526U8q8N1tA+4=";
};
nativeBuildInputs = [

View File

@ -33,6 +33,7 @@
, aardvark-dns
, netavark
, passt
, vfkit
, testers
, podman
}:
@ -44,6 +45,8 @@ let
util-linux
iptables
iproute2
] ++ lib.optionals stdenv.isDarwin [
vfkit
] ++ extraPackages);
helpersBin = symlinkJoin {

View File

@ -9,14 +9,14 @@ let
callPackage
(import ./generic.nix rec {
pname = "apptainer";
version = "1.3.3";
version = "1.3.4";
projectName = "apptainer";
src = fetchFromGitHub {
owner = "apptainer";
repo = "apptainer";
rev = "refs/tags/v${version}";
hash = "sha256-xQZCQa9z1aJ2tVtxMlwcNhlm0EV/nn8OnbfaVZRm4JI=";
hash = "sha256-eByF0OpL1OKGq0wY7kw8Sv9sZuVE0K3TGIm4Chk9PC4=";
};
# Update by running
@ -47,20 +47,20 @@ let
callPackage
(import ./generic.nix rec {
pname = "singularity-ce";
version = "4.1.5";
version = "4.2.0";
projectName = "singularity";
src = fetchFromGitHub {
owner = "sylabs";
repo = "singularity";
rev = "refs/tags/v${version}";
hash = "sha256-klOnQAJfVsohJKeQbNaW6PzQ7ejhO281+vcDMoJ4WMk=";
hash = "sha256-CxHbUke0Y9BDnyqTRZZqNtU006XGxFj3gond1BaYZO0=";
};
# Update by running
# nix-prefetch -E "{ sha256 }: ((import ./. { }).singularity.override { vendorHash = sha256; }).goModules"
# at the root directory of the Nixpkgs repository
vendorHash = "sha256-NyNNTe2X5OuDun6xNiRLGzvUxcRM4S7fD68I+I6IMKs=";
vendorHash = "sha256-R4hMg5TX5YXtnBopl7CYYCwA540BAx98/aaNfLpExV4=";
# Do not build conmon and squashfuse from the Git submodule sources,
# Use Nixpkgs provided version

View File

@ -17,6 +17,38 @@
# buildInputs = old.buildInputs or [ ] ++ [ hello ];
# });
"Avalonia" =
package:
package.overrideAttrs (
old:
let
# These versions have a runtime error when built with `dotnet publish --no-build`
# When attempting to draw a window, Avalonia will throw "No precompiled XAML found"
#
# Introduced in https://github.com/AvaloniaUI/Avalonia/pull/13840
# Fixed by https://github.com/AvaloniaUI/Avalonia/pull/16835
affectedVersions = [
"11.1.0-beta1"
"11.1.0-beta2"
"11.1.0-rc1"
"11.1.0-rc2"
"11.1.0"
"11.1.1"
"11.1.2-rc1"
"11.1.2"
"11.1.3"
"11.2.0-beta1"
];
in
lib.optionalAttrs (builtins.elem old.version affectedVersions) {
postPatch = ''
substituteInPlace {build,buildTransitive}/AvaloniaBuildTasks.targets \
--replace-fail 'BeforeTargets="CopyFilesToOutputDirectory;BuiltProjectOutputGroup"' \
'BeforeTargets="CopyFilesToOutputDirectory;BuiltProjectOutputGroup;ComputeResolvedFilesToPublishList"'
'';
}
);
"Avalonia.X11" =
package:
package.overrideAttrs (

View File

@ -6,13 +6,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "abcmidi";
version = "2024.08.11";
version = "2024.08.13";
src = fetchFromGitHub {
owner = "sshlien";
repo = "abcmidi";
rev = "refs/tags/${finalAttrs.version}";
hash = "sha256-ljRwRSF6Odv99ej8mmMjtf9NE0du7TtAypkw7W9TEYU=";
hash = "sha256-+X7ZPjZtqxEq2GSzdhLA48aqHfWFimST1GCfZ/NLjeU=";
};
meta = {

View File

@ -29,7 +29,8 @@ in {
postInstall = ''
mkdir -p $out/lib
cp -r ./resources/* -t $out/lib/
cp LICENSE* $out/
mkdir -p $out/share/doc/affine/
cp LICENSE* $out/share/doc/affine/
install -Dm644 ${icon} $out/share/pixmaps/affine.png
makeWrapper "${electron}/bin/electron" $out/bin/affine \
--inherit-argv0 \

View File

@ -2,39 +2,32 @@
lib,
stdenv,
fetchFromGitHub,
qt6,
cmake,
libqalculate,
muparser,
libarchive,
python3Packages,
qtbase,
qtscxml,
qtsvg,
qtdeclarative,
qtwayland,
qt5compat,
qttools,
wrapQtAppsHook,
nix-update-script,
pkg-config,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "albert";
version = "0.26.2";
version = "0.26.3";
src = fetchFromGitHub {
owner = "albertlauncher";
repo = "albert";
rev = "v${finalAttrs.version}";
hash = "sha256-jgSa1IvpMlwtpNT/SEysG28qaszV7gH6ZSqGrHQ/EC0=";
hash = "sha256-f5dTGthT8rGPjW41BaPtQlf8C10TUBmIzkhsCTgNeg4=";
fetchSubmodules = true;
};
nativeBuildInputs = [
cmake
pkg-config
wrapQtAppsHook
qt6.wrapQtAppsHook
];
buildInputs =
@ -42,13 +35,13 @@ stdenv.mkDerivation (finalAttrs: {
libqalculate
libarchive
muparser
qtbase
qtscxml
qtsvg
qtdeclarative
qtwayland
qt5compat
qttools
qt6.qtbase
qt6.qtscxml
qt6.qtsvg
qt6.qtdeclarative
qt6.qtwayland
qt6.qt5compat
qt6.qttools
]
++ (with python3Packages; [
python

View File

@ -23,13 +23,13 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "aquamarine";
version = "0.4.0";
version = "0.4.1";
src = fetchFromGitHub {
owner = "hyprwm";
repo = "aquamarine";
rev = "v${finalAttrs.version}";
hash = "sha256-EaKtf4mESHvHF2ak5Lt7ycSTLqdjI+Ry+zWpQaPqgD8=";
hash = "sha256-/NO/h/qD/eJXAQr/fHA4mdDgYsNT9thHQ+oT6KPi2ac=";
};
nativeBuildInputs = [

View File

@ -7,16 +7,16 @@
rustPlatform.buildRustPackage rec {
pname = "ast-grep";
version = "0.26.3";
version = "0.27.0";
src = fetchFromGitHub {
owner = "ast-grep";
repo = "ast-grep";
rev = version;
hash = "sha256-i2M3QSwLj2px6tiYyW8jz/WZ2z+IETrSoxis+BgHGXg=";
hash = "sha256-aoROD6c+VghvoBixSYLXC1DrYDkOhJA5rjDycc9NyR8=";
};
cargoHash = "sha256-6CXttQ+r2Ye5tz1V7XgLLnKQg7LHUVUtqpThETrwtzQ=";
cargoHash = "sha256-skOE/J+Msvm8tUizijONy+vx4MrsMbd4uUs5bO8FId4=";
nativeBuildInputs = [ installShellFiles ];

View File

@ -21,13 +21,13 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "atlauncher";
version = "3.4.37.2";
version = "3.4.37.3";
src = fetchFromGitHub {
owner = "ATLauncher";
repo = "ATLauncher";
rev = "v${finalAttrs.version}";
hash = "sha256-1sIzQBJWbkGk8VrZdRi3eIHBAfiu90lodEZVouZNzVM=";
hash = "sha256-XdTbrM7FPR0o0d+p4ko48UonMsY+nLfiXj5fP2a3/zI=";
};
postPatch = ''

View File

@ -4,7 +4,7 @@ buildGoModule {
pname = "authentik-ldap-outpost";
inherit (authentik) version src;
vendorHash = "sha256-hxtyXyCfVemsjYQeo//gd68x4QO/4Vcww8i2ocsUVW8=";
vendorHash = "sha256-BcL9QAc2jJqoPaQImJIFtCiu176nxmVcCLPjXjNBwqI=";
CGO_ENABLED = 0;

View File

@ -14,13 +14,13 @@
, makeWrapper }:
let
version = "2024.6.1";
version = "2024.6.4";
src = fetchFromGitHub {
owner = "goauthentik";
repo = "authentik";
rev = "version/${version}";
hash = "sha256-SMupiJGJbkBn33JP4WLF3IsBdt3SN3JvZg/EYlz443g=";
hash = "sha256-QwK/auMLCJEHHtyexFnO+adCq/u0fezHQ90fXW9J4c4=";
};
meta = with lib; {
@ -87,7 +87,7 @@ let
ln -s ${src}/website $out/
ln -s ${clientapi} $out/web/node_modules/@goauthentik/api
'';
npmDepsHash = "sha256-v9oD8qV5UDJeZn4GZDEPlVM/jGVSeTqdIUDJl6tYXZw=";
npmDepsHash = "sha256-8TzB3ylZzVLePD86of8E/lGgIQCciWMQF9m1Iqv9ZTY=";
postPatch = ''
cd web
@ -383,7 +383,7 @@ let
CGO_ENABLED = 0;
vendorHash = "sha256-hxtyXyCfVemsjYQeo//gd68x4QO/4Vcww8i2ocsUVW8=";
vendorHash = "sha256-BcL9QAc2jJqoPaQImJIFtCiu176nxmVcCLPjXjNBwqI=";
postInstall = ''
mv $out/bin/server $out/bin/authentik

View File

@ -4,7 +4,7 @@ buildGoModule {
pname = "authentik-radius-outpost";
inherit (authentik) version src;
vendorHash = "sha256-hxtyXyCfVemsjYQeo//gd68x4QO/4Vcww8i2ocsUVW8=";
vendorHash = "sha256-BcL9QAc2jJqoPaQImJIFtCiu176nxmVcCLPjXjNBwqI=";
CGO_ENABLED = 0;

View File

@ -1,33 +1,20 @@
diff --git a/auto_cpufreq/core.py b/auto_cpufreq/core.py
index 58cedb7..89e77a4 100755
--- a/auto_cpufreq/core.py
+++ b/auto_cpufreq/core.py
@@ -136,26 +136,8 @@ except PermissionError:
diff --git c/auto_cpufreq/core.py i/auto_cpufreq/core.py
index b51d55d..b0bff1e 100755
--- c/auto_cpufreq/core.py
+++ i/auto_cpufreq/core.py
@@ -96,13 +96,8 @@ except PermissionError:
# display running version of auto-cpufreq
def app_version():
-
- print("auto-cpufreq version: ", end="")
-
- # snap package
- if os.getenv("PKG_MARKER") == "SNAP":
- print(getoutput(r"echo \(Snap\) $SNAP_VERSION"))
- # aur package
- elif dist_name in ["arch", "manjaro", "garuda"]:
- aur_pkg_check = call("pacman -Qs auto-cpufreq > /dev/null", shell=True)
- if aur_pkg_check == 1:
- print(get_formatted_version())
- else:
- print(getoutput("pacman -Qi auto-cpufreq | grep Version"))
- if IS_INSTALLED_WITH_SNAP: print(getoutput(r"echo \(Snap\) $SNAP_VERSION"))
- elif IS_INSTALLED_WITH_AUR: print(getoutput("pacman -Qi auto-cpufreq | grep Version"))
- else:
- # source code (auto-cpufreq-installer)
- try:
- print(get_formatted_version())
- except Exception as e:
- print(repr(e))
- pass
+ print("auto-cpufreq version: @version@")
+ print("Git commit: v@version@")
- try: print(get_formatted_version())
- except Exception as e: print(repr(e))
+ print("auto-cpufreq version: @version@")
+ print("Git commit: v@version@")
def check_for_update():
# returns True if a new release is available from the GitHub repo

View File

@ -9,14 +9,14 @@
}:
python3Packages.buildPythonPackage rec {
pname = "auto-cpufreq";
version = "2.3.0";
version = "2.4.0";
format = "pyproject";
src = fetchFromGitHub {
owner = "AdnanHodzic";
repo = "auto-cpufreq";
rev = "v${version}";
hash = "sha256-Bet/WOVveLIA+0Mvly4AsielR+r/AJXIgHdWrtc7i/U=";
rev = "refs/tags/v${version}";
hash = "sha256-Xsh3d7rQY7RKzZ7J0swrgxZEyITb7B3oX5F/tcBGjfk=";
};
nativeBuildInputs = [

View File

@ -1,13 +1,13 @@
diff --git a/auto_cpufreq/bin/auto_cpufreq.py b/auto_cpufreq/bin/auto_cpufreq.py
index 4343b8d..dc286f6 100755
--- a/auto_cpufreq/bin/auto_cpufreq.py
+++ b/auto_cpufreq/bin/auto_cpufreq.py
@@ -199,41 +199,9 @@ def main(config, daemon, debug, update, install, remove, live, log, monitor, sta
print("https://github.com/AdnanHodzic/auto-cpufreq/#donate")
footer()
diff --git c/auto_cpufreq/bin/auto_cpufreq.py i/auto_cpufreq/bin/auto_cpufreq.py
index 7192366..96289e1 100755
--- c/auto_cpufreq/bin/auto_cpufreq.py
+++ i/auto_cpufreq/bin/auto_cpufreq.py
@@ -134,20 +134,7 @@ def main(monitor, live, daemon, install, update, remove, force, config, stats, g
except KeyboardInterrupt: break
conf.notifier.stop()
elif install:
- if os.getenv("PKG_MARKER") == "SNAP":
- root_check()
- root_check()
- if IS_INSTALLED_WITH_SNAP:
- running_daemon_check()
- gnome_power_detect_snap()
- tlp_service_detect_snap()
@ -15,17 +15,21 @@ index 4343b8d..dc286f6 100755
- gov_check()
- run("snapctl set daemon=enabled", shell=True)
- run("snapctl start --enable auto-cpufreq", shell=True)
- deploy_complete_msg()
- else:
- root_check()
- running_daemon_check()
- gov_check()
- deploy_daemon()
- deploy_complete_msg()
- deploy_complete_msg()
+ print("install is disabled in the nix package")
elif update:
root_check()
custom_dir = "/opt/auto-cpufreq/source"
@@ -185,21 +172,7 @@ def main(monitor, live, daemon, install, update, remove, force, config, stats, g
run(["auto-cpufreq", "--version"])
else: print("Aborted")
elif remove:
- if os.getenv("PKG_MARKER") == "SNAP":
- root_check()
- root_check()
- if IS_INSTALLED_WITH_SNAP:
- run("snapctl set daemon=disabled", shell=True)
- run("snapctl stop --disable auto-cpufreq", shell=True)
- if auto_cpufreq_stats_path.exists():
@ -37,92 +41,73 @@ index 4343b8d..dc286f6 100755
- # {the following snippet also used in --update, update it there too(if required)}
- # * undo bluetooth boot disable
- gnome_power_rm_reminder_snap()
- remove_complete_msg()
- else:
- root_check()
- remove_daemon()
- remove_complete_msg()
- else: remove_daemon()
- remove_complete_msg()
+ print("remove is disabled in the nix package")
elif update:
root_check()
custom_dir = "/opt/auto-cpufreq/source"
diff --git a/auto_cpufreq/core.py b/auto_cpufreq/core.py
index 58cedb7..c50b0e1 100755
--- a/auto_cpufreq/core.py
+++ b/auto_cpufreq/core.py
@@ -391,30 +391,13 @@ def get_current_gov():
elif stats:
not_running_daemon_check()
config_info_dialog()
diff --git c/auto_cpufreq/core.py i/auto_cpufreq/core.py
index b51d55d..4e4b5d3 100755
--- c/auto_cpufreq/core.py
+++ i/auto_cpufreq/core.py
@@ -277,18 +277,12 @@ def get_current_gov():
)
def cpufreqctl():
- """
- deploy cpufreqctl script
- deploy cpufreqctl.auto-cpufreq script
- """
-
- # detect if running on a SNAP
- if os.getenv("PKG_MARKER") == "SNAP":
- pass
- else:
- # deploy cpufreqctl.auto-cpufreq script
- if not os.path.isfile("/usr/local/bin/cpufreqctl.auto-cpufreq"):
- shutil.copy(SCRIPTS_DIR / "cpufreqctl.sh", "/usr/local/bin/cpufreqctl.auto-cpufreq")
- if not (IS_INSTALLED_WITH_SNAP or os.path.isfile("/usr/local/bin/cpufreqctl.auto-cpufreq")):
- copy(SCRIPTS_DIR / "cpufreqctl.sh", "/usr/local/bin/cpufreqctl.auto-cpufreq")
+ # scripts are already in the correct place
+ pass
def cpufreqctl_restore():
- """
- remove cpufreqctl.auto-cpufreq script
- """
- # detect if running on a SNAP
- if os.getenv("PKG_MARKER") == "SNAP":
- pass
- else:
- if os.path.isfile("/usr/local/bin/cpufreqctl.auto-cpufreq"):
- os.remove("/usr/local/bin/cpufreqctl.auto-cpufreq")
-
- if not IS_INSTALLED_WITH_SNAP and os.path.isfile("/usr/local/bin/cpufreqctl.auto-cpufreq"):
- os.remove("/usr/local/bin/cpufreqctl.auto-cpufreq")
+ # no need to restore
+ pass
def footer(l=79):
print("\n" + "-" * l + "\n")
@@ -441,30 +424,8 @@ def remove_complete_msg():
def footer(l=79): print("\n" + "-" * l + "\n")
@@ -306,27 +300,8 @@ def remove_complete_msg():
footer()
def deploy_daemon():
- print("\n" + "-" * 21 + " Deploying auto-cpufreq as a daemon " + "-" * 22 + "\n")
-
- # deploy cpufreqctl script func call
- cpufreqctl()
- cpufreqctl() # deploy cpufreqctl script func call
-
- # turn off bluetooth on boot
- bluetooth_disable()
- bluetooth_disable() # turn off bluetooth on boot
-
- auto_cpufreq_stats_path.touch(exist_ok=True)
-
- print("\n* Deploy auto-cpufreq install script")
- shutil.copy(SCRIPTS_DIR / "auto-cpufreq-install.sh", "/usr/local/bin/auto-cpufreq-install")
- copy(SCRIPTS_DIR / "auto-cpufreq-install.sh", "/usr/local/bin/auto-cpufreq-install")
-
- print("\n* Deploy auto-cpufreq remove script")
- shutil.copy(SCRIPTS_DIR / "auto-cpufreq-remove.sh", "/usr/local/bin/auto-cpufreq-remove")
- copy(SCRIPTS_DIR / "auto-cpufreq-remove.sh", "/usr/local/bin/auto-cpufreq-remove")
-
- # output warning if gnome power profile is running
- gnome_power_detect_install()
- gnome_power_svc_disable()
-
- # output warning if TLP service is detected
- tlp_service_detect()
- tlp_service_detect() # output warning if TLP service is detected
-
- call("/usr/local/bin/auto-cpufreq-install", shell=True)
+ # prevent needless copying and system changes
+ pass
def deploy_daemon_performance():
@@ -504,40 +465,7 @@ def deploy_daemon_performance():
print("\n" + "-" * 21 + " Deploying auto-cpufreq as a daemon (performance) " + "-" * 22 + "\n")
@@ -359,34 +334,7 @@ def deploy_daemon_performance():
call("/usr/local/bin/auto-cpufreq-install", shell=True)
# remove auto-cpufreq daemon
def remove_daemon():
-
- # check if auto-cpufreq is installed
- if not os.path.exists("/usr/local/bin/auto-cpufreq-remove"):
- print("\nauto-cpufreq daemon is not installed.\n")
@ -130,8 +115,7 @@ index 58cedb7..c50b0e1 100755
-
- print("\n" + "-" * 21 + " Removing auto-cpufreq daemon " + "-" * 22 + "\n")
-
- # turn on bluetooth on boot
- bluetooth_enable()
- bluetooth_enable() # turn on bluetooth on boot
-
- # output warning if gnome power profile is stopped
- gnome_power_rm_reminder()
@ -144,19 +128,15 @@ index 58cedb7..c50b0e1 100755
- os.remove("/usr/local/bin/auto-cpufreq-remove")
-
- # delete override pickle if it exists
- if os.path.exists(governor_override_state):
- os.remove(governor_override_state)
- if os.path.exists(governor_override_state): os.remove(governor_override_state)
-
- # delete stats file
- if auto_cpufreq_stats_path.exists():
- if auto_cpufreq_stats_file is not None:
- auto_cpufreq_stats_file.close()
-
- if auto_cpufreq_stats_file is not None: auto_cpufreq_stats_file.close()
- auto_cpufreq_stats_path.unlink()
-
- # restore original cpufrectl script
- cpufreqctl_restore()
- cpufreqctl_restore() # restore original cpufrectl script
+ pass
def gov_check():
for gov in AVAILABLE_GOVERNORS:

View File

@ -1,10 +1,10 @@
diff --git a/auto_cpufreq/bin/auto_cpufreq.py b/auto_cpufreq/bin/auto_cpufreq.py
index 4343b8d..183c2e9 100755
--- a/auto_cpufreq/bin/auto_cpufreq.py
+++ b/auto_cpufreq/bin/auto_cpufreq.py
@@ -235,47 +235,7 @@ def main(config, daemon, debug, update, install, remove, live, log, monitor, sta
remove_daemon()
remove_complete_msg()
diff --git c/auto_cpufreq/bin/auto_cpufreq.py i/auto_cpufreq/bin/auto_cpufreq.py
index 7192366..0bf087e 100755
--- c/auto_cpufreq/bin/auto_cpufreq.py
+++ i/auto_cpufreq/bin/auto_cpufreq.py
@@ -149,41 +149,7 @@ def main(monitor, live, daemon, install, update, remove, force, config, stats, g
deploy_daemon()
deploy_complete_msg()
elif update:
- root_check()
- custom_dir = "/opt/auto-cpufreq/source"
@ -16,27 +16,22 @@ index 4343b8d..183c2e9 100755
- if "--update" in sys.argv:
- update = True
- sys.argv.remove("--update")
- if len(sys.argv) == 2:
- custom_dir = sys.argv[1]
- if len(sys.argv) == 2: custom_dir = sys.argv[1]
-
- if os.getenv("PKG_MARKER") == "SNAP":
- if IS_INSTALLED_WITH_SNAP:
- print("Detected auto-cpufreq was installed using snap")
- # refresh snap directly using this command
- # path wont work in this case
-
- print("Please update using snap package manager, i.e: `sudo snap refresh auto-cpufreq`.")
- #check for AUR
- elif subprocess.run(["bash", "-c", "command -v pacman >/dev/null 2>&1"]).returncode == 0 and subprocess.run(["bash", "-c", "pacman -Q auto-cpufreq >/dev/null 2>&1"]).returncode == 0:
- print("Arch-based distribution with AUR support detected. Please refresh auto-cpufreq using your AUR helper.")
- elif IS_INSTALLED_WITH_AUR: print("Arch-based distribution with AUR support detected. Please refresh auto-cpufreq using your AUR helper.")
- else:
- is_new_update = check_for_update()
- if not is_new_update:
- return
- if not is_new_update: return
- ans = input("Do you want to update auto-cpufreq to the latest release? [Y/n]: ").strip().lower()
- if not os.path.exists(custom_dir):
- os.makedirs(custom_dir)
- if os.path.exists(os.path.join(custom_dir, "auto-cpufreq")):
- shutil.rmtree(os.path.join(custom_dir, "auto-cpufreq"))
- if not os.path.exists(custom_dir): os.makedirs(custom_dir)
- if os.path.exists(os.path.join(custom_dir, "auto-cpufreq")): rmtree(os.path.join(custom_dir, "auto-cpufreq"))
- if ans in ['', 'y', 'yes']:
- remove_daemon()
- remove_complete_msg()
@ -45,28 +40,28 @@ index 4343b8d..183c2e9 100755
- run(["auto-cpufreq", "--install"])
- print("auto-cpufreq is installed with the latest version")
- run(["auto-cpufreq", "--version"])
- else:
- print("Aborted")
- else: print("Aborted")
+ print("update is disabled in the nix package")
elif completions:
if completions == "bash":
diff --git a/auto_cpufreq/core.py b/auto_cpufreq/core.py
index 58cedb7..8b44712 100755
--- a/auto_cpufreq/core.py
+++ b/auto_cpufreq/core.py
@@ -17,8 +17,7 @@ import importlib.metadata
from math import isclose
elif remove:
root_check()
if IS_INSTALLED_WITH_SNAP:
diff --git c/auto_cpufreq/core.py i/auto_cpufreq/core.py
index b51d55d..99eeed8 100755
--- c/auto_cpufreq/core.py
+++ i/auto_cpufreq/core.py
@@ -7,9 +7,8 @@ from math import isclose
from pathlib import Path
from shutil import which
-from subprocess import getoutput, call, run, check_output, DEVNULL
-import requests
+from subprocess import getoutput, call, run, DEVNULL
import re
from pickle import dump, load
from re import search
-from requests import get, exceptions
from shutil import copy
-from subprocess import call, check_output, DEVNULL, getoutput, run
+from subprocess import call, DEVNULL, getoutput, run
from time import sleep
from warnings import filterwarnings
# execution timestamp used in countdown func
@@ -158,55 +157,7 @@ def app_version():
pass
@@ -105,49 +104,7 @@ def app_version():
except Exception as e: print(repr(e))
def check_for_update():
- # returns True if a new release is available from the GitHub repo
@ -74,21 +69,19 @@ index 58cedb7..8b44712 100755
- # Specify the repository and package name
- # IT IS IMPORTANT TO THAT IF THE REPOSITORY STRUCTURE IS CHANGED, THE FOLLOWING FUNCTION NEEDS TO BE UPDATED ACCORDINGLY
- # Fetch the latest release information from GitHub API
- latest_release_url = f"https://api.github.com/repos/AdnanHodzic/auto-cpufreq/releases/latest"
- latest_release_url = GITHUB.replace("github.com", "api.github.com/repos") + "/releases/latest"
- try:
- response = requests.get(latest_release_url)
- if response.status_code == 200:
- latest_release = response.json()
- response = get(latest_release_url)
- if response.status_code == 200: latest_release = response.json()
- else:
- message = response.json().get("message")
- print("Error fetching recent release!")
- if message is not None and message.startswith("API rate limit exceeded"):
- print("GitHub Rate limit exceeded. Please try again later within 1 hour or use different network/VPN.")
- else:
- print("Unexpected status code:", response.status_code)
- else: print("Unexpected status code:", response.status_code)
- return False
- except (requests.exceptions.ConnectionError, requests.exceptions.Timeout,
- requests.exceptions.RequestException, requests.exceptions.HTTPError) as err:
- except (exceptions.ConnectionError, exceptions.Timeout,
- exceptions.RequestException, exceptions.HTTPError):
- print("Error Connecting to server!")
- return False
-
@ -98,8 +91,7 @@ index 58cedb7..8b44712 100755
- # Get the current version of auto-cpufreq
- # Extract version number from the output string
- output = check_output(['auto-cpufreq', '--version']).decode('utf-8')
- try:
- version_line = next((re.search(r'\d+\.\d+\.\d+', line).group() for line in output.split('\n') if line.startswith('auto-cpufreq version')), None)
- try: version_line = next((search(r'\d+\.\d+\.\d+', line).group() for line in output.split('\n') if line.startswith('auto-cpufreq version')), None)
- except AttributeError:
- print("Error Retrieving Current Version!")
- exit(1)
@ -113,40 +105,31 @@ index 58cedb7..8b44712 100755
- print(f"Updates are available,\nCurrent version: {installed_version}\nLatest version: {latest_version}")
- print("Note that your previous custom settings might be erased with the following update")
- return True
- else:
- # Handle the case where "tag_name" key doesn't exist
- print("Malformed Released data!\nReinstall manually or Open an issue on GitHub for help!")
-
-
- # Handle the case where "tag_name" key doesn't exist
- else: print("Malformed Released data!\nReinstall manually or Open an issue on GitHub for help!")
+ pass
def new_update(custom_dir):
os.chdir(custom_dir)
diff --git a/poetry.lock b/poetry.lock
index 2a99ca6..9bc26e2 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -1,4 +1,4 @@
-# This file is automatically @generated by Poetry 1.8.2 and should not be changed by hand.
+# This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand.
[[package]]
name = "attrs"
@@ -1300,4 +1300,4 @@ testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "p
diff --git c/poetry.lock i/poetry.lock
index 0e6da84..b4936fe 100644
--- c/poetry.lock
+++ i/poetry.lock
@@ -1306,4 +1306,4 @@ test = ["big-O", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more-it
[metadata]
lock-version = "2.0"
python-versions = "^3.8"
-content-hash = "ee73b2db6a43cac87120f38c93d0a8a297bec52f1346b55bc0ca2992aa464482"
+content-hash = "1ba0c404ffea01a611e7c74f9c104de44a914b0a6fad2350470f15880931ae42"
diff --git a/pyproject.toml b/pyproject.toml
index 876d80c..7190356 100644
--- a/pyproject.toml
+++ b/pyproject.toml
-content-hash = "cad3783d04e35b66b241352e76631d0a83c8df3d286b113979ba34a65847f06c"
+content-hash = "b21af52156d2d624602fe6941cf001abd7f8cf5b70b22ebfd7b7ad0dece1e39f"
diff --git c/pyproject.toml i/pyproject.toml
index 562a94b..cc44d8d 100644
--- c/pyproject.toml
+++ i/pyproject.toml
@@ -25,7 +25,6 @@ python = "^3.8"
psutil = {git = "https://github.com/giampaolo/psutil.git", rev = "4cf56e08c1bc883ec89758834b50954380759858"}
psutil = "^6.0.0"
click = "^8.1.0"
distro = "^1.8.0"
-requests = "^2.31.0"
-requests = "^2.32.3"
PyGObject = "^3.46.0"
pyinotify = {git = "https://github.com/shadeyg56/pyinotify-3.12"}

View File

@ -5,19 +5,20 @@
, fetchFromGitHub
, python3
, cctools
, nix-update-script
, nixosTests
, xcbuild
}:
buildNpmPackage rec {
pname = "bitwarden-cli";
version = "2024.8.1";
version = "2024.8.2";
src = fetchFromGitHub {
owner = "bitwarden";
repo = "clients";
rev = "cli-v${version}";
hash = "sha256-l9fLh1YFivVcMs688vM0pHoN0Um2r/EDpo7dvwvZFwY=";
hash = "sha256-F/UbaNKkyf8AoTSa0B0Ipdr5Z8qAkbk7tJ0Cdq7gk+U=";
};
postPatch = ''
@ -27,7 +28,7 @@ buildNpmPackage rec {
nodejs = nodejs_20;
npmDepsHash = "sha256-/6yWdTy6/GvYy8u5eZB+x5KRG6vhPVE0DIn+RUAO5MI=";
npmDepsHash = "sha256-SnrK26QaxHYKX0532rGBASjx9PwxKSsVFRzZ3Cs2GPk=";
nativeBuildInputs = [
(python3.withPackages (ps: with ps; [ setuptools ]))
@ -58,8 +59,13 @@ buildNpmPackage rec {
npmFlags = [ "--legacy-peer-deps" ];
passthru.tests = {
vaultwarden = nixosTests.vaultwarden.sqlite;
passthru = {
tests = {
vaultwarden = nixosTests.vaultwarden.sqlite;
};
updateScript = nix-update-script {
extraArgs = [ "--commit" "--version=stable" "--version-regex=^cli-v(.*)$" ];
};
};
meta = with lib; {

View File

@ -13,6 +13,7 @@
, makeDesktopItem
, makeWrapper
, napi-rs-cli
, nix-update-script
, nodejs_20
, patchutils_0_4_2
, pkg-config
@ -28,13 +29,13 @@ let
electron = electron_31;
in buildNpmPackage rec {
pname = "bitwarden-desktop";
version = "2024.8.1";
version = "2024.8.2";
src = fetchFromGitHub {
owner = "bitwarden";
repo = "clients";
rev = "desktop-v${version}";
hash = "sha256-FBNqgPjWSY8SCIGyKpoOl7I3pWQxDbWiFtcPZScDE4A=";
hash = "sha256-KATT4W2pP7VTcoHeshGx5VrBwlg3UqzKPcRY0Rzo7II=";
};
patches = [
@ -51,7 +52,7 @@ in buildNpmPackage rec {
makeCacheWritable = true;
npmFlags = [ "--engine-strict" "--legacy-peer-deps" ];
npmWorkspace = "apps/desktop";
npmDepsHash = "sha256-8cxhor90GqgO34AD8Jhd3N7PCnBnbhg8h7agVq0i3jk=";
npmDepsHash = "sha256-SnrK26QaxHYKX0532rGBASjx9PwxKSsVFRzZ3Cs2GPk=";
cargoDeps = rustPlatform.fetchCargoTarball {
name = "${pname}-${version}";
@ -67,7 +68,7 @@ in buildNpmPackage rec {
patches;
patchFlags = [ "-p4" ];
sourceRoot = "${src.name}/${cargoRoot}";
hash = "sha256-zc5AarCbrJixcin8t+Ws8fH0ULM9rp3sUFsDb0htPuM=";
hash = "sha256-MjGKQky6LGtpG1maBWd+WkMZlnZfdl9Sm2dlvdD8ANw=";
};
cargoRoot = "apps/desktop/desktop_native";
@ -195,6 +196,12 @@ in buildNpmPackage rec {
})
];
passthru = {
updateScript = nix-update-script {
extraArgs = [ "--commit" "--version=stable" "--version-regex=^desktop-v(.*)$" ];
};
};
meta = {
changelog = "https://github.com/bitwarden/clients/releases/tag/${src.rev}";
inherit description;

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation (final: {
pname = "boxed-cpp";
version = "1.3.0";
version = "1.4.2";
src = fetchFromGitHub {
owner = "contour-terminal";
repo = "boxed-cpp";
rev = "v${final.version}";
hash = "sha256-o+qAEpP2inGQVXJ1i3HBee0fXQYR2HCyBY4Urk8ohMI=";
hash = "sha256-Z/dfSa/6SnzLWnFCXjJUbTBNa5dFZna099Crbcya/Dw=";
};
nativeBuildInputs = [ cmake ];

View File

@ -10,13 +10,13 @@
python3.pkgs.buildPythonApplication rec {
pname = "chirp";
version = "0.4.0-unstable-2024-08-31";
version = "0.4.0-unstable-2024-09-05";
src = fetchFromGitHub {
owner = "kk7ds";
repo = "chirp";
rev = "fddaaa00e3baa3c4e854ab88ab46fd3b4ced3a62";
hash = "sha256-KPdv8E0ZaLK49H2Q749UaLYIXdiplIKTrbkD7+KTAYg=";
rev = "f9f5afa33388d3b05af75b40195b6a45a19df9a2";
hash = "sha256-wpUtSXSmT9SgwKMYeto7jJGK7ZEFQ/t37wWjUMB86YQ=";
};
buildInputs = [
glib

View File

@ -0,0 +1,27 @@
{
lib,
buildNpmPackage,
fetchFromGitHub,
}:
buildNpmPackage {
pname = "coc-clangd";
version = "0.31.0";
src = fetchFromGitHub {
owner = "clangd";
repo = "coc-clangd";
# Upstream has no tagged versions
rev = "3a85a36f1ac08454deab1ed8d2553e0cae00cc1c";
hash = "sha256-uxK0nciLq4ZKFCoMJrO4dR0tuOBHYpgdZUc/KJ+JA/I=";
};
npmDepsHash = "sha256-93MEug2eEL/Hum+RFmXx0JYO6jUygF8QRmL5nTTFyrs=";
meta = {
description = "clangd extension for coc.nvim";
homepage = "https://github.com/clangd/coc-clangd";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ pyrox0 ];
};
}

View File

@ -0,0 +1,27 @@
{
lib,
buildNpmPackage,
fetchFromGitHub,
}:
buildNpmPackage {
pname = "coc-pyright";
version = "1.1.371";
src = fetchFromGitHub {
owner = "fannheyward";
repo = "coc-pyright";
# No tagged releases, this commit corresponds to the latest release of the package.
rev = "d4cfda2f530622962a2a6e3ac1ddb2ad83ea2387";
hash = "sha256-oNixIW63DhPn2LYJ5t/R4xcReZR3W6nqqFBnCUmo/Wo=";
};
npmDepsHash = "sha256-cTAt02RdQbKurP6H/JWwVp+VpoIysbFt9le9R69+DL4=";
meta = {
description = "Pyright extension for coc.nvim";
homepage = "https://github.com/fannheyward/coc-pyright";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ pyrox0 ];
};
}

View File

@ -46,6 +46,7 @@ stdenv.mkDerivation rec {
gst_all_1.gst-plugins-base # for GstVideo
gst_all_1.gst-plugins-bad # for GstPlay
gst_all_1.gst-plugins-good # for scaletempo
gst_all_1.gst-libav
libadwaita
];

View File

@ -27,15 +27,15 @@ assert lib.assertMsg (lib.elem true [
rustPlatform.buildRustPackage rec {
pname = "diesel-cli";
version = "2.2.3";
version = "2.2.4";
src = fetchCrate {
inherit version;
crateName = "diesel_cli";
hash = "sha256-pv75bvswi+JfeL7B8GPaQgXyNdNvzNgXs9VYgzKRn2U=";
hash = "sha256-kTwAG1B4gy+1jj5ar5RkmIUMAO9wYsG7QnMcZii/OZk=";
};
cargoHash = "sha256-BMMh4BEoB1UhavoiQWfFhsSZsvfFSfEJhEewjA1ukLQ=";
cargoHash = "sha256-qcyNFuKJldHVJDAye4K1rHPf/SvpZ+BmqBast1vh/3Q=";
nativeBuildInputs = [
installShellFiles

View File

@ -21,7 +21,7 @@ let
in
buildDunePackage' rec {
pname = "docfd";
version = "8.0.1";
version = "8.0.2";
minimalOCamlVersion = "5.1";
@ -29,7 +29,7 @@ buildDunePackage' rec {
owner = "darrenldl";
repo = "docfd";
rev = version;
hash = "sha256-0VeUT9i3/eEA64XsrpUi3oXyrinEFSJWzsEXrsUly30=";
hash = "sha256-A4feBRZs9EFpfgbGGcaKlwAz59RbKuPZAVJytgYVUAc=";
};
nativeBuildInputs = [

View File

@ -0,0 +1,63 @@
{
lib,
rustPlatform,
fetchFromGitHub,
dbus,
openssl,
gtk4,
gtk4-layer-shell,
glib,
pkg-config,
wrapGAppsHook4,
installShellFiles,
}:
rustPlatform.buildRustPackage rec {
pname = "dynisland";
version = "0.1.3";
src = fetchFromGitHub {
owner = "cr3eperall";
repo = "dynisland";
rev = "refs/tags/${version}";
hash = "sha256-HqwykR6BXxtYSxNUYdegmjCwSVTW29pqP7qLWbcqLeg=";
fetchSubmodules = true;
};
cargoHash = "sha256-p67h67fRNcfiQyhCUY5Y11xTTqQbl0Ngx1EhYfaSJmw=";
buildFeatures = [ "completions" ];
buildInputs = [
dbus
openssl
gtk4
gtk4-layer-shell
];
nativeBuildInputs = [
glib
rustPlatform.bindgenHook
rustPlatform.cargoSetupHook
pkg-config
wrapGAppsHook4
installShellFiles
];
postInstall = ''
installShellCompletion --cmd dynisland \
--bash ./target/dynisland.bash \
--fish ./target/dynisland.fish \
--zsh ./target/_dynisland
'';
meta = {
description = "Dynamic and extensible GTK4 layer-shell, written in Rust";
homepage = "https://github.com/cr3eperall/dynisland";
changelog = "https://github.com/cr3eperall/dynisland/releases/tag/${version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ ryand56 ];
mainProgram = "dynisland";
platforms = lib.platforms.linux;
};
}

File diff suppressed because it is too large Load Diff

View File

@ -2,24 +2,35 @@
lib,
buildNpmPackage,
fetchFromGitHub,
stdenv,
overrideSDK,
}:
buildNpmPackage rec {
let
buildNpmPackage' = buildNpmPackage.override {
stdenv = if stdenv.isDarwin then overrideSDK stdenv "11.0" else stdenv;
};
in
buildNpmPackage' rec {
pname = "eslint";
version = "9.9.1";
version = "9.10.0";
src = fetchFromGitHub {
owner = "eslint";
repo = "eslint";
rev = "refs/tags/v${version}";
hash = "sha256-n07a50bigglwr3ItZqbyQxu0mPZawTSVunwIe8goJBQ=";
hash = "sha256-R5DO4xN3PkwGAIfyMkohs9SvFiLjWf1ddOwkY6wbsjA=";
};
# NOTE: Generating lock-file
# arch = [ x64 arm64 ]
# platform = [ darwin linux]
# npm install --package-lock-only --arch=<arch> --platform=<os>
# darwin seems to generate a cross platform compatible lockfile
postPatch = ''
cp ${./package-lock.json} package-lock.json
'';
npmDepsHash = "sha256-/E1JUsbPyHzWJ4kuNRg/blYRaAdATYbk+jnJFJyzHLE=";
npmDepsHash = "sha256-Nrcld0ONfjdSh/ItdbDMp6dXVFKoj83aaoGXDgoNE60=";
dontNpmBuild = true;
dontNpmPrune = true;

View File

@ -1,8 +1,7 @@
#! @bash@/bin/bash
set -eo pipefail
PATH=@coreutils@/bin:$PATH
export CLASSPATH=$(find @outFreenet@/deps/ -name "*.jar"|grep -v bcprov-jdk15on-1.48.jar|tr $'\n' :)
CLASSPATH=$CLASSPATH:@outFreenet@/share/freenet/freenet-ext.jar:@outFreenet@/share/freenet/freenet.jar
export CLASSPATH=@CLASSPATH@
export FREENET_HOME="$HOME/.local/share/freenet"
if [ -n "$XDG_DATA_HOME" ] ; then
@ -11,7 +10,7 @@ fi
mkdir -p -- $FREENET_HOME
cp -u -- @seednodes@ $FREENET_HOME/seednodes.fref
cp -u -- @seednodes@/seednodes.fref $FREENET_HOME/seednodes.fref
chmod u+rw -- $FREENET_HOME/seednodes.fref
cd -- $FREENET_HOME

View File

@ -1,7 +1,35 @@
{ lib, stdenv, fetchurl, fetchFromGitHub, jdk, jre, gradle, bash, coreutils
, substituteAll, nixosTests, fetchpatch, writeText }:
{
lib,
stdenv,
fetchurl,
fetchFromGitHub,
jdk17_headless,
jre17_minimal,
gradle_7,
bash,
coreutils,
substituteAll,
nixosTests,
fetchpatch,
writeText,
}:
let
gradle = gradle_7;
jdk = jdk17_headless;
# Reduce closure size
jre = jre17_minimal.override {
modules = [
"java.base"
"java.logging"
"java.naming"
"java.sql"
"java.desktop"
"java.management"
];
jdk = jdk17_headless;
};
version = "01497";
freenet_ext = fetchurl {
@ -9,9 +37,15 @@ let
sha256 = "sha256-MvKz1r7t9UE36i+aPr72dmbXafCWawjNF/19tZuk158=";
};
seednodes = fetchurl {
url = "https://downloads.freenetproject.org/alpha/opennet/seednodes.fref";
sha256 = "08awwr8n80b4cdzzb3y8hf2fzkr1f2ly4nlq779d6pvi5jymqdvv";
seednodes = fetchFromGitHub {
name = "freenet-seednodes";
owner = "hyphanet";
repo = "seedrefs";
rev = "9df1bf93ab64aba634bdfc5f4d0e960571ce4ba5";
hash = "sha256-nvwJvKw5IPhItPe4k/jnOGaa8H4DtOi8XxKFOKFMAuY=";
postFetch = ''
cat $out/* > $out/seednodes.fref
'';
};
patches = [
@ -23,7 +57,8 @@ let
})
];
in stdenv.mkDerivation rec {
in
stdenv.mkDerivation rec {
pname = "freenet";
inherit version patches;
@ -38,11 +73,19 @@ in stdenv.mkDerivation rec {
rm gradle/verification-{keyring.keys,metadata.xml}
'';
nativeBuildInputs = [ gradle jdk ];
nativeBuildInputs = [
gradle
jdk
];
wrapper = substituteAll {
src = ./freenetWrapper;
inherit bash coreutils jre seednodes;
inherit
bash
coreutils
jre
seednodes
;
};
mitmCache = gradle.fetchDeps {
@ -59,16 +102,21 @@ in stdenv.mkDerivation rec {
installPhase = ''
runHook preInstall
install -Dm444 build/libs/freenet.jar $out/share/freenet/freenet.jar
install -Dm644 build/libs/freenet.jar $out/share/freenet/freenet.jar
ln -s ${freenet_ext} $out/share/freenet/freenet-ext.jar
mkdir -p $out/bin
install -Dm555 ${wrapper} $out/bin/freenet
install -Dm755 ${wrapper} $out/bin/freenet
export CLASSPATH="$(find ${mitmCache} -name "*.jar"| sort | grep -v bcprov-jdk15on-1.48.jar|tr $'\n' :):$out/share/freenet/freenet-ext.jar:$out/share/freenet/freenet.jar"
substituteInPlace $out/bin/freenet \
--subst-var-by outFreenet $out
--subst-var-by CLASSPATH "$CLASSPATH"
runHook postInstall
'';
passthru.tests = { inherit (nixosTests) freenet; };
passthru.tests = {
inherit (nixosTests) freenet;
};
meta = {
description = "Decentralised and censorship-resistant network";

View File

@ -0,0 +1,145 @@
{
"name": "gancio",
"version": "1.19.0",
"description": "A shared agenda for local communities",
"author": "lesion",
"scripts": {
"build": "nuxt build --modern",
"start:inspect": "NODE_ENV=production node --inspect node_modules/.bin/nuxt start --modern",
"dev": "nuxt dev",
"dev:inspect": "node --inspect node_modules/.bin/nuxt dev",
"test-sqlite": "export NODE_ENV=test; export DB=sqlite; jest --forceExit --runInBand --bail=1 --testTimeout=10000",
"test-mariadb": "export NODE_ENV=test; export DB=mariadb; jest --runInBand --bail=1",
"test-postgresql": "export NODE_ENV=test; export DB=postgresql; jest --runInBand --bail=1",
"start": "nuxt start --modern",
"doc": "cd docs && bundle exec jekyll b",
"doc:dev": "cd docs && bundle exec jekyll s --drafts",
"migrate": "NODE_ENV=production sequelize db:migrate",
"migrate:dev": "sequelize db:migrate",
"analyze": "nuxt build --analyze",
"build:wc": "cd webcomponents; yarn build:lib; cp dist/gancio-events.js ../wp-plugin/js/gancio-events.es.js; cp dist/gancio-events.js ../assets/gancio-events.es.js; cp dist/gancio-events.js ../docs/assets/js/gancio-events.es.js; cp dist/gancio-events.js ../static/gancio-events.es.js;"
},
"files": [
"server/",
"assets/",
"modules/",
"nuxt.config.js",
"static/",
"views/",
"locales/email/",
"locales/",
"store/",
".nuxt/",
"gancio_plugins",
"yarn.lock"
],
"engines": {
"node": ">=14 <=22"
},
"dependencies": {
"@mdi/js": "^7.4.47",
"@nuxtjs/auth": "^4.9.1",
"@nuxtjs/axios": "^5.13.6",
"@nuxtjs/i18n": "^7.3.1",
"@nuxtjs/sitemap": "^2.4.0",
"@peertube/http-signature": "^1.7.0",
"accept-language": "^3.0.18",
"bcryptjs": "^2.4.3",
"body-parser": "^2.0.0-beta.2",
"cookie-parser": "^1.4.6",
"cookie-session": "^2.1.0",
"cookie-universal-nuxt": "^2.2.2",
"cors": "^2.8.5",
"dayjs": "^1.11.11",
"dompurify": "^3.1.5",
"email-templates": "^11.1.1",
"express": "^4.19.2",
"express-async-errors": "^3.1.1",
"express-rate-limit": "^7.3.1",
"https-proxy-agent": "^7.0.4",
"ical.js": "^2.0.1",
"ics": "^3.7.6",
"jsdom": "^24.1.0",
"leaflet": "^1.9.4",
"linkify-html": "^4.1.3",
"linkifyjs": "4.1.3",
"lodash": "^4.17.21",
"luxon": "^3.4.4",
"mariadb": "^2.5.6",
"memory-cache": "^0.2.0",
"microformat-node": "^2.0.4",
"minify-css-string": "^1.0.0",
"mkdirp": "^3.0.1",
"multer": "^1.4.5-lts.1",
"nuxt-edge": "2.17.2-28258581.6132947",
"oauth2orize": "^1.12.0",
"passport": "^0.7.0",
"passport-anonymous": "^1.0.1",
"passport-custom": "^1.1.1",
"passport-http": "^0.3.0",
"passport-http-bearer": "^1.0.1",
"passport-oauth2-client-password": "^0.1.2",
"passport-oauth2-client-public": "^0.0.1",
"pg": "^8.12.0",
"semver": "^7.6.2",
"sequelize": "^6.37.3",
"sequelize-slugify": "^1.6.2",
"sharp": "^0.27.2",
"sqlite3": "^5.1.7",
"telegraf": "^4.16.3",
"tiptap": "^1.32.2",
"tiptap-extensions": "^1.35.2",
"umzug": "^2.3.0",
"v-calendar": "^2.4.2",
"vue2-leaflet": "^2.7.1",
"vuetify": "2.6.14",
"winston": "^3.13.0",
"winston-daily-rotate-file": "^5.0.0",
"yargs": "^17.7.2"
},
"devDependencies": {
"@nuxtjs/vuetify": "^1.12.3",
"@vue/language-plugin-pug": "^1.8.27",
"jest": "^29.7.0",
"jest-environment-node": "^29.7.0",
"prettier": "^2.8.8",
"pug": "^3.0.3",
"pug-plain-loader": "^1.1.0",
"sass": "^1.77.6",
"sequelize-cli": "^6.6.2",
"supertest": "^6.3.4",
"webpack": "^4.47.0",
"webpack-cli": "^4.10.0"
},
"resolutions": {
"vue": "2.7.16",
"vue-template-compiler": "2.7.16",
"vue-server-renderer": "2.7.16"
},
"bin": {
"gancio": "server/cli.js"
},
"bugs": {
"email": "lesion@autistici.org",
"url": "https://framagit.org/les/gancio/issues"
},
"homepage": "https://gancio.org",
"keywords": [
"AP",
"gancio",
"events",
"federation",
"activitypub",
"event",
"server",
"self-host",
"app"
],
"license": "AGPL-3.0",
"repository": {
"type": "git",
"url": "https://framagit.org/les/gancio"
},
"snyk": true,
"packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
}

View File

@ -0,0 +1,101 @@
{
mkYarnPackage,
fetchFromGitLab,
fetchYarnDeps,
python3,
pkg-config,
nodePackages,
node-gyp,
vips,
lib,
nixosTests,
}:
mkYarnPackage rec {
inherit (nodePackages) nodejs;
version = "1.19.0";
src = fetchFromGitLab {
domain = "framagit.org";
owner = "les";
repo = "gancio";
rev = "v${version}";
hash = "sha256-cMUM7jqLsrw57gySiIK7DBZA7lPiXL2HAadMk+7wkzs=";
};
offlineCache = fetchYarnDeps {
yarnLock = src + "/yarn.lock";
hash = "sha256-ONPvBvT3zf8IVkIEOmiQgcjI7zPCFwDuQfo+fOvDGzM=";
};
packageJSON = ./package.json;
# for pkg-config dependencies:
yarnPreBuild = ''
export npm_config_nodedir=${nodePackages.nodejs}
'';
# So that sqlite can be found:
pkgConfig.sqlite3 = {
nativeBuildInputs = [
pkg-config
nodePackages.prebuild-install
node-gyp
python3
];
postInstall = ''
yarn --offline run install
'';
};
# Sharp need to find a vips library
pkgConfig.sharp = {
nativeBuildInputs = [
pkg-config
python3
node-gyp
nodePackages.semver
];
buildInputs = [ vips ];
postInstall = ''
yarn --offline run install
'';
};
# build need a writeable node_modules
configurePhase = ''
runHook preConfigure
cp -r $node_modules node_modules
chmod -R +w node_modules
runHook postConfigure
'';
buildPhase = ''
runHook preBuild
export HOME=$(mktemp -d)
yarn --offline build
yarn --offline pack --filename gancio.tgz
mkdir -p deps/gancio
tar -C deps/gancio/ --strip-components=1 -xf gancio.tgz
rm gancio.tgz
runHook postBuild
'';
passthru = {
updateScript = ./update.sh;
tests = {
inherit (nixosTests) gancio;
};
};
meta = {
description = "Shared agenda for local communities, running on nodejs";
homepage = "https://gancio.org/";
changelog = "https://framagit.org/les/gancio/-/raw/master/CHANGELOG.md";
license = lib.licenses.agpl3Plus;
platforms = lib.platforms.linux;
mainProgram = "gancio";
maintainers = with lib.maintainers; [ jbgi ];
};
}

View File

@ -0,0 +1,45 @@
{
mkYarnPackage,
nodejs,
fetchFromGitLab,
fetchYarnDeps,
lib,
}:
mkYarnPackage rec {
inherit nodejs;
version = "1.0.4";
src = fetchFromGitLab {
domain = "framagit.org";
owner = "bcn.convocala";
repo = "gancio-plugin-telegram-bridge";
rev = "v${version}";
hash = "sha256-Da8PxCX1Z1dKJu9AiwdRDfb1r1P2KiZe8BClYB9Rz48=";
};
offlineCache = fetchYarnDeps {
inherit yarnLock;
hash = "sha256-BcRVmVA5pnFzpg2gN/nKLzENnoEdwrE0EgulDizq8Ok=";
};
packageJSON = ./package.json;
# upstream doesn't provide a yarn.lock file
yarnLock = ./yarn.lock;
doDist = false;
postInstall = ''
rmdir $out/bin
ln -s $out/libexec/gancio-plugin-telegram/deps/gancio-plugin-telegram/index.js $out/
ln -s $out/libexec/gancio-plugin-telegram/node_modules $out/
'';
meta = {
description = "Telegram bridge for Gancio, republishes content to Telegram channels or groups";
homepage = "https://framagit.org/bcn.convocala/gancio-plugin-telegram-bridge";
license = lib.licenses.agpl3Plus;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ jbgi ];
};
}

View File

@ -0,0 +1,16 @@
{
"name": "gancio-plugin-telegram",
"version": "1.0.1",
"description": "Telegram bridge plugin for Gancio",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "AGPL-3.0-or-later",
"dependencies": {
"telegraf": "^4.8.5",
"dompurify": "^3.0.2",
"jsdom": "^21.1.0"
}
}

View File

@ -0,0 +1,452 @@
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1
"@telegraf/types@^6.9.1":
version "6.9.1"
resolved "https://registry.yarnpkg.com/@telegraf/types/-/types-6.9.1.tgz#ee2d335164f582db55337d77cc440c1faeadd510"
integrity sha512-bzqwhicZq401T0e09tu8b1KvGfJObPmzKU/iKCT5V466AsAZZWQrBYQ5edbmD1VZuHLEwopoOVY5wPP4HaLtug==
"@tootallnate/once@2":
version "2.0.0"
resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf"
integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==
abab@^2.0.6:
version "2.0.6"
resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291"
integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==
abort-controller@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392"
integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==
dependencies:
event-target-shim "^5.0.0"
acorn-globals@^7.0.0:
version "7.0.1"
resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-7.0.1.tgz#0dbf05c44fa7c94332914c02066d5beff62c40c3"
integrity sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==
dependencies:
acorn "^8.1.0"
acorn-walk "^8.0.2"
acorn-walk@^8.0.2:
version "8.3.1"
resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.1.tgz#2f10f5b69329d90ae18c58bf1fa8fccd8b959a43"
integrity sha512-TgUZgYvqZprrl7YldZNoa9OciCAyZR+Ejm9eXzKCmjsF5IKp/wgQ7Z/ZpjpGTIUPwrHQIcYeI8qDh4PsEwxMbw==
acorn@^8.1.0, acorn@^8.8.2:
version "8.11.3"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a"
integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==
agent-base@6:
version "6.0.2"
resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77"
integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==
dependencies:
debug "4"
asynckit@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==
buffer-alloc-unsafe@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0"
integrity sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==
buffer-alloc@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec"
integrity sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==
dependencies:
buffer-alloc-unsafe "^1.1.0"
buffer-fill "^1.0.0"
buffer-fill@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c"
integrity sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==
combined-stream@^1.0.8:
version "1.0.8"
resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
dependencies:
delayed-stream "~1.0.0"
cssstyle@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-3.0.0.tgz#17ca9c87d26eac764bb8cfd00583cff21ce0277a"
integrity sha512-N4u2ABATi3Qplzf0hWbVCdjenim8F3ojEXpBDF5hBpjzW182MjNGLqfmQ0SkSPeQ+V86ZXgeH8aXj6kayd4jgg==
dependencies:
rrweb-cssom "^0.6.0"
data-urls@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-4.0.0.tgz#333a454eca6f9a5b7b0f1013ff89074c3f522dd4"
integrity sha512-/mMTei/JXPqvFqQtfyTowxmJVwr2PVAeCcDxyFf6LhoOu/09TX2OX3kb2wzi4DMXcfj4OItwDOnhl5oziPnT6g==
dependencies:
abab "^2.0.6"
whatwg-mimetype "^3.0.0"
whatwg-url "^12.0.0"
debug@4, debug@^4.3.4:
version "4.3.4"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
dependencies:
ms "2.1.2"
decimal.js@^10.4.3:
version "10.4.3"
resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.3.tgz#1044092884d245d1b7f65725fa4ad4c6f781cc23"
integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==
delayed-stream@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==
domexception@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/domexception/-/domexception-4.0.0.tgz#4ad1be56ccadc86fc76d033353999a8037d03673"
integrity sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==
dependencies:
webidl-conversions "^7.0.0"
dompurify@^3.0.2:
version "3.0.8"
resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-3.0.8.tgz#e0021ab1b09184bc8af7e35c7dd9063f43a8a437"
integrity sha512-b7uwreMYL2eZhrSCRC4ahLTeZcPZxSmYfmcQGXGkXiZSNW1X85v+SDM5KsWcpivIiUBH47Ji7NtyUdpLeF5JZQ==
entities@^4.4.0:
version "4.5.0"
resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48"
integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==
escodegen@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.1.0.tgz#ba93bbb7a43986d29d6041f99f5262da773e2e17"
integrity sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==
dependencies:
esprima "^4.0.1"
estraverse "^5.2.0"
esutils "^2.0.2"
optionalDependencies:
source-map "~0.6.1"
esprima@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
estraverse@^5.2.0:
version "5.3.0"
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123"
integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==
esutils@^2.0.2:
version "2.0.3"
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
event-target-shim@^5.0.0:
version "5.0.1"
resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789"
integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==
form-data@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452"
integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==
dependencies:
asynckit "^0.4.0"
combined-stream "^1.0.8"
mime-types "^2.1.12"
html-encoding-sniffer@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz#2cb1a8cf0db52414776e5b2a7a04d5dd98158de9"
integrity sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==
dependencies:
whatwg-encoding "^2.0.0"
http-proxy-agent@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43"
integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==
dependencies:
"@tootallnate/once" "2"
agent-base "6"
debug "4"
https-proxy-agent@^5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6"
integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==
dependencies:
agent-base "6"
debug "4"
iconv-lite@0.6.3:
version "0.6.3"
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501"
integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==
dependencies:
safer-buffer ">= 2.1.2 < 3.0.0"
is-potential-custom-element-name@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5"
integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==
jsdom@^21.1.0:
version "21.1.2"
resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-21.1.2.tgz#6433f751b8718248d646af1cdf6662dc8a1ca7f9"
integrity sha512-sCpFmK2jv+1sjff4u7fzft+pUh2KSUbUrEHYHyfSIbGTIcmnjyp83qg6qLwdJ/I3LpTXx33ACxeRL7Lsyc6lGQ==
dependencies:
abab "^2.0.6"
acorn "^8.8.2"
acorn-globals "^7.0.0"
cssstyle "^3.0.0"
data-urls "^4.0.0"
decimal.js "^10.4.3"
domexception "^4.0.0"
escodegen "^2.0.0"
form-data "^4.0.0"
html-encoding-sniffer "^3.0.0"
http-proxy-agent "^5.0.0"
https-proxy-agent "^5.0.1"
is-potential-custom-element-name "^1.0.1"
nwsapi "^2.2.4"
parse5 "^7.1.2"
rrweb-cssom "^0.6.0"
saxes "^6.0.0"
symbol-tree "^3.2.4"
tough-cookie "^4.1.2"
w3c-xmlserializer "^4.0.0"
webidl-conversions "^7.0.0"
whatwg-encoding "^2.0.0"
whatwg-mimetype "^3.0.0"
whatwg-url "^12.0.1"
ws "^8.13.0"
xml-name-validator "^4.0.0"
mime-db@1.52.0:
version "1.52.0"
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
mime-types@^2.1.12:
version "2.1.35"
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a"
integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
dependencies:
mime-db "1.52.0"
mri@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/mri/-/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b"
integrity sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==
ms@2.1.2:
version "2.1.2"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
node-fetch@^2.6.8:
version "2.7.0"
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d"
integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==
dependencies:
whatwg-url "^5.0.0"
nwsapi@^2.2.4:
version "2.2.7"
resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.7.tgz#738e0707d3128cb750dddcfe90e4610482df0f30"
integrity sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==
p-timeout@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-4.1.0.tgz#788253c0452ab0ffecf18a62dff94ff1bd09ca0a"
integrity sha512-+/wmHtzJuWii1sXn3HCuH/FTwGhrp4tmJTxSKJbfS+vkipci6osxXM5mY0jUiRzWKMTgUT8l7HFbeSwZAynqHw==
parse5@^7.1.2:
version "7.1.2"
resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.1.2.tgz#0736bebbfd77793823240a23b7fc5e010b7f8e32"
integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==
dependencies:
entities "^4.4.0"
psl@^1.1.33:
version "1.9.0"
resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7"
integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==
punycode@^2.1.1, punycode@^2.3.0:
version "2.3.1"
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5"
integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==
querystringify@^2.1.1:
version "2.2.0"
resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6"
integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==
requires-port@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==
rrweb-cssom@^0.6.0:
version "0.6.0"
resolved "https://registry.yarnpkg.com/rrweb-cssom/-/rrweb-cssom-0.6.0.tgz#ed298055b97cbddcdeb278f904857629dec5e0e1"
integrity sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==
safe-compare@^1.1.4:
version "1.1.4"
resolved "https://registry.yarnpkg.com/safe-compare/-/safe-compare-1.1.4.tgz#5e0128538a82820e2e9250cd78e45da6786ba593"
integrity sha512-b9wZ986HHCo/HbKrRpBJb2kqXMK9CEWIE1egeEvZsYn69ay3kdfl9nG3RyOcR+jInTDf7a86WQ1d4VJX7goSSQ==
dependencies:
buffer-alloc "^1.2.0"
"safer-buffer@>= 2.1.2 < 3.0.0":
version "2.1.2"
resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
sandwich-stream@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/sandwich-stream/-/sandwich-stream-2.0.2.tgz#6d1feb6cf7e9fe9fadb41513459a72c2e84000fa"
integrity sha512-jLYV0DORrzY3xaz/S9ydJL6Iz7essZeAfnAavsJ+zsJGZ1MOnsS52yRjU3uF3pJa/lla7+wisp//fxOwOH8SKQ==
saxes@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/saxes/-/saxes-6.0.0.tgz#fe5b4a4768df4f14a201b1ba6a65c1f3d9988cc5"
integrity sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==
dependencies:
xmlchars "^2.2.0"
source-map@~0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
symbol-tree@^3.2.4:
version "3.2.4"
resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2"
integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==
telegraf@^4.8.5:
version "4.15.3"
resolved "https://registry.yarnpkg.com/telegraf/-/telegraf-4.15.3.tgz#72e28e62c3cc7f97b88b5f1b04a0e0700a7df251"
integrity sha512-pm2ZQAisd0YlUvnq6xdymDfoQR++8wTalw0nfw7Tjy0va+V/0HaBLzM8kMNid8pbbt7GHTU29lEyA5CAAr8AqA==
dependencies:
"@telegraf/types" "^6.9.1"
abort-controller "^3.0.0"
debug "^4.3.4"
mri "^1.2.0"
node-fetch "^2.6.8"
p-timeout "^4.1.0"
safe-compare "^1.1.4"
sandwich-stream "^2.0.2"
tough-cookie@^4.1.2:
version "4.1.3"
resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.3.tgz#97b9adb0728b42280aa3d814b6b999b2ff0318bf"
integrity sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==
dependencies:
psl "^1.1.33"
punycode "^2.1.1"
universalify "^0.2.0"
url-parse "^1.5.3"
tr46@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/tr46/-/tr46-4.1.1.tgz#281a758dcc82aeb4fe38c7dfe4d11a395aac8469"
integrity sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==
dependencies:
punycode "^2.3.0"
tr46@~0.0.3:
version "0.0.3"
resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a"
integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==
universalify@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0"
integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==
url-parse@^1.5.3:
version "1.5.10"
resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1"
integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==
dependencies:
querystringify "^2.1.1"
requires-port "^1.0.0"
w3c-xmlserializer@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz#aebdc84920d806222936e3cdce408e32488a3073"
integrity sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==
dependencies:
xml-name-validator "^4.0.0"
webidl-conversions@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871"
integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==
webidl-conversions@^7.0.0:
version "7.0.0"
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz#256b4e1882be7debbf01d05f0aa2039778ea080a"
integrity sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==
whatwg-encoding@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz#e7635f597fd87020858626805a2729fa7698ac53"
integrity sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==
dependencies:
iconv-lite "0.6.3"
whatwg-mimetype@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz#5fa1a7623867ff1af6ca3dc72ad6b8a4208beba7"
integrity sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==
whatwg-url@^12.0.0, whatwg-url@^12.0.1:
version "12.0.1"
resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-12.0.1.tgz#fd7bcc71192e7c3a2a97b9a8d6b094853ed8773c"
integrity sha512-Ed/LrqB8EPlGxjS+TrsXcpUond1mhccS3pchLhzSgPCnTimUCKj3IZE75pAs5m6heB2U2TMerKFUXheyHY+VDQ==
dependencies:
tr46 "^4.1.1"
webidl-conversions "^7.0.0"
whatwg-url@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d"
integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==
dependencies:
tr46 "~0.0.3"
webidl-conversions "^3.0.0"
ws@^8.13.0:
version "8.16.0"
resolved "https://registry.yarnpkg.com/ws/-/ws-8.16.0.tgz#d1cd774f36fbc07165066a60e40323eab6446fd4"
integrity sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==
xml-name-validator@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-4.0.0.tgz#79a006e2e63149a8600f15430f0a4725d1524835"
integrity sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==
xmlchars@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb"
integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==

View File

@ -0,0 +1,4 @@
{ callPackage, nodejs }:
{
telegram-bridge = callPackage ./plugin-telegram-bridge { inherit nodejs; };
}

View File

@ -0,0 +1,19 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl common-updater-scripts jq nix prefetch-yarn-deps
set -eux -o pipefail
latest_version=$(curl -s https://framagit.org/api/v4/projects/48668/repository/tags | jq --raw-output '.[0].name' | sed 's/^v//')
nixFile=$(nix-instantiate --eval --strict -A "gancio.meta.position" | sed -re 's/^"(.*):[0-9]+"$/\1/')
nixFolder=$(dirname "$nixFile")
curl -o "$nixFolder/package.json" -s "https://framagit.org/les/gancio/-/raw/v$latest_version/package.json"
curl -o "$nixFolder/yarn.lock" -s "https://framagit.org/les/gancio/-/raw/v$latest_version/yarn.lock"
old_yarn_hash=$(nix-instantiate --eval --strict -A "gancio.offlineCache.outputHash" | tr -d '"' | sed -re 's|[+]|\\&|g')
new_yarn_hash=$(nix hash to-sri --type sha256 $(prefetch-yarn-deps "$nixFolder/yarn.lock"))
sed -i "$nixFile" -re "s|\"$old_yarn_hash\"|\"$new_yarn_hash\"|"
rm "$nixFolder/yarn.lock"
update-source-version gancio "$latest_version"

View File

@ -0,0 +1,61 @@
{
lib,
stdenv,
rustPlatform,
fetchFromGitHub,
pkg-config,
libgit2,
darwin,
nix-update-script,
}:
rustPlatform.buildRustPackage rec {
pname = "gex";
version = "0.6.4";
src = fetchFromGitHub {
owner = "Piturnah";
repo = "gex";
rev = "v${version}";
hash = "sha256-Xer7a3UtFIv3idchI7DfZ5u6qgDW/XFWi5ihtcREXqo=";
};
nativeBuildInputs = [ pkg-config ];
passthru.updateScript = nix-update-script { };
buildInputs =
[
libgit2
]
++ lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.Security
];
env = {
LIBGIT2_NO_VENDOR = 1;
};
cargoPatches = [
./patch-libgit2.patch
];
cargoHash = "sha256-GEQ4Zv14Dzo9mt1YIDmXEBHLPD6G0/O1ggmUTnSYD+k=";
meta = with lib; {
description = "Git Explorer: cross-platform git workflow improvement tool inspired by Magit";
homepage = "https://github.com/Piturnah/gex";
changelog = "https://github.com/Piturnah/gex/releases/tag/${src.rev}";
license = with licenses; [
asl20 # or
mit
];
maintainers = with maintainers; [
azd325
bot-wxt1221
evanrichter
piturnah
];
mainProgram = "gex";
};
}

View File

@ -0,0 +1,54 @@
From 3f9183a4de984c5d24caa9379274461e369926ed Mon Sep 17 00:00:00 2001
From: wxt <3264117476@qq.com>
Date: Sun, 8 Sep 2024 18:36:46 +0800
Subject: [PATCH] tt
---
Cargo.lock | 8 ++++----
Cargo.toml | 2 +-
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/Cargo.lock b/Cargo.lock
index 5101c2e..0cb59d2 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -246,9 +246,9 @@ dependencies = [
[[package]]
name = "git2"
-version = "0.18.1"
+version = "0.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fbf97ba92db08df386e10c8ede66a2a0369bd277090afd8710e19e38de9ec0cd"
+checksum = "b903b73e45dc0c6c596f2d37eccece7c1c8bb6e4407b001096387c63d0d93724"
dependencies = [
"bitflags 2.3.3",
"libc",
@@ -316,9 +316,9 @@ checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
[[package]]
name = "libgit2-sys"
-version = "0.16.1+1.7.1"
+version = "0.17.0+1.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f2a2bb3680b094add03bb3732ec520ece34da31a8cd2d633d1389d0f0fb60d0c"
+checksum = "10472326a8a6477c3c20a64547b0059e4b0d086869eee31e6d7da728a8eb7224"
dependencies = [
"cc",
"libc",
diff --git a/Cargo.toml b/Cargo.toml
index 26cef3f..f947945 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -16,7 +16,7 @@ anyhow = "1.0.75"
clap = { version = "4.4.7", features = ["cargo", "derive"] }
crossterm = { version = "0.27.0", features = ["serde"] }
dirs = "5.0.1"
-git2 = { version = "0.18.1", default-features = false }
+git2 = { version = "0.19.0", default-features = false }
itertools = "0.11.0"
nom = "7.1.3"
paste = "1.0.14"
--
2.46.0

View File

@ -23,13 +23,13 @@ let
in
stdenvNoCC.mkDerivation {
pname = "gh-notify";
version = "0-unstable-2024-04-24";
version = "0-unstable-2024-08-01";
src = fetchFromGitHub {
owner = "meiji163";
repo = "gh-notify";
rev = "5c2db4cffe39f312d25979dc366f2bc219def9a2";
hash = "sha256-AgpNjeRz0RHf8D3ib7x1zixBxh32UUZJleub5W/suuM=";
rev = "556df2eecdc0f838244a012759da0b76bcfeb2e7";
hash = "sha256-WKv/1AW8wtl7kQ3PE7g2N0ELvdHtons7pYb0K8wsfWg=";
};
nativeBuildInputs = [

View File

@ -0,0 +1,38 @@
{
rustPlatform,
lib,
fetchFromGitHub,
darwin,
openssl,
pkg-config,
stdenv,
}:
rustPlatform.buildRustPackage rec {
pname = "gitlab-ci-ls";
version = "0.21.1";
src = fetchFromGitHub {
owner = "alesbrelih";
repo = "gitlab-ci-ls";
rev = "${version}";
hash = "sha256-0aVwI+E/UmYDSQDArQZsaNc0jDXXOG/zDr/5o0I1aLw=";
};
cargoHash = "sha256-rZXIc9O+pIdR/M8kV7judiHTCwnKcX+7P1LWEqZLeD8=";
nativeBuildInputs = [ pkg-config ];
buildInputs =
[ openssl ]
++ lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.SystemConfiguration
];
meta = with lib; {
homepage = "https://github.com/alesbrelih/gitlab-ci-ls";
description = "GitLab CI Language Server (gitlab-ci-ls)";
license = licenses.mit;
maintainers = with maintainers; [ ma27 ];
platforms = platforms.unix;
mainProgram = "gitlab-ci-ls";
};
}

View File

@ -26,7 +26,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "gmic";
version = "3.4.0";
version = "3.4.2";
outputs = [ "out" "lib" "dev" "man" ];
@ -34,7 +34,7 @@ stdenv.mkDerivation (finalAttrs: {
owner = "GreycLab";
repo = "gmic";
rev = "v.${finalAttrs.version}";
hash = "sha256-uK/kgzlUvEAxRB8Wc3Inspv4/8vnjXrCilP1g/QMuCs=";
hash = "sha256-oyhwdX/eWbb5i7j/Aw7ocJk3KrGdxfKJx+P4Hzemlw8=";
};
# TODO: build this from source
@ -42,7 +42,7 @@ stdenv.mkDerivation (finalAttrs: {
gmic_stdlib = fetchurl {
name = "gmic_stdlib_community.h";
url = "https://gmic.eu/gmic_stdlib_community${lib.replaceStrings ["."] [""] finalAttrs.version}.h";
hash = "sha256-LoqK8ADwzPpxhy2GvaxVjGyYEHAbhspyoIXuBXCLRtQ=";
hash = "sha256-quzQ0g6kmbJFygUOlKdTn9Fe9J7jhlLOiNal1kX3iHY=";
};
nativeBuildInputs = [

View File

@ -5,10 +5,10 @@
}:
let
pname = "heptabase";
version = "1.35.5";
version = "1.37.0";
src = fetchurl {
url = "https://github.com/heptameta/project-meta/releases/download/v${version}/Heptabase-${version}.AppImage";
hash = "sha256-hRyh6dBGe0/3paAcdpzt0E9M2V2J6LebO/M/kYIlT6U=";
hash = "sha256-TgVHlUYgvbERXGzntwmBH/xBmJj2EsCd1SWUbQr8nqY=";
};
appimageContents = appimageTools.extractType2 { inherit pname version src; };

View File

@ -1,7 +1,7 @@
{
"branch": "main",
"commit_hash": "9a09eac79b85c846e3a865a9078a3f8ff65a9259",
"commit_message": "props: bump version to 0.42.0",
"date": "2024-08-07",
"tag": "v0.42.0"
"commit_hash": "0f594732b063a90d44df8c5d402d658f27471dfe",
"commit_message": "props: bump version to 0.43.0",
"date": "2024-09-08",
"tag": "v0.43.0"
}

View File

@ -2,7 +2,6 @@
lib,
stdenv,
fetchFromGitHub,
fetchpatch,
pkg-config,
makeWrapper,
cmake,
@ -11,34 +10,23 @@
binutils,
cairo,
epoll-shim,
expat,
fribidi,
git,
hwdata,
hyprcursor,
hyprlang,
hyprutils,
hyprwayland-scanner,
jq,
libGL,
libdatrie,
libdisplay-info,
libdrm,
libexecinfo,
libinput,
libliftoff,
libselinux,
libsepol,
libthai,
libuuid,
libxkbcommon,
mesa,
pango,
pciutils,
pcre2,
pkgconf,
python3,
seatd,
systemd,
tomlplusplus,
wayland,
@ -66,26 +54,19 @@ assert lib.assertMsg (!hidpiXWayland)
stdenv.mkDerivation (finalAttrs: {
pname = "hyprland" + lib.optionalString debug "-debug";
version = "0.42.0";
version = "0.43.0";
src = fetchFromGitHub {
owner = "hyprwm";
repo = "hyprland";
fetchSubmodules = true;
rev = "refs/tags/v${finalAttrs.version}";
hash = "sha256-deu8zvgseDg2gQEnZiCda4TrbA6pleE9iItoZlsoMtE=";
hash = "sha256-+wE97utoDfhQP6AMdZHUmBeL8grbce/Jv2i5M+6AbaE=";
};
patches = [
# Fixes broken OpenGL applications on Apple silicon (Asahi Linux)
# Based on commit https://github.com/hyprwm/Hyprland/commit/279ec1c291021479b050c83a0435ac7076c1aee0
./asahi-fix.patch
# https://github.com/hyprwm/Hyprland/pull/7467
(fetchpatch {
url = "https://github.com/hyprwm/Hyprland/commit/a437e44a6af8e8f42966ffe3a26c1d562fce6b33.diff";
hash = "sha256-Y0P4rY6HyPN8Y5Kowlgyj0PiAHh6nqPRAQ4iFT0l4E8=";
})
# forces GCC to use -std=c++26 on CMake < 3.30
"${finalAttrs.src}/nix/stdcxx.patch"
];
postPatch = ''
@ -131,29 +112,18 @@ stdenv.mkDerivation (finalAttrs: {
[
aquamarine
cairo
expat
fribidi
git
hwdata
hyprcursor.dev
hyprlang
hyprutils
libGL
libdatrie
libdisplay-info
libdrm
libinput
libliftoff
libselinux
libsepol
libthai
libuuid
libxkbcommon
mesa
pango
pciutils
pcre2
seatd
tomlplusplus
wayland
wayland-protocols
@ -164,9 +134,7 @@ stdenv.mkDerivation (finalAttrs: {
++ lib.optionals enableXWayland [
xorg.libxcb
xorg.libXdmcp
xorg.xcbutil
xorg.xcbutilerrors
xorg.xcbutilrenderutil
xorg.xcbutilwm
xwayland
]

View File

@ -2,7 +2,12 @@ import ./generic.nix {
hash = "sha256-8GgzMiXn/78HkMuJ49cQA9BEQVAzPbG7jOxTScByR6Q=";
version = "6.0.1";
vendorHash = "sha256-dFg3LSG/ao73ODWcPDq5s9xUjuHabCMOB2AtngNCrlA=";
patches = [ ];
patches = [
# qemu 9.1 compat, remove when added to LTS
./572afb06f66f83ca95efa1b9386fceeaa1c9e11b.patch
./58eeb4eeee8a9e7f9fa9c62443d00f0ec6797078.patch
./0c37b7e3ec65b4d0e166e2127d9f1835320165b8.patch
];
lts = true;
updateScriptArgs = "--lts=true --regex '6.0.*'";
}

View File

@ -15,13 +15,13 @@
stdenv.mkDerivation {
pname = "rakshasa-libtorrent";
version = "0.13.8-unstable-2024-08-21";
version = "0.13.8-unstable-2024-09-01";
src = fetchFromGitHub {
owner = "rakshasa";
repo = "libtorrent";
rev = "96cb7e53f4b9f1bccf722627b9736fab85424082";
hash = "sha256-IxQ9YA6i7FBu92oswIcHk4G6lI+uduUzVzCs9v+b5NI=";
rev = "ca6eed1c7e7985016689004eaeed2fb2a119e5f8";
hash = "sha256-Hu0/T5NG7h+COLoOsfi2Uy0BVUPiEhkMhUhFo/JqZq0=";
};
nativeBuildInputs = [

View File

@ -2,14 +2,14 @@
rustPlatform.buildRustPackage rec {
pname = "license-generator";
version = "1.2.0";
version = "1.3.0";
src = fetchCrate {
inherit pname version;
hash = "sha256-RofgO5pJJlHP1rHFK5pgvi1TF77ZYrLYP5EML43zQMI=";
hash = "sha256-jp7NQfDh512oThZbLj0NbqcH7rxV2R0kDv1wsiTNf/M=";
};
cargoHash = "sha256-6iJJ6ZK5ZUfKG+1qYehz1LeYs6kzS1QlTjIogCLWjZA=";
cargoHash = "sha256-pjH+i7uG3++NLIZ9y+wg4r+TutmZF2+uO501pdPApQs=";
meta = with lib; {
description = "Command-line tool for generating license files";

View File

@ -92,7 +92,7 @@ in {
changelog = "https://github.com/logseq/logseq/releases/tag/${version}";
license = lib.licenses.agpl3Plus;
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
maintainers = [ ];
maintainers = with lib.maintainers; [ cheeseecake ];
platforms = [ "x86_64-linux" ] ++ lib.platforms.darwin;
mainProgram = "logseq";
};

View File

@ -1,38 +1,41 @@
{ lib
, fetchFromGitHub
, rustPlatform
, stdenv
, installShellFiles
{
lib,
fetchFromGitHub,
rustPlatform,
stdenv,
installShellFiles,
}:
rustPlatform.buildRustPackage rec {
pname = "lutgen";
version = "0.10.1";
version = "0.11.0";
src = fetchFromGitHub {
owner = "ozwaldorf";
repo = "lutgen-rs";
rev = "v${version}";
hash = "sha256-Rj6y8ZiNWQsGn8B+iNMZvuE/U2703oYbJW+ZSdV3fl4=";
hash = "sha256-ybaapL9OUUQ+sO8P0JH1MuxCFmTihKp9gXJpM7KLY7U=";
};
cargoHash = "sha256-7yNr6Zc5A7rj6sUnplo2gB2xNUgZ3TLwUuBEfVKZfIQ=";
cargoHash = "sha256-Fxecnq7QKcDe6aAsKj9uye3sFdfkgFEKYmdqnvQDiAQ=";
nativeBuildInputs = [
installShellFiles
];
nativeBuildInputs = [ installShellFiles ];
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
installShellCompletion --cmd lutgen \
--bash <($out/bin/lutgen completions bash) \
--fish <($out/bin/lutgen completions fish) \
--zsh <($out/bin/lutgen completions zsh)
--bash <($out/bin/lutgen --bpaf-complete-style-bash) \
--fish <($out/bin/lutgen --bpaf-complete-style-fish) \
--zsh <($out/bin/lutgen --bpaf-complete-style-zsh)
'';
meta = with lib; {
description = "Blazingly fast interpolated LUT generator and applicator for arbitrary and popular color palettes";
homepage = "https://github.com/ozwaldorf/lutgen-rs";
maintainers = with maintainers; [ ozwaldorf zzzsy donovanglover ];
maintainers = with maintainers; [
ozwaldorf
zzzsy
donovanglover
];
mainProgram = "lutgen";
license = licenses.mit;
};

View File

@ -6,13 +6,13 @@
stdenv.mkDerivation rec {
pname = "matrix-brandy";
version = "1.23.2";
version = "1.23.3";
src = fetchFromGitHub {
owner = "stardot";
repo = "MatrixBrandy";
rev = "V${version}";
hash = "sha256-alyg4AQ1nSISk3NwniTurRVWeUp1q/SQjK2loek8bfI=";
hash = "sha256-jw5SxCQ2flvCjO/JO3BHpnpt31wBsBxDkVH7uwVxTS0=";
};
buildInputs = [

View File

@ -6,16 +6,16 @@
buildGoModule rec {
pname = "misconfig-mapper";
version = "1.8.3";
version = "1.8.4";
src = fetchFromGitHub {
owner = "intigriti";
repo = "misconfig-mapper";
rev = "refs/tags/v${version}";
hash = "sha256-1ggiNO5ZYYmV44ub80IpzsHCcsEYhRlWcZtX012hJxQ=";
hash = "sha256-zg7OBHrveBmsljUJUE0/kz3AkIbUtTHf64BQbROUXsQ=";
};
vendorHash = "sha256-hx03o4LaqFNylStCkt/MFtgwvsOZFFcEC/c54g1kCNk=";
vendorHash = "sha256-aABtsS39yxBBFMN98fjr4gy6QeF3dobrZqeZmmv2ywQ=";
ldflags = [
"-s"

View File

@ -7,7 +7,7 @@
buildGoModule rec {
version = "photos-v0.9.30";
version = "photos-v0.9.35";
pname = "museum";
src = fetchFromGitHub {
@ -15,7 +15,7 @@ buildGoModule rec {
repo = "ente";
sparseCheckout = [ "server" ];
rev = version;
hash = "sha256-R85eI8n9jQB55l8V4881X74RGH3k0JhGS+phLBrZHvc=";
hash = "sha256-A/M2OhDzzOMGXnaqFFV9Z8bn/3HeZc50p2mIv++Q0uE=";
};
sourceRoot = "${src.name}/server";

View File

@ -6,13 +6,13 @@
buildGoModule rec {
pname = "nhost-cli";
version = "1.23.0";
version = "1.24.0";
src = fetchFromGitHub {
owner = "nhost";
repo = "cli";
rev = "v${version}";
hash = "sha256-Xia45kNblGmU4i/CIHg/WOK3EJP1VUHenvLA4CGOY0U=";
hash = "sha256-8kul3tiwEJF6Pu1os29MteeYP+85X9hH12MojMpW9bY=";
};
vendorHash = null;

View File

@ -0,0 +1,84 @@
{
lib,
stdenv,
fetchFromGitHub,
rustPlatform,
pkg-config,
openssl,
darwin,
libiconv,
installShellFiles,
nix-update-script,
}:
rustPlatform.buildRustPackage rec {
pname = "nix-weather";
version = "0.0.3";
# fetch from GitHub and not upstream forgejo because cafkafk doesn't want to
# pay for bandwidth
src = fetchFromGitHub {
owner = "cafkafk";
repo = "nix-weather";
rev = "v${version}";
hash = "sha256-deVgDYYIv5SyKrkPAfPgbmQ/n4hYSrK2dohaiR5O0QE=";
};
cargoHash = "sha256-QJybGxqOJid1D6FTy7lvrakkB/Ss3P3JnXtU1UlGlW0=";
cargoExtraArgs = "-p nix-weather";
nativeBuildInputs = [ pkg-config ];
buildInputs =
[
openssl
installShellFiles
]
++ lib.optionals stdenv.isDarwin [
libiconv
darwin.apple_sdk.frameworks.Security
darwin.apple_sdk.frameworks.SystemConfiguration
];
outputs = [
"out"
"man"
];
# This is where `build.rs` puts manpages
MAN_OUT = "./man";
postInstall = ''
cd crates/nix-weather
installManPage man/nix-weather.1
installShellCompletion \
--fish man/nix-weather.fish \
--bash man/nix-weather.bash \
--zsh man/_nix-weather
mkdir -p $out
cd ../..
'';
# We are the only distro that will ever package this, thus ryanbot will not
# be able to find updates through repology and we need this.
passthru.updateScript = nix-update-script { };
meta = with lib; {
description = "Check Cache Availablility of NixOS Configurations";
longDescription = ''
Fast rust tool to check availability of your entire system in caches. It
so to speak "checks the weather" before going to update. Useful for
debugging cache utilization and timing updates and deployments.
Heavily inspired by guix weather.
'';
homepage = "https://git.fem.gg/cafkafk/nix-weather";
changelog = "https://git.fem.gg/cafkafk/nix-weather/releases/tag/v${version}";
license = licenses.eupl12;
mainProgram = "nix-weather";
maintainers = with maintainers; [
cafkafk
freyacodes
];
platforms = platforms.all;
};
}

View File

@ -0,0 +1,27 @@
{
buildGoModule,
fetchurl,
lib,
}:
buildGoModule rec {
pname = "ntfy-alertmanager";
version = "0.3.0";
src = fetchurl {
url = "https://git.xenrox.net/~xenrox/ntfy-alertmanager/refs/download/v${version}/ntfy-alertmanager-${version}.tar.gz";
hash = "sha256-8VDHeK77dcbATSFfqknlhMSP93OlDNmkzRJxLN4rCVE=";
};
vendorHash = "sha256-WKImEc7FvZm/6noC2+Lz4g+ASFEuRBE8nzTEDbXaWic=";
meta = with lib; {
description = "A bridge between ntfy and Alertmanager.";
homepage = "https://git.xenrox.net/~xenrox/ntfy-alertmanager";
license = licenses.agpl3Only;
maintainers = with maintainers; [
bleetube
fpletz
];
};
}

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