Merge 41965737c1 into haskell-updates

This commit is contained in:
nixpkgs-ci[bot]
2026-02-04 00:26:08 +00:00
committed by GitHub
350 changed files with 2660 additions and 2091 deletions

View File

@@ -1903,6 +1903,12 @@
matrix = "@schuelermine:matrix.org";
keys = [ { fingerprint = "CDBF ECA8 36FE E340 1CEB 58FF BA34 EE1A BA3A 0955"; } ];
}; # currently on hiatus, please do not ping until this notice is removed (or if its been like two years)
anstylian = {
email = "agathangelos.stylianidis@gmail.com";
github = "anstylian";
githubId = 11269403;
name = "Angelos Stylinidis";
};
anthonyroussel = {
email = "anthony@roussel.dev";
github = "anthonyroussel";
@@ -10815,7 +10821,7 @@
};
husjon = {
name = "Jon Erling Hustadnes";
email = "jonerling.hustadnes+nixpkgs@gmail.com";
email = "jonerling.hustadnes+nixpkgs@proton.me";
github = "husjon";
githubId = 554229;
};
@@ -12076,6 +12082,11 @@
githubId = 1198065;
name = "Jeffrey David Johnson";
};
jeffcshelton = {
github = "jeffcshelton";
githubId = 77426854;
name = "Jeff Shelton";
};
jefferyoo = {
email = "oojefferywm@proton.me";
github = "jefferyoo";
@@ -14529,6 +14540,12 @@
github = "juuyokka";
githubId = 15185244;
};
Ladas552 = {
email = "l.tokshalov@gmail.com";
github = "Ladas552";
githubId = 94762349;
name = "Ladas552";
};
lafrenierejm = {
email = "joseph@lafreniere.xyz";
github = "lafrenierejm";
@@ -21556,6 +21573,12 @@
githubId = 12017109;
name = "Rabindra Dhakal";
};
qb114514 = {
name = "qb114514";
email = "GNUqb114514@outlook.com";
github = "GNUqb114514";
githubId = 110373832;
};
qbisi = {
name = "qbisicwate";
email = "qbisicwate@gmail.com";
@@ -24510,6 +24533,12 @@
github = "siph";
githubId = 6619112;
};
siphc = {
name = "siphc";
github = "siphc";
githubId = 42943030;
email = "ayfpan@ucla.edu";
};
sir4ur0n = {
github = "sir4ur0n";
githubId = 1204125;

View File

@@ -76,6 +76,18 @@
"module-services-tandoor-recipes-migrating-media-option-disallow-access": [
"index.html#module-services-tandoor-recipes-migrating-media-option-disallow-access"
],
"module-virtualisation-xen": [
"index.html#module-virtualisation-xen"
],
"module-virtualisation-xen-installation-dom0": [
"index.html#module-virtualisation-xen-installation-dom0"
],
"module-virtualisation-xen-installation-domU": [
"index.html#module-virtualisation-xen-installation-domU"
],
"module-virtualisation-xen-introduction": [
"index.html#module-virtualisation-xen-introduction"
],
"sec-override-nixos-test": [
"index.html#sec-override-nixos-test"
],

View File

@@ -133,6 +133,8 @@ See <https://github.com/NixOS/nixpkgs/issues/481673>.
- Cinnamon has been updated to 6.6, please check the [upstream announcement](https://www.linuxmint.com/rel_zena_whatsnew.php) for more details.
- Budgie has been updated to 10.10, please check the [upstream announcement](https://buddiesofbudgie.org/blog/budgie-10-10-released) for more details.
- `services.frp` now supports multiple instances through `services.frp.instances` to make it possible to run multiple frp clients or servers at the same time.
- `hyphen` now supports over 40 language variants through `hyphenDicts` and now allows to enable all supported languages through `hyphenDicts.all`.

View File

@@ -156,15 +156,19 @@ in
fi
'';
# https://docs.buddiesofbudgie.org/10.10/developer/workflow/building-budgie-desktop/#compositor-recommendations
programs.labwc.enable = mkDefault true;
programs.gtklock.enable = mkDefault true;
environment.systemPackages =
with pkgs;
[
# Budgie Desktop.
budgie-backgrounds
budgie-control-center'
budgie-desktop-services
(budgie-desktop-with-plugins.override { plugins = cfg.extraPlugins; })
budgie-desktop-view
budgie-screensaver
budgie-session
# Required by Budgie Menu.
@@ -190,6 +194,17 @@ in
mate.mate-system-monitor
vlc
# Supplemental tooling.
# See budgie-desktop's with-runtime-dependencies meson option.
gammastep
grim
killall
slurp
swaybg
swayidle
wdisplays
wlopm
# Desktop themes.
qogir-theme
qogir-icon-theme
@@ -224,9 +239,6 @@ in
services.xserver.updateDbusEnvironment = true;
programs.dconf.enable = true;
# Required by Budgie Screensaver.
security.pam.services.budgie-screensaver = { };
# Required by Budgie's Polkit Dialog.
security.polkit.enable = mkDefault true;
@@ -240,6 +252,7 @@ in
xdg.portal.enable = mkDefault true; # for BCC's Applications panel.
xdg.portal.extraPortals = with pkgs; [
xdg-desktop-portal-gtk # provides a XDG Portals implementation.
xdg-desktop-portal-wlr # for screenshot and screencast.
];
xdg.portal.configPackages = mkDefault [ pkgs.budgie-desktop ];
@@ -274,11 +287,7 @@ in
# Register packages for DBus.
services.dbus.packages = [
budgie-control-center'
];
# Register packages for udev.
services.udev.packages = with pkgs; [
magpie
pkgs.budgie-desktop-services
];
# Shell integration for MATE Terminal.

View File

@@ -60,7 +60,7 @@ in
description = "Whether to start the web-ui. This is the preferred way of configuring things such as the steam guard token.";
};
package = lib.mkPackageOption pkgs [ "ArchiSteamFarm" "ui" ] {
package = lib.mkPackageOption pkgs [ "archisteamfarm" "ui" ] {
extraDescription = ''
::: {.note}
Contents must be in lib/dist
@@ -78,7 +78,7 @@ in
description = "The Web-UI hosted on 127.0.0.1:1242.";
};
package = lib.mkPackageOption pkgs "ArchiSteamFarm" {
package = lib.mkPackageOption pkgs "archisteamfarm" {
extraDescription = ''
::: {.warning}
Should always be the latest version, for security reasons,

View File

@@ -87,6 +87,7 @@ in
wantedBy = [ "multi-user.target" ];
serviceConfig = rec {
Type = "notify";
User = cfg.user;
Group = cfg.group;
DynamicUser = true;

View File

@@ -13,7 +13,6 @@ let
mkOptionDefault
mkIf
literalExpression
optionalString
types
;
inherit (lib.generators)
@@ -79,7 +78,6 @@ let
mkSection = (
depth: attrs:
let
atoms = extractAtoms attrs;
sections = extractSections attrs;
sectionHeadingLeft = lib.concatStrings (lib.replicate (depth + 1) "[");
sectionHeadingRight = lib.concatStrings (lib.replicate (depth + 1) "]");
@@ -103,7 +101,8 @@ let
else
(configObjIni { }).generate "public-settings.ini" allSettings;
sabnzbdIniPath = "/var/lib/${cfg.stateDir}/sabnzbd.ini";
sabnzbdIniPath =
if cfg.configFile != null then cfg.configFile else "/var/lib/${cfg.stateDir}/sabnzbd.ini";
in
{
@@ -115,8 +114,12 @@ in
configFile = mkOption {
type = types.nullOr types.path;
default = null;
description = "Path to config file (deprecated, use `settings` instead)";
default =
if lib.versionOlder config.system.stateVersion "26.05" then
"/var/lib/sabnzbd/sabnzbd.ini"
else
null;
description = "Path to config file (deprecated, use `settings` instead and set this value to null)";
};
stateDir = mkOption {
@@ -511,7 +514,10 @@ in
systemd.services.sabnzbd =
let
files =
(lib.optional cfg.allowConfigWrite sabnzbdIniPath) ++ [ publicSettingsIni ] ++ cfg.secretFiles;
if cfg.configFile != null then
[ sabnzbdIniPath ]
else
(lib.optional cfg.allowConfigWrite sabnzbdIniPath) ++ [ publicSettingsIni ] ++ cfg.secretFiles;
iniPathQuoted = lib.escapeShellArg sabnzbdIniPath;
in
{
@@ -531,11 +537,20 @@ in
${lib.toShellVar "files" files}
tmpfile=$(mktemp)
${lib.getExe (pkgs.python3.withPackages (py: [ py.configobj ]))} \
${./config_merge.py} \
"''${files[@]}" | \
install -D -m ${if cfg.allowConfigWrite then "600" else "400"} \
-o '${cfg.user}' -g '${cfg.group}' /dev/stdin ${iniPathQuoted}
"''${files[@]}" \
> "$tmpfile"
install -D \
-m ${if cfg.allowConfigWrite then "600" else "400"} \
-o '${cfg.user}' -g '${cfg.group}' \
"$tmpfile" \
${iniPathQuoted}
rm "$tmpfile"
'';
};

View File

@@ -38,6 +38,7 @@ let
userbornStaticFiles =
pkgs.runCommand "static-userborn" { }
"mkdir -p $out; ${lib.getExe cfg.package} ${userbornConfigJson} $out";
previousConfigPath = "/var/lib/userborn/previous-userborn.json";
immutableEtc = config.system.etc.overlay.enable && !config.system.etc.overlay.mutable;
# The filenames created by userborn.
@@ -155,6 +156,10 @@ in
# This way we don't have to re-declare all the dependencies to other
# services again.
aliases = [ "systemd-sysusers.service" ];
environment = {
USERBORN_MUTABLE_USERS = lib.boolToString userCfg.mutableUsers;
USERBORN_PREVIOUS_CONFIG = lib.mkIf userCfg.mutableUsers previousConfigPath;
};
unitConfig = {
Description = "Manage Users and Groups";
@@ -165,6 +170,7 @@ in
Type = "oneshot";
RemainAfterExit = true;
TimeoutSec = "90s";
StateDirectory = "userborn";
ExecStart = "${lib.getExe cfg.package} ${userbornConfigJson} ${cfg.passwordFilesLocation}";
@@ -179,13 +185,18 @@ in
))
];
# Make the source files read-only after userborn has finished.
ExecStartPost = lib.mkIf (!userCfg.mutableUsers) (
lib.map (
file:
"${pkgs.util-linux}/bin/mount --bind -o ro ${cfg.passwordFilesLocation}/${file} ${cfg.passwordFilesLocation}/${file}"
) passwordFiles
);
ExecStartPost =
if userCfg.mutableUsers then
# Store the config somewhere for the next invocation
[
"${pkgs.coreutils}/bin/ln -sf ${userbornConfigJson} ${previousConfigPath}"
]
else
# Make the source files read-only after userborn has finished.
(lib.map (
file:
"${pkgs.util-linux}/bin/mount --bind -o ro ${cfg.passwordFilesLocation}/${file} ${cfg.passwordFilesLocation}/${file}"
) passwordFiles);
};
};
};

View File

@@ -8,7 +8,7 @@
with lib;
let
cfg = config.services.xserver.windowManager.wmii;
wmii = pkgs.wmii_hg;
wmii = pkgs.wmii;
in
{
options = {

View File

@@ -1,5 +1,3 @@
# Xen Project Hypervisor (Dom0) support.
{
config,
lib,
@@ -8,35 +6,40 @@
}:
let
inherit (builtins) readFile;
inherit (lib.meta) hiPrio;
inherit (lib.modules) mkRemovedOptionModule mkRenamedOptionModule mkIf;
inherit (lib.options)
mkOption
mkEnableOption
inherit (lib)
boolToString
getExe
hasSuffix
hiPrio
literalExpression
mkEnableOption
mkIf
mkOption
mkPackageOption
mkRemovedOptionModule
mkRenamedOptionModule
optional
optionalAttrs
optionalString
optionals
singleton
teams
types
;
inherit (lib.types)
listOf
str
inherit (types)
addCheck
bool
enum
float
int
ints
lines
enum
path
submodule
addCheck
float
bool
int
listOf
nullOr
path
str
submodule
;
inherit (lib.lists) optional optionals;
inherit (lib.strings) hasSuffix optionalString;
inherit (lib.meta) getExe;
inherit (lib.attrsets) optionalAttrs;
inherit (lib.trivial) boolToString;
inherit (lib.teams.xen) members;
cfg = config.virtualisation.xen;
@@ -59,14 +62,12 @@ let
diffutils
]
);
runtimeEnv = {
efiMountPoint = config.boot.loader.efi.efiSysMountPoint;
};
runtimeEnv.efiMountPoint = config.boot.loader.efi.efiSysMountPoint;
# We disable SC2016 because we don't want to expand the regexes in the sed commands.
excludeShellChecks = [ "SC2016" ];
text = readFile ./xen-boot-builder.sh;
text = builtins.readFile ./xen-boot-builder.sh;
};
in
@@ -224,7 +225,7 @@ in
boot = {
params = mkOption {
default = [ ];
example = ''
example = literalExpression ''
[
"iommu=force:true,qinval:true,debug:true"
"noreboot=true"
@@ -234,8 +235,11 @@ in
type = listOf str;
description = ''
Xen Command Line parameters passed to Domain 0 at boot time.
Note: these are different from `boot.kernelParams`. See
::: {.note}
Note: these are different from {option}`boot.kernelParams`. See
the [Xen documentation](https://xenbits.xenproject.org/docs/unstable/misc/xen-command-line.html) for more information.
:::
'';
};
builderVerbosity = mkOption {
@@ -267,7 +271,7 @@ in
type = path;
default = "${cfg.package.boot}/${cfg.package.multiboot}";
defaultText = literalExpression "\${config.virtualisation.xen.package.boot}/\${config.virtualisation.xen.package.multiboot}";
example = literalExpression "\${config.virtualisation.xen.package}/boot/xen-\${config.virtualisation.xen.package.version}";
example = literalExpression "\${config.virtualisation.xen.package}/boot/xen-\${config.virtualisation.xen.package.upstreamVersion}";
description = ''
Path to the Xen `multiboot` binary used for BIOS booting.
Unless you're building your own Xen derivation, you should leave this
@@ -280,7 +284,7 @@ in
type = path;
default = "${cfg.package.boot}/${cfg.package.efi}";
defaultText = literalExpression "\${config.virtualisation.xen.package.boot}/\${config.virtualisation.xen.package.efi}";
example = literalExpression "\${config.virtualisation.xen.package}/boot/efi/efi/nixos/xen-\${config.virtualisation.xen.package.version}.efi";
example = literalExpression "\${config.virtualisation.xen.package}/boot/efi/efi/nixos/xen-\${config.virtualisation.xen.package.upstreamVersion}.efi";
description = ''
Path to xen.efi. `pkgs.xen` is patched to install the xen.efi file
on `$boot/boot/xen.efi`, but an unpatched Xen build may install it
@@ -333,7 +337,7 @@ in
extraConfig = mkOption {
type = lines;
default = "";
example = ''
example = literalExpression ''
XENDOMAINS_SAVE=/persist/xen/save
XENDOMAINS_RESTORE=false
XENDOMAINS_CREATE_USLEEP=10000000
@@ -674,12 +678,15 @@ in
}
{
assertion = config.boot.initrd.systemd.enable;
message = "Xen does not support the legacy script-based Stage 1 initrd.";
message = ''
Xen does not support the legacy script-based stage 1 initial ramdisk.
Please set 'boot.initrd.systemd.enable' to 'true'.
'';
}
{
assertion = cfg.dom0Resources.maxMemory >= cfg.dom0Resources.memory;
message = ''
You have allocated more memory to dom0 than virtualisation.xen.dom0Resources.maxMemory
You have allocated more memory to dom0 than 'virtualisation.xen.dom0Resources.maxMemory'
allows for. Please increase the maximum memory limit, or decrease the default memory allocation.
'';
}
@@ -690,12 +697,19 @@ in
{
assertion = cfg.store.settings.quota.maxWatchEvents >= cfg.store.settings.quota.maxOutstanding;
message = ''
Upstream Xen recommends that maxWatchEvents be equal to or greater than maxOutstanding,
Upstream Xen recommends that 'virtualisation.xen.store.settings.quota.maxWatchEvents'
be equal to or greater than 'virtualisation.xen.store.settings.quota.maxOutstanding',
in order to mitigate denial of service attacks from malicious frontends.
'';
}
];
warnings = lib.optional ((config.boot ? lanzaboote) && config.boot.lanzaboote.enable) ''
Xen support has not yet been merged into Lanzaboote.
Ensure that your Lanzaboote configuration includes PR #387:
https://github.com/nix-community/lanzaboote/pull/387
'';
virtualisation.xen.boot.params =
optionals cfg.trace [
"loglvl=all"
@@ -752,9 +766,7 @@ in
};
# See the `xenBootBuilder` script in the main `let...in` statement of this file.
loader.systemd-boot.extraInstallCommands = ''
${getExe xenBootBuilder} ${cfg.boot.builderVerbosity}
'';
loader.systemd-boot.extraInstallCommands = "${getExe xenBootBuilder} ${cfg.boot.builderVerbosity}";
};
# Domain 0 requires a pvops-enabled kernel.
@@ -854,21 +866,18 @@ in
# Xen provides systemd units.
packages = [ cfg.package ];
mounts = [
{
description = "Mount /proc/xen files";
what = "xenfs";
where = "/proc/xen";
type = "xenfs";
unitConfig = {
ConditionPathExists = "/proc/xen";
RefuseManualStop = "true";
};
}
];
mounts = singleton {
description = "Mount /proc/xen files";
what = "xenfs";
where = "/proc/xen";
type = "xenfs";
unitConfig = {
ConditionPathExists = "/proc/xen";
RefuseManualStop = "true";
};
};
services = {
# While this service is installed by the `xen` package, it shouldn't be used in dom0.
xendriverdomain.enable = false;
@@ -926,5 +935,8 @@ in
};
};
};
meta.maintainers = members;
meta = {
doc = ./xen.md;
maintainers = teams.xen.members;
};
}

View File

@@ -0,0 +1,62 @@
# Xen Project Hypervisor {#module-virtualisation-xen}
## Introduction {#module-virtualisation-xen-introduction}
The [**Xen Project Hypervisor**](https://xenproject.org/) is an open-source
type-1 virtual machine manager which allows multiple virtual machines, known as
*domains*, to run concurrently with the host on the physical machine. This is
unlike a typical type-2 hypervisor, such as QEMU, where the virtual machines run
as applications on top of the host. NixOS runs as the privileged *Domain 0*, and
can paravirtualise (PV Mode) or fully virtualise (HVM Mode) unprivileged domains
(`domUs`).
Xen is security-supported in NixOS. All
[Xen Security Advisories](https://xenbits.xenproject.org/xsa) are patched within
hours of release, and generally reach the binary cache channels within a couple
of days.
## Domain 0 Installation {#module-virtualisation-xen-installation-dom0}
Xen may be used as a Domain 0 since
[NixOS 24.11](#sec-release-24.11-highlights), using the
{option}`virtualisation.xen.enable` option. There are various hardware and
software requirements to running a Xen Domain 0; the module is configured to
prevent running Xen on a NixOS system that does not meet the software
requirements. (i.e. a NixOS system that uses the legacy, scripted initial
ramdisk.) The module does not yet check if the hardware requirements are met:
please manually ensure that the target machine supports
[SLAT](Second_Level_Address_Translation) and
[IOMMU](https://en.wikipedia.org/wiki/Input%E2%80%93output_memory_management_unit),
the latter being required only for non-PV domains to be virtualised.
The boot menu on a Xen-enabled NixOS system will show duplicate entries for each
generation: one boots a normal NixOS system, and the other boots into the Xen
Project Hypervisor. The [`systemd-boot`](#opt-boot.loader.systemd-boot.enable)
and [Limine](#opt-boot.loader.limine.enable) bootloaders are the only supported
boot methods at this time.
Xen may be managed through various frontend configuration systems. `libxenlight`
is one such configuration system, and is built into all Xen systems. The `xl`
command is the primary command-line interface to `libxenlight`, and is capable
of managing a NixOS Domain 0.
## Unprivileged Domain Installation {#module-virtualisation-xen-installation-domU}
Known generically as guests, unprivileged domains running NixOS may import the
[`xen-domU.nix`](https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/virtualisation/xen-domU.nix)
profile in their configurations to automatically enable various recommended
optimisations which are relevant for unprivileged domains.
:::{.example}
# Import the Xen Unprivileged Domain profile into a NixOS configuration
```nix
{
imports = [
<nixpkgs/nixos/modules/virtualisation/xen-domU.nix>
];
}
```
:::

View File

@@ -1408,6 +1408,7 @@ in
rspamd-trainer = runTest ./rspamd-trainer.nix;
rss-bridge = handleTest ./web-apps/rss-bridge { };
rss2email = handleTest ./rss2email.nix { };
rstp = runTest ./rstp.nix;
rstudio-server = runTest ./rstudio-server.nix;
rsync = runTest ./rsync.nix;
rsyncd = runTest ./rsyncd.nix;

View File

@@ -29,37 +29,38 @@
pkgs.budgie-analogue-clock-applet
];
};
environment.systemPackages = [ pkgs.wlrctl ];
};
enableOCR = true;
testScript =
{ nodes, ... }:
let
user = nodes.machine.users.users.alice;
env = "DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/${toString user.uid}/bus DISPLAY=:0";
su = command: "su - ${user.name} -c '${env} ${command}'";
env = "XDG_RUNTIME_DIR=/run/user/${toString user.uid}";
in
''
with subtest("Wait for login"):
machine.wait_for_x()
machine.wait_for_unit("display-manager.service")
machine.wait_for_file("/run/user/${toString user.uid}/wayland-0")
machine.wait_until_succeeds('journalctl -t budgie-session-binary --grep "Entering running state"')
machine.wait_for_file("${user.home}/.Xauthority")
machine.succeed("xauth merge ${user.home}/.Xauthority")
machine.wait_until_succeeds('journalctl --grep "Compositor is fully initialized"')
with subtest("Check that logging in has given the user ownership of devices"):
# Change back to /dev/snd/timer after systemd-258.1
machine.succeed("getfacl -p /dev/dri/card0 | grep -q ${user.name}")
with subtest("Check if Budgie session components actually start"):
for i in ["budgie-daemon", "budgie-panel", "budgie-wm", "bsd-media-keys", "gsd-xsettings"]:
for i in ["budgie-daemon", "budgie-panel", "labwc", "budgie-session", "swaybg", "swayidle"]:
machine.wait_until_succeeds(f"pgrep {i}")
machine.wait_until_succeeds("pgrep -xf ${pkgs.gnome-settings-daemon}/libexec/gsd-sound")
machine.wait_until_succeeds("pgrep -xf ${pkgs.budgie-desktop-services}/bin/org.buddiesofbudgie.Services")
machine.wait_until_succeeds("pgrep -xf /run/current-system/sw/bin/org.buddiesofbudgie.budgie-desktop-view")
# We don't check xwininfo for budgie-wm.
# See https://github.com/NixOS/nixpkgs/pull/216737#discussion_r1155312754
machine.wait_for_window("budgie-daemon")
machine.wait_for_window("budgie-panel")
with subtest("Check if various environment variables are set"):
cmd = "xargs --null --max-args=1 echo < /proc/$(pgrep -xf /run/current-system/sw/bin/budgie-wm)/environ"
cmd = "xargs --null --max-args=1 echo < /proc/$(pgrep -xf /run/current-system/sw/bin/budgie-panel)/environ"
machine.succeed(f"{cmd} | grep 'XDG_CURRENT_DESKTOP' | grep 'Budgie'")
machine.succeed(f"{cmd} | grep 'BUDGIE_PLUGIN_DATADIR' | grep '${pkgs.budgie-desktop-with-plugins.pname}'")
# From the nixos/budgie module
@@ -67,28 +68,22 @@
with subtest("Open run dialog"):
machine.send_key("alt-f2")
machine.wait_for_window("budgie-run-dialog")
machine.wait_until_succeeds("pgrep -xf budgie-run-dialog")
machine.sleep(2)
machine.screenshot("run_dialog")
machine.send_key("esc")
with subtest("Open Budgie Control Center"):
machine.succeed("${su "budgie-control-center >&2 &"}")
machine.wait_for_window("Budgie Control Center")
with subtest("Lock the screen"):
machine.succeed("${su "budgie-screensaver-command -l >&2 &"}")
machine.wait_until_succeeds("${su "budgie-screensaver-command -q"} | grep 'The screensaver is active'")
machine.sleep(2)
machine.send_chars("${user.password}", delay=0.5)
machine.screenshot("budgie_screensaver")
machine.send_chars("\n")
machine.wait_until_succeeds("${su "budgie-screensaver-command -q"} | grep 'The screensaver is inactive'")
machine.sleep(2)
machine.succeed("su - ${user.name} -c '${env} budgie-control-center >&2 &'")
machine.wait_until_succeeds("su - ${user.name} -c '${env} wlrctl toplevel list | grep org.buddiesofbudgie.ControlCenter'")
machine.wait_for_text("Network|Ethernet|Control|Connected")
with subtest("Open GNOME terminal"):
machine.succeed("${su "gnome-terminal"}")
machine.wait_for_window("${user.name}@machine: ~")
machine.succeed("su - ${user.name} -c '${env} gnome-terminal >&2 &'")
machine.wait_until_succeeds("su - ${user.name} -c '${env} wlrctl toplevel list | grep ${user.name}@machine'")
with subtest("Check if labwc bridge is working"):
machine.wait_until_succeeds("cat /home/${user.name}/.config/budgie-desktop/labwc/rc.xml | grep Qogir")
with subtest("Check if Budgie has ever coredumped"):
machine.fail("coredumpctl --json=short | grep budgie")

View File

@@ -55,24 +55,6 @@
];
};
};
specialisation.eth1-rstp.configuration = {
networking.bridges.br0 = {
interfaces = [ "eth1" ];
rstp = lib.mkForce true;
};
networking.interfaces = {
eth1.ipv4.addresses = lib.mkForce [ ];
eth1.ipv6.addresses = lib.mkForce [ ];
br0.ipv4.addresses = [
{
address = "192.168.1.2";
prefixLength = 24;
}
];
};
};
};
};
@@ -100,19 +82,6 @@
"grep eth1 /run/br0.interfaces >&2",
)
# activating rstp needs another service, therefore the bridge will restart and the container will lose its connectivity
# with subtest("Bridged configuration with STP"):
# client.succeed("/run/booted-system/specialisation/eth1-rstp/bin/switch-to-configuration test >&2")
# client.execute("ip -4 a >&2")
# client.execute("ip l >&2")
#
# client.succeed(
# "ping 192.168.1.122 -c 1 -n >&2",
# "nixos-container run webserver -- ping -c 1 -n 192.168.1.2 >&2",
# "ip l show eth1 |grep 'master br0' >&2",
# "grep eth1 /run/br0.interfaces >&2",
# )
with subtest("Reverting to initial configuration preserves connectivity"):
client.succeed(
"/run/booted-system/bin/switch-to-configuration test >&2"

View File

@@ -2,7 +2,6 @@
{
name = "earlyoom";
meta.maintainers = with lib.maintainers; [
ncfavier
oxalica
];

66
nixos/tests/rstp.nix Normal file
View File

@@ -0,0 +1,66 @@
{ pkgs, lib, ... }:
{
name = "rstp";
nodes = {
client = {
containers = {
peer = {
autoStart = true;
privateNetwork = true;
hostBridge = "br0";
config = {
networking = {
interfaces = {
eth0 = {
ipv4.addresses = [
{
address = "192.168.1.122";
prefixLength = 24;
}
];
};
};
};
};
};
};
networking = {
bridges = {
br0 = {
interfaces = [ ];
rstp = true;
};
};
interfaces = {
eth1 = {
ipv4.addresses = lib.mkForce [ ];
ipv6.addresses = lib.mkForce [ ];
};
br0 = {
ipv4.addresses = [
{
address = "192.168.1.2";
prefixLength = 24;
}
];
};
};
};
virtualisation = {
vlans = [ 1 ];
};
};
};
testScript = ''
client.start()
client.wait_for_unit("default.target")
client.wait_until_succeeds("journalctl | grep 'Port vb-peer : up'", timeout=10)
'';
}

View File

@@ -21,7 +21,7 @@ in
meta.maintainers = with lib.maintainers; [ nikstur ];
nodes.machine =
{ config, ... }:
{ pkgs, ... }:
{
imports = [ common ];
@@ -38,7 +38,7 @@ in
inheritParentConfig = false;
configuration = {
nixpkgs = {
inherit (config.nixpkgs) hostPlatform;
inherit pkgs;
};
imports = [ common ];

View File

@@ -16,7 +16,7 @@ in
meta.maintainers = with lib.maintainers; [ nikstur ];
nodes.machine =
{ config, ... }:
{ pkgs, ... }:
{
imports = [ common ];
@@ -33,7 +33,7 @@ in
inheritParentConfig = false;
configuration = {
nixpkgs = {
inherit (config.nixpkgs) hostPlatform;
inherit pkgs;
};
imports = [ common ];

View File

@@ -20,7 +20,7 @@ in
meta.maintainers = with lib.maintainers; [ nikstur ];
nodes.machine =
{ config, ... }:
{ pkgs, ... }:
{
imports = [ common ];
@@ -37,7 +37,7 @@ in
inheritParentConfig = false;
configuration = {
nixpkgs = {
inherit (config.nixpkgs) hostPlatform;
inherit pkgs;
};
imports = [ common ];

View File

@@ -16,7 +16,7 @@ in
meta.maintainers = with lib.maintainers; [ nikstur ];
nodes.machine =
{ config, ... }:
{ pkgs, ... }:
{
imports = [ common ];
@@ -34,7 +34,7 @@ in
inheritParentConfig = false;
configuration = {
nixpkgs = {
inherit (config.nixpkgs) hostPlatform;
inherit pkgs;
};
imports = [ common ];
@@ -42,6 +42,10 @@ in
new-normalo = {
isNormalUser = true;
};
mutable-to-declarative = {
isNormalUser = true;
description = "I'm now declaratively managed";
};
};
};
};
@@ -54,16 +58,25 @@ in
assert 1000 == int(machine.succeed("id --user normalo")), "normalo user doesn't have UID 1000"
assert "${normaloHashedPassword}" in machine.succeed("getent shadow normalo"), "normalo user password is not correct"
with subtest("Add new user manually"):
with subtest("Add new user manual-normalo manually"):
machine.succeed("useradd manual-normalo")
assert 1001 == int(machine.succeed("id --user manual-normalo")), "manual-normalo user doesn't have UID 1001"
with subtest("Delete manual--normalo user manually"):
machine.succeed("userdel manual-normalo")
with subtest("Add new user mutable-to-declarative manually"):
machine.succeed("useradd --comment 'I was created imperatively' mutable-to-declarative")
assert 1002 == int(machine.succeed("id --user mutable-to-declarative")), "mutable-to-declarative user doesn't have UID 1002"
machine.succeed("/run/current-system/specialisation/new-generation/bin/switch-to-configuration switch")
with subtest("manual-normalo user is still enabled"):
manual_normalo_shadow = machine.succeed("getent shadow manual-normalo")
print(manual_normalo_shadow)
t.assertNotIn("!*", manual_normalo_shadow, "manual-normalo user is falsely disabled")
with subtest("mutable-to-declarative user description has changed"):
mutable_to_declarative_passwd = machine.succeed("getent passwd mutable-to-declarative")
print(mutable_to_declarative_passwd)
t.assertIn("I'm now declaratively managed", mutable_to_declarative_passwd, "mutable-to-declarative user description is unchanged")
with subtest("normalo user is disabled"):
print(machine.succeed("getent shadow normalo"))
@@ -71,6 +84,9 @@ in
with subtest("new-normalo user is created after switching to new generation"):
print(machine.succeed("getent passwd new-normalo"))
assert 1001 == int(machine.succeed("id --user new-normalo")), "new-normalo user doesn't have UID 1001"
assert 1003 == int(machine.succeed("id --user new-normalo")), "new-normalo user doesn't have UID 1003"
with subtest("Delete manual-normalo user manually"):
machine.succeed("userdel manual-normalo")
'';
}

View File

@@ -38,17 +38,17 @@ let
in
stdenv.mkDerivation rec {
pname = "reaper";
version = "7.55";
version = "7.59";
src = fetchurl {
url = url_for_platform version stdenv.hostPlatform.qemuArch;
hash =
if stdenv.hostPlatform.isDarwin then
"sha256-meTuaGH9zwx/sT+h0I7JRSCRPD8AryGPvoHUKbyzpHA="
"sha256-S4RAXWss1tPzmO0zzKfkXPrcgBqwNN5EE1jpjEZ5mYk="
else
{
x86_64-linux = "sha256-BOjS39GySB6ptiEJvwlShL4ZcDot2nsKXCAU/CeMEIc=";
aarch64-linux = "sha256-oqEwEQKFhpaFMqzcSc28v0njuiMi5CAGjP3fLDECUXU=";
x86_64-linux = "sha256-II2QOv7eHD4JtE5We1uuEuCt5RZmK6VFtZFyLEArUSc=";
aarch64-linux = "sha256-/iDQBnYf+1xYJ+JFFT5ikGWDmQdhe2L1o+lZr8pB+Q0=";
}
.${stdenv.hostPlatform.system};
};

View File

@@ -8,6 +8,7 @@
}:
runCommand "sddm-wrapped"
{
pname = "sddm";
inherit (sddm-unwrapped) version outputs;
buildInputs = sddm-unwrapped.buildInputs ++ extraPackages;

View File

@@ -7,8 +7,8 @@ vscode-utils.buildVscodeMarketplaceExtension (finalAttrs: {
mktplcRef = {
name = "amazon-q-vscode";
publisher = "AmazonWebServices";
version = "1.108.0";
hash = "sha256-cJ6Qi/ut4MgGuTBU9/Gw051i3VvPC+lvxgPGxJzzZ5c=";
version = "1.109.0";
hash = "sha256-y7iUWFKYTLZVS9Zjoy9NtqtgfQTJLWij9JD20pjyTXY=";
};
meta = {

View File

@@ -5093,8 +5093,8 @@ let
mktplcRef = {
publisher = "vscjava";
name = "vscode-java-test";
version = "0.43.1";
hash = "sha256-yiKBG1A5ahvB6iTqh2yzFzcKJlU1lu4dqd+4cygWVQ4=";
version = "0.44.0";
hash = "sha256-Qr4Ms15Nq+/yygWYBDvN5dHIKpQ0yYQjI1p/RNFMWjw=";
};
meta = {
license = lib.licenses.mit;

View File

@@ -8,13 +8,13 @@
}:
mkLibretroCore {
core = "flycast";
version = "0-unstable-2026-01-19";
version = "0-unstable-2026-01-28";
src = fetchFromGitHub {
owner = "flyinghead";
repo = "flycast";
rev = "f86e195017fb1595c2622bca3c95e88198194784";
hash = "sha256-Cd3vFpB66Bymv/Zjzd4XO3qJn5vaSnkWV1i5IxtaXXc=";
rev = "21eb24f86d785b1c631161f03057b22c160182c0";
hash = "sha256-gGjSbkhy6ykEin8Bci6xHNII2MdEzLcUPr/dU6IwlIw=";
fetchSubmodules = true;
};

View File

@@ -145,14 +145,17 @@ stdenv.mkDerivation (finalAttrs: {
doInstallCheck = true;
# The build system uses custom logic - defined in
# cmake/modules/FindNLopt.cmake in the package source - for finding the nlopt
# library, which doesn't pick up the package in the nix store. We
# additionally need to set the path via the NLOPT environment variable.
NLOPT = nlopt;
# prusa-slicer uses dlopen on `libudev.so` at runtime
NIX_LDFLAGS = lib.optionalString withSystemd "-ludev";
env = {
# The build system uses custom logic - defined in
# cmake/modules/FindNLopt.cmake in the package source - for finding the nlopt
# library, which doesn't pick up the package in the nix store. We
# additionally need to set the path via the NLOPT environment variable.
NLOPT = nlopt;
}
// lib.optionalAttrs withSystemd {
# prusa-slicer uses dlopen on `libudev.so` at runtime
NIX_LDFLAGS = "-ludev";
};
prePatch = ''
# Since version 2.5.0 of nlopt we need to link to libnlopt, as libnlopt_cxx

View File

@@ -62,7 +62,7 @@ stdenv.mkDerivation (finalAttrs: {
];
# for cffi
LD_LIBRARY_PATH = lib.makeLibraryPath [
env.LD_LIBRARY_PATH = lib.makeLibraryPath [
glib
gobject-introspection
gdk-pixbuf

View File

@@ -14,11 +14,11 @@
stdenv.mkDerivation rec {
pname = "datovka";
version = "4.26.0";
version = "4.28.0";
src = fetchurl {
url = "https://gitlab.nic.cz/datovka/datovka/-/archive/v${version}/datovka-v${version}.tar.gz";
sha256 = "sha256-pEdjh/c4vhirj2R9bYDdi2FL7N9x67kTOyfXiJDzMKE=";
sha256 = "sha256-vTfmJEwbfaPFnZE8o3YnZhjwfMZ0At7eZ0iMoh4/HQE=";
};
nativeBuildInputs = [

View File

@@ -61,7 +61,7 @@ stdenv.mkDerivation rec {
'';
# poco 1.14 requires c++17
NIX_CFLAGS_COMPILE = [ "-std=gnu++17" ];
env.NIX_CFLAGS_COMPILE = toString [ "-std=gnu++17" ];
nativeBuildInputs = [
cmake

View File

@@ -45,7 +45,9 @@ let
dirName = "WolframEngine";
in
stdenv.mkDerivation rec {
inherit (l10n) version name src;
pname = "wolfram-engine";
inherit (l10n) version src;
nativeBuildInputs = [
autoPatchelfHook

View File

@@ -11,9 +11,9 @@ in
} { };
sublime-merge-dev = common {
buildVersion = "2111";
buildVersion = "2120";
dev = true;
aarch64sha256 = "ZDERtZ1NbYdc/rZYfiFPkjwSQVMvacVElRAW/PBrgCg=";
x64sha256 = "NgHRF8Wh3ktr0Z+efL2FTwFAdF3c0yaXNFEwcvefSy0=";
aarch64sha256 = "3JKxLke1l7l+fxhIJWbXbMHK5wPgjZTEWcZd9IvrdPM=";
x64sha256 = "N8lhSmQnj+Ee1A2eIOkhdhQnHBK3B6vFA3vrPAbYtaI=";
} { };
}

View File

@@ -39,7 +39,7 @@ stdenv.mkDerivation {
"SVN_INCLUDE=${subversion.dev}/include/subversion-1"
];
NIX_LDFLAGS = "-lsvn_fs-1";
env.NIX_LDFLAGS = "-lsvn_fs-1";
dontWrapQtApps = true;

View File

@@ -21,13 +21,13 @@
stdenv.mkDerivation rec {
pname = "anilibria-winmaclinux";
version = "2.2.32";
version = "2.2.34";
src = fetchFromGitHub {
owner = "anilibria";
repo = "anilibria-winmaclinux";
rev = version;
hash = "sha256-Wxzv1iLJ+OWw+g6ndBX36AR2v9cSu2uZysegz97+XaM=";
hash = "sha256-58NFlB6viWXG13J+RBzMj6LlYFClpWpGQ/aCNxJ5wKQ=";
};
sourceRoot = "${src.name}/src";

View File

@@ -243,19 +243,29 @@ stdenv.mkDerivation {
echo CONFIG_MPEGAUDIODSP=yes >> config.mak
'';
# Fixes compilation with newer versions of clang that make these warnings errors by default.
NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-int-conversion -Wno-incompatible-function-pointer-types";
NIX_LDFLAGS = toString (
lib.optional fontconfigSupport "-lfontconfig"
++ lib.optional fribidiSupport "-lfribidi"
++ lib.optionals x11Support [
"-lX11"
"-lXext"
]
++ lib.optional x264Support "-lx264"
++ [ "-lfreetype" ]
);
env =
lib.optionalAttrs stdenv.cc.isClang {
# Fixes compilation with newer versions of clang that make these warnings errors by default.
NIX_CFLAGS_COMPILE = "-Wno-int-conversion -Wno-incompatible-function-pointer-types";
}
// {
NIX_LDFLAGS = toString (
lib.optionals fontconfigSupport [
"-lfontconfig"
]
++ lib.optionals fribidiSupport [
"-lfribidi"
]
++ lib.optionals x11Support [
"-lX11"
"-lXext"
]
++ lib.optionals x264Support [
"-lx264"
]
++ [ "-lfreetype" ]
);
};
installTargets = [ "install" ] ++ lib.optional x11Support "install-gui";

View File

@@ -9,13 +9,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "4ti2";
version = "1.6.13";
version = "1.6.14";
src = fetchFromGitHub {
owner = "4ti2";
repo = "4ti2";
rev = "Release_${builtins.replaceStrings [ "." ] [ "_" ] finalAttrs.version}";
hash = "sha256-gbYG55LfVhjJJFJu0L8AWIAnFDViHIW2N1qtS8xOFAc=";
tag = "Release_${builtins.replaceStrings [ "." ] [ "_" ] finalAttrs.version}";
hash = "sha256-bFvq90hLLGty7p6NLxOARVvKdizg3bp2NkP9nZpVFzQ=";
};
nativeBuildInputs = [

View File

@@ -3,6 +3,7 @@
stdenv,
fetchgit,
pkg-config,
unstableGitUpdater,
patches ? [ ],
pkgsBuildHost,
enableStatic ? stdenv.hostPlatform.isStatic,
@@ -10,7 +11,7 @@
stdenv.mkDerivation {
pname = "9base";
version = "unstable-2019-09-11";
version = "6-unstable-2019-09-13";
src = fetchgit {
url = "https://git.suckless.org/9base";
@@ -70,6 +71,8 @@ stdenv.mkDerivation {
"troff"
];
passthru.updateScript = unstableGitUpdater { };
meta = {
homepage = "https://tools.suckless.org/9base/";
description = "Port of various original Plan 9 tools for Unix, based on plan9port";

View File

@@ -8,16 +8,16 @@
rustPlatform.buildRustPackage rec {
pname = "ab-av1";
version = "0.10.3";
version = "0.10.4";
src = fetchFromGitHub {
owner = "alexheretic";
repo = "ab-av1";
tag = "v${version}";
hash = "sha256-HSWu3gHpgCUkmr63mAi2Hd67Rap5vDZ/oHRh6O7y6uA=";
hash = "sha256-EPQUm51H/yY0O1x6QAx1a+VeCgTYoJ19BAcEY52Oduo=";
};
cargoHash = "sha256-jzEwblYsA7tgoJE6HhdtdDyOS50DyL87/J/T+cNKB3M=";
cargoHash = "sha256-uGvEWQUIRqb0Xpwywh3M26cKtuzm59uvH9bjZlvMPEk=";
nativeBuildInputs = [ installShellFiles ];

View File

@@ -2,18 +2,19 @@
lib,
fetchFromGitHub,
python3Packages,
unstableGitUpdater,
}:
python3Packages.buildPythonApplication {
pname = "accelergy";
version = "unstable-2022-05-03";
version = "0.1-unstable-2025-05-26";
pyproject = true;
src = fetchFromGitHub {
owner = "Accelergy-Project";
repo = "accelergy";
rev = "34df8e87a889ae55cecba58992d4573466b40565";
hash = "sha256-SRtt1EocHy5fKszpoumC+mOK/qhreoA2/Ff1wcu5WKo=";
rev = "6911d15686ee7efdceba7d95605102df4472ae3a";
hash = "sha256-YgJbmxJfuw7jk+Ssj5r3cmJYSSepf7aw+Ti3a9brm6o=";
};
build-system = with python3Packages; [
@@ -24,8 +25,16 @@ python3Packages.buildPythonApplication {
pyyaml
yamlordereddictloader
pyfiglet
ruamel-yaml
deepdiff
jinja2
];
passthru.updateScript = unstableGitUpdater {
tagPrefix = "v";
tagFormat = "v*";
};
meta = {
description = "Architecture-level energy/area estimator for accelerator designs";
license = lib.licenses.mit;

View File

@@ -2,6 +2,7 @@
lib,
stdenv,
fetchFromGitHub,
unstableGitUpdater,
autoreconfHook,
fuse,
git,
@@ -9,7 +10,7 @@
stdenv.mkDerivation {
pname = "aefs";
version = "unstable-2015-05-06";
version = "0-unstable-2015-05-06";
src = fetchFromGitHub {
owner = "edolstra";
@@ -40,6 +41,10 @@ stdenv.mkDerivation {
buildInputs = [ fuse ];
passthru.updateScript = unstableGitUpdater {
hardcodeZeroVersion = true;
};
meta = {
homepage = "https://github.com/edolstra/aefs";
description = "Cryptographic filesystem implemented in userspace using FUSE";

View File

@@ -26,8 +26,10 @@ stdenv.mkDerivation (finalAttrs: {
swiftpm
];
# Can't find libdispatch without this on NixOS. (swift 5.8)
LD_LIBRARY_PATH = lib.optionalString stdenv.hostPlatform.isLinux "${swiftPackages.Dispatch}/lib";
env = lib.optionalAttrs stdenv.hostPlatform.isLinux {
# Can't find libdispatch without this on NixOS. (swift 5.8)
LD_LIBRARY_PATH = "${swiftPackages.Dispatch}/lib";
};
postPatch =
let

View File

@@ -55,7 +55,7 @@ stdenv.mkDerivation (finalAttrs: {
"--x-libraries=${lib.getLib libX11}/lib"
];
NIX_CFLAGS_COMPILE = [ "-fpermissive" ];
env.NIX_CFLAGS_COMPILE = toString [ "-fpermissive" ];
# libtool --tag=CXX --mode=link g++ -g -O2 libexamples.la ../src/platform/X11/libaggplatformX11.la ../src/libagg.la -o alpha_mask2 alpha_mask2.o
# libtool: error: cannot find the library 'libexamples.la'

View File

@@ -22,7 +22,7 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-DkfpMK0T67B4mnriignf4hx6Ifddls0rN0SxyfEsPZg=";
};
NIX_CFLAGS_COMPILE = [ "-Wno-error=deprecated-declarations" ];
env.NIX_CFLAGS_COMPILE = toString [ "-Wno-error=deprecated-declarations" ];
makeFlags = [
"DESTDIR=\${out}"

View File

@@ -19,7 +19,7 @@ let
];
in
buildDotnetModule rec {
pname = "ArchiSteamFarm";
pname = "archisteamfarm";
# nixpkgs-update: no auto update
version = "6.3.1.6";
@@ -42,6 +42,7 @@ buildDotnetModule rec {
testProjectFile = "ArchiSteamFarm.Tests";
executable = "ArchiSteamFarm";
installPath = "${placeholder "out"}/lib/ArchiSteamFarm";
enableParallelBuilding = false;
@@ -95,7 +96,7 @@ buildDotnetModule rec {
'';
passthru = {
# nix-shell maintainers/scripts/update.nix --argstr package ArchiSteamFarm
# nix-shell maintainers/scripts/update.nix --argstr package archisteamfarm
updateScript = ./update.sh;
ui = callPackage ./web-ui { };
};

View File

@@ -4,7 +4,7 @@ set -euo pipefail
cd "$(dirname "${BASH_SOURCE[0]}")"
new_version="$(curl ${GITHUB_TOKEN:+" -u \":$GITHUB_TOKEN\""} -s "https://api.github.com/repos/JustArchiNET/ArchiSteamFarm/releases" | jq -r 'map(select(.prerelease == false)) | .[0].tag_name')"
old_version="$(sed -nE 's/\s*version = "(.*)".*/\1/p' ./default.nix)"
old_version="$(sed -nE 's/\s*version = "(.*)".*/\1/p' ./package.nix)"
if [[ "$new_version" == "$old_version" ]]; then
echo "Already up to date!"
@@ -17,10 +17,10 @@ asf_path=$PWD
cd ../../../..
if [[ "${1:-}" != "--deps-only" ]]; then
update-source-version ArchiSteamFarm "$new_version"
update-source-version archisteamfarm "$new_version"
fi
$(nix-build -A ArchiSteamFarm.fetch-deps --no-out-link)
$(nix-build -A archisteamfarm.fetch-deps --no-out-link)
cd "$asf_path/web-ui"
./update.sh

View File

@@ -2,7 +2,7 @@
lib,
fetchFromGitHub,
buildNpmPackage,
ArchiSteamFarm,
archisteamfarm,
}:
buildNpmPackage rec {
@@ -33,6 +33,6 @@ buildNpmPackage rec {
description = "Official web interface for ASF";
license = lib.licenses.asl20;
homepage = "https://github.com/JustArchiNET/ASF-ui";
inherit (ArchiSteamFarm.meta) maintainers platforms;
inherit (archisteamfarm.meta) maintainers platforms;
};
}

View File

@@ -3,14 +3,14 @@
set -eou pipefail
cd "$(dirname "$0")"/../../../../..
version=$(nix-instantiate --strict --eval -A ArchiSteamFarm.version | jq -r)
version=$(nix-instantiate --strict --eval -A archisteamfarm.version | jq -r)
cd -
ui=$(curl ${GITHUB_TOKEN:+" -u \":$GITHUB_TOKEN\""} "https://api.github.com/repos/JustArchiNET/ArchiSteamFarm/contents/ASF-ui?ref=$version" | jq -r .sha)
curl "https://raw.githubusercontent.com/JustArchiNET/ASF-ui/$ui/package-lock.json" -o package-lock.json
cd -
update-source-version ArchiSteamFarm.ui "$ui"
update-source-version archisteamfarm.ui "$ui"
cd -
npmDepsHash=$(prefetch-npm-deps ./package-lock.json)

View File

@@ -12,13 +12,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "ashuffle";
version = "3.14.9";
version = "3.14.10";
src = fetchFromGitHub {
owner = "joshkunz";
repo = "ashuffle";
tag = "v${finalAttrs.version}";
hash = "sha256-HQ4+vyTvX0mhfuRclbiC+MvllV3300ztAwL0IxrUiC8=";
hash = "sha256-nvmyup9hW/kI7Wwo5+1/FEoHd4kfMvYbttI8nJkLfVE=";
fetchSubmodules = true;
};

View File

@@ -12,14 +12,14 @@
python3Packages.buildPythonPackage rec {
pname = "auto-cpufreq";
version = "2.6.0";
version = "3.0.0";
pyproject = true;
src = fetchFromGitHub {
owner = "AdnanHodzic";
repo = "auto-cpufreq";
tag = "v${version}";
hash = "sha256-DEs6jbWYJFJgpaPtF5NT3DQs3erjzdm2brLNHpjrEPA=";
hash = "sha256-X+2RxD4+F8LBqvJNRh6FduRLU4a2SnZQ8a9BCN6Ty1E=";
};
patches = [

View File

@@ -136,23 +136,25 @@ stdenv.mkDerivation (finalAttrs: {
separateDebugInfo = true;
# The build system uses custom logic - defined in
# cmake/modules/FindNLopt.cmake in the package source - for finding the nlopt
# library, which doesn't pick up the package in the nix store. We
# additionally need to set the path via the NLOPT environment variable.
NLOPT = nlopt;
env = {
# The build system uses custom logic - defined in
# cmake/modules/FindNLopt.cmake in the package source - for finding the nlopt
# library, which doesn't pick up the package in the nix store. We
# additionally need to set the path via the NLOPT environment variable.
NLOPT = nlopt;
NIX_CFLAGS_COMPILE = toString [
"-DBOOST_TIMER_ENABLE_DEPRECATED"
# Disable compiler warnings that clutter the build log.
# It seems to be a known issue for Eigen:
# http://eigen.tuxfamily.org/bz/show_bug.cgi?id=1221
"-Wno-ignored-attributes"
"-I${opencv}/include/opencv4"
];
NIX_CFLAGS_COMPILE = toString [
"-DBOOST_TIMER_ENABLE_DEPRECATED"
# Disable compiler warnings that clutter the build log.
# It seems to be a known issue for Eigen:
# http://eigen.tuxfamily.org/bz/show_bug.cgi?id=1221
"-Wno-ignored-attributes"
"-I${opencv}/include/opencv4"
];
# prusa-slicer uses dlopen on `libudev.so` at runtime
NIX_LDFLAGS = lib.optionalString withSystemd "-ludev" + " -L${opencv}/lib -lopencv_imgcodecs";
# prusa-slicer uses dlopen on `libudev.so` at runtime
NIX_LDFLAGS = lib.optionalString withSystemd "-ludev" + " -L${opencv}/lib -lopencv_imgcodecs";
};
# TODO: macOS
prePatch = ''

View File

@@ -23,7 +23,7 @@ let
echo "export function registerLinuxConfig() {}" > $linuxConfigFilename
# disable auto update
sed -i 's/[^=]*\.auto_update_disabled/true/' $out/resources/app/build/main/main-entry-*.mjs
sed -i 's/auto_update_disabled:[^,}]*/auto_update_disabled:true/g' $out/resources/app/build/main/main-entry-*.mjs
# prevent updates
sed -i -E 's/executeDownload\([^)]+\)\{/executeDownload(){return;/g' $out/resources/app/build/main/main-entry-*.mjs

View File

@@ -11,6 +11,7 @@
gtest,
gmp,
cadical,
cadical' ? cadical.override { version = "2.1.3"; },
cryptominisat,
kissat,
zlib,
@@ -26,11 +27,12 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchFromGitHub {
owner = "bitwuzla";
repo = "bitwuzla";
rev = finalAttrs.version;
tag = finalAttrs.version;
hash = "sha256-v5r+BWXUUbKtkos6qmGMC9MMytS/h759SHY6lsTHU1k=";
};
strictDeps = true;
__structuredAttrs = true;
nativeBuildInputs = [
meson
@@ -41,7 +43,7 @@ stdenv.mkDerivation (finalAttrs: {
];
buildInputs = [
cadical
cadical'
cryptominisat
btor2tools
symfpu

View File

@@ -0,0 +1,28 @@
{
lib,
fetchFromGitHub,
rustPlatform,
fetchpatch,
nix-update-script,
fetchCrate,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "bpflinter";
version = "0.1.5";
src = fetchCrate {
inherit (finalAttrs) pname version;
hash = "sha256-oX4fgUKOASiI/NMFSjr6afmyg1VBK44lqni+xBXlZLo=";
};
cargoHash = "sha256-3TIWrqgePnBMEJFB5fkch5ycU4NXE6JlbUpq9/8DbHc=";
passthru.updateScript = nix-update-script { };
meta = {
mainProgram = "bpflinter";
description = "Linting functionality for BPF C programs";
homepage = "https://github.com/d-e-s-o/bpflint";
license = lib.licenses.mit;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ fzakaria ];
};
})

View File

@@ -15,13 +15,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "budgie-analogue-clock-applet";
version = "2.2";
version = "2.2-unstable-2026-01-13";
src = fetchFromGitHub {
owner = "samlane-ma";
repo = "analogue-clock-applet";
rev = "v${finalAttrs.version}";
hash = "sha256-8kqDEzcUqg/TvwpazYQt1oQDVC00fOxFLVsKYMDuV9I=";
rev = "22b04faeea8f95eb83ad96ae89529560811d76d9";
hash = "sha256-8ZFExgE1aJ8XN4+ugSzI34UjdPHbtbhJ+3xetcLZ6sg=";
};
nativeBuildInputs = [
@@ -38,18 +38,6 @@ stdenv.mkDerivation (finalAttrs: {
libpeas2
];
postPatch = ''
# https://github.com/samlane-ma/analogue-clock-applet/issues/7
substituteInPlace budgie-analogue-clock-widget/src/meson.build \
--replace-fail "dependency('budgie-raven-plugin-1.0')" "dependency('budgie-raven-plugin-2.0')"
'';
mesonFlags = [
# The meson option actually enables libpeas2 support
# https://github.com/BuddiesOfBudgie/budgie-desktop/issues/749
"-Dfor-wayland=true"
];
passthru = {
updateScript = nix-update-script { };
};

View File

@@ -0,0 +1,5 @@
# Introduction panel default applications
# This file contains full paths to .desktop files to display
# Lines starting with # are comments
@wdisplays@/share/applications/network.cycles.wdisplays.desktop
@budgie_desktop@/share/applications/org.buddiesofbudgie.BudgieDesktopSettings.desktop

View File

@@ -4,11 +4,8 @@
fetchFromGitHub,
replaceVars,
accountsservice,
adwaita-icon-theme,
budgie-desktop,
cheese,
clutter,
clutter-gtk,
colord,
colord-gtk,
cups,
@@ -25,14 +22,11 @@
gnome-bluetooth_1_0,
gnome-color-manager,
gnome-desktop,
gnome-remote-desktop,
gnome-settings-daemon,
gnome-user-share,
gsettings-desktop-schemas,
gsound,
gtk3,
ibus,
libcanberra-gtk3,
libepoxy,
libgnomekbd,
libgtop,
@@ -49,7 +43,6 @@
libxslt,
meson,
modemmanager,
mutter,
networkmanager,
networkmanagerapplet,
ninja,
@@ -63,21 +56,30 @@
tzdata,
udisks,
upower,
wdisplays,
webp-pixbuf-loader,
wrapGAppsHook3,
enableSshSocket ? false,
}:
let
introduction_list = (
replaceVars ./introduction.list {
budgie_desktop = budgie-desktop;
inherit wdisplays;
}
);
in
stdenv.mkDerivation (finalAttrs: {
pname = "budgie-control-center";
version = "1.4.1";
version = "2.1.0";
src = fetchFromGitHub {
owner = "BuddiesOfBudgie";
repo = "budgie-control-center";
tag = "v${finalAttrs.version}";
fetchSubmodules = true;
hash = "sha256-Je3X1V4U2t0LMxWwtoYZKEI56IS4zK/w6OL615tqKkk=";
hash = "sha256-sdAzReZVAZ5omLOhly/l3buiw01eem+k9+3RbVPzS2g=";
};
patches = [
@@ -106,8 +108,6 @@ stdenv.mkDerivation (finalAttrs: {
buildInputs = [
accountsservice
clutter
clutter-gtk
colord
colord-gtk
fontconfig
@@ -117,18 +117,13 @@ stdenv.mkDerivation (finalAttrs: {
glib-networking
gnome-desktop
gst_all_1.gstreamer
adwaita-icon-theme
cheese
gnome-bluetooth_1_0
gnome-remote-desktop
gnome-settings-daemon
gnome-user-share
mutter
gsettings-desktop-schemas
gsound
gtk3
ibus
libcanberra-gtk3
libepoxy
libgtop
libgudev
@@ -137,7 +132,6 @@ stdenv.mkDerivation (finalAttrs: {
libnma
libpulseaudio
libpwquality
librsvg
libsecret
libwacom
libxml2
@@ -167,6 +161,8 @@ stdenv.mkDerivation (finalAttrs: {
];
}
}"
install -Dm644 ${introduction_list} $out/share/budgie-control-center/introduction/introduction.list
'';
preFixup = ''
@@ -176,18 +172,11 @@ stdenv.mkDerivation (finalAttrs: {
# Thumbnailers (for setting user profile pictures)
--prefix XDG_DATA_DIRS : "${gdk-pixbuf}/share"
--prefix XDG_DATA_DIRS : "${librsvg}/share"
# WM keyboard shortcuts
--prefix XDG_DATA_DIRS : "${mutter}/share"
)
'';
separateDebugInfo = true;
# Fix GCC 14 build.
# cc-display-panel.c:962:41: error: passing argument 1 of 'gtk_widget_set_sensitive'
# from incompatible pointer type [-Wincompatible-pointer-types]
env.NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-pointer-types";
passthru = {
tests.version = testers.testVersion { package = finalAttrs.finalPackage; };
updateScript = nix-update-script { };

View File

@@ -0,0 +1,50 @@
{
stdenv,
lib,
fetchFromGitea,
cmake,
kdePackages,
qt6,
toml11,
buildPackages,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "budgie-desktop-services";
version = "1.0.2";
src = fetchFromGitea {
domain = "forge.moderndesktop.dev";
owner = "BuddiesOfBudgie";
repo = "budgie-desktop-services";
tag = finalAttrs.version;
hash = "sha256-YOa2pUePp33d1xKF7HrBX2EkjEQsRmzoiJMq72fl3CE=";
};
nativeBuildInputs = [
cmake
kdePackages.extra-cmake-modules
qt6.wrapQtAppsHook
];
buildInputs = [
kdePackages.kwayland
qt6.qtbase
toml11
];
postPatch = ''
substituteInPlace cmake/ECMFindModuleHelpersStub.cmake --replace-fail \
'/usr/share/ECM/modules//ECMFindModuleHelpers.cmake' \
'${buildPackages.kdePackages.extra-cmake-modules}/share/ECM/modules/ECMFindModuleHelpers.cmake'
'';
meta = {
description = "Future central hub and orchestrator for Budgie Desktop";
mainProgram = "org.buddiesofbudgie.Services";
homepage = "https://forge.moderndesktop.dev/BuddiesOfBudgie/budgie-desktop-services";
license = lib.licenses.mpl20;
teams = [ lib.teams.budgie ];
platforms = lib.platforms.linux;
};
})

View File

@@ -5,7 +5,9 @@
desktop-file-utils,
glib,
gtk3,
gtk-layer-shell,
intltool,
libxfce4windowing,
meson,
ninja,
nix-update-script,
@@ -16,13 +18,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "budgie-desktop-view";
version = "1.3";
version = "10.10.1";
src = fetchFromGitHub {
owner = "BuddiesOfBudgie";
repo = "budgie-desktop-view";
rev = "v${finalAttrs.version}";
hash = "sha256-k6VfAGWvUarhBFnREasOvWH3M9uuT5SFUpMFmKo1fmE=";
hash = "sha256-ro+/Aqsyr9py3SEdsRg+eiQLDkFI0wI4MMdCyH02E3U=";
};
nativeBuildInputs = [
@@ -38,6 +40,8 @@ stdenv.mkDerivation (finalAttrs: {
buildInputs = [
glib
gtk3
gtk-layer-shell
libxfce4windowing
];
mesonFlags = [ (lib.mesonBool "werror" false) ];

View File

@@ -4,58 +4,61 @@
fetchFromGitHub,
accountsservice,
alsa-lib,
budgie-screensaver,
budgie-desktop-services,
budgie-session,
docbook-xsl-nons,
glib,
gnome-desktop,
gnome-settings-daemon,
gobject-introspection,
graphene,
gst_all_1,
gtk-doc,
gtk3,
gtk-layer-shell,
ibus,
intltool,
libcanberra-gtk3,
libgee,
libGL,
libgudev,
libnotify,
libpeas2,
libpulseaudio,
libuuid,
libwacom,
libwnck,
magpie,
libgbm,
libxfce4windowing,
meson,
mutter,
ninja,
nix-update-script,
nixosTests,
pkg-config,
polkit,
python3,
sassc,
testers,
udev,
upower,
vala,
validatePkgConfig,
libxfce4windowing,
wrapGAppsHook3,
zenity,
}:
let
pythonEnv = python3.withPackages (
pp: with pp; [
psutil
pygobject3
systemd-python
]
);
in
stdenv.mkDerivation (finalAttrs: {
pname = "budgie-desktop";
version = "10.9.4";
version = "10.10.1";
src = fetchFromGitHub {
owner = "BuddiesOfBudgie";
repo = "budgie-desktop";
tag = "v${finalAttrs.version}";
fetchSubmodules = true;
hash = "sha256-e1kkmzSYX8TwiY0IIZYIK/FgMbZ/8PqkUn8pk3CcXHU=";
hash = "sha256-6SRnub0FMRE9AcHwsnYH4WMdG2kqEpl5dfHy56FwrGU=";
};
outputs = [
@@ -76,6 +79,7 @@ stdenv.mkDerivation (finalAttrs: {
meson
ninja
pkg-config
sassc
vala
validatePkgConfig
wrapGAppsHook3
@@ -84,54 +88,50 @@ stdenv.mkDerivation (finalAttrs: {
buildInputs = [
accountsservice
alsa-lib
budgie-screensaver
glib
gnome-desktop
gnome-settings-daemon
mutter
zenity
graphene
gst_all_1.gstreamer
gst_all_1.gst-plugins-base
gtk3
gtk-layer-shell
ibus
libcanberra-gtk3
libgee
libGL
libgudev
libnotify
libpulseaudio
libuuid
libwacom
libwnck
magpie
libgbm
polkit
sassc
udev
upower
libxfce4windowing
mutter # org.gnome.mutter.keybindings
pythonEnv
upower
];
propagatedBuildInputs = [
# budgie-1.0.pc, budgie-raven-plugin-1.0.pc
# budgie-3.0.pc, budgie-raven-plugin-3.0.pc
libpeas2
];
mesonFlags = [
# FIXME: The meson option name is confusing
# https://github.com/BuddiesOfBudgie/budgie-desktop/pull/739#discussion_r2359421711
"-Dbsd-libexecdir=${gnome-settings-daemon}/libexec"
"-Dgsd-libexecdir=${gnome-settings-daemon}/libexec"
"-Dwith-runtime-dependencies=false"
];
postPatch = ''
substituteInPlace src/session/budgie-desktop.in \
--replace-fail "@bindir@/org.buddiesofbudgie.Services" "${lib.getExe budgie-desktop-services}" \
--replace-fail "@gsd_libexecdir@/budgie-session-compositor-ready" "${budgie-session}/libexec/budgie-session-compositor-ready"
chmod +x src/bridges/labwc/labwc_bridge.py
substituteInPlace src/bridges/labwc/org.buddiesofbudgie.labwc-bridge.desktop.in \
--replace-fail "Exec=python3 @libexecdir@/labwc_bridge.py" "Exec=@libexecdir@/labwc_bridge.py"
'';
passthru = {
providedSessions = [ "budgie-desktop" ];
tests = {
inherit (nixosTests) budgie;
pkg-config = testers.hasPkgConfigModules { package = finalAttrs.finalPackage; };
};
tests.pkg-config = testers.hasPkgConfigModules { package = finalAttrs.finalPackage; };
updateScript = nix-update-script { };
};
@@ -147,8 +147,8 @@ stdenv.mkDerivation (finalAttrs: {
teams = [ lib.teams.budgie ];
platforms = lib.platforms.linux;
pkgConfigModules = [
"budgie-2.0"
"budgie-raven-plugin-2.0"
"budgie-3.0"
"budgie-raven-plugin-3.0"
"budgie-theme-1.0"
];
};

View File

@@ -1,81 +0,0 @@
{
lib,
stdenv,
fetchFromGitHub,
dbus-glib,
glib,
gnome-desktop,
gtk3,
intltool,
libgnomekbd,
libX11,
linux-pam,
meson,
ninja,
nix-update-script,
pkg-config,
systemd,
testers,
wrapGAppsHook3,
libxxf86vm,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "budgie-screensaver";
version = "5.1.0";
src = fetchFromGitHub {
owner = "BuddiesOfBudgie";
repo = "budgie-screensaver";
rev = "v${finalAttrs.version}";
hash = "sha256-N8x9hdbaMDisTbQPJedNO4UMLnCn+Q2hhm4udJZgQlc=";
};
outputs = [
"out"
"man"
];
nativeBuildInputs = [
intltool
meson
ninja
pkg-config
wrapGAppsHook3
];
buildInputs = [
dbus-glib
glib
gnome-desktop
gtk3
libgnomekbd
libX11
linux-pam
systemd
libxxf86vm
];
# Fix GCC 14 build.
# https://hydra.nixos.org/build/282164464/nixlog/3
env.NIX_CFLAGS_COMPILE = "-D_POSIX_C_SOURCE -Wno-error=implicit-function-declaration";
passthru = {
tests.version = testers.testVersion {
package = finalAttrs.finalPackage;
command = "budgie-screensaver-command --version";
};
updateScript = nix-update-script { };
};
meta = {
description = "Fork of old GNOME Screensaver for purposes of providing an authentication prompt on wake";
homepage = "https://github.com/BuddiesOfBudgie/budgie-screensaver";
changelog = "https://github.com/BuddiesOfBudgie/budgie-screensaver/releases/tag/v${finalAttrs.version}";
license = lib.licenses.gpl2Only;
teams = [ lib.teams.budgie ];
mainProgram = "budgie-screensaver";
platforms = lib.platforms.linux;
};
})

View File

@@ -27,9 +27,9 @@ index 327c7c7f..301ec7ee 100644
@@ -219,7 +219,7 @@ require_dbus_session (int argc,
}
new_argv[i + 2] = NULL;
- if (!execvp ("dbus-launch", new_argv)) {
+ if (!execvp ("@dbusLaunch@", new_argv)) {
g_set_error (error,
g_set_error (error,
G_SPAWN_ERROR,
G_SPAWN_ERROR_FAILED,

View File

@@ -31,13 +31,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "budgie-session";
version = "0.9.1";
version = "1.0.0";
src = fetchFromGitHub {
owner = "BuddiesOfBudgie";
repo = "budgie-session";
rev = "v${finalAttrs.version}";
hash = "sha256-mz+Yh3NK2Tag+MWVofFFXYYXspxhmYBD6YCiuATpZSI=";
hash = "sha256-KBNX1jbQ2yv+5rymoB9/w5V3bRZhBdZIJoysp9cNgn4=";
};
outputs = [

View File

@@ -5,6 +5,7 @@
fetchFromGitHub,
glib,
gtk3,
gtk-layer-shell,
libgee,
libgtop,
libpeas2,
@@ -43,6 +44,7 @@ stdenv.mkDerivation (finalAttrs: {
budgie-desktop
glib
gtk3
gtk-layer-shell
libgee
libgtop
libpeas2
@@ -53,7 +55,7 @@ stdenv.mkDerivation (finalAttrs: {
# https://github.com/prateekmedia/budgie-systemmonitor-applet/issues/4
substituteInPlace meson.build \
--replace-fail "dependency('libpeas-1.0', version: '>= 1.8.0')" "dependency('libpeas-2')" \
--replace-fail "dependency('budgie-1.0', version: '>= 2')" "dependency('budgie-2.0')"
--replace-fail "dependency('budgie-1.0', version: '>= 2')" "dependency('budgie-3.0')"
'';
passthru = {

View File

@@ -5,6 +5,7 @@
accountsservice,
budgie-desktop,
gtk3,
gtk-layer-shell,
intltool,
libgee,
libpeas2,
@@ -39,11 +40,17 @@ stdenv.mkDerivation (finalAttrs: {
accountsservice
budgie-desktop
gtk3
gtk-layer-shell
libgee
libpeas2
sassc
];
postPatch = ''
substituteInPlace meson.build \
--replace-fail "dependency('budgie-2.0', version: '>= 3')" "dependency('budgie-3.0')"
'';
passthru = {
updateScript = nix-update-script { };
};

View File

@@ -21,11 +21,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "butt";
version = "1.45.0";
version = "1.46.0";
src = fetchurl {
url = "https://danielnoethen.de/butt/release/${finalAttrs.version}/butt-${finalAttrs.version}.tar.gz";
hash = "sha256-iEmFEJRsTvHeKGYvnhzYXSC/q0DSw0Z/YgK4buDtg2Q=";
hash = "sha256-3RIC2H5HMn/e5Bl4XCPxxpv+FET9RgV7MxtcOuscXzs=";
};
postPatch = ''

View File

@@ -69,6 +69,13 @@ stdenv.mkDerivation (finalAttrs: {
# scripts points to the filename and byobu matches against this to know
# which backend to start with
bname="$(basename $file)"
# Don't wrap byobu-launch to fix failing automatic byobu launches
# See: https://github.com/NixOS/nixpkgs/issues/131353
if [ $bname == "byobu-launch" ]; then
continue
fi
mv "$file" "$out/bin/.$bname"
makeWrapper "$out/bin/.$bname" "$out/bin/$bname" \
--argv0 $bname \

View File

@@ -16,7 +16,7 @@ let
"cli"
"desktop"
];
version = "0.53.1";
version = "0.55.1";
system = stdenv.hostPlatform.system;
isLinux = stdenv.isLinux;
@@ -26,19 +26,19 @@ let
cliSources = {
x86_64-linux = {
url = "https://caido.download/releases/v${version}/caido-cli-v${version}-linux-x86_64.tar.gz";
hash = "sha256-qSrgEg0iEx5Mpe+meHnkrOgM9zcQJBzoH5KlMy8FE5Q=";
hash = "sha256-4xRkEN/ZA+JUFMB2qoEZT0Bzv2Qc7Y9kcj251MCAhKE=";
};
aarch64-linux = {
url = "https://caido.download/releases/v${version}/caido-cli-v${version}-linux-aarch64.tar.gz";
hash = "sha256-mgIjo+1y2jxC7lPUkLjuwIq4F8SagjQAyfeqaoeQX9w=";
hash = "sha256-gMQkF0+mq2nRBy0oBenFvp69byWCkqmt8E4ZpKuNxKw=";
};
x86_64-darwin = {
url = "https://caido.download/releases/v${version}/caido-cli-v${version}-mac-x86_64.zip";
hash = "sha256-iPDYQXWaxt32MxbAWL0496i7IO0FEt8di4E0msagfEo=";
hash = "sha256-C+EfmSBJMyxYXLfzxCrY7ZVtg8nwtie8w0Lj1Dy7o/k=";
};
aarch64-darwin = {
url = "https://caido.download/releases/v${version}/caido-cli-v${version}-mac-aarch64.zip";
hash = "sha256-5b9TrR5ZqlN17OgIaQ9vPIccwOiELNcidjinF3rf6Zc=";
hash = "sha256-b0cBS3RwsiLgJNqHWxi672MVZNfTYNOEJ2k0h2qNnP0=";
};
};
@@ -46,19 +46,19 @@ let
desktopSources = {
x86_64-linux = {
url = "https://caido.download/releases/v${version}/caido-desktop-v${version}-linux-x86_64.AppImage";
hash = "sha256-/puWhX5ooz994f1COw356HSfqcOmJaAweccTIWl9KCo=";
hash = "sha256-zfts2h8QWTxe/dISwgKRQiSx2nD6vtE1atPfREyGX/U=";
};
aarch64-linux = {
url = "https://caido.download/releases/v${version}/caido-desktop-v${version}-linux-aarch64.AppImage";
hash = "sha256-iYaWN6Nu0+zPSUzlhUS5EIuYO32BVkBLZrPA9h7DpfM=";
hash = "sha256-fYqzukRptCB466LIPbVre2EwBFt4Bsq9amQ4kjQuV2Q=";
};
x86_64-darwin = {
url = "https://caido.download/releases/v${version}/caido-desktop-v${version}-mac-x86_64.dmg";
hash = "sha256-iPDYQXWaxt32MxbAWL0496i7IO0FEt8di4E0msagfEo=";
hash = "sha256-UsGT5n0MGVwWCXACo74Harb4J/qt/3TyD0+EFYNmPxw=";
};
aarch64-darwin = {
url = "https://caido.download/releases/v${version}/caido-desktop-v${version}-mac-aarch64.dmg";
hash = "sha256-5b9TrR5ZqlN17OgIaQ9vPIccwOiELNcidjinF3rf6Zc=";
hash = "sha256-iZHZayj2VYjMY9+p+xrlX+vP/DcbCRPQizQEqtF39EU=";
};
};

View File

@@ -11,16 +11,16 @@
rustPlatform.buildRustPackage rec {
pname = "cargo-binstall";
version = "1.17.3";
version = "1.17.4";
src = fetchFromGitHub {
owner = "cargo-bins";
repo = "cargo-binstall";
tag = "v${version}";
hash = "sha256-8017nujJ/nHSy1xkzfObj30ffAsg7W2pbHzrto5ThH0=";
hash = "sha256-X5zRAuBxey450bstp/AyaCQkMrqsFTcTD2xfpX3K/t0=";
};
cargoHash = "sha256-NpnwtoTJs+xkedDEspDOQdZpIhuEhI3tRvH3hroIoIc=";
cargoHash = "sha256-4B51DmJCv4dv5vKgJNFmjAGP4CDB1gdrbGrnqt/s2Lk=";
nativeBuildInputs = [
pkg-config

View File

@@ -6,14 +6,14 @@
rustPlatform.buildRustPackage rec {
pname = "cargo-tally";
version = "1.0.72";
version = "1.0.73";
src = fetchCrate {
inherit pname version;
hash = "sha256-YkjRCP6VAp2Az0iM5HIG984ScJ3b3iKm34j4YuIs0kQ=";
hash = "sha256-aYVo/mI4YoohwxXoIL9vpuPN526sPnQMV1PnUqJEO2U=";
};
cargoHash = "sha256-SAO1VqlYzySIiBV3j6PCo7gknekmULpG/Two/8R0pv4=";
cargoHash = "sha256-+TIYJn0BvFBmhVkldOTtAvQv5Uj5sLsJ4OGNH3ic8lU=";
meta = {
description = "Graph the number of crates that depend on your crate over time";

View File

@@ -6,16 +6,16 @@
rustPlatform.buildRustPackage rec {
pname = "cargo-temp";
version = "0.3.5";
version = "0.4.0";
src = fetchFromGitHub {
owner = "yozhgoor";
repo = "cargo-temp";
rev = "v${version}";
hash = "sha256-kCiw3a9C78mcJ2/bX+E5gXZKYcfLXF0crMIZu4cJsdY=";
hash = "sha256-F7KIYEWZN4KAVoBRquL7/VH0p+MSFGO0n2PkbXljyPM=";
};
cargoHash = "sha256-7S7L/OKHTOAP9tbM7+xWhvcYBZScvX6SBW3U1AyFGrs=";
cargoHash = "sha256-ho5HriiViW2FxxPz4RA1nCkmlG7cdt5VuhVrSdGzzuY=";
meta = {
description = "CLI tool that allow you to create a temporary new Rust project using cargo with already installed dependencies";

View File

@@ -3,29 +3,32 @@
stdenv,
fetchFromGitHub,
cmake,
llvmPackages_19,
llvmPackages,
rapidjson,
runtimeShell,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "ccls";
version = "0.20241108";
version = "0.20250815.1";
src = fetchFromGitHub {
owner = "MaskRay";
repo = "ccls";
rev = finalAttrs.version;
sha256 = "sha256-0hZ4VnscnKYBrXy58IjeoeDxja1oNq0mNaQGPmej5BA=";
tag = finalAttrs.version;
hash = "sha256-3Wi8hsjFtFa0/HCZtli2omOskIlxV7FndbJv9MOWhMo=";
};
strictDeps = true;
nativeBuildInputs = [
cmake
llvmPackages_19.llvm.dev
llvmPackages.clang
llvmPackages.llvm.dev
];
buildInputs = with llvmPackages_19; [
libclang
llvm
buildInputs = [
llvmPackages.libclang
llvmPackages.llvm
rapidjson
];
@@ -35,13 +38,13 @@ stdenv.mkDerivation (finalAttrs: {
cmakeFlagsArray+=(-DCMAKE_CXX_FLAGS="-fvisibility=hidden -fno-rtti")
'';
clang = llvmPackages_19.clang;
shell = runtimeShell;
postFixup = ''
export wrapped=".ccls-wrapped"
mv $out/bin/ccls $out/bin/$wrapped
substituteAll ${./wrapper} $out/bin/ccls
substitute ${./wrapper} $out/bin/ccls \
--replace-fail '@clang@' '${llvmPackages.clang}' \
--replace-fail '@shell@' '${runtimeShell}' \
--replace-fail '@wrapped@' "$wrapped"
chmod --reference=$out/bin/$wrapped $out/bin/ccls
'';
@@ -51,9 +54,9 @@ stdenv.mkDerivation (finalAttrs: {
homepage = "https://github.com/MaskRay/ccls";
license = lib.licenses.asl20;
platforms = lib.platforms.linux ++ lib.platforms.darwin;
maintainers = with lib.maintainers; [
mic92
tobim
maintainers = [
lib.maintainers.mic92
lib.maintainers.tobim
];
};
})

View File

@@ -1,9 +1,11 @@
#! @shell@ -e
dirpath=$(CDPATH= cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
printf -v extraArgs ',\"%s\"' \
$(cat @clang@/nix-support/libc-cflags \
@clang@/nix-support/libcxx-cxxflags) \
${NIX_CFLAGS_COMPILE}
initString="--init={\"clang\":{\"extraArgs\":[${extraArgs:1}],\"resourceDir\":\"@clang@/resource-root\"}}"
exec -a "$0" "@out@/bin/@wrapped@" "${initString}" "$@"
exec -a "$0" "$dirpath/@wrapped@" "${initString}" "$@"

View File

@@ -37,14 +37,14 @@ with py.pkgs;
python3.pkgs.buildPythonApplication rec {
pname = "checkov";
version = "3.2.499";
version = "3.2.500";
pyproject = true;
src = fetchFromGitHub {
owner = "bridgecrewio";
repo = "checkov";
tag = version;
hash = "sha256-1jb+ot8m7MS+BvXL7QakBHoViEmk+eORVmlmBJDfAtM=";
hash = "sha256-pjoWUEJbB5onlprYOjl8diVolM29kXf0GS9eebV+o9o=";
};
pythonRelaxDeps = [

View File

@@ -1,6 +1,6 @@
import ./generic.nix {
version = "25.12.3.21-stable";
rev = "7c3f65751609dab4f2f66de305cbc96dbeb1c4f2";
hash = "sha256-1cPAEh8CuKGLcQhUSAMXE8sR3pStzVEtPpgUTj2z0cw=";
version = "25.12.4.35-stable";
rev = "4b2fbdcba83cf43fcf641e8dc492dfe0eaddce1a";
hash = "sha256-XC6Mt+XmCcRp4V0U8RPBIqPNZdN3KdSz8IDh49ZcWBE=";
lts = false;
}

View File

@@ -11,13 +11,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "cockpit-files";
version = "34";
version = "35";
src = fetchFromGitHub {
owner = "cockpit-project";
repo = "cockpit-files";
tag = finalAttrs.version;
hash = "sha256-nxlPzNrX3mAwhR8mpRfoZ7d6tdfVOBEaTtzEHU14p68=";
hash = "sha256-ziFtsWZPdzkqc3UEaoIfwsIe8q/H0lyLtEropA2w+pc=";
fetchSubmodules = true;
postFetch = "cp $out/node_modules/.package-lock.json $out/package-lock.json";

View File

@@ -13,13 +13,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "cockpit-machines";
version = "346";
version = "347";
src = fetchFromGitHub {
owner = "cockpit-project";
repo = "cockpit-machines";
tag = finalAttrs.version;
hash = "sha256-fsEmxJ/9w4NbjgKhb4JTFY94FFTc735+ZQ8YieLQVpA=";
hash = "sha256-VXxR6/6nPaWA2FwT/bViu1FQAgqs0Jya1IyN5Oodfow=";
fetchSubmodules = true;
postFetch = "cp $out/node_modules/.package-lock.json $out/package-lock.json";

View File

@@ -12,13 +12,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "cockpit-podman";
version = "119.1";
version = "120";
src = fetchFromGitHub {
owner = "cockpit-project";
repo = "cockpit-podman";
tag = finalAttrs.version;
hash = "sha256-XAOHkul9oh1mUJ27ghJgZLtriBGjofyoGhQ3gb7Gunc=";
hash = "sha256-1PXz+zHuj5fjzDe194+sgBlLhQnS9jzv9FbM9RfNIVc=";
fetchSubmodules = true;
postFetch = "cp $out/node_modules/.package-lock.json $out/package-lock.json";

View File

@@ -6,16 +6,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "complgen";
version = "0.7.2";
version = "0.7.3";
src = fetchFromGitHub {
owner = "adaszko";
repo = "complgen";
tag = "v${finalAttrs.version}";
hash = "sha256-DNmStSwuAFsLGC4pLU6dO2qhBQgxObPiUJxZoJf1d5A=";
hash = "sha256-5fEownFj5cyLL+4ZPN80qlkw3xu6xspsKfruk7KBhrI=";
};
cargoHash = "sha256-whve1rNmqOLWjrM8gqxgocRTTWpEQ/VxT/0t+12uSKw=";
cargoHash = "sha256-wGbf1UiCwjOzUbR0k45EAuGjEg9+x14d8kKpz7pHQN8=";
meta = {
changelog = "https://github.com/adaszko/complgen/blob/v${finalAttrs.version}/CHANGELOG.md";

View File

@@ -3,13 +3,16 @@
stdenvNoCC,
cacert,
yarn-berry,
nodejs,
nodejs-slim, # no need for NPM
fetchFromGitHub,
nix-update-script,
versionCheckHook,
fetchpatch2,
}:
let
nodejs = nodejs-slim;
in
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "corepack";
version = "0.34.6";

View File

@@ -28,14 +28,14 @@ let
in
stdenv'.mkDerivation (finalAttrs: {
pname = "ctranslate2";
version = "4.6.3";
version = "4.7.0";
src = fetchFromGitHub {
owner = "OpenNMT";
repo = "CTranslate2";
tag = "v${finalAttrs.version}";
fetchSubmodules = true;
hash = "sha256-J9h4G+4jv02/gbpHd/THLAxxII/hlmsFuaJUTU8TMgQ=";
hash = "sha256-aH2sm7GkHbjy0/KwgyCIpAFNHDmJURd4xyn+51MCr+Y=";
};
# Fix CMake 4 compatibility

View File

@@ -67,7 +67,7 @@ stdenv.mkDerivation {
# force char to be unsigned on aarch64
# https://codeberg.org/doug-moen/curv/issues/227
NIX_CFLAGS_COMPILE = [ "-fsigned-char" ];
env.NIX_CFLAGS_COMPILE = toString [ "-fsigned-char" ];
# GPU tests do not work in sandbox, instead we do this for sanity
doInstallCheck = true;

View File

@@ -6,6 +6,7 @@
cmake,
flex,
cadical,
cadical' ? cadical.override { version = "2.1.3"; },
symfpu,
gmp,
python3,
@@ -26,19 +27,13 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-Um1x+XgQ5yWSoqtx1ZWbVAnNET2C4GVasIbn0eNfico=";
};
__structuredAttrs = true;
strictDeps = true;
nativeBuildInputs = [
pkg-config
cmake
flex
];
buildInputs = [
cadical.dev
symfpu
gmp
gtest
boost
jdk
libpoly
(python3.withPackages (
ps: with ps; [
pyparsing
@@ -46,6 +41,15 @@ stdenv.mkDerivation (finalAttrs: {
]
))
];
buildInputs = [
cadical'.dev
symfpu
gmp
gtest
boost
jdk
libpoly
];
preConfigure = ''
patchShebangs ./src/

View File

@@ -45,8 +45,10 @@ stdenv.mkDerivation {
flex
];
NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-pointer-types";
NIX_LDFLAGS = "-lbluetooth";
env = {
NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-pointer-types";
NIX_LDFLAGS = "-lbluetooth";
};
postInstall = ''
# Some programs (for example, cabal-install) have problems with the double 0

View File

@@ -0,0 +1,9 @@
{
buildEnv,
dejavu_fonts,
}:
buildEnv {
inherit (dejavu_fonts) pname version;
paths = [ dejavu_fonts.out ];
}

View File

@@ -14,13 +14,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "delly";
version = "1.5.0";
version = "1.7.2";
src = fetchFromGitHub {
owner = "dellytools";
repo = "delly";
rev = "v${finalAttrs.version}";
hash = "sha256-OoQivDDoYtYYPsl5U4hJGE7b+IU/jrqWejiXY5Py4n4=";
hash = "sha256-wlaRHCRcbj4Hw7PVYeB6N1bMS4FL3gPo1uC1OOmJwuA=";
};
postPatch = lib.optionalString stdenv.cc.isClang ''

View File

@@ -56,7 +56,7 @@ stdenv.mkDerivation {
];
# error by default in GCC 14
NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-pointer-types";
env.NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-pointer-types";
preFixup = ''
gappsWrapperArgs+=(

View File

@@ -12,20 +12,20 @@
}:
let
pname = "dependabot-cli";
version = "1.81.0";
version = "1.82.0";
# `tag` is what `dependabot` uses to find the relevant docker images.
tag = "nixpkgs-dependabot-cli-${version}";
# Get these hashes from
# nix run nixpkgs#nix-prefetch-docker -- --image-name ghcr.io/github/dependabot-update-job-proxy/dependabot-update-job-proxy --image-tag latest --final-image-name dependabot-update-job-proxy --final-image-tag ${tag}
updateJobProxy.imageDigest = "sha256:d26fd269228ce287141aef81ef54e23a0001d2c6c6a3e16db286488c7d769c8c";
updateJobProxy.hash = "sha256-6mmiI2AjKxopeC5SfTa9XOR4hatxEu6M/28wycRnz2w=";
updateJobProxy.imageDigest = "sha256:70cf9a8f006db9cde732faf9e33a4f60af895532bbe803268fc8fd2f70aa3202";
updateJobProxy.hash = "sha256-HTqXW+q/kdOVRplh1b23uQIJ6D9Xf2i1Gtv6dlRPPYc=";
# Get these hashes from
# nix run nixpkgs#nix-prefetch-docker -- --image-name ghcr.io/dependabot/dependabot-updater-github-actions --image-tag latest --final-image-name dependabot-updater-github-actions --final-image-tag ${tag}
updaterGitHubActions.imageDigest = "sha256:5964979027fe1d6fc358e89774074bfe34fa89b2b53ce7d45b44b4ebf71b7953";
updaterGitHubActions.hash = "sha256-dmMq/T7DLomvzPtOGIBQnrv+k5/NpfxbcXFxxo5ij6o=";
updaterGitHubActions.imageDigest = "sha256:16b379590f4eda319c618de70e0e9cd29f49a10d9b80b905e4aa05df78389c1a";
updaterGitHubActions.hash = "sha256-/kWULJVxOPK22pMctd9QPi3nld0qOnJE0pWwVO/nIsQ=";
in
buildGoModule {
inherit pname version;
@@ -34,7 +34,7 @@ buildGoModule {
owner = "dependabot";
repo = "cli";
rev = "v${version}";
hash = "sha256-9//TW+56UM/5J6psJWcS6lJqyKwQUEOWftTOJxEaCcQ=";
hash = "sha256-ZMMpOrOMuqheoUyTPEx2J7AMQ32yfhwW4u4PtoSuuBE=";
};
vendorHash = "sha256-dD48OKpuGAJAro7qV4tqpf/uENV2X1VQ2kUvAuJLXc0=";
@@ -61,6 +61,10 @@ buildGoModule {
"-skip=TestDependabot"
];
# Some tests fail on *-darwin because they require host port binding or a Docker environment.
# So, we skip the test entirely on *-darwin.
doCheck = !stdenv.hostPlatform.isDarwin;
doInstallCheck = true;
installCheckPhase = ''
$out/bin/dependabot --help

View File

@@ -6,11 +6,11 @@
stdenv.mkDerivation rec {
pname = "di";
version = "6.0.0";
version = "6.2.2.2";
src = fetchurl {
url = "mirror://sourceforge/diskinfo-di/${pname}-${version}.tar.gz";
sha256 = "sha256-e2Y+TbBEsfpJhr0Bj4J8GOlv5tH5o2cy3LsEUOf1GMs=";
sha256 = "sha256-Ge7rfrytMGGueBTNrlWTrM+yuyYc4keVpgSigsv8YP4=";
};
makeFlags = [ "PREFIX=$(out)" ];

View File

@@ -4,31 +4,36 @@
buildGoModule,
fetchFromGitHub,
nix-update-script,
libx11,
makeWrapper,
xsel,
wl-clipboard,
}:
buildGoModule (finalAttrs: {
pname = "discordo";
version = "0-unstable-2025-12-06";
version = "0-unstable-2026-01-28";
src = fetchFromGitHub {
owner = "ayn2op";
repo = "discordo";
rev = "a9359209369cf816bdab76d4feeb8270a5410040";
hash = "sha256-Dudlghaz3RGZaHSExyzmeVUZufU8w1ONSE3nh/GINHQ=";
rev = "415c534674064305625f97a8ba42c4da0ad8f2e9";
hash = "sha256-epodX3renaAdzqKsYux65LX671M6u3uHvh/EViQqAQg=";
};
vendorHash = "sha256-IFZcBq58qLRmU0eDrPNh/vEL3L+FZX1AHS09vtWmRaQ=";
vendorHash = "sha256-2Y+IBDklxro75rFImKjMecr/eK6jSquKidy4hfpguYY=";
env.CGO_ENABLED = 0;
env.CGO_ENABLED = 1;
ldflags = [
"-s"
];
# Clipboard support on X11 and Wayland
# Clipboard support on X11
buildInputs = lib.optionals stdenv.hostPlatform.isLinux [
libx11
];
# Clipboard support on Wayland
nativeBuildInputs = lib.optionals stdenv.hostPlatform.isLinux [
makeWrapper
];
@@ -37,7 +42,6 @@ buildGoModule (finalAttrs: {
wrapProgram $out/bin/discordo \
--prefix PATH : ${
lib.makeBinPath [
xsel
wl-clipboard
]
}
@@ -51,7 +55,10 @@ buildGoModule (finalAttrs: {
description = "Lightweight, secure, and feature-rich Discord terminal client";
homepage = "https://github.com/ayn2op/discordo";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ arian-d ];
maintainers = with lib.maintainers; [
arian-d
siphc
];
mainProgram = "discordo";
};
})

View File

@@ -83,7 +83,7 @@ stdenv.mkDerivation (finalAttrs: {
];
# workaround for https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105329
NIX_CFLAGS_COMPILE = "-Wno-restrict -Wno-maybe-uninitialized";
env.NIX_CFLAGS_COMPILE = "-Wno-restrict -Wno-maybe-uninitialized";
cmakeFlags = [
"-DWITH_PERL5=OFF"

View File

@@ -8,7 +8,7 @@
let
themeName = "Dracula";
version = "4.0.0-unstable-2026-01-22";
version = "4.0.0-unstable-2026-01-31";
in
stdenvNoCC.mkDerivation {
pname = "dracula-theme";
@@ -17,8 +17,8 @@ stdenvNoCC.mkDerivation {
src = fetchFromGitHub {
owner = "dracula";
repo = "gtk";
rev = "0a573d38280bec3e576f4be9d12a716b02254f7a";
hash = "sha256-Nyp6hLP8eAawiQMPuwZfg0FMR7HGDBb+TDozrE8VygQ=";
rev = "1282a6806d568b736fddf783263fc96ccd34a8ce";
hash = "sha256-6fYbe3CVfCw/CZaFX5Mc1DPb4+uiQLIZlirx+2/jUzw=";
};
propagatedUserEnvPkgs = [

View File

@@ -26,7 +26,7 @@ stdenv.mkDerivation {
substituteInPlace create.make --replace-fail "-lcurses" "-lncurses"
'';
NIX_CFLAGS_COMPILE = "-DHAS_UNISTD=1 -DHAS_STDLIB=1 -DHAS_SYS_WAIT=1";
env.NIX_CFLAGS_COMPILE = "-DHAS_UNISTD=1 -DHAS_STDLIB=1 -DHAS_SYS_WAIT=1";
installPhase = ''
runHook preInstall

View File

@@ -54,7 +54,7 @@ stdenv.mkDerivation {
patchShebangs ./
'';
NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration";
env.NIX_CFLAGS_COMPILE = "-Wno-error=implicit-function-declaration";
cmakeFlags = [
(lib.cmakeFeature "ELMER_INSTALL_LIB_DIR" "${placeholder "out"}/lib")

View File

@@ -1,166 +0,0 @@
diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock
index f4bc16e..cae6562 100644
--- a/src-tauri/Cargo.lock
+++ b/src-tauri/Cargo.lock
@@ -545,6 +545,17 @@ dependencies = [
"brotli-decompressor",
]
+[[package]]
+name = "brotli"
+version = "7.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cc97b8f16f944bba54f0433f07e30be199b6dc2bd25937444bbad560bcea29bd"
+dependencies = [
+ "alloc-no-stdlib",
+ "alloc-stdlib",
+ "brotli-decompressor",
+]
+
[[package]]
name = "brotli-decompressor"
version = "4.0.1"
@@ -690,16 +701,16 @@ dependencies = [
[[package]]
name = "cargo_metadata"
-version = "0.18.1"
+version = "0.19.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037"
+checksum = "dd5eb614ed4c27c5d706420e4320fbe3216ab31fa1c33cd8246ac36dae4479ba"
dependencies = [
"camino",
"cargo-platform",
"semver",
"serde",
"serde_json",
- "thiserror 1.0.63",
+ "thiserror 2.0.17",
]
[[package]]
@@ -2661,7 +2672,19 @@ version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5b1fb8864823fad91877e6caea0baca82e49e8db50f8e5c9f9a453e27d3330fc"
dependencies = [
- "jsonptr",
+ "jsonptr 0.4.7",
+ "serde",
+ "serde_json",
+ "thiserror 1.0.63",
+]
+
+[[package]]
+name = "json-patch"
+version = "3.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "863726d7afb6bc2590eeff7135d923545e5e964f004c2ccf8716c25e70a86f08"
+dependencies = [
+ "jsonptr 0.6.3",
"serde",
"serde_json",
"thiserror 1.0.63",
@@ -2678,6 +2701,16 @@ dependencies = [
"serde_json",
]
+[[package]]
+name = "jsonptr"
+version = "0.6.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5dea2b27dd239b2556ed7a25ba842fe47fd602e7fc7433c2a8d6106d4d9edd70"
+dependencies = [
+ "serde",
+ "serde_json",
+]
+
[[package]]
name = "keyboard-types"
version = "0.7.0"
@@ -4614,13 +4647,15 @@ dependencies = [
[[package]]
name = "serde_json"
-version = "1.0.114"
+version = "1.0.149"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0"
+checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86"
dependencies = [
"itoa 1.0.10",
- "ryu",
+ "memchr",
"serde",
+ "serde_core",
+ "zmij",
]
[[package]]
@@ -5237,7 +5272,7 @@ dependencies = [
"dirs",
"glob",
"heck 0.5.0",
- "json-patch",
+ "json-patch 2.0.0",
"schemars",
"semver",
"serde",
@@ -5255,9 +5290,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "95d7443dd4f0b597704b6a14b964ee2ed16e99928d8e6292ae9825f09fbcd30e"
dependencies = [
"base64 0.22.1",
- "brotli",
+ "brotli 6.0.0",
"ico",
- "json-patch",
+ "json-patch 2.0.0",
"plist",
"png",
"proc-macro2",
@@ -5573,18 +5608,19 @@ dependencies = [
[[package]]
name = "tauri-utils"
-version = "2.0.1"
+version = "2.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c38b0230d6880cf6dd07b6d7dd7789a0869f98ac12146e0d18d1c1049215a045"
+checksum = "96fb10e7cc97456b2d5b9c03e335b5de5da982039a303a20d10006885e4523a0"
dependencies = [
- "brotli",
+ "brotli 7.0.0",
"cargo_metadata",
"ctor",
"dunce",
"glob",
"html5ever",
+ "http 1.1.0",
"infer",
- "json-patch",
+ "json-patch 3.0.1",
"kuchikiki",
"log",
"memchr",
@@ -5599,7 +5635,7 @@ dependencies = [
"serde_json",
"serde_with",
"swift-rs",
- "thiserror 1.0.63",
+ "thiserror 2.0.17",
"toml 0.8.2",
"url",
"urlpattern",
@@ -7031,6 +7067,12 @@ dependencies = [
"zstd",
]
+[[package]]
+name = "zmij"
+version = "1.0.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2fc5a66a20078bf1251bde995aa2fdcc4b800c70b5d92dd2c62abc5c60f679f8"
+
[[package]]
name = "zopfli"
version = "0.8.1"

View File

@@ -27,13 +27,13 @@ let
in
rustPlatform.buildRustPackage (finalAttrs: {
pname = "en-croissant";
version = "0.12.2";
version = "0.13.0";
src = fetchFromGitHub {
owner = "franciscoBSalgueiro";
repo = "en-croissant";
tag = "v${finalAttrs.version}";
hash = "sha256-Ef6O8C1PPjCmF5lashpBQXWwjsEEKCl5R98QMOFDIBM=";
hash = "sha256-+s774MtqbfOhL2qco+i9uBMQPn30EGvOYtqw1nZ9KkY=";
};
pnpmDeps = fetchPnpmDeps {
@@ -43,22 +43,17 @@ rustPlatform.buildRustPackage (finalAttrs: {
src
;
inherit pnpm;
fetcherVersion = 2;
hash = "sha256-p2j886NRBw/8c2UJ94o6w7YtKnOfm7hU9SgEUrzAwco=";
fetcherVersion = 3;
hash = "sha256-/gue4iQG8xySxsH3l5ri+GjmNr/9sow20CLVxxQo7Gs=";
};
cargoPatches = [
# Bump the tauri-utils package to at least 2.1.0, to fix resource path resolution on NixOS.
./en-croissant-update-tauri-utils.patch
];
postPatch = ''
jq '.plugins.updater.endpoints = [ ] | .bundle.createUpdaterArtifacts = false' src-tauri/tauri.conf.json | sponge src-tauri/tauri.conf.json
'';
cargoRoot = "src-tauri";
cargoHash = "sha256-cTb6nKHlazyOu3cpwAAp20j3QmrDxC507ZRpYT5fgQs=";
cargoHash = "sha256-4gtGHexyR6TkI8tmtLMT2xUAn9+Bd9l3hRq43aL94yI=";
buildAndTestSubdir = finalAttrs.cargoRoot;

View File

@@ -6,13 +6,13 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "exploitdb";
version = "2026-01-18";
version = "2026-02-03";
src = fetchFromGitLab {
owner = "exploit-database";
repo = "exploitdb";
tag = finalAttrs.version;
hash = "sha256-ZV8CcpZzxK1uts8RzUmzp4mKXvS/xv8D02Jsv7DzByQ=";
hash = "sha256-NEav9U7rqPRtDTZPRIP7UTa/cbbRRz5G2YOWZmAabO8=";
};
nativeBuildInputs = [ makeWrapper ];

View File

@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
'';
# errors by default in GCC 14
NIX_CFLAGS_COMPILE = "-Wno-error=return-mismatch -Wno-error=implicit-int";
env.NIX_CFLAGS_COMPILE = "-Wno-error=return-mismatch -Wno-error=implicit-int";
installPhase = ''
mkdir -p "$out"/{bin,share/fairymax}

View File

@@ -6,12 +6,12 @@
python3Packages.buildPythonApplication rec {
pname = "fanficfare";
version = "4.50.0";
version = "4.53.0";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-+4hasWmQx//HzKwOmtlGqutw95rKFvWL97Ec1xLE1Js=";
hash = "sha256-lUeMP7wWs5+ZzP4pEr0BUvzAIo+NKAqs4bGSGcSmi/k=";
};
nativeBuildInputs = with python3Packages; [

View File

@@ -2,37 +2,19 @@
lib,
fetchFromGitHub,
rustPlatform,
pkg-config,
fontconfig,
freetype,
}:
rustPlatform.buildRustPackage {
rustPlatform.buildRustPackage (finalAttrs: {
pname = "figma-agent";
version = "0.3.2-unstable-2024-11-16";
version = "0.4.3";
src = fetchFromGitHub {
owner = "neetly";
repo = "figma-agent-linux";
rev = "6709a1b7ffcbfb227472d8f017bfbbda77ddca7d";
sha256 = "sha256-Cq+ivyrj6wt7DEUM730BG44sMkpOMt4qxb+J3itVar4=";
tag = finalAttrs.version;
hash = "sha256-eP2C/u4CWdf7ABHdxapFcrmI1Un405wIHE0kpvz7y7A=";
};
cargoHash = "sha256-QdEs1zaQ2CQT50nIhKxtp7zpJfa64xQgOy3sTOUGmxk=";
nativeBuildInputs = [
pkg-config
rustPlatform.bindgenHook
];
buildInputs = [
fontconfig
freetype
];
checkFlags = [
# All tests fail due to unavailable bindings
"--skip=figma-agent-freetype-sys"
];
cargoHash = "sha256-KmoTsriLnYvEI+yOOV9sLQ6qPRKqYRDzaYj7Kp72sP0=";
meta = {
description = "Figma Agent for Linux with a focus on performance";
@@ -42,4 +24,4 @@ rustPlatform.buildRustPackage {
mainProgram = "figma-agent";
platforms = lib.platforms.linux;
};
}
})

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