Merge branch 'staging-next' into staging
This commit is contained in:
+1
-1
@@ -34,9 +34,9 @@
|
||||
- nixos/modules/services/editors/emacs.nix
|
||||
- nixos/modules/services/editors/emacs.xml
|
||||
- nixos/tests/emacs-daemon.nix
|
||||
- pkgs/applications/editors/emacs/build-support/**/*
|
||||
- pkgs/applications/editors/emacs/elisp-packages/**/*
|
||||
- pkgs/applications/editors/emacs/**/*
|
||||
- pkgs/build-support/emacs/**/*
|
||||
- pkgs/top-level/emacs-packages.nix
|
||||
|
||||
"6.topic: Enlightenment DE":
|
||||
|
||||
+3
-3
@@ -917,7 +917,7 @@ in mkLicense lset) ({
|
||||
|
||||
ncbiPd = {
|
||||
spdxId = "NCBI-PD";
|
||||
fullname = "NCBI Public Domain Notice";
|
||||
fullName = "NCBI Public Domain Notice";
|
||||
# Due to United States copyright law, anything with this "license" does not have a copyright in the
|
||||
# jurisdiction of the United States. However, other jurisdictions may assign the United States
|
||||
# government copyright to the work, and the license explicitly states that in such a case, no license
|
||||
@@ -1161,7 +1161,7 @@ in mkLicense lset) ({
|
||||
shortName = "TSL";
|
||||
fullName = "Timescale License Agreegment";
|
||||
url = "https://github.com/timescale/timescaledb/blob/main/tsl/LICENSE-TIMESCALE";
|
||||
unfree = true;
|
||||
free = false;
|
||||
};
|
||||
|
||||
tcltk = {
|
||||
@@ -1297,7 +1297,7 @@ in mkLicense lset) ({
|
||||
|
||||
zsh = {
|
||||
url = "https://github.com/zsh-users/zsh/blob/master/LICENCE";
|
||||
fulllName = "Zsh License";
|
||||
fullName = "Zsh License";
|
||||
};
|
||||
|
||||
zpl20 = {
|
||||
|
||||
@@ -2604,6 +2604,11 @@
|
||||
githubId = 30630233;
|
||||
name = "Timo Triebensky";
|
||||
};
|
||||
birdee = {
|
||||
name = "birdee";
|
||||
github = "BirdeeHub";
|
||||
githubId = 85372418;
|
||||
};
|
||||
birkb = {
|
||||
email = "birk@batchworks.de";
|
||||
github = "birkb";
|
||||
@@ -15379,7 +15384,7 @@
|
||||
githubId = 53442728;
|
||||
};
|
||||
paveloom = {
|
||||
email = "paveloom@riseup.net";
|
||||
email = "contact@paveloom.dev";
|
||||
github = "paveloom";
|
||||
githubId = 49961859;
|
||||
name = "Pavel Sobolev";
|
||||
@@ -21033,13 +21038,6 @@
|
||||
github = "victormeriqui";
|
||||
githubId = 1396008;
|
||||
};
|
||||
victormignot = {
|
||||
email = "root@victormignot.fr";
|
||||
github = "victormignot";
|
||||
githubId = 58660971;
|
||||
name = "Victor Mignot";
|
||||
keys = [ { fingerprint = "CA5D F91A D672 683A 1F65 BBC9 0317 096D 20E0 067B"; } ];
|
||||
};
|
||||
vidbina = {
|
||||
email = "vid@bina.me";
|
||||
github = "vidbina";
|
||||
@@ -22320,6 +22318,12 @@
|
||||
githubId = 250877;
|
||||
name = "Elmar Athmer";
|
||||
};
|
||||
zazedd = {
|
||||
name = "Leonardo Santos";
|
||||
email = "leomendesantos@gmail.com";
|
||||
github = "zazedd";
|
||||
githubId = 93401987;
|
||||
};
|
||||
zbioe = {
|
||||
name = "Iury Fukuda";
|
||||
email = "zbioe@protonmail.com";
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/**
|
||||
Generates documentation for [nix modules](https://nix.dev/tutorials/module-system/module-system.html).
|
||||
Generates documentation for [nix modules](https://nix.dev/tutorials/module-system/index.html).
|
||||
|
||||
It uses the declared `options` to generate documentation in various formats.
|
||||
|
||||
|
||||
+86
-5
@@ -23,6 +23,7 @@ let
|
||||
isPath
|
||||
isString
|
||||
listToAttrs
|
||||
mapAttrs
|
||||
nameValuePair
|
||||
optionalString
|
||||
removePrefix
|
||||
@@ -140,11 +141,35 @@ utils = rec {
|
||||
];
|
||||
} "_secret" -> { ".example[1].relevant.secret" = "/path/to/secret"; }
|
||||
*/
|
||||
recursiveGetAttrWithJqPrefix = item: attr:
|
||||
recursiveGetAttrWithJqPrefix = item: attr: mapAttrs (_name: set: set.${attr}) (recursiveGetAttrsetWithJqPrefix item attr);
|
||||
|
||||
/* Similar to `recursiveGetAttrWithJqPrefix`, but returns the whole
|
||||
attribute set containing `attr` instead of the value of `attr` in
|
||||
the set.
|
||||
|
||||
Example:
|
||||
recursiveGetAttrsetWithJqPrefix {
|
||||
example = [
|
||||
{
|
||||
irrelevant = "not interesting";
|
||||
}
|
||||
{
|
||||
ignored = "ignored attr";
|
||||
relevant = {
|
||||
secret = {
|
||||
_secret = "/path/to/secret";
|
||||
quote = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
];
|
||||
} "_secret" -> { ".example[1].relevant.secret" = { _secret = "/path/to/secret"; quote = true; }; }
|
||||
*/
|
||||
recursiveGetAttrsetWithJqPrefix = item: attr:
|
||||
let
|
||||
recurse = prefix: item:
|
||||
if item ? ${attr} then
|
||||
nameValuePair prefix item.${attr}
|
||||
nameValuePair prefix item
|
||||
else if isDerivation item then []
|
||||
else if isAttrs item then
|
||||
map (name:
|
||||
@@ -206,6 +231,58 @@ utils = rec {
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
The attribute set { _secret = "/path/to/secret"; } can contain extra
|
||||
options, currently it accepts the `quote = true|false` option.
|
||||
|
||||
If `quote = true` (default behavior), the content of the secret file will
|
||||
be quoted as a string and embedded. Otherwise, if `quote = false`, the
|
||||
content of the secret file will be parsed to JSON and then embedded.
|
||||
|
||||
Example:
|
||||
If the file "/path/to/secret" contains the JSON document:
|
||||
|
||||
[
|
||||
{ "a": "topsecretpassword1234" },
|
||||
{ "b": "topsecretpassword5678" }
|
||||
]
|
||||
|
||||
genJqSecretsReplacementSnippet {
|
||||
example = [
|
||||
{
|
||||
irrelevant = "not interesting";
|
||||
}
|
||||
{
|
||||
ignored = "ignored attr";
|
||||
relevant = {
|
||||
secret = {
|
||||
_secret = "/path/to/secret";
|
||||
quote = false;
|
||||
};
|
||||
};
|
||||
}
|
||||
];
|
||||
} "/path/to/output.json"
|
||||
|
||||
would generate a snippet that, when run, outputs the following
|
||||
JSON file at "/path/to/output.json":
|
||||
|
||||
{
|
||||
"example": [
|
||||
{
|
||||
"irrelevant": "not interesting"
|
||||
},
|
||||
{
|
||||
"ignored": "ignored attr",
|
||||
"relevant": {
|
||||
"secret": [
|
||||
{ "a": "topsecretpassword1234" },
|
||||
{ "b": "topsecretpassword5678" }
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
*/
|
||||
genJqSecretsReplacementSnippet = genJqSecretsReplacementSnippet' "_secret";
|
||||
|
||||
@@ -213,7 +290,11 @@ utils = rec {
|
||||
# attr which identifies the secret to be changed.
|
||||
genJqSecretsReplacementSnippet' = attr: set: output:
|
||||
let
|
||||
secrets = recursiveGetAttrWithJqPrefix set attr;
|
||||
secretsRaw = recursiveGetAttrsetWithJqPrefix set attr;
|
||||
# Set default option values
|
||||
secrets = mapAttrs (_name: set: {
|
||||
quote = true;
|
||||
} // set) secretsRaw;
|
||||
stringOrDefault = str: def: if str == "" then def else str;
|
||||
in ''
|
||||
if [[ -h '${output}' ]]; then
|
||||
@@ -227,7 +308,7 @@ utils = rec {
|
||||
+ concatStringsSep
|
||||
"\n"
|
||||
(imap1 (index: name: ''
|
||||
secret${toString index}=$(<'${secrets.${name}}')
|
||||
secret${toString index}=$(<'${secrets.${name}.${attr}}')
|
||||
export secret${toString index}
|
||||
'')
|
||||
(attrNames secrets))
|
||||
@@ -236,7 +317,7 @@ utils = rec {
|
||||
+ escapeShellArg (stringOrDefault
|
||||
(concatStringsSep
|
||||
" | "
|
||||
(imap1 (index: name: ''${name} = $ENV.secret${toString index}'')
|
||||
(imap1 (index: name: ''${name} = ($ENV.secret${toString index}${optionalString (!secrets.${name}.quote) " | fromjson"})'')
|
||||
(attrNames secrets)))
|
||||
".")
|
||||
+ ''
|
||||
|
||||
@@ -297,7 +297,10 @@ in
|
||||
description = "Update timer for locate database";
|
||||
partOf = [ "update-locatedb.service" ];
|
||||
wantedBy = [ "timers.target" ];
|
||||
timerConfig.OnCalendar = cfg.interval;
|
||||
timerConfig = {
|
||||
OnCalendar = cfg.interval;
|
||||
Persistent = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -21,8 +21,10 @@ in {
|
||||
history-service
|
||||
libusermetrics
|
||||
lomiri
|
||||
lomiri-calculator-app
|
||||
lomiri-download-manager
|
||||
lomiri-filemanager-app
|
||||
lomiri-polkit-agent
|
||||
lomiri-schemas # exposes some required dbus interfaces
|
||||
lomiri-session # wrappers to properly launch the session
|
||||
lomiri-sounds
|
||||
@@ -145,6 +147,18 @@ in {
|
||||
ExecStart = "${pkgs.lomiri.lomiri-url-dispatcher}/libexec/lomiri-url-dispatcher/lomiri-update-directory /run/current-system/sw/share/lomiri-url-dispatcher/urls/";
|
||||
};
|
||||
};
|
||||
|
||||
"lomiri-polkit-agent" = rec {
|
||||
description = "Lomiri Polkit agent";
|
||||
wantedBy = [ "lomiri.service" "lomiri-full-greeter.service" "lomiri-full-shell.service" "lomiri-greeter.service" "lomiri-shell.service" ];
|
||||
after = [ "graphical-session.target" ];
|
||||
partOf = wantedBy;
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
Restart = "always";
|
||||
ExecStart = "${pkgs.lomiri.lomiri-polkit-agent}/libexec/lomiri-polkit-agent/policykit-agent";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services = {
|
||||
|
||||
@@ -1,14 +1,17 @@
|
||||
{ config, lib, options, pkgs, ... }:
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.languagetool;
|
||||
settingsFormat = pkgs.formats.javaProperties {};
|
||||
in {
|
||||
settingsFormat = pkgs.formats.javaProperties { };
|
||||
in
|
||||
{
|
||||
options.services.languagetool = {
|
||||
enable = mkEnableOption "the LanguageTool server, a multilingual spelling, style, and grammar checker that helps correct or paraphrase texts";
|
||||
|
||||
package = mkPackageOption pkgs "languagetool" { };
|
||||
|
||||
port = mkOption {
|
||||
type = types.port;
|
||||
default = 8081;
|
||||
@@ -31,7 +34,7 @@ in {
|
||||
'';
|
||||
};
|
||||
|
||||
settings = lib.mkOption {
|
||||
settings = mkOption {
|
||||
type = types.submodule {
|
||||
freeformType = settingsFormat.type;
|
||||
|
||||
@@ -49,11 +52,25 @@ in {
|
||||
for supported settings.
|
||||
'';
|
||||
};
|
||||
|
||||
jrePackage = mkPackageOption pkgs "jre" { };
|
||||
|
||||
jvmOptions = mkOption {
|
||||
description = ''
|
||||
Extra command line options for the JVM running languagetool.
|
||||
More information can be found here: https://docs.oracle.com/en/java/javase/19/docs/specs/man/java.html#standard-options-for-java
|
||||
'';
|
||||
default = [ ];
|
||||
type = types.listOf types.str;
|
||||
example = [
|
||||
"-Xmx512m"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
||||
systemd.services.languagetool = {
|
||||
systemd.services.languagetool = {
|
||||
description = "LanguageTool HTTP server";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network.target" ];
|
||||
@@ -65,13 +82,17 @@ in {
|
||||
RestrictNamespaces = [ "" ];
|
||||
SystemCallFilter = [ "@system-service" "~ @privileged" ];
|
||||
ProtectHome = "yes";
|
||||
Restart = "on-failure";
|
||||
ExecStart = ''
|
||||
${pkgs.languagetool}/bin/languagetool-http-server \
|
||||
--port ${toString cfg.port} \
|
||||
${optionalString cfg.public "--public"} \
|
||||
${optionalString (cfg.allowOrigin != null) "--allow-origin ${cfg.allowOrigin}"} \
|
||||
"--config" ${settingsFormat.generate "languagetool.conf" cfg.settings}
|
||||
'';
|
||||
${cfg.jrePackage}/bin/java \
|
||||
-cp ${cfg.package}/share/languagetool-server.jar \
|
||||
${toString cfg.jvmOptions} \
|
||||
org.languagetool.server.HTTPServer \
|
||||
--port ${toString cfg.port} \
|
||||
${optionalString cfg.public "--public"} \
|
||||
${optionalString (cfg.allowOrigin != null) "--allow-origin ${cfg.allowOrigin}"} \
|
||||
"--config" ${settingsFormat.generate "languagetool.conf" cfg.settings}
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -32,9 +32,15 @@ in
|
||||
${escapeShellArgs cfg.extraFlags}
|
||||
'';
|
||||
|
||||
CapabilityBoundingSet = [ "" ];
|
||||
DeviceAllow = [ "" ];
|
||||
DynamicUser = true;
|
||||
NoNewPrivileges = true;
|
||||
|
||||
MemoryDenyWriteExecute = true;
|
||||
|
||||
LockPersonality = true;
|
||||
|
||||
ProtectProc = "invisible";
|
||||
ProtectSystem = "strict";
|
||||
ProtectHome = "tmpfs";
|
||||
@@ -43,6 +49,8 @@ in
|
||||
PrivateDevices = true;
|
||||
PrivateIPC = true;
|
||||
|
||||
ProcSubset = "pid";
|
||||
|
||||
ProtectHostname = true;
|
||||
ProtectClock = true;
|
||||
ProtectKernelTunables = true;
|
||||
@@ -50,7 +58,10 @@ in
|
||||
ProtectKernelLogs = true;
|
||||
ProtectControlGroups = true;
|
||||
|
||||
Restart = "on-failure";
|
||||
|
||||
RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ];
|
||||
RestrictNamespaces = true;
|
||||
RestrictRealtime = true;
|
||||
RestrictSUIDSGID = true;
|
||||
|
||||
|
||||
@@ -181,15 +181,57 @@ in {
|
||||
-i "${alertmanagerYml}"
|
||||
'';
|
||||
serviceConfig = {
|
||||
Restart = "always";
|
||||
StateDirectory = "alertmanager";
|
||||
DynamicUser = true; # implies PrivateTmp
|
||||
EnvironmentFile = lib.mkIf (cfg.environmentFile != null) cfg.environmentFile;
|
||||
WorkingDirectory = "/tmp";
|
||||
ExecStart = "${cfg.package}/bin/alertmanager" +
|
||||
optionalString (length cmdlineArgs != 0) (" \\\n " +
|
||||
concatStringsSep " \\\n " cmdlineArgs);
|
||||
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
|
||||
|
||||
EnvironmentFile = lib.mkIf (cfg.environmentFile != null) cfg.environmentFile;
|
||||
|
||||
CapabilityBoundingSet = [ "" ];
|
||||
DeviceAllow = [ "" ];
|
||||
DynamicUser = true;
|
||||
NoNewPrivileges = true;
|
||||
|
||||
MemoryDenyWriteExecute = true;
|
||||
|
||||
LockPersonality = true;
|
||||
|
||||
ProtectProc = "invisible";
|
||||
ProtectSystem = "strict";
|
||||
ProtectHome = "tmpfs";
|
||||
|
||||
PrivateTmp = true;
|
||||
PrivateDevices = true;
|
||||
PrivateIPC = true;
|
||||
|
||||
ProcSubset = "pid";
|
||||
|
||||
ProtectHostname = true;
|
||||
ProtectClock = true;
|
||||
ProtectKernelTunables = true;
|
||||
ProtectKernelModules = true;
|
||||
ProtectKernelLogs = true;
|
||||
ProtectControlGroups = true;
|
||||
|
||||
Restart = "always";
|
||||
|
||||
RestrictAddressFamilies = [ "AF_INET" "AF_INET6" "AF_NETLINK" ];
|
||||
RestrictNamespaces = true;
|
||||
RestrictRealtime = true;
|
||||
RestrictSUIDSGID = true;
|
||||
|
||||
StateDirectory = "alertmanager";
|
||||
SystemCallFilter = [
|
||||
"@system-service"
|
||||
"~@cpu-emulation"
|
||||
"~@privileged"
|
||||
"~@reboot"
|
||||
"~@setuid"
|
||||
"~@swap"
|
||||
];
|
||||
|
||||
WorkingDirectory = "/tmp";
|
||||
};
|
||||
};
|
||||
})
|
||||
|
||||
@@ -147,12 +147,52 @@ in {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network.target" ];
|
||||
serviceConfig = {
|
||||
Restart = "always";
|
||||
DynamicUser = true;
|
||||
ExecStart = "${cfg.package}/bin/pushgateway" +
|
||||
optionalString (length cmdlineArgs != 0) (" \\\n " +
|
||||
concatStringsSep " \\\n " cmdlineArgs);
|
||||
|
||||
CapabilityBoundingSet = [ "" ];
|
||||
DeviceAllow = [ "" ];
|
||||
DynamicUser = true;
|
||||
NoNewPrivileges = true;
|
||||
|
||||
MemoryDenyWriteExecute = true;
|
||||
|
||||
LockPersonality = true;
|
||||
|
||||
ProtectProc = "invisible";
|
||||
ProtectSystem = "strict";
|
||||
ProtectHome = "tmpfs";
|
||||
|
||||
PrivateTmp = true;
|
||||
PrivateDevices = true;
|
||||
PrivateIPC = true;
|
||||
|
||||
ProcSubset = "pid";
|
||||
|
||||
ProtectHostname = true;
|
||||
ProtectClock = true;
|
||||
ProtectKernelTunables = true;
|
||||
ProtectKernelModules = true;
|
||||
ProtectKernelLogs = true;
|
||||
ProtectControlGroups = true;
|
||||
|
||||
Restart = "always";
|
||||
|
||||
RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ];
|
||||
RestrictNamespaces = true;
|
||||
RestrictRealtime = true;
|
||||
RestrictSUIDSGID = true;
|
||||
|
||||
StateDirectory = if cfg.persistMetrics then cfg.stateDir else null;
|
||||
SystemCallFilter = [
|
||||
"@system-service"
|
||||
"~@cpu-emulation"
|
||||
"~@privileged"
|
||||
"~@reboot"
|
||||
"~@setuid"
|
||||
"~@swap"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -101,8 +101,7 @@ in {
|
||||
|
||||
preStart = with cfg.settings; ''
|
||||
if ! test -f ${password-file}; then
|
||||
< /dev/urandom tr -dc _A-Z-a-z-0-9 2> /dev/null | head -c32 > ${password-file}
|
||||
chmod 0600 ${password-file}
|
||||
< /dev/urandom tr -dc _A-Z-a-z-0-9 2> /dev/null | head -c32 | install -m 600 /dev/stdin ${password-file}
|
||||
echo "Initialized ${password-file} from /dev/urandom"
|
||||
fi
|
||||
if [ ! -f ${data-dir}/keys/libp2p.key ]; then
|
||||
|
||||
@@ -64,129 +64,135 @@ let
|
||||
else
|
||||
throw "Unsupported database type: ${cfg.database.type} for socket: ${cfg.database.socket}";
|
||||
|
||||
mediawikiConfig = pkgs.writeText "LocalSettings.php" ''
|
||||
<?php
|
||||
# Protect against web entry
|
||||
if ( !defined( 'MEDIAWIKI' ) ) {
|
||||
exit;
|
||||
}
|
||||
mediawikiConfig = pkgs.writeTextFile {
|
||||
name = "LocalSettings.php";
|
||||
checkPhase = ''
|
||||
${php}/bin/php --syntax-check "$target"
|
||||
'';
|
||||
text = ''
|
||||
<?php
|
||||
# Protect against web entry
|
||||
if ( !defined( 'MEDIAWIKI' ) ) {
|
||||
exit;
|
||||
}
|
||||
|
||||
$wgSitename = "${cfg.name}";
|
||||
$wgMetaNamespace = false;
|
||||
$wgSitename = "${cfg.name}";
|
||||
$wgMetaNamespace = false;
|
||||
|
||||
## The URL base path to the directory containing the wiki;
|
||||
## defaults for all runtime URL paths are based off of this.
|
||||
## For more information on customizing the URLs
|
||||
## (like /w/index.php/Page_title to /wiki/Page_title) please see:
|
||||
## https://www.mediawiki.org/wiki/Manual:Short_URL
|
||||
$wgScriptPath = "${lib.optionalString (cfg.webserver == "nginx") "/w"}";
|
||||
## The URL base path to the directory containing the wiki;
|
||||
## defaults for all runtime URL paths are based off of this.
|
||||
## For more information on customizing the URLs
|
||||
## (like /w/index.php/Page_title to /wiki/Page_title) please see:
|
||||
## https://www.mediawiki.org/wiki/Manual:Short_URL
|
||||
$wgScriptPath = "${lib.optionalString (cfg.webserver == "nginx") "/w"}";
|
||||
|
||||
## The protocol and server name to use in fully-qualified URLs
|
||||
$wgServer = "${cfg.url}";
|
||||
## The protocol and server name to use in fully-qualified URLs
|
||||
$wgServer = "${cfg.url}";
|
||||
|
||||
## The URL path to static resources (images, scripts, etc.)
|
||||
$wgResourceBasePath = $wgScriptPath;
|
||||
## The URL path to static resources (images, scripts, etc.)
|
||||
$wgResourceBasePath = $wgScriptPath;
|
||||
|
||||
${lib.optionalString (cfg.webserver == "nginx") ''
|
||||
$wgArticlePath = "/wiki/$1";
|
||||
$wgUsePathInfo = true;
|
||||
''}
|
||||
${lib.optionalString (cfg.webserver == "nginx") ''
|
||||
$wgArticlePath = "/wiki/$1";
|
||||
$wgUsePathInfo = true;
|
||||
''}
|
||||
|
||||
## The URL path to the logo. Make sure you change this from the default,
|
||||
## or else you'll overwrite your logo when you upgrade!
|
||||
$wgLogo = "$wgResourceBasePath/resources/assets/wiki.png";
|
||||
## The URL path to the logo. Make sure you change this from the default,
|
||||
## or else you'll overwrite your logo when you upgrade!
|
||||
$wgLogo = "$wgResourceBasePath/resources/assets/wiki.png";
|
||||
|
||||
## UPO means: this is also a user preference option
|
||||
## UPO means: this is also a user preference option
|
||||
|
||||
$wgEnableEmail = true;
|
||||
$wgEnableUserEmail = true; # UPO
|
||||
$wgEnableEmail = true;
|
||||
$wgEnableUserEmail = true; # UPO
|
||||
|
||||
$wgPasswordSender = "${cfg.passwordSender}";
|
||||
$wgPasswordSender = "${cfg.passwordSender}";
|
||||
|
||||
$wgEnotifUserTalk = false; # UPO
|
||||
$wgEnotifWatchlist = false; # UPO
|
||||
$wgEmailAuthentication = true;
|
||||
$wgEnotifUserTalk = false; # UPO
|
||||
$wgEnotifWatchlist = false; # UPO
|
||||
$wgEmailAuthentication = true;
|
||||
|
||||
## Database settings
|
||||
$wgDBtype = "${cfg.database.type}";
|
||||
$wgDBserver = "${dbAddr}";
|
||||
$wgDBport = "${toString cfg.database.port}";
|
||||
$wgDBname = "${cfg.database.name}";
|
||||
$wgDBuser = "${cfg.database.user}";
|
||||
${optionalString (cfg.database.passwordFile != null) "$wgDBpassword = file_get_contents(\"${cfg.database.passwordFile}\");"}
|
||||
## Database settings
|
||||
$wgDBtype = "${cfg.database.type}";
|
||||
$wgDBserver = "${dbAddr}";
|
||||
$wgDBport = "${toString cfg.database.port}";
|
||||
$wgDBname = "${cfg.database.name}";
|
||||
$wgDBuser = "${cfg.database.user}";
|
||||
${optionalString (cfg.database.passwordFile != null) "$wgDBpassword = file_get_contents(\"${cfg.database.passwordFile}\");"}
|
||||
|
||||
${optionalString (cfg.database.type == "mysql" && cfg.database.tablePrefix != null) ''
|
||||
# MySQL specific settings
|
||||
$wgDBprefix = "${cfg.database.tablePrefix}";
|
||||
''}
|
||||
${optionalString (cfg.database.type == "mysql" && cfg.database.tablePrefix != null) ''
|
||||
# MySQL specific settings
|
||||
$wgDBprefix = "${cfg.database.tablePrefix}";
|
||||
''}
|
||||
|
||||
${optionalString (cfg.database.type == "mysql") ''
|
||||
# MySQL table options to use during installation or update
|
||||
$wgDBTableOptions = "ENGINE=InnoDB, DEFAULT CHARSET=binary";
|
||||
''}
|
||||
${optionalString (cfg.database.type == "mysql") ''
|
||||
# MySQL table options to use during installation or update
|
||||
$wgDBTableOptions = "ENGINE=InnoDB, DEFAULT CHARSET=binary";
|
||||
''}
|
||||
|
||||
## Shared memory settings
|
||||
$wgMainCacheType = CACHE_NONE;
|
||||
$wgMemCachedServers = [];
|
||||
## Shared memory settings
|
||||
$wgMainCacheType = CACHE_NONE;
|
||||
$wgMemCachedServers = [];
|
||||
|
||||
${optionalString (cfg.uploadsDir != null) ''
|
||||
$wgEnableUploads = true;
|
||||
$wgUploadDirectory = "${cfg.uploadsDir}";
|
||||
''}
|
||||
${optionalString (cfg.uploadsDir != null) ''
|
||||
$wgEnableUploads = true;
|
||||
$wgUploadDirectory = "${cfg.uploadsDir}";
|
||||
''}
|
||||
|
||||
$wgUseImageMagick = true;
|
||||
$wgImageMagickConvertCommand = "${pkgs.imagemagick}/bin/convert";
|
||||
$wgUseImageMagick = true;
|
||||
$wgImageMagickConvertCommand = "${pkgs.imagemagick}/bin/convert";
|
||||
|
||||
# InstantCommons allows wiki to use images from https://commons.wikimedia.org
|
||||
$wgUseInstantCommons = false;
|
||||
# InstantCommons allows wiki to use images from https://commons.wikimedia.org
|
||||
$wgUseInstantCommons = false;
|
||||
|
||||
# Periodically send a pingback to https://www.mediawiki.org/ with basic data
|
||||
# about this MediaWiki instance. The Wikimedia Foundation shares this data
|
||||
# with MediaWiki developers to help guide future development efforts.
|
||||
$wgPingback = true;
|
||||
# Periodically send a pingback to https://www.mediawiki.org/ with basic data
|
||||
# about this MediaWiki instance. The Wikimedia Foundation shares this data
|
||||
# with MediaWiki developers to help guide future development efforts.
|
||||
$wgPingback = true;
|
||||
|
||||
## If you use ImageMagick (or any other shell command) on a
|
||||
## Linux server, this will need to be set to the name of an
|
||||
## available UTF-8 locale
|
||||
$wgShellLocale = "C.UTF-8";
|
||||
## If you use ImageMagick (or any other shell command) on a
|
||||
## Linux server, this will need to be set to the name of an
|
||||
## available UTF-8 locale
|
||||
$wgShellLocale = "C.UTF-8";
|
||||
|
||||
## Set $wgCacheDirectory to a writable directory on the web server
|
||||
## to make your wiki go slightly faster. The directory should not
|
||||
## be publicly accessible from the web.
|
||||
$wgCacheDirectory = "${cacheDir}";
|
||||
## Set $wgCacheDirectory to a writable directory on the web server
|
||||
## to make your wiki go slightly faster. The directory should not
|
||||
## be publicly accessible from the web.
|
||||
$wgCacheDirectory = "${cacheDir}";
|
||||
|
||||
# Site language code, should be one of the list in ./languages/data/Names.php
|
||||
$wgLanguageCode = "en";
|
||||
# Site language code, should be one of the list in ./languages/data/Names.php
|
||||
$wgLanguageCode = "en";
|
||||
|
||||
$wgSecretKey = file_get_contents("${stateDir}/secret.key");
|
||||
$wgSecretKey = file_get_contents("${stateDir}/secret.key");
|
||||
|
||||
# Changing this will log out all existing sessions.
|
||||
$wgAuthenticationTokenVersion = "";
|
||||
# Changing this will log out all existing sessions.
|
||||
$wgAuthenticationTokenVersion = "";
|
||||
|
||||
## For attaching licensing metadata to pages, and displaying an
|
||||
## appropriate copyright notice / icon. GNU Free Documentation
|
||||
## License and Creative Commons licenses are supported so far.
|
||||
$wgRightsPage = ""; # Set to the title of a wiki page that describes your license/copyright
|
||||
$wgRightsUrl = "";
|
||||
$wgRightsText = "";
|
||||
$wgRightsIcon = "";
|
||||
## For attaching licensing metadata to pages, and displaying an
|
||||
## appropriate copyright notice / icon. GNU Free Documentation
|
||||
## License and Creative Commons licenses are supported so far.
|
||||
$wgRightsPage = ""; # Set to the title of a wiki page that describes your license/copyright
|
||||
$wgRightsUrl = "";
|
||||
$wgRightsText = "";
|
||||
$wgRightsIcon = "";
|
||||
|
||||
# Path to the GNU diff3 utility. Used for conflict resolution.
|
||||
$wgDiff = "${pkgs.diffutils}/bin/diff";
|
||||
$wgDiff3 = "${pkgs.diffutils}/bin/diff3";
|
||||
# Path to the GNU diff3 utility. Used for conflict resolution.
|
||||
$wgDiff = "${pkgs.diffutils}/bin/diff";
|
||||
$wgDiff3 = "${pkgs.diffutils}/bin/diff3";
|
||||
|
||||
# Enabled skins.
|
||||
${concatStringsSep "\n" (mapAttrsToList (k: v: "wfLoadSkin('${k}');") cfg.skins)}
|
||||
# Enabled skins.
|
||||
${concatStringsSep "\n" (mapAttrsToList (k: v: "wfLoadSkin('${k}');") cfg.skins)}
|
||||
|
||||
# Enabled extensions.
|
||||
${concatStringsSep "\n" (mapAttrsToList (k: v: "wfLoadExtension('${k}');") cfg.extensions)}
|
||||
# Enabled extensions.
|
||||
${concatStringsSep "\n" (mapAttrsToList (k: v: "wfLoadExtension('${k}');") cfg.extensions)}
|
||||
|
||||
|
||||
# End of automatically generated settings.
|
||||
# Add more configuration options below.
|
||||
# End of automatically generated settings.
|
||||
# Add more configuration options below.
|
||||
|
||||
${cfg.extraConfig}
|
||||
'';
|
||||
${cfg.extraConfig}
|
||||
'';
|
||||
};
|
||||
|
||||
withTrailingSlash = str: if lib.hasSuffix "/" str then str else "${str}/";
|
||||
in
|
||||
|
||||
@@ -12,7 +12,7 @@ import subprocess
|
||||
import sys
|
||||
import warnings
|
||||
import json
|
||||
from typing import NamedTuple, Dict, List
|
||||
from typing import NamedTuple, Any
|
||||
from dataclasses import dataclass
|
||||
|
||||
# These values will be replaced with actual values during the package build
|
||||
@@ -21,7 +21,7 @@ BOOT_MOUNT_POINT = "@bootMountPoint@"
|
||||
LOADER_CONF = f"{EFI_SYS_MOUNT_POINT}/loader/loader.conf" # Always stored on the ESP
|
||||
NIXOS_DIR = "@nixosDir@"
|
||||
TIMEOUT = "@timeout@"
|
||||
EDITOR = "@editor@" == "1"
|
||||
EDITOR = "@editor@" == "1" # noqa: PLR0133
|
||||
CONSOLE_MODE = "@consoleMode@"
|
||||
BOOTSPEC_TOOLS = "@bootspecTools@"
|
||||
DISTRO_NAME = "@distroName@"
|
||||
@@ -38,17 +38,22 @@ class BootSpec:
|
||||
init: str
|
||||
initrd: str
|
||||
kernel: str
|
||||
kernelParams: List[str]
|
||||
kernelParams: list[str] # noqa: N815
|
||||
label: str
|
||||
system: str
|
||||
toplevel: str
|
||||
specialisations: Dict[str, "BootSpec"]
|
||||
sortKey: str
|
||||
initrdSecrets: str | None = None
|
||||
specialisations: dict[str, "BootSpec"]
|
||||
sortKey: str # noqa: N815
|
||||
initrdSecrets: str | None = None # noqa: N815
|
||||
|
||||
|
||||
libc = ctypes.CDLL("libc.so.6")
|
||||
|
||||
FILE = None | int
|
||||
|
||||
def run(cmd: list[str], stdout: FILE = None) -> subprocess.CompletedProcess[str]:
|
||||
return subprocess.run(cmd, check=True, text=True, stdout=stdout)
|
||||
|
||||
class SystemIdentifier(NamedTuple):
|
||||
profile: str | None
|
||||
generation: int
|
||||
@@ -112,17 +117,20 @@ def get_bootspec(profile: str | None, generation: int) -> BootSpec:
|
||||
boot_json_f = open(boot_json_path, 'r')
|
||||
bootspec_json = json.load(boot_json_f)
|
||||
else:
|
||||
boot_json_str = subprocess.check_output([
|
||||
f"{BOOTSPEC_TOOLS}/bin/synthesize",
|
||||
"--version",
|
||||
"1",
|
||||
system_directory,
|
||||
"/dev/stdout"],
|
||||
universal_newlines=True)
|
||||
boot_json_str = run(
|
||||
[
|
||||
f"{BOOTSPEC_TOOLS}/bin/synthesize",
|
||||
"--version",
|
||||
"1",
|
||||
system_directory,
|
||||
"/dev/stdout",
|
||||
],
|
||||
stdout=subprocess.PIPE,
|
||||
).stdout
|
||||
bootspec_json = json.loads(boot_json_str)
|
||||
return bootspec_from_json(bootspec_json)
|
||||
|
||||
def bootspec_from_json(bootspec_json: Dict) -> BootSpec:
|
||||
def bootspec_from_json(bootspec_json: dict[str, Any]) -> BootSpec:
|
||||
specialisations = bootspec_json['org.nixos.specialisation.v1']
|
||||
specialisations = {k: bootspec_from_json(v) for k, v in specialisations.items()}
|
||||
systemdBootExtension = bootspec_json.get('org.nixos.systemd-boot', {})
|
||||
@@ -157,7 +165,7 @@ def write_entry(profile: str | None, generation: int, specialisation: str | None
|
||||
|
||||
try:
|
||||
if bootspec.initrdSecrets is not None:
|
||||
subprocess.check_call([bootspec.initrdSecrets, f"{BOOT_MOUNT_POINT}%s" % (initrd)])
|
||||
run([bootspec.initrdSecrets, f"{BOOT_MOUNT_POINT}%s" % (initrd)])
|
||||
except subprocess.CalledProcessError:
|
||||
if current:
|
||||
print("failed to create initrd secrets!", file=sys.stderr)
|
||||
@@ -192,13 +200,17 @@ def write_entry(profile: str | None, generation: int, specialisation: str | None
|
||||
|
||||
|
||||
def get_generations(profile: str | None = None) -> list[SystemIdentifier]:
|
||||
gen_list = subprocess.check_output([
|
||||
f"{NIX}/bin/nix-env",
|
||||
"--list-generations",
|
||||
"-p",
|
||||
"/nix/var/nix/profiles/%s" % ("system-profiles/" + profile if profile else "system")],
|
||||
universal_newlines=True)
|
||||
gen_lines = gen_list.split('\n')
|
||||
gen_list = run(
|
||||
[
|
||||
f"{NIX}/bin/nix-env",
|
||||
"--list-generations",
|
||||
"-p",
|
||||
"/nix/var/nix/profiles/%s"
|
||||
% ("system-profiles/" + profile if profile else "system"),
|
||||
],
|
||||
stdout=subprocess.PIPE,
|
||||
).stdout
|
||||
gen_lines = gen_list.split("\n")
|
||||
gen_lines.pop()
|
||||
|
||||
configurationLimit = CONFIGURATION_LIMIT
|
||||
@@ -214,8 +226,8 @@ def get_generations(profile: str | None = None) -> list[SystemIdentifier]:
|
||||
|
||||
|
||||
def remove_old_entries(gens: list[SystemIdentifier]) -> None:
|
||||
rex_profile = re.compile(r"^" + re.escape(BOOT_MOUNT_POINT) + "/loader/entries/nixos-(.*)-generation-.*\.conf$")
|
||||
rex_generation = re.compile(r"^" + re.escape(BOOT_MOUNT_POINT) + "/loader/entries/nixos.*-generation-([0-9]+)(-specialisation-.*)?\.conf$")
|
||||
rex_profile = re.compile(r"^" + re.escape(BOOT_MOUNT_POINT) + r"/loader/entries/nixos-(.*)-generation-.*\.conf$")
|
||||
rex_generation = re.compile(r"^" + re.escape(BOOT_MOUNT_POINT) + r"/loader/entries/nixos.*-generation-([0-9]+)(-specialisation-.*)?\.conf$")
|
||||
known_paths = []
|
||||
for gen in gens:
|
||||
bootspec = get_bootspec(gen.profile, gen.generation)
|
||||
@@ -230,10 +242,10 @@ def remove_old_entries(gens: list[SystemIdentifier]) -> None:
|
||||
gen_number = int(rex_generation.sub(r"\1", path))
|
||||
except ValueError:
|
||||
continue
|
||||
if not (prof, gen_number, None) in gens:
|
||||
if (prof, gen_number, None) not in gens:
|
||||
os.unlink(path)
|
||||
for path in glob.iglob(f"{BOOT_MOUNT_POINT}/{NIXOS_DIR}/*"):
|
||||
if not path in known_paths and not os.path.isdir(path):
|
||||
if path not in known_paths and not os.path.isdir(path):
|
||||
os.unlink(path)
|
||||
|
||||
|
||||
@@ -263,9 +275,7 @@ def install_bootloader(args: argparse.Namespace) -> None:
|
||||
# be there on newly installed systems, so let's generate one so that
|
||||
# bootctl can find it and we can also pass it to write_entry() later.
|
||||
cmd = [f"{SYSTEMD}/bin/systemd-machine-id-setup", "--print"]
|
||||
machine_id = subprocess.run(
|
||||
cmd, text=True, check=True, stdout=subprocess.PIPE
|
||||
).stdout.rstrip()
|
||||
machine_id = run(cmd, stdout=subprocess.PIPE).stdout.rstrip()
|
||||
|
||||
if os.getenv("NIXOS_INSTALL_GRUB") == "1":
|
||||
warnings.warn("NIXOS_INSTALL_GRUB env var deprecated, use NIXOS_INSTALL_BOOTLOADER", DeprecationWarning)
|
||||
@@ -288,11 +298,20 @@ def install_bootloader(args: argparse.Namespace) -> None:
|
||||
if os.path.exists(LOADER_CONF):
|
||||
os.unlink(LOADER_CONF)
|
||||
|
||||
subprocess.check_call([f"{SYSTEMD}/bin/bootctl", f"--esp-path={EFI_SYS_MOUNT_POINT}"] + bootctl_flags + ["install"])
|
||||
run(
|
||||
[f"{SYSTEMD}/bin/bootctl", f"--esp-path={EFI_SYS_MOUNT_POINT}"]
|
||||
+ bootctl_flags
|
||||
+ ["install"]
|
||||
)
|
||||
else:
|
||||
# Update bootloader to latest if needed
|
||||
available_out = subprocess.check_output([f"{SYSTEMD}/bin/bootctl", "--version"], universal_newlines=True).split()[2]
|
||||
installed_out = subprocess.check_output([f"{SYSTEMD}/bin/bootctl", f"--esp-path={EFI_SYS_MOUNT_POINT}", "status"], universal_newlines=True)
|
||||
available_out = run(
|
||||
[f"{SYSTEMD}/bin/bootctl", "--version"], stdout=subprocess.PIPE
|
||||
).stdout.split()[2]
|
||||
installed_out = run(
|
||||
[f"{SYSTEMD}/bin/bootctl", f"--esp-path={EFI_SYS_MOUNT_POINT}", "status"],
|
||||
stdout=subprocess.PIPE,
|
||||
).stdout
|
||||
|
||||
# See status_binaries() in systemd bootctl.c for code which generates this
|
||||
installed_match = re.search(r"^\W+File:.*/EFI/(?:BOOT|systemd)/.*\.efi \(systemd-boot ([\d.]+[^)]*)\)$",
|
||||
@@ -311,7 +330,11 @@ def install_bootloader(args: argparse.Namespace) -> None:
|
||||
|
||||
if installed_version < available_version:
|
||||
print("updating systemd-boot from %s to %s" % (installed_version, available_version))
|
||||
subprocess.check_call([f"{SYSTEMD}/bin/bootctl", f"--esp-path={EFI_SYS_MOUNT_POINT}"] + bootctl_flags + ["update"])
|
||||
run(
|
||||
[f"{SYSTEMD}/bin/bootctl", f"--esp-path={EFI_SYS_MOUNT_POINT}"]
|
||||
+ bootctl_flags
|
||||
+ ["update"]
|
||||
)
|
||||
|
||||
os.makedirs(f"{BOOT_MOUNT_POINT}/{NIXOS_DIR}", exist_ok=True)
|
||||
os.makedirs(f"{BOOT_MOUNT_POINT}/loader/entries", exist_ok=True)
|
||||
@@ -362,7 +385,7 @@ def install_bootloader(args: argparse.Namespace) -> None:
|
||||
|
||||
os.makedirs(f"{BOOT_MOUNT_POINT}/{NIXOS_DIR}/.extra-files", exist_ok=True)
|
||||
|
||||
subprocess.check_call(COPY_EXTRA_FILES)
|
||||
run([COPY_EXTRA_FILES])
|
||||
|
||||
|
||||
def main() -> None:
|
||||
@@ -370,7 +393,7 @@ def main() -> None:
|
||||
parser.add_argument('default_config', metavar='DEFAULT-CONFIG', help=f"The default {DISTRO_NAME} config to boot")
|
||||
args = parser.parse_args()
|
||||
|
||||
subprocess.check_call(CHECK_MOUNTPOINTS)
|
||||
run([CHECK_MOUNTPOINTS])
|
||||
|
||||
try:
|
||||
install_bootloader(args)
|
||||
|
||||
@@ -78,6 +78,7 @@ in rec {
|
||||
nginx
|
||||
nodejs
|
||||
openssh
|
||||
opensshTest
|
||||
php
|
||||
postgresql
|
||||
python
|
||||
@@ -139,6 +140,7 @@ in rec {
|
||||
"nixos.tests.simple"
|
||||
"nixpkgs.jdk"
|
||||
"nixpkgs.tests-stdenv-gcc-stageCompare"
|
||||
"nixpkgs.opensshTest"
|
||||
])
|
||||
];
|
||||
};
|
||||
|
||||
@@ -524,6 +524,7 @@ in {
|
||||
lxd-image-server = handleTest ./lxd-image-server.nix {};
|
||||
#logstash = handleTest ./logstash.nix {};
|
||||
lomiri = handleTest ./lomiri.nix {};
|
||||
lomiri-calculator-app = runTest ./lomiri-calculator-app.nix;
|
||||
lomiri-filemanager-app = runTest ./lomiri-filemanager-app.nix;
|
||||
lomiri-system-settings = handleTest ./lomiri-system-settings.nix {};
|
||||
lorri = handleTest ./lorri/default.nix {};
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
{ pkgs, lib, ... }:
|
||||
{
|
||||
name = "lomiri-calculator-app-standalone";
|
||||
meta.maintainers = lib.teams.lomiri.members;
|
||||
|
||||
nodes.machine =
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
imports = [ ./common/x11.nix ];
|
||||
|
||||
services.xserver.enable = true;
|
||||
|
||||
environment = {
|
||||
systemPackages = with pkgs.lomiri; [
|
||||
suru-icon-theme
|
||||
lomiri-calculator-app
|
||||
];
|
||||
variables = {
|
||||
UITK_ICON_THEME = "suru";
|
||||
};
|
||||
};
|
||||
|
||||
i18n.supportedLocales = [ "all" ];
|
||||
|
||||
fonts.packages = with pkgs; [
|
||||
# Intended font & helps with OCR
|
||||
ubuntu_font_family
|
||||
];
|
||||
};
|
||||
|
||||
enableOCR = true;
|
||||
|
||||
testScript = ''
|
||||
machine.wait_for_x()
|
||||
|
||||
with subtest("lomiri calculator launches"):
|
||||
machine.execute("lomiri-calculator-app >&2 &")
|
||||
machine.wait_for_text("Calculator")
|
||||
machine.screenshot("lomiri-calculator")
|
||||
|
||||
with subtest("lomiri calculator works"):
|
||||
machine.send_key("tab") # Fix focus
|
||||
|
||||
machine.send_chars("22*16\n")
|
||||
machine.wait_for_text("352")
|
||||
machine.screenshot("lomiri-calculator_caninfactdobasicmath")
|
||||
|
||||
machine.succeed("pkill -f lomiri-calculator-app")
|
||||
|
||||
with subtest("lomiri calculator localisation works"):
|
||||
machine.execute("env LANG=de_DE.UTF-8 lomiri-calculator-app >&2 &")
|
||||
machine.wait_for_text("Rechner")
|
||||
machine.screenshot("lomiri-calculator_localised")
|
||||
|
||||
# History of previous run should have loaded
|
||||
with subtest("lomiri calculator history works"):
|
||||
machine.wait_for_text("352")
|
||||
'';
|
||||
}
|
||||
+27
-1
@@ -74,6 +74,24 @@ in {
|
||||
|
||||
inherit (alacritty) meta;
|
||||
})
|
||||
|
||||
# Polkit requests eventually time out.
|
||||
# Keep triggering them until we signal detection success
|
||||
(writeShellApplication {
|
||||
name = "lpa-check";
|
||||
text = ''
|
||||
while [ ! -f /tmp/lpa-checked ]; do
|
||||
pkexec echo a
|
||||
done
|
||||
'';
|
||||
})
|
||||
# Signal detection success
|
||||
(writeShellApplication {
|
||||
name = "lpa-signal";
|
||||
text = ''
|
||||
touch /tmp/lpa-checked
|
||||
'';
|
||||
})
|
||||
];
|
||||
};
|
||||
|
||||
@@ -201,7 +219,15 @@ in {
|
||||
machine.wait_for_text(r"(/build/source|hub.cpp|handler.cpp|void|virtual|const)") # awaiting log messages from content-hub
|
||||
machine.send_key("ctrl-c")
|
||||
|
||||
machine.send_key("alt-f4")
|
||||
# Doing this here, since we need an in-session shell & separately starting a terminal again wastes time
|
||||
with subtest("polkit agent works"):
|
||||
machine.send_chars("exec lpa-check\n")
|
||||
machine.wait_for_text(r"(Elevated permissions|Login)")
|
||||
machine.screenshot("polkit_agent")
|
||||
machine.execute("lpa-signal")
|
||||
|
||||
# polkit test will quit terminal when agent request times out after OCR success
|
||||
machine.wait_until_fails("pgrep -u ${user} -f lomiri-terminal-app")
|
||||
|
||||
# We want the ability to launch applications
|
||||
with subtest("starter menu works"):
|
||||
|
||||
@@ -17,12 +17,12 @@ import ../make-test-python.nix {
|
||||
|
||||
# Start the daemon and wait until it is ready
|
||||
machine.execute("lorri daemon > lorri.stdout 2> lorri.stderr &")
|
||||
machine.wait_until_succeeds("grep --fixed-strings 'ready' lorri.stdout")
|
||||
machine.wait_until_succeeds("grep --fixed-strings 'ready' lorri.stderr")
|
||||
|
||||
# Ping the daemon
|
||||
machine.succeed("lorri internal ping shell.nix")
|
||||
machine.succeed("lorri internal ping --shell-file shell.nix")
|
||||
|
||||
# Wait for the daemon to finish the build
|
||||
machine.wait_until_succeeds("grep --fixed-strings 'Completed' lorri.stdout")
|
||||
machine.wait_until_succeeds("grep --fixed-strings 'Completed' lorri.stderr")
|
||||
'';
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import ./make-test-python.nix ({ lib, ... }:
|
||||
{
|
||||
name = "nzbhydra2";
|
||||
meta.maintainers = with lib.maintainers; [ jamiemagee ];
|
||||
meta.maintainers = with lib.maintainers; [ matteopacini ];
|
||||
|
||||
nodes.machine = { pkgs, ... }: { services.nzbhydra2.enable = true; };
|
||||
|
||||
|
||||
@@ -144,5 +144,9 @@ import ../make-test-python.nix ({ lib, pkgs, ... }:
|
||||
logger.wait_until_succeeds(
|
||||
"journalctl -o cat -u alertmanager-webhook-logger.service | grep '\"alertname\":\"InstanceDown\"'"
|
||||
)
|
||||
|
||||
logger.log(logger.succeed("systemd-analyze security alertmanager-webhook-logger.service | grep -v '✓'"))
|
||||
|
||||
alertmanager.log(alertmanager.succeed("systemd-analyze security alertmanager.service | grep -v '✓'"))
|
||||
'';
|
||||
})
|
||||
|
||||
@@ -90,5 +90,7 @@ import ../make-test-python.nix ({ lib, pkgs, ... }:
|
||||
"curl -sf 'http://127.0.0.1:9090/api/v1/query?query=absent(some_metric)' | "
|
||||
+ "jq '.data.result[0].value[1]' | grep '\"1\"'"
|
||||
)
|
||||
|
||||
pushgateway.log(pushgateway.succeed("systemd-analyze security pushgateway.service | grep -v '✓'"))
|
||||
'';
|
||||
})
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
{ lib, stdenv, autoreconfHook, fetchFromGitHub, fdk_aac }:
|
||||
{ lib, stdenv, autoreconfHook, fetchFromGitHub, pkg-config, fdk_aac }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "fdkaac";
|
||||
version = "1.0.5";
|
||||
version = "1.0.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "nu774";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-GYvI9T5Bv2OcK0hMAQE7/tE6ajDyqkaak66b3Hc0Fls=";
|
||||
hash = "sha256-nVVeYk7t4+n/BsOKs744stsvgJd+zNnbASk3bAgFTpk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook ];
|
||||
nativeBuildInputs = [ autoreconfHook pkg-config ];
|
||||
|
||||
buildInputs = [ fdk_aac ];
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
{ python3Packages
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, perlPackages
|
||||
, gettext
|
||||
, gtk3
|
||||
, gobject-introspection
|
||||
@@ -35,6 +34,7 @@ python3Packages.buildPythonApplication rec {
|
||||
wrapGAppsHook3
|
||||
glib
|
||||
gdk-pixbuf
|
||||
gobject-introspection
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
@@ -45,7 +45,6 @@ python3Packages.buildPythonApplication rec {
|
||||
python3Packages.setuptools
|
||||
python3Packages.pygobject3
|
||||
gtk3
|
||||
gobject-introspection
|
||||
librsvg
|
||||
libayatana-appindicator
|
||||
libpulseaudio
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
version = "10.72";
|
||||
version = "10.74";
|
||||
pname = "monkeys-audio";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://monkeysaudio.com/files/MAC_${
|
||||
builtins.concatStringsSep "" (lib.strings.splitString "." finalAttrs.version)}_SDK.zip";
|
||||
hash = "sha256-vtpQhCV1hkme69liTO13vz+kxpA3zJ+U1In/4z6qLbQ=";
|
||||
hash = "sha256-AxRADWS5Ka62NLj6IqX5uF39mPxoWy+zQZQ7A2+DM7Y=";
|
||||
stripRoot = false;
|
||||
};
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -16,13 +16,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "mympd";
|
||||
version = "16.0.0";
|
||||
version = "16.0.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jcorporation";
|
||||
repo = "myMPD";
|
||||
rev = "v${finalAttrs.version}";
|
||||
sha256 = "sha256-LYD1qjSlwv9wGBrZUaYz6Zcvl2n6cLi2aGycr4ZJWdY=";
|
||||
sha256 = "sha256-MyVGWdc9ASWWW9CikK06bFYKi1DHyjFxFlMgBLdBwbU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -28,13 +28,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "reaper";
|
||||
version = "7.17";
|
||||
version = "7.18";
|
||||
|
||||
src = fetchurl {
|
||||
url = url_for_platform version stdenv.hostPlatform.qemuArch;
|
||||
hash = if stdenv.isDarwin then "sha256-4+8MhvQ1LhfyhFCOMBgD4HHt0Oaj25y2U04++JuXxCM=" else {
|
||||
x86_64-linux = "sha256-q3oTKcFSNec10kT1FlDaf2GS967y38VLq9GsquwN2Lg=";
|
||||
aarch64-linux = "sha256-5mxVkppm1SjC0C0SFI7uEdPWewNZXlrNAxbaFcNzzbU=";
|
||||
hash = if stdenv.isDarwin then "sha256-ETvWq+71G4v25F/iUjP7NWJ0QkPMKn7akfBOA7EKzKg=" else {
|
||||
x86_64-linux = "sha256-kddqIKgTTImbDIFtPqV/6YsnfNYsDPLhcelJIBC4R8s=";
|
||||
aarch64-linux = "sha256-PNFSifZwH+VzfljyrlQZKZ+NEiiINXnVecOXgn1gY/Q=";
|
||||
}.${stdenv.hostPlatform.system};
|
||||
};
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@ in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "touchosc";
|
||||
version = "1.3.3.207";
|
||||
version = "1.3.4.209";
|
||||
|
||||
suffix = {
|
||||
aarch64-linux = "linux-arm64";
|
||||
@@ -56,9 +56,9 @@ stdenv.mkDerivation rec {
|
||||
src = fetchurl {
|
||||
url = "https://hexler.net/pub/${pname}/${pname}-${version}-${suffix}.deb";
|
||||
hash = {
|
||||
aarch64-linux = "sha256-peEO5haVHXvCT+F48UiKdgwuccqBuZACEXnepB4dcvY=";
|
||||
armv7l-linux = "sha256-uQNoEye/Jd3T6pLJY2sN7hkTQl3AAilG5Vr9G61vFRM=";
|
||||
x86_64-linux = "sha256-+/r9gRK8HyynlJ1syC2VQ6VboPEzsVNqEVrQfNLeEv0=";
|
||||
aarch64-linux = "sha256-dAyZ/x6ZUYst+3Hz8RL4+FW1oeb+652Zndpqp0JnGgs=";
|
||||
armv7l-linux = "sha256-ub+qcWrpv+LiXbEq6YQczJN1E4c2i/ZtKbh5e2PMuH0=";
|
||||
x86_64-linux = "sha256-c8hPbJo4MUqS0Ev5QzLujJJB3hqN3KMsLVdKb6MKNts=";
|
||||
}.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
|
||||
};
|
||||
|
||||
|
||||
@@ -22,14 +22,14 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "transcribe";
|
||||
version = "9.40.0";
|
||||
version = "9.41.0";
|
||||
|
||||
src =
|
||||
if stdenv.hostPlatform.system == "x86_64-linux" then
|
||||
fetchzip
|
||||
{
|
||||
url = "https://www.seventhstring.com/xscribe/downlo/xscsetup-${version}.tar.gz";
|
||||
sha256 = "sha256-GHTr1rk7Kh5M0UYnryUlCk/G6pW3p80GJ6Ai0zXdfNs=";
|
||||
sha256 = "sha256-qf5zfnl1Dhof08vJ9FNFr6qAz5Tk6z7lO1PuVcmRua0=";
|
||||
}
|
||||
else throw "Platform not supported";
|
||||
|
||||
@@ -106,6 +106,7 @@ stdenv.mkDerivation rec {
|
||||
conventional music players.
|
||||
'';
|
||||
homepage = "https://www.seventhstring.com/xscribe/";
|
||||
changelog = "https://www.seventhstring.com/xscribe/history.html";
|
||||
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
|
||||
license = licenses.unfree;
|
||||
maintainers = with maintainers; [ iwanb ];
|
||||
|
||||
@@ -17,8 +17,8 @@ let
|
||||
sha256Hash = "sha256-84CpZfoAvJHUCO3ZBJqDbuz9xuGE/5xJfXoetJDXju8=";
|
||||
};
|
||||
latestVersion = {
|
||||
version = "2024.1.2.7"; # "Android Studio Koala Feature Drop | 2024.1.2 Canary 7"
|
||||
sha256Hash = "sha256-opoAKslh8DqS/iS5gw8AxX6x89t2BNX7yaU88XNd2kM=";
|
||||
version = "2024.1.2.8"; # "Android Studio Koala Feature Drop | 2024.1.2 Canary 8"
|
||||
sha256Hash = "sha256-2wqZV0UqZHprfUFvhWh0IdA9TQcwlZtWECZVwZ47ICc=";
|
||||
};
|
||||
in {
|
||||
# Attributes are named by their corresponding release channels
|
||||
|
||||
@@ -13,11 +13,11 @@
|
||||
|
||||
let
|
||||
platform_major = "4";
|
||||
platform_minor = "31";
|
||||
platform_minor = "32";
|
||||
year = "2024";
|
||||
month = "03"; #release month
|
||||
buildmonth = "02"; #sometimes differs from release month
|
||||
timestamp = "${year}${buildmonth}290520";
|
||||
month = "06"; #release month
|
||||
buildmonth = "06"; #sometimes differs from release month
|
||||
timestamp = "${year}${buildmonth}010610";
|
||||
gtk = gtk3;
|
||||
arch = if stdenv.hostPlatform.isx86_64 then
|
||||
"x86_64"
|
||||
@@ -43,8 +43,8 @@ in rec {
|
||||
fetchurl {
|
||||
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-cpp-${year}-${month}-R-linux-gtk-${arch}.tar.gz";
|
||||
hash = {
|
||||
x86_64 = "sha256-lZtU/IUNx2tc6TwCFQ5WS7cO/Gui2JpeknnL+Z/mBow=";
|
||||
aarch64 = "sha256-iIUOiFp0uLOzwdqBV1txRhliaE2l1kbhGv1F6h0WO+w=";
|
||||
x86_64 = "sha256-yMyigXPd6BhSiyoLTFQhBrHnatgXMw1BrH7xWfoT0Zo=";
|
||||
aarch64 = "sha256-YZ1MhvXWcYRgQ4ZR/hXEWNKmYji/9PyKbdnm27i8Vjs=";
|
||||
}.${arch};
|
||||
};
|
||||
};
|
||||
@@ -58,8 +58,8 @@ in rec {
|
||||
fetchurl {
|
||||
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-dsl-${year}-${month}-R-linux-gtk-${arch}.tar.gz";
|
||||
hash = {
|
||||
x86_64 = "sha256-gdtDI9A+sUDAFsyqEmXuIkqgd/v1WF+Euj0TSWwjeL4=";
|
||||
aarch64 = "sha256-kYa+8E5KLqHdumBQiIom3eG5rM/9TFZlJyyc7HpySes=";
|
||||
x86_64 = "sha256-m2kcsQicvZcIHAP0zcOGYQjS4vdiTo62o1cfDpG4Ea8=";
|
||||
aarch64 = "sha256-UuMfIO6jgMpAmtGihWdJZ7RwilBVdsCaPJH3tKdwyLY=";
|
||||
}.${arch};
|
||||
};
|
||||
};
|
||||
@@ -73,8 +73,8 @@ in rec {
|
||||
fetchurl {
|
||||
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-embedcpp-${year}-${month}-R-linux-gtk-${arch}.tar.gz";
|
||||
hash = {
|
||||
x86_64 = "sha256-5g4CAX2mu1i6aMqmbgy4R3Npk1IC/W73FrIZAQwgGCc=";
|
||||
aarch64 = "sha256-KcfybNDyGglULKF3HF5v50mBs69FFryCMZ+oBtjBFiw=";
|
||||
x86_64 = "sha256-dpsdjBfF83B8wGwoIsT4QW/n4Qo/w+n4mNYtILdCJKw=";
|
||||
aarch64 = "sha256-kDPZJbrxEBhx/KI/9SqOtOOoMVWvYJqTLLgR9YPNH5A=";
|
||||
}.${arch};
|
||||
};
|
||||
};
|
||||
@@ -88,8 +88,8 @@ in rec {
|
||||
fetchurl {
|
||||
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-modeling-${year}-${month}-R-linux-gtk-${arch}.tar.gz";
|
||||
hash = {
|
||||
x86_64 = "sha256-yRJWSEg0TVWpgQBSS+y8/YrjdU3PSvJoruEUwjZcrLc=";
|
||||
aarch64 = "sha256-Czm8nYAkVqS8gaowDp1LrJ31iE32d6klT6JvHekL52c=";
|
||||
x86_64 = "sha256-vANUS1IbYrhrpNX095XIhpaHlZhTkZe894nhrDPndJc=";
|
||||
aarch64 = "sha256-ykw9Og4D3hVfUvJlbtSDUB7iOmDJ9gPVTmpXlGZX304=";
|
||||
}.${arch};
|
||||
};
|
||||
};
|
||||
@@ -103,8 +103,8 @@ in rec {
|
||||
fetchurl {
|
||||
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops${platform_major}/R-${platform_major}.${platform_minor}-${timestamp}/eclipse-platform-${platform_major}.${platform_minor}-linux-gtk-${arch}.tar.gz";
|
||||
hash = {
|
||||
x86_64 = "sha256-PIvJeITqftd9eHhfbF+R+SQ+MXp4OmM5xi8ZDdUvXaI=";
|
||||
aarch64 = "sha256-C04AICPcb9foEai3Nk4S4zxQ3oUv+i2tckwqDscpx7I=";
|
||||
x86_64 = "sha256-ow4i9sDPQUAolzBymvucqpdZrn+bggxR6BD2RnyBVns=";
|
||||
aarch64 = "sha256-XZY7MQr1cCToIlEXSltxWRZbHu1Ex0wzLvL1nUhuKhw=";
|
||||
}.${arch};
|
||||
};
|
||||
};
|
||||
@@ -135,8 +135,8 @@ in rec {
|
||||
fetchurl {
|
||||
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops${platform_major}/R-${platform_major}.${platform_minor}-${timestamp}/eclipse-SDK-${platform_major}.${platform_minor}-linux-gtk-${arch}.tar.gz";
|
||||
hash = {
|
||||
x86_64 = "sha256-omsAZSlCvggTjoAPQt0oGqRUZwyt5H2LswGpFt88L+I=";
|
||||
aarch64 = "sha256-wcrYVlL5x+Wve2MAgnEFQ4H3a/gc2y8Fr5TmwHU9p6A=";
|
||||
x86_64 = "sha256-zb6/AMe7ArSw1mzPIvaSVeuNly6WO7pHQAuYUT8eGkk=";
|
||||
aarch64 = "sha256-jgT3BpD04ELV2+WuRw1mbDw6S1SYDo7jfrijSNs8GLM=";
|
||||
}.${arch};
|
||||
};
|
||||
};
|
||||
@@ -150,8 +150,8 @@ in rec {
|
||||
fetchurl {
|
||||
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-java-${year}-${month}-R-linux-gtk-${arch}.tar.gz";
|
||||
hash = {
|
||||
x86_64 = "sha256-8WqHFLywYQXtzUGxBVstxGqVU55WHoApZnyZ6ur4XgU=";
|
||||
aarch64 = "sha256-GlD0ykJbwdbzh1K3XQQ79yBhCJQUlmt2v8c2OMYNWp4=";
|
||||
x86_64 = "sha256-fXfj0PImyd2nPUkaGvOu7BGAeIHkTocKH94oM/Vd+LU=";
|
||||
aarch64 = "sha256-0EZXbngXIso8fS8bvSDPyRGCre2dF0+6wyldQ6GhGmo=";
|
||||
}.${arch};
|
||||
};
|
||||
};
|
||||
@@ -165,8 +165,8 @@ in rec {
|
||||
fetchurl {
|
||||
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-jee-${year}-${month}-R-linux-gtk-${arch}.tar.gz";
|
||||
hash = {
|
||||
x86_64 = "sha256-K2uo2VVL6rP9kxicJRLzsJiOFKloLD0vInSon8JsUWg=";
|
||||
aarch64 = "sha256-qeEQTlFeWBag6SLXoatDeviR/NG8EcTi6VyUo9P6STM=";
|
||||
x86_64 = "sha256-YIoa837bbnqm/4wuwRfx+5UNxyQJySbTX+lhL/FluS0=";
|
||||
aarch64 = "sha256-0hwKU29RJdjyaF4ot0OpXt/illOsx1n38nhK5zteQBk=";
|
||||
}.${arch};
|
||||
};
|
||||
};
|
||||
@@ -180,8 +180,8 @@ in rec {
|
||||
fetchurl {
|
||||
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-committers-${year}-${month}-R-linux-gtk-${arch}.tar.gz";
|
||||
hash = {
|
||||
x86_64 = "sha256-Ko4NCU9jbkjAWY7Ky5tPlhXOnzkpY4GjPi6Z0CBmzzc=";
|
||||
aarch64 = "sha256-RBT+xwdQcJh+YgsuCPTWy9MM2y45bhIF9DttPm6Qz+Q=";
|
||||
x86_64 = "sha256-IFQkSOs0wk7chR9Ti3WG/7WDrXBWnaRH9AqC9jTmuT8=";
|
||||
aarch64 = "sha256-iiS3hZWfinHYVhZsMntXQp+OgL7kcE/2jqx2JomBdIk=";
|
||||
}.${arch};
|
||||
};
|
||||
};
|
||||
@@ -195,8 +195,8 @@ in rec {
|
||||
fetchurl {
|
||||
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/${year}-${month}/R/eclipse-rcp-${year}-${month}-R-linux-gtk-${arch}.tar.gz";
|
||||
hash = {
|
||||
x86_64 = "sha256-dWwDv8cfUxnU/24ASYLvSTbS3xV5ugG98jYMhAXTfS8=";
|
||||
aarch64 = "sha256-+bAKFZ4u5PvCdC4Ifj5inppWb6C8wh0tar66qryx76o=";
|
||||
x86_64 = "sha256-+U3wHbUgxkqWZjZyAXAqkZHeoNp+CwL1NBO4myDdJhE=";
|
||||
aarch64 = "sha256-zDLt3lOqf2HyUP/oqbff6XupF2Vab7+gxpQriztunH4=";
|
||||
}.${arch};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -32,7 +32,7 @@ self: let
|
||||
});
|
||||
};
|
||||
|
||||
elpaBuild = import ../../../../build-support/emacs/elpa.nix {
|
||||
elpaBuild = import ../build-support/elpa.nix {
|
||||
inherit lib stdenv texinfo writeText gcc;
|
||||
inherit (self) emacs;
|
||||
};
|
||||
|
||||
@@ -32,7 +32,7 @@ self: let
|
||||
});
|
||||
};
|
||||
|
||||
elpaBuild = import ../../../../build-support/emacs/elpa.nix {
|
||||
elpaBuild = import ../build-support/elpa.nix {
|
||||
inherit lib stdenv texinfo writeText gcc;
|
||||
inherit (self) emacs;
|
||||
};
|
||||
|
||||
+3
-3
@@ -7,17 +7,17 @@
|
||||
}:
|
||||
|
||||
let
|
||||
rev = "99067dba625db3ac54ca4d3a3c811c41de207309";
|
||||
rev = "a6c849619abcdd80dc82ec5417195414ad438fa3";
|
||||
in
|
||||
melpaBuild {
|
||||
pname = "edraw";
|
||||
version = "20240612.1012";
|
||||
version = "20240701.444";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "misohena";
|
||||
repo = "el-easydraw";
|
||||
inherit rev;
|
||||
hash = "sha256-32N8kXGFCvB6IHKwUsBGpdtAAf/p3nlq8mAdZrxLt0c=";
|
||||
hash = "sha256-CbcI1mmghc3HObg80bjScVDcJ1DHx9aX1WP2HlhAshs=";
|
||||
};
|
||||
|
||||
commit = rev;
|
||||
|
||||
+3
-3
@@ -7,8 +7,8 @@
|
||||
|
||||
let
|
||||
pname = "ligo-mode";
|
||||
version = "20230302.1616";
|
||||
commit = "d1073474efc9e0a020a4bcdf5e0c12a217265a3a";
|
||||
version = "1.7.1-unstable-2024-06-28";
|
||||
commit = "a62dff504867c4c4d9e0047114568a6e6b1eb291";
|
||||
in
|
||||
melpaBuild {
|
||||
inherit pname version commit;
|
||||
@@ -17,7 +17,7 @@ melpaBuild {
|
||||
owner = "ligolang";
|
||||
repo = "ligo";
|
||||
rev = commit;
|
||||
hash = "sha256-wz9DF9mqi8WUt1Ebd+ueUTA314rKkdbjmoWF8cKuS8I=";
|
||||
hash = "sha256-YnI2sZCE5rStWsQYY/D+Am1rep4UdK28rlmPMmJeY50=";
|
||||
};
|
||||
|
||||
packageRequires = [ ];
|
||||
|
||||
@@ -13,13 +13,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "lite-xl";
|
||||
version = "2.1.4";
|
||||
version = "2.1.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "lite-xl";
|
||||
repo = "lite-xl";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-TqrFI5TFb2hnnlHYUjLDUTDK3/Wgg1gOxIP8owLi/yo=";
|
||||
hash = "sha256-awXcmYAvQUdFUr2vFlnBt8WTLrACREfB7J8HoSyVPTs=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ meson ninja pkg-config ];
|
||||
|
||||
@@ -19,11 +19,11 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "poke";
|
||||
version = "4.1";
|
||||
version = "4.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnu/poke/poke-${finalAttrs.version}.tar.gz";
|
||||
hash = "sha256-COyupB9zdKzUI44Su/l+jNXlctWRfpVrc7nUMCbp10A=";
|
||||
hash = "sha256-iq825h42elMUDqQOJVnp7FEud5xCvuNOesJLNLoRm94=";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" "info" "lib" ]
|
||||
|
||||
@@ -10610,8 +10610,8 @@ final: prev:
|
||||
src = fetchFromGitHub {
|
||||
owner = "godlygeek";
|
||||
repo = "tabular";
|
||||
rev = "29a6b21dd991477a9e137fe8891947e2f2e8bb45";
|
||||
sha256 = "0q76w0xj443fn5a22wksp14f3s55ll2xq0rbdaj37xdd8kddlg8s";
|
||||
rev = "12437cd1b53488e24936ec4b091c9324cafee311";
|
||||
sha256 = "1cnh21yhcn2f4fajdr2b6hrclnhf1sz4abra4nw7b5yk1mvfjq5a";
|
||||
};
|
||||
meta.homepage = "https://github.com/godlygeek/tabular/";
|
||||
};
|
||||
|
||||
@@ -1167,11 +1167,16 @@
|
||||
inherit (old) version src;
|
||||
sourceRoot = "${old.src.name}/spectre_oxi";
|
||||
|
||||
cargoHash = "sha256-ZBlxJjkHb2buvXK6VGP6FMnSFk8RUX7IgHjNofnGDAs=";
|
||||
cargoHash = "sha256-SqbU9YwZ5pvdFUr7XBAkkfoqiLHI0JwJRwH7Wj1JDNg=";
|
||||
|
||||
preCheck = ''
|
||||
mkdir tests/tmp/
|
||||
'';
|
||||
|
||||
checkFlags = [
|
||||
# Flaky test (https://github.com/nvim-pack/nvim-spectre/issues/244)
|
||||
"--skip=tests::test_replace_simple"
|
||||
];
|
||||
};
|
||||
in
|
||||
{
|
||||
|
||||
@@ -389,8 +389,8 @@ let
|
||||
mktplcRef = {
|
||||
name = "astro-vscode";
|
||||
publisher = "astro-build";
|
||||
version = "2.8.3";
|
||||
hash = "sha256-A6m31eZMlOHF0yr9MjXmsFyXgH8zmq6WLRd/w85hGw0=";
|
||||
version = "2.10.2";
|
||||
hash = "sha256-lmqbZnCpkNN+i877hURRkPuRtuxRKD29bDppGBAEMGs=";
|
||||
};
|
||||
meta = {
|
||||
changelog = "https://marketplace.visualstudio.com/items/astro-build.astro-vscode/changelog";
|
||||
@@ -664,10 +664,14 @@ let
|
||||
mktplcRef = {
|
||||
name = "markdown-mermaid";
|
||||
publisher = "bierner";
|
||||
version = "1.17.7";
|
||||
hash = "sha256-WKe7XxBeYyzmjf/gnPH+5xNOHNhMPAKjtLorYyvT76U=";
|
||||
version = "1.23.1";
|
||||
hash = "sha256-hYWSeBXhqMcMxs+Logl5zRs4MlzBeHgCC07Eghmp0OM=";
|
||||
};
|
||||
meta = {
|
||||
changelog = "https://marketplace.visualstudio.com/items/bierner.markdown-mermaid/changelog";
|
||||
description = "Adds Mermaid diagram and flowchart support to VS Code's builtin markdown preview";
|
||||
downloadPage = "https://marketplace.visualstudio.com/items?itemName=bierner.markdown-mermaid";
|
||||
homepage = "https://github.com/mjbvz/vscode-markdown-mermaid";
|
||||
license = lib.licenses.mit;
|
||||
};
|
||||
};
|
||||
@@ -775,8 +779,8 @@ let
|
||||
mktplcRef = {
|
||||
name = "vscode-tailwindcss";
|
||||
publisher = "bradlc";
|
||||
version = "0.11.30";
|
||||
hash = "sha256-1CxyvQu7WQJw87sTcpnILztt1WeSpWOgij0dEIXebPU=";
|
||||
version = "0.13.17";
|
||||
hash = "sha256-hcFBMYfexNB7NMf3C7BQVTps1CBesEOxU3mW2cKXDHc=";
|
||||
};
|
||||
meta = {
|
||||
changelog = "https://marketplace.visualstudio.com/items/bradlc.vscode-tailwindcss/changelog";
|
||||
@@ -853,13 +857,15 @@ let
|
||||
mktplcRef = {
|
||||
name = "catppuccin-vsc";
|
||||
publisher = "catppuccin";
|
||||
version = "2.6.1";
|
||||
hash = "sha256-B56b7PeuVnkxEqvd4vL9TYO7s8fuA+LOCTbJQD9e7wY=";
|
||||
version = "3.14.0";
|
||||
hash = "sha256-kNQFR1ghdFJF4XLWCFgVpeXCZ/XiHGr/O1iJyWTT3Bg=";
|
||||
};
|
||||
meta = {
|
||||
changelog = "https://marketplace.visualstudio.com/items/Catppuccin.catppuccin-vsc/changelog";
|
||||
description = "Soothing pastel theme for VSCode";
|
||||
license = lib.licenses.mit;
|
||||
downloadPage = "https://marketplace.visualstudio.com/items?itemName=Catppuccin.catppuccin-vsc";
|
||||
homepage = "https://github.com/catppuccin/vscode";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = [ ];
|
||||
};
|
||||
};
|
||||
@@ -867,14 +873,15 @@ let
|
||||
mktplcRef = {
|
||||
name = "catppuccin-vsc-icons";
|
||||
publisher = "catppuccin";
|
||||
version = "1.10.0";
|
||||
hash = "sha256-6klrnMHAIr+loz7jf7l5EZPLBhgkJODFHL9fzl1MqFI=";
|
||||
version = "1.13.0";
|
||||
hash = "sha256-4gsblUMcN7a7UgoklBjc+2uiaSERq1vmi0exLht+Xi0=";
|
||||
};
|
||||
meta = {
|
||||
changelog = "https://marketplace.visualstudio.com/items/Catppuccin.catppuccin-vsc-icons/changelog";
|
||||
description = "Soothing pastel icon theme for VSCode";
|
||||
license = lib.licenses.mit;
|
||||
downloadPage = "https://marketplace.visualstudio.com/items?itemName=Catppuccin.catppuccin-vsc-icons";
|
||||
homepage = "https://github.com/catppuccin/vscode-icons";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = [ lib.maintainers.laurent-f1z1 ];
|
||||
};
|
||||
};
|
||||
@@ -1279,8 +1286,8 @@ let
|
||||
mktplcRef = {
|
||||
name = "vscode-deno";
|
||||
publisher = "denoland";
|
||||
version = "3.17.0";
|
||||
hash = "sha256-ETwpUrYbPXHSkEBq2oM1aCBwt9ItLcXMYc3YWjHLiJE=";
|
||||
version = "3.38.0";
|
||||
hash = "sha256-wmcMkX1gmFhE6JukvOI3fez05dP7ZFAZz1OxmV8uu4k=";
|
||||
};
|
||||
meta = {
|
||||
changelog = "https://marketplace.visualstudio.com/items/denoland.vscode-deno/changelog";
|
||||
@@ -2064,8 +2071,8 @@ let
|
||||
mktplcRef = {
|
||||
name = "vscode-github-actions";
|
||||
publisher = "github";
|
||||
version = "0.26.2";
|
||||
hash = "sha256-sEc6Fbn4XpK8vNK32R4fjnx/R+1xYOwcuhKlo7sPd5o=";
|
||||
version = "0.26.3";
|
||||
hash = "sha256-tHUpYK6RmLl1s1J+N5sd9gyxTJSNGT1Md/CqapXs5J4=";
|
||||
};
|
||||
meta = {
|
||||
description = "Visual Studio Code extension for GitHub Actions workflows and runs for github.com hosted repositories";
|
||||
@@ -2129,8 +2136,8 @@ let
|
||||
mktplcRef = {
|
||||
name = "Go";
|
||||
publisher = "golang";
|
||||
version = "0.40.0";
|
||||
hash = "sha256-otAq6ul2l64zpRJdekCb7XZiE2vgpLUfM4NUdRPZX8w=";
|
||||
version = "0.41.4";
|
||||
hash = "sha256-ntrEI/l+UjzqGJmtyfVf/+sZJstZy3fm/PSWKTd7/Q0=";
|
||||
};
|
||||
meta = {
|
||||
changelog = "https://marketplace.visualstudio.com/items/golang.Go/changelog";
|
||||
@@ -2177,8 +2184,8 @@ let
|
||||
mktplcRef = {
|
||||
name = "vscode-graphql-syntax";
|
||||
publisher = "GraphQL";
|
||||
version = "1.1.0";
|
||||
hash = "sha256-qazU0UyZ9de6Huj2AYZqqBo4jVW/ZQmFJhV7XXAblxo=";
|
||||
version = "1.3.6";
|
||||
hash = "sha256-74Y/LpOhAj3TSplohhJqBwJDT87nCAiKrWsF90bc8jU=";
|
||||
};
|
||||
meta = {
|
||||
description = "Adds full GraphQL syntax highlighting and language support such as bracket matching";
|
||||
@@ -2779,8 +2786,8 @@ let
|
||||
mktplcRef = {
|
||||
name = "vscode-publint";
|
||||
publisher = "Kravets";
|
||||
version = "0.0.1";
|
||||
hash = "sha256-6nG5Yqi8liumQ2K9ynV8mNXiXGaGo/cp4Cib1kqdp1c=";
|
||||
version = "0.0.3";
|
||||
hash = "sha256-1KVqfCVyCn5LJOdazp3W6FECRGOviVC4+FHn6vTn5DI=";
|
||||
};
|
||||
meta = {
|
||||
changelog = "https://marketplace.visualstudio.com/items/Kravets.vscode-publint/changelog";
|
||||
@@ -2987,10 +2994,14 @@ let
|
||||
mktplcRef = {
|
||||
name = "rainbow-csv";
|
||||
publisher = "mechatroner";
|
||||
version = "3.6.0";
|
||||
hash = "sha256-bvxMnT6oSjflAwWQZkNnEoEsVlVg86T0TMYi8tNsbdQ=";
|
||||
version = "3.12.0";
|
||||
hash = "sha256-pnHaszLa4a4ptAubDUY+FQX3F6sQQUQ/sHAxyZsbhcQ=";
|
||||
};
|
||||
meta = {
|
||||
changelog = "https://marketplace.visualstudio.com/items/mechatroner.rainbow-csv/changelog";
|
||||
description = "Rainbow syntax higlighting for CSV and TSV files in Visual Studio Code";
|
||||
downloadPage = "https://marketplace.visualstudio.com/items?itemname=mechatroner.rainbow-csv";
|
||||
homepage = "https://github.com/mechatroner/vscode_rainbow_csv";
|
||||
license = lib.licenses.mit;
|
||||
};
|
||||
};
|
||||
@@ -3029,8 +3040,6 @@ let
|
||||
};
|
||||
};
|
||||
|
||||
mgt19937.typst-preview = callPackage ./mgt19937.typst-preview { };
|
||||
|
||||
mhutchie.git-graph = buildVscodeMarketplaceExtension {
|
||||
mktplcRef = {
|
||||
name = "git-graph";
|
||||
@@ -5181,8 +5190,8 @@ let
|
||||
mktplcRef = {
|
||||
name = "pretty-ts-errors";
|
||||
publisher = "yoavbls";
|
||||
version = "0.5.3";
|
||||
hash = "sha256-JSCyTzz10eoUNu76wNUuvPVVKq4KaVKobS1CAPqgXUA=";
|
||||
version = "0.5.4";
|
||||
hash = "sha256-SMEqbpKYNck23zgULsdnsw4PS20XMPUpJ5kYh1fpd14=";
|
||||
};
|
||||
meta = {
|
||||
description = "Make TypeScript errors prettier and human-readable in VSCode";
|
||||
@@ -5353,6 +5362,7 @@ let
|
||||
jakebecker.elixir-ls = throw "jakebecker.elixir-ls is deprecated in favor of elixir-lsp.vscode-elixir-ls"; # Added 2024-05-29
|
||||
jpoissonnier.vscode-styled-components = throw "jpoissonnier.vscode-styled-components is deprecated in favor of styled-components.vscode-styled-components"; # Added 2024-05-29
|
||||
matklad.rust-analyzer = throw "matklad.rust-analyzer is deprecated in favor of rust-lang.rust-analyzer"; # Added 2024-05-29
|
||||
mgt19937.typst-preview = throw "The features of 'typst-preview' have been consolidated to 'tinymist', an all-in-one language server for typst"; # Added 2024-07-07
|
||||
ms-vscode.go = throw "ms-vscode.go is deprecated in favor of golang.go"; # Added 2024-05-29
|
||||
ms-vscode.PowerShell = throw "ms-vscode.PowerShell is deprecated in favor of super.ms-vscode.powershell"; # Added 2024-05-29
|
||||
rioj7.commandOnAllFiles = throw "rioj7.commandOnAllFiles is deprecated in favor of rioj7.commandonallfiles"; # Added 2024-05-29
|
||||
|
||||
@@ -28,6 +28,6 @@ vscode-utils.buildVscodeMarketplaceExtension {
|
||||
homepage = "https://github.com/qjebbs/vscode-plantuml";
|
||||
changelog = "https://marketplace.visualstudio.com/items/jebbs.plantuml/changelog";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = [ lib.maintainers.victormignot ];
|
||||
maintainers = [ ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,38 +0,0 @@
|
||||
# Keep pkgs/by-name/ty/typst-preview/package.nix in sync with this extension
|
||||
|
||||
{
|
||||
vscode-utils,
|
||||
lib,
|
||||
jq,
|
||||
moreutils,
|
||||
typst-preview,
|
||||
}:
|
||||
|
||||
vscode-utils.buildVscodeMarketplaceExtension {
|
||||
mktplcRef = {
|
||||
name = "typst-preview";
|
||||
publisher = "mgt19937";
|
||||
version = "0.11.7";
|
||||
hash = "sha256-70dVGoSBDKCtvn7xiC/gAh4OQ8nNDiI/M900r2zlOfU=";
|
||||
};
|
||||
|
||||
buildInputs = [ typst-preview ];
|
||||
|
||||
nativeBuildInputs = [
|
||||
jq
|
||||
moreutils
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
cd "$out/$installPrefix"
|
||||
jq '.contributes.configuration.properties."typst-preview.executable".default = "${lib.getExe typst-preview}"' package.json | sponge package.json
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Typst Preview is an extension for previewing your Typst files in vscode instantly";
|
||||
downloadPage = "https://marketplace.visualstudio.com/items?itemName=mgt19937.typst-preview";
|
||||
homepage = "https://github.com/Enter-tainer/typst-preview-vscode";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = [ lib.maintainers.drupol ];
|
||||
};
|
||||
}
|
||||
@@ -11,7 +11,7 @@ vscode-utils.buildVscodeMarketplaceExtension {
|
||||
name = "tinymist";
|
||||
publisher = "myriad-dreamin";
|
||||
inherit (tinymist) version;
|
||||
hash = "sha256-rRopyjZsQ3N/qPE/r+0ZLfNqcYYMrcY124H3kSx4loE=";
|
||||
hash = "sha256-e/7HAvaohATDet7ynYc34e5cbOzBL5Rcjvimggs68c4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -49,12 +49,12 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "pixinsight";
|
||||
version = "1.8.9-3";
|
||||
version = "1.8.9-3-20240625";
|
||||
|
||||
src = requireFile rec {
|
||||
name = "PI-linux-x64-${finalAttrs.version}-20240619-c.tar.xz";
|
||||
name = "PI-linux-x64-${finalAttrs.version}-c.tar.xz";
|
||||
url = "https://pixinsight.com/";
|
||||
hash = "sha256-WZrD+X7zE1i29+YsGJ+wbIXmlVon9bczHvvRAkQXz6M=";
|
||||
hash = "sha256-jqp5pt+fC7QvENCwRjr7ENQiCZpwNhC5q76YdzRBJis=";
|
||||
message = ''
|
||||
PixInsight is available from ${url} and requires a commercial (or trial) license.
|
||||
After a license has been obtained, PixInsight can be downloaded from the software distribution
|
||||
|
||||
@@ -2,16 +2,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "cobalt";
|
||||
version = "0.19.3";
|
||||
version = "0.19.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cobalt-org";
|
||||
repo = "cobalt.rs";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-aAhceExz5SENL+FhPHyx8HmaNOWjNsynv81Rj2cS5M8=";
|
||||
sha256 = "sha256-a9fo6qSLTVK6vC40nKwrpCvEvw1iIxQFmngkA3ttAdQ=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-vw7fGsTSEVO8s1LzilKJN5lGzOfQcms1h7rnTOyE4Kw=";
|
||||
cargoHash = "sha256-vr4G0L74qzsjpPKteV7wrW+pJGmbUVDLyc9MhSB1HfQ=";
|
||||
|
||||
buildInputs = lib.optionals stdenv.isDarwin [ CoreServices ];
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{ lib, stdenv, appimageTools, fetchurl, makeWrapper, undmg }:
|
||||
{ lib, stdenv, appimageTools, fetchurl, makeWrapper, _7zz }:
|
||||
|
||||
let
|
||||
pname = "joplin-desktop";
|
||||
version = "2.14.17";
|
||||
version = "3.0.12";
|
||||
|
||||
inherit (stdenv.hostPlatform) system;
|
||||
throwSystem = throw "Unsupported system: ${system}";
|
||||
@@ -16,9 +16,9 @@ let
|
||||
src = fetchurl {
|
||||
url = "https://github.com/laurent22/joplin/releases/download/v${version}/Joplin-${version}${suffix}";
|
||||
sha256 = {
|
||||
x86_64-linux = "sha256-u4wEchyljurmwVZsRnmUBITZUR6SxDxyGczZjXNsJkg=";
|
||||
x86_64-darwin = "sha256-KjNwAnJZGX/DvHDPw15vGlSbJ47s6YT59EalARt1mx4=";
|
||||
aarch64-darwin = "sha256-OYpsHPI+7riMVNAp2JpBlmdFdJUSNqNvBmeYHDw6yzY=";
|
||||
x86_64-linux = "sha256-vMz+ZeBHP+9Ugy8KO8lbp8zqC8VHtf1TWw10YytQFSs=";
|
||||
x86_64-darwin = "sha256-XZN1jTv/FhJXuFxZ6D6h/vFMdKi84Z9UWfj2CrMgBBA=";
|
||||
aarch64-darwin = "sha256-lsODOBkZ4+x5D6Er2/paTzAMKZvqIBVkKrWHh5iRvrk=";
|
||||
}.${system} or throwSystem;
|
||||
};
|
||||
|
||||
@@ -39,7 +39,7 @@ let
|
||||
homepage = "https://joplinapp.org";
|
||||
license = licenses.agpl3Plus;
|
||||
maintainers = with maintainers; [ hugoreeves qjoly ];
|
||||
platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin"];
|
||||
platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ];
|
||||
};
|
||||
|
||||
linux = appimageTools.wrapType2 rec {
|
||||
@@ -64,7 +64,7 @@ let
|
||||
darwin = stdenv.mkDerivation {
|
||||
inherit pname version src meta;
|
||||
|
||||
nativeBuildInputs = [ undmg ];
|
||||
nativeBuildInputs = [ _7zz ];
|
||||
|
||||
sourceRoot = "Joplin.app";
|
||||
|
||||
|
||||
@@ -157,8 +157,9 @@ python3.pkgs.buildPythonApplication rec {
|
||||
--replace '"killall",' '"${procps}/bin/pkill", "-x",'
|
||||
'';
|
||||
|
||||
# setuptools to get distutils with python 3.12
|
||||
installPhase = ''
|
||||
${python3.interpreter} setup.py install --prefix="$out"
|
||||
${(python3.withPackages (p: [ p.setuptools ])).interpreter} setup.py install --prefix="$out"
|
||||
|
||||
cp onboard-default-settings.gschema.override.example $out/share/glib-2.0/schemas/10_onboard-default-settings.gschema.override
|
||||
glib-compile-schemas $out/share/glib-2.0/schemas/
|
||||
|
||||
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
install -Dm755 stepreduce $out/bin/stepreduce
|
||||
|
||||
runHook prostInstall
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
|
||||
@@ -4,9 +4,10 @@
|
||||
, nix-update-script
|
||||
, imagemagick
|
||||
, makeWrapper
|
||||
, installShellFiles
|
||||
}:
|
||||
let
|
||||
version = "2.10.0";
|
||||
version = "3.0.0-beta";
|
||||
in
|
||||
rustPlatform.buildRustPackage {
|
||||
pname = "wallust";
|
||||
@@ -17,12 +18,20 @@ rustPlatform.buildRustPackage {
|
||||
owner = "explosion-mental";
|
||||
repo = "wallust";
|
||||
rev = version;
|
||||
hash = "sha256-0kPmr7/2uVncpCGVOeIkYlm2M0n9+ypVl7bQ9HnqLb4=";
|
||||
hash = "sha256-gGyxRdv2I/3TQWrTbUjlJGsaRv4SaNE+4Zo9LMWmxk8";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-p1NKEppBYLdCsTY7FHPzaGladLv5HqIVNJxSoFJOx50=";
|
||||
cargoHash = "sha256-dkHS8EOzmn5VLiKP3SMT0ZGAsk2wzvQeioG7NuGGUzA=";
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
nativeBuildInputs = [ makeWrapper installShellFiles ];
|
||||
|
||||
postInstall = ''
|
||||
installManPage man/wallust*
|
||||
installShellCompletion --cmd wallust \
|
||||
--bash completions/wallust.bash \
|
||||
--zsh completions/_wallust \
|
||||
--fish completions/wallust.fish
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
wrapProgram $out/bin/wallust \
|
||||
|
||||
@@ -11,13 +11,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "helm-git";
|
||||
version = "0.16.1";
|
||||
version = "0.17.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "aslafy-z";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-XM51pbi3BZWzdGEiQAbGlZcMJYjLEeIiexqlmSR0+AI=";
|
||||
sha256 = "sha256-vzDSuWaq3ShKz1ckv3BxQtu8tR3QKl0xhcO5IZDbgps=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
@@ -2,16 +2,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "kubelogin";
|
||||
version = "0.1.3";
|
||||
version = "0.1.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Azure";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-5Y+xu84iNVFkrBc1qoTg8vMswvlflF9SobMy/Aw4mCA=";
|
||||
sha256 = "sha256-DRXvnIOETNlZ50oa8PbLSwmq6VJJcerUe1Ir7s4/7Kw=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-sVySHSj8vJEarQlhAR3vLdgysJNbmA2IAZ3ET2zRyAM=";
|
||||
vendorHash = "sha256-K/GfRJ0KbizsVmKa6V3/ZLDKivJttEsqA3Q84S0S4KI=";
|
||||
|
||||
ldflags = [
|
||||
"-X main.version=${version}"
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "kubeone";
|
||||
version = "1.8.0";
|
||||
version = "1.8.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kubermatic";
|
||||
repo = "kubeone";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-BYfnHgTiHMmKdW25XymP2nDYQDOEHSIUOjrtwaoc1JU=";
|
||||
hash = "sha256-P/x6HigXnAhpUnycm9B8TO33hdPzREiM8kwL+/GedZY=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-tAThtZJ5DRzveJRG58VPxJWrZjB+dnXhX/50lZEHUGc=";
|
||||
|
||||
@@ -15,17 +15,17 @@
|
||||
|
||||
buildGoModule rec {
|
||||
inherit pname;
|
||||
version = "2.7.3";
|
||||
version = "2.8.0";
|
||||
tags = lib.optionals enableGateway [ "gateway" ];
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kumahq";
|
||||
repo = "kuma";
|
||||
rev = version;
|
||||
hash = "sha256-b3qQ3lFaQvkmP3HYPwQi2TxSeKmWzGbp01OCnjULJ4k=";
|
||||
hash = "sha256-RMgokVN/VTri7LiPwHX/elR2oEal9pzEkzSy0tUJMsU=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-ne62twZXac5GfQ8JcWElIMqc+Vpvn0Y9XSNgAtF62q0=";
|
||||
vendorHash = "sha256-FEdDOpz6C89OlzU3Pl4Uu6P0WgM4QsuccQ9vAHnb4xI=";
|
||||
|
||||
# no test files
|
||||
doCheck = false;
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
(callPackage ./generic.nix { }) {
|
||||
channel = "edge";
|
||||
version = "24.6.4";
|
||||
sha256 = "0pic9jncnal93g4kd8c02yl00jm0s11rax3bzz37l0iljjppxr6c";
|
||||
vendorHash = "sha256-oNEXVyNvdDsEws+8WklYxpxeTOykLEvmvyY8FAIB6HU=";
|
||||
version = "24.7.1";
|
||||
sha256 = "0l4ni88xzh5yylb0m9mn32wiqs3fbiqzz4ll54f9zh72ff89bpjb";
|
||||
vendorHash = "sha256-q43WqEBQAtcLikqDwxkMPdVDQOCZ5x7SMmIKsmuDWa4=";
|
||||
}
|
||||
|
||||
@@ -17,16 +17,16 @@ let
|
||||
|
||||
tctl-next = buildGoModule rec {
|
||||
pname = "tctl-next";
|
||||
version = "0.13.0";
|
||||
version = "0.13.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "temporalio";
|
||||
repo = "cli";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-2zk+B+GomLZwep5LNRpWJj8JjFC0OxAl1XhAv+8b2kc=";
|
||||
hash = "sha256-bh0UsXA5yHtvP9femOwEzVzmu1VLz2uZwoIHL/kI7kM=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-NLteuVOswIw2ModdE0Ak4XmApkHLoYDt6SDAZGsgwBk=";
|
||||
vendorHash = "sha256-ziCJG722c32QAh9QmoC2E7TcLiC2InKwfdC9mkanTsU=";
|
||||
|
||||
inherit overrideModAttrs;
|
||||
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "deck";
|
||||
version = "1.38.1";
|
||||
version = "1.39.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Kong";
|
||||
repo = "deck";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-9n8XAeSZn2HD8Vg2B8YmBUQ+VPBglgjN+QjrSOgn65Y=";
|
||||
hash = "sha256-8Z2JBxVUoJKzxdMvyZg5SxHyIFW9lyA71GU7R6S27Rs=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
@@ -21,7 +21,7 @@ buildGoModule rec {
|
||||
];
|
||||
|
||||
proxyVendor = true; # darwin/linux hash mismatch
|
||||
vendorHash = "sha256-2lR2/jHOFmKm3s+EPNRFLlgJHIs+33YDt1YeHBWRin0=";
|
||||
vendorHash = "sha256-SXpY6FokcrxWZu0LybGKN3tw8GwbntV3ZQ+T2dhGDqY=";
|
||||
|
||||
postInstall = ''
|
||||
installShellCompletion --cmd deck \
|
||||
|
||||
@@ -5,11 +5,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "alfaview";
|
||||
version = "9.12.0";
|
||||
version = "9.13.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://assets.alfaview.com/stable/linux/deb/${pname}_${version}.deb";
|
||||
hash = "sha256-nzSgJrlTRN4LDcdjvCIBwjBJTRRoch376R4PIbvcajQ=";
|
||||
hash = "sha256-ENd3ozRi47vszgHZIX63nQu7wZz6Zf4HdmCsNvkcLOo=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -10,10 +10,10 @@
|
||||
}:
|
||||
let
|
||||
pname = "beeper";
|
||||
version = "3.106.2";
|
||||
version = "3.107.2";
|
||||
src = fetchurl {
|
||||
url = "https://download.todesktop.com/2003241lzgn20jd/beeper-3.106.2-build-240604xwl5q01pr-x86_64.AppImage";
|
||||
hash = "sha256-WbAWJJzk58UVmRN3RHmU/V6zPiLWAb7m7hns4gmP55M=";
|
||||
url = "https://download.todesktop.com/2003241lzgn20jd/beeper-3.107.2-build-240624c0qmp116e-x86_64.AppImage";
|
||||
hash = "sha256-DFzPPVw8OCM7K6COQcC68ZntEZiqBW58IpiD4rpgguc=";
|
||||
};
|
||||
appimage = appimageTools.wrapType2 {
|
||||
inherit version pname src;
|
||||
|
||||
@@ -48,23 +48,23 @@ let
|
||||
# and often with different versions. We write them on three lines
|
||||
# like this (rather than using {}) so that the updater script can
|
||||
# find where to edit them.
|
||||
versions.aarch64-darwin = "6.1.0.35886";
|
||||
versions.x86_64-darwin = "6.1.0.35886";
|
||||
versions.x86_64-linux = "6.1.0.198";
|
||||
versions.aarch64-darwin = "6.1.1.36333";
|
||||
versions.x86_64-darwin = "6.1.1.36333";
|
||||
versions.x86_64-linux = "6.1.1.443";
|
||||
|
||||
srcs = {
|
||||
aarch64-darwin = fetchurl {
|
||||
url = "https://zoom.us/client/${versions.aarch64-darwin}/zoomusInstallerFull.pkg?archType=arm64";
|
||||
name = "zoomusInstallerFull.pkg";
|
||||
hash = "sha256-jAH/3r2AM8WAzfHE8CvKBrr53sM/9DH624C+EiJIdXs=";
|
||||
hash = "sha256-CBBJAa7hnz0I2ctEn7DMdzeXEs4x+aEmEr+L42ddqXE=";
|
||||
};
|
||||
x86_64-darwin = fetchurl {
|
||||
url = "https://zoom.us/client/${versions.x86_64-darwin}/zoomusInstallerFull.pkg";
|
||||
hash = "sha256-nKJPZQbyVG+P974hP4+4eAtupEQOf5Kl64Zp+jV/Ka0=";
|
||||
hash = "sha256-CHtyL/BdyBVCQOGWjP0H/5GJiq67hPNQxELlvzzUuts=";
|
||||
};
|
||||
x86_64-linux = fetchurl {
|
||||
url = "https://zoom.us/client/${versions.x86_64-linux}/zoom_x86_64.pkg.tar.xz";
|
||||
hash = "sha256-R4f0dnwqkODFeo8mPBecAI/AGQLwYkcNtJq6UVXCPfI=";
|
||||
hash = "sha256-2FOAZ3MKusouuWvhxFEcqX+2e+PCF4N5zaz7mc9Mnq4=";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -10,14 +10,14 @@
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "pyrosimple";
|
||||
version = "2.13.0";
|
||||
version = "2.14.0";
|
||||
format = "pyproject";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kannibalox";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-e69e1Aa10/pew1UZBCIPIH3BK7I8C3HiW59fRuSZlkc=";
|
||||
hash = "sha256-lEtyt7i8MyL2VffxNFQkL9RkmGeo6Nof0AOQwf6BUSE=";
|
||||
};
|
||||
|
||||
pythonRelaxDeps = [
|
||||
|
||||
@@ -33,14 +33,14 @@ let
|
||||
}.${system} or throwSystem;
|
||||
|
||||
hash = {
|
||||
x86_64-linux = "sha256-yShTvGcmWwa5bhZP0QYgDtOvTAdnWsFTBnHB309ya/s=";
|
||||
x86_64-linux = "sha256-u5vVM8qLm9m6VMmCV2Q3VrsqorIyOPrFCPXNh1s5mgY=";
|
||||
}.${system} or throwSystem;
|
||||
|
||||
displayname = "XPipe";
|
||||
|
||||
in stdenvNoCC.mkDerivation rec {
|
||||
pname = "xpipe";
|
||||
version = "10.0";
|
||||
version = "10.0.4";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://github.com/xpipe-io/xpipe/releases/download/${version}/xpipe-portable-linux-${arch}.tar.gz";
|
||||
|
||||
@@ -7,13 +7,13 @@
|
||||
|
||||
let
|
||||
pname = "mendeley";
|
||||
version = "2.117.0";
|
||||
version = "2.118.0";
|
||||
|
||||
executableName = "${pname}-reference-manager";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://static.mendeley.com/bin/desktop/mendeley-reference-manager-${version}-x86_64.AppImage";
|
||||
hash = "sha256-1Gwgb0oUtIjZX0f/HJmA5ihwurq9RlpMMLrTaDav0SM=";
|
||||
hash = "sha256-JzA6JmjxqZC2K51NozlYeTmZkzT5OTRF3WVGY4Wrfgo=";
|
||||
};
|
||||
|
||||
appimageContents = appimageTools.extractType2 {
|
||||
|
||||
@@ -16,13 +16,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "qlog";
|
||||
version = "0.36.0";
|
||||
version = "0.37.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "foldynl";
|
||||
repo = "QLog";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-YbjtN08zEj8rlRDC5tS/JsBOH70DV98wmL6pFQTehgg=";
|
||||
hash = "sha256-OXE+8e8Wr2EETEfdDaI/fb+SSsRhippqPzTXTlwLP4c=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
||||
@@ -52,13 +52,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "sdrangel";
|
||||
version = "7.21.3";
|
||||
version = "7.21.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "f4exb";
|
||||
repo = "sdrangel";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-TeQteQ+RAnG1J0m4BEYJCrALkfplz3gO5IBi0GxTWmI=";
|
||||
hash = "sha256-GINgI4u87Ns4/5aUWpeJaokb+3Liwjjibr02NGcF10c=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -26,6 +26,6 @@ stdenv.mkDerivation rec {
|
||||
homepage = "https://systemc.org/";
|
||||
license = licenses.asl20;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ victormignot amiloradovsky ];
|
||||
maintainers = with maintainers; [ amiloradovsky ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -2,12 +2,12 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "msieve";
|
||||
version = "r1050";
|
||||
version = "1056";
|
||||
|
||||
src = fetchsvn {
|
||||
url = "svn://svn.code.sf.net/p/msieve/code/trunk";
|
||||
rev = "1050";
|
||||
hash = "sha256-cn6OhE4zhrpB7BFrRdOnucjATbfo5mLkK7O0Usx1quE=";
|
||||
rev = version;
|
||||
hash = "sha256-6ErVn4pYPMG5VFjOQURLsHNpN0pGdp55+rjY8988onU=";
|
||||
};
|
||||
|
||||
buildInputs = [ zlib gmp ecm ];
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{ lib
|
||||
, callPackage
|
||||
, python3
|
||||
, python311
|
||||
, fetchFromGitHub
|
||||
, fetchurl
|
||||
, fetchpatch2
|
||||
@@ -23,7 +23,7 @@ let
|
||||
inherit version src;
|
||||
};
|
||||
|
||||
python = python3.override {
|
||||
python = python311.override {
|
||||
packageOverrides = self: super: {
|
||||
pydantic = super.pydantic_1;
|
||||
|
||||
@@ -71,6 +71,14 @@ python.pkgs.buildPythonApplication rec {
|
||||
url = "https://github.com/blakeblackshear/frigate/commit/b65656fa8733c1c2f3d944f716d2e9493ae7c99f.patch";
|
||||
hash = "sha256-taPWFV4PldBGUKAwFMKag4W/3TLMSGdKLYG8bj1Y5mU=";
|
||||
})
|
||||
(fetchpatch2 {
|
||||
# https://github.com/blakeblackshear/frigate/pull/10097
|
||||
name = "frigate-secrets-permissionerror.patch";
|
||||
url = "https://github.com/blakeblackshear/frigate/commit/a1424bad6c0163e790129ade7a9784514d0bf89d.patch";
|
||||
hash = "sha256-/kIy4aW9o5AKHJQfCDVY46si+DKaUb+CsZsCGIbXvUQ=";
|
||||
})
|
||||
# https://github.com/blakeblackshear/frigate/pull/12324
|
||||
./mpl-3.9.0.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
From fba8cff13186bd80ceaa06806392957598139deb Mon Sep 17 00:00:00 2001
|
||||
From: Martin Weinelt <hexa@darmstadt.ccc.de>
|
||||
Date: Sun, 7 Jul 2024 14:23:29 +0200
|
||||
Subject: [PATCH] Fix colormap usage with matplotlib 3.9.0
|
||||
|
||||
The mpl.cm toplevel registration has been removed.
|
||||
|
||||
https://matplotlib.org/stable/api/prev_api_changes/api_changes_3.9.0.html#top-level-cmap-registration-and-access-functions-in-mpl-cm
|
||||
---
|
||||
frigate/config.py | 2 +-
|
||||
frigate/detectors/detector_config.py | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/frigate/config.py b/frigate/config.py
|
||||
index 2e8b2570..af4f3263 100644
|
||||
--- a/frigate/config.py
|
||||
+++ b/frigate/config.py
|
||||
@@ -807,7 +807,7 @@ class CameraConfig(FrigateBaseModel):
|
||||
def __init__(self, **config):
|
||||
# Set zone colors
|
||||
if "zones" in config:
|
||||
- colors = plt.cm.get_cmap("tab10", len(config["zones"]))
|
||||
+ colors = plt.colormaps["tab10"].resampled(len(config["zones"]))
|
||||
config["zones"] = {
|
||||
name: {**z, "color": tuple(round(255 * c) for c in colors(idx)[:3])}
|
||||
for idx, (name, z) in enumerate(config["zones"].items())
|
||||
diff --git a/frigate/detectors/detector_config.py b/frigate/detectors/detector_config.py
|
||||
index 7fc958a3..b65631eb 100644
|
||||
--- a/frigate/detectors/detector_config.py
|
||||
+++ b/frigate/detectors/detector_config.py
|
||||
@@ -125,7 +125,7 @@ class ModelConfig(BaseModel):
|
||||
|
||||
def create_colormap(self, enabled_labels: set[str]) -> None:
|
||||
"""Get a list of colors for enabled labels."""
|
||||
- cmap = plt.cm.get_cmap("tab10", len(enabled_labels))
|
||||
+ cmap = plt.colormaps["tab10"].resampled(len(enabled_labels))
|
||||
|
||||
for key, val in enumerate(enabled_labels):
|
||||
self._colormap[val] = tuple(int(round(255 * c)) for c in cmap(key)[:3])
|
||||
--
|
||||
2.45.1
|
||||
|
||||
@@ -1,39 +1,16 @@
|
||||
{ lib, stdenv, fetchFromGitHub, fetchpatch, pkg-config, zlib }:
|
||||
{ lib, stdenv, fetchFromGitHub, pkg-config, zlib }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "2.2.1";
|
||||
pname = "gpac";
|
||||
version = "2.4.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "gpac";
|
||||
repo = "gpac";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-VjA1VFMsYUJ8uJqhYgjXYtqlGWSJHr16Ck3b5stuZWw=";
|
||||
hash = "sha256-RADDqc5RxNV2EfRTzJP/yz66p0riyn81zvwU3r9xncM=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
name = "CVE-2023-2837.patch";
|
||||
url = "https://github.com/gpac/gpac/commit/6f28c4cd607d83ce381f9b4a9f8101ca1e79c611.patch";
|
||||
hash = "sha256-HA6qMungIoh1fz1R3zUvV1Ahoa2pp861JRzYY/NNDQI=";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "CVE-2023-2838.patch";
|
||||
url = "https://github.com/gpac/gpac/commit/c88df2e202efad214c25b4e586f243b2038779ba.patch";
|
||||
hash = "sha256-gIISG7pz01iVoWqlho2BL27ki87i3pGkug2Z+KKn+xs=";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "CVE-2023-2839.patch";
|
||||
url = "https://github.com/gpac/gpac/commit/047f96fb39e6bf70cb9f344093f5886e51dce0ac.patch";
|
||||
hash = "sha256-i+/iFrWJ+Djc8xYtIOYvlZ98fYUdJooqUz9y/uhusL4=";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "CVE-2023-2840.patch";
|
||||
url = "https://github.com/gpac/gpac/commit/ba59206b3225f0e8e95a27eff41cb1c49ddf9a37.patch";
|
||||
hash = "sha256-mwO9Qeeufq0wa57lO+LgWGjrN3CHMYK+xr2ZBalKBQo=";
|
||||
})
|
||||
];
|
||||
|
||||
# this is the bare minimum configuration, as I'm only interested in MP4Box
|
||||
# For most other functionality, this should probably be extended
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
@@ -60,61 +37,5 @@ stdenv.mkDerivation rec {
|
||||
license = licenses.lgpl21;
|
||||
maintainers = with maintainers; [ bluescreen303 mgdelacroix ];
|
||||
platforms = platforms.linux;
|
||||
knownVulnerabilities = [
|
||||
"CVE-2023-48958"
|
||||
"CVE-2023-48090"
|
||||
"CVE-2023-48039"
|
||||
"CVE-2023-48014"
|
||||
"CVE-2023-48013"
|
||||
"CVE-2023-48011"
|
||||
"CVE-2023-47465"
|
||||
"CVE-2023-47384"
|
||||
"CVE-2023-46932"
|
||||
"CVE-2023-46931"
|
||||
"CVE-2023-46930"
|
||||
"CVE-2023-46928"
|
||||
"CVE-2023-46927"
|
||||
"CVE-2023-46871"
|
||||
"CVE-2023-46001"
|
||||
"CVE-2023-42298"
|
||||
"CVE-2023-41000"
|
||||
"CVE-2023-39562"
|
||||
"CVE-2023-37767"
|
||||
"CVE-2023-37766"
|
||||
"CVE-2023-37765"
|
||||
"CVE-2023-37174"
|
||||
"CVE-2023-23143"
|
||||
"CVE-2023-5998"
|
||||
"CVE-2023-5595"
|
||||
"CVE-2023-5586"
|
||||
"CVE-2023-5520"
|
||||
"CVE-2023-5377"
|
||||
"CVE-2023-4778"
|
||||
"CVE-2023-4758"
|
||||
"CVE-2023-4756"
|
||||
"CVE-2023-4755"
|
||||
"CVE-2023-4754"
|
||||
"CVE-2023-4722"
|
||||
"CVE-2023-4721"
|
||||
"CVE-2023-4720"
|
||||
"CVE-2023-4683"
|
||||
"CVE-2023-4682"
|
||||
"CVE-2023-4681"
|
||||
"CVE-2023-4678"
|
||||
"CVE-2023-3523"
|
||||
"CVE-2023-3291"
|
||||
"CVE-2023-3013"
|
||||
"CVE-2023-3012"
|
||||
"CVE-2023-1655"
|
||||
"CVE-2023-1654"
|
||||
"CVE-2023-1452"
|
||||
"CVE-2023-1449"
|
||||
"CVE-2023-1448"
|
||||
"CVE-2023-0866"
|
||||
"CVE-2023-0841"
|
||||
"CVE-2023-0819"
|
||||
"CVE-2023-0818"
|
||||
"CVE-2023-0817"
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
buildKodiBinaryAddon rec {
|
||||
pname = "pvr-hts";
|
||||
namespace = "pvr.hts";
|
||||
version = "21.2.3";
|
||||
version = "21.2.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kodi-pvr";
|
||||
repo = "pvr.hts";
|
||||
rev = "${version}-${rel}";
|
||||
sha256 = "sha256-4jHcUjGarLHsn5CjBLWB1wQNjBBw4ftMuDY5uFAHAzY=";
|
||||
sha256 = "sha256-3q78rJ+LGRD/pqeWfcP2Z469HAu1T0LoidvD6mjNkwg=";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
|
||||
@@ -8,12 +8,12 @@
|
||||
buildLua rec {
|
||||
pname = "manga-reader";
|
||||
|
||||
version = "0-unstable-2024-03-17";
|
||||
version = "0-unstable-2024-07-05";
|
||||
src = fetchFromGitHub {
|
||||
owner = "Dudemanguy";
|
||||
repo = "mpv-manga-reader";
|
||||
rev = "6b65d98be7d20c8e272a4caa6c5018ed3a8bb2b3";
|
||||
hash = "sha256-54n513lpn1KCErXJHqL+GKdDE1P52LolS6xDott/epY=";
|
||||
rev = "fb06931eed4092fa74a98266cd04fa507ea63e13";
|
||||
hash = "sha256-xtzDHv+zW/9LsLWo4Km7OQ05BVJlwqu9461i9ee94lM=";
|
||||
};
|
||||
passthru.updateScript = unstableGitUpdater { };
|
||||
|
||||
|
||||
@@ -7,12 +7,12 @@
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "streamlink";
|
||||
version = "6.8.1";
|
||||
version = "6.8.2";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-TEN++sKCtN8CZRnyBp4niRFlb+LPSNcyMCu9Rm+GOZ0=";
|
||||
hash = "sha256-nBtm8CRyeicPrwAm1xp+Y6vdiPEClXyhUsDSYgcXvJg=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
||||
@@ -2,16 +2,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "nixpacks";
|
||||
version = "1.24.1";
|
||||
version = "1.24.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "railwayapp";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-niKz+F1RJtZrE8+BaJwy5bjGS3miJf5C9LttTnC+iuk=";
|
||||
sha256 = "sha256-Jc8JU2tUc411AIeu6/ovN22s0ZR+vmn/I1yWhUEglrY=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-fzG53DqZKgW6Gen+0ZO9lxgPXkxw7S6OdZWNNI+y9hU=";
|
||||
cargoHash = "sha256-+bBQ3y66np7P5+FmsRTULX0VrtKrmNgGbyCFK+4vlIs=";
|
||||
|
||||
# skip test due FHS dependency
|
||||
doCheck = false;
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, cmake
|
||||
, pkg-config
|
||||
, wayland-scanner
|
||||
@@ -33,6 +34,15 @@ stdenv.mkDerivation (self: {
|
||||
hash = "sha256-KsX7sAwkEFpXiwyjt0HGTnnrUU58wW1jlzj5IA/LRz8=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# TODO: remove on next upgrade
|
||||
(fetchpatch {
|
||||
name = "fix-compilation-pipewire-1.2.0.patch";
|
||||
url = "https://github.com/hyprwm/xdg-desktop-portal-hyprland/commit/c5b30938710d6c599f3f5cd99a3ffac35381fb0f.patch";
|
||||
hash = "sha256-f9OgW9tLuGuHXYH6bR1Y+CEuBPHOhRiHfEPebJzlwK8=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
|
||||
@@ -21,12 +21,12 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "phosh-mobile-settings";
|
||||
version = "0.38.0";
|
||||
version = "0.39.0";
|
||||
|
||||
src = fetchurl {
|
||||
# This tarball includes the meson wrapped subproject 'gmobile'.
|
||||
url = "https://sources.phosh.mobi/releases/${pname}/${pname}-${version}.tar.xz";
|
||||
hash = "sha256-WDqgVsJx5y6IlWII9fRBsAeWn/tB8BaXRtlPvA0wmMk=";
|
||||
hash = "sha256-9vN4IqGoRHDJQYohycrrSj4ITJHHaSNgPjpEjRCCvUw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
telegram-desktop.overrideAttrs (old: rec {
|
||||
pname = "64gram";
|
||||
version = "1.1.29";
|
||||
version = "1.1.30";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "TDesktop-x64";
|
||||
@@ -15,7 +15,7 @@ telegram-desktop.overrideAttrs (old: rec {
|
||||
rev = "v${version}";
|
||||
|
||||
fetchSubmodules = true;
|
||||
hash = "sha256-OJiVmmDIsijK/IHGEdsCoAwvc9JlSth+76r9O1aJbd0=";
|
||||
hash = "sha256-TcgQcIv88oBViTyk47r9jstNTYWnql+oXHfZePKgMHU=";
|
||||
};
|
||||
|
||||
passthru.updateScript = nix-update-script {};
|
||||
|
||||
@@ -2,16 +2,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "ab-av1";
|
||||
version = "0.7.14";
|
||||
version = "0.7.15";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "alexheretic";
|
||||
repo = "ab-av1";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-cDabGXNzusVnp4exINqUitEL1HnzSgpcRtYXU5pSRhY=";
|
||||
hash = "sha256-s1hE+/fj73xxHqBQ7Q295vYBGzdCeHj0odn+EPFrS6E=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-sW/673orvK+mIUqTijpNh4YGd9ZrgSveGT6F1O5OYfI=";
|
||||
cargoHash = "sha256-0Fi9b5TQeVHw8MfLdIhLybb4ppRVcPqRQz1oR+AIGY0=";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
|
||||
+7
-7
@@ -4,7 +4,7 @@
|
||||
, ncurses
|
||||
, notmuch
|
||||
, scdoc
|
||||
, python3
|
||||
, python3Packages
|
||||
, w3m
|
||||
, dante
|
||||
, gawk
|
||||
@@ -12,21 +12,21 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "aerc";
|
||||
version = "0.17.0";
|
||||
version = "0.18.0";
|
||||
|
||||
src = fetchFromSourcehut {
|
||||
owner = "~rjarry";
|
||||
repo = "aerc";
|
||||
rev = version;
|
||||
hash = "sha256-XpVUUAtm6o4DXIouTKRX/8mLERb/4nA+VUGeB21mfjE=";
|
||||
hash = "sha256-azIgf9kv4Pg8BW1j56D2Ta1DIQNHC9Mql3tebp+MLSY=";
|
||||
};
|
||||
|
||||
proxyVendor = true;
|
||||
vendorHash = "sha256-AHEhIWa6PP8f+hhIdY+0brLF2HYhvTal7qXfCwG9iyo=";
|
||||
vendorHash = "sha256-BQ36LJFo9bQNQdwb/vygksk3ih/tVaMwfWT1f31bsbY=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
scdoc
|
||||
python3.pkgs.wrapPython
|
||||
python3Packages.wrapPython
|
||||
];
|
||||
|
||||
patches = [
|
||||
@@ -45,10 +45,10 @@ buildGoModule rec {
|
||||
makeFlags = [ "PREFIX=${placeholder "out"}" ];
|
||||
|
||||
pythonPath = [
|
||||
python3.pkgs.vobject
|
||||
python3Packages.vobject
|
||||
];
|
||||
|
||||
buildInputs = [ python3 notmuch gawk ];
|
||||
buildInputs = [ python3Packages.python notmuch gawk ];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
@@ -0,0 +1,60 @@
|
||||
{
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
substituteAll,
|
||||
python3Packages,
|
||||
testers,
|
||||
ansible-cmdb,
|
||||
}:
|
||||
let
|
||||
inherit (python3Packages)
|
||||
setuptools
|
||||
mako
|
||||
pyyaml
|
||||
jsonxs
|
||||
buildPythonApplication
|
||||
;
|
||||
|
||||
pname = "ansible-cmdb";
|
||||
version = "1.31";
|
||||
in
|
||||
buildPythonApplication {
|
||||
inherit pname version;
|
||||
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "fboender";
|
||||
repo = "ansible-cmdb";
|
||||
rev = version;
|
||||
hash = "sha256-HOFLX8fiid+xJOVYNyVbz5FunrhteAUPlvS3ctclVHo=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(substituteAll {
|
||||
src = ./setup.patch;
|
||||
inherit version;
|
||||
})
|
||||
];
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
dependencies = [
|
||||
mako
|
||||
pyyaml
|
||||
jsonxs
|
||||
];
|
||||
|
||||
passthru.tests.version = testers.testVersion {
|
||||
package = ansible-cmdb;
|
||||
version = "v${version}";
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Generate host overview from ansible fact gathering output";
|
||||
homepage = "https://github.com/fboender/ansible-cmdb";
|
||||
license = lib.licenses.gpl3Only;
|
||||
maintainers = [ lib.maintainers.tie ];
|
||||
mainProgram = "ansible-cmdb";
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
diff --git a/src/ansible-cmdb.py b/bin/ansible-cmdb
|
||||
similarity index 100%
|
||||
rename from src/ansible-cmdb.py
|
||||
rename to bin/ansible-cmdb
|
||||
diff --git a/setup.py b/setup.py
|
||||
index a8db25d..c1670f1 100755
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -42,17 +42,16 @@ setup(
|
||||
package_dir={'': 'src'},
|
||||
packages=find_packages('src'),
|
||||
include_package_data=True,
|
||||
- data_files=\
|
||||
- get_data_files(
|
||||
- 'src/ansiblecmdb/data',
|
||||
- strip='src',
|
||||
- prefix='lib'
|
||||
- ) +
|
||||
- [['lib/ansiblecmdb/', ['src/ansible-cmdb.py']]],
|
||||
+ data_files=get_data_files(
|
||||
+ 'src/ansiblecmdb/data',
|
||||
+ strip='src',
|
||||
+ prefix='lib',
|
||||
+ ),
|
||||
zip_safe=False,
|
||||
- install_requires=['mako', 'pyyaml', 'ushlex', 'jsonxs'],
|
||||
+ install_requires=['mako', 'pyyaml'],
|
||||
+ extras_require={'jsonxs_templates': ['jsonxs']},
|
||||
scripts=[
|
||||
- 'src/ansible-cmdb',
|
||||
+ 'bin/ansible-cmdb',
|
||||
],
|
||||
|
||||
classifiers=[
|
||||
diff --git a/src/ansiblecmdb/data/VERSION b/src/ansiblecmdb/data/VERSION
|
||||
index 79d94e6..14d2ff6 100644
|
||||
--- a/src/ansiblecmdb/data/VERSION
|
||||
+++ b/src/ansiblecmdb/data/VERSION
|
||||
@@ -1 +1 @@
|
||||
-MASTER
|
||||
+@version@
|
||||
@@ -18,14 +18,14 @@
|
||||
}:
|
||||
|
||||
let
|
||||
version = "3.0";
|
||||
version = "3.1";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "World";
|
||||
repo = "apostrophe";
|
||||
domain = "gitlab.gnome.org";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-wKxRCU00nSk7F8IZNWoLRtGs3m6ol3UBnArtppUOz/g=";
|
||||
sha256 = "sha256-rXaz0EtLuKOBJLF81K/4qoTZtG6B8Wn+KwSiqYvxAVc=";
|
||||
};
|
||||
|
||||
# Patches are required by upstream. Without the patches
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
{
|
||||
lib,
|
||||
stdenvNoCC,
|
||||
fetchFromGitHub,
|
||||
imagemagick,
|
||||
qrencode,
|
||||
testQR ? false,
|
||||
zbar ? null,
|
||||
}:
|
||||
assert testQR -> zbar != false;
|
||||
stdenvNoCC.mkDerivation {
|
||||
pname = "asc-key-to-qr-code-gif";
|
||||
version = "0-unstable-2019-01-27";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "yishilin14";
|
||||
repo = "asc-key-to-qr-code-gif";
|
||||
rev = "5d36a1bada8646ae0f61b04356e62ba5ef10a1aa";
|
||||
sha256 = "sha256-DwxYgBsioL86WM6KBFJ+DuSJo3/1pwD1Fl156XD98RY=";
|
||||
};
|
||||
|
||||
dontBuild = true;
|
||||
|
||||
postPatch =
|
||||
let
|
||||
substitutions =
|
||||
[
|
||||
''--replace-fail "convert" "${lib.getExe imagemagick}"''
|
||||
''--replace-fail "qrencode" "${lib.getExe qrencode}"''
|
||||
]
|
||||
++ lib.optionals testQR [
|
||||
''--replace-fail "hash zbarimg" "true"'' # hash does not work on NixOS
|
||||
''--replace-fail "$(zbarimg --raw" "$(${zbar}/bin/zbarimg --raw"''
|
||||
];
|
||||
in
|
||||
''
|
||||
substituteInPlace asc-to-gif.sh ${lib.concatStringsSep " " substitutions}
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $out/bin
|
||||
cp asc-to-gif.sh $out/bin/asc-to-gif
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/yishilin14/asc-key-to-qr-code-gif";
|
||||
description = "Convert ASCII-armored PGP keys to animated QR code";
|
||||
license = lib.licenses.unfree; # program does not have a license
|
||||
mainProgram = "asc-to-gif";
|
||||
platforms = lib.platforms.unix;
|
||||
maintainers = with lib.maintainers; [
|
||||
asymmetric
|
||||
NotAShelf
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
nodejs,
|
||||
pnpm_9,
|
||||
fetchFromGitHub,
|
||||
callPackage,
|
||||
nix-update-script
|
||||
}: stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "autoprefixer";
|
||||
version = "10.4.19";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "postcss";
|
||||
repo = "autoprefixer";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-Br0z573QghkYHLgF9/OFp8FL0bIW2frW92ohJnHhgHE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
nodejs
|
||||
pnpm_9.configHook
|
||||
];
|
||||
|
||||
pnpmDeps = pnpm_9.fetchDeps {
|
||||
inherit (finalAttrs) pname version src;
|
||||
hash = "sha256-sGcqM87xR9XTL/MUO7fGpI1cPK7EgJNpeYwBmqVNB6I=";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir $out
|
||||
mv bin/ $out
|
||||
mv lib/ $out
|
||||
mv node_modules/ $out
|
||||
mv data/ $out
|
||||
mv package.json $out
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
patchShebangs $out/bin/autoprefixer
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
tests = {
|
||||
simple-execution = callPackage ./tests/simple-execution.nix { };
|
||||
};
|
||||
updateScript = nix-update-script { };
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Parse CSS and add vendor prefixes to CSS rules using values from the Can I Use website";
|
||||
homepage = "https://github.com/postcss/autoprefixer";
|
||||
changelog = "https://github.com/postcss/autoprefixer/releases/tag/${finalAttrs.version}";
|
||||
license = lib.licenses.mit;
|
||||
mainProgram = "autoprefixer";
|
||||
maintainers = with lib.maintainers; [ pyrox0 ];
|
||||
};
|
||||
})
|
||||
@@ -30,6 +30,7 @@ stdenv.mkDerivation rec {
|
||||
extract the decoded AndroidManifest.xml directly from an APK file.
|
||||
'';
|
||||
homepage = "https://github.com/ytsutano/axmldec";
|
||||
changelog = "https://github.com/ytsutano/axmldec/releases/tag/${src.rev}";
|
||||
license = licenses.isc;
|
||||
mainProgram = "axmldec";
|
||||
maintainers = with maintainers; [ franciscod ];
|
||||
|
||||
@@ -16,6 +16,7 @@ buildGoModule {
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/xlab/c-for-go";
|
||||
changelog = "https://github.com/xlab/c-for-go/releases/";
|
||||
description = "Automatic C-Go Bindings Generator for the Go Programming Language";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ msanft ];
|
||||
|
||||
@@ -0,0 +1,61 @@
|
||||
{
|
||||
fetchFromGitHub,
|
||||
lib,
|
||||
nix,
|
||||
ronn,
|
||||
rustPlatform,
|
||||
}:
|
||||
|
||||
let
|
||||
blake3-src = fetchFromGitHub {
|
||||
owner = "BLAKE3-team";
|
||||
repo = "BLAKE3";
|
||||
rev = "refs/tags/1.5.1";
|
||||
hash = "sha256-STWAnJjKrtb2Xyj6i1ACwxX/gTkQo5jUHilcqcgJYxc=";
|
||||
};
|
||||
in
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "cached-nix-shell";
|
||||
version = "0.1.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "xzfc";
|
||||
repo = "cached-nix-shell";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-LI/hecqeRg3eCzU2bASJA8VoG4nvrSeHSeaGYn7M/UI=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-Jf0VRTGwdKxCwyb9hVKDQcdZsHHWaedrDbwq9MK1tn4=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
nix
|
||||
ronn
|
||||
];
|
||||
|
||||
# The BLAKE3 C library is intended to be built by the project depending on it
|
||||
# rather than as a standalone library.
|
||||
# https://github.com/BLAKE3-team/BLAKE3/blob/0.3.1/c/README.md#building
|
||||
env.BLAKE3_CSRC = "${blake3-src}/c";
|
||||
|
||||
postBuild = ''
|
||||
make -f nix/Makefile post-build
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
make -f nix/Makefile post-install
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Instant startup time for nix-shell";
|
||||
mainProgram = "cached-nix-shell";
|
||||
homepage = "https://github.com/xzfc/cached-nix-shell";
|
||||
changelog = "https://github.com/xzfc/cached-nix-shell/releases/tag/v${version}";
|
||||
license = with lib.licenses; [
|
||||
unlicense
|
||||
# or
|
||||
mit
|
||||
];
|
||||
maintainers = with lib.maintainers; [ xzfc ];
|
||||
platforms = lib.platforms.linux ++ lib.platforms.darwin;
|
||||
};
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user