mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-11-01 09:39:56 +00:00
Compare commits
17 Commits
master
...
staging-ni
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
314856eb73 | ||
|
|
f45f87ad31 | ||
|
|
d88a77cd07 | ||
|
|
4f5a4f6b95 | ||
|
|
5958536127 | ||
|
|
6f5ee22df1 | ||
|
|
16c8316a19 | ||
|
|
17e20319af | ||
|
|
7c24500e5f | ||
|
|
71c3728e60 | ||
|
|
bccbc81037 | ||
|
|
5586e18a7f | ||
|
|
3ee7fa5291 | ||
|
|
66cf75f595 | ||
|
|
94c56eb596 | ||
|
|
215954bfe9 | ||
|
|
97f93996c6 |
@@ -30,7 +30,6 @@ let
|
||||
cfg = config.fonts.fontconfig;
|
||||
|
||||
fcBool = x: "<bool>" + (lib.boolToString x) + "</bool>";
|
||||
pkg = pkgs.fontconfig;
|
||||
|
||||
# configuration file to read fontconfig cache
|
||||
# priority 0
|
||||
@@ -49,7 +48,7 @@ let
|
||||
inherit fontconfig;
|
||||
fontDirectories = config.fonts.packages;
|
||||
};
|
||||
cache = makeCache pkgs.fontconfig;
|
||||
cache = makeCache cfg.package;
|
||||
cache32 = makeCache pkgs.pkgsi686Linux.fontconfig;
|
||||
in
|
||||
pkgs.writeText "fc-00-nixos-cache.conf" ''
|
||||
@@ -209,7 +208,7 @@ let
|
||||
# Replace default linked config with a different variant
|
||||
replaceDefaultConfig = defaultConfig: newConfig: ''
|
||||
rm $dst/${defaultConfig}
|
||||
ln -s ${pkg.out}/share/fontconfig/conf.avail/${newConfig} \
|
||||
ln -s ${cfg.package.out}/share/fontconfig/conf.avail/${newConfig} \
|
||||
$dst/
|
||||
'';
|
||||
|
||||
@@ -224,7 +223,7 @@ let
|
||||
mkdir -p $dst
|
||||
|
||||
# fonts.conf
|
||||
ln -s ${pkg.out}/etc/fonts/fonts.conf \
|
||||
ln -s ${cfg.package.out}/etc/fonts/fonts.conf \
|
||||
$dst/../fonts.conf
|
||||
# TODO: remove this legacy symlink once people stop using packages built before #95358 was merged
|
||||
mkdir -p $out/etc/fonts/2.11
|
||||
@@ -232,7 +231,7 @@ let
|
||||
$out/etc/fonts/2.11/fonts.conf
|
||||
|
||||
# fontconfig default config files
|
||||
ln -s ${pkg.out}/etc/fonts/conf.d/*.conf \
|
||||
ln -s ${cfg.package.out}/etc/fonts/conf.d/*.conf \
|
||||
$dst/
|
||||
|
||||
${lib.optionalString (!cfg.antialias) (
|
||||
@@ -352,6 +351,8 @@ in
|
||||
'';
|
||||
};
|
||||
|
||||
package = lib.mkPackageOption pkgs "fontconfig" { };
|
||||
|
||||
confPackages = lib.mkOption {
|
||||
internal = true;
|
||||
type = with lib.types; listOf path;
|
||||
@@ -627,14 +628,14 @@ in
|
||||
};
|
||||
config = lib.mkMerge [
|
||||
(lib.mkIf cfg.enable {
|
||||
environment.systemPackages = [ pkgs.fontconfig ];
|
||||
environment.systemPackages = [ cfg.package ];
|
||||
environment.etc.fonts.source = "${fontconfigEtc}/etc/fonts/";
|
||||
security.apparmor.includes."abstractions/fonts" = ''
|
||||
# fonts.conf
|
||||
r ${pkg.out}/etc/fonts/fonts.conf,
|
||||
r ${cfg.package.out}/etc/fonts/fonts.conf,
|
||||
|
||||
# fontconfig default config files
|
||||
r ${pkg.out}/etc/fonts/conf.d/*.conf,
|
||||
r ${cfg.package.out}/etc/fonts/conf.d/*.conf,
|
||||
|
||||
# 00-nixos-cache.conf
|
||||
r ${cacheConf},
|
||||
@@ -644,7 +645,7 @@ in
|
||||
|
||||
# 50-user.conf
|
||||
${lib.optionalString cfg.includeUserConf ''
|
||||
r ${pkg.out}/etc/fonts/conf.d.bak/50-user.conf,
|
||||
r ${cfg.package.out}/etc/fonts/conf.d.bak/50-user.conf,
|
||||
''}
|
||||
|
||||
# local.conf (indirect priority 51)
|
||||
|
||||
@@ -59,11 +59,6 @@ with lib;
|
||||
KillMode = "process";
|
||||
Restart = "on-success";
|
||||
Type = "notify";
|
||||
User = "toxvpn";
|
||||
Group = "toxvpn";
|
||||
# Creates a tun device, which needs CAP_NET_ADMIN.
|
||||
AmbientCapabilities = [ "CAP_NET_ADMIN" ];
|
||||
CapabilityBoundingSet = [ "CAP_NET_ADMIN" ];
|
||||
};
|
||||
|
||||
restartIfChanged = false; # Likely to be used for remote admin
|
||||
|
||||
@@ -110,7 +110,7 @@ in
|
||||
metrics = lib.mkEnableOption "Sending usage metrics containing the version of bluemap in use";
|
||||
};
|
||||
};
|
||||
description = "Settings for the core.conf file, [see upstream docs](https://github.com/BlueMap-Minecraft/BlueMap/blob/master/common/src/main/resources/de/bluecolored/bluemap/config/core.conf).";
|
||||
description = "Settings for the core.conf file, [see upstream docs](https://github.com/BlueMap-Minecraft/BlueMap/blob/master/BlueMapCommon/src/main/resources/de/bluecolored/bluemap/config/core.conf).";
|
||||
};
|
||||
|
||||
webappSettings = mkOption {
|
||||
@@ -127,7 +127,7 @@ in
|
||||
webroot = config.services.bluemap.webRoot;
|
||||
}
|
||||
'';
|
||||
description = "Settings for the webapp.conf file, see [upstream docs](https://github.com/BlueMap-Minecraft/BlueMap/blob/master/common/src/main/resources/de/bluecolored/bluemap/config/webapp.conf).";
|
||||
description = "Settings for the webapp.conf file, see [upstream docs](https://github.com/BlueMap-Minecraft/BlueMap/blob/master/BlueMapCommon/src/main/resources/de/bluecolored/bluemap/config/webapp.conf).";
|
||||
};
|
||||
|
||||
webserverSettings = mkOption {
|
||||
@@ -147,7 +147,7 @@ in
|
||||
default = { };
|
||||
description = ''
|
||||
Settings for the webserver.conf file, usually not required.
|
||||
[See upstream docs](https://github.com/BlueMap-Minecraft/BlueMap/blob/master/common/src/main/resources/de/bluecolored/bluemap/config/webserver.conf).
|
||||
[See upstream docs](https://github.com/BlueMap-Minecraft/BlueMap/blob/master/BlueMapCommon/src/main/resources/de/bluecolored/bluemap/config/webserver.conf).
|
||||
'';
|
||||
};
|
||||
|
||||
@@ -158,7 +158,7 @@ in
|
||||
options = {
|
||||
world = lib.mkOption {
|
||||
type = lib.types.path;
|
||||
description = "Path to the world directory.";
|
||||
description = "Path to world folder containing the dimension to render";
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -166,14 +166,12 @@ in
|
||||
default = {
|
||||
"overworld" = {
|
||||
world = "${cfg.defaultWorld}";
|
||||
dimension = "minecraft:overworld";
|
||||
ambient-light = 0.1;
|
||||
cave-detection-ocean-floor = -5;
|
||||
};
|
||||
|
||||
"nether" = {
|
||||
world = "${cfg.defaultWorld}";
|
||||
dimension = "minecraft:the_nether";
|
||||
world = "${cfg.defaultWorld}/DIM-1";
|
||||
sorting = 100;
|
||||
sky-color = "#290000";
|
||||
void-color = "#150000";
|
||||
@@ -186,8 +184,7 @@ in
|
||||
};
|
||||
|
||||
"end" = {
|
||||
world = "${cfg.defaultWorld}";
|
||||
dimension = "minecraft:the_end";
|
||||
world = "${cfg.defaultWorld}/DIM1";
|
||||
sorting = 200;
|
||||
sky-color = "#080010";
|
||||
void-color = "#080010";
|
||||
@@ -201,14 +198,12 @@ in
|
||||
{
|
||||
"overworld" = {
|
||||
world = "''${cfg.defaultWorld}";
|
||||
dimension = "minecraft:overworld";
|
||||
ambient-light = 0.1;
|
||||
cave-detection-ocean-floor = -5;
|
||||
};
|
||||
|
||||
"nether" = {
|
||||
world = "''${cfg.defaultWorld}";
|
||||
dimension = "minecraft:the_nether";
|
||||
world = "''${cfg.defaultWorld}/DIM-1";
|
||||
sorting = 100;
|
||||
sky-color = "#290000";
|
||||
void-color = "#150000";
|
||||
@@ -221,8 +216,7 @@ in
|
||||
};
|
||||
|
||||
"end" = {
|
||||
world = "''${cfg.defaultWorld}";
|
||||
dimension = "minecraft:the_end";
|
||||
world = "''${cfg.defaultWorld}/DIM1";
|
||||
sorting = 200;
|
||||
sky-color = "#080010";
|
||||
void-color = "#080010";
|
||||
@@ -237,7 +231,7 @@ in
|
||||
Settings for files in `maps/`.
|
||||
If you define anything here you must define everything yourself.
|
||||
See the default for an example with good options for the different world types.
|
||||
For valid values [consult upstream docs](https://github.com/BlueMap-Minecraft/BlueMap/blob/master/common/src/main/resources/de/bluecolored/bluemap/config/maps/map.conf).
|
||||
For valid values [consult upstream docs](https://github.com/BlueMap-Minecraft/BlueMap/blob/master/BlueMapCommon/src/main/resources/de/bluecolored/bluemap/config/maps/map.conf).
|
||||
'';
|
||||
};
|
||||
|
||||
@@ -260,7 +254,7 @@ in
|
||||
description = ''
|
||||
Where the rendered map will be stored.
|
||||
Unless you are doing something advanced you should probably leave this alone and configure webRoot instead.
|
||||
[See upstream docs](https://github.com/BlueMap-Minecraft/BlueMap/tree/master/common/src/main/resources/de/bluecolored/bluemap/config/storages)
|
||||
[See upstream docs](https://github.com/BlueMap-Minecraft/BlueMap/tree/master/BlueMapCommon/src/main/resources/de/bluecolored/bluemap/config/storages)
|
||||
'';
|
||||
default = {
|
||||
"file" = {
|
||||
|
||||
@@ -89,6 +89,7 @@ let
|
||||
"systemd-fsck-root.service"
|
||||
"systemd-growfs@.service"
|
||||
"systemd-growfs-root.service"
|
||||
"systemd-loop@.service"
|
||||
"systemd-remount-fs.service"
|
||||
"systemd-pstore.service"
|
||||
"local-fs.target"
|
||||
|
||||
@@ -97,6 +97,7 @@ let
|
||||
"systemd-factory-reset-complete.service"
|
||||
"factory-reset-now.target"
|
||||
"systemd-fsck@.service"
|
||||
"systemd-loop@.service"
|
||||
"systemd-halt.service"
|
||||
"systemd-hibernate-resume.service"
|
||||
"systemd-journald-audit.socket"
|
||||
@@ -613,6 +614,7 @@ in
|
||||
"${cfg.package}/lib/systemd/systemd-bsod"
|
||||
"${cfg.package}/lib/systemd/systemd-sysroot-fstab-check"
|
||||
"${cfg.package}/lib/systemd/systemd-factory-reset"
|
||||
"${cfg.package}/bin/systemd-dissect"
|
||||
|
||||
# generators
|
||||
"${cfg.package}/lib/systemd/system-generators/systemd-debug-generator"
|
||||
|
||||
@@ -1898,7 +1898,6 @@ in
|
||||
tmate-ssh-server = runTest ./tmate-ssh-server.nix;
|
||||
tomcat = runTest ./tomcat.nix;
|
||||
tor = runTest ./tor.nix;
|
||||
toxvpn = runTest ./toxvpn.nix;
|
||||
tpm-ek = handleTest ./tpm-ek { };
|
||||
tpm2 = import ./tpm2 { inherit runTest; };
|
||||
traccar = runTest ./traccar.nix;
|
||||
|
||||
@@ -1,70 +0,0 @@
|
||||
{ lib, ... }:
|
||||
let
|
||||
mkNode =
|
||||
localip:
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
{
|
||||
virtualisation.vlans = [ 1 ];
|
||||
services.toxvpn = {
|
||||
enable = true;
|
||||
inherit localip;
|
||||
};
|
||||
networking.firewall.allowedUDPPorts = [ config.services.toxvpn.port ];
|
||||
networking.firewall.allowedTCPPorts = [ 8000 ];
|
||||
environment.systemPackages = [ pkgs.socat ];
|
||||
};
|
||||
in
|
||||
{
|
||||
name = "toxvpn";
|
||||
|
||||
meta.maintainers = with lib.maintainers; [ h7x4 ];
|
||||
|
||||
containers.alice = mkNode "10.0.0.1";
|
||||
containers.bob = mkNode "10.0.0.2";
|
||||
|
||||
testScript =
|
||||
{ containers, ... }:
|
||||
let
|
||||
aliceIp = containers.alice.services.toxvpn.localip;
|
||||
bobIp = containers.bob.services.toxvpn.localip;
|
||||
in
|
||||
''
|
||||
import re
|
||||
|
||||
start_all()
|
||||
alice.wait_for_unit("toxvpn.service")
|
||||
bob.wait_for_unit("toxvpn.service")
|
||||
|
||||
with subtest("Whitelist each other"):
|
||||
alice_status = alice.succeed('socat TEXT:"status\\n" UNIX-CONNECT:/run/toxvpn/control')
|
||||
bob_status = bob.succeed('socat TEXT:"status\\n" UNIX-CONNECT:/run/toxvpn/control')
|
||||
|
||||
alice_id_match = re.search(r"my id is ([0-9a-f]+)", alice_status)
|
||||
bob_id_match = re.search(r"my id is ([0-9a-f]+)", bob_status)
|
||||
assert alice_id_match
|
||||
assert bob_id_match
|
||||
|
||||
alice.succeed(f'socat TEXT:"whitelist {bob_id_match.group(1)}\\n" UNIX-CONNECT:/run/toxvpn/control')
|
||||
bob.succeed(f'socat TEXT:"whitelist {alice_id_match.group(1)}\\n" UNIX-CONNECT:/run/toxvpn/control')
|
||||
|
||||
with subtest("Connect to each other"):
|
||||
alice.wait_until_succeeds('socat TEXT:"list\\n" UNIX-CONNECT:/run/toxvpn/control | grep -q bob')
|
||||
bob.wait_until_succeeds('socat TEXT:"list\\n" UNIX-CONNECT:/run/toxvpn/control | grep -q alice')
|
||||
|
||||
alice.succeed("ping -c 1 ${bobIp}")
|
||||
bob.succeed("ping -c 1 ${aliceIp}")
|
||||
|
||||
with subtest("Send messages to each other"):
|
||||
alice.execute("(socat TCP-LISTEN:8000 OPEN:/tmp/received,creat &) >&2")
|
||||
bob.execute("(socat TCP-LISTEN:8000 OPEN:/tmp/received,creat &) >&2")
|
||||
|
||||
bob.wait_until_succeeds('socat TEXT:"hi\\n" TCP:${aliceIp}:8000')
|
||||
alice.wait_until_succeeds("grep -q hi /tmp/received")
|
||||
alice.wait_until_succeeds('socat TEXT:"hi\\n" TCP:${bobIp}:8000')
|
||||
bob.wait_until_succeeds("grep -q hi /tmp/received")
|
||||
'';
|
||||
}
|
||||
@@ -34,7 +34,7 @@ stdenvNoCC.mkDerivation {
|
||||
|
||||
preFixup = ''
|
||||
makeWrapperArgs=(
|
||||
${lib.optionalString (runtimeDeps != [ ]) "--prefix PATH : ${lib.makeBinPath runtimeDeps}"}
|
||||
--prefix PATH : "${lib.makeBinPath runtimeDeps}"
|
||||
)
|
||||
gappsWrapperArgs+=(
|
||||
# Thumbnailers
|
||||
|
||||
@@ -1,21 +1,21 @@
|
||||
# Expression generated by update.py; do not edit it by hand!
|
||||
rec {
|
||||
pname = "brave-origin";
|
||||
version = "1.98.63";
|
||||
version = "1.98.62";
|
||||
flavor = "origin";
|
||||
|
||||
archives = {
|
||||
aarch64-linux = {
|
||||
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-origin_${version}_arm64.deb";
|
||||
hash = "sha256-8nkMT9jDBJ1H2u6TJ4f2Hq50B8LKMN5q6Dar9TV9n4s=";
|
||||
hash = "sha256-8H1A2oWUXvQ9Tzc+6PsKbFUBSOFa5+YjZEU8CwCCv9c=";
|
||||
};
|
||||
x86_64-linux = {
|
||||
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-origin_${version}_amd64.deb";
|
||||
hash = "sha256-7b2eyO1VmShI/2iJYX+V1OnvFiW9ouWKLSJv9WBNScg=";
|
||||
hash = "sha256-LiQKzhcdsHPb0OzL960BoAhwn0AcxcP1NYvu/p18Eis=";
|
||||
};
|
||||
aarch64-darwin = {
|
||||
url = "https://github.com/brave/brave-browser/releases/download/v${version}/Brave-Origin-arm64.dmg";
|
||||
hash = "sha256-/7RJV8G2xczV8yHU1nGWv7Y65EOxAdPlhsUSwC/qksg=";
|
||||
hash = "sha256-gVkaKNx9RIsORdyuu6TizhsNOOOP1pV0Tucd9e0upWY=";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
# Expression generated by update.py; do not edit it by hand!
|
||||
rec {
|
||||
pname = "brave";
|
||||
version = "1.98.63";
|
||||
version = "1.98.62";
|
||||
|
||||
archives = {
|
||||
aarch64-linux = {
|
||||
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_arm64.deb";
|
||||
hash = "sha256-jQtKAVXCgQ7JwuK3VRWbmieL1R+50Nd2ynrE9C4MwvM=";
|
||||
hash = "sha256-lXjpjKXD9QEuvAYNhp8OYmT/PW2WpfBO5zfre/ygdiQ=";
|
||||
};
|
||||
x86_64-linux = {
|
||||
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
|
||||
hash = "sha256-JCJ81aklnr3FEI2zlMxZmN9aw2NfhPiDinRkp7XN3VU=";
|
||||
hash = "sha256-+ytsdncm2ytWLXZhmGGLwppZDpj4KZat4qOikVO1VcE=";
|
||||
};
|
||||
aarch64-darwin = {
|
||||
url = "https://github.com/brave/brave-browser/releases/download/v${version}/Brave-Browser-arm64.dmg";
|
||||
hash = "sha256-13XmtzqQIFTu3gj2aeIFDtbDaRJfhLbEsKd0biTBV7k=";
|
||||
hash = "sha256-b1o57leoZSONZEG5gAzZXXC8yxsaGPRpMjBN2gTIX6w=";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,57 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
meson,
|
||||
ninja,
|
||||
pkg-config,
|
||||
libva,
|
||||
libdrm,
|
||||
linuxHeaders,
|
||||
}:
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "asahi-va-driver";
|
||||
version = "2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "AsahiLinux";
|
||||
repo = "asahi-va-driver";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-caIFHEBrgMhxLoXLJCn3JrZPcy3MAox5apXjvy3RxI8=";
|
||||
};
|
||||
|
||||
__structuredAttrs = true;
|
||||
strictDeps = true;
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
libva
|
||||
libdrm
|
||||
linuxHeaders
|
||||
];
|
||||
|
||||
mesonFlags = [
|
||||
"-Ddriverdir=${placeholder "out"}/lib/dri"
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "VA-API (libva) backend driver for V4L2 stateless video decoders.";
|
||||
longDescription = ''
|
||||
A fork of the upstream https://xff.cz/git/libva-v4l2_request/. This version focuses on Apple Silicon.
|
||||
|
||||
When support is available in the kernel and hardware, this allows hardware decoding of MPEG-2, H.264, HEVC, VP8, VP9 and AV1 through VA-API. AVD has support for all of these apart from VP8 and MPEG-2, though AV-1 is only supported on M3+.
|
||||
'';
|
||||
homepage = "https://github.com/AsahiLinux/asahi-va-driver";
|
||||
license = lib.licenses.gpl3Plus;
|
||||
maintainers = with lib.maintainers; [
|
||||
flokli
|
||||
sempiternal-aurora
|
||||
];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
})
|
||||
@@ -3,18 +3,16 @@
|
||||
stdenvNoCC,
|
||||
fetchurl,
|
||||
makeWrapper,
|
||||
javaPackages,
|
||||
jre,
|
||||
}:
|
||||
let
|
||||
jre = javaPackages.compiler.temurin-bin.jre-25;
|
||||
in
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "bluemap";
|
||||
version = "5.29";
|
||||
version = "5.16";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/BlueMap-Minecraft/BlueMap/releases/download/v${version}/BlueMap-${version}-cli.jar";
|
||||
hash = "sha256-6DB2f6Y2S1K5MQ+1mFCOvefuxevoNgqYniQNmRr4mjo=";
|
||||
hash = "sha256-eUDVYYkDc4l/j2vpGlLnZUYfQOW+ThxEAQBAc+4NJYA=";
|
||||
};
|
||||
|
||||
dontUnpack = true;
|
||||
|
||||
@@ -21,11 +21,11 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "btrfs-progs";
|
||||
version = "7.1";
|
||||
version = "7.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kernel/linux/kernel/people/kdave/btrfs-progs/btrfs-progs-v${finalAttrs.version}.tar.xz";
|
||||
hash = "sha256-0fVcwpcTmMkULqp50gPmPVhqO0uGf5VmZKHWgyLNTjQ=";
|
||||
hash = "sha256-03tjQD0l/gJXBMdY5qPaCXmuUMMMXwKqeORBDns0bjo=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
desktopName,
|
||||
passthru,
|
||||
moduleSrcs,
|
||||
moduleManifest,
|
||||
# Package utilities
|
||||
disableBreakingUpdates,
|
||||
stageModules,
|
||||
@@ -17,8 +16,8 @@
|
||||
withEquicord ? false,
|
||||
withMoonlight ? false,
|
||||
# Disabling this would normally break Discord.
|
||||
# The intended use-case is when SKIP_HOST_UPDATE and SKIP_MODULE_UPDATE are
|
||||
# enabled via other means, such as a declaratively linked settings.json
|
||||
# The intended use-case for this is when SKIP_HOST_UPDATE is enabled via other means,
|
||||
# for example if a settings.json is linked declaratively (e.g., with home-manager).
|
||||
disableUpdates ? true,
|
||||
# Package arguments
|
||||
commandLineArgs ? "",
|
||||
@@ -107,9 +106,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
extractDistro ${src} "$out/share/${pname}/modules/${name}"
|
||||
'') moduleSrcs
|
||||
)}
|
||||
# The updater creates pending even when module updates are disabled
|
||||
mkdir -p "$out/share/${pname}/modules/pending"
|
||||
echo ${lib.escapeShellArg moduleManifest} > "$out/share/${pname}/modules/installed.json"
|
||||
|
||||
# wrap executable to $out/bin
|
||||
mkdir -p $out/bin
|
||||
|
||||
@@ -44,8 +44,9 @@ if os.path.exists(settings_path):
|
||||
else:
|
||||
settings = {}
|
||||
|
||||
# The module directory is pinned in the Nix store and cannot accept updates
|
||||
required_settings = {"SKIP_HOST_UPDATE": True, "SKIP_MODULE_UPDATE": True}
|
||||
required_settings = {"SKIP_HOST_UPDATE": True}
|
||||
if "@skipModuleUpdate@" == "true":
|
||||
required_settings["SKIP_MODULE_UPDATE"] = True
|
||||
|
||||
missing_settings = {
|
||||
key: value for key, value in required_settings.items() if settings.get(key) != value
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
desktopName,
|
||||
passthru,
|
||||
moduleSrcs,
|
||||
moduleManifest,
|
||||
# Package utilities
|
||||
disableBreakingUpdates,
|
||||
stageModules,
|
||||
@@ -17,8 +16,8 @@
|
||||
withEquicord ? false,
|
||||
withMoonlight ? false,
|
||||
# Disabling this would normally break Discord.
|
||||
# The intended use-case is when SKIP_HOST_UPDATE and SKIP_MODULE_UPDATE are
|
||||
# enabled via other means, such as a declaratively linked settings.json
|
||||
# The intended use-case for this is when SKIP_HOST_UPDATE is enabled via other means,
|
||||
# for example if a settings.json is linked declaratively (e.g., with home-manager).
|
||||
disableUpdates ? true,
|
||||
# Feature flags (Linux exclusive)
|
||||
withTTS ? true,
|
||||
@@ -223,10 +222,13 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
brotli -d < ${src} | tar xf - --strip-components=1 -C $out/opt/${binaryName}/modules/${name}
|
||||
'') moduleSrcs
|
||||
)}
|
||||
echo ${lib.escapeShellArg moduleManifest} > $out/opt/${binaryName}/modules/installed.json
|
||||
|
||||
# The updater creates pending even when module updates are disabled
|
||||
mkdir -p $out/opt/${binaryName}/modules/{pending,discord_krisp/KMS/logs}
|
||||
mkdir -p $out/opt/${binaryName}/modules/discord_krisp/KMS/logs
|
||||
|
||||
# The web client only keeps OpenH264 2.7.0; names must stay the same length
|
||||
grep -qF libopenh264-2.5.1-linux64.7.so $out/opt/${binaryName}/modules/discord_desktop_core/core.asar
|
||||
sed -i 's/libopenh264-2\.5\.1-linux64\.7\.so/libopenh264-2.7.0-linux64.8.so/g' \
|
||||
$out/opt/${binaryName}/modules/discord_desktop_core/core.asar
|
||||
|
||||
# Chromium 148 multiplies Plasma's GTK DPI scale by the native Wayland surface
|
||||
# scale, which makes the UI too large. See #551645
|
||||
|
||||
@@ -8,8 +8,8 @@
|
||||
withEquicord ? false,
|
||||
withMoonlight ? false,
|
||||
# Disabling this would normally break Discord.
|
||||
# The intended use-case is when SKIP_HOST_UPDATE and SKIP_MODULE_UPDATE are
|
||||
# enabled via other means, such as a declaratively linked settings.json
|
||||
# The intended use-case for this is when SKIP_HOST_UPDATE is enabled via other means,
|
||||
# for example if a settings.json is linked declaratively (e.g., with home-manager).
|
||||
disableUpdates ? true,
|
||||
# Feature flags (Linux exclusive)
|
||||
withTTS ? true,
|
||||
@@ -74,10 +74,6 @@ let
|
||||
|
||||
moduleVersions = lib.mapAttrs (_: mod: mod.version) source.modules;
|
||||
|
||||
moduleManifest = builtins.toJSON (
|
||||
lib.mapAttrs (_: mod: { installedVersion = mod; }) moduleVersions
|
||||
);
|
||||
|
||||
configDir =
|
||||
if isLinux then
|
||||
"\${DISCORD_USER_DATA_DIR-\${XDG_CONFIG_HOME:-$HOME/.config}}/${lib.toLower binaryName}"
|
||||
@@ -87,15 +83,18 @@ let
|
||||
in
|
||||
"\${DISCORD_USER_DATA_DIR-$HOME/Library/Application Support}/${configDirName}";
|
||||
|
||||
# Link the whole directory so Discord's native module boundary check sees
|
||||
# the same real path for the module root and the modules it contains
|
||||
# See https://github.com/NixOS/nixpkgs/issues/580512
|
||||
# Symlink native modules from the nix store into the user config dir
|
||||
# where Discord's JS moduleUpdater expects them.
|
||||
stageModules = writeShellScript "discord-stage-modules" ''
|
||||
store_modules="$1"
|
||||
modules_dir="${configDir}/${version}/modules"
|
||||
rm -rf "$modules_dir"
|
||||
mkdir -p "$(dirname "$modules_dir")"
|
||||
ln -s "$store_modules" "$modules_dir"
|
||||
mkdir -p "$modules_dir"
|
||||
for m in ${lib.concatStringsSep " " (lib.attrNames moduleSrcs)}; do
|
||||
ln -sn "$store_modules/$m" "$modules_dir/$m"
|
||||
done
|
||||
echo '${builtins.toJSON (lib.mapAttrs (_: mod: { installedVersion = mod; }) moduleVersions)}' \
|
||||
> "$modules_dir/installed.json"
|
||||
'';
|
||||
|
||||
disableBreakingUpdates =
|
||||
@@ -103,6 +102,7 @@ let
|
||||
{
|
||||
pythonInterpreter = python3.interpreter;
|
||||
configDirName = lib.toLower binaryName;
|
||||
skipModuleUpdate = lib.boolToString withOpenASAR;
|
||||
meta.mainProgram = "disable-breaking-updates.py";
|
||||
}
|
||||
''
|
||||
@@ -135,7 +135,6 @@ let
|
||||
disableBreakingUpdates
|
||||
stageModules
|
||||
moduleSrcs
|
||||
moduleManifest
|
||||
;
|
||||
}
|
||||
);
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -7,16 +7,16 @@
|
||||
|
||||
buildNpmPackage (finalAttrs: {
|
||||
pname = "dotenvx";
|
||||
version = "2.38.2";
|
||||
version = "2.38.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dotenvx";
|
||||
repo = "dotenvx";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-GzRkB2jFV1s43YTqf5KDglsMfu/nrCwZnrTw5xMOnwM=";
|
||||
hash = "sha256-DhdYEBsBTlxDAOLCFk4FXPh9iUSMCRpA1JJLcWaBL8g=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-X0DyVHfcJCSvaCMW5+bXMiv73muzyHmy9/yUKpAfKP8=";
|
||||
npmDepsHash = "sha256-toDNCjZEPXyFyHPi3+L1ukEK/1/IR7onmMd+nBUNKl8=";
|
||||
|
||||
dontNpmBuild = true;
|
||||
|
||||
|
||||
@@ -46,13 +46,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "far2l";
|
||||
version = "2.9.1-unstable-2026-10-27";
|
||||
version = "2.9.1-unstable-2026-10-10";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "elfmz";
|
||||
repo = "far2l";
|
||||
rev = "1bd345fe9708f94e03209bd443c2ca2303b39c25";
|
||||
hash = "sha256-0898sWltJcgupef3xvazb6e2z9s/XrS8z1XRtdGsXzM=";
|
||||
rev = "5ec2011794fa0c781e6dde92c84c77b5ae02b25b";
|
||||
hash = "sha256-nBcZNIRMKWxMaTPVdXF08KpNPCh/VbgmD2Q4e0rGqCw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -12,13 +12,13 @@
|
||||
|
||||
let
|
||||
pname = "hunk";
|
||||
version = "0.24.1";
|
||||
version = "0.24.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "modem-dev";
|
||||
repo = "hunk";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-uYj+01W3f9TE9oKIW/2kVERnJIUsB/r4BcGDbnhkS/Y=";
|
||||
hash = "sha256-Nb6OB7gD1+vyLbzB3Izjf3nPVcB8Yq1Y6UDhgC1ZyDg=";
|
||||
};
|
||||
|
||||
node_modules = stdenv.mkDerivation {
|
||||
@@ -58,7 +58,7 @@ let
|
||||
|
||||
dontFixup = true;
|
||||
|
||||
outputHash = "sha256-W3yciO7CHc7Nu7GPpu4DvokhlEAvg4BDbmjAtF6r7AE=";
|
||||
outputHash = "sha256-Y0X1FlNcW7n55MSB8mO0BpOLH5Ju4n14ibex9KM9em8=";
|
||||
outputHashMode = "recursive";
|
||||
};
|
||||
in
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
|
||||
python3Packages.buildPythonApplication (finalAttrs: {
|
||||
pname = "librelane";
|
||||
version = "3.0.17";
|
||||
version = "3.0.14";
|
||||
pyproject = true;
|
||||
__structuredAttrs = true;
|
||||
|
||||
@@ -31,7 +31,7 @@ python3Packages.buildPythonApplication (finalAttrs: {
|
||||
owner = "librelane";
|
||||
repo = "librelane";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-/vJzgyBtaBqN2pfTz7gt+a6eXma09one5wZdN30sa3I=";
|
||||
hash = "sha256-/ZzATYRi9JH6YyFWnI4lLkQ2/e2B0xa7WEI65a/ArJI=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
|
||||
@@ -10,14 +10,14 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "libslirp";
|
||||
version = "4.9.5";
|
||||
version = "4.9.6";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.freedesktop.org";
|
||||
owner = "slirp";
|
||||
repo = "libslirp";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-iWu3/Klsm8e9MH147BJhn9Vqyneq5ROqPvll1cnieL0=";
|
||||
hash = "sha256-nfR5eQrcpbkmn2tx/8l649NVPOsIFSFSBkW/vw0meCM=";
|
||||
};
|
||||
|
||||
__structuredAttrs = true;
|
||||
|
||||
@@ -8,16 +8,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "redu";
|
||||
version = "0.2.16";
|
||||
version = "0.2.15";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "drdo";
|
||||
repo = "redu";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-Cro9vdWq57IRLCwp5q7iWGfThEaBsQ/z9umHlKbFVz8=";
|
||||
hash = "sha256-ByXQ3tcvXbCUZwZ+e7WJVUUjvhMf0ivJJiswFlLap4I=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-g1UylYWQL741PxNBjhVg5pSBd8P4QKPujMWAkXbusRo=";
|
||||
cargoHash = "sha256-JnjXe2CHO9Namp++UI/V6ND2Y0/WQtaVA2EcUyXUnjQ=";
|
||||
|
||||
buildInputs = [ restic ];
|
||||
|
||||
|
||||
@@ -15,13 +15,13 @@
|
||||
}:
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "snx-rs";
|
||||
version = "6.6.0";
|
||||
version = "6.5.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ancwrd1";
|
||||
repo = "snx-rs";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-E67SjpuwOPfjn9splQmAzjqdFzYoqEtyPasJP8IBi6c=";
|
||||
hash = "sha256-raEGV/3qK3feAta8YjXxo2LLH3wb2k7FZQSsEX9QbNE=";
|
||||
};
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
@@ -49,7 +49,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
versionCheckHook
|
||||
];
|
||||
|
||||
cargoHash = "sha256-Y7w5P2gePA1iy0AOpYOFPz70YBZYjy7sHEac+e9v+Ek=";
|
||||
cargoHash = "sha256-7Nb3gflXCu86H8ZF2Qh9KbbWhhFg2iMwdK55UtaP5pM=";
|
||||
|
||||
doInstallCheck = true;
|
||||
versionCheckProgram = "${placeholder "out"}/bin/snx-rs";
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
libcap,
|
||||
zeromq,
|
||||
systemdLibs,
|
||||
nixosTests,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
@@ -48,8 +47,6 @@ stdenv.mkDerivation {
|
||||
installCheckPhase = "$out/bin/toxvpn -h";
|
||||
doInstallCheck = true;
|
||||
|
||||
passthru.tests.nixos = nixosTests.toxvpn;
|
||||
|
||||
meta = {
|
||||
description = "Powerful tool that allows one to make tunneled point to point connections over Tox";
|
||||
homepage = "https://github.com/cleverca22/toxvpn";
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitea,
|
||||
fetchFromGitHub,
|
||||
|
||||
# dependencies
|
||||
pyserial,
|
||||
@@ -14,17 +14,16 @@
|
||||
numpy,
|
||||
}:
|
||||
|
||||
buildPythonPackage (finalAttrs: {
|
||||
buildPythonPackage {
|
||||
pname = "misoc";
|
||||
version = "0.12-unstable-2026-10-02";
|
||||
version = "0.12-unstable-2025-10-03";
|
||||
format = "setuptools";
|
||||
|
||||
src = fetchFromGitea {
|
||||
domain = "git.m-labs.hk";
|
||||
owner = "M-Labs";
|
||||
src = fetchFromGitHub {
|
||||
owner = "m-labs";
|
||||
repo = "misoc";
|
||||
rev = "8a909c8b638fbec584048d6929d0c577f6be182d";
|
||||
hash = "sha256-9/yKXGHhd3Ji/zIOlek0B2CrO/W09AuwNuDZOVuLOTI=";
|
||||
rev = "59043e979f78934f2c2f99ac417c65aa0c7be0b9";
|
||||
hash = "sha256-dXamAZkLdTC9UeZV6biipsZN4LHO+ZLoXV4LO+L7HTM=";
|
||||
};
|
||||
|
||||
dependencies = [
|
||||
@@ -39,15 +38,6 @@ buildPythonPackage (finalAttrs: {
|
||||
numpy
|
||||
];
|
||||
|
||||
disabledTestFiles = [
|
||||
# Fails duea multiprocessing issue that's probably only relevant in the
|
||||
# Nix sandbox.
|
||||
"misoc/test/coaxpress/test_lineparser.py"
|
||||
];
|
||||
preCheck = ''
|
||||
rm ${lib.join " " finalAttrs.disabledTestFiles}
|
||||
'';
|
||||
|
||||
pythonImportsCheck = [ "misoc" ];
|
||||
|
||||
meta = {
|
||||
@@ -56,4 +46,4 @@ buildPythonPackage (finalAttrs: {
|
||||
license = lib.licenses.bsd2;
|
||||
maintainers = with lib.maintainers; [ doronbehar ];
|
||||
};
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user