Merge master into staging-next

Changed files
+657 -135
doc
languages-frameworks
maintainers
nixos
modules
config
xdg
services
desktop-managers
misc
networking
pkgs
applications
misc
tzupdate
window-managers
hyprwm
hyprland-plugins
by-name
ap
application-title-bar
as
ast-grep
fi
firefly-iii
firefoxpwa
pi
picom
su
supermariowar
tr
troubadix
us
usage
we
desktops
deepin
apps
deepin-music
library
qt6mpris
development
haskell-modules
python-modules
cffconvert
pyinstaller
python-opendata-transport
sphinx-hoverxref
sphinx-notfound-page
sphinx-version-warning
stringbrewer
vharfbuzz
vllm
os-specific
linux
nixos-rebuild
servers
tools
admin
cdist
security
cryptomator
top-level
+2 -2
doc/languages-frameworks/javascript.section.md
···
fetchYarnDeps,
yarnConfigHook,
yarnBuildHook,
+
yarnInstallHook,
nodejs,
-
npmHooks,
}:
stdenv.mkDerivation (finalAttrs: {
···
yarnOfflineCache = fetchYarnDeps {
yarnLock = finalAttrs.src + "/yarn.lock";
-
hash = "sha256-mo8urQaWIHu33+r0Y7mL9mJ/aSe/5CihuIetTeDHEUQ=";
+
hash = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=";
};
nativeBuildInputs = [
+6
maintainers/maintainer-list.nix
···
{ fingerprint = "elY15tXap1tddxbBVoUoAioe1u0RDWti5rc9cauSmwo"; }
];
};
+
figboy9 = {
+
email = "figboy9@tuta.io";
+
github = "figboy9";
+
githubId = 52276064;
+
name = "figboy9";
+
};
figsoda = {
email = "figsoda@pm.me";
matrix = "@figsoda:matrix.org";
+17
nixos/modules/config/xdg/icons.nix
···
[XDG Icon Theme specification](https://specifications.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html).
'';
};
+
xdg.icons.fallbackCursorThemes = lib.mkOption {
+
type = lib.types.listOf lib.types.str;
+
default = [];
+
description = ''
+
Names of the fallback cursor themes, in order of preference, to be used when no other icon source can be found.
+
Set to `[]` to disable the fallback entirely.
+
'';
+
};
};
config = lib.mkIf config.xdg.icons.enable {
···
# Empty icon theme that contains index.theme file describing directories
# where toolkits should look for icons installed by apps.
pkgs.hicolor-icon-theme
+
] ++ lib.optionals (config.xdg.icons.fallbackCursorThemes != []) [
+
(pkgs.writeTextFile {
+
name = "fallback-cursor-theme";
+
text = ''
+
[Icon Theme]
+
Inherits=${lib.concatStringsSep "," config.xdg.icons.fallbackCursorThemes}
+
'';
+
destination = "/share/icons/default/index.theme";
+
})
];
# libXcursor looks for cursors in XCURSOR_PATH
+1
nixos/modules/module-list.nix
···
./services/networking/uptermd.nix
./services/networking/v2ray.nix
./services/networking/v2raya.nix
+
./services/networking/veilid.nix
./services/networking/vdirsyncer.nix
./services/networking/vsftpd.nix
./services/networking/wasabibackend.nix
+1
nixos/modules/services/desktop-managers/plasma6.nix
···
systemd.services."drkonqi-coredump-processor@".wantedBy = ["systemd-coredump@.service"];
xdg.icons.enable = true;
+
xdg.icons.fallbackCursorThemes = mkDefault ["breeze_cursors"];
xdg.portal.enable = true;
xdg.portal.extraPortals = [
+4 -5
nixos/modules/services/misc/tzupdate.nix
···
description = "tzupdate timezone update service";
wants = [ "network-online.target" ];
after = [ "network-online.target" ];
+
script = ''
+
timedatectl set-timezone $(${lib.getExe pkgs.tzupdate} --print-only)
+
'';
serviceConfig = {
Type = "oneshot";
-
# We could link directly into pkgs.tzdata, but at least timedatectl seems
-
# to expect the symlink to point directly to a file in etc.
-
# Setting the "debian timezone file" to point at /dev/null stops it doing anything.
-
ExecStart = "${pkgs.tzupdate}/bin/tzupdate -z /etc/zoneinfo -d /dev/null";
};
};
};
-
meta.maintainers = [ ];
+
meta.maintainers = with lib.maintainers; [ doronbehar ];
}
+41 -43
nixos/modules/services/networking/monero.nix
···
{ config, lib, pkgs, ... }:
-
with lib;
-
let
cfg = config.services.monero;
listToConf = option: list:
-
concatMapStrings (value: "${option}=${value}\n") list;
+
lib.concatMapStrings (value: "${option}=${value}\n") list;
login = (cfg.rpc.user != null && cfg.rpc.password != null);
···
log-file=/dev/stdout
data-dir=${dataDir}
-
${optionalString mining.enable ''
+
${lib.optionalString mining.enable ''
start-mining=${mining.address}
mining-threads=${toString mining.threads}
''}
rpc-bind-ip=${rpc.address}
rpc-bind-port=${toString rpc.port}
-
${optionalString login ''
+
${lib.optionalString login ''
rpc-login=${rpc.user}:${rpc.password}
''}
-
${optionalString rpc.restricted ''
+
${lib.optionalString rpc.restricted ''
restricted-rpc=1
''}
···
services.monero = {
-
enable = mkEnableOption "Monero node daemon";
+
enable = lib.mkEnableOption "Monero node daemon";
-
dataDir = mkOption {
-
type = types.str;
+
dataDir = lib.mkOption {
+
type = lib.types.str;
default = "/var/lib/monero";
description = ''
The directory where Monero stores its data files.
'';
};
-
mining.enable = mkOption {
-
type = types.bool;
+
mining.enable = lib.mkOption {
+
type = lib.types.bool;
default = false;
description = ''
Whether to mine monero.
'';
};
-
mining.address = mkOption {
-
type = types.str;
+
mining.address = lib.mkOption {
+
type = lib.types.str;
default = "";
description = ''
Monero address where to send mining rewards.
'';
};
-
mining.threads = mkOption {
-
type = types.addCheck types.int (x: x>=0);
+
mining.threads = lib.mkOption {
+
type = lib.types.addCheck lib.types.int (x: x>=0);
default = 0;
description = ''
Number of threads used for mining.
···
'';
};
-
rpc.user = mkOption {
-
type = types.nullOr types.str;
+
rpc.user = lib.mkOption {
+
type = lib.types.nullOr lib.types.str;
default = null;
description = ''
User name for RPC connections.
'';
};
-
rpc.password = mkOption {
-
type = types.nullOr types.str;
+
rpc.password = lib.mkOption {
+
type = lib.types.nullOr lib.types.str;
default = null;
description = ''
Password for RPC connections.
'';
};
-
rpc.address = mkOption {
-
type = types.str;
+
rpc.address = lib.mkOption {
+
type = lib.types.str;
default = "127.0.0.1";
description = ''
IP address the RPC server will bind to.
'';
};
-
rpc.port = mkOption {
-
type = types.port;
+
rpc.port = lib.mkOption {
+
type = lib.types.port;
default = 18081;
description = ''
Port the RPC server will bind to.
'';
};
-
rpc.restricted = mkOption {
-
type = types.bool;
+
rpc.restricted = lib.mkOption {
+
type = lib.types.bool;
default = false;
description = ''
Whether to restrict RPC to view only commands.
'';
};
-
limits.upload = mkOption {
-
type = types.addCheck types.int (x: x>=-1);
+
limits.upload = lib.mkOption {
+
type = lib.types.addCheck lib.types.int (x: x>=-1);
default = -1;
description = ''
Limit of the upload rate in kB/s.
···
'';
};
-
limits.download = mkOption {
-
type = types.addCheck types.int (x: x>=-1);
+
limits.download = lib.mkOption {
+
type = lib.types.addCheck lib.types.int (x: x>=-1);
default = -1;
description = ''
Limit of the download rate in kB/s.
···
'';
};
-
limits.threads = mkOption {
-
type = types.addCheck types.int (x: x>=0);
+
limits.threads = lib.mkOption {
+
type = lib.types.addCheck lib.types.int (x: x>=0);
default = 0;
description = ''
Maximum number of threads used for a parallel job.
···
'';
};
-
limits.syncSize = mkOption {
-
type = types.addCheck types.int (x: x>=0);
+
limits.syncSize = lib.mkOption {
+
type = lib.types.addCheck lib.types.int (x: x>=0);
default = 0;
description = ''
Maximum number of blocks to sync at once.
···
'';
};
-
extraNodes = mkOption {
-
type = types.listOf types.str;
+
extraNodes = lib.mkOption {
+
type = lib.types.listOf lib.types.str;
default = [ ];
description = ''
List of additional peer IP addresses to add to the local list.
'';
};
-
priorityNodes = mkOption {
-
type = types.listOf types.str;
+
priorityNodes = lib.mkOption {
+
type = lib.types.listOf lib.types.str;
default = [ ];
description = ''
List of peer IP addresses to connect to and
···
'';
};
-
exclusiveNodes = mkOption {
-
type = types.listOf types.str;
+
exclusiveNodes = lib.mkOption {
+
type = lib.types.listOf lib.types.str;
default = [ ];
description = ''
List of peer IP addresses to connect to *only*.
···
'';
};
-
extraConfig = mkOption {
-
type = types.lines;
+
extraConfig = lib.mkOption {
+
type = lib.types.lines;
default = "";
description = ''
Extra lines to be added verbatim to monerod configuration.
···
###### implementation
-
config = mkIf cfg.enable {
+
config = lib.mkIf cfg.enable {
users.users.monero = {
isSystemUser = true;
···
};
};
-
assertions = singleton {
+
assertions = lib.singleton {
assertion = cfg.mining.enable -> cfg.mining.address != "";
message = ''
You need a Monero address to receive mining rewards:
+227
nixos/modules/services/networking/veilid.nix
···
+
{
+
config,
+
pkgs,
+
lib,
+
...
+
}:
+
with lib;
+
let
+
cfg = config.services.veilid;
+
dataDir = "/var/db/veilid-server";
+
+
settingsFormat = pkgs.formats.yaml { };
+
configFile = settingsFormat.generate "veilid-server.conf" cfg.settings;
+
in
+
{
+
config = mkIf cfg.enable {
+
networking.firewall = mkIf cfg.openFirewall {
+
allowedTCPPorts = [ 5150 ];
+
allowedUDPPorts = [ 5150 ];
+
};
+
+
# Based on https://gitlab.com/veilid/veilid/-/blob/main/package/systemd/veilid-server.service?ref_type=heads
+
systemd.services.veilid = {
+
enable = true;
+
description = "Veilid Headless Node";
+
wants = [ "network-online.target" ];
+
before = [ "network-online.target" ];
+
wantedBy = [ "multi-user.target" ];
+
restartTriggers = [ configFile ];
+
environment = {
+
RUST_BACKTRACE = "1";
+
};
+
serviceConfig = {
+
ExecStart = "${pkgs.veilid}/bin/veilid-server -c ${configFile}";
+
ExecReload = "${pkgs.coreutils}/bin/kill -s HUP $MAINPID";
+
KillSignal = "SIGQUIT";
+
TimeoutStopSec = 5;
+
WorkingDirectory = "/";
+
User = "veilid";
+
Group = "veilid";
+
UMask = "0002";
+
+
CapabilityBoundingSet = "";
+
SystemCallFilter = [ "@system-service" ];
+
MemoryDenyWriteExecute = true;
+
NoNewPrivileges = true;
+
PrivateDevices = true;
+
PrivateTmp = true;
+
PrivateUsers = true;
+
ProtectHome = true;
+
ProtectClock = true;
+
ProtectControlGroups = true;
+
ProtectKernelLogs = true;
+
ProtectKernelModules = true;
+
ProtectKernelTunables = true;
+
ProtectProc = "invisible";
+
ProtectSystem = "strict";
+
ReadWritePaths = dataDir;
+
+
RestrictRealtime = true;
+
SystemCallArchitectures = "native";
+
LockPersonality = true;
+
RestrictSUIDSGID = true;
+
};
+
};
+
users.users.veilid = {
+
isSystemUser = true;
+
group = "veilid";
+
home = dataDir;
+
createHome = true;
+
};
+
users.groups.veilid = { };
+
+
environment = {
+
systemPackages = [ pkgs.veilid ];
+
};
+
services.veilid.settings = { };
+
};
+
+
options.services.veilid = {
+
enable = mkEnableOption "Veilid Headless Node";
+
openFirewall = mkOption {
+
default = false;
+
type = types.bool;
+
description = "Whether to open firewall on ports 5150/tcp, 5150/udp";
+
};
+
settings = mkOption {
+
description = ''
+
Build veilid-server.conf with nix expression.
+
Check <link xlink:href="https://veilid.gitlab.io/developer-book/admin/config.html#configuration-keys">Configuration Keys</link>.
+
'';
+
type = types.submodule {
+
freeformType = settingsFormat.type;
+
+
options = {
+
client_api = {
+
ipc_enabled = mkOption {
+
type = types.bool;
+
default = true;
+
description = "veilid-server will respond to Python and other JSON client requests.";
+
};
+
ipc_directory = mkOption {
+
type = types.str;
+
default = "${dataDir}/ipc";
+
description = "IPC directory where file sockets are stored.";
+
};
+
};
+
logging = {
+
system = {
+
enabled = mkOption {
+
type = types.bool;
+
default = true;
+
description = "Events of type 'system' will be logged.";
+
};
+
level = mkOption {
+
type = types.str;
+
default = "info";
+
example = "debug";
+
description = "The minimum priority of system events to be logged.";
+
};
+
};
+
terminal = {
+
enabled = mkOption {
+
type = types.bool;
+
default = false;
+
description = "Events of type 'terminal' will be logged.";
+
};
+
level = mkOption {
+
type = types.str;
+
default = "info";
+
example = "debug";
+
description = "The minimum priority of terminal events to be logged.";
+
};
+
};
+
api = {
+
enabled = mkOption {
+
type = types.bool;
+
default = false;
+
description = "Events of type 'api' will be logged.";
+
};
+
level = mkOption {
+
type = types.str;
+
default = "info";
+
example = "debug";
+
description = "The minimum priority of api events to be logged.";
+
};
+
};
+
};
+
core = {
+
capabilities = {
+
disable = mkOption {
+
type = types.listOf types.str;
+
default = [ ];
+
example = [ "APPM" ];
+
description = "A list of capabilities to disable (for example, DHTV to say you cannot store DHT information).";
+
};
+
};
+
protected_store = {
+
allow_insecure_fallback = mkOption {
+
type = types.bool;
+
default = true;
+
description = "If we can't use system-provided secure storage, should we proceed anyway?";
+
};
+
always_use_insecure_storage = mkOption {
+
type = types.bool;
+
default = true;
+
description = "Should we bypass any attempt to use system-provided secure storage?";
+
};
+
directory = mkOption {
+
type = types.str;
+
default = "${dataDir}/protected_store";
+
description = "The filesystem directory to store your protected store in.";
+
};
+
};
+
table_store = {
+
directory = mkOption {
+
type = types.str;
+
default = "${dataDir}/table_store";
+
description = "The filesystem directory to store your table store within.";
+
};
+
};
+
block_store = {
+
directory = mkOption {
+
type = types.nullOr types.str;
+
default = "${dataDir}/block_store";
+
description = "The filesystem directory to store blocks for the block store.";
+
};
+
};
+
network = {
+
routing_table = {
+
bootstrap = mkOption {
+
type = types.listOf types.str;
+
default = [ "bootstrap.veilid.net" ];
+
description = "Host name of existing well-known Veilid bootstrap servers for the network to connect to.";
+
};
+
node_id = lib.mkOption {
+
type = lib.types.nullOr lib.types.str;
+
default = null;
+
description = "Base64-encoded public key for the node, used as the node's ID.";
+
};
+
};
+
dht = {
+
min_peer_count = mkOption {
+
type = types.number;
+
default = 20;
+
description = "Minimum number of nodes to keep in the peer table.";
+
};
+
};
+
upnp = mkOption {
+
type = types.bool;
+
default = true;
+
description = "Should the app try to improve its incoming network connectivity using UPnP?";
+
};
+
detect_address_changes = mkOption {
+
type = types.bool;
+
default = true;
+
description = "Should veilid-core detect and notify on network address changes?";
+
};
+
};
+
};
+
};
+
};
+
};
+
};
+
+
meta.maintainers = with maintainers; [ figboy9 ];
+
}
+8 -5
pkgs/applications/misc/tzupdate/default.nix
···
src = fetchFromGitHub {
owner = "cdown";
repo = "tzupdate";
-
rev = version;
+
rev = "refs/tags/${version}";
hash = "sha256-eod4yFzX7pATNQmG7jU+r9mnC9nprJ55ufMXpKjw/YI=";
};
cargoHash = "sha256-5+lp5xlwJxFDqzVxptJPX7z0iLoMkgdwHxvRVIXHF7Y=";
-
meta = with lib; {
+
meta = {
description = "Set the system timezone based on IP geolocation";
homepage = "https://github.com/cdown/tzupdate";
-
license = licenses.mit;
-
maintainers = with maintainers; [ camillemndn ];
-
platforms = platforms.linux;
+
license = lib.licenses.mit;
+
maintainers = with lib.maintainers; [
+
camillemndn
+
doronbehar
+
];
+
platforms = lib.platforms.linux;
mainProgram = "tzupdate";
};
}
+1
pkgs/applications/window-managers/hyprwm/hyprland-plugins/default.nix
···
{ hyprgrass = import ./hyprgrass.nix; }
{ hyprscroller = import ./hyprscroller.nix; }
{ hyprspace = import ./hyprspace.nix; }
+
{ hyprsplit = import ./hyprsplit.nix; }
(import ./hyprland-plugins.nix)
];
in
+34
pkgs/applications/window-managers/hyprwm/hyprland-plugins/hyprsplit.nix
···
+
{
+
lib,
+
meson,
+
fetchFromGitHub,
+
hyprland,
+
ninja,
+
mkHyprlandPlugin,
+
}:
+
mkHyprlandPlugin hyprland rec {
+
pluginName = "hyprsplit";
+
version = "0.43.0";
+
+
src = fetchFromGitHub {
+
owner = "shezdy";
+
repo = "hyprsplit";
+
rev = "refs/tags/v${version}";
+
hash = "sha256-r533kNIyfgPi/q8ddIYyDK1Pmupt/F3ncHuFo3zjDkU=";
+
};
+
+
nativeBuildInputs = [
+
meson
+
ninja
+
];
+
+
meta = {
+
homepage = "https://github.com/shezdy/hyprsplit";
+
description = "Hyprland plugin for awesome / dwm like workspaces";
+
license = lib.licenses.bsd3;
+
inherit (hyprland.meta) platforms;
+
maintainers = with lib.maintainers; [
+
aacebedo
+
];
+
};
+
}
+2 -2
pkgs/by-name/ap/application-title-bar/package.nix
···
stdenv.mkDerivation (finalAttrs: {
pname = "application-title-bar";
-
version = "0.7.2";
+
version = "0.7.3";
src = fetchFromGitHub {
owner = "antroids";
repo = "application-title-bar";
rev = "v${finalAttrs.version}";
-
hash = "sha256-0tSwjyKPVyOR0VJi1qqMFf/yVmWFmyue0xaNp9pYxDo=";
+
hash = "sha256-kvFUz0m222jTGrkqLyYmnW0o4MXU9lLAsyk6QBAJHr8=";
};
propagatedUserEnvPkgs = with kdePackages; [ kconfig ];
+3 -3
pkgs/by-name/as/ast-grep/package.nix
···
rustPlatform.buildRustPackage rec {
pname = "ast-grep";
-
version = "0.27.1";
+
version = "0.27.3";
src = fetchFromGitHub {
owner = "ast-grep";
repo = "ast-grep";
rev = version;
-
hash = "sha256-7jTkQIBeC8Vl8wrrdulZZq/aQNwksUsAdA7hlPEd4cQ=";
+
hash = "sha256-nE4cHQvFseSgB6LluTp9dCDEqR9vAymZCN3V7HgieYA=";
};
-
cargoHash = "sha256-sDKF8KbTQGQizyjV3w4+LGgz1i18wmKzvHfCb3XGb0g=";
+
cargoHash = "sha256-A0qvug8wbqN22B0j6BFZyeHMfmlBsuZJRJ1SmctTz1s=";
nativeBuildInputs = [ installShellFiles ];
+2 -2
pkgs/by-name/fi/firefly-iii/package.nix
···
let
pname = "firefly-iii";
-
version = "6.1.20";
+
version = "6.1.21";
phpPackage = php83;
npmDepsHash = "sha256-N4o7FKdya6bGakNKNq2QUV8HKRfuov5ahvbjR/rsimU=";
···
owner = "firefly-iii";
repo = "firefly-iii";
rev = "v${version}";
-
hash = "sha256-vb9pGupa4cRy/p9iHJT7SMNchRQSU9Nnh6FphEcvt+k=";
+
hash = "sha256-jadxzUhOb3G/DwJk8IV4IcwjmxgrrriVMVwj1cYFHEA=";
};
in
+2 -2
pkgs/by-name/fi/firefoxpwa/package.nix
···
rustPlatform.buildRustPackage rec {
pname = "firefoxpwa";
-
version = "2.12.4";
+
version = "2.12.5";
src = fetchFromGitHub {
owner = "filips123";
repo = "PWAsForFirefox";
rev = "v${version}";
-
hash = "sha256-VNCQUF/Xep/PkrNd9Mzbm3NWPToqXpJM6SzDoqBXbNY=";
+
hash = "sha256-WAAZ35AkKzufhDm8RNTpSsGJjqCIm84THEOmXemvv2o=";
};
sourceRoot = "${src.name}/native";
+2 -2
pkgs/by-name/pi/picom/package.nix
···
stdenv.mkDerivation (finalAttrs: {
pname = "picom";
-
version = "12";
+
version = "12.1";
src = fetchFromGitHub {
owner = "yshui";
repo = "picom";
rev = "v${finalAttrs.version}";
-
hash = "sha256-7XpZEYQtjsBAcMMEJXlfSaZ1jdDxDBnzkSAtTbW7Br4=";
+
hash = "sha256-XBFSPSrG6C4n5oQUQbWXyy9iCuEdrdaxU0CPR73juzk=";
fetchSubmodules = true;
};
+3 -3
pkgs/by-name/su/supermariowar/package.nix
···
stdenv.mkDerivation (finalAttrs: {
pname = "supermariowar";
-
version = "2023-unstable-2024-09-17";
+
version = "2023-unstable-2024-09-21";
src = fetchFromGitHub {
owner = "mmatyas";
repo = "supermariowar";
-
rev = "6b8ff8c669ca31a116754d23b6ff65e42ac50733";
-
hash = "sha256-P0jV7G81thj0UJoYLd5+H5SjjaVu4goJxc9IkbzxJgs=";
+
rev = "7e7ebe39cadba5d0bd9d7e87a08264332c2f1f12";
+
hash = "sha256-kBwaqw0GZvLWE5GqgfieLRU4s8wYFtTZyl1MgwWGbMc=";
fetchSubmodules = true;
};
+2 -2
pkgs/by-name/tr/troubadix/package.nix
···
python3.pkgs.buildPythonApplication rec {
pname = "troubadix";
-
version = "24.9.2";
+
version = "24.9.4";
pyproject = true;
src = fetchFromGitHub {
owner = "greenbone";
repo = "troubadix";
rev = "refs/tags/v${version}";
-
hash = "sha256-nFzrOSaq0U6qapmk59iAK3N0gQag1fMaew3LtOK+neY=";
+
hash = "sha256-y7IVEDbXYiNi9/SIlbmrkZ5SxrLzYe3Yy8LkP+wID3w=";
};
pythonRelaxDeps = [ "validators" ];
+36
pkgs/by-name/us/usage/package.nix
···
+
{
+
lib,
+
rustPlatform,
+
fetchFromGitHub,
+
nix-update-script,
+
usage,
+
testers,
+
}:
+
+
rustPlatform.buildRustPackage rec {
+
pname = "jdx";
+
version = "0.3.1";
+
+
src = fetchFromGitHub {
+
owner = "jdx";
+
repo = "usage";
+
rev = "v${version}";
+
hash = "sha256-9zQ+gkBVhzjqSIieGjxoD9vc7999lfRQ7awkvlEkseE=";
+
};
+
+
cargoHash = "sha256-4ebjD1Tf7F2YyNrF7eEi2yKonctprnyu4nMf+vE2whY=";
+
+
passthru = {
+
updateScript = nix-update-script { };
+
tests.version = testers.testVersion { package = usage; };
+
};
+
+
meta = {
+
homepage = "https://usage.jdx.dev";
+
description = "Specification for CLIs";
+
changelog = "https://github.com/jdx/usage/releases/tag/v${version}";
+
license = lib.licenses.mit;
+
maintainers = with lib.maintainers; [ konradmalik ];
+
mainProgram = "usage";
+
};
+
}
+3 -3
pkgs/by-name/we/werf/package.nix
···
buildGoModule rec {
pname = "werf";
-
version = "2.10.6";
+
version = "2.10.7";
src = fetchFromGitHub {
owner = "werf";
repo = "werf";
rev = "v${version}";
-
hash = "sha256-TVjmPylomSp8WT2YW6x6CPkk6FinKGrGRlDEAtl8vRI=";
+
hash = "sha256-pIgBYB0EEelpNgNPAxUu2jqFoT4myru5wAu3Oobmqn8=";
};
-
vendorHash = "sha256-OR2nIR2q3iRfaSQSQRKn+jbygETx2+WmkOIjOCIB9O8=";
+
vendorHash = "sha256-MSxqRU9TUYDoUoYubXPrxABwLL5gou52ia0dX7lzQ5Q=";
proxyVendor = true;
+24 -27
pkgs/desktops/deepin/apps/deepin-music/default.nix
···
fetchFromGitHub,
cmake,
pkg-config,
-
qttools,
-
wrapQtAppsHook,
-
dtkwidget,
-
dtkdeclarative,
-
qt5integration,
-
qt5platform-plugins,
-
udisks2-qt5,
-
qtmpris,
-
qtmultimedia,
-
kcodecs,
+
dtk6widget,
+
dtk6declarative,
+
qt6integration,
+
qt6platform-plugins,
+
qt6mpris,
ffmpeg,
libvlc,
+
qt6Packages,
taglib,
SDL2,
gst_all_1,
···
stdenv.mkDerivation rec {
pname = "deepin-music";
-
version = "7.0.3";
+
version = "7.0.9";
src = fetchFromGitHub {
owner = "linuxdeepin";
repo = pname;
rev = version;
-
hash = "sha256-MLfkSO8ru8MKiwgiQ0mPO3zGlnIeSHPc0Op5jjzJ6PE=";
+
hash = "sha256-tj0XICmp7sM2m6aSf/DgxS7JXO3Wy/83sZIPGV17gFo=";
};
patches = [ "${src}/patches/fix-library-path.patch" ];
···
nativeBuildInputs = [
cmake
pkg-config
-
qttools
-
wrapQtAppsHook
+
qt6Packages.qttools
+
qt6Packages.wrapQtAppsHook
];
buildInputs =
[
-
dtkwidget
-
dtkdeclarative
-
qt5integration
-
qt5platform-plugins
-
udisks2-qt5
-
qtmpris
-
qtmultimedia
-
kcodecs
+
dtk6widget
+
dtk6declarative
+
qt6integration
+
qt6platform-plugins
+
qt6mpris
+
qt6Packages.qtbase
+
qt6Packages.qt5compat
+
qt6Packages.qtmultimedia
ffmpeg
libvlc
taglib
···
"-I${libvlc}/include/vlc"
];
-
strictDeps = true;
+
# qtmultimedia can't not be found with strictDeps
+
strictDeps = false;
preFixup = ''
qtWrapperArgs+=(--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0")
'';
-
meta = with lib; {
+
meta = {
description = "Awesome music player with brilliant and tweakful UI Deepin-UI based";
mainProgram = "deepin-music";
homepage = "https://github.com/linuxdeepin/deepin-music";
-
license = licenses.gpl3Plus;
-
platforms = platforms.linux;
-
maintainers = teams.deepin.members;
+
license = lib.licenses.gpl3Plus;
+
platforms = lib.platforms.linux;
+
maintainers = lib.teams.deepin.members;
};
}
+1
pkgs/desktops/deepin/default.nix
···
dtk6log = callPackage ./library/dtk6log { };
qt6platform-plugins = callPackage ./library/qt6platform-plugins { };
qt6integration = callPackage ./library/qt6integration { };
+
qt6mpris = callPackage ./library/qt6mpris { };
#### CORE
deepin-kwin = callPackage ./core/deepin-kwin { };
+46
pkgs/desktops/deepin/library/qt6mpris/default.nix
···
+
{
+
stdenv,
+
lib,
+
fetchFromGitHub,
+
qt6Packages,
+
}:
+
+
stdenv.mkDerivation (finalAttrs: {
+
pname = "qt6mpris";
+
version = "1.0.0.1-1deepin1";
+
+
src = fetchFromGitHub {
+
owner = "deepin-community";
+
repo = "qt6mpris";
+
rev = finalAttrs.version;
+
hash = "sha256-PCdA9q/txaL2Fbr2/4+Z7L4zxWeULl3bq8MVH3i1g3g=";
+
};
+
+
postPatch = ''
+
substituteInPlace src/src.pro \
+
--replace-fail '$$[QT_INSTALL_LIBS]' "$out/lib" \
+
--replace-fail '$$[QT_INSTALL_HEADERS]' "$out/include" \
+
--replace-fail '$$[QMAKE_MKSPECS]' "$out/mkspecs"
+
substituteInPlace declarative/declarative.pro \
+
--replace-fail '$$[QT_INSTALL_QML]' "$out/${qt6Packages.qtbase.qtQmlPrefix}"
+
'';
+
+
nativeBuildInputs = [
+
qt6Packages.qmake
+
];
+
+
dontWrapQtApps = true;
+
+
buildInputs = [
+
qt6Packages.qtbase
+
qt6Packages.qtdeclarative
+
];
+
+
meta = {
+
description = "Qt and QML MPRIS interface and adaptor";
+
homepage = "https://github.com/deepin-community/qt6mpris";
+
license = lib.licenses.lgpl21Plus;
+
platforms = lib.platforms.linux;
+
maintainers = lib.teams.deepin.members;
+
};
+
})
+4
pkgs/development/haskell-modules/configuration-common.nix
···
# Too strict bounds on algebraic-graphs
# https://github.com/haskell-nix/hnix-store/issues/180
hnix-store-core_0_6_1_0 = doJailbreak super.hnix-store-core_0_6_1_0;
+
+
# 2024-09-27: dependent-sum-template pinned to 0.1.1.1, however 0.2.0.1+ required
+
hnix-store-core_0_8_0_0 = super.hnix-store-core_0_8_0_0.override { dependent-sum-template = self.dependent-sum-template_0_2_0_1; };
+
# 2023-12-11: Needs older core
hnix-store-remote = super.hnix-store-remote.override { hnix-store-core = self.hnix-store-core_0_6_1_0; };
+1 -1
pkgs/development/python-modules/cffconvert/default.nix
···
"tests/cli/test_rawify_url.py"
];
-
pythonImportsCheckHook = [ "cffconvert" ];
+
pythonImportsCheck = [ "cffconvert" ];
meta = {
changelog = "https://github.com/citation-file-format/cffconvert/blob/${src.rev}/CHANGELOG.md";
+4 -1
pkgs/development/python-modules/pyinstaller/default.nix
···
, pyinstaller
, glibc
, binutils
+
, macholib
, installShellFiles
+
, stdenv
}:
buildPythonPackage rec {
···
dependencies = [
altgraph
packaging
+
macholib
pyinstaller-hooks-contrib
];
-
makeWrapperArgs = [
+
makeWrapperArgs = lib.optionals stdenv.hostPlatform.isLinux [
"--prefix" "PATH" ":" (lib.makeBinPath [ glibc binutils ])
];
+6 -6
pkgs/development/python-modules/python-opendata-transport/default.nix
···
buildPythonPackage rec {
pname = "python-opendata-transport";
-
version = "0.4.0";
+
version = "0.5.0";
pyproject = true;
-
disabled = pythonOlder "3.9";
+
disabled = pythonOlder "3.11";
src = fetchPypi {
pname = "python_opendata_transport";
inherit version;
-
hash = "sha256-2lEKPu5vjyqNUqz1NGmZ5b6YP3oWnCgoubDdiQCbdps=";
+
hash = "sha256-CtYsks7Q33ww0Mr9ehhq7+fJhCsj4gxKytiCZ6G4Aqc=";
};
-
nativeBuildInputs = [ setuptools ];
+
build-system = [ setuptools ];
-
propagatedBuildInputs = [
+
dependencies = [
aiohttp
urllib3
];
···
description = "Python client for interacting with transport.opendata.ch";
homepage = "https://github.com/home-assistant-ecosystem/python-opendata-transport";
changelog = "https://github.com/home-assistant-ecosystem/python-opendata-transport/releases/tag/${version}";
-
license = with licenses; [ mit ];
+
license = licenses.mit;
maintainers = with maintainers; [ fab ];
};
}
-2
pkgs/development/python-modules/sphinx-hoverxref/default.nix
···
buildPythonPackage,
fetchFromGitHub,
flit-core,
-
pythonImportsCheckHook,
# documentation build dependencies
sphinxHook,
sphinx-notfound-page,
···
nativeBuildInputs = [
flit-core
-
pythonImportsCheckHook
sphinxHook
sphinx-notfound-page
-2
pkgs/development/python-modules/sphinx-notfound-page/default.nix
···
buildPythonPackage,
fetchFromGitHub,
flit-core,
-
pythonImportsCheckHook,
pythonOlder,
# documentation build dependencies
sphinxHook,
···
nativeBuildInputs = [
flit-core
-
pythonImportsCheckHook
sphinxHook
sphinx-prompt
sphinx-rtd-theme
-2
pkgs/development/python-modules/sphinx-version-warning/default.nix
···
buildPythonPackage,
fetchFromGitHub,
fetchpatch,
-
pythonImportsCheckHook,
pythonOlder,
setuptools,
sphinx,
···
];
nativeBuildInputs = [
-
pythonImportsCheckHook
sphinx-autoapi
sphinx-prompt
sphinx-rtd-theme
-2
pkgs/development/python-modules/stringbrewer/default.nix
···
fetchPypi,
rstr,
sre-yield,
-
pythonImportsCheckHook,
}:
buildPythonPackage rec {
···
rstr
sre-yield
];
-
nativeBuildInputs = [ pythonImportsCheckHook ];
# Package has no tests
doCheck = false;
-2
pkgs/development/python-modules/vharfbuzz/default.nix
···
buildPythonPackage,
fetchPypi,
fonttools,
-
pythonImportsCheckHook,
uharfbuzz,
}:
···
fonttools
uharfbuzz
];
-
nativeBuildInputs = [ pythonImportsCheckHook ];
# Package has no tests.
doCheck = false;
+3 -1
pkgs/development/python-modules/vllm/default.nix
···
happysalada
lach
];
-
broken = !cudaSupport && !rocmSupport;
+
# RuntimeError: Unknown runtime environment
+
broken = true;
+
# broken = !cudaSupport && !rocmSupport;
};
}
+3 -1
pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh
···
fi
fi
-
echo ".git.$rev"
+
if [ -n "$rev" ]; then
+
echo ".git.$rev"
+
fi
}
+4
pkgs/servers/gotosocial/default.nix
···
"-X main.Version=${version}"
];
+
tags = [
+
"kvformat"
+
];
+
postInstall = ''
tar xf ${web-assets}
mkdir -p $out/share/gotosocial
+3 -3
pkgs/servers/homepage-dashboard/default.nix
···
in
buildNpmPackage rec {
pname = "homepage-dashboard";
-
version = "0.9.9";
+
version = "0.9.10";
src = fetchFromGitHub {
owner = "gethomepage";
repo = "homepage";
rev = "v${version}";
-
hash = "sha256-jUKXAqq6Oj8CmOuBUlsf0zDIcK+3MX/czzNDmakN9VM=";
+
hash = "sha256-qDbYgitMbjOMIZUyQuFSNAyb/ZRAcStm/jDrsIutKno=";
};
-
npmDepsHash = "sha256-YjcF8FkURnTurcJ0Iq0ghv/bhu5sFA860jXrn3TkRds=";
+
npmDepsHash = "sha256-gAti4y4Ios7XjJ3nVOhzjwPzcAC2upODZ64qQjx17JE=";
preBuild = ''
mkdir -p config
+37
pkgs/servers/nosql/mongodb/7.0.nix
···
+
{
+
stdenv,
+
callPackage,
+
sasl,
+
boost,
+
Security,
+
CoreFoundation,
+
cctools,
+
avxSupport ? stdenv.hostPlatform.avxSupport,
+
}:
+
+
let
+
buildMongoDB = callPackage ./mongodb.nix {
+
inherit
+
sasl
+
boost
+
Security
+
CoreFoundation
+
cctools
+
stdenv
+
;
+
};
+
in
+
buildMongoDB {
+
inherit avxSupport;
+
version = "7.0.14";
+
sha256 = "sha256-3NUv/Rr6V0rH6zHCXJwHZ7ZQOqMJvYGessNVemUF6g0=";
+
patches = [
+
# ModuleNotFoundError: No module named 'mongo_tooling_metrics':
+
# NameError: name 'SConsToolingMetrics' is not defined:
+
# The recommended linker 'lld' is not supported with the current compiler configuration, you can try the 'gold' linker with '--linker=gold'.
+
./mongodb7-SConstruct.patch
+
+
# Fix building with python 3.12 since the imp module was removed
+
./mongodb-python312.patch
+
];
+
}
+9 -2
pkgs/servers/nosql/mongodb/mongodb.nix
···
, buildPackages
, boost
, gperftools
+
, pcre2
, pcre-cpp
, snappy
, zlib
···
system-libraries = [
"boost"
-
"pcre"
"snappy"
"yaml"
"zlib"
···
#"stemmer" -- not nice to package yet (no versioning, no makefile, no shared libs).
#"valgrind" -- mongodb only requires valgrind.h, which is vendored in the source.
#"wiredtiger"
-
] ++ lib.optionals stdenv.hostPlatform.isLinux [ "tcmalloc" ];
+
] ++ lib.optionals stdenv.hostPlatform.isLinux [ "tcmalloc" ]
+
++ lib.optionals (lib.versionOlder version "7.0") [
+
"pcre"
+
]
+
++ lib.optionals (lib.versionAtLeast version "7.0") [
+
"pcre2"
+
];
inherit (lib) systems subtractLists;
in stdenv.mkDerivation rec {
···
yaml-cpp
openssl
openldap
+
pcre2
pcre-cpp
sasl
snappy
+63
pkgs/servers/nosql/mongodb/mongodb7-SConstruct.patch
···
+
diff --git a/SConstruct b/SConstruct
+
index 07579349b83..68a26f26a49 100644
+
--- a/SConstruct
+
+++ b/SConstruct
+
@@ -23,7 +23,6 @@ from pkg_resources import parse_version
+
+
import SCons
+
import SCons.Script
+
-from mongo_tooling_metrics.lib.top_level_metrics import SConsToolingMetrics
+
from site_scons.mongo import build_profiles
+
+
# This must be first, even before EnsureSConsVersion, if
+
@@ -1653,16 +1652,6 @@ env = Environment(variables=env_vars, **envDict)
+
del envDict
+
env.AddMethod(lambda env, name, **kwargs: add_option(name, **kwargs), 'AddOption')
+
+
-# The placement of this is intentional. Here we setup an atexit method to store tooling metrics.
+
-# We should only register this function after env, env_vars and the parser have been properly initialized.
+
-SConsToolingMetrics.register_metrics(
+
- utc_starttime=datetime.utcnow(),
+
- artifact_dir=env.Dir('$BUILD_DIR').get_abspath(),
+
- env_vars=env_vars,
+
- env=env,
+
- parser=_parser,
+
-)
+
-
+
if get_option('build-metrics'):
+
env['BUILD_METRICS_ARTIFACTS_DIR'] = '$BUILD_ROOT/$VARIANT_DIR'
+
env.Tool('build_metrics')
+
@@ -3549,33 +3538,6 @@ def doConfigure(myenv):
+
myenv.AddMethod(
+
functools.partial(var_func, var=var, func=CheckFlag), f"Check{var}Supported")
+
+
- if myenv.ToolchainIs('gcc', 'clang'):
+
- # This tells clang/gcc to use the gold linker if it is available - we prefer the gold linker
+
- # because it is much faster. Don't use it if the user has already configured another linker
+
- # selection manually.
+
- if any(flag.startswith('-fuse-ld=') for flag in env['LINKFLAGS']):
+
- myenv.FatalError(
+
- f"Use the '--linker' option instead of modifying the LINKFLAGS directly.")
+
-
+
- linker_ld = get_option('linker')
+
- if linker_ld == 'auto':
+
- if not env.TargetOSIs('darwin', 'macOS'):
+
- if not myenv.AddToLINKFLAGSIfSupported('-fuse-ld=lld'):
+
- myenv.FatalError(
+
- f"The recommended linker 'lld' is not supported with the current compiler configuration, you can try the 'gold' linker with '--linker=gold'."
+
- )
+
- elif link_model.startswith("dynamic") and linker_ld == 'bfd':
+
- # BFD is not supported due to issues with it causing warnings from some of
+
- # the third party libraries that mongodb is linked with:
+
- # https://jira.mongodb.org/browse/SERVER-49465
+
- myenv.FatalError(f"Linker {linker_ld} is not supported with dynamic link model builds.")
+
- else:
+
- if not myenv.AddToLINKFLAGSIfSupported(f'-fuse-ld={linker_ld}'):
+
- myenv.FatalError(f"Linker {linker_ld} could not be configured.")
+
-
+
- if has_option('gcov') and myenv.AddToCCFLAGSIfSupported('-fprofile-update=single'):
+
- myenv.AppendUnique(LINKFLAGS=['-fprofile-update=single'])
+
-
+
detectCompiler = Configure(
+
myenv,
+
help=False,
+4 -4
pkgs/servers/search/quickwit/Cargo.lock
···
[[package]]
name = "time"
-
version = "0.3.34"
+
version = "0.3.36"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749"
+
checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885"
dependencies = [
"deranged",
"itoa",
···
[[package]]
name = "time-macros"
-
version = "0.2.17"
+
version = "0.2.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774"
+
checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf"
dependencies = [
"num-conv",
"time-core",
+4
pkgs/servers/search/quickwit/default.nix
···
};
};
+
cargoPatches =[
+
./update-time-for-rust-1.80.patch
+
];
+
CARGO_PROFILE_RELEASE_LTO = "fat";
CARGO_PROFILE_RELEASE_CODEGEN_UNITS = "1";
+28
pkgs/servers/search/quickwit/update-time-for-rust-1.80.patch
···
+
diff --git a/Cargo.lock b/Cargo.lock
+
index db5e22e6..6d48db37 100644
+
--- a/Cargo.lock
+
+++ b/Cargo.lock
+
@@ -8225,9 +8225,9 @@ dependencies = [
+
+
[[package]]
+
name = "time"
+
-version = "0.3.34"
+
+version = "0.3.36"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
-checksum = "c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749"
+
+checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885"
+
dependencies = [
+
"deranged",
+
"itoa",
+
@@ -8258,9 +8258,9 @@ dependencies = [
+
+
[[package]]
+
name = "time-macros"
+
-version = "0.2.17"
+
+version = "0.2.18"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
-checksum = "7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774"
+
+checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf"
+
dependencies = [
+
"num-conv",
+
"time-core",
-2
pkgs/tools/admin/cdist/default.nix
···
{ lib
, buildPythonApplication
, fetchFromGitea
-
, pythonImportsCheckHook
, six
, sphinxHook
, sphinx-rtd-theme
···
};
nativeBuildInputs = [
-
pythonImportsCheckHook
six
sphinxHook
sphinx-rtd-theme
+3 -3
pkgs/tools/security/cryptomator/default.nix
···
maven.buildMavenPackage rec {
pname = "cryptomator";
-
version = "1.13.0";
+
version = "1.14.1";
src = fetchFromGitHub {
owner = "cryptomator";
repo = "cryptomator";
rev = version;
-
hash = "sha256-aKj8/yQzNWWV2m+sF2Or59OyPMiBqPeXEHn88w2VUkU=";
+
hash = "sha256-so8RINjFLF9H4K9f/60Ym/v/VpcVfxJ/c+JDOAPFgZU=";
};
mvnJdk = jdk;
mvnParameters = "-Dmaven.test.skip=true -Plinux";
-
mvnHash = "sha256-bZGTYkxRXgjGoxAdVkgiZZgVSghKz3Mq9pCBdivMNPQ=";
+
mvnHash = "sha256-aB7wgnJAYvCizC0/gG/amcId/WVVWmZndItm398nDfQ=";
preBuild = ''
VERSION=${version}
+13
pkgs/top-level/all-packages.nix
···
if stdenv.cc.isClang then llvmPackages.stdenv else stdenv;
+
mongodb-7_0 = darwin.apple_sdk_11_0.callPackage ../servers/nosql/mongodb/7.0.nix {
+
sasl = cyrus_sasl;
+
boost = boost179.override { enableShared = false; };
+
inherit (darwin.apple_sdk.frameworks) CoreFoundation Security;
+
stdenv = if stdenv.hostPlatform.isDarwin then
+
darwin.apple_sdk_11_0.stdenv.override (old: {
+
hostPlatform = old.hostPlatform // { darwinMinVersion = "10.14"; };
+
buildPlatform = old.buildPlatform // { darwinMinVersion = "10.14"; };
+
targetPlatform = old.targetPlatform // { darwinMinVersion = "10.14"; };
+
}) else
+
if stdenv.cc.isClang then llvmPackages.stdenv else stdenv;
+
};
+
immudb = callPackage ../servers/nosql/immudb { };
influxdb = callPackage ../servers/nosql/influxdb { };