Merge branch 'staging-next' into staging

This commit is contained in:
Weijia Wang 2024-05-01 10:51:22 +02:00
commit e546978f14
270 changed files with 10908 additions and 3330 deletions

View File

@ -8,7 +8,7 @@ Programs in the GNOME universe are written in various languages but they all use
[GSettings](https://developer.gnome.org/gio/stable/GSettings.html) API is often used for storing settings. GSettings schemas are required, to know the type and other metadata of the stored values. GLib looks for `glib-2.0/schemas/gschemas.compiled` files inside the directories of `XDG_DATA_DIRS`.
On Linux, GSettings API is implemented using [dconf](https://wiki.gnome.org/Projects/dconf) backend. You will need to add `dconf` [GIO module](#ssec-gnome-gio-modules) to `GIO_EXTRA_MODULES` variable, otherwise the `memory` backend will be used and the saved settings will not be persistent.
On Linux, GSettings API is implemented using [dconf](https://gitlab.gnome.org/GNOME/dconf) backend. You will need to add `dconf` [GIO module](#ssec-gnome-gio-modules) to `GIO_EXTRA_MODULES` variable, otherwise the `memory` backend will be used and the saved settings will not be persistent.
Last you will need the dconf database D-Bus service itself. You can enable it using `programs.dconf.enable`.
@ -76,11 +76,11 @@ Previously, a GTK theme needed to be in `XDG_DATA_DIRS`. This is no longer neces
### GObject introspection typelibs {#ssec-gnome-typelibs}
[GObject introspection](https://wiki.gnome.org/Projects/GObjectIntrospection) allows applications to use C libraries in other languages easily. It does this through `typelib` files searched in `GI_TYPELIB_PATH`.
[GObject introspection](https://gitlab.gnome.org/GNOME/gobject-introspection) allows applications to use C libraries in other languages easily. It does this through `typelib` files searched in `GI_TYPELIB_PATH`.
### Various plug-ins {#ssec-gnome-plugins}
If your application uses [GStreamer](https://gstreamer.freedesktop.org/) or [Grilo](https://wiki.gnome.org/Projects/Grilo), you should set `GST_PLUGIN_SYSTEM_PATH_1_0` and `GRL_PLUGIN_PATH`, respectively.
If your application uses [GStreamer](https://gstreamer.freedesktop.org/) or [Grilo](https://gitlab.gnome.org/GNOME/grilo), you should set `GST_PLUGIN_SYSTEM_PATH_1_0` and `GRL_PLUGIN_PATH`, respectively.
## Onto `wrapGApps*` hooks {#ssec-gnome-hooks}

View File

@ -9452,6 +9452,12 @@
fingerprint = "B768 6CD7 451A 650D 9C54 4204 6710 CF0C 1CBD 7762";
}];
};
jlbribeiro = {
email = "nix@jlbribeiro.com";
github = "jlbribeiro";
githubId = 1015816;
name = "José Ribeiro";
};
jleightcap = {
email = "jack@leightcap.com";
github = "jleightcap";
@ -15091,6 +15097,13 @@
githubId = 104593071;
name = "Oliver Schmidt";
};
osslate = {
email = "fionn@kelleher.email";
github = "osslate";
githubId = 773673;
matrix = "@osslate:fsfe.org";
name = "Fionn Kelleher";
};
ostrolucky = {
email = "gabriel.ostrolucky@gmail.com";
github = "ostrolucky";

View File

@ -341,7 +341,7 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
- `optparse-bash` is now dropped due to upstream inactivity. Alternatives available in Nixpkgs include [`argc`](https://github.com/sigoden/argc), [`argbash`](https://github.com/matejak/argbash), [`bashly`](https://github.com/DannyBen/bashly) and [`gum`](https://github.com/charmbracelet/gum), to name a few.
- `kanata` package has been updated to v1.5.0, which includes [breaking changes](https://github.com/jtroo/kanata/releases/tag/v1.5.0).
- `kanata` package has been updated to v1.6.0, which includes breaking changes. Check out the changelog of [v1.5.0](https://github.com/jtroo/kanata/releases/tag/v1.5.0) and [v1.6.0](https://github.com/jtroo/kanata/releases/tag/v1.6.0) for details.
- `craftos-pc` package has been updated to v2.8, which includes [breaking changes](https://github.com/MCJack123/craftos2/releases/tag/v2.8).
- Files are now handled in binary mode; this could break programs with embedded UTF-8 characters.

View File

@ -31,8 +31,11 @@ with lib;
cairo = super.cairo.override { x11Support = false; };
dbus = super.dbus.override { x11Support = false; };
fastfetch = super.fastfetch.override { vulkanSupport = false; waylandSupport = false; x11Support = false; };
ffmpeg = super.ffmpeg.override { ffmpegVariant = "headless"; };
ffmpeg_4 = super.ffmpeg_4.override { ffmpegVariant = "headless"; };
ffmpeg_5 = super.ffmpeg_5.override { ffmpegVariant = "headless"; };
ffmpeg_6 = super.ffmpeg_6.override { ffmpegVariant = "headless"; };
ffmpeg_7 = super.ffmpeg_7.override { ffmpegVariant = "headless"; };
# dep of graphviz, libXpm is optional for Xpm support
gd = super.gd.override { withXorg = false; };
ghostscript = super.ghostscript.override { cupsSupport = false; x11Support = false; };

View File

@ -4,6 +4,7 @@ with lib;
let
cfg = config.services.adguardhome;
settingsFormat = pkgs.formats.yaml { };
args = concatStringsSep " " ([
"--no-check-update"
@ -12,27 +13,33 @@ let
"--config /var/lib/AdGuardHome/AdGuardHome.yaml"
] ++ cfg.extraArgs);
configFile = pkgs.writeTextFile {
name = "AdGuardHome.yaml";
text = builtins.toJSON cfg.settings;
checkPhase = "${pkgs.adguardhome}/bin/adguardhome -c $out --check-config";
};
defaultBindPort = 3000;
in
{
imports =
let cfgPath = [ "services" "adguardhome" ];
in
[
(mkRenamedOptionModuleWith { sinceRelease = 2211; from = cfgPath ++ [ "host" ]; to = cfgPath ++ [ "settings" "bind_host" ]; })
(mkRenamedOptionModuleWith { sinceRelease = 2211; from = cfgPath ++ [ "port" ]; to = cfgPath ++ [ "settings" "bind_port" ]; })
];
settings = if (cfg.settings != null) then
cfg.settings // (if cfg.settings.schema_version < 23 then {
bind_host = cfg.host;
bind_port = cfg.port;
} else {
http.address = "${cfg.host}:${toString cfg.port}";
})
else
null;
configFile =
(settingsFormat.generate "AdGuardHome.yaml" settings).overrideAttrs (_: {
checkPhase = "${cfg.package}/bin/adguardhome -c $out --check-config";
});
in {
options.services.adguardhome = with types; {
enable = mkEnableOption "AdGuard Home network-wide ad blocker";
package = mkOption {
type = package;
default = pkgs.adguardhome;
defaultText = literalExpression "pkgs.adguardhome";
description = ''
The package that runs adguardhome.
'';
};
openFirewall = mkOption {
default = false;
type = bool;
@ -43,8 +50,8 @@ in
};
allowDHCP = mkOption {
default = cfg.settings.dhcp.enabled or false;
defaultText = literalExpression ''config.services.adguardhome.settings.dhcp.enabled or false'';
default = settings.dhcp.enabled or false;
defaultText = literalExpression "config.services.adguardhome.settings.dhcp.enabled or false";
type = bool;
description = ''
Allows AdGuard Home to open raw sockets (`CAP_NET_RAW`), which is
@ -65,32 +72,34 @@ in
'';
};
host = mkOption {
default = "0.0.0.0";
type = str;
description = ''
Host address to bind HTTP server to.
'';
};
port = mkOption {
default = 3000;
type = port;
description = ''
Port to serve HTTP pages on.
'';
};
settings = mkOption {
default = null;
type = nullOr (submodule {
freeformType = (pkgs.formats.yaml { }).type;
freeformType = settingsFormat.type;
options = {
schema_version = mkOption {
default = pkgs.adguardhome.schema_version;
defaultText = literalExpression "pkgs.adguardhome.schema_version";
default = cfg.package.schema_version;
defaultText = literalExpression "cfg.package.schema_version";
type = int;
description = ''
Schema version for the configuration.
Defaults to the `schema_version` supplied by `pkgs.adguardhome`.
'';
};
bind_host = mkOption {
default = "0.0.0.0";
type = str;
description = ''
Host address to bind HTTP server to.
'';
};
bind_port = mkOption {
default = defaultBindPort;
type = port;
description = ''
Port to serve HTTP pages on.
Defaults to the `schema_version` supplied by `cfg.package`.
'';
};
};
@ -107,7 +116,7 @@ in
Set this to `null` (default) for a non-declarative configuration without any
Nix-supplied values.
Declarative configurations are supplied with a default `schema_version`, `bind_host`, and `bind_port`.
Declarative configurations are supplied with a default `schema_version`, and `http.address`.
:::
'';
};
@ -124,17 +133,25 @@ in
config = mkIf cfg.enable {
assertions = [
{
assertion = cfg.settings != null -> cfg.mutableSettings
|| (hasAttrByPath [ "dns" "bind_host" ] cfg.settings)
|| (hasAttrByPath [ "dns" "bind_hosts" ] cfg.settings);
message =
"AdGuard setting dns.bind_host or dns.bind_hosts needs to be configured for a minimal working configuration";
assertion = cfg.settings != null
-> !(hasAttrByPath [ "bind_host" ] cfg.settings);
message = "AdGuard option `settings.bind_host' has been superseded by `services.adguardhome.host'";
}
{
assertion = cfg.settings != null -> cfg.mutableSettings
|| hasAttrByPath [ "dns" "bootstrap_dns" ] cfg.settings;
message =
"AdGuard setting dns.bootstrap_dns needs to be configured for a minimal working configuration";
assertion = cfg.settings != null
-> !(hasAttrByPath [ "bind_port" ] cfg.settings);
message = "AdGuard option `settings.bind_host' has been superseded by `services.adguardhome.port'";
}
{
assertion = settings != null -> cfg.mutableSettings
|| hasAttrByPath [ "dns" "bootstrap_dns" ] settings;
message = "AdGuard setting dns.bootstrap_dns needs to be configured for a minimal working configuration";
}
{
assertion = settings != null -> cfg.mutableSettings
|| hasAttrByPath [ "dns" "bootstrap_dns" ] settings
&& isList settings.dns.bootstrap_dns;
message = "AdGuard setting dns.bootstrap_dns needs to be a list";
}
];
@ -147,7 +164,7 @@ in
StartLimitBurst = 10;
};
preStart = optionalString (cfg.settings != null) ''
preStart = optionalString (settings != null) ''
if [ -e "$STATE_DIRECTORY/AdGuardHome.yaml" ] \
&& [ "${toString cfg.mutableSettings}" = "1" ]; then
# Writing directly to AdGuardHome.yaml results in empty file
@ -161,8 +178,9 @@ in
serviceConfig = {
DynamicUser = true;
ExecStart = "${pkgs.adguardhome}/bin/adguardhome ${args}";
AmbientCapabilities = [ "CAP_NET_BIND_SERVICE" ] ++ optionals cfg.allowDHCP [ "CAP_NET_RAW" ];
ExecStart = "${cfg.package}/bin/adguardhome ${args}";
AmbientCapabilities = [ "CAP_NET_BIND_SERVICE" ]
++ optionals cfg.allowDHCP [ "CAP_NET_RAW" ];
Restart = "always";
RestartSec = 10;
RuntimeDirectory = "AdGuardHome";
@ -170,6 +188,6 @@ in
};
};
networking.firewall.allowedTCPPorts = mkIf cfg.openFirewall [ cfg.settings.bind_port or defaultBindPort ];
networking.firewall.allowedTCPPorts = mkIf cfg.openFirewall [ cfg.port ];
};
}

View File

@ -10,7 +10,9 @@ let
# We check the source code in a derivation that does not depend on the
# system configuration so that most users don't have to redo the check and require
# the necessary dependencies.
checkedSource = pkgs.runCommand "systemd-boot" { } ''
checkedSource = pkgs.runCommand "systemd-boot" {
preferLocalBuild = true;
} ''
install -m755 -D ${./systemd-boot-builder.py} $out
${lib.getExe pkgs.buildPackages.mypy} \
--no-implicit-optional \

View File

@ -2,41 +2,39 @@
name = "adguardhome";
nodes = {
nullConf = { ... }: { services.adguardhome = { enable = true; }; };
nullConf = { services.adguardhome.enable = true; };
emptyConf = { lib, ... }: {
emptyConf = {
services.adguardhome = {
enable = true;
settings = { };
};
};
declarativeConf = { ... }: {
schemaVersionBefore23 = {
services.adguardhome = {
enable = true;
settings.schema_version = 20;
};
};
declarativeConf = {
services.adguardhome = {
enable = true;
mutableSettings = false;
settings = {
schema_version = 0;
dns = {
bind_host = "0.0.0.0";
bootstrap_dns = "127.0.0.1";
};
};
settings.dns.bootstrap_dns = [ "127.0.0.1" ];
};
};
mixedConf = { ... }: {
mixedConf = {
services.adguardhome = {
enable = true;
mutableSettings = true;
settings = {
schema_version = 0;
dns = {
bind_host = "0.0.0.0";
bootstrap_dns = "127.0.0.1";
};
};
settings.dns.bootstrap_dns = [ "127.0.0.1" ];
};
};
@ -70,11 +68,7 @@
allowDHCP = true;
mutableSettings = false;
settings = {
schema_version = 0;
dns = {
bind_host = "0.0.0.0";
bootstrap_dns = "127.0.0.1";
};
dns.bootstrap_dns = [ "127.0.0.1" ];
dhcp = {
# This implicitly enables CAP_NET_RAW
enabled = true;
@ -104,33 +98,38 @@
testScript = ''
with subtest("Minimal (settings = null) config test"):
nullConf.wait_for_unit("adguardhome.service")
nullConf.wait_for_unit("adguardhome.service")
nullConf.wait_for_open_port(3000)
with subtest("Default config test"):
emptyConf.wait_for_unit("adguardhome.service")
emptyConf.wait_for_open_port(3000)
emptyConf.wait_for_unit("adguardhome.service")
emptyConf.wait_for_open_port(3000)
with subtest("Default schema_version 23 config test"):
schemaVersionBefore23.wait_for_unit("adguardhome.service")
schemaVersionBefore23.wait_for_open_port(3000)
with subtest("Declarative config test, DNS will be reachable"):
declarativeConf.wait_for_unit("adguardhome.service")
declarativeConf.wait_for_open_port(53)
declarativeConf.wait_for_open_port(3000)
declarativeConf.wait_for_unit("adguardhome.service")
declarativeConf.wait_for_open_port(53)
declarativeConf.wait_for_open_port(3000)
with subtest("Mixed config test, check whether merging works"):
mixedConf.wait_for_unit("adguardhome.service")
mixedConf.wait_for_open_port(53)
mixedConf.wait_for_open_port(3000)
# Test whether merging works properly, even if nothing is changed
mixedConf.systemctl("restart adguardhome.service")
mixedConf.wait_for_unit("adguardhome.service")
mixedConf.wait_for_open_port(3000)
mixedConf.wait_for_unit("adguardhome.service")
mixedConf.wait_for_open_port(53)
mixedConf.wait_for_open_port(3000)
# Test whether merging works properly, even if nothing is changed
mixedConf.systemctl("restart adguardhome.service")
mixedConf.wait_for_unit("adguardhome.service")
mixedConf.wait_for_open_port(3000)
with subtest("Testing successful DHCP start"):
dhcpConf.wait_for_unit("adguardhome.service")
client.systemctl("start network-online.target")
client.wait_for_unit("network-online.target")
# Test IP assignment via DHCP
dhcpConf.wait_until_succeeds("ping -c 5 10.0.10.100")
# Test hostname resolution over DHCP-provided DNS
dhcpConf.wait_until_succeeds("ping -c 5 client.lan")
dhcpConf.wait_for_unit("adguardhome.service")
client.systemctl("start network-online.target")
client.wait_for_unit("network-online.target")
# Test IP assignment via DHCP
dhcpConf.wait_until_succeeds("ping -c 5 10.0.10.100")
# Test hostname resolution over DHCP-provided DNS
dhcpConf.wait_until_succeeds("ping -c 5 client.lan")
'';
}

View File

@ -867,6 +867,7 @@ in {
swap-partition = handleTest ./swap-partition.nix {};
swap-random-encryption = handleTest ./swap-random-encryption.nix {};
sway = handleTest ./sway.nix {};
swayfx = handleTest ./swayfx.nix {};
switchTest = handleTest ./switch-test.nix {};
sympa = handleTest ./sympa.nix {};
syncthing = handleTest ./syncthing.nix {};

207
nixos/tests/swayfx.nix Normal file
View File

@ -0,0 +1,207 @@
import ./make-test-python.nix (
{ pkgs, lib, ... }:
{
name = "swayfx";
meta = {
maintainers = with lib.maintainers; [ eclairevoyant ];
};
# testScriptWithTypes:49: error: Cannot call function of unknown type
# (machine.succeed if succeed else machine.execute)(
# ^
# Found 1 error in 1 file (checked 1 source file)
skipTypeCheck = true;
nodes.machine =
{ config, ... }:
{
# Automatically login on tty1 as a normal user:
imports = [ ./common/user-account.nix ];
services.getty.autologinUser = "alice";
environment = {
# For glinfo and wayland-info:
systemPackages = with pkgs; [
mesa-demos
wayland-utils
alacritty
];
# Use a fixed SWAYSOCK path (for swaymsg):
variables = {
"SWAYSOCK" = "/tmp/sway-ipc.sock";
# TODO: Investigate if we can get hardware acceleration to work (via
# virtio-gpu and Virgil). We currently have to use the Pixman software
# renderer since the GLES2 renderer doesn't work inside the VM (even
# with WLR_RENDERER_ALLOW_SOFTWARE):
# "WLR_RENDERER_ALLOW_SOFTWARE" = "1";
"WLR_RENDERER" = "pixman";
};
# For convenience:
shellAliases = {
test-x11 = "glinfo | tee /tmp/test-x11.out && touch /tmp/test-x11-exit-ok";
test-wayland = "wayland-info | tee /tmp/test-wayland.out && touch /tmp/test-wayland-exit-ok";
};
# To help with OCR:
etc."xdg/foot/foot.ini".text = lib.generators.toINI { } {
main = {
font = "inconsolata:size=14";
};
colors = rec {
foreground = "000000";
background = "ffffff";
regular2 = foreground;
};
};
etc."gpg-agent.conf".text = ''
pinentry-timeout 86400
'';
};
fonts.packages = [ pkgs.inconsolata ];
# Automatically configure and start Sway when logging in on tty1:
programs.bash.loginShellInit = ''
if [ "$(tty)" = "/dev/tty1" ]; then
set -e
mkdir -p ~/.config/sway
sed s/Mod4/Mod1/ /etc/sway/config > ~/.config/sway/config
sway --validate
sway && touch /tmp/sway-exit-ok
fi
'';
programs.sway = {
enable = true;
package = pkgs.swayfx.override { isNixOS = true; };
};
# To test pinentry via gpg-agent:
programs.gnupg.agent.enable = true;
# Need to switch to a different GPU driver than the default one (-vga std) so that Sway can launch:
virtualisation.qemu.options = [ "-vga none -device virtio-gpu-pci" ];
};
testScript =
{ nodes, ... }:
''
import shlex
import json
q = shlex.quote
NODE_GROUPS = ["nodes", "floating_nodes"]
def swaymsg(command: str = "", succeed=True, type="command"):
assert command != "" or type != "command", "Must specify command or type"
shell = q(f"swaymsg -t {q(type)} -- {q(command)}")
with machine.nested(
f"sending swaymsg {shell!r}" + " (allowed to fail)" * (not succeed)
):
ret = (machine.succeed if succeed else machine.execute)(
f"su - alice -c {shell}"
)
# execute also returns a status code, but disregard.
if not succeed:
_, ret = ret
if not succeed and not ret:
return None
parsed = json.loads(ret)
return parsed
def walk(tree):
yield tree
for group in NODE_GROUPS:
for node in tree.get(group, []):
yield from walk(node)
def wait_for_window(pattern):
def func(last_chance):
nodes = (node["name"] for node in walk(swaymsg(type="get_tree")))
if last_chance:
nodes = list(nodes)
machine.log(f"Last call! Current list of windows: {nodes}")
return any(pattern in name for name in nodes)
retry(func)
start_all()
machine.wait_for_unit("multi-user.target")
# To check the version:
print(machine.succeed("sway --version"))
# Wait for Sway to complete startup:
machine.wait_for_file("/run/user/1000/wayland-1")
machine.wait_for_file("/tmp/sway-ipc.sock")
# Test XWayland (foot does not support X):
swaymsg("exec WINIT_UNIX_BACKEND=x11 WAYLAND_DISPLAY= alacritty")
wait_for_window("alice@machine")
machine.send_chars("test-x11\n")
machine.wait_for_file("/tmp/test-x11-exit-ok")
print(machine.succeed("cat /tmp/test-x11.out"))
machine.copy_from_vm("/tmp/test-x11.out")
machine.screenshot("alacritty_glinfo")
machine.succeed("pkill alacritty")
# Start a terminal (foot) on workspace 3:
machine.send_key("alt-3")
machine.sleep(3)
machine.send_key("alt-ret")
wait_for_window("alice@machine")
machine.send_chars("test-wayland\n")
machine.wait_for_file("/tmp/test-wayland-exit-ok")
print(machine.succeed("cat /tmp/test-wayland.out"))
machine.copy_from_vm("/tmp/test-wayland.out")
machine.screenshot("foot_wayland_info")
machine.send_key("alt-shift-q")
machine.wait_until_fails("pgrep foot")
# Test gpg-agent starting pinentry-gnome3 via D-Bus (tests if
# $WAYLAND_DISPLAY is correctly imported into the D-Bus user env):
swaymsg("exec mkdir -p ~/.gnupg")
swaymsg("exec cp /etc/gpg-agent.conf ~/.gnupg")
swaymsg("exec DISPLAY=INVALID gpg --no-tty --yes --quick-generate-key test", succeed=False)
machine.wait_until_succeeds("pgrep --exact gpg")
wait_for_window("gpg")
machine.succeed("pgrep --exact gpg")
machine.screenshot("gpg_pinentry")
machine.send_key("alt-shift-q")
machine.wait_until_fails("pgrep --exact gpg")
# Test swaynag:
def get_height():
return [node['rect']['height'] for node in walk(swaymsg(type="get_tree")) if node['focused']][0]
before = get_height()
machine.send_key("alt-shift-e")
retry(lambda _: get_height() < before)
machine.screenshot("sway_exit")
swaymsg("exec swaylock")
machine.wait_until_succeeds("pgrep -x swaylock")
machine.sleep(3)
machine.send_chars("${nodes.machine.config.users.users.alice.password}")
machine.send_key("ret")
machine.wait_until_fails("pgrep -x swaylock")
# Exit Sway and verify process exit status 0:
swaymsg("exit", succeed=False)
machine.wait_until_fails("pgrep -x sway")
machine.wait_for_file("/tmp/sway-exit-ok")
'';
}
)

View File

@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
The features can be activated and configured through the Universal Access
panel of the GNOME Control Center.
'';
homepage = "https://wiki.gnome.org/Projects/Mousetweaks";
homepage = "https://gitlab.gnome.org/Archive/mousetweaks";
license = licenses.gpl2;
platforms = platforms.linux;
maintainers = [ maintainers.johnazoidberg ];

View File

@ -24,7 +24,7 @@
stdenv.mkDerivation rec {
pname = "squeekboard";
version = "1.22.0";
version = "1.38.0";
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
@ -32,23 +32,15 @@ stdenv.mkDerivation rec {
owner = "Phosh";
repo = pname;
rev = "v${version}";
hash = "sha256-Rk6LOCZ5bhoo5ORAIIYWENrKUIVypd8bnKjyyBSbUYg=";
hash = "sha256-ZVSnLH2wLPcOHkU2pO0BgIdGmULMNiacIYMRmhN+bZ8=";
};
cargoDeps = rustPlatform.fetchCargoTarball {
inherit src;
cargoUpdateHook = ''
cat Cargo.toml.in Cargo.deps.newer > Cargo.toml
cp Cargo.lock.newer Cargo.lock
'';
name = "${pname}-${version}";
hash = "sha256-DygWra4R/w8KzkFzIVm4+ePpUpjiYGaDx2NQm6o+tWQ=";
hash = "sha256-tcn1tRuRlHVTYvc8T/ePfCEPNjih6B9lo/hdX+WwitQ=";
};
mesonFlags = [
"-Dnewer=true"
];
nativeBuildInputs = [
meson
ninja

View File

@ -8,7 +8,7 @@
, qtbase
, qttools
, qtwayland
, rtaudio
, rtaudio_6
, rtmidi
, wrapQtAppsHook
}:
@ -43,16 +43,16 @@ stdenv.mkDerivation (finalAttrs: {
buildInputs = [
qtbase
rtaudio_6
rtmidi
] ++ lib.optionals stdenv.hostPlatform.isLinux [
qtwayland
] ++ lib.optionals (lib.versionAtLeast qtbase.version "6.0") [
qt5compat
] ++ rtaudio.buildInputs;
];
qmakeFlags = [
# we don't have RtAudio 6 yet: https://github.com/NixOS/nixpkgs/pull/245075
# "CONFIG+=system_rtaudio"
"CONFIG+=system_rtaudio"
"CONFIG+=system_rtmidi"
];

View File

@ -1,8 +1,10 @@
{
lib,
stdenv,
buildNpmPackage,
fetchFromGitHub,
electron_27,
darwin,
copyDesktopItems,
makeDesktopItem,
...
@ -21,8 +23,7 @@ let
electron = electron_27;
in
buildNpmPackage {
pname = "feishin";
inherit version;
inherit pname version;
inherit src;
npmDepsHash = "sha256-+pr9fWg/9kxkYMmthtqhjgF6MOomSQxVCO5V8tHHRdE=";
@ -32,17 +33,25 @@ buildNpmPackage {
env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1";
nativeBuildInputs = [ copyDesktopItems ];
nativeBuildInputs =
lib.optionals (stdenv.isLinux) [ copyDesktopItems ]
++ lib.optionals stdenv.isDarwin [ darwin.autoSignDarwinBinariesHook ];
postPatch = ''
# release/app dependencies are installed on preConfigure
substituteInPlace package.json \
--replace-fail "electron-builder install-app-deps &&" ""
postPatch =
''
# release/app dependencies are installed on preConfigure
substituteInPlace package.json \
--replace-fail "electron-builder install-app-deps &&" ""
# https://github.com/electron/electron/issues/31121
substituteInPlace src/main/main.ts \
--replace-fail "process.resourcesPath" "'$out/share/feishin/resources'"
'';
# Don't check for updates.
substituteInPlace src/main/main.ts \
--replace-fail "autoUpdater.checkForUpdatesAndNotify();" ""
''
+ lib.optionalString stdenv.isLinux ''
# https://github.com/electron/electron/issues/31121
substituteInPlace src/main/main.ts \
--replace-fail "process.resourcesPath" "'$out/share/feishin/resources'"
'';
preConfigure =
let
@ -67,40 +76,59 @@ buildNpmPackage {
done
'';
postBuild = ''
npm exec electron-builder -- \
--dir \
-c.electronDist=${electron}/libexec/electron \
-c.electronVersion=${electron.version} \
-c.npmRebuild=false
'';
postBuild =
lib.optionalString stdenv.isDarwin ''
# electron-builder appears to build directly on top of Electron.app, by overwriting the files in the bundle.
cp -r ${electron}/Applications/Electron.app ./
find ./Electron.app -name 'Info.plist' | xargs -d '\n' chmod +rw
installPhase = ''
runHook preInstall
# Disable code signing during build on macOS.
# https://github.com/electron-userland/electron-builder/blob/fa6fc16/docs/code-signing.md#how-to-disable-code-signing-during-the-build-process-on-macos
export CSC_IDENTITY_AUTO_DISCOVERY=false
sed -i "/afterSign/d" package.json
''
+ ''
npm exec electron-builder -- \
--dir \
-c.electronDist=${if stdenv.isDarwin then "./" else "${electron}/libexec/electron"} \
-c.electronVersion=${electron.version} \
-c.npmRebuild=false
'';
mkdir -p $out/share/feishin
pushd release/build/*/
cp -r locales resources{,.pak} $out/share/feishin
popd
installPhase =
''
runHook preInstall
''
+ lib.optionalString stdenv.isDarwin ''
mkdir -p $out/{Applications,bin}
cp -r release/build/**/Feishin.app $out/Applications/
makeWrapper $out/Applications/Feishin.app/Contents/MacOS/Feishin $out/bin/feishin
''
+ lib.optionalString stdenv.isLinux ''
mkdir -p $out/share/feishin
pushd release/build/*/
cp -r locales resources{,.pak} $out/share/feishin
popd
# Code relies on checking app.isPackaged, which returns false if the executable is electron.
# Set ELECTRON_FORCE_IS_PACKAGED=1.
# https://github.com/electron/electron/issues/35153#issuecomment-1202718531
makeWrapper ${lib.getExe electron} $out/bin/feishin \
--add-flags $out/share/feishin/resources/app.asar \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" \
--set ELECTRON_FORCE_IS_PACKAGED=1 \
--inherit-argv0
# Code relies on checking app.isPackaged, which returns false if the executable is electron.
# Set ELECTRON_FORCE_IS_PACKAGED=1.
# https://github.com/electron/electron/issues/35153#issuecomment-1202718531
makeWrapper ${lib.getExe electron} $out/bin/feishin \
--add-flags $out/share/feishin/resources/app.asar \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" \
--set ELECTRON_FORCE_IS_PACKAGED=1 \
--inherit-argv0
for size in 32 64 128 256 512 1024; do
mkdir -p $out/share/icons/hicolor/"$size"x"$size"/apps
ln -s \
$out/share/feishin/resources/assets/icons/"$size"x"$size".png \
$out/share/icons/hicolor/"$size"x"$size"/apps/${pname}.png
done
runHook postInstall
'';
for size in 32 64 128 256 512 1024; do
mkdir -p $out/share/icons/hicolor/"$size"x"$size"/apps
ln -s \
$out/share/feishin/resources/assets/icons/"$size"x"$size".png \
$out/share/icons/hicolor/"$size"x"$size"/apps/${pname}.png
done
''
+ ''
runHook postInstall
'';
desktopItems = [
(makeDesktopItem {
@ -125,6 +153,9 @@ buildNpmPackage {
license = licenses.gpl3Plus;
platforms = platforms.unix;
mainProgram = "feishin";
maintainers = with maintainers; [ onny ];
maintainers = with maintainers; [
onny
jlbribeiro
];
};
}

View File

@ -14,17 +14,17 @@
rustPlatform.buildRustPackage rec {
pname = "listenbrainz-mpd";
version = "2.3.4";
version = "2.3.5";
src = fetchFromGitea {
domain = "codeberg.org";
owner = "elomatreb";
repo = "listenbrainz-mpd";
rev = "v${version}";
hash = "sha256-QHhSrmBNvUTffPzjns670Tn3Z3UDcDvarq605Qx9k4w=";
hash = "sha256-z3SVpPCWZqCVXPKbPxZAKGtk8Z/Tf5PULn0dWsKlVrE=";
};
cargoHash = "sha256-vtU439Pd3zWx+qakh1xTENQhun7S+WsJMndXqPWrPWU=";
cargoHash = "sha256-eCdUrxt9edJm6K3f8V8bjgYWMq3mgj/ZfUZYWE3ZBqw=";
nativeBuildInputs = [ pkg-config installShellFiles asciidoctor ];

View File

@ -1,32 +1,21 @@
{ stdenv, lib, fetchFromGitHub, fetchpatch, cmake, pkg-config
{ stdenv, lib, fetchFromGitHub, cmake, pkg-config
, alsa-lib, asio, avahi, boost179, flac, libogg, libvorbis, libopus, soxr
, IOKit, AudioToolbox
, aixlog, popl
, pulseaudioSupport ? false, libpulseaudio
, nixosTests }:
assert pulseaudioSupport -> libpulseaudio != null;
stdenv.mkDerivation rec {
pname = "snapcast";
version = "0.27.0";
version = "0.28.0";
src = fetchFromGitHub {
owner = "badaix";
repo = "snapcast";
rev = "v${version}";
sha256 = "sha256-dlK1xQQqst4VQjioC7MZzqXwMC+JfqtvnD5lrOqGhYI=";
sha256 = "sha256-XxpiLojs1TI3qM7yXS+OPcHKo6pLcfJ+Eop7GjQ4HQw=";
};
patches = [
# Can be removed with next release after 0.27.0
(fetchpatch {
name = "include-cstdint.patch";
url = "https://github.com/badaix/snapcast/commit/481f08199ca31c60c9a3475f1064e6b06a503d12.patch";
hash = "sha256-klpvmBpBAlBMtcgnNfW6X6vDbJFnOuOsPUDXcNf5tGc=";
})
];
nativeBuildInputs = [ cmake pkg-config ];
# snapcast also supports building against tremor but as we have libogg, that's
# not needed

View File

@ -10,11 +10,11 @@
stdenv.mkDerivation rec {
pname = "virtual-ans";
version = "3.0.2c";
version = "3.0.3";
src = fetchzip {
url = "https://warmplace.ru/soft/ans/virtual_ans-${version}.zip";
sha256 = "03r1v3l7rd59dakr7ndvgsqchv00ppkvi6sslgf1ng07r3rsvb1n";
sha256 = "sha256-tqR7icgURUFOyLJ8+mS17JRf2gK53I2FW/2m8IJPtJE=";
};
nativeBuildInputs = [

View File

@ -246,7 +246,7 @@
};
cmp-git = super.cmp-git.overrideAttrs {
dependencies = with self; [ nvim-cmp ];
dependencies = with self; [ nvim-cmp plenary-nvim ];
};
cmp-greek = super.cmp-greek.overrideAttrs {

View File

@ -32,11 +32,11 @@ let
gdbDefaultsTo = if gdbUseFixed then "${gdb}/bin/gdb" else "gdb";
supported = {
x86_64-linux = {
hash = "sha256-4mKCBqUCOndKEfsJqTIsfwEt+0CZI8QAhBj3Y4+wKlg=";
hash = "sha256-p8WFmkQKdzXF0FTWHabyeFMkwXa2RkDRM9SvvkBIOLY=";
arch = "linux-x64";
};
aarch64-linux = {
hash = "sha256-Kjl8mEpayA1xMHEAMJ5k3Ctk3l48KlUBU5w3dL4pGWM=";
hash = "sha256-HISE8/M9IpeI8iX0mmw9owExnpgiwpesE7YG/+QFYgc=";
arch = "linux-arm64";
};
};
@ -47,7 +47,7 @@ vscode-utils.buildVscodeMarketplaceExtension {
mktplcRef = base // {
name = "cpptools";
publisher = "ms-vscode";
version = "1.17.3";
version = "1.20.2";
};
nativeBuildInputs = [

View File

@ -8,23 +8,26 @@
, python3Packages
, qtbase
, qtcharts
, makeDesktopItem
, copyDesktopItems
}:
python3Packages.buildPythonPackage rec {
pname = "hydrus";
version = "566";
version = "572";
format = "other";
src = fetchFromGitHub {
owner = "hydrusnetwork";
repo = "hydrus";
rev = "refs/tags/v${version}";
hash = "sha256-0vz2UnfU7yZIy1S+KOXLFrlQDuPCbpSw1GYEK8YZ/Qc=";
hash = "sha256-mLb4rUsoMDxl7lPrrRJq/bWSqZlgg94efHJzgykZJ/g=";
};
nativeBuildInputs = [
wrapQtAppsHook
python3Packages.mkdocs-material
copyDesktopItems
];
buildInputs = [
@ -32,6 +35,20 @@ python3Packages.buildPythonPackage rec {
qtcharts
];
desktopItems = [
(makeDesktopItem {
name = "hydrus-client";
exec = "hydrus-client";
desktopName = "Hydrus Client";
icon = "hydrus-client";
comment = meta.description;
terminal = false;
type = "Application";
categories = [ "FileTools" "Utility" ];
})
];
propagatedBuildInputs = with python3Packages; [
beautifulsoup4
cbor2
@ -104,6 +121,8 @@ python3Packages.buildPythonPackage rec {
outputs = [ "out" "doc" ];
installPhase = ''
runHook preInstall
# Move the hydrus module and related directories
mkdir -p $out/${python3Packages.python.sitePackages}
mv {hydrus,static,db} $out/${python3Packages.python.sitePackages}
@ -118,12 +137,18 @@ python3Packages.buildPythonPackage rec {
mkdir -p $out/bin
install -m0755 hydrus_server.py $out/bin/hydrus-server
install -m0755 hydrus_client.py $out/bin/hydrus-client
# desktop item
mkdir -p "$out/share/icons/hicolor/scalable/apps"
ln -s "$doc/share/doc/hydrus/assets/hydrus-white.svg" "$out/share/icons/hicolor/scalable/apps/hydrus-client.svg"
'' + lib.optionalString enableSwftools ''
mkdir -p $out/${python3Packages.python.sitePackages}/bin
# swfrender seems to have to be called sfwrender_linux
# not sure if it can be loaded through PATH, but this is simpler
# $out/python3Packages.python.sitePackages/bin is correct NOT .../hydrus/bin
ln -s ${swftools}/bin/swfrender $out/${python3Packages.python.sitePackages}/bin/swfrender_linux
'' + ''
runHook postInstall
'';
dontWrapQtApps = true;

View File

@ -11,11 +11,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "texturepacker";
version = "7.2.0";
version = "7.3.0";
src = fetchurl {
url = "https://www.codeandweb.com/download/texturepacker/${finalAttrs.version}/TexturePacker-${finalAttrs.version}.deb";
hash = "sha256-64aAg8V61MwJjFLYcf/nv5Bp7W0+cQBZac2e1HzkJBw=";
hash = "sha256-0i6LDrLBvTFKC5kW2PXP3Be6boUIJZ0fd1JG6FoS1kQ=";
};
nativeBuildInputs = [

View File

@ -1,14 +1,12 @@
{ lib, stdenv, fetchFromSourcehut, python3, help2man }:
{ lib, stdenv, fetchzip, python3, help2man }:
stdenv.mkDerivation rec {
pname = "fead";
version = "0.1.3";
version = "1.0.0";
src = fetchFromSourcehut {
owner = "~cnx";
repo = pname;
rev = version;
sha256 = "sha256-cW0GxyvC9url2QAAWD0M2pR4gBiPA3eeAaw77TwMV/0=";
src = fetchzip {
url = "https://trong.loang.net/~cnx/fead/snapshot/fead-${version}.tar.gz";
hash = "sha256-cbU379Zz+mwRqEHiDUlGvWheLkkr0YidHeVs/1Leg38=";
};
nativeBuildInputs = [ help2man ];
@ -29,9 +27,9 @@ stdenv.mkDerivation rec {
meta = with lib; {
description = "Advert generator from web feeds";
homepage = "https://git.sr.ht/~cnx/fead";
homepage = "https://trong.loang.net/~cnx/fead";
license = licenses.agpl3Plus;
changelog = "https://git.sr.ht/~cnx/fead/refs/${version}";
changelog = "https://trong.loang.net/~cnx/fead/tag?h=${version}";
maintainers = with maintainers; [ McSinyx ];
mainProgram = "fead";
};

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "pdfsam-basic";
version = "5.2.2";
version = "5.2.3";
src = fetchurl {
url = "https://github.com/torakiki/pdfsam/releases/download/v${version}/pdfsam_${version}-1_amd64.deb";
hash = "sha256-+Hc3f8rf0ymddIu52vLtdqNZO4ODW9JnPlyneSZt/OQ=";
hash = "sha256-ai1UHMeLvCba6WV6f6dGc53CxPP7bJaPgo8Tm7ddkOM=";
};
unpackPhase = ''

View File

@ -3,10 +3,10 @@
{
firefox = buildMozillaMach rec {
pname = "firefox";
version = "125.0.2";
version = "125.0.3";
src = fetchurl {
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
sha512 = "f6d5fff7c5c532d2e41a246d0403bdd746981cfcb7c43f9d3d8ec85a7acc3310a52043d1e18848475cef1b63c24769e81b2b06d68ae007b68016ee51436032f1";
sha512 = "18e705a3093290311ccb5f27f01e43fe243ece94c1769a9ccc4fa53d370e32a1ec6a107cdeb531e9468b9aca1a1fe668161adb7acc1ec65fd383837882c7d484";
};
extraPatches = [

View File

@ -11,6 +11,7 @@
, cmake
, ninja
, libxcrypt
, python3
, qt6Packages
, nixosTests
, AppKit
@ -103,6 +104,7 @@ stdenv.mkDerivation (finalAttrs: {
nativeBuildInputs = with qt6Packages; [
cmake
ninja
python3
wrapQtAppsHook
];

View File

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "helm-unittest";
version = "0.4.4";
version = "0.5.0";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "v${version}";
hash = "sha256-C1aHnKNXgzlPT1qMngRcPZ6hYUOenU1xpeYLnhrvtnc=";
hash = "sha256-DGmvF4U+yqXWm/L96ph+/OrLZ7q+JG4PQQFxC7pH710=";
};
vendorHash = "sha256-nm1LFy2yqfQs+HmrAR1EsBjpm9w0u4einLbVFW1UitI=";
vendorHash = "sha256-BRFKrrJ9PhwMrfr3ON4/sm+BQ1ufeyP5PtfJQRksrj0=";
# NOTE: Remove the install and upgrade hooks.
postPatch = ''

View File

@ -5,13 +5,13 @@
buildGoModule rec {
pname = "kubectl-cnpg";
version = "1.23.0";
version = "1.23.1";
src = fetchFromGitHub {
owner = "cloudnative-pg";
repo = "cloudnative-pg";
rev = "v${version}";
hash = "sha256-pNyXi3IjEMwAUdNzDw8WttQzmtHja2YfTHntowLrQOo=";
hash = "sha256-sh9ogECNEZ6AYhdJD87ELnr8E0iWPLhDu3Qkdpb2194=";
};
vendorHash = "sha256-3yh6b0dB2JC0t2EwykWiLk6glyKUhTpqmqvfFZ4RekE=";

View File

@ -15,14 +15,14 @@
buildGoModule rec {
inherit pname;
version = "2.7.1";
version = "2.7.2";
tags = lib.optionals enableGateway [ "gateway" ];
src = fetchFromGitHub {
owner = "kumahq";
repo = "kuma";
rev = version;
hash = "sha256-jTKGJe498eEI0re6gEAKW81IjAJ4VmqjetoKp8A7Cz0=";
hash = "sha256-Y9JejIKENIyn2EyRHXLm6CZqlP4MwvPSMRlciYl+a30=";
};
vendorHash = "sha256-ne62twZXac5GfQ8JcWElIMqc+Vpvn0Y9XSNgAtF62q0=";

View File

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

View File

@ -5,16 +5,16 @@
buildGoModule rec {
pname = "nomad-pack";
version = "0.1.0";
version = "0.1.1";
src = fetchFromGitHub {
owner = "hashicorp";
repo = pname;
rev = "v${version}";
sha256 = "sha256-4v5CAJkpeIZ64w5LDcK9Jn8qDqIXrtXgVyB3K/PiZQw=";
sha256 = "sha256-b7M2I+R39txtTdk/FOYvKfZxXbGEtDrzgpB64594Gqc=";
};
vendorHash = "sha256-kHZWciRZYk1E1NVega0F/ZljyEl1SmXUveb2E7a9j34=";
vendorHash = "sha256-bhWySn5p1aPbYSCY7GqFteYmm22Jeq/Rf/a2ZTjyZQ4=";
# skip running go tests as they require network access
doCheck = false;

View File

@ -10,13 +10,13 @@
buildGoModule rec {
pname = "werf";
version = "2.0.2";
version = "2.0.3";
src = fetchFromGitHub {
owner = "werf";
repo = "werf";
rev = "v${version}";
hash = "sha256-fCXQ9jVZqpyLzQsmpoKbha40KfCrKffmbt9RDj+lIUM=";
hash = "sha256-CUz2LBba5elWWqMab6I/n1eGKRi8q9im/jEwZI3k7WU=";
};
vendorHash = "sha256-WMmL0jjzzaDtNmx+kvHFONqwhz7mjFCM4rT6YoL+XkA=";

View File

@ -3,16 +3,16 @@
buildGoModule rec {
pname = "discordo";
version = "unstable-2024-03-12";
version = "0-unstable-2024-04-27";
src = fetchFromGitHub {
owner = "ayn2op";
repo = pname;
rev = "5805f6605efe63fc887e850bcc5d107070eb2c1a";
hash = "sha256-IzVDxylrR0X8HLWTelSBq2+uu2h2Jd6iaNUXh9zQ9Yk=";
rev = "d76a7db668900a7fc41ead7db194e20f126071ac";
hash = "sha256-uEMz7n0IFTGK1fZC1/vuwJpyySGdTUIMUjunCmycnzM=";
};
vendorHash = "sha256-6pCQHr/O2pfR1v8YI+htwGZ8RFStEEUctIEpgblXvjY=";
vendorHash = "sha256-hSrGN3NHPpp5601l4KcmNHVYOGWfLjFeWWr9g11nM3I=";
CGO_ENABLED = 0;

View File

@ -85,6 +85,6 @@ python3.pkgs.buildPythonApplication rec {
changelog = "https://github.com/Flexget/Flexget/releases/tag/v${version}";
description = "Multipurpose automation tool for all of your media";
license = licenses.mit;
maintainers = with maintainers; [ ];
maintainers = with maintainers; [ pbsds ];
};
}

View File

@ -18,13 +18,13 @@ let
in
flutter.buildFlutterApplication (rec {
pname = "fluffychat-${targetFlutterPlatform}";
version = "1.18.0";
version = "1.20.0";
src = fetchFromGitHub {
owner = "krille-chan";
repo = "fluffychat";
rev = "refs/tags/v${version}";
hash = "sha256-xm3+zBqg/mW2XxqFDXxeC+gIc+TgeciJmQf8w1kcW5Y=";
hash = "sha256-eHwzvWKWJ9Q2OgCvgZTt+Bcph2w2pTqyOtwXFbZ4LEg=";
};
inherit pubspecLock;
@ -32,7 +32,6 @@ flutter.buildFlutterApplication (rec {
gitHashes = {
flutter_shortcuts = "sha256-4nptZ7/tM2W/zylk3rfQzxXgQ6AipFH36gcIb/0RbHo=";
keyboard_shortcuts = "sha256-U74kRujftHPvpMOIqVT0Ph+wi1ocnxNxIFA1krft4Os=";
wakelock_windows = "sha256-Dfwe3dSScD/6kvkP67notcbb+EgTQ3kEYcH7wpra2dI=";
};
inherit targetFlutterPlatform;

View File

@ -20,11 +20,11 @@
stdenv.mkDerivation rec {
pname = "wavebox";
version = "10.120.10-2";
version = "10.124.17-2";
src = fetchurl {
url = "https://download.wavebox.app/stable/linux/tar/Wavebox_${version}.tar.gz";
sha256 = "sha256-9kA3nJUNlNHbWYkIy0iEnWCrmIYTjULdMAGGnO4JCkg=";
sha256 = "sha256-RS1/zs/rFWsj29BrT8Mb2IXgy9brBsQypxfvnd7pKl0=";
};
# don't remove runtime deps

View File

@ -7,16 +7,16 @@
rustPlatform.buildRustPackage rec {
pname = "iroh";
version = "0.14.0";
version = "0.15.0";
src = fetchFromGitHub {
owner = "n0-computer";
repo = pname;
rev = "v${version}";
hash = "sha256-r4sE/1RI/Y6gDMApwlr4Gf6Jvl0zNCAahduXyRtFboE=";
hash = "sha256-ho/wlg6W0/LcJrVHPRVQ6zNjpwqa0+PThUP/RGIXVTA=";
};
cargoHash = "sha256-N9MsYz7QTm04k5eMdwqj4wTQ36SoaJBqvsty58Pg8tU=";
cargoHash = "sha256-1S6lFzoLxF6V94wXw/r5XDwbnt4/aaPOYdIIJA68Ya8=";
buildInputs = lib.optionals stdenv.isDarwin (
with darwin.apple_sdk.frameworks; [

View File

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "XD";
version = "0.4.4";
version = "0.4.5";
src = fetchFromGitHub {
owner = "majestrate";
repo = "XD";
rev = "v${version}";
sha256 = "sha256-YUstYGIED6ivt+p+aHIK76dLCj+xjytWnZrra49cCi8=";
sha256 = "sha256-u8cUcxNW2jAWxVn1hDHS2cpIpcyv4lwx1zytlzPPdv4=";
};
vendorHash = "sha256-wO+IICtGVHhrPa1JUwlx+PuNS32FJNKYmboLd3lFl4w=";
vendorHash = "sha256-ZD7PZJcY7qWHEQOk5I9IlMup0vbYYaRvVau5Go7ocno=";
nativeCheckInputs = [ perl ];

View File

@ -27,11 +27,11 @@ let
in
stdenv.mkDerivation rec {
pname = "PortfolioPerformance";
version = "0.68.3";
version = "0.68.4";
src = fetchurl {
url = "https://github.com/buchen/portfolio/releases/download/${version}/PortfolioPerformance-${version}-linux.gtk.x86_64.tar.gz";
hash = "sha256-7EQ/gKFflElga5LDwAkjPcqNl6HNtnAzno1ZGPBybJY=";
hash = "sha256-E4uVI2MJ2tD2wuAxxzCZSmNRbKTTzhi44c4ip7uEhCk=";
};
nativeBuildInputs = [

View File

@ -19,14 +19,13 @@ stdenv.mkDerivation rec {
buildInputs = [ zlib libdeflate isa-l ];
makeFlags = [ "CC=cc" ];
makeFlags = [
"CC:=$(CC)"
"BINDIR=$(out)/bin"
];
installPhase = ''
runHook preInstall
install -Dm755 -t $out/bin seqtk
runHook postInstall
preInstall = ''
mkdir -p "$out/bin"
'';
meta = with lib; {

View File

@ -38,33 +38,75 @@ let
in
python3Packages.buildPythonApplication rec {
inherit pname;
version = "2.5.0";
version = "3.0.0";
pyproject = true;
src = fetchFromGitHub {
owner = "schrodinger";
repo = "pymol-open-source";
rev = "v${version}";
sha256 = "sha256-JdsgcVF1w1xFPZxVcyS+GcWg4a1Bd4SvxFOuSdlz9SM=";
hash = "sha256-GhTHxacjGN7XklZ6gileBMRZAGq4Pp4JknNL+qGqrVE=";
};
postPatch = ''
substituteInPlace setup.py \
--replace-fail "self.install_libbase" '"${placeholder "out"}/${python3.sitePackages}"'
'';
build-system = [
python3Packages.setuptools
];
nativeBuildInputs = [ qt5.wrapQtAppsHook ];
buildInputs = [ python3Packages.numpy python3Packages.pyqt5 glew glm libpng libxml2 freetype msgpack netcdf ];
env.NIX_CFLAGS_COMPILE = "-I ${libxml2.dev}/include/libxml2";
hardeningDisable = [ "format" ];
installPhase = ''
python setup.py install --home="$out"
runHook postInstall
'';
postInstall = with python3Packages; ''
wrapProgram $out/bin/pymol \
--prefix PYTHONPATH : ${lib.makeSearchPathOutput "lib" python3.sitePackages [ pyqt5 pyqt5.pyqt5-sip ]}
mkdir -p "$out/share/icons/"
ln -s ../../lib/python/pymol/pymol_path/data/pymol/icons/icon2.svg "$out/share/icons/pymol.svg"
ln -s $out/${python3.sitePackages}/pymol/pymol_path/data/pymol/icons/icon2.svg "$out/share/icons/pymol.svg"
'' + lib.optionalString stdenv.hostPlatform.isLinux ''
cp -r "${desktopItem}/share/applications/" "$out/share/"
'';
pythonImportsCheck = [
"pymol"
];
nativeCheckInputs = with python3Packages; [
python3Packages.msgpack
pillow
pytestCheckHook
];
# some tests hang for some reason
doCheck = !(stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64);
disabledTestPaths = [
# require biopython which is broken as of 2024-04-20
"tests/api/seqalign.py"
];
disabledTests = [
# the output image does not exactly match
"test_commands"
# touch the network
"testFetch"
# requires collada2gltf which is not included in nixpkgs
"testglTF"
# require mmtf-cpp which does not support darwin
"testMMTF"
"testSave_symmetry__mmtf"
];
preCheck = ''
cd testing
'';
__darwinAllowLocalNetworking = true;
preFixup = ''
wrapQtApp "$out/bin/pymol"
'';
@ -74,6 +116,6 @@ python3Packages.buildPythonApplication rec {
mainProgram = "pymol";
homepage = "https://www.pymol.org/";
license = licenses.mit;
maintainers = with maintainers; [ samlich ];
maintainers = with maintainers; [ natsukium samlich ];
};
}

View File

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "gh";
version = "2.48.0";
version = "2.49.0";
src = fetchFromGitHub {
owner = "cli";
repo = "cli";
rev = "v${version}";
hash = "sha256-8vQQzLGb1cHeNJC/aUZbROfRoUtuujEKoLWBgLZnhls=";
hash = "sha256-4aT8ThZt2Dlp2RjaGBiTgw2IPantSnTJPhP5Tel755Q=";
};
vendorHash = "sha256-rQtRBXhG5fF+3cIIv9i5r8Kd9YeIq/aDLAw8Rqxn6ww=";
vendorHash = "sha256-p+1Knx+z1M3m8VjsvBfY6D1Gs5va5Z8QFExv5397wHU=";
nativeBuildInputs = [ installShellFiles ];

View File

@ -12,10 +12,10 @@ rustPlatform.buildRustPackage rec {
owner = "9ary";
repo = pname;
rev = version;
sha256 = "00xxz7awk01981daabp8m3kwq127y733ynijiwqgs8xvn4nkg8h6";
hash = "sha256-BqI3LbG7I/0wjzJaP8bxRwTM56joLqVaQCmAydX5vQM=";
};
cargoSha256 = "0avs833vb6q1avjbfygm55s83iy942xgqsx6qdzksry44n35s418";
cargoHash = "sha256-KBBdhiXEZz1/w6Zr/LogyceBdCn1ebfkVgGbtcdAeis=";
postPatch = ''
substituteInPlace src/main.rs \
@ -26,7 +26,7 @@ rustPlatform.buildRustPackage rec {
description = "Simple Git prompt";
homepage = "https://github.com/9ary/gitprompt-rs";
license = with licenses; [ mpl20 ];
maintainers = with maintainers; [ isabelroses ];
maintainers = with maintainers; [ isabelroses cafkafk ];
mainProgram = "gitprompt-rs";
};
}

View File

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "glab";
version = "1.37.0";
version = "1.40.0";
src = fetchFromGitLab {
owner = "gitlab-org";
repo = "cli";
rev = "v${version}";
hash = "sha256-H1yYjI7ct/YO44czX5J0cHc/YbhxtXJQThJcARyUEq0=";
hash = "sha256-setvszKdG2EQUlVJNbo7gPKE4b7lfdGT30MC82Kk2/s=";
};
vendorHash = "sha256-4CQ4NPHAs736LQxDxvKWEH9TQvIKAouJ6zVReAoZTec=";
vendorHash = "sha256-vx4dNFM0PfapRQxz9ef1vNs4RiZlZDNhcKlo87gjGTs=";
ldflags = [
"-s"

View File

@ -9,13 +9,13 @@
buildLua rec {
pname = "mpvacious";
version = "0.31";
version = "0.33";
src = fetchFromGitHub {
owner = "Ajatt-Tools";
repo = "mpvacious";
rev = "v${version}";
sha256 = "sha256-+lixe8FG5jzjEYu4t9bWRy4W/oThV9IdlzeA/ogMlWM=";
sha256 = "sha256-VHMXW2AzgX88EDnNshxo9Gh8mpXzRoTAq+58HKasUdo=";
};
passthru.updateScript = gitUpdater {
rev-prefix = "v";

View File

@ -19,12 +19,12 @@
}:
stdenv.mkDerivation rec {
pname = "vdr-markad";
version = "3.4.13";
version = "3.6.0";
src = fetchFromGitHub {
repo = "vdr-plugin-markad";
owner = "kfb77";
sha256 = "sha256-pDnziIWX6deBXuVIN7w6F6TdYDCcEO6MSaUIMB63uAg=";
sha256 = "sha256-O958GNQI6Z+m4sIJfGQzLaCrzyrdpn+ZY8COx7RoUZs=";
rev = "V${version}";
};

View File

@ -77,6 +77,11 @@ stdenv.mkDerivation (finalAttrs: {
--replace "@DIRTY@" ""
'';
depsBuildBuild = [
# to find wayland-scanner when cross-compiling
pkg-config
];
nativeBuildInputs = [
jq
makeWrapper

View File

@ -18,10 +18,10 @@ stdenvNoCC.mkDerivation (finalAttrs: let
};
in {
pname = "affine";
version = "0.13.1";
version = "0.13.3";
src = fetchurl {
url = "https://github.com/toeverything/AFFiNE/releases/download/v${finalAttrs.version}/affine-${finalAttrs.version}-stable-linux-x64.zip";
hash = "sha256-2Du5g/I82iTr8Bwb+qkLzyfbk1OrOlXqx6FHImVoAoE=";
hash = "sha256-w/5X7PFLHVILg1XCYkGefBQ4c+Ko+ME0Lu8iAtCaTFg=";
};
nativeBuildInputs = [
copyDesktopItems

File diff suppressed because it is too large Load Diff

View File

@ -7,13 +7,13 @@
rustPlatform.buildRustPackage rec {
pname = "anchor";
version = "0.29.0";
version = "0.30.0";
src = fetchFromGitHub {
owner = "coral-xyz";
repo = "anchor";
rev = "v${version}";
hash = "sha256-hOpdCVO3fXMqnAihjXXD9SjqK4AMhQQhZmISqJnDVCI=";
hash = "sha256-eodmmiKLRRvAynqOeS9gMMjeTqVdZDx0TqHtZj2SJvs=";
fetchSubmodules = true;
};

View File

@ -7,16 +7,16 @@
rustPlatform.buildRustPackage rec {
pname = "ast-grep";
version = "0.21.0";
version = "0.21.1";
src = fetchFromGitHub {
owner = "ast-grep";
repo = "ast-grep";
rev = version;
hash = "sha256-GEfS5ujOYcHfMTxNqiArtookULgyJIR7oR8fULyILWY=";
hash = "sha256-hR6DPkApHDlg91O040s+3FL2mEM3FH61pnyCBwwE6tw=";
};
cargoHash = "sha256-mTyvyyfpzaDmNrpT/nTfEhVKGtqowOUSF56ld6eqj3k=";
cargoHash = "sha256-Iqq7F8PCrNhFGvrfbYQn3mdOwiokCmTKCaXjOHvD8V0=";
nativeBuildInputs = [ installShellFiles ];

View File

@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec {
pname = "cargo-autoinherit";
version = "0.1.4";
version = "0.1.5";
src = fetchFromGitHub {
owner = "mainmatter";
repo = "cargo-autoinherit";
rev = "v${version}";
hash = "sha256-BuZDCd4SwSYg5eKV61L3RpPVmq5NZDAOc9zOz5QiSNI=";
hash = "sha256-ai2BqBfZlCOA1DIlzZerH71sbUMi6C65FRv5VDU0DPU=";
};
cargoHash = "sha256-9hhrVkC1xB2E/vatkiM4PIJyXq+0GDoqlgXZXc8WehU=";
cargoHash = "sha256-bPbwUqw2IFwZTi7qFm1BQgGYBAb6OG8QSU8xTdx/1zM=";
meta = with lib; {
description = "Automatically DRY up your Rust dependencies";

View File

@ -0,0 +1,48 @@
{
lib,
fetchFromGitHub,
stdenvNoCC,
unstableGitUpdater,
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "chemacs2";
version = "0-unstable-2023-01-20";
src = fetchFromGitHub {
owner = "plexus";
repo = "chemacs2";
rev = "c2d700b784c793cc82131ef86323801b8d6e67bb";
hash = "sha256-/WtacZPr45lurS0hv+W8UGzsXY3RujkU5oGGGqjqG0Q=";
};
outputs = [ "out" "doc" ];
dontConfigure = true;
dontBuild = true;
installPhase = ''
runHook preInstall
install -t $out/share/site-lisp/chemacs2/ -Dm644 init.el early-init.el chemacs.el
install -t $doc/share/doc/chemacs2/ -Dm644 README.org CHANGELOG.md
runHook postInstall
'';
passthru.updateScript = unstableGitUpdater { };
meta = {
homepage = "https://github.com/plexus/chemacs2";
description = "Emacs version switcher, improved";
longDescription = ''
Chemacs 2 is an Emacs profile switcher, it makes it easy to run multiple
Emacs configurations side by side.
Think of it as a bootloader for Emacs.
'';
license = with lib.licenses; [ gpl3Plus ];
maintainers = with lib.maintainers; [ AndersonTorres ];
platforms = lib.platforms.all;
};
})

File diff suppressed because it is too large Load Diff

View File

@ -19,12 +19,12 @@
rustPlatform.buildRustPackage rec {
pname = "cosmic-term";
version = "unstable-2024-02-28";
version = "unstable-2024-04-14";
src = fetchFromGitHub {
owner = "pop-os";
repo = pname;
rev = "36477e06dc6d05bd01dc08b3f20e0a6e388d6c7e";
hash = "sha256-VkRVfV4sC+5+/8g1FOlBjJCeR/KGb5gP0SWy5bmFo+Y=";
rev = "3e41d261a9d5d2284cd6ae85acde2562b8a5ccd6";
hash = "sha256-IVLwWG4WUGXK9jY/d0Vr8RX/Klj1mUe4Q7Huv0BkjDo=";
};
cargoLock = {
@ -32,14 +32,15 @@ rustPlatform.buildRustPackage rec {
outputHashes = {
"accesskit-0.12.2" = "sha256-ksaYMGT/oug7isQY8/1WD97XDUsX2ShBdabUzxWffYw=";
"atomicwrites-0.4.2" = "sha256-QZSuGPrJXh+svMeFWqAXoqZQxLq/WfIiamqvjJNVhxA=";
"cosmic-config-0.1.0" = "sha256-Zyi95zcBAohM1WBropLzJczSIfNNNBK2odB4AmW4h5I=";
"cosmic-files-0.1.0" = "sha256-64An0MPgnFgyVlWmtBGBs+IV2z+4vmEY2uRPetZM4/M=";
"cosmic-text-0.11.2" = "sha256-Y9i5stMYpx+iqn4y5DJm1O1+3UIGp0/fSsnNq3Zloug=";
"clipboard_macos-0.1.0" = "sha256-PEH+aCpjDCEIj8s39nIeWxb7qu3u9IfriGqf0pYObMk=";
"cosmic-config-0.1.0" = "sha256-x/xWMR5w2oEbghTSa8iCi24DA2s99+tcnga8K6jS6HQ=";
"cosmic-files-0.1.0" = "sha256-KzWlmeZP3F5Kavi9FFXo3o8nB/h79TtOhqWUyI1ZRB0=";
"cosmic-text-0.11.2" = "sha256-K9cZeClr1zz4LanJS0WPEpxAplQrXfCjFKrSn5n4rDA=";
"d3d12-0.19.0" = "sha256-usrxQXWLGJDjmIdw1LBXtBvX+CchZDvE8fHC0LjvhD4=";
"glyphon-0.5.0" = "sha256-j1HrbEpUBqazWqNfJhpyjWuxYAxkvbXzRKeSouUoPWg=";
"libc-0.2.151" = "sha256-VcNTcLOnVXMlX86yeY0VDfIfKOZyyx/DO1Hbe30BsaI=";
"smithay-clipboard-0.8.0" = "sha256-OZOGbdzkgRIeDFrAENXE7g62eQTs60Je6lYVr0WudlE=";
"softbuffer-0.4.1" = "sha256-a0bUFz6O8CWRweNt/OxTvflnPYwO5nm6vsyc/WcXyNg=";
"systemicons-0.7.0" = "sha256-zzAI+6mnpQOh+3mX7/sJ+w4a7uX27RduQ99PNxLNF78=";
"taffy-0.3.11" = "sha256-SCx9GEIJjWdoNVyq+RZAGn0N71qraKZxf9ZWhvyzLaI=";
"winit-0.29.10" = "sha256-ScTII2AzK3SC8MVeASZ9jhVWsEaGrSQ2BnApTxgfxK4=";
};
@ -47,7 +48,7 @@ rustPlatform.buildRustPackage rec {
# COSMIC applications now uses vergen for the About page
# Update the COMMIT_DATE to match when the commit was made
env.VERGEN_GIT_COMMIT_DATE = "2024-02-28";
env.VERGEN_GIT_COMMIT_DATE = "2024-04-14";
env.VERGEN_GIT_SHA = src.rev;
postPatch = ''

View File

@ -24,7 +24,7 @@ buildGoModule rec {
nativeBuildInputs = [ installShellFiles ];
ldflags = [ "-s" "-w" "-X cuelang.org/go/cmd/cue/cmd.version=${version}" ];
ldflags = [ "-s" "-w" ];
postInstall = ''
installShellCompletion --cmd cue \
@ -40,6 +40,7 @@ buildGoModule rec {
version = testers.testVersion {
package = cue;
command = "cue version";
version = "v${version}";
};
};
};

View File

@ -6,26 +6,26 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "daytona-bin";
version = "0.9.0";
version = "0.12.0";
src =
let
urls = {
"x86_64-linux" = {
url = "https://download.daytona.io/daytona/v${finalAttrs.version}/daytona-linux-amd64";
hash = "sha256-vJVGFmaGP9oCCzdvhuAPsoTaxzGvdDKDupMYuepRUCA=";
hash = "sha256-5nUWeIAKUSrbEAzo1SCSrebKvt2DKB/f2JZZ9c2vjxA=";
};
"x86_64-darwin" = {
url = "https://download.daytona.io/daytona/v${finalAttrs.version}/daytona-darwin-amd64";
hash = "sha256-R63AQVt5DudzJub+TYcJiHkBGVeOhjvgJZgnqvJb8t0=";
hash = "sha256-JAc9EbuZnRCX2v1UXPBF8mlqz478DtrVEk6XEICW7CU=";
};
"aarch64-linux" = {
url = "https://download.daytona.io/daytona/v${finalAttrs.version}/daytona-linux-arm64";
hash = "sha256-98OEhJ1gakPTVO73M9WW0QuSDgR42gNjoioEkkNbf6w=";
hash = "sha256-1yy3S4JRtabQBK9LzepL+CVaj+3HPuG6oJe4YdbEi6E=";
};
"aarch64-darwin" = {
url = "https://download.daytona.io/daytona/v${finalAttrs.version}/daytona-darwin-arm64";
hash = "sha256-YmLyioFueEfi/2Q+JwINDhkwo617/KUZrimz9CibdA8=";
hash = "sha256-x5RVx5X2PD1Yu0g0umf2ywRymqa+1EFCzuXFEVSQImw=";
};
};
in
@ -49,7 +49,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
homepage = "https://github.com/daytonaio/daytona";
license = lib.licenses.asl20;
mainProgram = "daytona";
maintainers = with lib.maintainers; [ ];
maintainers = with lib.maintainers; [ osslate ];
platforms = lib.platforms.linux ++ lib.platforms.darwin;
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
};

View File

@ -1,22 +1,19 @@
{ lib, python3, fetchFromGitHub, gtk3, gobject-introspection, gtk-layer-shell, wrapGAppsHook3 }:
python3.pkgs.buildPythonApplication rec {
pname = "discover-overlay";
version = "0.7.0";
version = "0.7.3";
pyproject = true;
src = fetchFromGitHub {
owner = "trigg";
repo = "Discover";
rev = "refs/tags/v${version}";
hash = "sha256-//QW6N87Uhm2aH0RSuykHG3+EfzYSHOcSNLSn1y0rFw=";
hash = "sha256-a9IPNy5i088rltQ9LYD+DgJ/1/wckQ2E5Bzg62t95yU=";
};
buildInputs = [
gtk3
gtk-layer-shell
];
buildInputs = [ gtk3 gtk-layer-shell ];
nativeBuildInputs = with python3.pkgs; [
nativeBuildInputs = [
gobject-introspection
wrapGAppsHook3
];
@ -26,6 +23,7 @@ python3.pkgs.buildPythonApplication rec {
makeWrapperArgs = [ "\${gappsWrapperArgs[@]}" "--set DISPLAY ':0.0'" ];
propagatedBuildInputs = with python3.pkgs; [
pulsectl-asyncio
pycairo
pygobject3
websocket-client

View File

@ -7,24 +7,30 @@
, librsvg
, gtk-layer-shell
, stdenv
, libdbusmenu-gtk3
}:
rustPlatform.buildRustPackage rec {
pname = "eww";
version = "0.5.0";
version = "0.6.0";
src = fetchFromGitHub {
owner = "elkowar";
repo = "eww";
rev = "v${version}";
hash = "sha256-HBBz1NDtj2TnDK5ghDLRrAOwHXDZlzclvVscYnmKGck=";
rev = "refs/tags/v${version}";
hash = "sha256-rzDnplFJNiHe+XbxbhZMEhPJMiJsmdVqtZxlxhzzpTk=";
};
cargoHash = "sha256-IirFE714NZmppLjwbWk6fxcmRXCUFzB4oxOxBvmYu5U=";
cargoHash = "sha256-n9nd5E/VO+0BgkhrfQpeihlIkoVQRf6CMiPCK5opvvw=";
nativeBuildInputs = [ pkg-config wrapGAppsHook3 ];
buildInputs = [ gtk3 librsvg gtk-layer-shell ];
buildInputs = [
gtk3
gtk-layer-shell
libdbusmenu-gtk3
librsvg
];
cargoBuildFlags = [ "--bin" "eww" ];
@ -33,11 +39,11 @@ rustPlatform.buildRustPackage rec {
# requires unstable rust features
RUSTC_BOOTSTRAP = 1;
meta = with lib; {
meta = {
description = "ElKowars wacky widgets";
homepage = "https://github.com/elkowar/eww";
license = licenses.mit;
maintainers = with maintainers; [ figsoda lom coffeeispower ];
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ coffeeispower eclairevoyant figsoda lom w-lfchen ];
mainProgram = "eww";
broken = stdenv.isDarwin;
};

View File

@ -22,13 +22,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "feather";
version = "2.6.5";
version = "2.6.7";
src = fetchFromGitHub {
owner = "feather-wallet";
repo = "feather";
rev = finalAttrs.version;
hash = "sha256-HvjcjiVXTK9mZOvh91iCMf/cZ9BMlPxXjgFKYWolJ74=";
hash = "sha256-zXNpNhBOtDvuuxzZ8o2XDLqNSi/XK4I6eYAfWuiCgRI=";
fetchSubmodules = true;
};

View File

@ -0,0 +1,30 @@
{ lib
, buildGoModule
, fetchFromGitHub
}:
buildGoModule rec {
pname = "gophish";
version = "0.12.1";
src = fetchFromGitHub {
owner = "gophish";
repo = "gophish";
rev = "v${version}";
hash = "sha256-6OUhRB2d8k7h9tI3IPKy9f1KoEx1mvGbxQZF1sCngqs=";
};
vendorHash = "sha256-2seQCVALU35l+aAsfag0W19FWlSTlEsSmxTmKKi3A+0=";
meta = with lib; {
description = "Open-Source Phishing Toolkit";
longDescription = ''
Open-source phishing toolkit designed for businesses and penetration testers.
Provides the ability to quickly and easily setup and execute phishing engagements and security awareness training.
'';
homepage = "https://github.com/gophish/gophish";
license = licenses.mit;
maintainers = with maintainers; [ mib ];
mainProgram = "gophish";
};
}

View File

@ -3,25 +3,24 @@
, fetchurl
, appimageTools
, undmg
, nix-update-script
}:
let
pname = "hoppscotch";
version = "23.12.5";
version = "24.3.1-2";
src = fetchurl {
aarch64-darwin = {
url = "https://github.com/hoppscotch/releases/releases/download/v${version}-1/Hoppscotch_mac_aarch64.dmg";
hash = "sha256-WUJW38vQ7o5KEmCxhVnJ03/f5tPOTYcczrEcmt6NSCY=";
url = "https://github.com/hoppscotch/releases/releases/download/v${version}/Hoppscotch_mac_aarch64.dmg";
hash = "sha256-F4vQwdNObIE8Fx75TfwI0QxbY5n2syT4sEIhgAu2Z5c=";
};
x86_64-darwin = {
url = "https://github.com/hoppscotch/releases/releases/download/v${version}-1/Hoppscotch_mac_x64.dmg";
hash = "sha256-bQFD+9IoelinWYUndzbVvPNaRde6ACPvw9ifX9mYdno=";
url = "https://github.com/hoppscotch/releases/releases/download/v${version}/Hoppscotch_mac_x64.dmg";
hash = "sha256-itC6PdNdzcw5Lv/hQkT0AsTGQ8kmTwT6cipyaAynph8=";
};
x86_64-linux = {
url = "https://github.com/hoppscotch/releases/releases/download/v${version}-1/Hoppscotch_linux_x64.AppImage";
hash = "sha256-MYQ7SRm+CUPIXROZxejbbZ0/wH+U5DQO4YGbE/HQAj8=";
url = "https://github.com/hoppscotch/releases/releases/download/v${version}/Hoppscotch_linux_x64.AppImage";
hash = "sha256-vj9UYizRmyIK9mLNSW/qFc/QmnWNhniqJf3gG66WPb0=";
};
}.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}");

View File

@ -12,13 +12,13 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "hyprcursor";
version = "0.1.7";
version = "0.1.8";
src = fetchFromGitHub {
owner = "hyprwm";
repo = "hyprcursor";
rev = "refs/tags/v${finalAttrs.version}";
hash = "sha256-T0lV+xA07RzroRLwZsGbF9bWZNHInXS+oB0RJ6YdvWg=";
hash = "sha256-zJboXgWNpNhKyNF8H/3UYzWkx7w00TOCGKi3cwi+tsw=";
};
patches = [

View File

@ -1,6 +1,5 @@
{ cmake
, fetchFromGitHub
, glfw
, jazz2-content
, lib
, libopenmpt
@ -10,10 +9,8 @@
, stdenv
, testers
, zlib
, graphicsLibrary ? "GLFW"
}:
assert lib.assertOneOf "graphicsLibrary" graphicsLibrary [ "SDL2" "GLFW" ];
stdenv.mkDerivation (finalAttrs: {
pname = "jazz2";
version = "2.6.0";
@ -28,16 +25,12 @@ stdenv.mkDerivation (finalAttrs: {
patches = [ ./nocontent.patch ];
nativeBuildInputs = [ cmake ];
buildInputs = [ libopenmpt libvorbis openal zlib ]
++ lib.optionals (graphicsLibrary == "GLFW") [ glfw ]
++ lib.optionals (graphicsLibrary == "SDL2") [ SDL2 ];
buildInputs = [ libopenmpt libvorbis openal SDL2 zlib ];
cmakeFlags = [
"-DLIBOPENMPT_INCLUDE_DIR=${lib.getDev libopenmpt}/include/libopenmpt"
"-DNCINE_DOWNLOAD_DEPENDENCIES=OFF"
"-DNCINE_OVERRIDE_CONTENT_PATH=${jazz2-content}"
] ++ lib.optionals (graphicsLibrary == "GLFW") [
"-DGLFW_INCLUDE_DIR=${glfw}/include/GLFW"
];
passthru.tests.version = testers.testVersion {

View File

@ -0,0 +1,24 @@
{ stdenv, lib, fetchFromSourcehut, meson, ninja, pkg-config, wayland }:
stdenv.mkDerivation rec {
pname = "libscfg";
version = "0.1.1";
src = fetchFromSourcehut {
owner = "~emersion";
repo = "libscfg";
rev = "v${version}";
sha256 = "sha256-aTcvs7QuDOx17U/yP37LhvIGxmm2WR/6qFYRtfjRN6w=";
};
nativeBuildInputs = [ meson ninja pkg-config ];
buildInputs = [ wayland ];
meta = with lib; {
homepage = "https://sr.ht/~emersion/libscfg";
description = "A simple configuration file format";
license = licenses.mit;
maintainers = with maintainers; [ michaeladler ];
platforms = platforms.linux;
};
}

View File

@ -78,8 +78,15 @@ stdenv.mkDerivation (finalAttrs: {
makeFlags = [
"PREFIX=${placeholder "out"}"
"C_COMPILER=$(CC)"
"CPLUSPLUS_COMPILER=$(CXX)"
"LIBRARY_LINK=$(AR) cr "
"LINK=$(CXX) -o "
];
# required for whitespaces in makeFlags
__structuredAttrs = true;
enableParallelBuilding = true;
passthru.tests = {

View File

@ -6,11 +6,11 @@
appimageTools.wrapType2 rec {
pname = "lunar-client";
version = "3.2.4";
version = "3.2.5";
src = fetchurl {
url = "https://launcherupdates.lunarclientcdn.com/Lunar%20Client-${version}.AppImage";
hash = "sha512-KaQvjtSzQzebzPrcFBntCqP6fRbenH9tQo4LYO1TwDoJ7pAeZ8D4kSMRaRfFV0CPZ/pDnKECYdKXAuaujOpw8g==";
hash = "sha512-flve07l13w4aRPPMhbf1Nbaxy6i1ljxx2J/9vg4WLQK4k09PVJKGn6b8nxe5d90LCYMhwEHfEvrHFB/tNFKJ9w==";
};
extraInstallCommands =

View File

@ -0,0 +1,46 @@
{ lib
, stdenv
, fetchFromGitHub
, opencbm
, cc65
}:
stdenv.mkDerivation {
pname = "nibtools";
version = "0-unstable-2024-02-22";
src = fetchFromGitHub {
owner = "OpenCBM";
repo = "nibtools";
rev = "1d69f64eec55031c346a2ce115227479f9579a8a";
hash = "sha256-+hnkj0uevURkRboTH8WbSt82pZTdWL4ii2PKr6NO0Cg=";
};
NIX_CFLAGS_COMPILE = "-Wno-error=format-security";
nativeBuildInputs = [
cc65
];
buildInputs = [
opencbm
];
preBuild = "mkdir build";
makeFlags = [ "-f" "GNU/Makefile" "linux" ];
installPhase = ''
runHook preInstall
mkdir -p $out/bin
mv nibread nibwrite nibscan nibconv nibrepair nibsrqtest $out/bin/
runHook postInstall
'';
meta = with lib; {
description = "disk transfer utility for imaging and converting commodore 64 disk images";
homepage = "https://github.com/OpenCBM/nibtools/";
license = licenses.gpl2;
maintainers = with maintainers; [ matthewcroughan ];
platforms = platforms.all;
};
}

View File

@ -1241,25 +1241,6 @@ dependencies = [
"yaml-rust",
]
[[package]]
name = "ipc-channel"
version = "0.18.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7ab3a34c91b7e84a72643bd75d1bac3afd241f78f9859fe0b5e5b2a6a75732c2"
dependencies = [
"bincode",
"crossbeam-channel",
"fnv",
"lazy_static",
"libc",
"mio",
"rand",
"serde",
"tempfile",
"uuid",
"windows",
]
[[package]]
name = "is-terminal"
version = "0.4.12"
@ -1668,7 +1649,7 @@ dependencies = [
[[package]]
name = "nickel-lang-cli"
version = "1.5.0"
version = "1.6.0"
dependencies = [
"clap 4.5.2",
"clap_complete",
@ -1686,7 +1667,7 @@ dependencies = [
[[package]]
name = "nickel-lang-core"
version = "0.6.0"
version = "0.7.0"
dependencies = [
"ansi_term",
"assert_matches",
@ -1741,7 +1722,7 @@ dependencies = [
[[package]]
name = "nickel-lang-lsp"
version = "1.5.0"
version = "1.6.0"
dependencies = [
"anyhow",
"assert_cmd",
@ -1757,7 +1738,6 @@ dependencies = [
"env_logger",
"glob",
"insta",
"ipc-channel",
"lalrpop",
"lalrpop-util",
"lazy_static",
@ -1769,6 +1749,7 @@ dependencies = [
"nickel-lang-utils",
"pretty_assertions",
"regex",
"scopeguard",
"serde",
"serde_json",
"test-generator",
@ -1788,7 +1769,7 @@ dependencies = [
[[package]]
name = "nickel-wasm-repl"
version = "0.6.0"
version = "0.7.0"
dependencies = [
"nickel-lang-core",
]
@ -2048,12 +2029,6 @@ dependencies = [
"thiserror",
]
[[package]]
name = "ppv-lite86"
version = "0.2.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
[[package]]
name = "precomputed-hash"
version = "0.1.1"
@ -2139,7 +2114,7 @@ dependencies = [
[[package]]
name = "pyckel"
version = "1.5.0"
version = "1.6.0"
dependencies = [
"codespan-reporting",
"nickel-lang-core",
@ -2269,36 +2244,6 @@ dependencies = [
"nibble_vec",
]
[[package]]
name = "rand"
version = "0.8.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
dependencies = [
"libc",
"rand_chacha",
"rand_core",
]
[[package]]
name = "rand_chacha"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
dependencies = [
"ppv-lite86",
"rand_core",
]
[[package]]
name = "rand_core"
version = "0.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
dependencies = [
"getrandom",
]
[[package]]
name = "raw-cpuid"
version = "10.7.0"
@ -3066,7 +3011,7 @@ dependencies = [
[[package]]
name = "topiary-core"
version = "0.3.0"
source = "git+https://github.com/tweag/topiary.git?rev=614abf5d1a5cc3118c9687e18dc1c70a00c3e686#614abf5d1a5cc3118c9687e18dc1c70a00c3e686"
source = "git+https://github.com/tweag/topiary.git?rev=82a94a9f57104b89d4316afaeeab271cc51f7698#82a94a9f57104b89d4316afaeeab271cc51f7698"
dependencies = [
"futures",
"itertools 0.11.0",
@ -3084,12 +3029,12 @@ dependencies = [
[[package]]
name = "topiary-queries"
version = "0.3.0"
source = "git+https://github.com/tweag/topiary.git?rev=9ae9ef49c2fa968d15107b817864ff6627e0983e#9ae9ef49c2fa968d15107b817864ff6627e0983e"
source = "git+https://github.com/tweag/topiary.git?rev=82a94a9f57104b89d4316afaeeab271cc51f7698#82a94a9f57104b89d4316afaeeab271cc51f7698"
[[package]]
name = "topiary-tree-sitter-facade"
version = "0.3.0"
source = "git+https://github.com/tweag/topiary.git?rev=614abf5d1a5cc3118c9687e18dc1c70a00c3e686#614abf5d1a5cc3118c9687e18dc1c70a00c3e686"
source = "git+https://github.com/tweag/topiary.git?rev=82a94a9f57104b89d4316afaeeab271cc51f7698#82a94a9f57104b89d4316afaeeab271cc51f7698"
dependencies = [
"js-sys",
"topiary-web-tree-sitter-sys",
@ -3101,7 +3046,7 @@ dependencies = [
[[package]]
name = "topiary-web-tree-sitter-sys"
version = "0.3.0"
source = "git+https://github.com/tweag/topiary.git?rev=614abf5d1a5cc3118c9687e18dc1c70a00c3e686#614abf5d1a5cc3118c9687e18dc1c70a00c3e686"
source = "git+https://github.com/tweag/topiary.git?rev=82a94a9f57104b89d4316afaeeab271cc51f7698#82a94a9f57104b89d4316afaeeab271cc51f7698"
dependencies = [
"js-sys",
"wasm-bindgen",
@ -3122,7 +3067,7 @@ dependencies = [
[[package]]
name = "tree-sitter-nickel"
version = "0.1.0"
source = "git+https://github.com/nickel-lang/tree-sitter-nickel?rev=091b5dcc7d138901bcc162da9409c0bb626c0d27#091b5dcc7d138901bcc162da9409c0bb626c0d27"
source = "git+https://github.com/nickel-lang/tree-sitter-nickel?rev=58baf89db8fdae54a84bcf22c80ff10ee3f929ed#58baf89db8fdae54a84bcf22c80ff10ee3f929ed"
dependencies = [
"cc",
"tree-sitter",
@ -3226,9 +3171,6 @@ name = "uuid"
version = "1.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f00cc9702ca12d3c81455259621e676d0f7251cec66a21e98fe2e9a37db93b2a"
dependencies = [
"getrandom",
]
[[package]]
name = "version_check"
@ -3396,15 +3338,6 @@ version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
[[package]]
name = "windows"
version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f"
dependencies = [
"windows-targets 0.48.5",
]
[[package]]
name = "windows-sys"
version = "0.48.0"

View File

@ -8,21 +8,20 @@
rustPlatform.buildRustPackage rec {
pname = "nickel";
version = "1.5.0";
version = "1.6.0";
src = fetchFromGitHub {
owner = "tweag";
repo = "nickel";
rev = "refs/tags/${version}";
hash = "sha256-tb0nIBj/5nb0WbkceL7Rt1Rs0Qjy5/2leSOofF4zhTY=";
hash = "sha256-AL5YkdITO9CPFYzMGQwHbuFZrMDUvF1yTt2XTotoymM=";
};
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"topiary-core-0.3.0" = "sha256-2oVdtBcH1hF+p3PixBOljHXvGX2YCoRzA/vlBDvN7fE=";
"topiary-queries-0.3.0" = "sha256-1leQLRohX0iDiOOO96ETM2L3yOElW8OwR5IcrsoxfOo=";
"tree-sitter-nickel-0.1.0" = "sha256-HyHdameEgET5UXKMgw7EJvZsJxToc9Qz26XHvc5qmU0=";
"topiary-core-0.3.0" = "sha256-KWfgbVFV2zbCuNNFp9yeSgAa0Cc7cT090KK2J1ynfKg=";
"tree-sitter-nickel-0.1.0" = "sha256-WuY6X1mnXdjiy4joIcY8voK2sqICFf0GvudulZ9lwqg=";
};
};

View File

@ -13,15 +13,15 @@
src = fetchFromGitHub {
owner = "bluskript";
repo = "nix-inspect";
rev = "74007c580b8282bd336130ddf354e71502b421a6";
hash = "sha256-JichXRSfTLfy+7fhbTvA89rQLkqsY2eHgEAeAHWbA9s=";
rev = "86f636b1e01579b3a63b2c778c21a818b00c3d1e";
hash = "sha256-G5Md4ghux4LBRkPE8vzLTUWxzlQ7s1xKxZ8i3ICWZU8=";
};
workerPackage = stdenv.mkDerivation {
inherit src;
pname = "nix-inspect-worker";
version = "0.1.1";
version = "0.1.2";
sourceRoot = "source/worker";
nativeBuildInputs = [meson ninja pkg-config];
@ -38,9 +38,9 @@ in
rustPlatform.buildRustPackage {
inherit src;
pname = "nix-inspect";
version = "0.1.1";
version = "0.1.2";
cargoHash = "sha256-l+R7BLgJvK9mQ89GVAdTyQX81VMoV11h5KFlMUqAH30=";
cargoHash = "sha256-/0CrHqOL4B0Rx0ZbUpW54FiisfpW6UU4uk6wctfCX5c=";
buildInputs = [workerPackage];

View File

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "orchard";
version = "0.17.0";
version = "0.18.0";
src = fetchFromGitHub {
owner = "cirruslabs";
repo = pname;
rev = version;
hash = "sha256-mOlAMlvWEdkPxvhqrt7PHJjmtUBRsFwsSchHRQtaACc=";
hash = "sha256-rzfGECRa3IPt9LRX8Av7NabaIzaKfxzkOR85q9zl9sk=";
# populate values that require us to use git. By doing this in postFetch we
# can delete .git afterwards and maintain better reproducibility of the src.
leaveDotGit = true;
@ -19,7 +19,7 @@ buildGoModule rec {
'';
};
vendorHash = "sha256-qqq1CKZm95pJ3u7/oHKhRL3ZIGN9LCRcnESE2w/DJrQ=";
vendorHash = "sha256-dVWCxEmqzJw9oN6mCwFVn81Mhq4XfBEM3iXHQn4NXko=";
nativeBuildInputs = [ installShellFiles ];

View File

@ -10,16 +10,16 @@
stdenv.mkDerivation rec {
pname = "photonvision";
version = "2024.2.3";
version = "2024.3.1";
src = {
"x86_64-linux" = fetchurl {
url = "https://github.com/PhotonVision/photonvision/releases/download/v${version}/photonvision-v${version}-linuxx64.jar";
hash = "sha256-45ae9sElAmN6++F9OGAvY/nUl/9UxvHtFxhetKVKfDc=";
hash = "sha256-t9drkGFA3IurZqWAkzEaONVJkp5JHMEFBBW50r+SD68=";
};
"aarch64-linux" = fetchurl {
url = "https://github.com/PhotonVision/photonvision/releases/download/v${version}/photonvision-v${version}-linuxarm64.jar";
hash = "sha256-i/osKO+RAg2nFUPjBdkn3q0Id+uCSTiucfKFVVlEqgs=";
hash = "sha256-ninCVxse0x6lBA2NL3kwMeuHAeNzSa9rdP2dnmMNFgc=";
};
}.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");

View File

@ -7,16 +7,16 @@
rustPlatform.buildRustPackage rec {
pname = "pls";
version = "0.0.1-beta.4";
version = "0.0.1-beta.6";
src = fetchFromGitHub {
owner = "dhruvkb";
owner = "pls-rs";
repo = "pls";
rev = "v${version}";
hash = "sha256-YndQx7FImtbAfcbOpIGOdHQA1V7mbQiYBbpik2I+FCE=";
hash = "sha256-T+OUvupPXg9dEV9GJozEyDLKqBkeH6UFYuSxX2BTZkM=";
};
cargoHash = "sha256-HzkN856GHhY2sQ0jmQCCQva/yB4zzh+ccrQvibLFhxQ=";
cargoHash = "sha256-bo6tySTgGYO+TedBLGwvk+HZmO0KvJEal/eHGSZlp7c=";
buildInputs = lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.Security

View File

@ -7,7 +7,7 @@
python3.pkgs.buildPythonApplication rec {
pname = "retool";
version = "2.3.6";
version = "2.3.7";
pyproject = true;
disabled = python3.pkgs.pythonOlder "3.10";
@ -15,8 +15,8 @@ python3.pkgs.buildPythonApplication rec {
src = fetchFromGitHub {
owner = "unexpectedpanda";
repo = "retool";
rev = "v${version}";
hash = "sha256-6RE2sbL8e9D+czFebLagRiw2wmU78TbajIs9VdFgF0Q=";
rev = "refs/tags/v${version}";
hash = "sha256-WEx/S6+8lJXu+4yKazzJ55HTGKr38GMRL242FV7KdLQ=";
};
nativeBuildInputs = with python3.pkgs; [

View File

@ -0,0 +1,68 @@
{ stdenv
, lib
, config
, fetchFromGitHub
, testers
, cmake
, pkg-config
, alsaSupport ? stdenv.hostPlatform.isLinux
, alsa-lib
, pulseaudioSupport ? config.pulseaudio or stdenv.hostPlatform.isLinux
, libpulseaudio
, jackSupport ? true
, libjack2
, coreaudioSupport ? stdenv.hostPlatform.isDarwin
, darwin
, validatePkgConfig
}:
stdenv.mkDerivation (finalAttrs: {
pname = "rtaudio";
version = "6.0.1";
src = fetchFromGitHub {
owner = "thestk";
repo = "rtaudio";
rev = "refs/tags/${finalAttrs.version}";
hash = "sha256-Acsxbnl+V+Y4mKC1gD11n0m03E96HMK+oEY/YV7rlIY=";
};
strictDeps = true;
nativeBuildInputs = [
cmake
pkg-config
validatePkgConfig
];
buildInputs = lib.optionals alsaSupport [
alsa-lib
] ++ lib.optionals pulseaudioSupport [
libpulseaudio
] ++ lib.optionals jackSupport [
libjack2
] ++ lib.optionals coreaudioSupport [
darwin.apple_sdk.frameworks.CoreAudio
];
cmakeFlags = [
(lib.cmakeBool "RTAUDIO_API_ALSA" alsaSupport)
(lib.cmakeBool "RTAUDIO_API_PULSE" pulseaudioSupport)
(lib.cmakeBool "RTAUDIO_API_JACK" jackSupport)
(lib.cmakeBool "RTAUDIO_API_CORE" coreaudioSupport)
];
passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
meta = {
description = "A set of C++ classes that provide a cross platform API for realtime audio input/output";
homepage = "https://www.music.mcgill.ca/~gary/rtaudio/";
changelog = "https://github.com/thestk/rtaudio/releases/tag/${finalAttrs.version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ magnetophon ];
platforms = lib.platforms.unix;
pkgConfigModules = [
"rtaudio"
];
};
})

View File

@ -0,0 +1,64 @@
{
lib,
stdenv,
fetchFromGitHub,
meson,
ninja,
wlroots,
scdoc,
pkg-config,
wayland,
libdrm,
libxkbcommon,
pixman,
wayland-protocols,
libGL,
mesa,
validatePkgConfig,
testers,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "scenefx";
version = "0.1";
src = fetchFromGitHub {
owner = "wlrfx";
repo = "scenefx";
rev = "refs/tags/${finalAttrs.version}";
hash = "sha256-vBmunqXwGbMNiGRd372TdMU4siWhIVYn5RVYne9C7uQ=";
};
strictDeps = true;
nativeBuildInputs = [
meson
ninja
pkg-config
scdoc
validatePkgConfig
];
buildInputs = [
libdrm
libGL
libxkbcommon
mesa
pixman
wayland
wayland-protocols
wlroots
];
passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
meta = {
description = "A drop-in replacement for the wlroots scene API that allows wayland compositors to render surfaces with eye-candy effects";
homepage = "https://github.com/wlrfx/scenefx";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ eclairevoyant ];
mainProgram = "scenefx";
pkgConfigModules = [ "scenefx" ];
platforms = lib.platforms.all;
};
})

View File

@ -9,20 +9,20 @@
let
pname = "spacedrive";
version = "0.2.4";
version = "0.2.13";
src = fetchurl {
aarch64-darwin = {
url = "https://github.com/spacedriveapp/spacedrive/releases/download/${version}/Spacedrive-darwin-aarch64.dmg";
hash = "sha256-rVRmlhsvvFFRr3ghX0cvfcJO3WlbaNNBo+r4I556YEg=";
hash = "sha256-Ph9+Jve1qP1KBbKRN1I2lylHRy/SWRJAx7nOF9l3A/E=";
};
x86_64-darwin = {
url = "https://github.com/spacedriveapp/spacedrive/releases/download/${version}/Spacedrive-darwin-x86_64.dmg";
hash = "sha256-etRAcGC5S0GwVrBWICfB5ef83xcp/35K0/QndKmPUSE=";
hash = "sha256-+FHxJre+ouOxKvhDG+uDKDp7ZSx8NWRxac4m4yFqgrE=";
};
x86_64-linux = {
url = "https://github.com/spacedriveapp/spacedrive/releases/download/${version}/Spacedrive-linux-x86_64.AppImage";
hash = "sha256-D8etNXrDVLHa1wg+7Xu9yXUvhlAXxMVBM3GpOerFsu0=";
hash = "sha256-AyR1FshOjFatkZLgT2K46IKJgeFDu4e4//CvcuNyt0E=";
};
}.${stdenv.system} or (throw "${pname}-${version}: ${stdenv.system} is unsupported.");

View File

@ -5,13 +5,13 @@
buildGoModule {
pname = "spirit";
version = "0-unstable-2024-03-20";
version = "0-unstable-2024-04-18";
src = fetchFromGitHub {
owner = "cashapp";
repo = "spirit";
rev = "10e4bba0a89ef3b372046dc367c2b2d12e9d0c0b";
hash = "sha256-tw+gHSxIHKEsHaVuknylk4zWsTRKGVNci9WimDC9y1A=";
rev = "886ee21e7338faef6612495b27d409713a202082";
hash = "sha256-xXObprJCo9evArCX5ezqrD+lagiHMO4SwycY+pTkHPg=";
};
vendorHash = "sha256-r6iQs5kgOniHCN8KteQ17rPhQ/73Exuqlu6qWgKEIzs=";

View File

@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitHub, fetchpatch, substituteAll, swaybg
{ lib, stdenv, fetchFromGitHub, substituteAll, swaybg
, meson, ninja, pkg-config, wayland-scanner, scdoc
, libGL, wayland, libxkbcommon, pcre2, json_c, libevdev
, pango, cairo, libinput, gdk-pixbuf, librsvg
@ -60,6 +60,8 @@ stdenv.mkDerivation (finalAttrs: {
];
mesonFlags = let
inherit (lib.strings) mesonEnable mesonOption;
# The "sd-bus-provider" meson option does not include a "none" option,
# but it is silently ignored iff "-Dtray=disabled". We use "basu"
# (which is not in nixpkgs) instead of "none" to alert us if this
@ -67,15 +69,15 @@ stdenv.mkDerivation (finalAttrs: {
# assert trayEnabled -> systemdSupport && dbusSupport;
sd-bus-provider = if systemdSupport then "libsystemd" else "basu";
in
[ "-Dsd-bus-provider=${sd-bus-provider}" ]
++ lib.optional (!finalAttrs.enableXWayland) "-Dxwayland=disabled"
++ lib.optional (!finalAttrs.trayEnabled) "-Dtray=disabled"
;
in [
(mesonOption "sd-bus-provider" sd-bus-provider)
(mesonEnable "xwayland" finalAttrs.enableXWayland)
(mesonEnable "tray" finalAttrs.trayEnabled)
];
passthru.tests.basic = nixosTests.sway;
meta = with lib; {
meta = {
description = "An i3-compatible tiling Wayland compositor";
longDescription = ''
Sway is a tiling Wayland compositor and a drop-in replacement for the i3
@ -88,9 +90,9 @@ stdenv.mkDerivation (finalAttrs: {
'';
homepage = "https://swaywm.org";
changelog = "https://github.com/swaywm/sway/releases/tag/${finalAttrs.version}";
license = licenses.mit;
platforms = platforms.linux;
maintainers = with maintainers; [ primeos synthetica ];
license = lib.licenses.mit;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ primeos synthetica ];
mainProgram = "sway";
};
})

View File

@ -13,9 +13,12 @@
assert extraSessionCommands != "" -> withBaseWrapper;
with lib;
let
inherit (builtins) replaceStrings;
inherit (lib.lists) optional optionals;
inherit (lib.meta) getExe;
inherit (lib.strings) concatMapStrings optionalString;
sway = sway-unwrapped.overrideAttrs (oa: { inherit isNixOS enableXWayland; });
baseWrapper = writeShellScriptBin sway.meta.mainProgram ''
set -o errexit
@ -26,13 +29,13 @@ let
fi
if [ "$DBUS_SESSION_BUS_ADDRESS" ]; then
export DBUS_SESSION_BUS_ADDRESS
exec ${lib.getExe sway} "$@"
exec ${getExe sway} "$@"
else
exec ${lib.optionalString dbusSupport "${dbus}/bin/dbus-run-session"} ${lib.getExe sway} "$@"
exec ${optionalString dbusSupport "${dbus}/bin/dbus-run-session"} ${getExe sway} "$@"
fi
'';
in symlinkJoin rec {
pname = lib.replaceStrings ["-unwrapped"] [""] sway.pname;
pname = replaceStrings ["-unwrapped"] [""] sway.pname;
inherit (sway) version;
name = "${pname}-${version}";

View File

@ -0,0 +1,11 @@
--- a/sway/config.c
+++ b/sway/config.c
@@ -276,7 +276,7 @@
if (!(config->active_bar_modifiers = create_list())) goto cleanup;
- if (!(config->swaybg_command = strdup("swaybg"))) goto cleanup;
+ if (!(config->swaybg_command = strdup("@swaybg@/bin/swaybg"))) goto cleanup;
if (!(config->config_chain = create_list())) goto cleanup;
config->current_config_path = NULL;

View File

@ -0,0 +1,48 @@
From 92283df3acbffa5c1bb21f23cdd686113d905114 Mon Sep 17 00:00:00 2001
From: Patrick Hilhorst <git@hilhorst.be>
Date: Wed, 31 Mar 2021 21:14:13 +0200
Subject: [PATCH] Load configs from /etc but fallback to /nix/store
This change will load all configuration files from /etc, to make it easy
to override them, but fallback to /nix/store/.../etc/sway/config to make
Sway work out-of-the-box with the default configuration on non NixOS
systems.
Original patch by Michael Weiss, updated for Sway 1.6 by Patrick Hilhorst
Co-authored-by: Michael Weiss <dev.primeos@gmail.com>
---
meson.build | 3 ++-
sway/config.c | 3 ++-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/meson.build b/meson.build
index b7a29660..8ae8ceb3 100644
--- a/meson.build
+++ b/meson.build
@@ -164,7 +164,8 @@ if scdoc.found()
endforeach
endif
-add_project_arguments('-DSYSCONFDIR="/@0@"'.format(join_paths(prefix, sysconfdir)), language : 'c')
+add_project_arguments('-DSYSCONFDIR="/@0@"'.format(sysconfdir), language : 'c')
+add_project_arguments('-DNIX_SYSCONFDIR="/@0@"'.format(join_paths(prefix, sysconfdir)), language : 'c')
version = '"@0@"'.format(meson.project_version())
git = find_program('git', native: true, required: false)
diff --git a/sway/config.c b/sway/config.c
index 76b9ec08..fb5b51aa 100644
--- a/sway/config.c
+++ b/sway/config.c
@@ -374,7 +374,8 @@ static char *get_config_path(void) {
{ .prefix = home, .config_folder = ".i3"},
{ .prefix = config_home, .config_folder = "i3"},
{ .prefix = SYSCONFDIR, .config_folder = "sway"},
- { .prefix = SYSCONFDIR, .config_folder = "i3"}
+ { .prefix = SYSCONFDIR, .config_folder = "i3"},
+ { .prefix = NIX_SYSCONFDIR, .config_folder = "sway"},
};
size_t num_config_paths = sizeof(config_paths)/sizeof(config_paths[0]);
--
2.30.1

View File

@ -1,10 +1,33 @@
{
lib,
fetchFromGitHub,
sway-unwrapped,
stdenv,
systemd,
wlroots_0_16,
meson,
substituteAll,
swaybg,
ninja,
pkg-config,
gdk-pixbuf,
librsvg,
wayland-protocols,
libdrm,
libinput,
cairo,
pango,
wayland,
libGL,
libxkbcommon,
pcre2,
json_c,
libevdev,
scdoc,
scenefx,
wayland-scanner,
xcbutilwm,
wlroots,
testers,
nixosTests,
# Used by the NixOS module:
isNixOS ? false,
enableXWayland ? true,
@ -12,32 +35,112 @@
trayEnabled ? systemdSupport,
}:
(sway-unwrapped.override {
stdenv.mkDerivation (finalAttrs: {
inherit
isNixOS
enableXWayland
isNixOS
systemdSupport
trayEnabled
;
wlroots = wlroots_0_16;
}).overrideAttrs (oldAttrs: rec {
pname = "swayfx-unwrapped";
version = "0.3.2";
version = "0.4";
src = fetchFromGitHub {
owner = "WillPower3309";
repo = "swayfx";
rev = version;
sha256 = "sha256-Gwewb0yDVhEBrefSSGDf1hLtpWcntzifPCPJQhqLqI0=";
rev = "refs/tags/${finalAttrs.version}";
hash = "sha256-VT+JjQPqCIdtaLeSnRiZ3rES0KgDJR7j5Byxr+d6oRg=";
};
meta = with lib; {
patches =
[
./load-configuration-from-etc.patch
(substituteAll {
src = ./fix-paths.patch;
inherit swaybg;
})
]
++ lib.optionals (!finalAttrs.isNixOS) [
# References to /nix/store/... will get GC'ed which causes problems when
# copying the default configuration:
./sway-config-no-nix-store-references.patch
]
++ lib.optionals finalAttrs.isNixOS [
# Use /run/current-system/sw/share and /etc instead of /nix/store
# references:
./sway-config-nixos-paths.patch
];
strictDeps = true;
depsBuildBuild = [ pkg-config ];
nativeBuildInputs = [
meson
ninja
pkg-config
scdoc
wayland-scanner
];
buildInputs = [
cairo
gdk-pixbuf
json_c
libdrm
libevdev
libGL
libinput
librsvg
libxkbcommon
pango
pcre2
scenefx
wayland
wayland-protocols
(wlroots.override { inherit (finalAttrs) enableXWayland; })
] ++ lib.optionals finalAttrs.enableXWayland [ xcbutilwm ];
mesonFlags =
let
inherit (lib.strings) mesonEnable mesonOption;
# The "sd-bus-provider" meson option does not include a "none" option,
# but it is silently ignored iff "-Dtray=disabled". We use "basu"
# (which is not in nixpkgs) instead of "none" to alert us if this
# changes: https://github.com/swaywm/sway/issues/6843#issuecomment-1047288761
# assert trayEnabled -> systemdSupport && dbusSupport;
sd-bus-provider = if systemdSupport then "libsystemd" else "basu";
in
[
(mesonOption "sd-bus-provider" sd-bus-provider)
(mesonEnable "xwayland" finalAttrs.enableXWayland)
(mesonEnable "tray" finalAttrs.trayEnabled)
];
passthru = {
tests = {
basic = nixosTests.swayfx;
version = testers.testVersion {
package = finalAttrs.finalPackage;
command = "sway --version";
version = "swayfx version ${finalAttrs.version}";
};
};
};
meta = {
description = "Sway, but with eye candy!";
homepage = "https://github.com/WillPower3309/swayfx";
license = licenses.mit;
maintainers = with maintainers; [ eclairevoyant ricarch97 ];
platforms = platforms.linux;
changelog = "https://github.com/WillPower3309/swayfx/releases/tag/${finalAttrs.version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [
eclairevoyant
ricarch97
];
platforms = lib.platforms.linux;
mainProgram = "sway";
longDescription = ''

View File

@ -0,0 +1,21 @@
diff --git a/config.in b/config.in
index 08703bef..f3872730 100644
--- a/config.in
+++ b/config.in
@@ -22,8 +22,8 @@ set $menu dmenu_path | dmenu | xargs swaymsg exec --
### Output configuration
#
-# Default wallpaper (more resolutions are available in @datadir@/backgrounds/sway/)
-output * bg @datadir@/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.png fill
+# Default wallpaper (more resolutions are available in /run/current-system/sw/share/backgrounds/sway/)
+output * bg /run/current-system/sw/share/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.png fill
#
# Example configuration:
#
@@ -214,4 +214,4 @@ bar {
}
}
-include @sysconfdir@/sway/config.d/*
+include /etc/sway/config.d/*

View File

@ -0,0 +1,21 @@
diff --git a/config.in b/config.in
--- a/config.in
+++ b/config.in
@@ -21,8 +21,8 @@ set $menu dmenu_path | dmenu | xargs swaymsg exec
### Output configuration
#
-# Default wallpaper (more resolutions are available in @datadir@/backgrounds/sway/)
-output * bg @datadir@/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.png fill
+# Default wallpaper
+#output * bg ~/.config/sway/backgrounds/Sway_Wallpaper_Blue_1920x1080.png fill
#
# Example configuration:
#
@@ -213,5 +213,3 @@ bar {
inactive_workspace #32323200 #32323200 #5c5c5c
}
}
-
-include @sysconfdir@/sway/config.d/*

View File

@ -4,16 +4,16 @@
}:
buildGoModule rec {
pname = "tdl";
version = "0.16.2";
version = "0.17.0";
src = fetchFromGitHub {
owner = "iyear";
repo = "tdl";
rev = "v${version}";
hash = "sha256-YbyTUmYXcltmvJVatS1TLkqZli7sba4ARi9bRkcd07M=";
hash = "sha256-bIDgxCv9jSN3OxS0FydFwfJYr8BUQ+8U/0s2BkM4M70=";
};
vendorHash = "sha256-WFhwmV4zlYDQA2Xow51m/AQ9GwUwr26rW3WMldduLl8=";
vendorHash = "sha256-uCQ5HixoChppLO9kJvMWVENhHDnQsEe/qiJnbwUjE70=";
ldflags = [
"-s"

View File

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "tenv";
version = "1.8.0";
version = "1.9.4";
src = fetchFromGitHub {
owner = "tofuutils";
repo = "tenv";
rev = "v${version}";
hash = "sha256-w8A3tmv8KzwtP5gqbaj5UdFxLcz9ILBP1itXSlLJ3Q0=";
hash = "sha256-lrBoZwdhDPE2cGTxptMV6PChUdHe99n7AqCozMUkXk0=";
};
vendorHash = "sha256-NMkR90+kJ3VsuhF45l5K68uOqenPfINZDEE0GfjULro=";

View File

@ -10,16 +10,16 @@
buildGoModule rec {
pname = "terraform-plugin-docs";
version = "0.19.1";
version = "0.19.2";
src = fetchFromGitHub {
owner = "hashicorp";
repo = "terraform-plugin-docs";
rev = "refs/tags/v${version}";
sha256 = "sha256-EONy9eSxaeih5Zi11IHljyvW7k0BwskqM08qcSVp2xE=";
sha256 = "sha256-1ZJPy/kRYKcwr/k/u8ux5Eo1LIkrNpVyXrd9ff+Na6I=";
};
vendorHash = "sha256-q22fk+rkK+efwzQliKeUcSwVjdB7HT2QGt9+DiPI9ik=";
vendorHash = "sha256-dBDvh3aIHu8iGwFt+29SdCl1gICwO7LnxQ7Wux+2tOk=";
nativeBuildInputs = [ makeWrapper ];

View File

@ -6,16 +6,16 @@
rustPlatform.buildRustPackage rec {
pname = "tlrc";
version = "1.9.1";
version = "1.9.2";
src = fetchFromGitHub {
owner = "tldr-pages";
repo = "tlrc";
rev = "v${version}";
hash = "sha256-RzGw4rvak055V48bkeuzKAH6F/wlFMLya8Ny3mgU+H4=";
hash = "sha256-JQx4vuXbsLrPAbmPlwPiPXJIpRufUzQN+R+Wqj4H8n4=";
};
cargoHash = "sha256-BbBt6oCO9y++EWx9/CXISGfB/FEcEPKYeXNXcejevrg=";
cargoHash = "sha256-5caZTdpEog8xdCn+LOfW5UdbuWZmO8iggSstxvdjwb0=";
nativeBuildInputs = [ installShellFiles ];

View File

@ -0,0 +1,33 @@
{
lib,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule rec {
pname = "trickest-cli";
version = "1.7.5";
src = fetchFromGitHub {
owner = "trickest";
repo = "trickest-cli";
rev = "refs/tags/v${version}";
hash = "sha256-erPcb+cHCAmhPGwfu+g0yyAFx252+tpIOFQiUBuPUcs=";
};
vendorHash = "sha256-gk8YMMvTHBL7yoXU9n0jhtUS472fqLW5m+mSl4Lio6c=";
ldflags = [
"-s"
"-w"
];
meta = with lib; {
description = "CLI tool to execute Trickest workflows";
homepage = "https://github.com/trickest/trickest-cli";
changelog = "https://github.com/trickest/trickest-cli/releases/tag/v${version}";
license = licenses.mit;
maintainers = with maintainers; [ fab ];
mainProgram = "trickest";
};
}

View File

@ -17,14 +17,14 @@ python3Packages.buildPythonApplication rec {
hash = "sha256-Os27uqH3MA3v9+8WzfL5KIEUewAzf8JUyRtsWSzw81o=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail 'm3u8>=1.0.0,<4.0.0' 'm3u8>=1.0.0'
'';
pythonRelaxDeps = [
"m3u8"
];
nativeBuildInputs = [
python3Packages.setuptools
python3Packages.setuptools-scm
python3Packages.pythonRelaxDepsHook
installShellFiles
scdoc
];
@ -46,6 +46,16 @@ python3Packages.buildPythonApplication rec {
pythonImportsCheck = [
"twitchdl"
"twitchdl.cli"
"twitchdl.download"
"twitchdl.entities"
"twitchdl.http"
"twitchdl.output"
"twitchdl.playlists"
"twitchdl.progress"
"twitchdl.twitch"
"twitchdl.utils"
"twitchdl.commands"
];
postInstall = ''
@ -58,7 +68,7 @@ python3Packages.buildPythonApplication rec {
homepage = "https://github.com/ihabunek/twitch-dl";
changelog = "https://github.com/ihabunek/twitch-dl/blob/${src.rev}/CHANGELOG.md";
license = licenses.gpl3Only;
maintainers = with maintainers; [ ];
maintainers = with maintainers; [ pbsds ];
mainProgram = "twitch-dl";
};
}

View File

@ -1,17 +1,21 @@
{ lib
, stdenv
, rustPlatform
, fetchFromGitHub
, pkg-config
, audioSupport ? true
, darwin
, alsa-lib
{
lib,
stdenv,
rustPlatform,
fetchFromGitHub,
pkg-config,
audioSupport ? true,
darwin,
alsa-lib,
# passthru.tests.run
, runCommand
, uiua
# passthru.tests.run
runCommand,
uiua,
}:
let
inherit (darwin.apple_sdk.frameworks) AppKit AudioUnit CoreServices;
in
rustPlatform.buildRustPackage rec {
pname = "uiua";
version = "0.10.3";
@ -25,19 +29,17 @@ rustPlatform.buildRustPackage rec {
cargoHash = "sha256-R97KO3MYmtO9C1Hi9kU+1FDdbOCVQk+gwVXTTvbeok4=";
nativeBuildInputs = lib.optionals stdenv.isDarwin [
rustPlatform.bindgenHook
] ++ lib.optionals audioSupport [
pkg-config
];
nativeBuildInputs =
lib.optionals stdenv.isDarwin [ rustPlatform.bindgenHook ]
++ lib.optionals audioSupport [ pkg-config ];
buildInputs = lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.CoreServices
] ++ lib.optionals (audioSupport && stdenv.isDarwin) [
darwin.apple_sdk.frameworks.AudioUnit
] ++ lib.optionals (audioSupport && stdenv.isLinux) [
alsa-lib
];
buildInputs =
lib.optionals stdenv.isDarwin [
AppKit
CoreServices
]
++ lib.optionals (audioSupport && stdenv.isDarwin) [ AudioUnit ]
++ lib.optionals (audioSupport && stdenv.isLinux) [ alsa-lib ];
buildFeatures = lib.optional audioSupport "audio";
@ -59,6 +61,10 @@ rustPlatform.buildRustPackage rec {
homepage = "https://www.uiua.org/";
license = lib.licenses.mit;
mainProgram = "uiua";
maintainers = with lib.maintainers; [ cafkafk tomasajt defelo ];
maintainers = with lib.maintainers; [
cafkafk
tomasajt
defelo
];
};
}

View File

@ -5,12 +5,12 @@
stdenv.mkDerivation (finalAttrs: {
pname = "unrar";
version = "7.0.7";
version = "7.0.8";
src = fetchzip {
url = "https://www.rarlab.com/rar/unrarsrc-${finalAttrs.version}.tar.gz";
stripRoot = false;
hash = "sha256-S7BMywydetDh1GINcK3k3fN9ciDoKTCAe/1tkgykoAQ=";
hash = "sha256-oyLU4LkjzqjpiPLMpsTJWqaF9Tr4Tg441vXo3JiORDo=";
};
sourceRoot = finalAttrs.src.name;

View File

@ -5,16 +5,16 @@
}:
buildGoModule rec {
pname = "uplosi";
version = "0.2.0";
version = "0.2.1";
src = fetchFromGitHub {
owner = "edgelesssys";
repo = pname;
rev = "v${version}";
hash = "sha256-TrHREV/bmrjwlE4bsXZDKvIQKa68AnUSktnqCKdvOe8=";
hash = "sha256-i/RVCoeQLeOaPaEtJS/l+42CVohMucA6cBBt0mdJ4uE=";
};
vendorHash = "sha256-0uQBhNRP3OGn3hw6Mx6tRliTqIhoBnyfRmdtdtuYwaY=";
vendorHash = "sha256-f8Yz99qlN0S0Ybewifc0VQanYXKinb1togBkUwDPSvw=";
CGO_ENABLED = "0";
ldflags = [ "-s" "-w" "-X main.version=${version}" ];

View File

@ -18,13 +18,13 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "vcpkg-tool";
version = "2024-03-14";
version = "2024-04-23";
src = fetchFromGitHub {
owner = "microsoft";
repo = "vcpkg-tool";
rev = finalAttrs.version;
hash = "sha256-xe5a1cK56KvO4DFFz/K1omBCebzTRUOpXDpkOGek10M=";
hash = "sha256-PqmkQcpxuYJGZJs2qemv0hshvO4KTiKc1ZY0//Gq0pY=";
};
nativeBuildInputs = [

View File

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "VictoriaMetrics";
version = "1.100.1";
version = "1.101.0";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "v${version}";
hash = "sha256-OheW6sCn/yXgSrtUe1zqDGaH6G8HG4QRQhFznaZGvX0=";
hash = "sha256-Jjz/CbVCvc9NFbvzYTFthG8cov4pYpc6y1A1Kmd3Mjg=";
};
vendorHash = null;

View File

@ -40,10 +40,12 @@
, udev
, upower
, wayland
, wayland-scanner
, wireplumber
, wrapGAppsHook3
, cavaSupport ? true
, enableManpages ? stdenv.buildPlatform.canExecute stdenv.hostPlatform
, evdevSupport ? true
, experimentalPatches ? true
, hyprlandSupport ? true
@ -55,7 +57,7 @@
, pipewireSupport ? true
, pulseSupport ? true
, rfkillSupport ? true
, runTests ? true
, runTests ? stdenv.buildPlatform.canExecute stdenv.hostPlatform
, sndioSupport ? true
, swaySupport ? true
, traySupport ? true
@ -97,9 +99,10 @@ stdenv.mkDerivation (finalAttrs: {
meson
ninja
pkg-config
scdoc
wayland-scanner
wrapGAppsHook3
] ++ lib.optional withMediaPlayer gobject-introspection;
] ++ lib.optional withMediaPlayer gobject-introspection
++ lib.optional enableManpages scdoc;
propagatedBuildInputs = lib.optionals withMediaPlayer [
glib
@ -107,8 +110,6 @@ stdenv.mkDerivation (finalAttrs: {
python3.pkgs.pygobject3
];
strictDeps = false;
buildInputs = [
gtk-layer-shell
gtkmm3
@ -154,7 +155,7 @@ stdenv.mkDerivation (finalAttrs: {
"libinput" = inputSupport;
"libnl" = nlSupport;
"libudev" = udevSupport;
"man-pages" = true;
"man-pages" = enableManpages;
"mpd" = mpdSupport;
"mpris" = mprisSupport;
"pipewire" = pipewireSupport;

View File

@ -0,0 +1,36 @@
{ lib
, python3
, fetchPypi
}:
python3.pkgs.buildPythonApplication rec {
pname = "wireviz";
version = "0.3.2";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-MBgX7dWOr3SorOJQjVlRGlSvL+A7Lg+gC1UoS3un9rU=";
};
nativeBuildInputs = [
python3.pkgs.setuptools
python3.pkgs.wheel
];
propagatedBuildInputs = with python3.pkgs; [
graphviz
pillow
pyyaml
];
pythonImportsCheck = [ "wireviz" ];
meta = with lib; {
description = "Easily document cables and wiring harnesses";
homepage = "https://pypi.org/project/wireviz/";
license = licenses.gpl3Only;
maintainers = with maintainers; [ pinpox ];
mainProgram = "wireviz";
};
}

View File

@ -9,16 +9,16 @@
rustPlatform.buildRustPackage rec {
pname = "wl-clip-persist";
version = "0.4.0";
version = "0.4.1";
src = fetchFromGitHub {
owner = "Linus789";
repo = "wl-clip-persist";
rev = "v${version}";
hash = "sha256-uu9R+/8483YyuvMeot2sRs8ihSN1AEPeDjzRxB1P8kc=";
hash = "sha256-gUi4Htui7IwldeK30C7SGTNc+0VHuzDZfJdaL8FmkGs=";
};
cargoHash = "sha256-XpNpHi9vl89sbec6DXh50t8s328Uw4PpzFVvGp1TP6o=";
cargoHash = "sha256-Kt/XTcwclZENtw4vw2BntndqxvojEizCc2Oa0w+c1D0=";
nativeBuildInputs = [ pkg-config ];

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