Merge master into staging-next

This commit is contained in:
github-actions[bot] 2024-06-26 00:02:13 +00:00 committed by GitHub
commit 27074b7d07
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
191 changed files with 8397 additions and 11290 deletions

View File

@ -1153,6 +1153,11 @@
githubId = 858965;
name = "Andrew Morsillo";
};
amozeo = {
email = "wroclaw223@outlook.com";
githubId = 37040543;
name = "Wroclaw";
};
amyipdev = {
email = "amy@amyip.net";
github = "amyipdev";
@ -12936,6 +12941,12 @@
githubId = 20536514;
name = "Magdalena Haselsteiner";
};
mi-ael = {
email = "miael.oss.1970@gmail.com";
name = "mi-ael";
github = "mi-ael";
githubId = 12199265;
};
miangraham = {
github = "miangraham";
githubId = 704580;

View File

@ -21,6 +21,8 @@
- [Renovate](https://github.com/renovatebot/renovate), a dependency updating tool for various git forges and language ecosystems. Available as [services.renovate](#opt-services.renovate.enable).
- [wg-access-server](https://github.com/freifunkMUC/wg-access-server/), an all-in-one WireGuard VPN solution with a web ui for connecting devices. Available at [services.wg-access-server](#opt-services.wg-access-server.enable).
## Backward Incompatibilities {#sec-release-24.11-incompatibilities}
- `transmission` package has been aliased with a `trace` warning to `transmission_3`. Since [Transmission 4 has been released last year](https://github.com/transmission/transmission/releases/tag/4.0.0), and Transmission 3 will eventually go away, it was decided perform this warning alias to make people aware of the new version. The `services.transmission.package` defaults to `transmission_3` as well because the upgrade can cause data loss in certain specific usage patterns (examples: [#5153](https://github.com/transmission/transmission/issues/5153), [#6796](https://github.com/transmission/transmission/issues/6796)). Please make sure to back up to your data directory per your usage:
@ -120,6 +122,10 @@
services.portunus.ldap.package = pkgs.openldap.override { libxcrypt = pkgs.libxcrypt-legacy; };
```
- The default value of `services.kubernetes.kubelet.hostname` is now lowercased.
Explicitly set `kubelet.hostname` to `networking.fqdnOrHostName` to get back
the old default behavior.
- `keycloak` was updated to version 25, which introduces new hostname related options.
See [Upgrading Guide](https://www.keycloak.org/docs/25.0.1/upgrading/#migrating-to-25-0-0) for instructions.

View File

@ -96,12 +96,17 @@ in
{option}`documentation.man.mandoc.manPath` to an empty list (`[]`).
'';
};
output.fragment = lib.mkEnableOption ''
Omit the <!DOCTYPE> declaration and the <html>, <head>, and <body>
elements and only emit the subtree below the <body> element in HTML
output of {manpage}`mandoc(1)`. The style argument will be ignored.
This is useful when embedding manual content within existing documents.
'';
output.fragment = lib.mkOption {
type = lib.types.bool;
default = false;
example = true;
description = ''
Whether to omit the <!DOCTYPE> declaration and the <html>, <head>, and <body>
elements and only emit the subtree below the <body> element in HTML
output of {manpage}`mandoc(1)`. The style argument will be ignored.
This is useful when embedding manual content within existing documents.
'';
};
output.includes = lib.mkOption {
type = with lib.types; nullOr str;
default = null;
@ -160,9 +165,9 @@ in
'';
};
output.toc = lib.mkEnableOption ''
In HTML output of {manpage}`mandoc(1)`, If an input file contains
at least two non-standard sections, print a table of contents near
the beginning of the output.
printing a table of contents near the beginning of the HTML output
of {manpage}`mandoc(1)` if an input file contains at least two
non-standard sections
'';
output.width = lib.mkOption {
type = with lib.types; nullOr int;

View File

@ -1225,6 +1225,7 @@
./services/networking/vsftpd.nix
./services/networking/wasabibackend.nix
./services/networking/websockify.nix
./services/networking/wg-access-server.nix
./services/networking/wg-netmanager.nix
./services/networking/webhook.nix
./services/networking/wg-quick.nix

View File

@ -8,9 +8,7 @@ in {
options = {
programs.dublin-traceroute = {
enable = lib.mkEnableOption ''
dublin-traceroute, add it to the global environment and configure a setcap wrapper for it.
'';
enable = lib.mkEnableOption "dublin-traceroute (including setcap wrapper)";
package = lib.mkPackageOption pkgs "dublin-traceroute" { };
};

View File

@ -1,7 +1,7 @@
{ lib, pkgs, config, ... }:
{
options.programs.joycond-cemuhook = {
enable = lib.mkEnableOption "joycond-cemuhook, a program to enable support for cemuhook's UDP protocol for joycond devices.";
enable = lib.mkEnableOption "joycond-cemuhook, a program to enable support for cemuhook's UDP protocol for joycond devices";
};
config = lib.mkIf config.programs.joycond-cemuhook.enable {

View File

@ -6,7 +6,7 @@ in
{
options.programs.mouse-actions = {
enable = lib.mkEnableOption ''
mouse-actions udev rules. This is a prerequisite for using mouse-actions without being root.
mouse-actions udev rules. This is a prerequisite for using mouse-actions without being root
'';
};
config = lib.mkIf cfg.enable {

View File

@ -26,13 +26,13 @@ in
security.pki.useCompatibleBundle = mkEnableOption ''usage of a compatibility bundle.
Such a bundle consist exclusively of `BEGIN CERTIFICATE` and no `BEGIN TRUSTED CERTIFICATE`,
which is a OpenSSL specific PEM format.
Such a bundle consists exclusively of `BEGIN CERTIFICATE` and no `BEGIN TRUSTED CERTIFICATE`,
which is an OpenSSL specific PEM format.
It is known to be incompatible with certain software stacks.
Nevertheless, enabling this will strip all additional trust rules provided by the
certificates themselves, this can have security consequences depending on your usecases.
certificates themselves. This can have security consequences depending on your usecases
'';
security.pki.certificateFiles = mkOption {

View File

@ -1055,7 +1055,7 @@ in
the dp9ik pam module provided by tlsclient.
If set, users can be authenticated against the 9front
authentication server given in {option}`security.pam.dp9ik.authserver`.
authentication server given in {option}`security.pam.dp9ik.authserver`
'';
control = mkOption {
default = "sufficient";

View File

@ -41,7 +41,7 @@ in
enable = mkEnableOption ''
a memory-safe implementation of the {command}`sudo` command,
which allows non-root users to execute commands as root.
which allows non-root users to execute commands as root
'';
package = mkPackageOption pkgs "sudo-rs" { };

View File

@ -356,7 +356,7 @@ in
boot.kernelModules = ["br_netfilter" "overlay"];
services.kubernetes.kubelet.hostname =
mkDefault config.networking.fqdnOrHostName;
mkDefault (lib.toLower config.networking.fqdnOrHostName);
services.kubernetes.pki.certs = with top.lib; {
kubelet = mkCert {

View File

@ -37,7 +37,7 @@ in
description = "The port to bind to.";
};
enableUnixSocket = mkEnableOption "Unix Domain Socket at /run/memcached/memcached.sock instead of listening on an IP address and port. The `listen` and `port` options are ignored.";
enableUnixSocket = mkEnableOption "Unix Domain Socket at /run/memcached/memcached.sock instead of listening on an IP address and port. The `listen` and `port` options are ignored";
maxMemory = mkOption {
type = types.ints.unsigned;

View File

@ -52,7 +52,7 @@ let
in
{
options.services.mautrix-signal = {
enable = lib.mkEnableOption "mautrix-signal, a Matrix-Signal puppeting bridge.";
enable = lib.mkEnableOption "mautrix-signal, a Matrix-Signal puppeting bridge";
settings = lib.mkOption {
apply = lib.recursiveUpdate defaultConfig;

View File

@ -47,7 +47,7 @@
in {
options.services.mautrix-whatsapp = {
enable = lib.mkEnableOption "mautrix-whatsapp, a puppeting/relaybot bridge between Matrix and WhatsApp.";
enable = lib.mkEnableOption "mautrix-whatsapp, a puppeting/relaybot bridge between Matrix and WhatsApp";
settings = lib.mkOption {
type = settingsFormat.type;

View File

@ -124,7 +124,7 @@ let
in {
options = {
services.mqtt2influxdb = {
enable = mkEnableOption "BigClown MQTT to InfluxDB bridge.";
enable = mkEnableOption "BigClown MQTT to InfluxDB bridge";
package = mkPackageOption pkgs ["python3Packages" "mqtt2influxdb"] {};
environmentFiles = mkOption {
type = types.listOf types.path;

View File

@ -225,7 +225,7 @@ in
effectively never complete due to running into timeouts.
This sets `OMP_NUM_THREADS` to `1` in order to mitigate the issue. See
https://github.com/NixOS/nixpkgs/issues/240591 for more information.
https://github.com/NixOS/nixpkgs/issues/240591 for more information
'' // mkOption { default = true; };
};

View File

@ -70,7 +70,7 @@ in
To activate dex, first a search user must be created in the Portunus web ui
and then the password must to be set as the `DEX_SEARCH_USER_PASSWORD` environment variable
in the [](#opt-services.dex.environmentFile) setting.
in the [](#opt-services.dex.environmentFile) setting
'';
oidcClients = mkOption {

View File

@ -6,7 +6,7 @@ in
{
options = {
services.spice-autorandr = {
enable = lib.mkEnableOption "spice-autorandr service that will automatically resize display to match SPICE client window size.";
enable = lib.mkEnableOption "spice-autorandr service that will automatically resize display to match SPICE client window size";
package = lib.mkPackageOption pkgs "spice-autorandr" { };
};
};

View File

@ -4,7 +4,7 @@ let
UDPPorts = [21116];
in {
options.services.rustdesk-server = with lib; with types; {
enable = mkEnableOption "RustDesk, a remote access and remote control software, allowing maintenance of computers and other devices.";
enable = mkEnableOption "RustDesk, a remote access and remote control software, allowing maintenance of computers and other devices";
package = mkPackageOption pkgs "rustdesk-server" {};

View File

@ -696,7 +696,7 @@ in {
};
store = paramsToOptions params.store // {
enable = mkEnableOption "the Thanos store node giving access to blocks in a bucket provider.";
enable = mkEnableOption "the Thanos store node giving access to blocks in a bucket provider";
arguments = mkArgumentsOption "store";
};

View File

@ -385,8 +385,8 @@ in
power.ups = {
enable = mkEnableOption ''
Enables support for Power Devices, such as Uninterruptible Power
Supplies, Power Distribution Units and Solar Controllers.
support for Power Devices, such as Uninterruptible Power
Supplies, Power Distribution Units and Solar Controllers
'';
mode = mkOption {

View File

@ -183,7 +183,7 @@ in {
enableFabs = mkEnableOption ''
FABS, the flexible AFS backup system. It stores volumes as dump files, relying on other
pre-existing backup solutions for handling them.
pre-existing backup solutions for handling them
'';
buserverArgs = mkOption {

View File

@ -10,7 +10,7 @@ in {
services.samba-wsdd = {
enable = mkEnableOption ''
Web Services Dynamic Discovery host daemon. This enables (Samba) hosts, like your local NAS device,
to be found by Web Service Discovery Clients like Windows.
to be found by Web Service Discovery Clients like Windows
'';
interface = mkOption {
type = types.nullOr types.str;

View File

@ -87,17 +87,17 @@ in {
};
dynamips = {
enable = lib.mkEnableOption ''Whether to enable Dynamips support.'';
enable = lib.mkEnableOption ''Dynamips support'';
package = lib.mkPackageOptionMD pkgs "dynamips" { };
};
ubridge = {
enable = lib.mkEnableOption ''Whether to enable uBridge support.'';
enable = lib.mkEnableOption ''uBridge support'';
package = lib.mkPackageOptionMD pkgs "ubridge" { };
};
vpcs = {
enable = lib.mkEnableOption ''Whether to enable VPCS support.'';
enable = lib.mkEnableOption ''VPCS support'';
package = lib.mkPackageOptionMD pkgs "vpcs" { };
};
};

View File

@ -17,7 +17,7 @@ with lib;
options = {
services.haproxy = {
enable = mkEnableOption "HAProxy, the reliable, high performance TCP/HTTP load balancer.";
enable = mkEnableOption "HAProxy, the reliable, high performance TCP/HTTP load balancer";
package = mkPackageOption pkgs "haproxy" { };

View File

@ -312,9 +312,9 @@ in
};
faxqclean.enable.spoolInit = mkEnableOption ''
Purge old files from the spooling area with
purging old files from the spooling area with
{file}`faxqclean`
each time the spooling area is initialized.
each time the spooling area is initialized
'';
faxqclean.enable.frequency = mkOption {
type = nullOr nonEmptyStr;

View File

@ -39,7 +39,7 @@ in
package = mkPackageOption pkgs "netbird-dashboard" { };
enableNginx = mkEnableOption "Nginx reverse-proxy to serve the dashboard.";
enableNginx = mkEnableOption "Nginx reverse-proxy to serve the dashboard";
domain = mkOption {
type = str;

View File

@ -137,7 +137,7 @@ in
{
options.services.netbird.server.management = {
enable = mkEnableOption "Netbird Management Service.";
enable = mkEnableOption "Netbird Management Service";
package = mkPackageOption pkgs "netbird" { };
@ -335,7 +335,7 @@ in
description = "Log level of the netbird services.";
};
enableNginx = mkEnableOption "Nginx reverse-proxy for the netbird management service.";
enableNginx = mkEnableOption "Nginx reverse-proxy for the netbird management service";
};
config = mkIf cfg.enable {

View File

@ -31,7 +31,7 @@ in
options.services.netbird.server = {
enable = mkEnableOption "Netbird Server stack, comprising the dashboard, management API and signal service";
enableNginx = mkEnableOption "Nginx reverse-proxy for the netbird server services.";
enableNginx = mkEnableOption "Nginx reverse-proxy for the netbird server services";
domain = mkOption {
type = str;

View File

@ -28,7 +28,7 @@ in
package = mkPackageOption pkgs "netbird" { };
enableNginx = mkEnableOption "Nginx reverse-proxy for the netbird signal service.";
enableNginx = mkEnableOption "Nginx reverse-proxy for the netbird signal service";
domain = mkOption {
type = str;

View File

@ -14,7 +14,7 @@ in {
enable = mkEnableOption ''
Networkd-dispatcher service for systemd-networkd connection status
change. See [https://gitlab.com/craftyguy/networkd-dispatcher](upstream instructions)
for usage.
for usage
'';
rules = mkOption {

View File

@ -34,9 +34,7 @@ in {
[](#opt-programs.nncp.settings)
'';
socketActivation = {
enable = mkEnableOption ''
Whether to run nncp-daemon persistently or socket-activated.
'';
enable = mkEnableOption "socket activation for nncp-daemon";
listenStreams = mkOption {
type = with types; listOf str;
description = ''

View File

@ -0,0 +1,124 @@
{ config, pkgs, lib, ... }:
let
inherit (lib) mkEnableOption mkPackageOption mkOption types;
cfg = config.services.wg-access-server;
settingsFormat = pkgs.formats.yaml { };
configFile = settingsFormat.generate "config.yaml" cfg.settings;
in
{
options.services.wg-access-server = {
enable = mkEnableOption "wg-access-server";
package = mkPackageOption pkgs "wg-access-server" { };
settings = mkOption {
type = lib.types.submodule {
freeformType = settingsFormat.type;
options = {
dns.enable = mkOption {
type = types.bool;
default = true;
description = ''
Enable/disable the embedded DNS proxy server.
This is enabled by default and allows VPN clients to avoid DNS leaks by sending all DNS requests to wg-access-server itself.
'';
};
storage = mkOption {
type = types.str;
default = "sqlite3://db.sqlite";
description = "A storage backend connection string. See [storage docs](https://www.freie-netze.org/wg-access-server/3-storage/)";
};
};
};
description = "See https://www.freie-netze.org/wg-access-server/2-configuration/ for possible options";
};
secretsFile = mkOption {
type = types.path;
description = ''
yaml file containing all secrets. this needs to be in the same structure as the configuration.
This must to contain the admin password and wireguard private key.
As well as the secrets for your auth backend.
Example:
```yaml
adminPassword: <admin password>
wireguard:
privateKey: <wireguard private key>
auth:
oidc:
clientSecret: <client secret>
```
'';
};
};
config = lib.mkIf cfg.enable {
assertions =
map
(attrPath:
{
assertion = !lib.hasAttrByPath attrPath config.services.wg-access-server.settings;
message = ''
{option}`services.wg-access-server.settings.${lib.concatStringsSep "." attrPath}` must definded
in {option}`services.wg-access-server.secretsFile`.
'';
})
[
[ "adminPassword" ]
[ "wireguard" "privateKey" ]
[ "auth" "sessionStore" ]
[ "auth" "oidc" "clientSecret" ]
[ "auth" "gitlab" "clientSecret" ]
];
boot.kernel.sysctl = {
"net.ipv4.conf.all.forwarding" = "1";
"net.ipv6.conf.all.forwarding" = "1";
};
systemd.services.wg-access-server = {
description = "WG access server";
wantedBy = [ "multi-user.target" ];
requires = [ "network-online.target" ];
after = [ "network-online.target" ];
script = ''
# merge secrets into main config
yq eval-all "select(fileIndex == 0) * select(fileIndex == 1)" ${configFile} $CREDENTIALS_DIRECTORY/SECRETS_FILE \
> "$STATE_DIRECTORY/config.yml"
${lib.getExe cfg.package} serve --config "$STATE_DIRECTORY/config.yml"
'';
path = with pkgs; [
iptables
# needed by startup script
yq-go
];
serviceConfig =
let
capabilities = [
"CAP_NET_ADMIN"
] ++ lib.optional cfg.settings.dns.enabled "CAP_NET_BIND_SERVICE";
in
{
WorkingDirectory = "/var/lib/wg-access-server";
StateDirectory = "wg-access-server";
LoadCredential = [
"SECRETS_FILE:${cfg.secretsFile}"
];
# Hardening
DynamicUser = true;
AmbientCapabilities = capabilities;
CapabilityBoundingSet = capabilities;
};
};
};
}

View File

@ -263,7 +263,7 @@ in
'';
type = with types; attrsOf (either lines (submodule ({ name, ... }: {
options = {
enabled = mkEnableOption "this jail." // {
enabled = mkEnableOption "this jail" // {
default = true;
readOnly = name == "DEFAULT";
};

View File

@ -17,7 +17,7 @@ in
enable = mkEnableOption ''
haveged entropy daemon, which refills /dev/random when low.
NOTE: does nothing on kernels newer than 5.6.
NOTE: does nothing on kernels newer than 5.6
'';
# source for the note https://github.com/jirka-h/haveged/issues/57

View File

@ -1,17 +1,21 @@
#!/usr/bin/env bash
# Allow use of !() when copying to not copy certain files
shopt -s extglob
# Based on: https://github.com/dani-garcia/vaultwarden/wiki/Backing-up-your-vault
if [ ! -d "$BACKUP_FOLDER" ]; then
echo "Backup folder '$BACKUP_FOLDER' does not exist" >&2
exit 1
fi
if [[ ! -f "$DATA_FOLDER"/db.sqlite3 ]]; then
echo "Could not find SQLite database file '$DATA_FOLDER/db.sqlite3'" >&2
exit 1
if [[ -f "$DATA_FOLDER"/db.sqlite3 ]]; then
sqlite3 "$DATA_FOLDER"/db.sqlite3 ".backup '$BACKUP_FOLDER/db.sqlite3'"
fi
sqlite3 "$DATA_FOLDER"/db.sqlite3 ".backup '$BACKUP_FOLDER/db.sqlite3'"
cp "$DATA_FOLDER"/rsa_key.{der,pem,pub.der} "$BACKUP_FOLDER"
cp -r "$DATA_FOLDER"/attachments "$BACKUP_FOLDER"
cp -r "$DATA_FOLDER"/icon_cache "$BACKUP_FOLDER"
if [ ! -d "$DATA_FOLDER" ]; then
echo "No data folder (yet). This will happen on first launch if backup is triggered before vaultwarden has started."
exit 0
fi
cp -r "$DATA_FOLDER"/!(db.*) "$BACKUP_FOLDER"/

View File

@ -8,7 +8,7 @@ in
{
options = {
services.audiobookshelf = {
enable = mkEnableOption "Audiobookshelf, self-hosted audiobook and podcast server.";
enable = mkEnableOption "Audiobookshelf, self-hosted audiobook and podcast server";
package = mkPackageOption pkgs "audiobookshelf" { };

View File

@ -170,7 +170,7 @@ in
'';
};
caddy.enable = mkEnableOption "Whether to enable caddy reverse proxy to expose jitsi-meet";
caddy.enable = mkEnableOption "caddy reverse proxy to expose jitsi-meet";
prosody.enable = mkOption {
type = bool;

View File

@ -489,7 +489,7 @@ in {
implementation into the virtual filesystem.
Further details about this feature can be found in the
[upstream documentation](https://docs.nextcloud.com/server/22/admin_manual/configuration_files/primary_storage.html).
[upstream documentation](https://docs.nextcloud.com/server/22/admin_manual/configuration_files/primary_storage.html)
'';
bucket = mkOption {
type = types.str;
@ -591,7 +591,7 @@ in {
This is used by the theming app and for generating previews of certain images (e.g. SVG and HEIF).
You may want to disable it for increased security. In that case, previews will still be available
for some images (e.g. JPEG and PNG).
See <https://github.com/nextcloud/server/issues/13099>.
See <https://github.com/nextcloud/server/issues/13099>
'' // {
default = true;
};

View File

@ -63,7 +63,7 @@ in
};
options.services.pretix = {
enable = mkEnableOption "Pretix, a ticket shop application for conferences, festivals, concerts, etc.";
enable = mkEnableOption "Pretix, a ticket shop application for conferences, festivals, concerts, etc";
package = mkPackageOption pkgs "pretix" { };

View File

@ -12,7 +12,7 @@ in
{
options = {
services.silverbullet = {
enable = lib.mkEnableOption "Silverbullet, an open-source, self-hosted, offline-capable Personal Knowledge Management (PKM) web application.";
enable = lib.mkEnableOption "Silverbullet, an open-source, self-hosted, offline-capable Personal Knowledge Management (PKM) web application";
package = lib.mkPackageOptionMD pkgs "silverbullet" { };

View File

@ -9,7 +9,7 @@ in
{
options = {
services.suwayomi-server = {
enable = mkEnableOption "Suwayomi, a free and open source manga reader server that runs extensions built for Tachiyomi.";
enable = mkEnableOption "Suwayomi, a free and open source manga reader server that runs extensions built for Tachiyomi";
package = lib.mkPackageOptionMD pkgs "suwayomi-server" { };
@ -72,7 +72,7 @@ in
};
basicAuthEnabled = mkEnableOption ''
Add basic access authentication to Suwayomi-Server.
basic access authentication for Suwayomi-Server.
Enabling this option is useful when hosting on a public network/the Internet
'';

View File

@ -1086,9 +1086,9 @@ in
'';
description = "Declarative vhost config";
};
validateConfigFile = lib.mkEnableOption ''
Validate configuration with pkgs.writeNginxConfig.
'' // { default = true; };
validateConfigFile = lib.mkEnableOption "validating configuration with pkgs.writeNginxConfig" // {
default = true;
};
};
};

View File

@ -21,6 +21,14 @@ in
example = "tomcat10";
};
port = lib.mkOption {
type = lib.types.port;
default = 8080;
description = ''
The TCP port Tomcat should listen on.
'';
};
purifyOnStart = lib.mkOption {
type = lib.types.bool;
default = false;
@ -244,8 +252,12 @@ in
hostElementsString = lib.concatMapStringsSep "\n" hostElementForVirtualHost cfg.virtualHosts;
hostElementsSedString = lib.replaceStrings ["\n"] ["\\\n"] hostElementsString;
in ''
# Create a modified server.xml which also includes all virtual hosts
sed -e "/<Engine name=\"Catalina\" defaultHost=\"localhost\">/a\\"${lib.escapeShellArg hostElementsSedString} \
# Create a modified server.xml which listens on the given port,
# and also includes all virtual hosts.
# The host modification must be last here,
# else if hostElementsSedString is empty sed gets confused as to what to append
sed -e 's/<Connector port="8080"/<Connector port="${toString cfg.port}"/' \
-e "/<Engine name=\"Catalina\" defaultHost=\"localhost\">/a\\"${lib.escapeShellArg hostElementsSedString} \
${tomcat}/conf/server.xml > ${cfg.baseDir}/conf/server.xml
''
}

View File

@ -150,9 +150,13 @@ in
HostKey ${initrdKeyPath path}
'')}
KexAlgorithms ${concatStringsSep "," sshdCfg.settings.KexAlgorithms}
Ciphers ${concatStringsSep "," sshdCfg.settings.Ciphers}
MACs ${concatStringsSep "," sshdCfg.settings.Macs}
'' + lib.optionalString (sshdCfg.settings.KexAlgorithms != null) ''
KexAlgorithms ${concatStringsSep "," sshdCfg.settings.KexAlgorithms}
'' + lib.optionalString (sshdCfg.settings.Ciphers != null) ''
Ciphers ${concatStringsSep "," sshdCfg.settings.Ciphers}
'' + lib.optionalString (sshdCfg.settings.Macs != null) ''
MACs ${concatStringsSep "," sshdCfg.settings.Macs}
'' + ''
LogLevel ${sshdCfg.settings.LogLevel}

View File

@ -57,12 +57,12 @@ in
options.testing = {
initrdBackdoor = lib.mkEnableOption ''
enable backdoor.service in initrd. Requires
backdoor.service in initrd. Requires
boot.initrd.systemd.enable to be enabled. Boot will pause in
stage 1 at initrd.target, and will listen for commands from the
Machine python interface, just like stage 2 normally does. This
enables commands to be sent to test and debug stage 1. Use
machine.switch_root() to leave stage 1 and proceed to stage 2.
machine.switch_root() to leave stage 1 and proceed to stage 2
'';
};

View File

@ -149,7 +149,7 @@ in
Users in the "incus-admin" group can interact with
the daemon (e.g. to start or stop containers) using the
{command}`incus` command line tool, among others.
{command}`incus` command line tool, among others
'';
package = lib.mkPackageOption pkgs "incus-lts" { };

View File

@ -10,9 +10,7 @@ in
{
options = {
virtualisation.multipass = {
enable = lib.mkEnableOption ''
Multipass, a simple manager for virtualised Ubuntu instances.
'';
enable = lib.mkEnableOption "Multipass, a simple manager for virtualised Ubuntu instances";
logLevel = lib.mkOption {
type = lib.types.enum [ "error" "warning" "info" "debug" "trace" ];

View File

@ -900,7 +900,7 @@ in
};
virtualisation.tpm = {
enable = mkEnableOption "a TPM device in the virtual machine with a driver, using swtpm.";
enable = mkEnableOption "a TPM device in the virtual machine with a driver, using swtpm";
package = mkPackageOption cfg.host.pkgs "swtpm" { };

View File

@ -1042,6 +1042,7 @@ in {
wiki-js = handleTest ./wiki-js.nix {};
wine = handleTest ./wine.nix {};
wireguard = handleTest ./wireguard {};
wg-access-server = handleTest ./wg-access-server.nix {};
without-nix = handleTest ./without-nix.nix {};
wmderland = handleTest ./wmderland.nix {};
workout-tracker = handleTest ./workout-tracker.nix {};

View File

@ -5,23 +5,24 @@ import ./make-test-python.nix ({ lib, pkgs, ... }: {
nodes.machine = { pkgs, ... }: {
services.tomcat = {
enable = true;
port = 8001;
axis2.enable = true;
};
};
testScript = ''
machine.wait_for_unit("tomcat.service")
machine.wait_for_open_port(8080)
machine.wait_for_open_port(8001)
machine.wait_for_file("/var/tomcat/webapps/examples");
machine.succeed(
"curl -sS --fail http://localhost:8080/examples/servlets/servlet/HelloWorldExample | grep 'Hello World!'"
"curl -sS --fail http://localhost:8001/examples/servlets/servlet/HelloWorldExample | grep 'Hello World!'"
)
machine.succeed(
"curl -sS --fail http://localhost:8080/examples/jsp/jsp2/simpletag/hello.jsp | grep 'Hello, world!'"
"curl -sS --fail http://localhost:8001/examples/jsp/jsp2/simpletag/hello.jsp | grep 'Hello, world!'"
)
machine.succeed(
"curl -sS --fail http://localhost:8080/axis2/axis2-web/HappyAxis.jsp | grep 'Found Axis2'"
"curl -sS --fail http://localhost:8001/axis2/axis2-web/HappyAxis.jsp | grep 'Found Axis2'"
)
'';
})

View File

@ -208,6 +208,10 @@ builtins.mapAttrs (k: v: makeVaultwardenTest k v) {
server.succeed('[ -d "/var/lib/vaultwarden/backups" ]')
server.succeed('[ -f "/var/lib/vaultwarden/backups/db.sqlite3" ]')
server.succeed('[ -d "/var/lib/vaultwarden/backups/attachments" ]')
server.succeed('[ -f "/var/lib/vaultwarden/backups/rsa_key.pem" ]')
server.succeed('[ -f "/var/lib/vaultwarden/backups/rsa_key.pub.pem" ]')
# Ensure only the db backed up with the backup command exists and not the other db files.
server.succeed('[ ! -f "/var/lib/vaultwarden/backups/db.sqlite3-shm" ]')
'';
};
}

View File

@ -0,0 +1,28 @@
import ./make-test-python.nix ({ pkgs, lib, kernelPackages ? null, ... }:
{
name = "wg-access-server";
meta = with pkgs.lib.maintainers; {
maintainers = [ xanderio ];
};
nodes = {
server = {
services.wg-access-server = {
enable = true;
settings = {
adminUsername = "admin";
};
secretsFile = (pkgs.writers.writeYAML "secrets.yaml" {
adminPassword = "hunter2";
});
};
};
};
testScript = ''
start_all()
server.wait_for_unit("wg-access-server.service")
'';
}
)

View File

@ -4,11 +4,11 @@
stdenv.mkDerivation rec {
pname = "qsynth";
version = "0.9.91";
version = "1.0.0";
src = fetchurl {
url = "mirror://sourceforge/qsynth/${pname}-${version}.tar.gz";
hash = "sha256-CS/rCvm7IuVwDN1PURO6ADVXTZkX7OYzKJP8xfOHN4E=";
hash = "sha256-FOoqnJeh29J0clsqZ+wbhQmsaybrAbIqgeB7m/7Q+3M=";
};
nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ];

View File

@ -18,6 +18,8 @@
, which
, wrapGAppsHook3
, darwin
, vulkan-loader
, autoPatchelfHook
}:
stdenv.mkDerivation (finalAttrs: {
@ -38,6 +40,7 @@ stdenv.mkDerivation (finalAttrs: {
];
nativeBuildInputs = [
autoPatchelfHook
pkg-config
which
wrapGAppsHook3
@ -64,6 +67,8 @@ stdenv.mkDerivation (finalAttrs: {
darwin.apple_sdk_11_0.frameworks.OpenAL
];
appendRunpaths = [ (lib.makeLibraryPath [ vulkan-loader ]) ];
enableParallelBuilding = true;
makeFlags = lib.optionals stdenv.isLinux [

View File

@ -165,10 +165,10 @@
"src": {
"owner": "libretro",
"repo": "bsnes-libretro",
"rev": "9131a4c705e18f7b96e7dbfcfe70b158d10afed1",
"hash": "sha256-NotqQMBHV6E3LSXJHQ5FqIbq2OQbXx6xCbLYV9g12kQ="
"rev": "c5963607b59c8d56d28bb4de3f7ac555e004c69e",
"hash": "sha256-YmOy2iaQYqaIp4u4cIQx8Z8jUqaIhPdJZTFgSETQprs="
},
"version": "unstable-2024-06-16"
"version": "unstable-2024-06-21"
},
"bsnes-hd": {
"fetcher": "fetchFromGitHub",
@ -307,11 +307,11 @@
"src": {
"owner": "flyinghead",
"repo": "flycast",
"rev": "ca613db70d8897e06562fe089e3e9543b41526a0",
"hash": "sha256-wYKHC+EvLnq+PnL1/hNcrhDyCY+4kaiSjIUKJ9SGPHc=",
"rev": "7d645541f8f8b7f4550eabe9157d8fb82b43c1a7",
"hash": "sha256-/RLh6FO3lk6L1yhTMGLt7sjY/vwlb1y2XxmtgO5+uOk=",
"fetchSubmodules": true
},
"version": "unstable-2024-06-11"
"version": "unstable-2024-06-23"
},
"fmsx": {
"fetcher": "fetchFromGitHub",
@ -348,20 +348,20 @@
"src": {
"owner": "libretro",
"repo": "gambatte-libretro",
"rev": "863002046a812758da6064daaf579fef1cec19a3",
"hash": "sha256-7rkyMcaKDNOESNrmwYCKM71x3WM8eSN9LBX0xOQRhJ0="
"rev": "594422484170a0a075d02d702d3367819c9d4e1a",
"hash": "sha256-pCoQ+9Sx4dBhbnJTQ00nJAb8ooUp/6pVxTdGtL2tX0c="
},
"version": "unstable-2024-06-14"
"version": "unstable-2024-06-21"
},
"genesis-plus-gx": {
"fetcher": "fetchFromGitHub",
"src": {
"owner": "libretro",
"repo": "Genesis-Plus-GX",
"rev": "4e54d585d540d461ecc412c91ca4a79e2338f3b6",
"hash": "sha256-7P6w6pXplOfpP7w+JztNd49FdKBPM8eQeSh93YAG0Y4="
"rev": "3bf89541aca5768cda7f834e5c5a6041fd4a5f27",
"hash": "sha256-s8MmlcPdnS6esSWS3GD53X7UzwP2RNjtL3QYnPbgStQ="
},
"version": "unstable-2024-06-14"
"version": "unstable-2024-06-21"
},
"gpsp": {
"fetcher": "fetchFromGitHub",
@ -550,20 +550,20 @@
"src": {
"owner": "libretro",
"repo": "neocd_libretro",
"rev": "c5a266254ffbaa2730d2814195f60e7be153fc86",
"hash": "sha256-MJhUYFNrtt2SSLun75OXKrT7nZzLBtyslqG9mziQuRk="
"rev": "f87ed9eb4a7bf1243f031044c4e2ae1a7bf7100b",
"hash": "sha256-DqXYMno+NGIZrE1Q0y0WYR/jnjjHMfVT6lasLG4ew9A="
},
"version": "unstable-2024-06-16"
"version": "unstable-2024-06-22"
},
"nestopia": {
"fetcher": "fetchFromGitHub",
"src": {
"owner": "libretro",
"repo": "nestopia",
"rev": "b99ede358b2219602443e7f414eabf81e17da244",
"hash": "sha256-iciidNkOhie3qJO8D4yB081ywfQtGGMrKBWFmBpps9g="
"rev": "1fc8c32b91c64aed056fa6d26359f1831c455c70",
"hash": "sha256-LjdIOcwzWRSQTxJeWsQzGuYGOUsPycNzURoG029zpHk="
},
"version": "unstable-2024-04-07"
"version": "unstable-2024-06-22"
},
"np2kai": {
"fetcher": "fetchFromGitHub",
@ -611,10 +611,10 @@
"src": {
"owner": "libretro",
"repo": "parallel-n64",
"rev": "330fa5efd306ad116c44faf6833a8108ed4144b0",
"hash": "sha256-pltPoWfXFh9OhWnQ+XMhHVZCo6BCGr6jCDhiL5T7LNM="
"rev": "dfc8d55686a364cad85411dabb76c7fb94acd730",
"hash": "sha256-ngENgmBQFHUYRp9DBnQLWapvfhnFra/B+jeegm8+rtE="
},
"version": "unstable-2024-06-10"
"version": "unstable-2024-06-18"
},
"pcsx2": {
"fetcher": "fetchFromGitHub",
@ -663,11 +663,11 @@
"src": {
"owner": "hrydgard",
"repo": "ppsspp",
"rev": "cfcca0ed13ca86eb6e1ee7bb4161aabee6c2af06",
"hash": "sha256-K96Ajh/jXxILiKXBaTiNh6FwptPQQG39jGq45aQ7veY=",
"rev": "2a3aaed71135d9574f002073ceae74356b29c900",
"hash": "sha256-WU48YrRUWaJi1xcHRxP7JigaJZ8Vbm/v4w9LdD5TvLo=",
"fetchSubmodules": true
},
"version": "unstable-2024-06-16"
"version": "unstable-2024-06-24"
},
"prboom": {
"fetcher": "fetchFromGitHub",
@ -754,10 +754,10 @@
"src": {
"owner": "snes9xgit",
"repo": "snes9x",
"rev": "a9e64edf73f36fb1a4ac616b11131f6380d8e968",
"hash": "sha256-3m2YTy1Y/ENhI4qmH3FQBZMEKNHsDJVZeOOLRrLj8lw="
"rev": "d514d135a7d3521e16e9ea599690e36e95c5c1aa",
"hash": "sha256-qk73jA8J6QD9Fp1tjqEf3eDLhJxp206gsku42ICjqPY="
},
"version": "unstable-2024-06-13"
"version": "unstable-2024-06-18"
},
"snes9x2002": {
"fetcher": "fetchFromGitHub",
@ -794,10 +794,10 @@
"src": {
"owner": "stella-emu",
"repo": "stella",
"rev": "b477cb56bc6fd8b6977dcee279f16de01348bdae",
"hash": "sha256-jGyEah9eBEvNB4HewL60yXZvpHseeScYrHsRtzUtjN8="
"rev": "9381a67604a81a5ddfc931581ba7ba53bc7680cb",
"hash": "sha256-TLLUCRYy6G0ylQKZEiaUPBCkjOAEJRmTI3s7xWPGgiA="
},
"version": "unstable-2024-06-15"
"version": "unstable-2024-06-23"
},
"stella2014": {
"fetcher": "fetchFromGitHub",

View File

@ -20,13 +20,13 @@
stdenv.mkDerivation rec {
pname = "cherrytree";
version = "1.1.2";
version = "1.1.3";
src = fetchFromGitHub {
owner = "giuspen";
repo = "cherrytree";
rev = "refs/tags/v${version}";
hash = "sha256-gDDFrF1yK6mWwkb3KJVRj6P5aiH1pQ/xL17XwVb4rfk=";
hash = "sha256-Xtm+SFJOSb04WlooRhTopYtyiXEOkOmiPojM8E7l5vY=";
};
nativeBuildInputs = [

View File

@ -2,13 +2,14 @@
lib,
fetchurl,
appimageTools,
writeScript,
}:
let
pname = "remnote";
version = "1.16.18";
version = "1.16.48";
src = fetchurl {
url = "https://download2.remnote.io/remnote-desktop2/RemNote-${version}.AppImage";
hash = "sha256-ps7Rl1oA2QOPvO2XeCY8DrWtCV9WPlX9jbhypz2ZARA=";
hash = "sha256-tECIn43fTr+Enkp63S7INUjOrs8Ni7Nmhxsr/p6kPzo=";
};
appimageContents = appimageTools.extractType2 { inherit pname version src; };
in
@ -22,6 +23,19 @@ appimageTools.wrapType2 {
install -Dm444 ${appimageContents}/remnote.png -t $out/share/pixmaps
'';
passthru.updateScript = writeScript "update.sh" ''
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl coreutils gnused common-updater-scripts
set -eu -o pipefail
url="$(curl -ILs -w %{url_effective} -o /dev/null https://backend.remnote.com/desktop/linux)"
version="$(echo $url | sed -n 's/.*RemNote-\([0-9]\+\.[0-9]\+\.[0-9]\+\).*/\1/p')"
currentVersion=$(nix-instantiate --eval -E "with import ./. {}; remnote.version or (lib.getVersion remnote)" | tr -d '"')
if [[ "$version" != "$currentVersion" ]]; then
hash=$(nix-hash --to-sri --type sha256 "$(nix-prefetch-url "$url")")
update-source-version remnote "$version" "$hash" --print-changes
fi
'';
meta = with lib; {
description = "Note-taking application focused on learning and productivity";
homepage = "https://remnote.com/";

View File

@ -17,14 +17,14 @@
stdenv.mkDerivation rec {
pname = "schemes";
version = "0.2.0";
version = "46.0";
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "chergert";
repo = "schemes";
rev = version;
hash = "sha256-XUC24KzZSU4+F2JZMsydukvAwEGdMxCnkPG6QHnCw6w=";
hash = "sha256-m82jR958f1g/4gSJ4NbNa4fwxVseH399Z8JpWr7tLh8=";
};
nativeBuildInputs = [

View File

@ -3,10 +3,10 @@
{
firefox = buildMozillaMach rec {
pname = "firefox";
version = "127.0.1";
version = "127.0.2";
src = fetchurl {
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
sha512 = "13df770a89b703033601cab56892a2fc62427521936b366893008e68cd1f48d7b18917a3cede23764d024208819037ad0d28c2d4b73b99fdc204cbd53bb1297e";
sha512 = "d5a959a032309b8a42690b7f5afd5110c2e6ca7de426e1529d50f59cf065e67623ed98bf3aab39ce4d345ccfad2a273b24ce4f87c7ba7e6eccf2e9dfe3008d8b";
};
extraPatches = [

View File

@ -22,7 +22,7 @@ writeScript "update-${attrPath}" ''
set -eux
HOME=`mktemp -d`
export GNUPGHOME=`mktemp -d`
gpg --receive-keys ADD7079479700DCADFDD5337E36D3B13F3D93274
curl https://keys.openpgp.org/vks/v1/by-fingerprint/14F26682D0916CDD81E37B6D61B7B526D98F0353 | gpg --import -
url=${baseUrl}

View File

@ -2,12 +2,12 @@
let
pname = "polypane";
version = "19.0.2";
version = "20.0.0";
src = fetchurl {
url = "https://github.com/firstversionist/${pname}/releases/download/v${version}/${pname}-${version}.AppImage";
name = "${pname}-${version}.AppImage";
sha256 = "sha256-MyQiq2Lo/XtmJ7D1VZXncYWq53Bu3O3WBT/PkdJuEZM=";
sha256 = "sha256-2fzxEqOGPZnA+nizLUq73f18bKDpDNglUt4RIz+VnS8=";
};
appimageContents = appimageTools.extractType2 {

View File

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "argo-rollouts";
version = "1.7.0";
version = "1.7.1";
src = fetchFromGitHub {
owner = "argoproj";
repo = "argo-rollouts";
rev = "v${version}";
sha256 = "sha256-b1oaLVwom06XUCjMF3/O/SdLt2s0MFuF+et6+MO2jBQ=";
sha256 = "sha256-5ly5VJSXIo9s2ilWYhf5FJij+tcITd+rmYEKFdFrq44=";
};
vendorHash = "sha256-38BLPNc6en70+UxlldmrwtRTMRLh/fCPL6FtuA2ODGM=";

View File

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "cni";
version = "1.2.1";
version = "1.2.2";
src = fetchFromGitHub {
owner = "containernetworking";
repo = pname;
rev = "v${version}";
hash = "sha256-aS7THDTpfNQPw+70ZgFzvurpq/vMKE6xSxJ19ERbtOA=";
hash = "sha256-yM4opOrHH0NQz26yHuzQfiXdWc8LbxAaqxXQDFdUb60=";
};
vendorHash = "sha256-5VsJ3Osm9w09t3x0dItC2iWwbPMf/IIBOSqUfcbQKK4=";
vendorHash = "sha256-/aPx8NgGkJ1irU0LGzmYTlsiX2U5or24Vl1PGHWuDyE=";
subPackages = [
"./cnitool"

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "flink";
version = "1.19.0";
version = "1.19.1";
src = fetchurl {
url = "mirror://apache/flink/${pname}-${version}/${pname}-${version}-bin-scala_2.12.tgz";
sha256 = "sha256-MRnG2zqPSBPe/OHInKxGER350MuXEqJk2gs6O3KQv4Y=";
sha256 = "sha256-WWFp8+/KcdQZMvA/krWJsTf3we3+KFARcibXOeeZvc4=";
};
nativeBuildInputs = [ makeWrapper ];

View File

@ -2,14 +2,14 @@
buildGoModule rec {
pname = "velero";
version = "1.13.2";
version = "1.14.0";
src = fetchFromGitHub {
owner = "vmware-tanzu";
repo = "velero";
rev = "v${version}";
sha256 = "sha256-Dqz8UFoGb5uG5f8mrIUIRWJUYH/ZuFavhRy2wie75/Q=";
sha256 = "sha256-1jhhZosrU2zTlgMhM7vJ2kLpO+BITPdUo0t3rcbDYjg=";
};
ldflags = [
@ -20,7 +20,7 @@ buildGoModule rec {
"-X github.com/vmware-tanzu/velero/pkg/buildinfo.GitSHA=none"
];
vendorHash = "sha256-L1QTqw0L/aE4bFlLWg4/mmdHL7Sb5EsT3eL0jZIpBsA=";
vendorHash = "sha256-J0fYfSbxL4R1ac6ezM03e1+J8n7+CRSujVU6XDCyPU4=";
excludedPackages = [ "issue-template-gen" "release-tools" "v1" "velero-restic-restore-helper" ];

View File

@ -12,11 +12,11 @@
mkDerivation rec {
pname = "datovka";
version = "4.23.8";
version = "4.24.0";
src = fetchurl {
url = "https://gitlab.nic.cz/datovka/datovka/-/archive/v${version}/datovka-v${version}.tar.gz";
sha256 = "sha256-YmXpbSrbibkH0+DKE+ujFSLqxnWiA3XpuQSzOQUyEOo=";
sha256 = "sha256-6Bd6IeuCXVnK8ZPgU9FOSNqoYf3ZNpkSBC+cR5JU9AQ=";
};
buildInputs = [ libdatovka qmake qtbase qtsvg libxml2 qtwebsockets ];

View File

@ -5,11 +5,11 @@
stdenv.mkDerivation rec {
pname = "alfaview";
version = "9.11.0";
version = "9.12.0";
src = fetchurl {
url = "https://assets.alfaview.com/stable/linux/deb/${pname}_${version}.deb";
hash = "sha256-VnIMcpTlJT6E4DhGuKos2STbwAfdRNFs2XnodcqB+L8=";
hash = "sha256-nzSgJrlTRN4LDcdjvCIBwjBJTRRoch376R4PIbvcajQ=";
};
nativeBuildInputs = [

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "signalbackup-tools";
version = "20240615-1";
version = "20240625";
src = fetchFromGitHub {
owner = "bepaald";
repo = pname;
rev = version;
hash = "sha256-70lHZXGdPxT2d15oZW/hKrPS1qfpxH8O5jnyGy7CVz0=";
hash = "sha256-sEuSVyfbHqljXz0mHX0loIkw/OCwcBXE/iGD+55GRng=";
};
postPatch = ''

View File

@ -24,13 +24,13 @@
}:
let
version = "2.10.1";
version = "2.10.2";
src = fetchFromGitHub {
owner = "paperless-ngx";
repo = "paperless-ngx";
rev = "refs/tags/v${version}";
hash = "sha256-M1S5ebdpw11Ot4h4xvbk/rbJxXom2dZ5Of+6eOlBIuE=";
hash = "sha256-LwWdgoVlZjL5o+T8zzU9jkYaQbdiZokrCGn8ZTIQ4OQ=";
};
# subpath installation is broken with uvicorn >= 0.26

View File

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

View File

@ -4,12 +4,12 @@
}:
let
version = "6.7.9";
version = "6.8.1";
pname = "timeular";
src = fetchurl {
url = "https://s3.amazonaws.com/timeular-desktop-packages/linux/production/Timeular-${version}.AppImage";
hash = "sha256-UaoIYJxVfQZujf03Swup+zQwb7RWRXuElcswf+MXXQ4=";
hash = "sha256-9t21aIEhLNIY7kSJkcvUVZ8R9/CuW0ZEu8kWkvMMQrM=";
};
appimageContents = appimageTools.extractType2 {

View File

@ -21,13 +21,13 @@ with lib;
python3Packages.buildPythonApplication rec {
pname = "tryton";
version = "7.2.1";
version = "7.2.2";
disabled = !python3Packages.isPy3k;
src = fetchPypi {
inherit pname version;
sha256 = "sha256-CK3XkHX16Ec/j1DhC29uoj/YqcLXs/KsIb7v/cfoiaM=";
sha256 = "sha256-XIPzpVIttTgP34rbA705vFoRZE9dj8Of3BR23DbpQPk=";
};
nativeBuildInputs = [

View File

@ -52,13 +52,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "sdrangel";
version = "7.21.2";
version = "7.21.3";
src = fetchFromGitHub {
owner = "f4exb";
repo = "sdrangel";
rev = "v${finalAttrs.version}";
hash = "sha256-cFSD3zroKJPJk1mhXLnSDoSS6p9AU6YN2LJpb+E6HDI=";
hash = "sha256-TeQteQ+RAnG1J0m4BEYJCrALkfplz3gO5IBi0GxTWmI=";
};
nativeBuildInputs = [

View File

@ -7,13 +7,13 @@
stdenv.mkDerivation rec {
pname = "siril";
version = "1.2.1";
version = "1.2.3";
src = fetchFromGitLab {
owner = "free-astro";
repo = "siril";
rev = version;
hash = "sha256-njvByA8nbG3qHKfv8eX20TrIhngVI0nzIHmhYIN6htE=";
hash = "sha256-JUMk2XHMOeocSpeeI+k3s9TsEQCdqz3oigTzuwRHbT4=";
};
nativeBuildInputs = [

View File

@ -9,13 +9,13 @@
stdenv.mkDerivation rec {
pname = "last";
version = "1544";
version = "1548";
src = fetchFromGitLab {
owner = "mcfrith";
repo = "last";
rev = "refs/tags/${version}";
hash = "sha256-jxNudfUvSqV1QUzdvG8LWtL977oho9QuOQImmwbQiIM=";
hash = "sha256-6mLPnyEAuRvCeV8pv3avsm6CKDrBPgX8xSxGO2kvTrM=";
};
nativeBuildInputs = [

View File

@ -1,6 +1,6 @@
{ stdenv
, lib
, fetchurl
, fetchgit
, pkg-config
, makeWrapper
, gtk3
@ -13,13 +13,13 @@
stdenv.mkDerivation {
pname = "gpu-screen-recorder-gtk";
version = "3.2.5";
version = "3.7.6";
src = fetchurl {
url = "https://dec05eba.com/snapshot/gpu-screen-recorder-gtk.git.r175.cfd18af.tar.gz";
hash = "sha256-HhZe22Hm9yGoy5WoyuP2+Wj8E3nMs4uf96mzmP6CMqU=";
src = fetchgit {
url = "https://repo.dec05eba.com/gpu-screen-recorder-gtk";
rev = "cd777c1506e20514df4b97345e480051cbaf9693";
hash = "sha256-ZBYYsW75tq8TaZp0F4v7YIHKHk/DFBIGy3X781ho2oE=";
};
sourceRoot = ".";
nativeBuildInputs = [
pkg-config
@ -46,12 +46,12 @@ stdenv.mkDerivation {
gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libglvnd ]}:/run/opengl-driver/lib)
'';
meta = with lib; {
description = "GTK frontend for gpu-screen-recorder";
meta = {
description = "GTK frontend for gpu-screen-recorder.";
mainProgram = "gpu-screen-recorder-gtk";
homepage = "https://git.dec05eba.com/gpu-screen-recorder-gtk/about/";
license = licenses.gpl3Only;
maintainers = with maintainers; [ babbaj ];
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ babbaj ];
platforms = [ "x86_64-linux" ];
};
}

View File

@ -3,13 +3,13 @@
buildKodiAddon rec {
pname = "youtube";
namespace = "plugin.video.youtube";
version = "7.0.7";
version = "7.0.8";
src = fetchFromGitHub {
owner = "anxdpanic";
repo = "plugin.video.youtube";
rev = "v${version}";
hash = "sha256-i21BCkW4WpnQY1j9Wyn3/26GaAjWNXDb+lOVpmXlNKM=";
hash = "sha256-cWqAHC3UYDWk0cL/to9kCdH+SSN3ra+Ni6HTwposNkg=";
};
propagatedBuildInputs = [

View File

@ -138,10 +138,9 @@ stdenv.mkDerivation (removeAttrs ({
'';
installPhase = ''
runHook preInstall
dune install ${opam-name} --prefix=$out
mv $out/lib/coq $out/lib/TEMPORARY
dune install --prefix=$out --libdir $OCAMLFIND_DESTDIR ${opam-name}
mkdir $out/lib/coq/
mv $out/lib/TEMPORARY $out/lib/coq/${coq.coq-version}
mv $OCAMLFIND_DESTDIR/coq $out/lib/coq/${coq.coq-version}
runHook postInstall
'';
})

View File

@ -0,0 +1,14 @@
const { app, BrowserWindow } = require('electron');
app.setName(process.env.ELECTRON_APP_NAME || 'Antimatter Dimensions');
app.whenReady().then(() => {
const mainWindow = new BrowserWindow({
autoHideMenuBar: true,
});
mainWindow.loadFile('index.html');
});
app.on('window-all-closed', () => {
app.quit();
});

View File

@ -0,0 +1,82 @@
{ buildNpmPackage
, copyDesktopItems
, electron
, fetchFromGitHub
, lib
, makeDesktopItem
, unstableGitUpdater
, writeScriptBin
, electronAppName ? "Antimatter Dimensions"
}:
let
# build doesn't provide app.js, only index.html as entry point.
# app.js is used to change the directory where data is stored
# instead of default Electron. This workaround will be removed
# when this file will be available in upstream repository.
dummyElectronApp = ./app.js;
in
buildNpmPackage rec {
pname = "antimatter-dimensions";
version = "0-unstable-2024-05-11";
src = fetchFromGitHub {
owner = "IvarK";
repo = "AntimatterDimensionsSourceCode";
rev = "b3a254af60207a03d04473bb81726e921f5b2c61";
hash = "sha256-+G9mNilt5Ewja5P+Bt312EcCJknMu7FOMn5b4FseAyQ=";
};
nativeBuildInputs = [
copyDesktopItems
# build script calls git to get git hash, message and author
# since fetchFromGitHub doesn't provide this information
# and in order to keep determinism (#8567), create a dummy git
(writeScriptBin "git" ''
echo "unknown"
'')
];
npmDepsHash = "sha256-aG+oysgitQvdFM0QyzJ3DBxsanBHYI+UPJPhj6bf00Q=";
npmFlags = [ "--legacy-peer-deps" ];
npmBuildScript = "build:release";
installPhase = ''
runHook preInstall
mkdir -p $out/share/antimatter-dimensions
cp -Tr dist $out/share/antimatter-dimensions
mkdir -p $out/share/icons/hicolor/256x256/apps
ln -rs $out/share/antimatter-dimensions/icon.png $out/share/icons/hicolor/256x256/apps/antimatter-dimensions.png
cp ${dummyElectronApp} $out/share/antimatter-dimensions/app.js
makeWrapper ${lib.getExe electron} $out/bin/antimatter-dimensions \
--add-flags $out/share/antimatter-dimensions/app.js \
--set ELECTRON_APP_NAME "${electronAppName}"
runHook postInstall
'';
desktopItems = [
(makeDesktopItem {
name = "antimatter-dimensions";
exec = "antimatter-dimensions";
icon = "antimatter-dimensions";
desktopName = electronAppName;
comment = meta.description;
categories = [ "Game" ];
terminal = false;
})
];
passthru.updateScript = unstableGitUpdater {
hardcodeZeroVersion = true;
};
meta = {
homepage = "https://github.com/IvarK/AntimatterDimensionsSourceCode";
description = "Idle incremental game with multiple prestige layers.";
license = lib.licenses.mit;
mainProgram = "antimatter-dimensions";
maintainers = with lib.maintainers; [ amozeo ];
inherit (electron.meta) platforms;
};
}

View File

@ -2,12 +2,12 @@
let
pname = "anytype";
version = "0.40.9";
version = "0.41.1";
name = "Anytype-${version}";
src = fetchurl {
url = "https://github.com/anyproto/anytype-ts/releases/download/v${version}/${name}.AppImage";
name = "Anytype-${version}.AppImage";
hash = "sha256-NxiRq/aAWToe27COEoQb4BmyKgLRYQ+gXtM0Djhlcow=";
hash = "sha256-z/Htqq2HgCKNPzF81/nvLK/32KuMUYdHRTQbM8hZSIw=";
};
appimageContents = appimageTools.extractType2 { inherit name src; };
in appimageTools.wrapType2 {

View File

@ -21,6 +21,7 @@
makeWrapper,
nix-update-script,
python3,
fetchpatch,
fuseSupport ? false,
}:
@ -71,6 +72,11 @@ stdenv.mkDerivation (finalAttrs: {
"INITRAMFS_DIR=${placeholder "out"}/etc/initramfs-tools"
] ++ lib.optional fuseSupport "BCACHEFS_FUSE=1";
env = {
CARGO_BUILD_TARGET = stdenv.hostPlatform.rust.rustcTargetSpec;
"CARGO_TARGET_${stdenv.hostPlatform.rust.cargoEnvVarTarget}_LINKER" = "${stdenv.cc.targetPrefix}cc";
};
# FIXME: Try enabling this once the default linux kernel is at least 6.7
doCheck = false; # needs bcachefs module loaded on builder
@ -78,8 +84,19 @@ stdenv.mkDerivation (finalAttrs: {
# code refactoring of bcachefs-tools broke reading passphrases from stdin (vs. terminal)
# upstream issue https://github.com/koverstreet/bcachefs-tools/issues/261
./fix-encrypted-boot.patch
# https://github.com/koverstreet/bcachefs-tools/pull/305
(fetchpatch {
name = "use-ar-var-in-makefile.patch";
url = "https://github.com/koverstreet/bcachefs-tools/commit/91e67ab2bd48fa135a1f5109b23899a4f1019a03.patch";
sha256 = "sha256-nB4Tgcwa8eeasIDQ4rrYORie/X8LMuCSRi+WJNw+R/U=";
})
];
postPatch = ''
substituteInPlace Makefile \
--replace-fail "target/release/bcachefs" "target/${stdenv.hostPlatform.rust.rustcTargetSpec}/release/bcachefs"
'';
preCheck = lib.optionalString (!fuseSupport) ''
rm tests/test_fuse.py
'';

View File

@ -0,0 +1,39 @@
{ lib, stdenvNoCC, fetchFromGitHub, rename, nix-update-script }:
stdenvNoCC.mkDerivation {
pname = "cinzel";
version = "0-unstable-2020-07-22";
src = fetchFromGitHub {
owner = "NDISCOVER";
repo = "Cinzel";
rev = "dd598495b0fb2ad84270d5cc75d642d2f1e8eabf";
hash = "sha256-V3vSxe5eHN0BUplzmmBchzuV+gz36WfgZZezJ6NfaWg=";
};
outputs = [ "out" "variable" ];
nativeBuildInputs = [ rename ];
installPhase = ''
runHook preInstall
rename 's/\[wght\]//g' "" fonts/variable/*
install -Dm644 fonts/ttf/*.ttf -t $out/share/fonts/truetype
install -Dm644 fonts/variable/*.ttf -t $variable/share/fonts/truetype
runHook postInstall
'';
passthru.updateScript = nix-update-script {
extraArgs = [ "--version=branch" ];
};
meta = {
homepage = "https://github.com/NDISCOVER/Cinzel";
description = "Typeface inspired in First Century Roman Inscriptions";
license = lib.licenses.ofl;
platforms = lib.platforms.all;
maintainers = [ lib.maintainers.marijanp ];
};
}

View File

@ -5,11 +5,11 @@
clash-verge.overrideAttrs (old: rec {
pname = "clash-verge-rev";
version = "1.6.5";
version = "1.6.6";
src = fetchurl {
url = "https://github.com/clash-verge-rev/clash-verge-rev/releases/download/v${version}/clash-verge_${version}_amd64.deb";
hash = "sha256-pL6BWfRkyOzi7TnMAEcHyrUDVpK9IOeqcfRKfkHtWmw=";
hash = "sha256-x+Xkasg6Yzft5CLg2YFCRkgpDeiVvvdmcLjrg+oIOT8=";
};
meta = old.meta // (with lib; {

View File

@ -0,0 +1,39 @@
{
lib,
fetchFromGitHub,
rustPlatform,
clippy,
clippy-sarif,
testers,
}:
rustPlatform.buildRustPackage rec {
pname = "clippy-sarif";
version = "0.4.2";
src = fetchFromGitHub {
owner = "psastras";
repo = "sarif-rs";
rev = "clippy-sarif-v${version}";
hash = "sha256-EzWzDeIeSJ11CVcVyAhMjYQJcKHnieRrFkULc5eXAno=";
};
cargoHash = "sha256-F3NrqkqLdvMRIuozCMMqwlrrf5QrnmcEhy4TGSzPhiU=";
cargoBuildFlags = [
"--package"
"clippy-sarif"
];
cargoTestFlags = cargoBuildFlags;
passthru = {
tests.version = testers.testVersion { package = clippy-sarif; };
};
meta = {
description = "A CLI tool to convert clippy diagnostics into SARIF";
mainProgram = "clippy-sarif";
homepage = "https://psastras.github.io/sarif-rs";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ getchoo ];
inherit (clippy.meta) platforms;
};
}

View File

@ -349,7 +349,7 @@ checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
[[package]]
name = "crunchy-cli"
version = "3.6.6"
version = "3.6.7"
dependencies = [
"chrono",
"clap",
@ -362,7 +362,7 @@ dependencies = [
[[package]]
name = "crunchy-cli-core"
version = "3.6.6"
version = "3.6.7"
dependencies = [
"anyhow",
"async-speed-limit",
@ -400,9 +400,9 @@ dependencies = [
[[package]]
name = "crunchyroll-rs"
version = "0.11.3"
version = "0.11.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1d33b8d77c80dea79e66993cb67963b2171dcf0b8fbc87591c58f2dadfea8da2"
checksum = "d6e38c223aecf65c9c9bec50764beea5dc70b6c97cd7f767bf6860f2fc8e0a07"
dependencies = [
"async-trait",
"chrono",
@ -426,9 +426,9 @@ dependencies = [
[[package]]
name = "crunchyroll-rs-internal"
version = "0.11.3"
version = "0.11.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fa51945265f25c45f7d53bd70e5263dd023c0be45e38eaba886a971cb645d797"
checksum = "144a38040a21aaa456741a9f6749354527bb68ad3bb14210e0bbc40fbd95186c"
dependencies = [
"darling",
"quote",
@ -1125,8 +1125,8 @@ dependencies = [
[[package]]
name = "native-tls"
version = "0.2.11"
source = "git+https://github.com/crunchy-labs/rust-not-so-native-tls.git?rev=b7969a8#b7969a88210096e0570e29d42fb13533baf62aa6"
version = "0.2.12"
source = "git+https://github.com/crunchy-labs/rust-not-so-native-tls.git?rev=c7ac566#c7ac566559d441bbc3e5e5bd04fb7162c38d88b0"
dependencies = [
"libc",
"log",
@ -1519,9 +1519,9 @@ checksum = "b833d8d034ea094b1ea68aa6d5c740e0d04bad9d16568d08ba6f76823a114316"
[[package]]
name = "rsubs-lib"
version = "0.3.1"
version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d01f7609f0b1bc4fe24b352e8d1792c7d71cc43aea797e14b87974cd009ab402"
checksum = "8c9f50e3fbcbf1f0bd109954e2dd813d1715c7b4a92a7bf159a85dea49e9d863"
dependencies = [
"regex",
"serde",
@ -1967,9 +1967,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
[[package]]
name = "tokio"
version = "1.37.0"
version = "1.38.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787"
checksum = "ba4f4a02a7a80d6f274636f0aa95c7e383b912d41fe721a31f29e29698585a4a"
dependencies = [
"backtrace",
"bytes",
@ -1984,9 +1984,9 @@ dependencies = [
[[package]]
name = "tokio-macros"
version = "2.2.0"
version = "2.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a"
dependencies = [
"proc-macro2",
"quote",

View File

@ -10,19 +10,19 @@
rustPlatform.buildRustPackage rec {
pname = "crunchy-cli";
version = "3.6.6";
version = "3.6.7";
src = fetchFromGitHub {
owner = "crunchy-labs";
repo = "crunchy-cli";
rev = "v${version}";
hash = "sha256-LVJRv8YUTfavc0ZrK2fIlgc5npQKwEZosoLEYw/V/pw=";
hash = "sha256-qBIfDkd4a0m1GNgK4tSq2/dLP8K5Pp4m/M468eHgIAg=";
};
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"native-tls-0.2.11" = "sha256-r+uvpwf1qgOVYuh+3xYOOsDWyCJnyG4Qc8i7RV2nzy4=";
"native-tls-0.2.12" = "sha256-YqiX3xj2ionDlDRzkClqkt0E4HY4zt0B6+rGf850ZCk=";
};
};

View File

@ -0,0 +1,28 @@
{ lib
, buildGoModule
, fetchFromGitHub
}:
buildGoModule rec {
pname = "css-checker";
version = "0.4.1";
src = fetchFromGitHub {
owner = "ruilisi";
repo = pname;
rev = "v${version}";
hash = "sha256-lD2uF8zhJG8pVepqxyKKj4GZNB883uDV/9dCMFYJbRs=";
};
vendorHash = "sha256-4ZCma8Q7FXAWdA1m2M1ltm360Fu65JhELyfIbJBP14M=";
ldflags = [ "-s" "-w" ];
meta = with lib; {
description = "Command-line tool for identifying similar or duplicated CSS code";
homepage = "https://github.com/ruilisi/css-checker";
license = licenses.mit;
maintainers = with maintainers; [ arikgrahl ];
mainProgram = "css-checker";
};
}

View File

@ -0,0 +1,103 @@
{
lib,
stdenv,
fetchurl,
dpkg,
autoPatchelfHook,
makeWrapper,
perl,
gnused,
ghostscript,
file,
coreutils,
gnugrep,
which,
}:
let
arches = [
"x86_64"
"i686"
];
version = "4.1.0-1";
runtimeDeps = [
ghostscript
file
gnused
gnugrep
coreutils
which
];
in
stdenv.mkDerivation {
pname = "cups-brother-mfcl2800dw";
inherit version;
nativeBuildInputs = [
dpkg
makeWrapper
autoPatchelfHook
];
buildInputs = [ perl ];
dontUnpack = true;
src = fetchurl {
url = "https://download.brother.com/welcome/dlf106048/mfcl2800dwpdrv-${version}.i386.deb";
hash = "sha256-sY92w0EFI69LxoNrhluIhqFOWZQOI+SJKKyuExvasgA=";
};
installPhase =
''
runHook preInstall
mkdir -p $out
dpkg-deb -x $src $out
# delete unnecessary files for the current architecture
''
+ lib.concatMapStrings (arch: ''
echo Deleting files for ${arch}
rm -r "$out/opt/brother/Printers/MFCL2800DW/lpd/${arch}"
'') (builtins.filter (arch: arch != stdenv.hostPlatform.linuxArch) arches)
+ ''
# bundled scripts don't understand the arch subdirectories for some reason
ln -s \
"$out/opt/brother/Printers/MFCL2800DW/lpd/${stdenv.hostPlatform.linuxArch}/"* \
"$out/opt/brother/Printers/MFCL2800DW/lpd/"
# Fix global references and replace auto discovery mechanism with hardcoded values
substituteInPlace $out/opt/brother/Printers/MFCL2800DW/lpd/lpdfilter \
--replace-fail /opt "$out/opt" \
--replace-fail "my \$BR_PRT_PATH =" "my \$BR_PRT_PATH = \"$out/opt/brother/Printers/MFCL2800DW\"; #" \
--replace-fail "PRINTER =~" "PRINTER = \"MFCL2800DW\"; #"
# Make sure all executables have the necessary runtime dependencies available
find "$out" -executable -and -type f | while read file; do
wrapProgram "$file" --prefix PATH : "${lib.makeBinPath runtimeDeps}"
done
# Symlink filter and ppd into a location where CUPS will discover it
mkdir -p $out/lib/cups/filter $out/share/cups/model
ln -s \
$out/opt/brother/Printers/MFCL2800DW/lpd/lpdfilter \
$out/lib/cups/filter/brother_lpdwrapper_MFCL2800DW
ln -s \
$out/opt/brother/Printers/MFCL2800DW/cupswrapper/brother-MFCL2800DW-cups-en.ppd \
$out/share/cups/model/
runHook postInstall
'';
meta = {
homepage = "http://www.brother.com/";
description = "Brother MFC-L2750DW printer driver";
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
license = lib.licenses.unfree;
platforms = builtins.map (arch: "${arch}-linux") arches;
maintainers = [ lib.maintainers.luftmensch-luftmensch ];
};
}

View File

@ -4,13 +4,13 @@
, v4l-utils
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "dtv-scan-tables";
version = "2022-04-30-57ed29822750";
version = "2024-03-24-7098bdd27548";
src = fetchurl {
url = "https://linuxtv.org/downloads/${pname}/${pname}-${version}.tar.bz2";
hash = "sha256-amJoqjkkWTePo6E5IvwBWj+mP/gi9LDWTTPXE1Cm7J4=";
url = "https://linuxtv.org/downloads/dtv-scan-tables/dtv-scan-tables-${finalAttrs.version}.tar.bz2";
hash = "sha256-P0yJgbOkgpBms5arwNonDlx+Z0tdGQ6SUyoGlRoH6Y4=";
};
nativeBuildInputs = [
@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
allowedReferences = [ ];
meta = with lib; {
meta = {
# git repo with current revision is here:
#downloadPage = "https://git.linuxtv.org/dtv-scan-tables.git";
# Weekly releases are supposed to be here
@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
# but sometimes they lag behind several weeks or even months.
description = "Digital TV (DVB) channel/transponder scan tables";
homepage = "https://www.linuxtv.org/wiki/index.php/Dtv-scan-tables";
license = with licenses; [ gpl2Only lgpl21Only ];
license = with lib.licenses; [ gpl2Only lgpl21Only ];
longDescription = ''
When scanning for dvb channels,
most applications require an initial set of
@ -43,6 +43,6 @@ stdenv.mkDerivation rec {
The package delivers a collection of transponder
tables ready to be used by software like "dvbv5-scan".
'';
maintainers = with maintainers; [ yarny ];
maintainers = with lib.maintainers; [ yarny ];
};
}
})

View File

@ -1,7 +1,7 @@
{ stdenv, lib, buildGoModule, fetchFromGitHub }:
let
pname = "e1s";
version = "1.0.37";
version = "1.0.38";
in
buildGoModule {
inherit pname version;
@ -10,7 +10,7 @@ buildGoModule {
owner = "keidarcy";
repo = "e1s";
rev = "refs/tags/v${version}";
hash = "sha256-lqaLfGEllyRlVPkUfLUzPO2o+Ruzp1lFD6/RY4o1L14=";
hash = "sha256-OFnriW+rerVTyonuXe9qilR78Qok6QUYQvTDbsTi5L0=";
};
vendorHash = "sha256-oQVZ1SNXaXOngZazUVeWLvtZu17XvtIcrx+XC6PvGH0=";

View File

@ -27,13 +27,13 @@ let
pieBuild = stdenv.hostPlatform.isMusl;
in buildGoModule rec {
pname = "frankenphp";
version = "1.2.0";
version = "1.2.1";
src = fetchFromGitHub {
owner = "dunglas";
repo = "frankenphp";
rev = "v${version}";
hash = "sha256-W+9p/9qT7v1jq6m/gRgfw4AmnPRZVY3UixXaypUVn4E=";
hash = "sha256-VHN5ezPwWZ9cKcaGyIkNh2RnD9ETt/3I+/QmAV6DY3o=";
};
sourceRoot = "${src.name}/caddy";
@ -41,7 +41,7 @@ in buildGoModule rec {
# frankenphp requires C code that would be removed with `go mod tidy`
# https://github.com/golang/go/issues/26366
proxyVendor = true;
vendorHash = "sha256-eNW03oBaON2X5X2ZbM3Ly5T+bJzSDhEYajY5LaZhwdQ=";
vendorHash = "sha256-37nt6UuHgZZ7ZZlqgE3ggGwtiJwT2lgnwV1Pt3RsU7o=";
buildInputs = [ phpUnwrapped brotli ] ++ phpUnwrapped.buildInputs;
nativeBuildInputs = [ makeBinaryWrapper ] ++ lib.optionals stdenv.isDarwin [ pkg-config darwin.cctools darwin.autoSignDarwinBinariesHook ];

View File

@ -1,12 +1,12 @@
{
"name": "@withgraphite/graphite-cli",
"version": "1.3.6",
"version": "1.3.9",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@withgraphite/graphite-cli",
"version": "1.3.6",
"version": "1.3.9",
"hasInstallScript": true,
"license": "None",
"dependencies": {
@ -197,9 +197,9 @@
}
},
"node_modules/ws": {
"version": "8.17.0",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.17.0.tgz",
"integrity": "sha512-uJq6108EgZMAl20KagGkzCKfMEjxmKvZHG7Tlq0Z6nOky7YF7aq4mOx6xK8TJ/i1LeK4Qus7INktacctDgY8Ow==",
"version": "8.17.1",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz",
"integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==",
"engines": {
"node": ">=10.0.0"
},

View File

@ -7,14 +7,14 @@
buildNpmPackage rec {
pname = "graphite-cli";
version = "1.3.8";
version = "1.3.9";
src = fetchurl {
url = "https://registry.npmjs.org/@withgraphite/graphite-cli/-/graphite-cli-${version}.tgz";
hash = "sha256-FJaDSg+scrmqYkCGCrb+yT8TtKT09xu6BS5AjTlfhzo=";
hash = "sha256-HbS1hHnlyptXEGy6Qs2Iq/bUUEXYJPc55FEYBjyBvVs=";
};
npmDepsHash = "sha256-WyV0f5thWG7hg7Vm1UUIlcFCgP83HfXQFBUVHcQdjRo=";
npmDepsHash = "sha256-iVDa8Y/32J7qFWp/jlKwNiepmpfUZV56xNwxILUayMo=";
postPatch = ''
ln -s ${./package-lock.json} package-lock.json

View File

@ -0,0 +1,28 @@
{ lib
, buildGoModule
, fetchFromGitHub
}:
buildGoModule rec {
pname = "ingress2gateway";
version = "0.2.0";
src = fetchFromGitHub {
owner = "kubernetes-sigs";
repo = pname;
rev = "v${version}";
hash = "sha256-+ImMpO1qRkXYLy+MDloKSoDCmMmJSBorgDjzaeSCBdY=";
};
vendorHash = "sha256-IEU9cfYCkrQagxzJT6jPz2nRCz1BAaiGvkEPhNRQr4E=";
ldflags = [ "-s" "-w" ];
meta = with lib; {
description = "Convert Ingress resources to Gateway API resources ";
homepage = "https://github.com/kubernetes-sigs/ingress2gateway";
license = licenses.asl20;
maintainers = with maintainers; [ arikgrahl ];
mainProgram = "ingress2gateway";
};
}

View File

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "kor";
version = "0.5.0";
version = "0.5.1";
src = fetchFromGitHub {
owner = "yonahd";
repo = pname;
rev = "v${version}";
hash = "sha256-5x0Zyk4gPMKcZtpgT0QbIm6NeWX+uJwT2NM+yS2oC3o=";
hash = "sha256-mGHSfOW40NTFK1csckSNriCYF2bEQD/M1Zs34i3PptI=";
};
vendorHash = "sha256-9aZy1i0VrDRySt5A5aQHBXa0mPgD+rsyeqQrd6snWKc=";

View File

@ -0,0 +1,156 @@
{ alsa-lib
, boost
, catch2_3
, cmake
, cryptopp
, cpp-jwt
, doxygen
, enet
, fetchzip
, fetchurl
, fmt
, ffmpeg-headless
, gamemode
, httplib
, inih
, lib
, libGL
, libjack2
, libpulseaudio
, libunwind
, libusb1
, nlohmann_json
, openal
, openssl
, pipewire
, pkg-config
, portaudio
, sndio
, spirv-tools
, soundtouch
, stdenv
, vulkan-headers
, vulkan-loader
, xorg
, zstd
, enableSdl2Frontend ? true , SDL2
, enableQt ? true , kdePackages
, enableQtTranslations ? enableQt
, enableCubeb ? true , cubeb
, useDiscordRichPresence ? false , rapidjson
}: let
compat-list = fetchurl {
name = "lime3ds-compat-list";
url = "https://raw.githubusercontent.com/Lime3DS/compatibility-list/b0c8b6b80d716db6b957ba103c7a9e17ead24d55/compatibility_list.json";
hash = "sha256-2wNqtorcQo3o09tisikW+cj6cVLLQEiJ1Zcai5ptGEU=";
};
in stdenv.mkDerivation (finalAttrs: {
pname = "lime3ds";
version = "2114";
src = fetchzip {
url = "https://github.com/Lime3DS/Lime3DS/releases/download/${finalAttrs.version}/lime3ds-unified-source-${finalAttrs.version}.tar.xz";
hash = "sha256-PGrKh10dBFAWn37G8m/2/ymqcgtAuxB+5Xib0FI+IMQ=";
};
nativeBuildInputs = [
cmake
doxygen
pkg-config
] ++ lib.optionals enableQt [kdePackages.wrapQtAppsHook];
buildInputs = [
alsa-lib
boost
catch2_3
cryptopp
cpp-jwt
enet
fmt
ffmpeg-headless
httplib
inih
libGL
libjack2
libpulseaudio
libunwind
libusb1
nlohmann_json
openal
openssl
pipewire
portaudio
SDL2
soundtouch
sndio
spirv-tools
vulkan-headers
xorg.libX11
xorg.libXext
zstd
] ++ lib.optionals enableQt (with kdePackages; [
qtbase
qtmultimedia
qttools
qtwayland
]) ++ lib.optionals enableQtTranslations [kdePackages.qttools]
++ lib.optionals enableCubeb [cubeb]
++ lib.optional useDiscordRichPresence rapidjson;
postPatch = ''
# Fix file not found when looking in var/empty instead of opt
mkdir externals/dynarmic/src/dynarmic/ir/var
ln -s ../opt externals/dynarmic/src/dynarmic/ir/var/empty
# Prep compatibilitylist
rm ./dist/compatibility_list/compatibility_list.json
ln -s ${compat-list} ./dist/compatibility_list/compatibility_list.json
# We already know the submodules are present
substituteInPlace CMakeLists.txt \
--replace-fail "check_submodules_present()" ""
# Add gamemode
substituteInPlace externals/gamemode/include/gamemode_client.h \
--replace-fail "libgamemode.so.0" "${lib.getLib gamemode}/lib/libgamemode.so.0"
'';
postInstall = let
libs = lib.makeLibraryPath [ vulkan-loader ];
in lib.optionalString enableSdl2Frontend ''
for binfile in lime3ds-gui lime3ds-cli lime3ds-room
do
wrapProgram "$out/bin/$binfile" \
--prefix LD_LIBRARY_PATH : ${libs}
'' + lib.optionalString enableQt ''
qtWrapperArgs+=(
--prefix LD_LIBRARY_PATH : ${libs}
)
done
'';
cmakeFlags = with lib; [
(cmakeBool "CITRA_USE_PRECOMPILED_HEADERS" false)
(cmakeBool "ENABLE_QT_TRANSLATION" enableQtTranslations)
(cmakeBool "USE_SYSTEM_LIBS" true)
(cmakeBool "DISABLE_SYSTEM_DYNARMIC" true)
(cmakeBool "DISABLE_SYSTEM_GLSLANG" true)
(cmakeBool "DISABLE_SYSTEM_LODEPNG" true)
(cmakeBool "DISABLE_SYSTEM_VMA" true)
(cmakeBool "DISABLE_SYSTEM_XBYAK" true)
(cmakeBool "CITRA_ENABLE_COMPATIBILITY_REPORTING" true)
(cmakeBool "ENABLE_COMPATIBILITY_LIST_DOWNLOAD" false)
(cmakeBool "ENABLE_SDL2_FRONTEND" enableSdl2Frontend)
(cmakeBool "ENABLE_CUBEB" enableCubeb)
(cmakeBool "USE_DISCORD_PRESENCE" useDiscordRichPresence)
];
meta = with lib; {
description = "A Nintendo 3DS emulator based on Citra";
homepage = "https://github.com/Lime3DS/Lime3DS";
license = licenses.gpl2Only;
maintainers = with maintainers; [ arthsmn ];
mainProgram = if enableQt then "lime3ds-gui" else "lime3ds-cli";
platforms = platforms.linux;
};
})

View File

@ -5,16 +5,16 @@
buildGoModule rec {
pname = "livekit";
version = "1.6.1";
version = "1.6.2";
src = fetchFromGitHub {
owner = "livekit";
repo = "livekit";
rev = "v${version}";
hash = "sha256-i6G221n6wIOYo//+w/4XN4QpTkt7AYwAw6RBYo66vXI=";
hash = "sha256-fJpW85bYV6Jl7EoyXsJdr4hUqBntMzBnJfTO316/En0=";
};
vendorHash = "sha256-7MPjhjTIO7ZKKyc0Du8+0F+8PvpiwiIBMnXZiYX2XyI=";
vendorHash = "sha256-V8kHIzIZj07B1N2KBGICIFF7aRFl2oynMIZUPeotCs8=";
subPackages = [ "cmd/server" ];

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