mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-07-20 23:51:03 +00:00
Merge 41965737c1 into haskell-updates
This commit is contained in:
@@ -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 it’s 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;
|
||||
|
||||
@@ -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"
|
||||
],
|
||||
|
||||
@@ -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`.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -87,6 +87,7 @@ in
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
serviceConfig = rec {
|
||||
Type = "notify";
|
||||
User = cfg.user;
|
||||
Group = cfg.group;
|
||||
DynamicUser = true;
|
||||
|
||||
@@ -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"
|
||||
'';
|
||||
};
|
||||
|
||||
|
||||
@@ -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);
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
with lib;
|
||||
let
|
||||
cfg = config.services.xserver.windowManager.wmii;
|
||||
wmii = pkgs.wmii_hg;
|
||||
wmii = pkgs.wmii;
|
||||
in
|
||||
{
|
||||
options = {
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
|
||||
62
nixos/modules/virtualisation/xen.md
Normal file
62
nixos/modules/virtualisation/xen.md
Normal 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>
|
||||
];
|
||||
}
|
||||
```
|
||||
|
||||
:::
|
||||
@@ -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;
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
{
|
||||
name = "earlyoom";
|
||||
meta.maintainers = with lib.maintainers; [
|
||||
ncfavier
|
||||
oxalica
|
||||
];
|
||||
|
||||
|
||||
66
nixos/tests/rstp.nix
Normal file
66
nixos/tests/rstp.nix
Normal 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)
|
||||
'';
|
||||
}
|
||||
@@ -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 ];
|
||||
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
|
||||
@@ -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")
|
||||
'';
|
||||
}
|
||||
|
||||
@@ -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};
|
||||
};
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
}:
|
||||
runCommand "sddm-wrapped"
|
||||
{
|
||||
pname = "sddm";
|
||||
inherit (sddm-unwrapped) version outputs;
|
||||
|
||||
buildInputs = sddm-unwrapped.buildInputs ++ extraPackages;
|
||||
|
||||
@@ -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 = {
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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=";
|
||||
} { };
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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";
|
||||
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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}"
|
||||
|
||||
@@ -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 { };
|
||||
};
|
||||
@@ -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
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
@@ -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)
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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 = ''
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
28
pkgs/by-name/bp/bpflinter/package.nix
Normal file
28
pkgs/by-name/bp/bpflinter/package.nix
Normal 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 ];
|
||||
};
|
||||
})
|
||||
@@ -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 { };
|
||||
};
|
||||
|
||||
5
pkgs/by-name/bu/budgie-control-center/introduction.list
Normal file
5
pkgs/by-name/bu/budgie-control-center/introduction.list
Normal 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
|
||||
@@ -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 { };
|
||||
|
||||
50
pkgs/by-name/bu/budgie-desktop-services/package.nix
Normal file
50
pkgs/by-name/bu/budgie-desktop-services/package.nix
Normal 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;
|
||||
};
|
||||
})
|
||||
@@ -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) ];
|
||||
|
||||
@@ -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"
|
||||
];
|
||||
};
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
})
|
||||
@@ -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,
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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 = {
|
||||
|
||||
@@ -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 { };
|
||||
};
|
||||
|
||||
@@ -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 = ''
|
||||
|
||||
@@ -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 \
|
||||
|
||||
@@ -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=";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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
|
||||
];
|
||||
};
|
||||
})
|
||||
|
||||
@@ -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}" "$@"
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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/
|
||||
|
||||
@@ -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
|
||||
|
||||
9
pkgs/by-name/de/dejavu_fontsEnv/package.nix
Normal file
9
pkgs/by-name/de/dejavu_fontsEnv/package.nix
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
buildEnv,
|
||||
dejavu_fonts,
|
||||
}:
|
||||
|
||||
buildEnv {
|
||||
inherit (dejavu_fonts) pname version;
|
||||
paths = [ dejavu_fonts.out ];
|
||||
}
|
||||
@@ -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 ''
|
||||
|
||||
@@ -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+=(
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)" ];
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
})
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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"
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
@@ -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}
|
||||
|
||||
@@ -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; [
|
||||
|
||||
@@ -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
Reference in New Issue
Block a user