Merge staging-next into staging

This commit is contained in:
github-actions[bot] 2024-04-21 00:02:52 +00:00 committed by GitHub
commit 2f68e54184
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
78 changed files with 2047 additions and 530 deletions

View File

@ -16713,6 +16713,12 @@
githubId = 145816;
name = "David McKay";
};
raylas = {
email = "r@raymond.sh";
github = "raylas";
githubId = 8099415;
name = "Raymond Douglas";
};
rayslash = {
email = "stevemathewjoy@tutanota.com";
github = "rayslash";

View File

@ -108,6 +108,8 @@ Use `services.pipewire.extraConfig` or `services.pipewire.configPackages` for Pi
- [dnsproxy](https://github.com/AdguardTeam/dnsproxy), a simple DNS proxy with DoH, DoT, DoQ and DNSCrypt support. Available as [services.dnsproxy](#opt-services.dnsproxy.enable).
- [manticoresearch](https://manticoresearch.com), easy to use open source fast database for search. Available as [services.manticore](#opt-services.manticore.enable).
- [rspamd-trainer](https://gitlab.com/onlime/rspamd-trainer), script triggered by a helper which reads mails from a specific mail inbox and feeds them into rspamd for spam/ham training.
- [ollama](https://ollama.ai), server for running large language models locally.
@ -183,6 +185,8 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
- [Mealie](https://nightly.mealie.io/), a self-hosted recipe manager and meal planner with a RestAPI backend and a reactive frontend application built in NuxtJS for a pleasant user experience for the whole family. Available as [services.mealie](#opt-services.mealie.enable)
- [Sunshine](https://app.lizardbyte.dev/Sunshine), a self-hosted game stream host for Moonlight. Available as [services.sunshine](#opt-services.sunshine.enable).
- [Uni-Sync](https://github.com/EightB1ts/uni-sync), a synchronization tool for Lian Li Uni Controllers. Available as [hardware.uni-sync](#opt-hardware.uni-sync.enable)
- [prometheus-nats-exporter](https://github.com/nats-io/prometheus-nats-exporter), a Prometheus exporter for NATS. Available as [services.prometheus.exporters.nats](#opt-services.prometheus.exporters.nats.enable).

View File

@ -1161,6 +1161,7 @@
./services/networking/strongswan.nix
./services/networking/stubby.nix
./services/networking/stunnel.nix
./services/networking/sunshine.nix
./services/networking/supplicant.nix
./services/networking/supybot.nix
./services/networking/syncplay.nix
@ -1224,6 +1225,7 @@
./services/search/elasticsearch-curator.nix
./services/search/elasticsearch.nix
./services/search/hound.nix
./services/search/manticore.nix
./services/search/meilisearch.nix
./services/search/opensearch.nix
./services/search/qdrant.nix

View File

@ -95,7 +95,7 @@ in
'';
postStart = ''
# Delay signalling service readiness until it's actually up.
while ! "${lib.getExe pkgs.curl}" -sSfl -o /dev/null "http://${cfg.listenAddress}:${toString cfg.httpPort}"; do
while ! "${lib.getExe pkgs.curl}" -sSfL -o /dev/null "http://${cfg.listenAddress}:${toString cfg.httpPort}"; do
echo "Waiting for TCP port ${toString cfg.httpPort} to be open..."
sleep 1
done

View File

@ -0,0 +1,156 @@
{ config, lib, pkgs, utils, ... }:
let
inherit (lib) mkEnableOption mkPackageOption mkOption mkIf mkDefault types optionals getExe;
inherit (utils) escapeSystemdExecArgs;
cfg = config.services.sunshine;
# ports used are offset from a single base port, see https://docs.lizardbyte.dev/projects/sunshine/en/latest/about/advanced_usage.html#port
generatePorts = port: offsets: map (offset: port + offset) offsets;
defaultPort = 47989;
appsFormat = pkgs.formats.json { };
settingsFormat = pkgs.formats.keyValue { };
appsFile = appsFormat.generate "apps.json" cfg.applications;
configFile = settingsFormat.generate "sunshine.conf" cfg.settings;
in
{
options.services.sunshine = with types; {
enable = mkEnableOption "Sunshine, a self-hosted game stream host for Moonlight";
package = mkPackageOption pkgs "sunshine" { };
openFirewall = mkOption {
type = bool;
default = false;
description = ''
Whether to automatically open ports in the firewall.
'';
};
capSysAdmin = mkOption {
type = bool;
default = false;
description = ''
Whether to give the Sunshine binary CAP_SYS_ADMIN, required for DRM/KMS screen capture.
'';
};
settings = mkOption {
default = { };
description = ''
Settings to be rendered into the configuration file. If this is set, no configuration is possible from the web UI.
See https://docs.lizardbyte.dev/projects/sunshine/en/latest/about/advanced_usage.html#configuration for syntax.
'';
example = ''
{
sunshine_name = "nixos";
}
'';
type = submodule (settings: {
freeformType = settingsFormat.type;
options.port = mkOption {
type = port;
default = defaultPort;
description = ''
Base port -- others used are offset from this one, see https://docs.lizardbyte.dev/projects/sunshine/en/latest/about/advanced_usage.html#port for details.
'';
};
});
};
applications = mkOption {
default = { };
description = ''
Configuration for applications to be exposed to Moonlight. If this is set, no configuration is possible from the web UI, and must be by the `settings` option.
'';
example = ''
{
env = {
PATH = "$(PATH):$(HOME)/.local/bin";
};
apps = [
{
name = "1440p Desktop";
prep-cmd = [
{
do = "''${pkgs.kdePackages.libkscreen}/bin/kscreen-doctor output.DP-4.mode.2560x1440@144";
undo = "''${pkgs.kdePackages.libkscreen}/bin/kscreen-doctor output.DP-4.mode.3440x1440@144";
}
];
exclude-global-prep-cmd = "false";
auto-detach = "true";
}
];
}
'';
type = submodule {
options = {
env = mkOption {
default = { };
description = ''
Environment variables to be set for the applications.
'';
type = attrsOf str;
};
apps = mkOption {
default = [ ];
description = ''
Applications to be exposed to Moonlight.
'';
type = listOf attrs;
};
};
};
};
};
config = mkIf cfg.enable {
services.sunshine.settings.file_apps = mkIf (cfg.applications.apps != [ ]) "${appsFile}";
environment.systemPackages = [
cfg.package
];
networking.firewall = mkIf cfg.openFirewall {
allowedTCPPorts = generatePorts cfg.settings.port [ (-5) 0 1 21 ];
allowedUDPPorts = generatePorts cfg.settings.port [ 9 10 11 13 21 ];
};
boot.kernelModules = [ "uinput" ];
services.udev.packages = [ cfg.package ];
services.avahi = {
enable = mkDefault true;
publish = {
enable = mkDefault true;
userServices = mkDefault true;
};
};
security.wrappers.sunshine = mkIf cfg.capSysAdmin {
owner = "root";
group = "root";
capabilities = "cap_sys_admin+p";
source = getExe cfg.package;
};
systemd.user.services.sunshine = {
description = "Self-hosted game stream host for Moonlight";
wantedBy = [ "graphical-session.target" ];
partOf = [ "graphical-session.target" ];
wants = [ "graphical-session.target" ];
after = [ "graphical-session.target" ];
startLimitIntervalSec = 500;
startLimitBurst = 5;
serviceConfig = {
# only add configFile if an application or a setting other than the default port is set to allow configuration from web UI
ExecStart = escapeSystemdExecArgs ([
(if cfg.capSysAdmin then "${config.security.wrapperDir}/sunshine" else "${getExe cfg.package}")
] ++ optionals (cfg.applications.apps != [ ] || (builtins.length (builtins.attrNames cfg.settings) > 1 || cfg.settings.port != defaultPort)) [ "${configFile}" ]);
Restart = "on-failure";
RestartSec = "5s";
};
};
};
}

View File

@ -0,0 +1,131 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.manticore;
format = pkgs.formats.json { };
toSphinx = {
mkKeyValue ? mkKeyValueDefault {} "=",
listsAsDuplicateKeys ? true
}: attrsOfAttrs:
let
# map function to string for each key val
mapAttrsToStringsSep = sep: mapFn: attrs:
concatStringsSep sep
(mapAttrsToList mapFn attrs);
mkSection = sectName: sectValues: ''
${sectName} {
'' + lib.generators.toKeyValue { inherit mkKeyValue listsAsDuplicateKeys; } sectValues + ''}'';
in
# map input to ini sections
mapAttrsToStringsSep "\n" mkSection attrsOfAttrs;
configFile = pkgs.writeText "manticore.conf" (
toSphinx {
mkKeyValue = k: v: " ${k} = ${v}";
} cfg.settings
);
in {
options = {
services.manticore = {
enable = mkEnableOption "Manticoresearch";
settings = mkOption {
default = {
searchd = {
listen = [
"127.0.0.1:9312"
"127.0.0.1:9306:mysql"
"127.0.0.1:9308:http"
];
log = "/var/log/manticore/searchd.log";
query_log = "/var/log/manticore/query.log";
pid_file = "/run/manticore/searchd.pid";
data_dir = "/var/lib/manticore";
};
};
description = ''
Configuration for Manticoresearch. See
<https://manual.manticoresearch.com/Server%20settings>
for more information.
'';
type = types.submodule {
freeformType = format.type;
};
example = literalExpression ''
{
searchd = {
listen = [
"127.0.0.1:9312"
"127.0.0.1:9306:mysql"
"127.0.0.1:9308:http"
];
log = "/var/log/manticore/searchd.log";
query_log = "/var/log/manticore/query.log";
pid_file = "/run/manticore/searchd.pid";
data_dir = "/var/lib/manticore";
};
}
'';
};
};
};
config = mkIf cfg.enable {
systemd = {
packages = [ pkgs.manticoresearch ];
services.manticore = {
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
serviceConfig = {
ExecStart = [
""
"${pkgs.manticoresearch}/bin/searchd --config ${configFile}"
];
ExecStop = [
""
"${pkgs.manticoresearch}/bin/searchd --config ${configFile} --stopwait"
];
ExecStartPre = [ "" ];
DynamicUser = true;
LogsDirectory = "manticore";
RuntimeDirectory = "manticore";
StateDirectory = "manticore";
ReadWritePaths = "";
CapabilityBoundingSet = "";
RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" "AF_INET6" ];
RestrictNamespaces = true;
PrivateDevices = true;
PrivateUsers = true;
ProtectClock = true;
ProtectControlGroups = true;
ProtectHome = true;
ProtectKernelLogs = true;
ProtectKernelModules = true;
ProtectKernelTunables = true;
SystemCallArchitectures = "native";
SystemCallFilter = [ "@system-service" "~@privileged" ];
RestrictRealtime = true;
LockPersonality = true;
MemoryDenyWriteExecute = true;
UMask = "0066";
ProtectHostname = true;
} // lib.optionalAttrs (cfg.settings.searchd.pid_file != null) {
PIDFile = cfg.settings.searchd.pid_file;
};
};
};
};
meta.maintainers = with lib.maintainers; [ onny ];
}

View File

@ -4,15 +4,29 @@ let
cfg = config.services.earlyoom;
inherit (lib)
mkDefault mkEnableOption mkIf mkOption types
mkRemovedOptionModule literalExpression
escapeShellArg concatStringsSep optional optionalString;
concatStringsSep
escapeShellArg
literalExpression
mkDefault
mkEnableOption
mkIf
mkOption
mkPackageOption
mkRemovedOptionModule
optionalString
optionals
types;
in
{
meta = {
maintainers = with lib.maintainers; [ AndersonTorres ];
};
options.services.earlyoom = {
enable = mkEnableOption "early out of memory killing";
package = mkPackageOption pkgs "earlyoom" { };
freeMemThreshold = mkOption {
type = types.ints.between 1 100;
default = 10;
@ -138,22 +152,21 @@ in
systemd.services.earlyoom = {
description = "Early OOM Daemon for Linux";
wantedBy = [ "multi-user.target" ];
path = optional cfg.enableNotifications pkgs.dbus;
path = optionals cfg.enableNotifications [ pkgs.dbus ];
serviceConfig = {
StandardError = "journal";
ExecStart = concatStringsSep " " ([
"${pkgs.earlyoom}/bin/earlyoom"
"${lib.getExe cfg.package}"
("-m ${toString cfg.freeMemThreshold}"
+ optionalString (cfg.freeMemKillThreshold != null) ",${toString cfg.freeMemKillThreshold}")
+ optionalString (cfg.freeMemKillThreshold != null) ",${toString cfg.freeMemKillThreshold}")
("-s ${toString cfg.freeSwapThreshold}"
+ optionalString (cfg.freeSwapKillThreshold != null) ",${toString cfg.freeSwapKillThreshold}")
+ optionalString (cfg.freeSwapKillThreshold != null) ",${toString cfg.freeSwapKillThreshold}")
"-r ${toString cfg.reportInterval}"
]
++ optional cfg.enableDebugInfo "-d"
++ optional cfg.enableNotifications "-n"
++ optional (cfg.killHook != null) "-N ${escapeShellArg cfg.killHook}"
++ cfg.extraArgs
);
++ optionals cfg.enableDebugInfo [ "-d" ]
++ optionals cfg.enableNotifications [ "-n" ]
++ optionals (cfg.killHook != null) [ "-N ${escapeShellArg cfg.killHook}" ]
++ cfg.extraArgs);
};
};
};

View File

@ -81,6 +81,7 @@ in rec {
php
postgresql
python
release-checks
rsyslog
stdenv
subversion

View File

@ -858,6 +858,7 @@ in {
stunnel = handleTest ./stunnel.nix {};
sudo = handleTest ./sudo.nix {};
sudo-rs = handleTest ./sudo-rs.nix {};
sunshine = handleTest ./sunshine.nix {};
suwayomi-server = handleTest ./suwayomi-server.nix {};
swap-file-btrfs = handleTest ./swap-file-btrfs.nix {};
swap-partition = handleTest ./swap-partition.nix {};

View File

@ -1,7 +1,7 @@
import ./make-test-python.nix ({ lib, ... }: {
name = "earlyoom";
meta = {
maintainers = with lib.maintainers; [ ncfavier ];
maintainers = with lib.maintainers; [ ncfavier AndersonTorres ];
};
machine = {

70
nixos/tests/sunshine.nix Normal file
View File

@ -0,0 +1,70 @@
import ./make-test-python.nix ({ pkgs, lib, ... }: {
name = "sunshine";
meta = {
# test is flaky on aarch64
broken = pkgs.stdenv.isAarch64;
maintainers = [ lib.maintainers.devusb ];
};
nodes.sunshine = { config, pkgs, ... }: {
imports = [
./common/x11.nix
];
services.sunshine = {
enable = true;
openFirewall = true;
settings = {
capture = "x11";
encoder = "software";
output_name = 0;
};
};
environment.systemPackages = with pkgs; [
gxmessage
];
};
nodes.moonlight = { config, pkgs, ... }: {
imports = [
./common/x11.nix
];
environment.systemPackages = with pkgs; [
moonlight-qt
];
};
enableOCR = true;
testScript = ''
# start the tests, wait for sunshine to be up
start_all()
sunshine.wait_for_open_port(48010,"localhost")
# set the admin username/password, restart sunshine
sunshine.execute("sunshine --creds sunshine sunshine")
sunshine.systemctl("restart sunshine","root")
sunshine.wait_for_open_port(48010,"localhost")
# initiate pairing from moonlight
moonlight.execute("moonlight pair sunshine --pin 1234 >&2 & disown")
moonlight.wait_for_console_text("Executing request")
# respond to pairing request from sunshine
sunshine.succeed("curl --insecure -u sunshine:sunshine -d '{\"pin\": \"1234\"}' https://localhost:47990/api/pin")
# close moonlight once pairing complete
moonlight.send_key("kp_enter")
# put words on the sunshine screen for moonlight to see
sunshine.execute("gxmessage 'hello world' -center -font 'sans 75' >&2 & disown")
# connect to sunshine from moonlight and look for the words
moonlight.execute("moonlight --video-decoder software stream sunshine 'Desktop' >&2 & disown")
moonlight.wait_for_text("hello world")
'';
})

View File

@ -1,27 +1,29 @@
# Before adding a new extension, read ./README.md
{ config
, lib
, fetchurl
, callPackage
, vscode-utils
, python3Packages
, jdk
, llvmPackages
, llvmPackages_14
, protobuf
, jq
, moreutils
, autoPatchelfHook
, zlib
, stdenv
{
autoPatchelfHook,
callPackage,
config,
fetchurl,
jdk,
jq,
lib,
llvmPackages,
llvmPackages_14,
moreutils,
protobuf,
python3Packages,
stdenv,
vscode-utils,
zlib,
}:
let
inherit (vscode-utils) buildVscodeMarketplaceExtension;
baseExtensions = self: lib.mapAttrs (_n: lib.recurseIntoAttrs)
{
baseExtensions =
self:
lib.mapAttrs (_n: lib.recurseIntoAttrs) {
"13xforever".language-x86-64-assembly = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "language-x86-64-assembly";
@ -142,6 +144,23 @@ let
};
};
adzero.vscode-sievehighlight = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "vscode-sievehighlight";
publisher = "adzero";
version = "1.0.6";
hash = "sha256-8Ompv792eI2kIH+5+KPL9jAf88xsMGQewHEQwi8BhoQ=";
};
meta = {
changelog = "https://marketplace.visualstudio.com/items/adzero.vscode-sievehighlight/changelog";
description = "A Visual Studio Code extension to enable syntax highlight support for Sieve mail filtering language";
downloadPage = "https://marketplace.visualstudio.com/items?itemName=adzero.vscode-sievehighlight";
homepage = "https://github.com/adzero/vscode-sievehighlight";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.sebtm ];
};
};
alanz.vscode-hie-server = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "vscode-hie-server";
@ -316,8 +335,7 @@ let
};
meta = {
description = "An arctic, north-bluish clean and elegant Visual Studio Code theme.";
downloadPage =
"https://marketplace.visualstudio.com/items?itemName=arcticicestudio.nord-visual-studio-code";
downloadPage = "https://marketplace.visualstudio.com/items?itemName=arcticicestudio.nord-visual-studio-code";
homepage = "https://github.com/arcticicestudio/nord-visual-studio-code";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.imgabe ];
@ -363,7 +381,7 @@ let
homepage = "https://github.com/asdine/vscode-cue";
changelog = "https://marketplace.visualstudio.com/items/asdine.cue/changelog";
license = lib.licenses.mit;
maintainers = [lib.maintainers.matthewpi];
maintainers = [ lib.maintainers.matthewpi ];
};
};
@ -735,30 +753,33 @@ let
};
charliermarsh.ruff = buildVscodeMarketplaceExtension {
mktplcRef = let
sources = {
"x86_64-linux" = {
arch = "linux-x64";
hash = "sha256-2c0tH/MlDOqeyffcV8ZCy4woogBTcf1GCuPPO8JXaWc=";
mktplcRef =
let
sources = {
"x86_64-linux" = {
arch = "linux-x64";
hash = "sha256-2c0tH/MlDOqeyffcV8ZCy4woogBTcf1GCuPPO8JXaWc=";
};
"x86_64-darwin" = {
arch = "darwin-x64";
hash = "sha256-euvGIlO7931N56R5BWKu3F9nSEoDgf+DXk7Hgl1qSUw=";
};
"aarch64-linux" = {
arch = "linux-arm64";
hash = "sha256-dGpIHChnfrQbxRZDuoAi4imgStyyPdxdvTQ3lknMYu0=";
};
"aarch64-darwin" = {
arch = "darwin-arm64";
hash = "sha256-tElX4C0I5AmpxSHMtqOsxSAUImD1tqArB5fnvhw4LFc=";
};
};
"x86_64-darwin" = {
arch = "darwin-x64";
hash = "sha256-euvGIlO7931N56R5BWKu3F9nSEoDgf+DXk7Hgl1qSUw=";
};
"aarch64-linux" = {
arch = "linux-arm64";
hash = "sha256-dGpIHChnfrQbxRZDuoAi4imgStyyPdxdvTQ3lknMYu0=";
};
"aarch64-darwin" = {
arch = "darwin-arm64";
hash = "sha256-tElX4C0I5AmpxSHMtqOsxSAUImD1tqArB5fnvhw4LFc=";
};
};
in {
name = "ruff";
publisher = "charliermarsh";
version = "2024.4.0";
} // sources.${stdenv.system} or (throw "Unsupported system ${stdenv.system}");
in
{
name = "ruff";
publisher = "charliermarsh";
version = "2024.4.0";
}
// sources.${stdenv.system} or (throw "Unsupported system ${stdenv.system}");
meta = {
license = lib.licenses.mit;
changelog = "https://marketplace.visualstudio.com/items/charliermarsh.ruff/changelog";
@ -917,7 +938,9 @@ let
};
};
contextmapper.context-mapper-vscode-extension = callPackage ./contextmapper.context-mapper-vscode-extension { };
contextmapper.context-mapper-vscode-extension =
callPackage ./contextmapper.context-mapper-vscode-extension
{ };
continue.continue = buildVscodeMarketplaceExtension {
mktplcRef =
@ -945,13 +968,10 @@ let
name = "continue";
publisher = "Continue";
version = "0.8.22";
} // sources.${stdenv.system};
nativeBuildInputs = [
autoPatchelfHook
];
buildInputs = [
stdenv.cc.cc.lib
];
}
// sources.${stdenv.system};
nativeBuildInputs = [ autoPatchelfHook ];
buildInputs = [ stdenv.cc.cc.lib ];
postInstall = ''
cd "$out/$installPrefix"
substituteInPlace "out/extension.js" \
@ -963,7 +983,12 @@ let
homepage = "https://github.com/continuedev/continue";
license = lib.licenses.asl20;
maintainers = [ lib.maintainers.raroh73 ];
platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" "aarch64-linux" ];
platforms = [
"x86_64-linux"
"x86_64-darwin"
"aarch64-darwin"
"aarch64-linux"
];
};
};
@ -1130,34 +1155,35 @@ let
};
devsense.phptools-vscode = buildVscodeMarketplaceExtension {
mktplcRef = let
sources = {
"x86_64-linux" = {
arch = "linux-x64";
hash = "sha256-8i5nRlzd+LnpEh9trWECxfiC1W4S0ekBab5vo18OlsA=";
mktplcRef =
let
sources = {
"x86_64-linux" = {
arch = "linux-x64";
hash = "sha256-8i5nRlzd+LnpEh9trWECxfiC1W4S0ekBab5vo18OlsA=";
};
"x86_64-darwin" = {
arch = "darwin-x64";
sha256 = "14crw56277rdwhigabb3nsndkfcs3yzzf7gw85jvryxviq32chgy";
};
"aarch64-linux" = {
arch = "linux-arm64";
sha256 = "1j1xlvbg3nrfmdd9zm6kywwicdwdkrq0si86lcndaii8m7sj5pfp";
};
"aarch64-darwin" = {
arch = "darwin-arm64";
sha256 = "0nlks6iqxkx1xlicsa8lrb1319rgznlxkv2gg7wkwgzph97ik8bi";
};
};
"x86_64-darwin" = {
arch = "darwin-x64";
sha256 = "14crw56277rdwhigabb3nsndkfcs3yzzf7gw85jvryxviq32chgy";
};
"aarch64-linux" = {
arch = "linux-arm64";
sha256 = "1j1xlvbg3nrfmdd9zm6kywwicdwdkrq0si86lcndaii8m7sj5pfp";
};
"aarch64-darwin" = {
arch = "darwin-arm64";
sha256 = "0nlks6iqxkx1xlicsa8lrb1319rgznlxkv2gg7wkwgzph97ik8bi";
};
};
in {
name = "phptools-vscode";
publisher = "devsense";
version = "1.41.14332";
} // sources.${stdenv.system};
in
{
name = "phptools-vscode";
publisher = "devsense";
version = "1.41.14332";
}
// sources.${stdenv.system};
nativeBuildInputs = [
autoPatchelfHook
];
nativeBuildInputs = [ autoPatchelfHook ];
buildInputs = [
zlib
@ -1175,7 +1201,12 @@ let
homepage = "https://github.com/DEVSENSE/phptools-docs";
license = lib.licenses.unfree;
maintainers = [ lib.maintainers.drupol ];
platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" "aarch64-linux" ];
platforms = [
"x86_64-linux"
"x86_64-darwin"
"aarch64-darwin"
"aarch64-linux"
];
};
};
@ -1203,7 +1234,9 @@ let
version = "0.0.4";
sha256 = "0sa04srhqmngmw71slnrapi2xay0arj42j4gkan8i11n7bfi1xpf";
};
meta = { license = lib.licenses.mit; };
meta = {
license = lib.licenses.mit;
};
};
dhall.vscode-dhall-lsp-server = buildVscodeMarketplaceExtension {
@ -1213,7 +1246,9 @@ let
version = "0.0.4";
sha256 = "1zin7s827bpf9yvzpxpr5n6mv0b5rhh3civsqzmj52mdq365d2js";
};
meta = { license = lib.licenses.mit; };
meta = {
license = lib.licenses.mit;
};
};
dhedgecock.radical-vscode = buildVscodeMarketplaceExtension {
@ -1240,7 +1275,9 @@ let
version = "0.0.8";
hash = "sha256-BQPiSxiPPjdNPtIJI8L+558DVKxngPAI9sscpcJSJUI=";
};
meta = { license = lib.licenses.asl20; };
meta = {
license = lib.licenses.asl20;
};
};
divyanshuagrawal.competitive-programming-helper = buildVscodeMarketplaceExtension {
@ -1794,8 +1831,7 @@ let
};
meta = {
description = "GitHub theme for VS Code";
downloadPage =
"https://marketplace.visualstudio.com/items?itemName=GitHub.github-vscode-theme";
downloadPage = "https://marketplace.visualstudio.com/items?itemName=GitHub.github-vscode-theme";
homepage = "https://github.com/primer/github-vscode-theme";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.hugolgst ];
@ -1830,7 +1866,9 @@ let
version = "0.78.1";
hash = "sha256-T9oW6o4ItZfR8E1qrcH3nhMvVB6ihi4kpiDz7YGHOcI=";
};
meta = { license = lib.licenses.mit; };
meta = {
license = lib.licenses.mit;
};
};
gitlab.gitlab-workflow = buildVscodeMarketplaceExtension {
@ -2439,9 +2477,15 @@ let
hash = "sha256-IueXiN+077tiecAsVCzgYksWYTs00mZv6XJVMtRJ/PQ=";
};
nativeBuildInputs = [ jq moreutils ];
nativeBuildInputs = [
jq
moreutils
];
buildInputs = [ cfn-lint pydot ];
buildInputs = [
cfn-lint
pydot
];
postInstall = ''
cd "$out/$installPrefix"
@ -4179,7 +4223,11 @@ let
downloadPage = "https://marketplace.visualstudio.com/items?itemName=uiua-lang.uiua-vscode";
homepage = "https://github.com/uiua-lang/uiua-vscode";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ tomasajt wackbyte defelo ];
maintainers = with lib.maintainers; [
tomasajt
wackbyte
defelo
];
};
};
@ -4249,7 +4297,10 @@ let
sha256 = "1nlrijjwc35n1xgb5lgnr4yvlgfcxd0vdj93ip8lv2xi8x1ni5f6";
};
nativeBuildInputs = [ jq moreutils ];
nativeBuildInputs = [
jq
moreutils
];
buildInputs = [ jdk ];
@ -4693,7 +4744,10 @@ let
version = "0.5.4";
sha256 = "08dfl5h1k6s542qw5qx2czm1wb37ck9w2vpjz44kp2az352nmksb";
};
nativeBuildInputs = [ jq moreutils ];
nativeBuildInputs = [
jq
moreutils
];
postInstall = ''
cd "$out/$installPrefix"
jq '.contributes.configuration.properties.protoc.properties.path.default = "${protobuf}/bin/protoc"' package.json | sponge package.json

View File

@ -46,13 +46,13 @@ let
in stdenv.mkDerivation rec {
pname = "cemu";
version = "2.0-74";
version = "2.0-78";
src = fetchFromGitHub {
owner = "cemu-project";
repo = "Cemu";
rev = "v${version}";
hash = "sha256-taV2HEKRUQ7k5BpgA3nwVzX8qkTN02O9kqswjdCHod0=";
hash = "sha256-ivdqO44+8sDgOshUDFc+4eTgzcEDSiPPIawyktYpob4=";
};
patches = [

View File

@ -1,22 +0,0 @@
{ lib, stdenv, fetchurl }:
stdenv.mkDerivation rec {
pname = "mednafen-server";
version = "0.5.2";
src = fetchurl {
url = "https://mednafen.github.io/releases/files/mednafen-server-${version}.tar.xz";
sha256 = "0xm7dj5nwnrsv69r72rcnlw03jm0l8rmrg3s05gjfvxyqmlb36dq";
};
postInstall = "install -m 644 -Dt $out/share/mednafen-server standard.conf";
meta = with lib; {
description = "Netplay server for Mednafen";
mainProgram = "mednafen-server";
homepage = "https://mednafen.github.io/";
license = licenses.gpl2;
maintainers = with maintainers; [ AndersonTorres ];
platforms = platforms.unix;
};
}

View File

@ -1,42 +0,0 @@
{ stdenv
, lib
, fetchFromGitHub
, autoreconfHook
, pkg-config
, mednafen
, gtk3
, wrapGAppsHook
}:
stdenv.mkDerivation rec {
pname = "mednaffe";
version = "0.9.2";
src = fetchFromGitHub {
owner = "AmatCoder";
repo = "mednaffe";
rev = version;
sha256 = "sha256-zvSAt6CMcgdoPpTTA5sPlQaWUw9LUMsR2Xg9jM2UaWY=";
};
nativeBuildInputs = [ autoreconfHook pkg-config wrapGAppsHook ];
buildInputs = [ gtk3 mednafen ];
enableParallelBuilding = true;
preFixup = ''
gappsWrapperArgs+=(
--prefix PATH ':' "${mednafen}/bin"
)
'';
meta = with lib; {
description = "GTK-based frontend for mednafen emulator";
mainProgram = "mednaffe";
homepage = "https://github.com/AmatCoder/mednaffe";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ sheenobu yana AndersonTorres ];
platforms = platforms.unix;
};
}

View File

@ -75,7 +75,8 @@ stdenv.mkDerivation (finalAttrs: {
'';
homepage = "https://albertlauncher.github.io";
changelog = "https://github.com/albertlauncher/albert/blob/${finalAttrs.src.rev}/CHANGELOG.md";
license = licenses.gpl3Plus;
# See: https://github.com/NixOS/nixpkgs/issues/279226
license = licenses.unfree;
maintainers = with maintainers; [ ericsagnes synthetica ];
mainProgram = "albert";
platforms = platforms.linux;

View File

@ -2,7 +2,7 @@
(callPackage ./generic.nix { }) {
channel = "edge";
version = "24.4.2";
sha256 = "0apwhbcnghy7b9kwalbhcgvgcrwv6s55gzlgax55qaa5lxm6r6yz";
version = "24.4.4";
sha256 = "07p4cgl4myv7kv9pxvxrvsqnl3vkd9ay5hngx5g6xds2sc8va306";
vendorHash = "sha256-bLTummNoDfGMYvtfSLxICgCFZEymPJcRWkQyWOSzKR8=";
}

View File

@ -2,7 +2,7 @@
callPackage ./generic.nix { } rec {
pname = "signal-desktop-beta";
dir = "Signal Beta";
version = "7.4.0-beta.2";
version = "7.6.0-beta.3";
url = "https://updates.signal.org/desktop/apt/pool/s/signal-desktop-beta/signal-desktop-beta_${version}_amd64.deb";
hash = "sha256-oBkZ9BaKbmosTkC/OZFjt6PmU/9XqclyzbllwYPj3Q4=";
hash = "sha256-BbXogNB2BxFQTpvHw0JVOaCV2PQHEQbafSavVcBd/Fg=";
}

View File

@ -2,7 +2,7 @@
callPackage ./generic.nix { } rec {
pname = "signal-desktop";
dir = "Signal";
version = "7.4.0";
version = "7.5.1";
url = "https://updates.signal.org/desktop/apt/pool/s/signal-desktop/signal-desktop_${version}_amd64.deb";
hash = "sha256-9a8Y8ncatynKspC/q0YxUWJj+nENr1ArwCZA9Ng8Mxk=";
hash = "sha256-afKR+P2YPkv4OMIr8LzWeAMZWr0zaJ1R0BQD87gQuSk=";
}

View File

@ -26,19 +26,19 @@ let
pname = "wire-desktop";
version = let
x86_64-darwin = "3.32.4589";
x86_64-darwin = "3.35.4861";
in {
inherit x86_64-darwin;
aarch64-darwin = x86_64-darwin;
x86_64-linux = "3.32.3079";
x86_64-linux = "3.35.3348";
}.${system} or throwSystem;
hash = let
x86_64-darwin = "sha256-PDAZCnkgzlausdtwycK+PHfp+zmL33VnX6RzCsgBTZ4=";
x86_64-darwin = "sha256-QPxslMEz1jOH2LceFOdCyVDtpya1SfJ8GWMIAIhie4U=";
in {
inherit x86_64-darwin;
aarch64-darwin = x86_64-darwin;
x86_64-linux = "sha256-+4aRis141ctI50BtBwipoVtPoMGRs82ENqZ+y2ZlL58=";
x86_64-linux = "sha256-KtDUuAzD53mFJ0+yywp0Q2/hx9MGsOhFjRLWsZAd+h0=";
}.${system} or throwSystem;
meta = with lib; {

View File

@ -10,14 +10,14 @@
python3.pkgs.buildPythonApplication rec {
pname = "maestral-qt";
version = "1.8.0";
version = "1.9.2";
disabled = python3.pythonOlder "3.7";
src = fetchFromGitHub {
owner = "SamSchott";
repo = "maestral-qt";
rev = "refs/tags/v${version}";
hash = "sha256-Ys7XrvV4qzq4Q9llua2WgU013Ui0+x+uMwLNIv6xxCw=";
hash = "sha256-dgiVSwCTNDncbPJ+f0grjtq822TvtG0PhC9gDOKhwRI=";
};
format = "pyproject";

View File

@ -2,7 +2,7 @@
let
pname = "synology-drive-client";
baseUrl = "https://global.synologydownload.com/download/Utility/SynologyDriveClient";
version = "3.4.0-15724";
version = "3.5.0-16084";
buildNumber = with lib; last (splitString "-" version);
meta = with lib; {
description = "Desktop application to synchronize files and folders between the computer and the Synology Drive server.";
@ -10,7 +10,7 @@ let
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
license = licenses.unfree;
maintainers = with maintainers; [ jcouyang MoritzBoehme ];
platforms = [ "x86_64-linux" "x86_64-darwin" ];
platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ];
mainProgram = "synology-drive";
};
passthru.updateScript = writeScript "update-synology-drive-client" ''
@ -30,7 +30,7 @@ let
src = fetchurl {
url = "${baseUrl}/${version}/Ubuntu/Installer/synology-drive-client-${buildNumber}.x86_64.deb";
sha256 = "sha256-Zf6JMghXy8ODbR4MhVSPmD4QDu003MTc7YNfbiRVRoY=";
sha256 = "sha256-Spl6DC+wf+JaXjwH2ecraySo1VtA+EiI3/TWw9UOSA8=";
};
nativeBuildInputs = [ autoPatchelfHook dpkg ];
@ -60,7 +60,7 @@ let
src = fetchurl {
url = "${baseUrl}/${version}/Mac/Installer/synology-drive-client-${buildNumber}.dmg";
sha256 = "sha256-65mZeRYHGl+n9TeTx7bxRrGPjcZiV9UlyfcCZ3GwOhE=";
sha256 = "sha256-NDYxUhWtAVUtpCf1WemqShZCFHGgLGwrkX6HldxOlH0=";
};
nativeBuildInputs = [ cpio xar undmg ];

View File

@ -39,14 +39,14 @@ let
in
buildGoModule rec {
pname = "forgejo";
version = "1.21.11-0";
version = "1.21.11-1";
src = fetchFromGitea {
domain = "codeberg.org";
owner = "forgejo";
repo = "forgejo";
rev = "v${version}";
hash = "sha256-Cp+dN4nTIboin42NJR/YUkVXbBC7uufH8EE7NgIVFzY=";
hash = "sha256-7oYsoZpZcNIUw3iXSi1Q5So2yYgKnT5U7GHQ4NVqVdc=";
# Forgejo has multiple different version strings that need to be provided
# via ldflags. main.ForgejoVersion for example is a combination of a
# hardcoded gitea compatibility version string (in the Makefile) and

View File

@ -18,11 +18,11 @@
stdenv.mkDerivation rec {
pname = "subtitleedit";
version = "4.0.4";
version = "4.0.5";
src = fetchzip {
url = "https://github.com/SubtitleEdit/subtitleedit/releases/download/${version}/SE${lib.replaceStrings [ "." ] [ "" ] version}.zip";
hash = "sha256-9z9igHU/23KHOd1TM3Wd7y5kl19cg3D9AQ2MjH5av20=";
hash = "sha256-qYDLUqC5adzpmlQIq/EKmrkN8D8/EHZmP8QUGAaYf+s=";
stripRoot = false;
};

View File

@ -1,17 +1,24 @@
{ lib, buildPythonApplication, fetchFromGitHub, python-dotenv, pyyaml }:
{ lib, buildPythonApplication, fetchFromGitHub, python-dotenv, pyyaml, setuptools, pipBuildHook, pypaBuildHook }:
buildPythonApplication rec {
version = "1.0.6";
version = "1.1.0";
pname = "podman-compose";
pyproject = true;
src = fetchFromGitHub {
repo = "podman-compose";
owner = "containers";
rev = "v${version}";
sha256 = "sha256-TsNM5xORqwWge+UCijKptwbAcIz1uZFN9BuIOl28vIU=";
sha256 = "sha256-uNgzdLrnDIABtt0L2pvsil14esRzl0XcWohgf7Oksr8=";
};
propagatedBuildInputs = [ pyyaml python-dotenv ];
build-system = [
setuptools
];
dependencies = [ python-dotenv pyyaml ];
propagatedBuildInputs = [ pypaBuildHook ];
meta = {
description = "An implementation of docker-compose with podman backend";

View File

@ -74,13 +74,13 @@ buildGoModule rec {
};
patches = [
# we intentionally don't build and install the helper so we shouldn't display messages to users about it
./rm-podman-mac-helper-msg.patch
] ++ lib.optionals stdenv.isLinux [
(substituteAll {
src = ./hardcode-paths.patch;
inherit crun runc gvisor youki conmon;
})
# we intentionally don't build and install the helper so we shouldn't display messages to users about it
./rm-podman-mac-helper-msg.patch
];
vendorHash = null;

View File

@ -0,0 +1,66 @@
{
lib,
stdenv,
fetchurl,
jre,
wrapGAppsHook,
nix-update-script,
}:
stdenv.mkDerivation rec {
pname = "biglybt";
version = "3.5.0.0";
src = fetchurl {
url = "https://github.com/BiglySoftware/BiglyBT/releases/download/v${version}/GitHub_BiglyBT_unix.tar.gz";
hash = "sha256-ToTCIjunj/ABi3wVSmeddLGBdQlv+CfK2jGRjixJd0w=";
};
nativeBuildInputs = [ wrapGAppsHook ];
configurePhase = ''
runHook preConfigure
sed -e 's/AUTOUPDATE_SCRIPT=1/AUTOUPDATE_SCRIPT=0/g' \
-i biglybt || die
runHook postConfigure
'';
installPhase = ''
runHook preInstall
install -d $out/{share/{biglybt,applications,icons/hicolor/scalable/apps},bin}
cp -r ./* $out/share/biglybt/
ln -s $out/share/biglybt/biglybt.desktop $out/share/applications/
ln -s $out/share/biglybt/biglybt.svg $out/share/icons/hicolor/scalable/apps/
wrapProgram $out/share/biglybt/biglybt \
--prefix PATH : ${lib.makeBinPath [ jre ]}
ln -s $out/share/biglybt/biglybt $out/bin/
runHook postInstall
'';
passthru.updateScript = nix-update-script {
extraArgs = [
"--version-regex"
"^(v[0-9.]+)$"
];
};
meta = {
changelog = "https://github.com/BiglySoftware/BiglyBT/releases/tag/v${version}";
description = "A BitTorrent client based on the Azureus that supports I2P darknet for privacy";
downloadPage = "https://github.com/BiglySoftware/BiglyBT";
homepage = "https://www.biglybt.com/";
license = lib.licenses.gpl3Plus;
platforms = lib.platforms.unix;
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
mainProgram = "biglybt";
maintainers = with lib.maintainers; [ raspher ];
};
}

View File

@ -0,0 +1,64 @@
{
lib,
fetchFromGitHub,
installShellFiles,
pandoc,
stdenv,
nixosTests,
# Boolean flags
withManpage ? true,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "earlyoom";
version = "1.8";
src = fetchFromGitHub {
owner = "rfjakob";
repo = "earlyoom";
rev = "v${finalAttrs.version}";
hash = "sha256-jgNoYOGor2i3ngDuU3It238n5ky+AppzlRKdkwXb2AI=";
};
outputs = [ "out" ] ++ lib.optionals withManpage [ "man" ];
patches = [ ./0000-fix-dbus-path.patch ];
nativeBuildInputs = lib.optionals withManpage [
installShellFiles
pandoc
];
makeFlags = [
"VERSION=${finalAttrs.version}"
];
installPhase = ''
runHook preInstall
install -D earlyoom $out/bin/earlyoom
'' + lib.optionalString withManpage ''
installManPage earlyoom.1
'' + ''
runHook postInstall
'';
passthru.tests = {
inherit (nixosTests) earlyoom;
};
meta = {
homepage = "https://github.com/rfjakob/earlyoom";
description = "Early OOM Daemon for Linux";
longDescription = ''
earlyoom checks the amount of available memory and free swap up to 10
times a second (less often if there is a lot of free memory). By default
if both are below 10%, it will kill the largest process (highest
oom_score). The percentage value is configurable via command line
arguments.
'';
license = lib.licenses.mit;
mainProgram = "earlyoom";
maintainers = with lib.maintainers; [ AndersonTorres ];
platforms = lib.platforms.linux;
};
})

View File

@ -0,0 +1,30 @@
{
lib,
stdenv,
fetchurl,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "mednafen-server";
version = "0.5.2";
src = fetchurl {
url = "https://mednafen.github.io/releases/files/mednafen-server-${finalAttrs.version}.tar.xz";
hash = "sha256-uJmxaMW+bydfAXq8XDOioMoBOLUsi5OT2Tpbbotsp3Y=";
};
strictDeps = true;
postInstall = ''
install -m 644 -Dt $out/share/mednafen-server standard.conf
'';
meta = {
description = "Netplay server for Mednafen";
mainProgram = "mednafen-server";
homepage = "https://mednafen.github.io/";
license = lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [ AndersonTorres ];
platforms = lib.platforms.unix;
};
})

View File

@ -1,33 +1,39 @@
{ lib
, stdenv
, fetchurl
, SDL2
, SDL2_net
, alsa-lib
, flac
, freeglut
, libGL
, libGLU
, libX11
, libcdio
, libjack2
, libsamplerate
, libsndfile
, pkg-config
, zlib
, libiconv
{
lib,
SDL2,
SDL2_net,
alsa-lib,
fetchurl,
flac,
freeglut,
libGL,
libGLU,
libX11,
libcdio,
libiconv,
libjack2,
libsamplerate,
libsndfile,
pkg-config,
stdenv,
zlib,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "mednafen";
version = "1.29.0";
src = fetchurl {
url = "https://mednafen.github.io/releases/files/${pname}-${version}.tar.xz";
url = "https://mednafen.github.io/releases/files/mednafen-${finalAttrs.version}.tar.xz";
hash = "sha256-2j+88Ch3+b4PAov6XRy1npU6QEm5D+fjk4ijOG2fNi4=";
};
nativeBuildInputs = [ pkg-config ];
outputs = [ "out" "doc" ];
nativeBuildInputs = [
SDL2
pkg-config
];
buildInputs = [
SDL2
@ -48,16 +54,21 @@ stdenv.mkDerivation rec {
libiconv
];
hardeningDisable = [ "pic" "format" ];
hardeningDisable = [
"format"
"pic"
];
enableParallelBuilding = true;
strictDeps = true;
postInstall = ''
mkdir -p $out/share/doc
mv Documentation $out/share/doc/mednafen
mkdir -p $doc/share/doc
mv Documentation $doc/share/doc/mednafen
'';
meta = with lib; {
meta = {
homepage = "https://mednafen.github.io/";
description = "A portable, CLI-driven, SDL+OpenGL-based, multi-system emulator";
longDescription = ''
@ -91,9 +102,9 @@ stdenv.mkDerivation rec {
- Sega Saturn (experimental, x86_64 only)
- Sony PlayStation
'';
license = licenses.gpl2Plus;
maintainers = with maintainers; [ AndersonTorres ];
platforms = platforms.unix;
license = lib.licenses.gpl2Plus;
mainProgram = "mednafen";
maintainers = with lib.maintainers; [ AndersonTorres ];
platforms = lib.platforms.unix;
};
}
})

View File

@ -0,0 +1,52 @@
{
lib,
autoreconfHook,
fetchFromGitHub,
gtk3,
mednafen,
pkg-config,
stdenv,
wrapGAppsHook,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "mednaffe";
version = "0.9.3";
src = fetchFromGitHub {
owner = "AmatCoder";
repo = "mednaffe";
rev = finalAttrs.version;
hash = "sha256-ZizW0EeY/Cc68m87cnbLAkx3G/ULyFT5b6Ku2ObzFRU=";
};
nativeBuildInputs = [
autoreconfHook
pkg-config
wrapGAppsHook
];
buildInputs = [
gtk3
mednafen
];
enableParallelBuilding = true;
strictDeps = true;
preFixup = ''
gappsWrapperArgs+=(
--prefix PATH ':' "${mednafen}/bin"
)
'';
meta = {
description = "GTK-based frontend for mednafen emulator";
mainProgram = "mednaffe";
homepage = "https://github.com/AmatCoder/mednaffe";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ AndersonTorres ];
platforms = lib.platforms.unix;
};
})

View File

@ -2,16 +2,16 @@
buildNpmPackage rec {
pname = "mystmd";
version = "1.1.53";
version = "1.1.55";
src = fetchFromGitHub {
owner = "executablebooks";
repo = "mystmd";
rev = "mystmd@${version}";
hash = "sha256-neJKlUk0NHdAh7y92Iyv2kouASPzv1PIl79+D0mgckI=";
hash = "sha256-aIqIcNXlzpvW90WJs9tJajXvnEQB0IiNCu8B62cwElo=";
};
npmDepsHash = "sha256-bXvOzx89MR7KL9wsqzB1uorjGGjh++mw17Ni65LLz28=";
npmDepsHash = "sha256-QIGqx1Peogmdo1KLHkzUKqvAuA6jCJRfxeQ1X7p6vTM=";
dontNpmInstall = true;

View File

@ -2138,7 +2138,7 @@ dependencies = [
[[package]]
name = "niri"
version = "0.1.4"
version = "0.1.5"
dependencies = [
"anyhow",
"arrayvec",
@ -2183,7 +2183,7 @@ dependencies = [
[[package]]
name = "niri-config"
version = "0.1.4"
version = "0.1.5"
dependencies = [
"bitflags 2.5.0",
"csscolorparser",
@ -2198,15 +2198,16 @@ dependencies = [
[[package]]
name = "niri-ipc"
version = "0.1.4"
version = "0.1.5"
dependencies = [
"clap",
"serde",
"serde_json",
]
[[package]]
name = "niri-visual-tests"
version = "0.1.4"
version = "0.1.5"
dependencies = [
"anyhow",
"gtk4",
@ -3115,7 +3116,7 @@ checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
[[package]]
name = "smithay"
version = "0.3.0"
source = "git+https://github.com/Smithay/smithay.git#e5f006818df7ebb92d206985f45e713ba1e9c1c9"
source = "git+https://github.com/Smithay/smithay.git#c5e9a697e41f50dc56b918d9ef1e3d2e52c84ac0"
dependencies = [
"appendlist",
"bitflags 2.5.0",
@ -3187,7 +3188,7 @@ dependencies = [
[[package]]
name = "smithay-drm-extras"
version = "0.1.0"
source = "git+https://github.com/Smithay/smithay.git#e5f006818df7ebb92d206985f45e713ba1e9c1c9"
source = "git+https://github.com/Smithay/smithay.git#c5e9a697e41f50dc56b918d9ef1e3d2e52c84ac0"
dependencies = [
"drm",
"edid-rs",

View File

@ -20,19 +20,19 @@
rustPlatform.buildRustPackage rec {
pname = "niri";
version = "0.1.4";
version = "0.1.5";
src = fetchFromGitHub {
owner = "YaLTeR";
repo = "niri";
rev = "v${version}";
hash = "sha256-lkGIQIMWfg71UOkT/TST8O6hD0IfslENj6oFPevUGl4=";
hash = "sha256-YuYowUw5ecPa78bhT72zY2b99wn68mO3vVkop8hnb8M=";
};
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"smithay-0.3.0" = "sha256-bWan2DCyMvEC8ZQPwM+XpuOGkOZ/RdDV+LmRCN8UAuc=";
"smithay-0.3.0" = "sha256-1ANERwRG7Uwe1gSm6zQnEMQlpRrGSFP8mp6JItzjz0k=";
};
};

View File

@ -0,0 +1,40 @@
{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
buildGoModule rec {
pname = "omnictl";
version = "0.32.2";
src = fetchFromGitHub {
owner = "siderolabs";
repo = "omni";
rev = "v${version}";
hash = "sha256-db/bYwMPrOZvD/YPtFaRK80yaYdsE70YPh0xQe0uVi4=";
};
vendorHash = "sha256-uwzVUdA51eT9fi2Wr0ilNPMpXx430UIYYWXQa1hpzRM=";
ldflags = [ "-s" "-w" ];
GOWORK = "off";
subPackages = [ "cmd/omnictl" ];
nativeBuildInputs = [ installShellFiles ];
postInstall = ''
installShellCompletion --cmd omnictl \
--bash <($out/bin/omnictl completion bash) \
--fish <($out/bin/omnictl completion fish) \
--zsh <($out/bin/omnictl completion zsh)
'';
doCheck = false; # no tests
meta = with lib; {
description = "A CLI for the Sidero Omni Kubernetes management platform";
mainProgram = "omnictl";
homepage = "https://omni.siderolabs.com/";
license = licenses.bsl11;
maintainers = with maintainers; [ raylas ];
};
}

View File

@ -10,13 +10,13 @@
stdenv.mkDerivation rec {
pname = "sopwith";
version = "2.4.0";
version = "2.5.0";
src = fetchFromGitHub {
owner = "fragglet";
repo = "sdl-sopwith";
rev = "refs/tags/sdl-sopwith-${version}";
hash = "sha256-7/xTg41NYxzeGNyt/ClbM/uHMTAE87wn6vc9Ai6P+30=";
hash = "sha256-e7/Cv/v5NhYG5eb9B5oVxh/Dbmm2v4Y4KUKI4JI5SFw=";
};
nativeBuildInputs = [

View File

@ -7,14 +7,14 @@
rustPlatform.buildRustPackage rec {
pname = "systemctl-tui";
version = "0.2.4";
version = "0.3.3";
src = fetchCrate {
inherit pname version;
hash = "sha256-SZmOCx9S5WWz9fSlicvT/glZKj5AsFDRnxmHbGxM9Ms=";
hash = "sha256-oFXLxWS2G+CkG0yuJLkA34SqoGGcXU/eZmFMRYw+Gzo=";
};
cargoHash = "sha256-zUc6RchoGtJB+gnJNwNu93to775fdM5JDJ4qYwRdJn0=";
cargoHash = "sha256-MKxeRQupgAxA2ui8qSK8BvhxqqgjJarD8pY9wmk8MvA=";
buildInputs = lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.AppKit

View File

@ -0,0 +1,22 @@
{
"name": "tetrio-desktop",
"version": "9.0.0",
"author": {
"name": "osk",
"email": "me@osk.sh"
},
"license": "© osk 2019-2024. All Rights Reserved.",
"homepage": "https://tetr.io/",
"main": "main.js",
"description": "Puzzle together in this modern yet familiar online stacker!",
"dependencies": {
"discord-rich-presence": "0.0.8",
"electron-store": "^8.1.0",
"image-size": "^1.1.1",
"node-fetch": "2.6.1",
"openpgp": "^5.11.1",
"systeminformation": "^5.22.0",
"whatwg-url": "^14.0.0",
"xmldom": "^0.6.0"
}
}

View File

@ -1,84 +1,65 @@
{ stdenv
, lib
, fetchurl
, fetchzip
, dpkg
, autoPatchelfHook
, wrapGAppsHook
, alsa-lib
, cups
, libGL
, libX11
, libXScrnSaver
, libXtst
, mesa
, nss
, gtk3
, libpulseaudio
, systemd
, withTetrioPlus ? false # For backwards compatibility. At the time of writing, the latest released tetrio plus version is not compatible with tetrio desktop.
, tetrio-plus ? false # For backwards compatibility. At the time of writing, the latest released tetrio plus version is not compatible with tetrio desktop.
, makeWrapper
, callPackage
, addOpenGLRunpath
, electron
, withTetrioPlus ? true
, tetrio-plus ? null
}:
lib.warnIf (withTetrioPlus != false) "withTetrioPlus: Currently unsupported with tetrio-desktop 9.0.0. Please remove this attribute."
lib.warnIf (tetrio-plus != false) "tetrio-plus: Currently unsupported with tetrio-desktop 9.0.0. Please remove this attribute."
(let
libPath = lib.makeLibraryPath [
libGL
libpulseaudio
systemd
];
in
stdenv.mkDerivation (finalAttrs: {
pname = "tetrio-desktop";
version = "9.0.0";
src = fetchurl {
src = fetchzip {
url = "https://tetr.io/about/desktop/builds/${lib.versions.major finalAttrs.version}/TETR.IO%20Setup.deb";
hash = "sha256-UriLwMB8D+/T32H4rPbkJAy/F/FFhNpd++0AR1lwEfs=";
hash = "sha256-TgegFy+sHjv0ILaiLO1ghyUhKXoj8v43ACJOJhKyI0c=";
nativeBuildInputs = [ dpkg ];
};
nativeBuildInputs = [
dpkg
autoPatchelfHook
wrapGAppsHook
makeWrapper
];
dontWrapGApps = true;
installPhase =
let
tetrio-plus' =
if tetrio-plus == null
then callPackage ./tetrio-plus.nix { tetrio-src = finalAttrs.src; }
else tetrio-plus;
buildInputs = [
alsa-lib
cups
libX11
libXScrnSaver
libXtst
mesa
nss
gtk3
];
asarPath =
if withTetrioPlus
then "${tetrio-plus'}/app.asar"
else "opt/TETR.IO/resources/app.asar";
in
''
runHook preInstall
unpackCmd = "dpkg -x $curSrc src";
mkdir -p $out
cp -r usr/share/ $out
installPhase = ''
runHook preInstall
mkdir -p $out/share/TETR.IO/
cp ${asarPath} $out/share/TETR.IO/app.asar
mkdir -p $out/bin
cp -r opt/ usr/share/ $out
ln -s $out/opt/TETR.IO/TETR.IO $out/bin/tetrio
substituteInPlace $out/share/applications/TETR.IO.desktop \
--replace-fail "Exec=/opt/TETR.IO/TETR.IO" "Exec=$out/bin/tetrio"
substituteInPlace $out/share/applications/TETR.IO.desktop \
--replace-fail "Exec=/opt/TETR.IO/TETR.IO" "Exec=$out/bin/tetrio"
runHook postInstall
'';
runHook postInstall
'';
postFixup = ''
wrapProgram $out/opt/TETR.IO/TETR.IO \
--prefix LD_LIBRARY_PATH : ${libPath}:$out/opt/TETR.IO \
''${gappsWrapperArgs[@]}
makeShellWrapper '${lib.getExe electron}' $out/bin/tetrio \
--prefix LD_LIBRARY_PATH : ${addOpenGLRunpath.driverLink}/lib \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" \
--add-flags $out/share/TETR.IO/app.asar
'';
meta = {
changelog = "https://tetr.io/about/desktop/history/";
description = "TETR.IO desktop client";
downloadPage = "https://tetr.io/about/desktop/";
homepage = "https://tetr.io";
@ -88,7 +69,8 @@ stdenv.mkDerivation (finalAttrs: {
Play against friends and foes all over the world, or claim a spot on the leaderboards - the stacker future is yours!
'';
mainProgram = "tetrio";
maintainers = with lib.maintainers; [ wackbyte ];
maintainers = with lib.maintainers; [ wackbyte huantian ];
platforms = [ "x86_64-linux" ];
sourceProvenance = [ lib.sourceTypes.binaryBytecode ];
};
}))
})

View File

@ -0,0 +1,160 @@
{ lib
, stdenv
, fetchFromGitLab
, rustPlatform
, rustc
, wasm-pack
, wasm-bindgen-cli
, binaryen
, fetchYarnDeps
, yarn
, fixup_yarn_lock
, nodejs
, asar
, tetrio-src
}:
let
version = "unstable-2024-03-31";
src = fetchFromGitLab {
owner = "UniQMG";
repo = "tetrio-plus";
rev = "b13d476a162a2aec4ca0def29eb7a4ada9ebf523";
hash = "sha256-bZwx0r2lu4Ed/pYRvNog6IIok/HMoK+UeDIQctggUEs=";
fetchSubmodules = true;
# tetrio-plus uses this info for displaying its version,
# so we need to deep clone to have all the revision history.
# After we're done, we emulate 'leaveDotGit = false' by removing
# all the .git folders.
leaveDotGit = true;
deepClone = true;
postFetch = ''
cd "$out"
git rev-parse --short HEAD~1 > resources/ci-commit-previous
git rev-parse --short HEAD > resources/ci-commit
find "$out" -name .git -print0 | xargs -0 rm -rf
'';
};
wasm-bindgen-82 = wasm-bindgen-cli.override {
version = "0.2.82";
hash = "sha256-BQ8v3rCLUvyCCdxo5U+NHh30l9Jwvk9Sz8YQv6fa0SU=";
cargoHash = "sha256-mP85+qi2KA0GieaBzbrQOBqYxBZNRJipvd2brCRGyOM=";
};
tpsecore = rustPlatform.buildRustPackage {
pname = "tpsecore";
inherit version src;
sourceRoot = "${src.name}/tpsecore";
cargoHash = "sha256-14UjPSlfiuf696cqy8+fz3SmfmFoGQlEDg9obP0EKXg=";
nativeBuildInputs = [
wasm-pack
wasm-bindgen-82
binaryen
rustc.llvmPackages.lld
];
buildPhase = ''
HOME=$(mktemp -d) RUSTFLAGS="-C linker=lld" wasm-pack build --target web --release
'';
installPhase = ''
cp -r pkg/ $out
'';
doCheck = false;
meta = {
description = "A self contained toolkit for creating, editing, and previewing TPSE files";
homepage = "https://gitlab.com/UniQMG/tpsecore";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ huantian wackbyte ];
platforms = lib.platforms.linux;
};
};
offlineCache = fetchYarnDeps {
yarnLock = ./yarn.lock;
hash = "sha256-VYUh9y6PRc1OTLELkqCxP89Xbesv3Nu+eUq6fkuoQHE=";
};
in
stdenv.mkDerivation (finalAttrs: {
pname = "tetrio-plus";
inherit version src;
nativeBuildInputs = [
yarn
fixup_yarn_lock
nodejs
asar
];
buildPhase = ''
runHook preBuild
# 'out' is the directory that the tetrio-plus expects the vanilla asar to be
# and this is the directory that will contain the final result that we want
asar extract ${tetrio-src}/opt/TETR.IO/resources/app.asar out
cd out
# Install custom package.json/yarn.lock that describe the additional node
# dependencies that tetrio-plus needs to run, and install them in our output
install -m644 ${./package.json} package.json
install -m644 ${./yarn.lock} yarn.lock
export HOME=$(mktemp -d)
yarn config --offline set yarn-offline-mirror ${offlineCache}
fixup_yarn_lock yarn.lock
yarn install --offline --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive
patchShebangs node_modules/
cd ..
# The simple build script expects the vanilla asar located here
# This patches the vanilla code to load the tetrio-plus code
ln -s ${tetrio-src}/opt/TETR.IO/resources/app.asar app.asar
node ./scripts/build-electron.js
# Finally, we install the tetrio-plus code where the above patch script expects
cp -r $src out/tetrioplus
chmod -R u+w out/tetrioplus
# We don't need the tpsecore source code bundled
rm -rf out/tetrioplus/tpsecore/
# since we install the compiled version here
cp ${tpsecore}/{tpsecore_bg.wasm,tpsecore.js} out/tetrioplus/source/lib/
runHook postBuild
'';
installPhase = ''
runHook preinstall
mkdir -p $out
asar pack out $out/app.asar
runHook postinstall
'';
meta = {
description = "TETR.IO customization tool suite";
downloadPage = "https://gitlab.com/UniQMG/tetrio-plus/-/releases";
homepage = "https://gitlab.com/UniQMG/tetrio-plus";
license = [
lib.licenses.mit
# while tetrio-plus is itself mit, the result of this derivation
# is a modified version of tetrio-desktop, which is unfree.
lib.licenses.unfree
];
maintainers = with lib.maintainers; [ huantian wackbyte ];
platforms = lib.platforms.linux;
};
})

View File

@ -0,0 +1,348 @@
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1
ajv-formats@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520"
integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==
dependencies:
ajv "^8.0.0"
ajv@^8.0.0, ajv@^8.6.3:
version "8.12.0"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1"
integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==
dependencies:
fast-deep-equal "^3.1.1"
json-schema-traverse "^1.0.0"
require-from-string "^2.0.2"
uri-js "^4.2.2"
asn1.js@^5.0.0:
version "5.4.1"
resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07"
integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==
dependencies:
bn.js "^4.0.0"
inherits "^2.0.1"
minimalistic-assert "^1.0.0"
safer-buffer "^2.1.0"
atomically@^1.7.0:
version "1.7.0"
resolved "https://registry.yarnpkg.com/atomically/-/atomically-1.7.0.tgz#c07a0458432ea6dbc9a3506fffa424b48bccaafe"
integrity sha512-Xcz9l0z7y9yQ9rdDaxlmaI4uJHf/T8g9hOEzJcsEqX2SjCj4J20uK7+ldkDHMbpJDK76wF7xEIgxc/vSlsfw5w==
bindings@^1.3.0:
version "1.5.0"
resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df"
integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==
dependencies:
file-uri-to-path "1.0.0"
bn.js@^4.0.0:
version "4.12.0"
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88"
integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==
conf@^10.2.0:
version "10.2.0"
resolved "https://registry.yarnpkg.com/conf/-/conf-10.2.0.tgz#838e757be963f1a2386dfe048a98f8f69f7b55d6"
integrity sha512-8fLl9F04EJqjSqH+QjITQfJF8BrOVaYr1jewVgSRAEWePfxT0sku4w2hrGQ60BC/TNLGQ2pgxNlTbWQmMPFvXg==
dependencies:
ajv "^8.6.3"
ajv-formats "^2.1.1"
atomically "^1.7.0"
debounce-fn "^4.0.0"
dot-prop "^6.0.1"
env-paths "^2.2.1"
json-schema-typed "^7.0.3"
onetime "^5.1.2"
pkg-up "^3.1.0"
semver "^7.3.5"
debounce-fn@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/debounce-fn/-/debounce-fn-4.0.0.tgz#ed76d206d8a50e60de0dd66d494d82835ffe61c7"
integrity sha512-8pYCQiL9Xdcg0UPSD3d+0KMlOjp+KGU5EPwYddgzQ7DATsg4fuUDjQtsYLmWjnk2obnNHgV3vE2Y4jejSOJVBQ==
dependencies:
mimic-fn "^3.0.0"
discord-rich-presence@0.0.8:
version "0.0.8"
resolved "https://registry.yarnpkg.com/discord-rich-presence/-/discord-rich-presence-0.0.8.tgz#7a2b41ff87a278e8a2c8835cd91c9890d6b9fbdd"
integrity sha512-IpVMPjv15C9UvppxvrrGdv6bzQHOW1P1vLoMH15HvdJwGJ3dBd2bnrJ63Uy36YRUfrAMxGLiwUDHncvC8AuPaQ==
dependencies:
discord-rpc "github:discordjs/rpc"
"discord-rpc@github:discordjs/rpc":
version "4.0.1"
resolved "https://codeload.github.com/discordjs/rpc/tar.gz/9e7de2a6d917591f10a66389e62e1dc053c04fec"
dependencies:
node-fetch "^2.6.1"
ws "^7.3.1"
optionalDependencies:
register-scheme "github:devsnek/node-register-scheme"
dot-prop@^6.0.1:
version "6.0.1"
resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-6.0.1.tgz#fc26b3cf142b9e59b74dbd39ed66ce620c681083"
integrity sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==
dependencies:
is-obj "^2.0.0"
electron-store@^8.1.0:
version "8.2.0"
resolved "https://registry.yarnpkg.com/electron-store/-/electron-store-8.2.0.tgz#114e6e453e8bb746ab4ccb542424d8c881ad2ca1"
integrity sha512-ukLL5Bevdil6oieAOXz3CMy+OgaItMiVBg701MNlG6W5RaC0AHN7rvlqTCmeb6O7jP0Qa1KKYTE0xV0xbhF4Hw==
dependencies:
conf "^10.2.0"
type-fest "^2.17.0"
env-paths@^2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2"
integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==
fast-deep-equal@^3.1.1:
version "3.1.3"
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
file-uri-to-path@1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd"
integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==
find-up@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73"
integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==
dependencies:
locate-path "^3.0.0"
image-size@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/image-size/-/image-size-1.1.1.tgz#ddd67d4dc340e52ac29ce5f546a09f4e29e840ac"
integrity sha512-541xKlUw6jr/6gGuk92F+mYM5zaFAc5ahphvkqvNe2bQ6gVBkd6bfrmVJ2t4KDAfikAYZyIqTnktX3i6/aQDrQ==
dependencies:
queue "6.0.2"
inherits@^2.0.1, inherits@~2.0.3:
version "2.0.4"
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
is-obj@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982"
integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==
json-schema-traverse@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2"
integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==
json-schema-typed@^7.0.3:
version "7.0.3"
resolved "https://registry.yarnpkg.com/json-schema-typed/-/json-schema-typed-7.0.3.tgz#23ff481b8b4eebcd2ca123b4fa0409e66469a2d9"
integrity sha512-7DE8mpG+/fVw+dTpjbxnx47TaMnDfOI1jwft9g1VybltZCduyRQPJPvc+zzKY9WPHxhPWczyFuYa6I8Mw4iU5A==
locate-path@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e"
integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==
dependencies:
p-locate "^3.0.0"
path-exists "^3.0.0"
lru-cache@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==
dependencies:
yallist "^4.0.0"
mimic-fn@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
mimic-fn@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-3.1.0.tgz#65755145bbf3e36954b949c16450427451d5ca74"
integrity sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==
minimalistic-assert@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7"
integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==
node-addon-api@^1.3.0:
version "1.7.2"
resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-1.7.2.tgz#3df30b95720b53c24e59948b49532b662444f54d"
integrity sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==
node-fetch@2.6.1:
version "2.6.1"
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052"
integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==
node-fetch@^2.6.1:
version "2.7.0"
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d"
integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==
dependencies:
whatwg-url "^5.0.0"
onetime@^5.1.2:
version "5.1.2"
resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e"
integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==
dependencies:
mimic-fn "^2.1.0"
openpgp@^5.11.1:
version "5.11.1"
resolved "https://registry.yarnpkg.com/openpgp/-/openpgp-5.11.1.tgz#97f3a1dfb3d3573a0a73fe2efb29e6b1f8fefb1c"
integrity sha512-TynUBPuaSI7dN0gP+A38CjNRLxkOkkptefNanalDQ71BFAKKm+dLbksymSW5bUrB7RcAneMySL/Y+r/TbLpOnQ==
dependencies:
asn1.js "^5.0.0"
p-limit@^2.0.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==
dependencies:
p-try "^2.0.0"
p-locate@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4"
integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==
dependencies:
p-limit "^2.0.0"
p-try@^2.0.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
path-exists@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==
pkg-up@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-3.1.0.tgz#100ec235cc150e4fd42519412596a28512a0def5"
integrity sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==
dependencies:
find-up "^3.0.0"
punycode@^2.1.0, punycode@^2.3.1:
version "2.3.1"
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5"
integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==
queue@6.0.2:
version "6.0.2"
resolved "https://registry.yarnpkg.com/queue/-/queue-6.0.2.tgz#b91525283e2315c7553d2efa18d83e76432fed65"
integrity sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==
dependencies:
inherits "~2.0.3"
"register-scheme@github:devsnek/node-register-scheme":
version "0.0.2"
resolved "https://codeload.github.com/devsnek/node-register-scheme/tar.gz/e7cc9a63a1f512565da44cb57316d9fb10750e17"
dependencies:
bindings "^1.3.0"
node-addon-api "^1.3.0"
require-from-string@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909"
integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==
safer-buffer@^2.1.0:
version "2.1.2"
resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
semver@^7.3.5:
version "7.6.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.0.tgz#1a46a4db4bffcccd97b743b5005c8325f23d4e2d"
integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==
dependencies:
lru-cache "^6.0.0"
systeminformation@^5.22.0:
version "5.22.7"
resolved "https://registry.yarnpkg.com/systeminformation/-/systeminformation-5.22.7.tgz#9a20810c7eacad4aebe7591cb7c78c0dd96dbd1a"
integrity sha512-AWxlP05KeHbpGdgvZkcudJpsmChc2Y5Eo/GvxG/iUA/Aws5LZKHAMSeAo+V+nD+nxWZaxrwpWcnx4SH3oxNL3A==
tr46@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/tr46/-/tr46-5.0.0.tgz#3b46d583613ec7283020d79019f1335723801cec"
integrity sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==
dependencies:
punycode "^2.3.1"
tr46@~0.0.3:
version "0.0.3"
resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a"
integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==
type-fest@^2.17.0:
version "2.19.0"
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.19.0.tgz#88068015bb33036a598b952e55e9311a60fd3a9b"
integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==
uri-js@^4.2.2:
version "4.4.1"
resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e"
integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==
dependencies:
punycode "^2.1.0"
webidl-conversions@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871"
integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==
webidl-conversions@^7.0.0:
version "7.0.0"
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz#256b4e1882be7debbf01d05f0aa2039778ea080a"
integrity sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==
whatwg-url@^14.0.0:
version "14.0.0"
resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-14.0.0.tgz#00baaa7fd198744910c4b1ef68378f2200e4ceb6"
integrity sha512-1lfMEm2IEr7RIV+f4lUNPOqfFL+pO+Xw3fJSqmjX9AbXcXcYOkCe1P6+9VBZB6n94af16NfZf+sSk0JCBZC9aw==
dependencies:
tr46 "^5.0.0"
webidl-conversions "^7.0.0"
whatwg-url@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d"
integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==
dependencies:
tr46 "~0.0.3"
webidl-conversions "^3.0.0"
ws@^7.3.1:
version "7.5.9"
resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591"
integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==
xmldom@^0.6.0:
version "0.6.0"
resolved "https://registry.yarnpkg.com/xmldom/-/xmldom-0.6.0.tgz#43a96ecb8beece991cef382c08397d82d4d0c46f"
integrity sha512-iAcin401y58LckRZ0TkI4k0VSM1Qg0KGSc3i8rU+xrxe19A/BN1zHyVSJY7uoutVlaTSzYyk/v5AmkewAP7jtg==
yallist@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==

View File

@ -0,0 +1,27 @@
{ lib, fetchFromGitHub, buildGoModule }:
buildGoModule rec {
pname = "tkey-ssh-agent";
version = "1.0.0";
src = fetchFromGitHub {
owner = "tillitis";
repo = "tkey-ssh-agent";
rev = "v${version}";
sha256 = "sha256-Uf3VJJfZn4UYX1q79JdaOfrore+L/Mic3whzpP32JV0=";
};
vendorHash = "sha256-SFyp1UB6+m7/YllRyY56SwweJ3X175bChXQYiG2M7zM=";
subPackages = [
"cmd/tkey-ssh-agent"
];
meta = with lib; {
description = "SSH Agent for TKey, the flexible open hardware/software USB security key";
homepage = "https://tillitis.se/app/tkey-ssh-agent/";
license = licenses.gpl2;
maintainers = with maintainers; [ bbigras ];
platforms = platforms.all;
};
}

View File

@ -11,13 +11,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "ugrep-indexer";
version = "0.9.6";
version = "1.0.0";
src = fetchFromGitHub {
owner = "Genivia";
repo = "ugrep-indexer";
rev = "v${finalAttrs.version}";
hash = "sha256-ZXZF9ZSdfQ2gxi5JkDJCUzMbkTs9KLzZBsyYxR/v4tI=";
hash = "sha256-XKjCAYPBRQgId66LupTlODPh2ctzvk7rHWznkLd4C8c=";
};
buildInputs = [

View File

@ -0,0 +1,85 @@
{ fetchFromGitHub
, lib
, stdenv
, appstream-glib
, desktop-file-utils
, meson
, ninja
, pkg-config
, python3
, rustPlatform
, rustc
, cargo
, wrapGAppsHook
, glib
, gtk4
, libadwaita
, wayland
, gocryptfs
, cryfs
, cmake
}:
stdenv.mkDerivation rec {
pname = "vaults";
version = "0.7.1";
src = fetchFromGitHub {
owner = "mpobaschnig";
repo = "Vaults";
rev = version;
hash = "sha256-jA7OeyRqc5DxkS4sMx9cIbVlZwd++aCQi09uBQik1oA=";
};
cargoDeps = rustPlatform.fetchCargoTarball {
inherit src;
name = "${pname}-${version}";
hash = "sha256-l9Zer6d6kgjIUNiQ1VdQQ57caVNWfzCkdsMf79X8Ar4=";
};
postPatch = ''
patchShebangs build-aux
'';
makeFlags = [
"PREFIX=${placeholder "out"}"
];
preFixup = ''
gappsWrapperArgs+=(
--prefix PATH : "${lib.makeBinPath [ gocryptfs cryfs ]}"
)
'';
nativeBuildInputs = [
desktop-file-utils
meson
ninja
pkg-config
wrapGAppsHook
cargo
rustc
rustPlatform.cargoSetupHook
];
buildInputs = [
appstream-glib
gtk4
python3
glib
libadwaita
wayland
gocryptfs
cryfs
];
meta = {
description = "GTK frontend for encrypted vaults supporting gocryptfs and CryFS for encryption";
homepage = "https://mpobaschnig.github.io/vaults/";
changelog = "https://github.com/mpobaschnig/vaults/releases/tag/${version}";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ benneti ];
mainProgram = "vaults";
platforms = lib.platforms.linux;
};
}

View File

@ -165,6 +165,12 @@ dependencies = [
"libc",
]
[[package]]
name = "anes"
version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299"
[[package]]
name = "anstream"
version = "0.5.0"
@ -1433,8 +1439,8 @@ dependencies = [
[[package]]
name = "blade-graphics"
version = "0.3.0"
source = "git+https://github.com/kvark/blade?rev=61cbd6b2c224791d52b150fe535cee665cc91bb2#61cbd6b2c224791d52b150fe535cee665cc91bb2"
version = "0.4.0"
source = "git+https://github.com/kvark/blade?rev=810ec594358aafea29a4a3d8ab601d25292b2ce4#810ec594358aafea29a4a3d8ab601d25292b2ce4"
dependencies = [
"ash",
"ash-window",
@ -1464,7 +1470,7 @@ dependencies = [
[[package]]
name = "blade-macros"
version = "0.2.1"
source = "git+https://github.com/kvark/blade?rev=61cbd6b2c224791d52b150fe535cee665cc91bb2#61cbd6b2c224791d52b150fe535cee665cc91bb2"
source = "git+https://github.com/kvark/blade?rev=810ec594358aafea29a4a3d8ab601d25292b2ce4#810ec594358aafea29a4a3d8ab601d25292b2ce4"
dependencies = [
"proc-macro2",
"quote",
@ -1806,6 +1812,12 @@ dependencies = [
"winx",
]
[[package]]
name = "cast"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5"
[[package]]
name = "castaway"
version = "0.1.2"
@ -1914,6 +1926,33 @@ version = "1.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cca491388666e04d7248af3f60f0c40cfb0991c72205595d7c396e3510207d1a"
[[package]]
name = "ciborium"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e"
dependencies = [
"ciborium-io",
"ciborium-ll",
"serde",
]
[[package]]
name = "ciborium-io"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757"
[[package]]
name = "ciborium-ll"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9"
dependencies = [
"ciborium-io",
"half",
]
[[package]]
name = "cipher"
version = "0.3.0"
@ -2783,6 +2822,42 @@ dependencies = [
"cfg-if",
]
[[package]]
name = "criterion"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e7c76e09c1aae2bc52b3d2f29e13c6572553b30c4aa1b8a49fd70de6412654cb"
dependencies = [
"anes",
"atty",
"cast",
"ciborium",
"clap 3.2.25",
"criterion-plot",
"itertools 0.10.5",
"lazy_static",
"num-traits",
"oorandom",
"plotters",
"rayon",
"regex",
"serde",
"serde_derive",
"serde_json",
"tinytemplate",
"walkdir",
]
[[package]]
name = "criterion-plot"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1"
dependencies = [
"cast",
"itertools 0.10.5",
]
[[package]]
name = "crossbeam-channel"
version = "0.5.8"
@ -2836,6 +2911,12 @@ dependencies = [
"cfg-if",
]
[[package]]
name = "crunchy"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
[[package]]
name = "crypto-bigint"
version = "0.4.9"
@ -4295,6 +4376,7 @@ dependencies = [
name = "go_to_line"
version = "0.1.0"
dependencies = [
"anyhow",
"editor",
"gpui",
"indoc",
@ -4302,7 +4384,10 @@ dependencies = [
"menu",
"project",
"rope",
"schemars",
"serde",
"serde_json",
"settings",
"text",
"theme",
"tree-sitter-rust",
@ -4479,6 +4564,16 @@ dependencies = [
"tracing",
]
[[package]]
name = "half"
version = "2.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6dd08c532ae367adf81c312a4580bc67f1d0fe8bc9c460520283f4c0ff277888"
dependencies = [
"cfg-if",
"crunchy",
]
[[package]]
name = "hashbrown"
version = "0.12.3"
@ -5339,7 +5434,6 @@ dependencies = [
"tree-sitter-c",
"tree-sitter-cpp",
"tree-sitter-css",
"tree-sitter-dart",
"tree-sitter-elixir",
"tree-sitter-elm",
"tree-sitter-embedded-template",
@ -5349,7 +5443,6 @@ dependencies = [
"tree-sitter-gowork",
"tree-sitter-hcl",
"tree-sitter-heex",
"tree-sitter-html",
"tree-sitter-jsdoc",
"tree-sitter-json 0.20.0",
"tree-sitter-lua",
@ -5678,10 +5771,13 @@ dependencies = [
name = "markdown_preview"
version = "0.1.0"
dependencies = [
"anyhow",
"async-recursion 1.0.5",
"editor",
"gpui",
"language",
"linkify",
"log",
"pretty_assertions",
"pulldown-cmark",
"theme",
@ -6399,6 +6495,12 @@ dependencies = [
"zvariant",
]
[[package]]
name = "oorandom"
version = "11.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575"
[[package]]
name = "opaque-debug"
version = "0.3.0"
@ -6879,6 +6981,34 @@ dependencies = [
"time",
]
[[package]]
name = "plotters"
version = "0.3.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d2c224ba00d7cadd4d5c660deaf2098e5e80e07846537c51f9cfa4be50c1fd45"
dependencies = [
"num-traits",
"plotters-backend",
"plotters-svg",
"wasm-bindgen",
"web-sys",
]
[[package]]
name = "plotters-backend"
version = "0.3.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9e76628b4d3a7581389a35d5b6e2139607ad7c75b17aed325f210aa91f4a9609"
[[package]]
name = "plotters-svg"
version = "0.3.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "38f6d39893cca0701371e3c27294f09797214b86f1fb951b89ade8ec04e2abab"
dependencies = [
"plotters-backend",
]
[[package]]
name = "png"
version = "0.16.8"
@ -7794,6 +7924,7 @@ version = "0.1.0"
dependencies = [
"arrayvec 0.7.4",
"bromberg_sl2",
"criterion",
"gpui",
"log",
"rand 0.8.5",
@ -9498,16 +9629,19 @@ version = "0.1.0"
dependencies = [
"anyhow",
"editor",
"file_icons",
"fuzzy",
"gpui",
"itertools 0.11.0",
"language",
"menu",
"picker",
"project",
"schemars",
"serde",
"serde_json",
"settings",
"task",
"terminal",
"tree-sitter-rust",
"tree-sitter-typescript",
"ui",
@ -9828,6 +9962,16 @@ dependencies = [
"url",
]
[[package]]
name = "tinytemplate"
version = "1.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc"
dependencies = [
"serde",
"serde_json",
]
[[package]]
name = "tinyvec"
version = "1.6.0"
@ -10219,15 +10363,6 @@ dependencies = [
"tree-sitter",
]
[[package]]
name = "tree-sitter-dart"
version = "0.0.1"
source = "git+https://github.com/agent3bood/tree-sitter-dart?rev=48934e3bf757a9b78f17bdfaa3e2b4284656fdc7#48934e3bf757a9b78f17bdfaa3e2b4284656fdc7"
dependencies = [
"cc",
"tree-sitter",
]
[[package]]
name = "tree-sitter-elixir"
version = "0.1.0"
@ -12380,7 +12515,7 @@ dependencies = [
[[package]]
name = "zed"
version = "0.130.7"
version = "0.131.6"
dependencies = [
"activity_indicator",
"anyhow",
@ -12492,6 +12627,20 @@ dependencies = [
"zed_extension_api 0.0.4",
]
[[package]]
name = "zed_dart"
version = "0.0.1"
dependencies = [
"zed_extension_api 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "zed_emmet"
version = "0.0.1"
dependencies = [
"zed_extension_api 0.0.4",
]
[[package]]
name = "zed_erlang"
version = "0.0.1"
@ -12508,13 +12657,6 @@ dependencies = [
"wit-bindgen",
]
[[package]]
name = "zed_extension_api"
version = "0.0.5"
dependencies = [
"wit-bindgen",
]
[[package]]
name = "zed_extension_api"
version = "0.0.5"
@ -12524,16 +12666,43 @@ dependencies = [
"wit-bindgen",
]
[[package]]
name = "zed_extension_api"
version = "0.0.6"
dependencies = [
"serde",
"serde_json",
"wit-bindgen",
]
[[package]]
name = "zed_extension_api"
version = "0.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "77ca8bcaea3feb2d2ce9dbeb061ee48365312a351faa7014c417b0365fe9e459"
dependencies = [
"serde",
"serde_json",
"wit-bindgen",
]
[[package]]
name = "zed_gleam"
version = "0.0.2"
dependencies = [
"zed_extension_api 0.0.4",
"zed_extension_api 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "zed_haskell"
version = "0.0.1"
dependencies = [
"zed_extension_api 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "zed_html"
version = "0.0.1"
dependencies = [
"zed_extension_api 0.0.4",
]
@ -12563,14 +12732,14 @@ dependencies = [
name = "zed_svelte"
version = "0.0.1"
dependencies = [
"zed_extension_api 0.0.4",
"zed_extension_api 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "zed_toml"
version = "0.0.2"
dependencies = [
"zed_extension_api 0.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
"zed_extension_api 0.0.5",
]
[[package]]
@ -12584,7 +12753,7 @@ dependencies = [
name = "zed_zig"
version = "0.0.1"
dependencies = [
"zed_extension_api 0.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
"zed_extension_api 0.0.5",
]
[[package]]

View File

@ -27,13 +27,13 @@
rustPlatform.buildRustPackage rec {
pname = "zed";
version = "0.130.7";
version = "0.131.6";
src = fetchFromGitHub {
owner = "zed-industries";
repo = "zed";
rev = "refs/tags/v${version}";
hash = "sha256-nGE4RjquH5tEz6vHR1f5F44TX4GtPwiPP3V3lWPpmxk=";
hash = "sha256-IhFOA+g2I5vb72CTSZ8WTa9K0ieYbPD/BMShGqaUb84=";
fetchSubmodules = true;
};
@ -41,7 +41,7 @@ rustPlatform.buildRustPackage rec {
lockFile = ./Cargo.lock;
outputHashes = {
"async-pipe-0.1.3" = "sha256-g120X88HGT8P6GNCrzpS5SutALx5H+45Sf4iSSxzctE=";
"blade-graphics-0.3.0" = "sha256-0TmunFnq9MBxm4TrAkI0PxB58qJEf7oWLWhHq5cVsQ8=";
"blade-graphics-0.4.0" = "sha256-S1PNdQ9YbJgLLsJU1mvDZ3feVDIrZGwU37JqIm+kfcE=";
"bromberg_sl2-0.6.0" = "sha256-+bwdnk3EgYEAxQSP4KpEPicCfO+r2er1DRZjvfF4jSM=";
"font-kit-0.11.0" = "sha256-+4zMzjFyMS60HfLMEXGfXqKn6P+pOngLA45udV09DM8=";
"lsp-types-0.94.1" = "sha256-kplgPsafrgZFMI1D9pQCwmg+FKMn5HNWLbcgdXHUFVU=";
@ -52,7 +52,6 @@ rustPlatform.buildRustPackage rec {
"tree-sitter-bash-0.20.4" = "sha256-VP7rJfE/k8KV1XN1w5f0YKjCnDMYU1go/up0zj1mabM=";
"tree-sitter-cpp-0.20.0" = "sha256-2QYEFkpwcRmh2kf4qEAL2a5lGSa316CetOhF73e7rEM=";
"tree-sitter-css-0.19.0" = "sha256-5Qti/bFac2A1PJxqZEOuSLK3GGKYwPDKAp3OOassBxU=";
"tree-sitter-dart-0.0.1" = "sha256-FE6zXy0lAUWWayrM3urZFnQaEYBcnmaVANcUUnvw1q4=";
"tree-sitter-elixir-0.1.0" = "sha256-hBHqQ3eBjknRPJjP+lQJU6NPFhUMtiv4FbKsTw28Bog=";
"tree-sitter-elm-5.6.4" = "sha256-0LpuyebOB5ew9fULBcaw8aUbF7HM5sXQpv+Jroz4tXg=";
"tree-sitter-glsl-0.1.4" = "sha256-TRuiT3ndCeDCsCFokAN8cosNKccB0NjWVRiBJuBJXZw=";

View File

@ -55,16 +55,16 @@ assert (extraParameters != null) -> set != null;
buildNpmPackage rec {
pname = "Iosevka${toString set}";
version = "29.2.0";
version = "29.2.1";
src = fetchFromGitHub {
owner = "be5invis";
repo = "iosevka";
rev = "v${version}";
hash = "sha256-7g0eogqiBdfTwg8btkHExrY4fpqf0hUZbvlElFtKrB8=";
hash = "sha256-WWumGi6+jaQUGi1eArS9l3G8sOQL4ZetixVB5RWDPQ4=";
};
npmDepsHash = "sha256-lSKh16qN4EAmC0wtBokkFyl6Vung85vPTyr8Icc4rU0=";
npmDepsHash = "sha256-Gm3R8lWmYbLOfyGW+f8CYXlodp11vMCMAhagILxLKFA=";
nativeBuildInputs = [
remarshal

View File

@ -0,0 +1,30 @@
{
stdenvNoCC,
fetchFromGitHub,
theme,
lib,
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "gruppled-cursors";
version = "1.0.0";
src = fetchFromGitHub {
owner = "nim65s";
repo = finalAttrs.pname;
rev = "v${finalAttrs.version}";
hash = "sha256-ejlgdogjIYevZvB23si6bEeU6qY7rWXflaUyVk5MzqU=";
};
installPhase = ''
mkdir -p $out/share/icons/${theme}
cp -r ${theme}/{cursors,index.theme} $out/share/icons/${theme}
'';
meta = with lib; {
description = "Gruppled Cursors theme";
homepage = "https://github.com/nim65s/gruppled-cursors";
license = licenses.gpl2Only;
maintainers = with maintainers; [ nim65s ];
};
})

View File

@ -0,0 +1,30 @@
{
stdenvNoCC,
fetchFromGitHub,
theme,
lib,
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "gruppled-lite-cursors";
version = "1.0.0";
src = fetchFromGitHub {
owner = "nim65s";
repo = finalAttrs.pname;
rev = "v${finalAttrs.version}";
hash = "sha256-adCXYu8v6mFKXubVQb/RCZXS87//YgixQp20kMt7KT8=";
};
installPhase = ''
mkdir -p $out/share/icons/${theme}
cp -r ${theme}/{cursors,index.theme} $out/share/icons/${theme}
'';
meta = with lib; {
description = "Gruppled Lite Cursors theme";
homepage = "https://github.com/nim65s/gruppled-lite-cursors";
license = licenses.gpl2Only;
maintainers = with maintainers; [ nim65s ];
};
})

View File

@ -3,12 +3,12 @@
stdenv.mkDerivation {
pname = "cakelisp";
# using unstable as it's the only version that builds against gcc-13
version = "0.3.0-unstable-2024-04-01";
version = "0.3.0-unstable-2024-04-18";
src = fetchgit {
url = "https://macoy.me/code/macoy/cakelisp";
rev = "7f09a08623f4141d3c2940bca3e8ea646a7049cc";
hash = "sha256-5ey2j38bhoRADMFcTGcUiOHE/UlU2mPGqzfv7dEk6oQ=";
rev = "115ab436056602b7f3a1ca30be40edbfcc88299d";
hash = "sha256-rgBtT24aopXLTeDffjXGvJ3RgT+QLlr50Ju9a6ccyzc=";
};
buildInputs = [ gcc ];

View File

@ -1,16 +1,23 @@
{ lib, stdenv, fetchFromGitHub, cmake, bison, flex, libusb-compat-0_1, libelf
, libftdi1, readline, libserialport
# documentation building is broken on darwin
, docSupport ? (!stdenv.isDarwin), texliveMedium, texinfo, texi2html, unixtools }:
{ lib, callPackage, stdenv, fetchFromGitHub, cmake, bison, flex, libusb1, elfutils
, libftdi1, readline, hidapi, libserialport
# Documentation building doesn't work on Darwin. It fails with:
# Undefined subroutine &Locale::Messages::dgettext called in ... texi2html
#
# https://github.com/NixOS/nixpkgs/issues/224761
, docSupport ? (!stdenv.hostPlatform.isDarwin), texliveMedium, texinfo, texi2html, unixtools }:
stdenv.mkDerivation rec {
let
useElfutils = lib.meta.availableOn stdenv.hostPlatform elfutils;
in
stdenv.mkDerivation (finalAttrs: {
pname = "avrdude";
version = "7.3";
src = fetchFromGitHub {
owner = "avrdudes";
repo = pname;
rev = "v${version}";
repo = "avdude";
rev = "v${finalAttrs.version}";
sha256 = "sha256-JqW3AOMmAfcy+PQRcqviWlxA6GoMSEfzIFt1pRYY7Dw=";
};
@ -21,17 +28,36 @@ stdenv.mkDerivation rec {
texi2html
];
buildInputs = [ libusb-compat-0_1 libelf libftdi1 libserialport readline ];
cmakeFlags = lib.optionals docSupport [
"-DBUILD_DOC=ON"
buildInputs = [
(if useElfutils then elfutils else finalAttrs.finalPackage.passthru.libelf)
hidapi
libusb1
libftdi1
libserialport
readline
];
postPatch = lib.optionalString (!useElfutils) ''
# vendored libelf is a static library
sed -i "s/PREFERRED_LIBELF elf/PREFERRED_LIBELF libelf.a elf/" CMakeLists.txt
'';
# Not used:
# -DHAVE_LINUXGPIO=ON because it's incompatible with libgpiod 2.x
cmakeFlags = lib.optionals docSupport [ "-DBUILD_DOC=ON" ]
++ lib.optionals stdenv.hostPlatform.isLinux [ "-DHAVE_LINUXSPI=ON" "-DHAVE_PARPORT=ON" ];
# dvips output references texlive in comments, resulting in a huge closure
postInstall = lib.optionalString docSupport ''
rm $out/share/doc/${pname}/*.ps
rm $out/share/doc/avrdude/*.ps
'';
passthru = {
# Vendored and mutated copy of libelf for avrdudes use.
# Produces a static library only.
libelf = callPackage ./libelf.nix { };
};
meta = with lib; {
description = "Command-line tool for programming Atmel AVR microcontrollers";
mainProgram = "avrdude";
@ -45,4 +71,4 @@ stdenv.mkDerivation rec {
platforms = with platforms; linux ++ darwin;
maintainers = [ maintainers.bjornfor ];
};
}
})

View File

@ -0,0 +1,36 @@
{
lib,
stdenv,
cmake,
fetchFromGitHub,
}:
stdenv.mkDerivation {
pname = "libelf";
version = "0.8.13-unstable-2023-01-14";
src = fetchFromGitHub {
owner = "avrdudes";
repo = "libelf";
rev = "0c55bfe1d3020a20bddf6ce57c0d9d98ccb12586";
hash = "sha256-jz7Ef0Eg673IJVZvVNklY40s13LCuMVAc7FGrRI7scQ=";
};
nativeBuildInputs = [ cmake ];
installPhase = ''
runHook preInstall
mkdir -p $out/lib
cp liblibelf.a $out/lib/libelf.a
cp -r $src/include $out/include
runHook postInstall
'';
meta = {
description = "ELF object file access library (vendored by avrdudes)";
homepage = "https://github.com/avrdudes/libelf";
license = lib.licenses.lgpl2Plus;
platforms = lib.platforms.all;
maintainers = [ lib.maintainers.bjornfor ];
};
}

View File

@ -113,7 +113,7 @@ stdenv.mkDerivation rec {
--replace 'current_toolchain == host_toolchain || !use_xcode_clang' \
'false'
''}
${lib.optionalString (stdenv.isDarwin && stdenv.isx86_64) ''
${lib.optionalString stdenv.isDarwin ''
substituteInPlace build/config/compiler/BUILD.gn \
--replace "-Wl,-fatal_warnings" ""
''}
@ -143,7 +143,11 @@ stdenv.mkDerivation rec {
] ++ lib.optional stdenv.cc.isClang ''clang_base_path="${llvmCcAndBintools}"''
++ lib.optional stdenv.isDarwin ''use_lld=false'';
env.NIX_CFLAGS_COMPILE = "-O2";
env.NIX_CFLAGS_COMPILE = toString ([
"-O2"
] ++ lib.optionals stdenv.cc.isClang [
"-Wno-error=enum-constexpr-conversion"
]);
FORCE_MAC_SDK_MIN = stdenv.hostPlatform.sdkVer or "10.12";
nativeBuildInputs = [

View File

@ -16,16 +16,16 @@
buildPythonPackage rec {
pname = "editdistpy";
version = "0.1.3";
version = "0.1.4";
pyproject = true;
disabled = pythonOlder "3.6";
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "mammothb";
repo = "editdistpy";
rev = "refs/tags/v${version}";
hash = "sha256-4CtKadKpFmlZnz10NG0404oFl9DkdQwWwRSWgUPdh94=";
hash = "sha256-OSJXiuJtZ4w1IiRaZQZH2DDxA0AGoRHp0BKXdysff0Y=";
};
build-system = [

View File

@ -21,14 +21,14 @@
, survey
, typing-extensions
, watchdog
, xattr
, pytestCheckHook
, nixosTests
, pythonRelaxDepsHook
}:
buildPythonPackage rec {
pname = "maestral";
version = "1.8.0";
version = "1.9.2";
format = "pyproject";
disabled = pythonOlder "3.8";
@ -37,7 +37,7 @@ buildPythonPackage rec {
owner = "SamSchott";
repo = "maestral";
rev = "refs/tags/v${version}";
hash = "sha256-YYbdd0GLVKE7+Oi0mpQjqhFdjdlquk/XnIg5WrtKcfI=";
hash = "sha256-Bb0yE2OKdlZd6ZsTEWOD+hMuV41fZanesY49L+v4BBE=";
};
propagatedBuildInputs = [
@ -58,6 +58,7 @@ buildPythonPackage rec {
survey
typing-extensions
watchdog
xattr
];
makeWrapperArgs = [
@ -68,14 +69,6 @@ buildPythonPackage rec {
nativeCheckInputs = [
pytestCheckHook
pythonRelaxDepsHook
];
pythonRelaxDeps = [
# https://github.com/samschott/maestral/commit/2c50d2ddb49a845ea97bd6b0f68c45d723fb304c
# Allow the use of survey >= 5
# Remove after new maestral release along with pythonRelaxDepsHook
"survey"
];
preCheck = ''
@ -95,6 +88,8 @@ buildPythonPackage rec {
"test_cased_path_candidates"
# AssertionError
"test_locking_multiprocess"
# OSError: [Errno 95] Operation not supported
"test_move_preserves_xattrs"
];
pythonImportsCheck = [

View File

@ -10,7 +10,7 @@
buildPythonPackage rec {
pname = "mdformat-admon";
version = "2.0.2";
version = "2.0.3";
pyproject = true;
disabled = pythonOlder "3.8";
@ -19,7 +19,7 @@ buildPythonPackage rec {
owner = "KyleKing";
repo = "mdformat-admon";
rev = "refs/tags/v${version}";
hash = "sha256-TybbkF6+dIfG+1fGYp+bTEdw2GXINZJfOX0QiAaqiWY=";
hash = "sha256-zKc0kKap4ipZ+P+RYDXcwqyzq9NKcTnCmx64cApFxFg=";
};
nativeBuildInputs = [

View File

@ -9,13 +9,13 @@
buildPythonPackage rec {
pname = "oelint-parser";
version = "3.4.0";
version = "3.4.1";
format = "setuptools";
src = fetchPypi {
inherit version;
pname = "oelint_parser";
hash = "sha256-knMxVBibaX3wK7VNBODHeLeAbBOXHKNbyxjItiNcIfw=";
hash = "sha256-AZkbLTMWSUfrbgXZzvKy+maNaB7AwLPoh3Q8QT4Zq5U=";
};
buildInputs = [ pip ];

View File

@ -2,6 +2,7 @@
, buildPythonPackage
, pythonOlder
, fetchFromGitHub
, setuptools
, python-dateutil
, requests
, pytestCheckHook
@ -9,19 +10,28 @@
buildPythonPackage rec {
pname = "srpenergy";
version = "1.3.6";
format = "setuptools";
version = "1.3.7";
pyproject = true;
disabled = pythonOlder "3.6";
disabled = pythonOlder "3.9";
src = fetchFromGitHub {
owner = "lamoreauxlab";
repo = "srpenergy-api-client-python";
rev = version;
hash = "sha256-aZnqGtfklWgigac2gdkQv29Qy5HC34zGGY2iWr2cOMo=";
rev = "refs/tags/${version}";
hash = "sha256-bdBF5y9hRj4rceUD5qjHOM9TIaHGElJ36YjWCJgCzX8=";
};
propagatedBuildInputs = [
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail "setuptools==" "setuptools>="
'';
build-system = [
setuptools
];
dependencies = [
python-dateutil
requests
];
@ -33,6 +43,7 @@ buildPythonPackage rec {
pythonImportsCheck = [ "srpenergy.client" ];
meta = with lib; {
changelog = "https://github.com/lamoreauxlab/srpenergy-api-client-python/releases/tag/${version}";
description = "Unofficial Python module for interacting with Srp Energy data";
homepage = "https://github.com/lamoreauxlab/srpenergy-api-client-python";
license = licenses.mit;

View File

@ -52,7 +52,7 @@
, unittestCheckHook
}:
let
version = "7.0.0";
version = "7.1.0";
api = [ aiohttp fastapi uvicorn ];
# cloud = [ apache-libcloud ];
console = [ rich ];
@ -105,7 +105,7 @@ buildPythonPackage {
owner = "neuml";
repo = "txtai";
rev = "refs/tags/v${version}";
hash = "sha256-dYAzbdGEu9gAUzptuSfej6T5LPyTneRWigdAMlGgeqM=";
hash = "sha256-L+L2jRkCQKOgd1k3N4mft0Kt6kvCN81lgSQUjoon5rk=";
};
nativeBuildInputs = [

View File

@ -2,17 +2,17 @@
buildGoModule rec {
pname = "codeberg-pages";
version = "4.6.2";
version = "5.0";
src = fetchFromGitea {
domain = "codeberg.org";
owner = "Codeberg";
repo = "pages-server";
rev = "ce241fa40adee2b12f8e225db98e09a45bc2acbb";
sha256 = "sha256-mL2Xs7eyldoZK4zrX6WFlFtwdLN0iVyl1Qh8X6b2u9c=";
rev = "ea68a82cd22a8a8c1f265260af22b9406f13e3a9";
hash = "sha256-TSXRB0oq1CtHC9ooO+Y3ICS5YE+q+ivZAcYBSd1oWi0=";
};
vendorHash = "sha256-R/LuZkA2xHmu7SO3BVyK1C6n9U+pYn50kNkyLltn2ng=";
vendorHash = "sha256-vTYB3ka34VooN2Wh/Rcj+2S1qAsA2a/VtXlILn1W7oU=";
patches = [ ./disable_httptest.patch ];

View File

@ -1,12 +1,13 @@
diff --git a/server/handler/handler_test.go b/server/handler/handler_test.go
deleted file mode 100644
index 626564a..0000000
index 6521633..0000000
--- a/server/handler/handler_test.go
+++ /dev/null
@@ -1,49 +0,0 @@
@@ -1,52 +0,0 @@
-package handler
-
-import (
- "net/http"
- "net/http/httptest"
- "testing"
- "time"
@ -24,13 +25,15 @@ index 626564a..0000000
- "https://docs.codeberg.org/pages/raw-content/",
- []string{"/.well-known/acme-challenge/"},
- []string{"raw.codeberg.org", "fonts.codeberg.org", "design.codeberg.org"},
- []string{"pages"},
- cache.NewKeyValueCache(),
- cache.NewKeyValueCache(),
- cache.NewKeyValueCache(),
- )
-
- testCase := func(uri string, status int) {
- t.Run(uri, func(t *testing.T) {
- req := httptest.NewRequest("GET", uri, nil)
- req := httptest.NewRequest("GET", uri, http.NoBody)
- w := httptest.NewRecorder()
-
- log.Printf("Start: %v\n", time.Now())

View File

@ -1,38 +0,0 @@
{ lib, stdenv, fetchFromGitHub, pandoc, installShellFiles, withManpage ? false, nixosTests }:
stdenv.mkDerivation rec {
pname = "earlyoom";
version = "1.7";
src = fetchFromGitHub {
owner = "rfjakob";
repo = "earlyoom";
rev = "v${version}";
sha256 = "sha256-8YcT1TTlAet7F1U9Ginda4IApNqkudegOXqm8rnRGfc=";
};
nativeBuildInputs = lib.optionals withManpage [ pandoc installShellFiles ];
patches = [ ./fix-dbus-path.patch ];
makeFlags = [ "VERSION=${version}" ];
installPhase = ''
install -D earlyoom $out/bin/earlyoom
'' + lib.optionalString withManpage ''
installManPage earlyoom.1
'';
passthru.tests = {
inherit (nixosTests) earlyoom;
};
meta = with lib; {
description = "Early OOM Daemon for Linux";
mainProgram = "earlyoom";
homepage = "https://github.com/rfjakob/earlyoom";
license = licenses.mit;
platforms = platforms.linux;
maintainers = with maintainers; [];
};
}

View File

@ -793,7 +793,13 @@ if [[ "$action" = switch || "$action" = boot || "$action" = test || "$action" =
else
cmd+=("$pathToConfig/specialisation/$specialisation/bin/switch-to-configuration")
if [[ ! -f "${cmd[-1]}" ]]; then
if [ -z "$targetHost" ]; then
specialisationExists=$(test -f "${cmd[-1]}")
else
specialisationExists=$(targetHostCmd test -f "${cmd[-1]}")
fi
if ! $specialisationExists; then
log "error: specialisation not found: $specialisation"
exit 1
fi

View File

@ -16,16 +16,11 @@
stdenv.mkDerivation rec {
pname = "deconz";
version = "2.23.00";
version = "2.26.3";
src = fetchurl {
url = "https://deconz.dresden-elektronik.de/ubuntu/beta/deconz-${version}-qt5.deb";
sha256 = "sha256-TMftm1fz8c8ndSyA3HUd7JWT0DINxvbdUSDrmVMwmws=";
};
devsrc = fetchurl {
url = "https://deconz.dresden-elektronik.de/ubuntu/beta/deconz-dev-${version}.deb";
sha256 = "sha256-uW5iF3rvFlowFhMBVDTOHkJ2K4LBgAxxC79tXpMhy5U=";
sha256 = "sha256-BE/apFPutNdhlS1NWRHdVcVrt/16aFfZ6zRcjphIlZA=";
};
nativeBuildInputs = [ dpkg autoPatchelfHook makeWrapper wrapQtAppsHook ];
@ -36,7 +31,6 @@ stdenv.mkDerivation rec {
runHook preUnpack
dpkg -x $src ./deconz-src
dpkg -x $devsrc ./deconz-devsrc
runHook postUnpack
'';
@ -46,7 +40,6 @@ stdenv.mkDerivation rec {
mkdir -p "$out"
cp -r deconz-src/* "$out"
cp -r deconz-devsrc/* "$out"
# Flatten /usr and manually merge lib/ and usr/lib/, since mv refuses to.
mv "$out/lib" "$out/orig_lib"

View File

@ -13,9 +13,9 @@ rustPlatform.buildRustPackage rec {
owner = "hickory-dns";
repo = "hickory-dns";
rev = "v${version}";
hash = "sha256-+vZnozPsORe7nK6jL/yt/wp2qjwBTqyxZYz+cXaKNFk=";
hash = "sha256-szq21RuRmkhAfHlzhGQYpwjiIRkavFCPETOt+6TxhP4=";
};
cargoHash = "sha256-VLpl6eMOstD0FsuPeHngKQitv1jcb+0dx2pc8ic3Cf4=";
cargoHash = "sha256-zGn5vHwsHgpkgOr30QiyScqnfXjH55LQIVtxoUUox64=";
buildInputs = [ openssl ];
nativeBuildInputs = [ pkg-config ];

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "elasticmq-server";
version = "1.5.8";
version = "1.6.0";
src = fetchurl {
url = "https://s3-eu-west-1.amazonaws.com/softwaremill-public/${finalAttrs.pname}-${finalAttrs.version}.jar";
sha256 = "sha256-7E1fkMPPwPUEZUL/VqTX0DSdL5mUlSlf7lDE1jNb3Ns=";
sha256 = "sha256-h71YX8mP9iB92gK+QQD/xl1JLZwKspAwE6D3wq+SOkU=";
};
# don't do anything?

View File

@ -8,13 +8,13 @@
buildHomeAssistantComponent rec {
owner = "astrandb";
domain = "miele";
version = "0.1.19";
version = "2024.3.0";
src = fetchFromGitHub {
inherit owner;
repo = domain;
rev = "refs/tags/v${version}";
hash = "sha256-od7DV10/rkIw9eFMsTRw4bMmhQo9BAmw2rCbKKySeIk=";
hash = "sha256-J9n4PFcd87L301B2YktrLcxp5Vu1HwDeCYnrMEJ0+TA=";
};
propagatedBuildInputs = [

View File

@ -5,6 +5,7 @@
, autoAddDriverRunpath
, makeWrapper
, buildNpmPackage
, nixosTests
, cmake
, avahi
, libevdev
@ -185,7 +186,10 @@ stdenv'.mkDerivation rec {
install -Dm644 ../packaging/linux/${pname}.desktop $out/share/applications/${pname}.desktop
'';
passthru.updateScript = ./updater.sh;
passthru = {
tests.sunshine = nixosTests.sunshine;
updateScript = ./updater.sh;
};
meta = with lib; {
description = "Sunshine is a Game stream host for Moonlight";

View File

@ -5,14 +5,14 @@
python3.pkgs.buildPythonApplication rec {
pname = "changedetection-io";
version = "0.45.17";
version = "0.45.20";
format = "setuptools";
src = fetchFromGitHub {
owner = "dgtlmoon";
repo = "changedetection.io";
rev = version;
hash = "sha256-3LaNZourDjFjdSh5+hwc2l2DRMEI/rbfyksFD9uUebg=";
rev = "refs/tags/${version}";
hash = "sha256-wnJz/yVOSBTgOfGxmrO4JXifZxoTk8bjqGKqKsbwXAI=";
};
postPatch = ''

View File

@ -136,4 +136,7 @@
autobpm = {
testPaths = [ ];
};
listenbrainz = {
testPaths = [ ];
};
}

View File

@ -85,12 +85,12 @@ in lib.makeExtensible (self: {
beets-unstable = callPackage ./common.nix {
inherit python3Packages;
version = "unstable-2023-10-26";
version = "unstable-2024-03-16";
src = fetchFromGitHub {
owner = "beetbox";
repo = "beets";
rev = "6655760732100f5387fad2d2890c015ee5039981";
hash = "sha256-Nz9BHtacYpJMLmB3f9WFg6GvMa+BuUhiNbJ9cyannek=";
rev = "b09806e0df8f01b9155017d3693764ae7beedcd5";
hash = "sha256-jE6nZLOEFufqclT6p1zK7dW+vt69q2ulaRsUldL7cSQ=";
};
extraPatches = [
# Bash completion fix for Nix

View File

@ -2,54 +2,46 @@
, stdenv
, acl
, e2fsprogs
, fetchFromGitHub
, libb2
, lz4
, openssh
, openssl
, python3Packages
, python3
, xxHash
, zstd
, installShellFiles
, nixosTests
, fetchPypi
}:
let
python = python3Packages.python.override {
packageOverrides = self: super: {
msgpack = super.msgpack.overrideAttrs (oldAttrs: rec {
version ="1.0.4";
src = fetchPypi {
pname = "msgpack";
inherit version;
hash = "sha256-9dhpwY8DAgLrQS8Iso0q/upVPWYTruieIA16yn7wH18=";
};
});
};
};
python = python3;
in
python.pkgs.buildPythonApplication rec {
pname = "borgbackup";
version = "1.2.7";
format = "pyproject";
version = "1.2.8";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-9j8oozg8BBlxzsh7BhyjmoFbX9RF2ySqgXLKxBfZQRo=";
src = fetchFromGitHub {
owner = "borgbackup";
repo = "borg";
rev = "refs/tags/${version}";
hash = "sha256-+FHqOVuHlY9QUjCrYVnrMBZPMFH9Z2U7eZ6eUSINSrw=";
};
postPatch = ''
# sandbox does not support setuid/setgid/sticky bits
substituteInPlace src/borg/testsuite/archiver.py \
--replace "0o4755" "0o0755"
--replace-fail "0o4755" "0o0755"
'';
nativeBuildInputs = with python.pkgs; [
build-system = with python.pkgs; [
cython
setuptools-scm
pkgconfig
];
nativeBuildInputs = with python.pkgs; [
# docs
sphinxHook
guzzle-sphinx-theme
@ -70,7 +62,7 @@ python.pkgs.buildPythonApplication rec {
acl
];
propagatedBuildInputs = with python.pkgs; [
dependencies = with python.pkgs; [
msgpack
packaging
(if stdenv.isLinux then pyfuse3 else llfuse)
@ -130,7 +122,7 @@ python.pkgs.buildPythonApplication rec {
outputs = [ "out" "doc" "man" ];
meta = with lib; {
changelog = "https://github.com/borgbackup/borg/blob/${version}/docs/changes.rst";
changelog = "https://github.com/borgbackup/borg/blob/${src.rev}/docs/changes.rst";
description = "Deduplicating archiver with compression and encryption";
homepage = "https://www.borgbackup.org";
license = licenses.bsd3;

View File

@ -11,12 +11,12 @@
buildPythonApplication rec {
pname = "zfs_replicate";
version = "3.2.12";
version = "3.2.13";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-Pyn/ehXVb5knHS1A/MFTYE0t+IVgtBe1dAnYdaHutyk=";
hash = "sha256-Xmg33bqs3gQJWqkCNiWYUem3o6XsxpfbHIVvLs/2D94=";
};
postPatch = ''

View File

@ -7,6 +7,7 @@
, pkg-config
, openssl
, dbus
, AppKit
, Security
}:
@ -21,43 +22,23 @@ rustPlatform.buildRustPackage {
owner = "build-trust";
repo = pname;
rev = "ockam_v${version}";
hash = "sha256-qHvgqK8K6F69m511VbNcSNFVe/tKpf8uonsBIOz3uKA=";
hash = "sha256-WXkprfA7DY3ZKCtTkVYMqYxyhLbfXPbXhYd0Oj5mJ+w=";
};
cargoHash = "sha256-1MCiC808VNg5SoHxomJ9WWJ1Pj0IrLky6nshHfK2Fpg=";
cargoHash = "sha256-TLNV+6n9J9rhf8Lck0HK+ZNPDDh8C+M+MLbIWBS8cO0=";
nativeBuildInputs = [ git pkg-config ];
buildInputs = [ openssl dbus ]
++ lib.optionals stdenv.isDarwin [ Security ];
++ lib.optionals stdenv.isDarwin [ AppKit Security ];
passthru.updateScript = nix-update-script { };
# too many tests fail for now
doCheck = false;
# checkFlags = [
# # tries to make a network access
# "--skip=tests::curl_http_ockam"
# "--skip=medium_file_transfer"
# "--skip=medium_file_transfer_large_chunks"
# "--skip=medium_file_transfer_small_chunks"
# "--skip=tiny_file_transfer"
# "--skip=tiny_file_transfer_small_chunks"
# # tries to do IO
# "--skip=cli_state::tests::integration"
# "--skip=cli_state::tests::test_create_default_identity_state"
# "--skip=cli_state::tests::test_create_named_identity_state"
# "--skip=kafka::integration_test::test::producer__flow_with_mock_kafka__content_encryption_and_decryption"
# "--skip=kafka::portal_worker::test::kafka_portal_worker__metadata_exchange__response_changed"
# "--skip=full_flow"
# "--skip=run::parser::tests::detect_circular_dependency"
# "--skip=run::parser::tests::test_parse_config_with_depends_on"
# "--skip=util::tests::test_process_multi_addr"
# ];
meta = with lib; {
description = "Orchestrate end-to-end encryption, cryptographic identities, mutual authentication, and authorization policies between distributed applications at massive scale";
homepage = "https://github.com/build-trust/ockam";
license = licenses.mpl20;
maintainers = with maintainers; [ happysalada ];
platforms = platforms.linux;
};
}

View File

@ -4,18 +4,19 @@
, testers
, osv-scanner
}:
buildGoModule rec {
pname = "osv-scanner";
version = "1.7.1";
version = "1.7.2";
src = fetchFromGitHub {
owner = "google";
repo = pname;
rev = "v${version}";
hash = "sha256-JlTD8el4hXVYI76+cxGNemkUu0n2QxCqisr6R9aPqdI=";
repo = "osv-scanner";
rev = "refs/tags/v${version}";
hash = "sha256-UE6iCvv/ByODZX+FoLvIw+EeyISWFkHb4xK5L33w1hU=";
};
vendorHash = "sha256-J5qLs4EirBOfjnLv8eQBSd9w9nzpxBW5GS28CgQMsN8=";
vendorHash = "sha256-c/Wjhpa7upSRMaU+rheGF9dbvK0MQe3ZmPLpR5bRiUI=";
subPackages = [
"cmd/osv-scanner"
@ -24,9 +25,9 @@ buildGoModule rec {
ldflags = [
"-s"
"-w"
"-X github.com/google/osv-scanner/internal/version.OSVVersion=${version}"
"-X main.commit=n/a"
"-X main.date=1970-01-01T00:00:00Z"
"-X=github.com/google/osv-scanner/internal/version.OSVVersion=${version}"
"-X=main.commit=n/a"
"-X=main.date=1970-01-01T00:00:00Z"
];
# Tests require network connectivity to query https://api.osv.dev.

View File

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "goawk";
version = "1.26.0";
version = "1.27.0";
src = fetchFromGitHub {
owner = "benhoyt";
repo = "goawk";
rev = "v${version}";
hash = "sha256-EJf5Qv5ICJJdGNcRQ7v/ANyxx2j9d9NsZJnzIBrwam4=";
hash = "sha256-KB9N345xkgsPfI4DQYFag7qSdFv/JSU18YG8IPFrcQA=";
};
vendorHash = null;

View File

@ -2750,12 +2750,6 @@ with pkgs;
description = mame.meta.description + " (tools only)";
} (lib.getOutput "tools" mame);
mednafen = callPackage ../applications/emulators/mednafen { };
mednafen-server = callPackage ../applications/emulators/mednafen/server.nix { };
mednaffe = callPackage ../applications/emulators/mednaffe { };
melonDS = libsForQt5.callPackage ../applications/emulators/melonDS { };
mgba = libsForQt5.callPackage ../applications/emulators/mgba { };
@ -5130,8 +5124,6 @@ with pkgs;
earlybird = callPackage ../tools/security/earlybird { };
earlyoom = callPackage ../os-specific/linux/earlyoom { };
easyabc = callPackage ../applications/audio/easyabc { };
easycrypt = callPackage ../applications/science/logic/easycrypt {
@ -6091,7 +6083,7 @@ with pkgs;
ockam = callPackage ../tools/networking/ockam {
inherit (darwin.apple_sdk.frameworks) Security;
inherit (darwin.apple_sdk.frameworks) AppKit Security;
};
odoo = callPackage ../applications/finance/odoo { };
@ -24913,16 +24905,9 @@ with pkgs;
ucommon = callPackage ../development/libraries/ucommon { };
v8 = callPackage ../development/libraries/v8 (
let
stdenv' = if stdenv.cc.isClang && lib.versionAtLeast (lib.getVersion stdenv.cc.cc) "16"
then overrideLibcxx llvmPackages_15.stdenv
else stdenv;
in
{
stdenv = if stdenv'.isDarwin then overrideSDK stdenv' "11.0" else stdenv';
}
);
v8 = callPackage ../development/libraries/v8 {
stdenv = if stdenv.isDarwin then overrideSDK stdenv "11.0" else stdenv;
};
intel-vaapi-driver = callPackage ../development/libraries/intel-vaapi-driver { };
@ -28786,6 +28771,23 @@ with pkgs;
spacx-gtk-theme = callPackage ../data/themes/gtk-theme-framework { theme = "spacx"; };
inherit
({
gruppled-black-cursors = callPackage ../data/icons/gruppled-cursors { theme = "gruppled_black"; };
gruppled-black-lite-cursors = callPackage ../data/icons/gruppled-lite-cursors {
theme = "gruppled_black_lite";
};
gruppled-white-cursors = callPackage ../data/icons/gruppled-cursors { theme = "gruppled_white"; };
gruppled-white-lite-cursors = callPackage ../data/icons/gruppled-lite-cursors {
theme = "gruppled_white_lite";
};
})
gruppled-black-cursors
gruppled-black-lite-cursors
gruppled-white-cursors
gruppled-white-lite-cursors
;
gruvbox-dark-icons-gtk = callPackage ../data/icons/gruvbox-dark-icons-gtk {
inherit (plasma5Packages) breeze-icons;
};
@ -34623,7 +34625,7 @@ with pkgs;
maestral = with python3Packages; toPythonApplication maestral;
maestral-gui = qt6.callPackage ../applications/networking/maestral-qt { };
maestral-gui = qt6Packages.callPackage ../applications/networking/maestral-qt { };
maestro = callPackage ../development/mobile/maestro { };