mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-10-02 13:00:23 +00:00
Merge staging-next into staging
This commit is contained in:
@@ -21751,6 +21751,12 @@
|
||||
githubId = 8219659;
|
||||
name = "Siraphob Phipathananunth";
|
||||
};
|
||||
SirBerg = {
|
||||
email = "benno@boerg.co";
|
||||
github = "SirBerg";
|
||||
githubId = 87900036;
|
||||
name = "Benno Rodehack";
|
||||
};
|
||||
siriobalmelli = {
|
||||
email = "sirio@b-ad.ch";
|
||||
github = "siriobalmelli";
|
||||
|
||||
@@ -519,10 +519,6 @@
|
||||
|
||||
- `services.gitea` now supports CAPTCHA usage through the `services.gitea.captcha` variable.
|
||||
|
||||
- The GRUB bootloader (`boot.loader.grub`) now generates [boot loader entries](https://uapi-group.org/specifications/specs/boot_loader_specification/).
|
||||
These files are used by userspace tools (for example, `bootctl`) to inspect the bootloader status, getting the default boot entry, the path of the kernel binary, etc.
|
||||
As a consequence, `systemctl kexec` now works automatically: specifying the kernel and its arguments with `kexec --load` is no longer required.
|
||||
|
||||
- `bind.cacheNetworks` now only controls access for recursive queries, where it previously controlled access for all queries.
|
||||
|
||||
- [`services.mongodb.enableAuth`](#opt-services.mongodb.enableAuth) now uses the newer [mongosh](https://github.com/mongodb-js/mongosh) shell instead of the legacy shell to configure the initial superuser. You can configure the mongosh package to use through the [`services.mongodb.mongoshPackage`](#opt-services.mongodb.mongoshPackage) option.
|
||||
|
||||
@@ -50,10 +50,6 @@ let
|
||||
then realGrub.override { efiSupport = cfg.efiSupport; }
|
||||
else null;
|
||||
|
||||
bootPath = if cfg.mirroredBoots != [ ]
|
||||
then (builtins.head cfg.mirroredBoots).path
|
||||
else "/boot";
|
||||
|
||||
f = x: optionalString (x != null) ("" + x);
|
||||
|
||||
grubConfig = args:
|
||||
@@ -760,16 +756,6 @@ in
|
||||
|
||||
environment.systemPackages = mkIf (grub != null) [ grub ];
|
||||
|
||||
# Link /boot under /run/boot-loder-entries to make
|
||||
# systemd happy even on non-EFI system
|
||||
systemd.mounts = lib.optional (!cfg.efiSupport) {
|
||||
what = bootPath;
|
||||
where = "/run/boot-loader-entries";
|
||||
type = "none";
|
||||
options = "bind";
|
||||
requiredBy = [ "local-fs.target" ];
|
||||
};
|
||||
|
||||
boot.loader.grub.extraPrepareConfig =
|
||||
concatStrings (mapAttrsToList (n: v: ''
|
||||
${pkgs.coreutils}/bin/install -Dp "${v}" "${efi.efiSysMountPoint}/"${escapeShellArg n}
|
||||
|
||||
@@ -99,15 +99,7 @@ $ENV{'PATH'} = get("path");
|
||||
|
||||
print STDERR "updating GRUB 2 menu...\n";
|
||||
|
||||
# Make GRUB directory
|
||||
make_path("$bootPath/grub", { mode => 0700 });
|
||||
|
||||
# Make BLS entries directory, see addBLSEntry
|
||||
make_path("$bootPath/loader/entries", { mode => 0700 });
|
||||
writeFile("$bootPath/loader/entries.srel", "type1");
|
||||
|
||||
# and a temporary one for new entries
|
||||
make_path("$bootPath/loader/entries.tmp", { mode => 0700 });
|
||||
make_path("$bootPath/grub", { mode => 0700 });
|
||||
|
||||
# Discover whether the bootPath is on the same filesystem as / and
|
||||
# /nix/store. If not, then all kernels and initrds must be copied to
|
||||
@@ -468,7 +460,6 @@ sub copyToKernelsDir {
|
||||
}
|
||||
|
||||
sub addEntry {
|
||||
# Creates a Grub menu entry for a given system
|
||||
my ($name, $path, $options, $current) = @_;
|
||||
return unless -e "$path/kernel" && -e "$path/initrd";
|
||||
|
||||
@@ -530,58 +521,6 @@ sub addEntry {
|
||||
$conf .= "}\n\n";
|
||||
}
|
||||
|
||||
sub addBLSEntry {
|
||||
# Creates a Boot Loader Specification[1] entry for a given system.
|
||||
# The information contained in the entry mirrors a boot entry in GRUB menu.
|
||||
#
|
||||
# [1]: https://uapi-group.org/specifications/specs/boot_loader_specification
|
||||
my ($prof, $spec, $gen, $link) = @_;
|
||||
|
||||
# collect data from system
|
||||
my %bootspec = %{decode_json(readFile("$link/boot.json"))->{"org.nixos.bootspec.v1"}};
|
||||
my $date = strftime("%F", localtime(lstat($link)->mtime));
|
||||
my $kernel = $bootspec{kernel} =~ s@$storePath/@@r =~ s@/@-@r;
|
||||
my $initrd = $bootspec{initrd} =~ s@$storePath/@@r =~ s@/@-@r;
|
||||
my $kernelParams = readFile("$link/kernel-params");
|
||||
my $machineId = readFile("/etc/machine-id");
|
||||
|
||||
if ($grubEfi eq "" && !$copyKernels) {
|
||||
# workaround for https://github.com/systemd/systemd/issues/35729
|
||||
make_path("$bootPath/kernels", { mode => 0755 });
|
||||
symlink($bootspec{kernel}, "$bootPath/kernels/$kernel");
|
||||
symlink($bootspec{initrd}, "$bootPath/kernels/$initrd");
|
||||
$copied{"$bootPath/kernels/$kernel"} = 1;
|
||||
$copied{"$bootPath/kernels/$initrd"} = 1;
|
||||
}
|
||||
|
||||
# fill in the entry
|
||||
my $extras = join(' ', $prof = $prof ne "system" ? " [$prof] " : "",
|
||||
$spec = $spec ne "" ? " ($spec) " : "");
|
||||
my $entry = <<~END;
|
||||
title @distroName@$extras
|
||||
sort-key nixos
|
||||
version Generation $gen $bootspec{label}, built on $date
|
||||
linux kernels/$kernel
|
||||
initrd kernels/$initrd
|
||||
options init=$bootspec{init} $kernelParams
|
||||
END
|
||||
$entry .= "machine-id $machineId" if defined $machineId;
|
||||
|
||||
# entry file basename
|
||||
my $name = join("-", grep { length $_ > 0 }
|
||||
"nixos", $prof ne "system" ? $prof : "",
|
||||
"generation", $gen,
|
||||
$spec ? "specialisation-$spec" : "");
|
||||
|
||||
# write entry to the temp directory
|
||||
writeFile("$bootPath/loader/entries.tmp/$name.conf", $entry);
|
||||
|
||||
# mark the default entry
|
||||
if (readlink($link) eq $defaultConfig) {
|
||||
writeFile("$bootPath/loader/loader.conf", "default $name.conf");
|
||||
}
|
||||
}
|
||||
|
||||
sub addGeneration {
|
||||
my ($name, $nameSuffix, $path, $options, $current) = @_;
|
||||
|
||||
@@ -653,18 +592,12 @@ sub addProfile {
|
||||
warn "skipping corrupt system profile entry ‘$link’\n";
|
||||
next;
|
||||
}
|
||||
my $gen = nrFromGen($link);
|
||||
my $date = strftime("%F", localtime(lstat($link)->mtime));
|
||||
my $version =
|
||||
-e "$link/nixos-version"
|
||||
? readFile("$link/nixos-version")
|
||||
: basename((glob(dirname(Cwd::abs_path("$link/kernel")) . "/lib/modules/*"))[0]);
|
||||
addGeneration("@distroName@ - Configuration " . $gen, " ($date - $version)", $link, $subEntryOptions, 0);
|
||||
|
||||
addBLSEntry(basename($profile), "", $gen, $link);
|
||||
foreach my $spec (glob "$link/specialisation/*") {
|
||||
addBLSEntry(basename($profile), $spec, $gen, $spec);
|
||||
}
|
||||
addGeneration("@distroName@ - Configuration " . nrFromGen($link), " ($date - $version)", $link, $subEntryOptions, 0);
|
||||
}
|
||||
|
||||
$conf .= "}\n";
|
||||
@@ -678,12 +611,6 @@ for my $profile (glob "/nix/var/nix/profiles/system-profiles/*") {
|
||||
addProfile $profile, "@distroName@ - Profile '$name'";
|
||||
}
|
||||
|
||||
# Atomically replace the BLS entries directory
|
||||
my $entriesDir = "$bootPath/loader/entries";
|
||||
rename $entriesDir, "$entriesDir.bak" or die "cannot rename $entriesDir to $entriesDir.bak: $!\n";
|
||||
rename "$entriesDir.tmp", $entriesDir or die "cannot rename $entriesDir.tmp to $entriesDir: $!\n";
|
||||
rmtree "$entriesDir.bak" or die "cannot remove $entriesDir.bak: $!\n";
|
||||
|
||||
# extraPrepareConfig could refer to @bootPath@, which we have to substitute
|
||||
$extraPrepareConfig =~ s/\@bootPath\@/$bootPath/g;
|
||||
|
||||
|
||||
@@ -463,7 +463,7 @@ in {
|
||||
greetd-no-shadow = handleTest ./greetd-no-shadow.nix {};
|
||||
grocy = handleTest ./grocy.nix {};
|
||||
grow-partition = runTest ./grow-partition.nix;
|
||||
grub = import ./grub.nix { inherit pkgs runTest; };
|
||||
grub = handleTest ./grub.nix {};
|
||||
guacamole-server = handleTest ./guacamole-server.nix {};
|
||||
guix = handleTest ./guix {};
|
||||
gvisor = handleTest ./gvisor.nix {};
|
||||
@@ -1217,6 +1217,7 @@ in {
|
||||
vault-postgresql = handleTest ./vault-postgresql.nix {};
|
||||
vaultwarden = discoverTests (import ./vaultwarden.nix);
|
||||
vector = handleTest ./vector {};
|
||||
velocity = runTest ./velocity.nix;
|
||||
vengi-tools = handleTest ./vengi-tools.nix {};
|
||||
victoriametrics = handleTest ./victoriametrics {};
|
||||
vikunja = handleTest ./vikunja.nix {};
|
||||
|
||||
@@ -1,123 +1,60 @@
|
||||
{ pkgs, runTest }:
|
||||
import ./make-test-python.nix ({ lib, ... }: {
|
||||
name = "grub";
|
||||
|
||||
{
|
||||
# Basic GRUB setup with BIOS and a password
|
||||
basic = runTest {
|
||||
name = "grub-basic";
|
||||
meta.maintainers = with pkgs.lib.maintainers; [ rnhmjoj ];
|
||||
|
||||
nodes.machine = { ... }: {
|
||||
virtualisation.useBootLoader = true;
|
||||
boot.loader.timeout = null;
|
||||
boot.loader.grub = {
|
||||
enable = true;
|
||||
users.alice.password = "supersecret";
|
||||
# OCR is not accurate enough
|
||||
extraConfig = "serial; terminal_output serial";
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
def grub_login_as(user, password):
|
||||
"""
|
||||
Enters user and password to log into GRUB
|
||||
"""
|
||||
machine.wait_for_console_text("Enter username:")
|
||||
machine.send_chars(user + "\n")
|
||||
machine.wait_for_console_text("Enter password:")
|
||||
machine.send_chars(password + "\n")
|
||||
|
||||
|
||||
def grub_select_all_configurations():
|
||||
"""
|
||||
Selects "All configurations" from the GRUB menu
|
||||
to trigger a login request.
|
||||
"""
|
||||
machine.send_monitor_command("sendkey down")
|
||||
machine.send_monitor_command("sendkey ret")
|
||||
|
||||
|
||||
machine.start()
|
||||
|
||||
# wait for grub screen
|
||||
machine.wait_for_console_text("GNU GRUB")
|
||||
|
||||
grub_select_all_configurations()
|
||||
with subtest("Invalid credentials are rejected"):
|
||||
grub_login_as("wronguser", "wrongsecret")
|
||||
machine.wait_for_console_text("error: access denied.")
|
||||
|
||||
grub_select_all_configurations()
|
||||
with subtest("Valid credentials are accepted"):
|
||||
grub_login_as("alice", "supersecret")
|
||||
machine.send_chars("\n") # press enter to boot
|
||||
machine.wait_for_console_text("Linux version")
|
||||
|
||||
with subtest("Machine boots correctly"):
|
||||
machine.wait_for_unit("multi-user.target")
|
||||
'';
|
||||
};
|
||||
|
||||
# Test boot loader entries on EFI
|
||||
bls-efi = runTest {
|
||||
name = "grub-bls-efi";
|
||||
meta.maintainers = with pkgs.lib.maintainers; [ rnhmjoj ];
|
||||
|
||||
nodes.machine = { pkgs, ... }: {
|
||||
virtualisation.useBootLoader = true;
|
||||
virtualisation.useEFIBoot = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
boot.loader.grub.enable = true;
|
||||
boot.loader.grub.efiSupport = true;
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
with subtest("Machine boots correctly"):
|
||||
machine.wait_for_unit("multi-user.target")
|
||||
|
||||
with subtest("Boot entries are installed"):
|
||||
entries = machine.succeed("bootctl list")
|
||||
print(entries)
|
||||
error = "NixOS boot entry not found in bootctl list."
|
||||
assert "version: Generation 1" in entries, error
|
||||
|
||||
with subtest("systemctl kexec can detect the kernel"):
|
||||
machine.succeed("systemctl kexec --dry-run")
|
||||
|
||||
with subtest("systemctl kexec really works"):
|
||||
machine.execute("systemctl kexec", check_return=False)
|
||||
machine.connected = False
|
||||
machine.connect()
|
||||
machine.wait_for_unit("multi-user.target")
|
||||
'';
|
||||
meta = with lib.maintainers; {
|
||||
maintainers = [ rnhmjoj ];
|
||||
};
|
||||
|
||||
# Test boot loader entries on BIOS
|
||||
bls-bios = runTest {
|
||||
name = "grub-bls-bios";
|
||||
meta.maintainers = with pkgs.lib.maintainers; [ rnhmjoj ];
|
||||
nodes.machine = { ... }: {
|
||||
virtualisation.useBootLoader = true;
|
||||
|
||||
nodes.machine = { pkgs, ... }: {
|
||||
virtualisation.useBootLoader = true;
|
||||
boot.loader.grub.enable = true;
|
||||
boot.loader.timeout = null;
|
||||
boot.loader.grub = {
|
||||
enable = true;
|
||||
users.alice.password = "supersecret";
|
||||
|
||||
# OCR is not accurate enough
|
||||
extraConfig = "serial; terminal_output serial";
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
with subtest("Machine boots correctly"):
|
||||
machine.wait_for_unit("multi-user.target")
|
||||
|
||||
with subtest("Boot entries are installed"):
|
||||
machine.succeed("test -f /boot/loader/entries/nixos-generation-1.conf")
|
||||
|
||||
with subtest("systemctl kexec can detect the kernel"):
|
||||
machine.succeed("systemctl kexec --dry-run")
|
||||
|
||||
with subtest("systemctl kexec really works"):
|
||||
machine.execute("systemctl kexec", check_return=False)
|
||||
machine.connected = False
|
||||
machine.connect()
|
||||
machine.wait_for_unit("multi-user.target")
|
||||
'';
|
||||
};
|
||||
|
||||
}
|
||||
testScript = ''
|
||||
def grub_login_as(user, password):
|
||||
"""
|
||||
Enters user and password to log into GRUB
|
||||
"""
|
||||
machine.wait_for_console_text("Enter username:")
|
||||
machine.send_chars(user + "\n")
|
||||
machine.wait_for_console_text("Enter password:")
|
||||
machine.send_chars(password + "\n")
|
||||
|
||||
|
||||
def grub_select_all_configurations():
|
||||
"""
|
||||
Selects "All configurations" from the GRUB menu
|
||||
to trigger a login request.
|
||||
"""
|
||||
machine.send_monitor_command("sendkey down")
|
||||
machine.send_monitor_command("sendkey ret")
|
||||
|
||||
|
||||
machine.start()
|
||||
|
||||
# wait for grub screen
|
||||
machine.wait_for_console_text("GNU GRUB")
|
||||
|
||||
grub_select_all_configurations()
|
||||
with subtest("Invalid credentials are rejected"):
|
||||
grub_login_as("wronguser", "wrongsecret")
|
||||
machine.wait_for_console_text("error: access denied.")
|
||||
|
||||
grub_select_all_configurations()
|
||||
with subtest("Valid credentials are accepted"):
|
||||
grub_login_as("alice", "supersecret")
|
||||
machine.send_chars("\n") # press enter to boot
|
||||
machine.wait_for_console_text("Linux version")
|
||||
|
||||
with subtest("Machine boots correctly"):
|
||||
machine.wait_for_unit("multi-user.target")
|
||||
'';
|
||||
})
|
||||
|
||||
@@ -71,8 +71,5 @@ import ./make-test-python.nix ({ pkgs, lib, withNg ? false, ... }: {
|
||||
# at this point we've tested regression #262724, but haven't tested the bootloader itself
|
||||
# TODO: figure out how to how to tell the test driver to start the bootloader instead of
|
||||
# booting into the kernel directly.
|
||||
|
||||
with subtest("New boot entry has been added"):
|
||||
machine.succeed("test -f /boot/loader/entries/nixos-generation-2.conf")
|
||||
'';
|
||||
})
|
||||
|
||||
68
nixos/tests/velocity.nix
Normal file
68
nixos/tests/velocity.nix
Normal file
@@ -0,0 +1,68 @@
|
||||
{ lib, pkgs, ... }:
|
||||
{
|
||||
name = "velocity";
|
||||
meta = {
|
||||
platforms = [
|
||||
"x86_64-linux"
|
||||
"aarch64-linux"
|
||||
];
|
||||
maintainers = [ lib.maintainers.Tert0 ];
|
||||
};
|
||||
|
||||
nodes.server =
|
||||
{ ... }:
|
||||
{
|
||||
imports =
|
||||
let
|
||||
mkVelocityService = name: pkg: {
|
||||
systemd.sockets.${name} = {
|
||||
socketConfig = {
|
||||
ListenFIFO = "/run/${name}.stdin";
|
||||
Service = "${name}";
|
||||
};
|
||||
};
|
||||
systemd.services.${name} = {
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkg}/bin/velocity";
|
||||
DynamicUser = true;
|
||||
StateDirectory = "${name}";
|
||||
WorkingDirectory = "/var/lib/${name}";
|
||||
|
||||
Sockets = "${name}.socket";
|
||||
StandardInput = "socket";
|
||||
StandardOutput = "journal";
|
||||
StandardError = "journal";
|
||||
};
|
||||
};
|
||||
};
|
||||
in
|
||||
[
|
||||
(mkVelocityService "velocity-without-native" (
|
||||
pkgs.velocity.override { withVelocityNative = false; }
|
||||
))
|
||||
(mkVelocityService "velocity-with-native" (pkgs.velocity.override { withVelocityNative = true; }))
|
||||
];
|
||||
|
||||
environment.systemPackages = [ pkgs.mcstatus ];
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
def test_velocity(name: str, native: bool):
|
||||
server.start_job(name)
|
||||
server.wait_for_unit(name);
|
||||
server.wait_for_open_port(25565)
|
||||
server.wait_until_succeeds(f"journalctl -b -u {name} | grep -q 'Booting up Velocity nixpkgs-${pkgs.velocity.version}...'")
|
||||
connections_startup_query = "Connections will use epoll channels, libdeflate (.+) compression, OpenSSL 3.x.x (.+) ciphers" if native else "Connections will use epoll channels, Java compression, Java ciphers"
|
||||
server.wait_until_succeeds(f"journalctl -b -u {name} | grep -q -E '{connections_startup_query}'")
|
||||
server.wait_until_succeeds(f"journalctl -b -u {name} | grep -q 'Done ([0-9]*.[0-9]*s)!'");
|
||||
|
||||
_, status_result = server.execute("mcstatus localhost:25565 status")
|
||||
assert "A Velocity Server" in status_result
|
||||
|
||||
server.execute(f"echo stop > /run/{name}.stdin")
|
||||
server.wait_for_closed_port(25565);
|
||||
|
||||
test_velocity("velocity-without-native", False)
|
||||
test_velocity("velocity-with-native", True)
|
||||
'';
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -536,12 +536,12 @@
|
||||
};
|
||||
earthfile = buildGrammar {
|
||||
language = "earthfile";
|
||||
version = "0.0.0+rev=6695a2d";
|
||||
version = "0.0.0+rev=ae378d9";
|
||||
src = fetchFromGitHub {
|
||||
owner = "glehmann";
|
||||
repo = "tree-sitter-earthfile";
|
||||
rev = "6695a2dfea5f8d9076b11f9bebcac8184e405e67";
|
||||
hash = "sha256-qNZVpqODosmEurtS83PLAc+MacoiC64O9RogXuU1jK4=";
|
||||
rev = "ae378d9d1306e9a967698516041f6f8803db5592";
|
||||
hash = "sha256-BKosyoT2zv9A1at9N1P018nNlMUB2OPg2vu3sjNiW4Q=";
|
||||
};
|
||||
meta.homepage = "https://github.com/glehmann/tree-sitter-earthfile";
|
||||
};
|
||||
@@ -647,12 +647,12 @@
|
||||
};
|
||||
enforce = buildGrammar {
|
||||
language = "enforce";
|
||||
version = "0.0.0+rev=cf853e5";
|
||||
version = "0.0.0+rev=8201c3c";
|
||||
src = fetchFromGitHub {
|
||||
owner = "simonvic";
|
||||
repo = "tree-sitter-enforce";
|
||||
rev = "cf853e5f56f1babe5ec573e356f6fbb4784bf5c1";
|
||||
hash = "sha256-jzXRzROW/2ZenZVbnboUkXLsIUX8vObet4DcTmyXYxs=";
|
||||
rev = "8201c3c354c34b96d5a531c8e63d262209ee06cb";
|
||||
hash = "sha256-0js82yv8wShy1bdj3k50nnlOPNpNgKLobd/4aNH//gw=";
|
||||
};
|
||||
meta.homepage = "https://github.com/simonvic/tree-sitter-enforce";
|
||||
};
|
||||
@@ -757,12 +757,12 @@
|
||||
};
|
||||
fortran = buildGrammar {
|
||||
language = "fortran";
|
||||
version = "0.0.0+rev=022b032";
|
||||
version = "0.0.0+rev=765d82a";
|
||||
src = fetchFromGitHub {
|
||||
owner = "stadelmanma";
|
||||
repo = "tree-sitter-fortran";
|
||||
rev = "022b032d31299c5d8336cdfd0ece97de20a609c0";
|
||||
hash = "sha256-STRbEv7kBtkrokXgaN9g1JNwWmSV+7gkyklhYKJszNY=";
|
||||
rev = "765d82ad913e75abfffdd57837217e96f4774fba";
|
||||
hash = "sha256-+vLs5nHWDiusMYbRjOWIvTCTkK6fdWqn61HAjfCq5uE=";
|
||||
};
|
||||
meta.homepage = "https://github.com/stadelmanma/tree-sitter-fortran";
|
||||
};
|
||||
@@ -779,12 +779,12 @@
|
||||
};
|
||||
fsharp = buildGrammar {
|
||||
language = "fsharp";
|
||||
version = "0.0.0+rev=ad824de";
|
||||
version = "0.0.0+rev=9308e58";
|
||||
src = fetchFromGitHub {
|
||||
owner = "ionide";
|
||||
repo = "tree-sitter-fsharp";
|
||||
rev = "ad824dea984734406b50699c5f388a7412e85946";
|
||||
hash = "sha256-pjNBd6egwdrVpMNcLvcv8dPvEhdHZ3ey6xCRKJ70z5M=";
|
||||
rev = "9308e58bec0394232a8d4abdd92eeaa387aefc89";
|
||||
hash = "sha256-Zzzm9flwRuVV4aKVF8bBGtSf532a94R4T+EvFjV+jrA=";
|
||||
};
|
||||
location = "fsharp";
|
||||
meta.homepage = "https://github.com/ionide/tree-sitter-fsharp";
|
||||
@@ -1342,12 +1342,12 @@
|
||||
};
|
||||
inko = buildGrammar {
|
||||
language = "inko";
|
||||
version = "0.0.0+rev=0b08a8f";
|
||||
version = "0.0.0+rev=f58a87a";
|
||||
src = fetchFromGitHub {
|
||||
owner = "inko-lang";
|
||||
repo = "tree-sitter-inko";
|
||||
rev = "0b08a8f976456a9271f70d4682143328d7224115";
|
||||
hash = "sha256-mQkPg7bYadj/RToIo79y8TT9oh4UVEmZZCCYm6kAkwE=";
|
||||
rev = "f58a87ac4dc6a7955c64c9e4408fbd693e804686";
|
||||
hash = "sha256-hZdbF9lw7fR5K8UfUaESS7/c4v9u7vEcSylEEbc6//4=";
|
||||
};
|
||||
meta.homepage = "https://github.com/inko-lang/tree-sitter-inko";
|
||||
};
|
||||
@@ -1518,6 +1518,17 @@
|
||||
};
|
||||
meta.homepage = "https://github.com/IndianBoy42/tree-sitter-just";
|
||||
};
|
||||
kcl = buildGrammar {
|
||||
language = "kcl";
|
||||
version = "0.0.0+rev=b0b2eb3";
|
||||
src = fetchFromGitHub {
|
||||
owner = "kcl-lang";
|
||||
repo = "tree-sitter-kcl";
|
||||
rev = "b0b2eb38009e04035a6e266c7e11e541f3caab7c";
|
||||
hash = "sha256-Aeu1j77GdsNpo9PU+FcqN3ttT0eLaDKY4n8buftMiDc=";
|
||||
};
|
||||
meta.homepage = "https://github.com/kcl-lang/tree-sitter-kcl";
|
||||
};
|
||||
kconfig = buildGrammar {
|
||||
language = "kconfig";
|
||||
version = "0.0.0+rev=9ac99fe";
|
||||
@@ -1631,12 +1642,12 @@
|
||||
};
|
||||
liquid = buildGrammar {
|
||||
language = "liquid";
|
||||
version = "0.0.0+rev=23ac814";
|
||||
version = "0.0.0+rev=6e03a05";
|
||||
src = fetchFromGitHub {
|
||||
owner = "hankthetank27";
|
||||
repo = "tree-sitter-liquid";
|
||||
rev = "23ac814111e2b4b4b083e2c92219af2d5b74d13d";
|
||||
hash = "sha256-WZSvUiX1bKEfzXHVHC0AvzHpgyPD9JL+NgsoBx9mktQ=";
|
||||
rev = "6e03a054a71cd419d9702725243137641e97ba51";
|
||||
hash = "sha256-KDbI8jmSeXm1T3WGoZ60IFWK8xaJwmU2Ofnr/khKz+U=";
|
||||
};
|
||||
meta.homepage = "https://github.com/hankthetank27/tree-sitter-liquid";
|
||||
};
|
||||
@@ -1798,12 +1809,12 @@
|
||||
};
|
||||
mlir = buildGrammar {
|
||||
language = "mlir";
|
||||
version = "0.0.0+rev=9d83ca2";
|
||||
version = "0.0.0+rev=ad38178";
|
||||
src = fetchFromGitHub {
|
||||
owner = "artagnon";
|
||||
repo = "tree-sitter-mlir";
|
||||
rev = "9d83ca263fa7ec8ac7a5fd8ad14891b2dc583a32";
|
||||
hash = "sha256-7sbzFRhNHaUJ+wYrj5vSSaVo60UhNPX2HvL5DW5/Lgc=";
|
||||
rev = "ad381783044e107ce144af3c36342cc34183d5b4";
|
||||
hash = "sha256-meE+FKpw3dFX6PpaKRUErgMTUeGMCFHlVMn9smVlIog=";
|
||||
};
|
||||
generate = true;
|
||||
meta.homepage = "https://github.com/artagnon/tree-sitter-mlir";
|
||||
@@ -1887,12 +1898,12 @@
|
||||
};
|
||||
nix = buildGrammar {
|
||||
language = "nix";
|
||||
version = "0.0.0+rev=b3a88cf";
|
||||
version = "0.0.0+rev=48057cf";
|
||||
src = fetchFromGitHub {
|
||||
owner = "cstrahan";
|
||||
repo = "tree-sitter-nix";
|
||||
rev = "b3a88cf3e597d48c33657deca4fda7a75c0069c1";
|
||||
hash = "sha256-ujiKNd3h/i9bxrtJqKYy6e5mAExXGf38PHtuaZCo85k=";
|
||||
rev = "48057cf966641e7a49b09700550751195c34bcb5";
|
||||
hash = "sha256-VZGTHZdTZSKhjycFALHxYmelez6FR2BMqhIVSOv+kLU=";
|
||||
};
|
||||
meta.homepage = "https://github.com/cstrahan/tree-sitter-nix";
|
||||
};
|
||||
@@ -1920,12 +1931,12 @@
|
||||
};
|
||||
nu = buildGrammar {
|
||||
language = "nu";
|
||||
version = "0.0.0+rev=2a153c8";
|
||||
version = "0.0.0+rev=a073ba8";
|
||||
src = fetchFromGitHub {
|
||||
owner = "nushell";
|
||||
repo = "tree-sitter-nu";
|
||||
rev = "2a153c88d5d44d96653057c7cc14292f4e641bef";
|
||||
hash = "sha256-Mv4XxJSO0bLF/JB6U5WCtu6sXqW6T6tOTKzsbnc/zcs=";
|
||||
rev = "a073ba8cd854318ca5d56e97279fc330f194be8a";
|
||||
hash = "sha256-PuoSH6MV9xWF9wm2xJZN4PBJvvUnvc3mWPU3t6URkEI=";
|
||||
};
|
||||
meta.homepage = "https://github.com/nushell/tree-sitter-nu";
|
||||
};
|
||||
@@ -1998,25 +2009,14 @@
|
||||
};
|
||||
meta.homepage = "https://github.com/amaanq/tree-sitter-odin";
|
||||
};
|
||||
org = buildGrammar {
|
||||
language = "org";
|
||||
version = "0.0.0+rev=64cfbc2";
|
||||
src = fetchFromGitHub {
|
||||
owner = "milisims";
|
||||
repo = "tree-sitter-org";
|
||||
rev = "64cfbc213f5a83da17632c95382a5a0a2f3357c1";
|
||||
hash = "sha256-/03eZBbv23W5s/GbDgPgaJV5TyK+/lrWUVeINRS5wtA=";
|
||||
};
|
||||
meta.homepage = "https://github.com/milisims/tree-sitter-org";
|
||||
};
|
||||
pascal = buildGrammar {
|
||||
language = "pascal";
|
||||
version = "0.0.0+rev=d0ebabe";
|
||||
version = "0.0.0+rev=78426d9";
|
||||
src = fetchFromGitHub {
|
||||
owner = "Isopod";
|
||||
repo = "tree-sitter-pascal";
|
||||
rev = "d0ebabefaea9ac3f6fc3004cf08cd121b66da9e4";
|
||||
hash = "sha256-T47xDjEbcDLg1IOu2HsIGA7j/CFMCagfV4xKdFYYoec=";
|
||||
rev = "78426d96bde7114af979e314283e45d087603428";
|
||||
hash = "sha256-KNVrXS7sYMXqZ5+sMnmp87vHr8NYrY+BTVVIdV2wnm0=";
|
||||
};
|
||||
meta.homepage = "https://github.com/Isopod/tree-sitter-pascal";
|
||||
};
|
||||
@@ -2055,24 +2055,24 @@
|
||||
};
|
||||
php = buildGrammar {
|
||||
language = "php";
|
||||
version = "0.0.0+rev=f3a19ab";
|
||||
version = "0.0.0+rev=f7cf734";
|
||||
src = fetchFromGitHub {
|
||||
owner = "tree-sitter";
|
||||
repo = "tree-sitter-php";
|
||||
rev = "f3a19ab3217a6e838870fc7142fa492d1fd7a7c9";
|
||||
hash = "sha256-toppaKtuu8G2tsALPqlLv0ztdnv8kRwQd+b9X0b3ldk=";
|
||||
rev = "f7cf7348737d8cff1b13407a0bfedce02ee7b046";
|
||||
hash = "sha256-UWYKrC0mpWO86V52Phj/gYCdH586ZNdev/zhvUn4EBc=";
|
||||
};
|
||||
location = "php";
|
||||
meta.homepage = "https://github.com/tree-sitter/tree-sitter-php";
|
||||
};
|
||||
php_only = buildGrammar {
|
||||
language = "php_only";
|
||||
version = "0.0.0+rev=f3a19ab";
|
||||
version = "0.0.0+rev=f7cf734";
|
||||
src = fetchFromGitHub {
|
||||
owner = "tree-sitter";
|
||||
repo = "tree-sitter-php";
|
||||
rev = "f3a19ab3217a6e838870fc7142fa492d1fd7a7c9";
|
||||
hash = "sha256-toppaKtuu8G2tsALPqlLv0ztdnv8kRwQd+b9X0b3ldk=";
|
||||
rev = "f7cf7348737d8cff1b13407a0bfedce02ee7b046";
|
||||
hash = "sha256-UWYKrC0mpWO86V52Phj/gYCdH586ZNdev/zhvUn4EBc=";
|
||||
};
|
||||
location = "php_only";
|
||||
meta.homepage = "https://github.com/tree-sitter/tree-sitter-php";
|
||||
@@ -2401,12 +2401,12 @@
|
||||
};
|
||||
razor = buildGrammar {
|
||||
language = "razor";
|
||||
version = "0.0.0+rev=a47cd8c";
|
||||
version = "0.0.0+rev=fe46ce5";
|
||||
src = fetchFromGitHub {
|
||||
owner = "tris203";
|
||||
repo = "tree-sitter-razor";
|
||||
rev = "a47cd8ca148685629739a4ab69f58864800fbdab";
|
||||
hash = "sha256-U1UmVBbOTNJnmgMB+6EOhCdS99BJ5YH/ry0xd2tzzkY=";
|
||||
rev = "fe46ce5ea7d844e53d59bc96f2175d33691c61c5";
|
||||
hash = "sha256-E4fgy588g6IP258TS2DvoILc1Aikvpfbtq20VIhBE4U=";
|
||||
};
|
||||
meta.homepage = "https://github.com/tris203/tree-sitter-razor";
|
||||
};
|
||||
@@ -2544,12 +2544,12 @@
|
||||
};
|
||||
rst = buildGrammar {
|
||||
language = "rst";
|
||||
version = "0.0.0+rev=899e073";
|
||||
version = "0.0.0+rev=4e562e1";
|
||||
src = fetchFromGitHub {
|
||||
owner = "stsewd";
|
||||
repo = "tree-sitter-rst";
|
||||
rev = "899e073a10012b8028b643d676c30bbf9c64a45d";
|
||||
hash = "sha256-s4Ix3/CNNM7SLN4Z+eEWow0Z+NcUo1lSJDulu63WKSM=";
|
||||
rev = "4e562e1598b95b93db4f3f64fe40ddefbc677a15";
|
||||
hash = "sha256-C65FmrEUyMQN+rF3RTN1oNVJtGiTHMZvdRyy/tMjVqY=";
|
||||
};
|
||||
meta.homepage = "https://github.com/stsewd/tree-sitter-rst";
|
||||
};
|
||||
@@ -2577,12 +2577,12 @@
|
||||
};
|
||||
rust = buildGrammar {
|
||||
language = "rust";
|
||||
version = "0.0.0+rev=2eaf126";
|
||||
version = "0.0.0+rev=6e883a2";
|
||||
src = fetchFromGitHub {
|
||||
owner = "tree-sitter";
|
||||
repo = "tree-sitter-rust";
|
||||
rev = "2eaf126458a4d6a69401089b6ba78c5e5d6c1ced";
|
||||
hash = "sha256-u3mJghmVHYPjow1QWRoT/Ip7DZwli4EzmioZQOzqTjs=";
|
||||
rev = "6e883a2adea9414799300699e78c0d2f032b5c46";
|
||||
hash = "sha256-vvB5xswHwBCjYObyaZ4SHYFPuIPF1bAjZ2Xl5zsQB2Q=";
|
||||
};
|
||||
meta.homepage = "https://github.com/tree-sitter/tree-sitter-rust";
|
||||
};
|
||||
@@ -2823,12 +2823,12 @@
|
||||
};
|
||||
styled = buildGrammar {
|
||||
language = "styled";
|
||||
version = "0.0.0+rev=75d3ad2";
|
||||
version = "0.0.0+rev=319cdca";
|
||||
src = fetchFromGitHub {
|
||||
owner = "mskelton";
|
||||
repo = "tree-sitter-styled";
|
||||
rev = "75d3ad20818c30c49b445ca2cb35999c278b3453";
|
||||
hash = "sha256-2GMOHPO1vDqeXazAlQw35XhrOXrAmZnITibIfe0hscA=";
|
||||
rev = "319cdcaa0346ba6db668a222d938e5c3569e2a51";
|
||||
hash = "sha256-sKRSgN5mSF+uolWD6iKrCR83Ssroytr8ZGduTTyyxGQ=";
|
||||
};
|
||||
meta.homepage = "https://github.com/mskelton/tree-sitter-styled";
|
||||
};
|
||||
@@ -2890,12 +2890,12 @@
|
||||
};
|
||||
swift = buildGrammar {
|
||||
language = "swift";
|
||||
version = "0.0.0+rev=1ebc09c";
|
||||
version = "0.0.0+rev=42ad8f6";
|
||||
src = fetchFromGitHub {
|
||||
owner = "alex-pinkus";
|
||||
repo = "tree-sitter-swift";
|
||||
rev = "1ebc09c38f41d6aab7dd65ca0f8ea032ced0364f";
|
||||
hash = "sha256-DLgeqbRn6QOTJm4vqwncNOdMNzoZv9tW1EFFAfO5AV4=";
|
||||
rev = "42ad8f6b4dc9b46285893cc37b460323b54932d4";
|
||||
hash = "sha256-nxKOyyDXrQAxb/ZmuMKSqesm6SUSbCq+cI+lU0hZwuU=";
|
||||
};
|
||||
generate = true;
|
||||
meta.homepage = "https://github.com/alex-pinkus/tree-sitter-swift";
|
||||
@@ -3036,12 +3036,12 @@
|
||||
};
|
||||
tlaplus = buildGrammar {
|
||||
language = "tlaplus";
|
||||
version = "0.0.0+rev=d711f24";
|
||||
version = "0.0.0+rev=4ba91b0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "tlaplus-community";
|
||||
repo = "tree-sitter-tlaplus";
|
||||
rev = "d711f24c93221cdfc9a9b4dbb0998f528fc982ac";
|
||||
hash = "sha256-CHoqOY990/30GqLkxee/xexQ9uni7VTdW0iZ+inunoc=";
|
||||
rev = "4ba91b07b97741a67f61221d0d50e6d962e4987e";
|
||||
hash = "sha256-Oc+VYBLP1XcfMTWmcYyJRXzq1Ty838TnF2fPGIsjtOE=";
|
||||
};
|
||||
meta.homepage = "https://github.com/tlaplus-community/tree-sitter-tlaplus";
|
||||
};
|
||||
@@ -3227,12 +3227,12 @@
|
||||
};
|
||||
v = buildGrammar {
|
||||
language = "v";
|
||||
version = "0.0.0+rev=92cb593";
|
||||
version = "0.0.0+rev=532bebd";
|
||||
src = fetchFromGitHub {
|
||||
owner = "vlang";
|
||||
repo = "v-analyzer";
|
||||
rev = "92cb593652173dbb1ffb34ce48874d779850aabc";
|
||||
hash = "sha256-W7cGig5Dd0wxDJhLDKG2mdaAsEMYoD8myPvJEipWhvo=";
|
||||
rev = "532bebd50742ef15949bdd67c36d46697c847628";
|
||||
hash = "sha256-lBrX5n4hYdDq+2m7j9JXyeGGS3yl4oBu8jK7VV+OE7I=";
|
||||
};
|
||||
location = "tree_sitter_v";
|
||||
meta.homepage = "https://github.com/vlang/v-analyzer";
|
||||
@@ -3272,12 +3272,12 @@
|
||||
};
|
||||
vhdl = buildGrammar {
|
||||
language = "vhdl";
|
||||
version = "0.0.0+rev=cfc522a";
|
||||
version = "0.0.0+rev=f3a8d69";
|
||||
src = fetchFromGitHub {
|
||||
owner = "jpt13653903";
|
||||
repo = "tree-sitter-vhdl";
|
||||
rev = "cfc522af3e49c1a00ae74e01aa14e19818dab8f2";
|
||||
hash = "sha256-ikx/sSq7/nGLCrf0Pm0LKqrToz7SieeSRWK9xct6nqI=";
|
||||
rev = "f3a8d69a96656bb81d803f7e6ec24fbe1aa2c313";
|
||||
hash = "sha256-8cWDG3nqYwFlFSL1eLAR/B7aAkLlOlAuT20WhgGCRy0=";
|
||||
};
|
||||
meta.homepage = "https://github.com/jpt13653903/tree-sitter-vhdl";
|
||||
};
|
||||
|
||||
@@ -2882,10 +2882,12 @@ in
|
||||
snacks-nvim = super.snacks-nvim.overrideAttrs {
|
||||
nvimSkipModule = [
|
||||
# Requires setup call first
|
||||
# attempt to index global 'Snacks' (a nil value)
|
||||
"snacks.dashboard"
|
||||
"snacks.debug"
|
||||
"snacks.dim"
|
||||
"snacks.git"
|
||||
"snacks.image.convert"
|
||||
"snacks.image.image"
|
||||
"snacks.image.init"
|
||||
"snacks.image.placement"
|
||||
|
||||
@@ -324,7 +324,7 @@ https://github.com/earthly/earthly.vim/,HEAD,
|
||||
https://github.com/GustavEikaas/easy-dotnet.nvim/,HEAD,
|
||||
https://github.com/Shougo/echodoc.vim/,,
|
||||
https://github.com/sainnhe/edge/,,
|
||||
https://github.com/edgedb/edgedb-vim/,,
|
||||
https://github.com/geldata/edgedb-vim/,,
|
||||
https://github.com/folke/edgy.nvim/,HEAD,
|
||||
https://github.com/editorconfig/editorconfig-vim/,,
|
||||
https://github.com/gpanders/editorconfig.nvim/,,
|
||||
@@ -835,7 +835,6 @@ https://github.com/joosepalviste/nvim-ts-context-commentstring/,,
|
||||
https://github.com/kevinhwang91/nvim-ufo/,HEAD,
|
||||
https://github.com/samjwill/nvim-unception/,HEAD,
|
||||
https://github.com/chrisgrieser/nvim-various-textobjs/,HEAD,
|
||||
https://github.com/nvim-tree/nvim-web-devicons/,,
|
||||
https://github.com/AckslD/nvim-whichkey-setup.lua/,,
|
||||
https://github.com/s1n7ax/nvim-window-picker/,HEAD,
|
||||
https://github.com/roxma/nvim-yarp/,,
|
||||
|
||||
@@ -10,17 +10,22 @@
|
||||
enableLegacySg ? false,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "ast-grep";
|
||||
version = "0.35.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ast-grep";
|
||||
repo = "ast-grep";
|
||||
tag = version;
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-uiQYqVcSSQT32Vu8iE5ATIHFGDiyuxaQvg8hkBtB4DU=";
|
||||
};
|
||||
|
||||
# error: linker `aarch64-linux-gnu-gcc` not found
|
||||
postPatch = ''
|
||||
rm .cargo/config.toml
|
||||
'';
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-B/egtLMBrlLobB1m04L1NlNmZ6+DdQIV9Ae0LVPmO2Y=";
|
||||
|
||||
@@ -60,7 +65,7 @@ rustPlatform.buildRustPackage rec {
|
||||
mainProgram = "ast-grep";
|
||||
description = "Fast and polyglot tool for code searching, linting, rewriting at large scale";
|
||||
homepage = "https://ast-grep.github.io/";
|
||||
changelog = "https://github.com/ast-grep/ast-grep/blob/${src.rev}/CHANGELOG.md";
|
||||
changelog = "https://github.com/ast-grep/ast-grep/blob/${finalAttrs.version}/CHANGELOG.md";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [
|
||||
xiaoxiangmoe
|
||||
@@ -69,4 +74,4 @@ rustPlatform.buildRustPackage rec {
|
||||
cafkafk
|
||||
];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
152
pkgs/by-name/ch/cherry-studio/package.nix
Normal file
152
pkgs/by-name/ch/cherry-studio/package.nix
Normal file
@@ -0,0 +1,152 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
stdenvNoCC,
|
||||
fetchFromGitHub,
|
||||
cacert,
|
||||
yarn-berry,
|
||||
nodejs,
|
||||
electron,
|
||||
makeWrapper,
|
||||
writableTmpDirAsHomeHook,
|
||||
makeDesktopItem,
|
||||
copyDesktopItems,
|
||||
nix-update-script,
|
||||
commandLineArgs ? "",
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "cherry-studio";
|
||||
version = "1.0.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "CherryHQ";
|
||||
repo = "cherry-studio";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-C8D0XCwIFWG+5WakAK+TmI4VVuIYJBSgkv5ynM2Ewkc=";
|
||||
};
|
||||
|
||||
yarnOfflineCache = stdenvNoCC.mkDerivation {
|
||||
name = "${finalAttrs.pname}-${finalAttrs.version}-offline-cache";
|
||||
inherit (finalAttrs) src;
|
||||
|
||||
nativeBuildInputs = [
|
||||
cacert
|
||||
yarn-berry
|
||||
writableTmpDirAsHomeHook
|
||||
];
|
||||
|
||||
postConfigure =
|
||||
let
|
||||
supportedArchitectures = builtins.toJSON {
|
||||
os = [
|
||||
"darwin"
|
||||
"linux"
|
||||
];
|
||||
cpu = [
|
||||
"x64"
|
||||
"ia32"
|
||||
"arm64"
|
||||
];
|
||||
libc = [
|
||||
"glibc"
|
||||
"musl"
|
||||
];
|
||||
};
|
||||
in
|
||||
''
|
||||
yarn config set enableTelemetry false
|
||||
yarn config set enableGlobalCache false
|
||||
yarn config set supportedArchitectures --json '${supportedArchitectures}'
|
||||
yarn config set cacheFolder $out
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
yarn install --mode=skip-build
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
outputHashMode = "recursive";
|
||||
outputHash = "sha256-DrEkaXkbaY40uYH7niT10OFJH+PD7ip3A4OCwbKmtz8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
yarn-berry
|
||||
makeWrapper
|
||||
writableTmpDirAsHomeHook
|
||||
copyDesktopItems
|
||||
];
|
||||
|
||||
env = {
|
||||
ELECTRON_SKIP_BINARY_DOWNLOAD = "1";
|
||||
npm_config_build_from_source = "true";
|
||||
npm_config_nodedir = nodejs;
|
||||
};
|
||||
|
||||
postConfigure = ''
|
||||
yarn config set enableTelemetry false
|
||||
yarn config set enableGlobalCache false
|
||||
export cachePath=$(mktemp -d)
|
||||
cp -r $yarnOfflineCache/* $cachePath
|
||||
yarn config set cacheFolder $cachePath
|
||||
yarn install --mode=skip-build
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
yarn run electron-vite build
|
||||
yarn run electron-builder --linux --dir \
|
||||
--config electron-builder.yml \
|
||||
-c.electronDist="${electron}/libexec/electron" \
|
||||
-c.electronVersion=${electron.version}
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
name = "cherry-studio";
|
||||
desktopName = "Cherry Studio";
|
||||
comment = "A powerful AI assistant for producer.";
|
||||
exec = "cherry-studio --no-sandbox %U";
|
||||
terminal = false;
|
||||
icon = "cherry-studio";
|
||||
startupWMClass = "Cherry Studio";
|
||||
categories = [ "Utility" ];
|
||||
})
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/lib/cherry-studio
|
||||
cp -r dist/linux-unpacked/{resources,LICENSE*} $out/lib/cherry-studio
|
||||
install -Dm644 build/icon.png $out/share/pixmaps/cherry-studio.png
|
||||
makeWrapper "${lib.getExe electron}" $out/bin/cherry-studio \
|
||||
--inherit-argv0 \
|
||||
--add-flags $out/lib/cherry-studio/resources/app.asar \
|
||||
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" \
|
||||
--add-flags ${lib.escapeShellArg commandLineArgs}
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "Desktop client that supports for multiple LLM providers";
|
||||
homepage = "https://github.com/CherryHQ/cherry-studio";
|
||||
changelog = "https://github.com/CherryHQ/cherry-studio/releases/tag/v${finalAttrs.version}";
|
||||
mainProgram = "cherry-studio";
|
||||
platforms = lib.platforms.linux;
|
||||
maintainers = with lib.maintainers; [ nayeko ];
|
||||
license = with lib.licenses; [
|
||||
asl20
|
||||
unfree
|
||||
];
|
||||
};
|
||||
})
|
||||
16
pkgs/by-name/ne/nemo-seahorse/fix-schemas.patch
Normal file
16
pkgs/by-name/ne/nemo-seahorse/fix-schemas.patch
Normal file
@@ -0,0 +1,16 @@
|
||||
--- a/data/meson.build
|
||||
+++ b/data/meson.build
|
||||
@@ -1,10 +1,13 @@
|
||||
dataconf = configuration_data()
|
||||
dataconf.set('VERSION', meson.project_version())
|
||||
|
||||
+schemadir = get_option('prefix') / get_option('datadir') / 'glib-2.0' / 'schemas'
|
||||
+
|
||||
install_data(
|
||||
'org.nemo.plugins.seahorse.gschema.xml',
|
||||
'org.nemo.plugins.seahorse.window.gschema.xml',
|
||||
install_dir: get_option('datadir') / 'glib-2.0' / 'schemas',
|
||||
)
|
||||
|
||||
+meson.add_install_script('glib-compile-schemas', schemadir)
|
||||
install_man('nemo-seahorse-tool.1')
|
||||
90
pkgs/by-name/ne/nemo-seahorse/package.nix
Normal file
90
pkgs/by-name/ne/nemo-seahorse/package.nix
Normal file
@@ -0,0 +1,90 @@
|
||||
{
|
||||
stdenv,
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
meson,
|
||||
pkg-config,
|
||||
ninja,
|
||||
glib,
|
||||
gtk3,
|
||||
nemo,
|
||||
cmake,
|
||||
dbus-glib,
|
||||
libcryptui,
|
||||
gcr,
|
||||
libnotify,
|
||||
gnupg,
|
||||
gpgme,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "nemo-seahorse";
|
||||
version = "6.4.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxmint";
|
||||
repo = "nemo-extensions";
|
||||
tag = version;
|
||||
hash = "sha256-39hWA4SNuEeaPA6D5mWMHjJDs4hYK7/ZdPkTyskvm5Y=";
|
||||
};
|
||||
|
||||
sourceRoot = "${src.name}/nemo-seahorse";
|
||||
|
||||
patches = [ ./fix-schemas.patch ];
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
pkg-config
|
||||
ninja
|
||||
cmake
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
glib
|
||||
gtk3
|
||||
nemo
|
||||
gpgme
|
||||
dbus-glib
|
||||
libcryptui
|
||||
gcr
|
||||
libnotify
|
||||
gnupg
|
||||
];
|
||||
|
||||
PKG_CONFIG_LIBNEMO_EXTENSION_EXTENSIONDIR = "${placeholder "out"}/${nemo.extensiondir}";
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/linuxmint/nemo-extensions/tree/master/nemo-seahorse";
|
||||
changelog = "https://github.com/linuxmint/nemo-extensions/blob/master/nemo-seahorse/ChangeLog";
|
||||
description = "Nemo seahorse extension";
|
||||
longDescription = ''
|
||||
You can add the extension to nemo using the following configuration:
|
||||
```nix
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
(nemo-with-extensions.override {
|
||||
extensions = [ nemo-seahorse ];
|
||||
})
|
||||
];
|
||||
|
||||
services.dbus.packages = with pkgs; [
|
||||
libcryptui
|
||||
];
|
||||
|
||||
services.xserver.desktopManager.gnome.extraGSettingsOverridePackages = with pkgs; [
|
||||
nemo
|
||||
gcr
|
||||
libcryptui
|
||||
nemo-seahorse
|
||||
];
|
||||
}
|
||||
```
|
||||
'';
|
||||
license = lib.licenses.gpl2Plus;
|
||||
platforms = lib.platforms.linux;
|
||||
maintainers = lib.teams.cinnamon.members;
|
||||
};
|
||||
}
|
||||
@@ -5,16 +5,16 @@
|
||||
}:
|
||||
buildNpmPackage rec {
|
||||
pname = "stylelint";
|
||||
version = "16.14.1";
|
||||
version = "16.15.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "stylelint";
|
||||
repo = "stylelint";
|
||||
tag = version;
|
||||
hash = "sha256-VBr/16r/hpHRTMwndsklCo/9V8lb0NI/MSgOyEM7TYI=";
|
||||
hash = "sha256-9PaRsBvs8TDpL2I5nPr+vWGzx4TJEWvKIoMuTq9qI5k=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-2D4uaZk3OAruFRucjSroMnGBWWnOxm+r7WndmPPbNv0=";
|
||||
npmDepsHash = "sha256-gVaXq83XeYnEA6s37Y0Bwo5Y14bPr/Q7mYMNQFFcw38=";
|
||||
|
||||
dontNpmBuild = true;
|
||||
|
||||
|
||||
33
pkgs/by-name/up/upscayl/darwin.nix
Normal file
33
pkgs/by-name/up/upscayl/darwin.nix
Normal file
@@ -0,0 +1,33 @@
|
||||
{
|
||||
stdenvNoCC,
|
||||
unzip,
|
||||
makeWrapper,
|
||||
|
||||
pname,
|
||||
version,
|
||||
meta,
|
||||
src,
|
||||
}:
|
||||
stdenvNoCC.mkDerivation {
|
||||
inherit
|
||||
pname
|
||||
version
|
||||
meta
|
||||
src
|
||||
;
|
||||
|
||||
sourceRoot = ".";
|
||||
|
||||
nativeBuildInputs = [
|
||||
unzip
|
||||
makeWrapper
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $out/{bin,Applications}
|
||||
cp -r Upscayl.app $out/Applications/
|
||||
makeWrapper $out/Applications/Upscayl.app/Contents/MacOS/Upscayl $out/bin/upscayl
|
||||
runHook postInstall
|
||||
'';
|
||||
}
|
||||
46
pkgs/by-name/up/upscayl/linux.nix
Normal file
46
pkgs/by-name/up/upscayl/linux.nix
Normal file
@@ -0,0 +1,46 @@
|
||||
{
|
||||
appimageTools,
|
||||
makeWrapper,
|
||||
|
||||
pname,
|
||||
version,
|
||||
meta,
|
||||
src,
|
||||
}:
|
||||
|
||||
let
|
||||
appimageContents = appimageTools.extractType2 {
|
||||
inherit pname version src;
|
||||
};
|
||||
in
|
||||
appimageTools.wrapType2 {
|
||||
inherit
|
||||
pname
|
||||
version
|
||||
src
|
||||
meta
|
||||
;
|
||||
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
];
|
||||
|
||||
extraPkgs = pkgs: [
|
||||
pkgs.vulkan-headers
|
||||
pkgs.vulkan-loader
|
||||
];
|
||||
|
||||
extraInstallCommands = ''
|
||||
mkdir -p $out/share/{applications,pixmaps}
|
||||
|
||||
cp ${appimageContents}/upscayl.desktop $out/share/applications/upscayl.desktop
|
||||
cp ${appimageContents}/upscayl.png $out/share/pixmaps/upscayl.png
|
||||
|
||||
substituteInPlace $out/share/applications/upscayl.desktop \
|
||||
--replace-fail 'Exec=AppRun --no-sandbox %U' 'Exec=upscayl'
|
||||
|
||||
wrapProgram $out/bin/upscayl \
|
||||
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}"
|
||||
'';
|
||||
|
||||
}
|
||||
@@ -1,54 +1,51 @@
|
||||
{
|
||||
appimageTools,
|
||||
fetchurl,
|
||||
stdenv,
|
||||
lib,
|
||||
makeWrapper,
|
||||
fetchurl,
|
||||
callPackage,
|
||||
}:
|
||||
|
||||
let
|
||||
pname = "upscayl";
|
||||
version = "2.15.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/upscayl/upscayl/releases/download/v${version}/upscayl-${version}-linux.AppImage";
|
||||
hash = "sha256-ZFlFfliby5nneepELc5gi6zaM5FrcBmohit8YlKqgik=";
|
||||
srcs = rec {
|
||||
x86_64-linux = fetchurl {
|
||||
url = "https://github.com/upscayl/upscayl/releases/download/v${version}/upscayl-${version}-linux.AppImage";
|
||||
hash = "sha256-ZFlFfliby5nneepELc5gi6zaM5FrcBmohit8YlKqgik=";
|
||||
};
|
||||
aarch64-darwin = fetchurl {
|
||||
url = "https://github.com/upscayl/upscayl/releases/download/v${version}/upscayl-${version}-mac.zip";
|
||||
hash = "sha256-gXqeRaNW0g7ZVkCSbxps9SqPMuVSzLTCGL5F3Om/iwo=";
|
||||
};
|
||||
x86_64-darwin = aarch64-darwin;
|
||||
};
|
||||
|
||||
appimageContents = appimageTools.extractType2 {
|
||||
inherit pname version src;
|
||||
};
|
||||
in
|
||||
appimageTools.wrapType2 {
|
||||
inherit pname version src;
|
||||
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
];
|
||||
|
||||
extraPkgs = pkgs: [
|
||||
pkgs.vulkan-headers
|
||||
pkgs.vulkan-loader
|
||||
];
|
||||
|
||||
extraInstallCommands = ''
|
||||
mkdir -p $out/share/{applications,pixmaps}
|
||||
|
||||
cp ${appimageContents}/${pname}.desktop $out/share/applications/${pname}.desktop
|
||||
cp ${appimageContents}/${pname}.png $out/share/pixmaps/${pname}.png
|
||||
|
||||
substituteInPlace $out/share/applications/${pname}.desktop \
|
||||
--replace-fail 'Exec=AppRun --no-sandbox %U' 'Exec=${pname}'
|
||||
|
||||
wrapProgram $out/bin/${pname} \
|
||||
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
description = "Free and Open Source AI Image Upscaler";
|
||||
homepage = "https://upscayl.github.io/";
|
||||
maintainers = with maintainers; [ icy-thought ];
|
||||
license = licenses.agpl3Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with lib.maintainers; [
|
||||
icy-thought
|
||||
matteopacini
|
||||
];
|
||||
license = lib.licenses.agpl3Plus;
|
||||
platforms = [ "x86_64-linux" ] ++ lib.platforms.darwin;
|
||||
mainProgram = "upscayl";
|
||||
};
|
||||
}
|
||||
in
|
||||
if stdenv.hostPlatform.isDarwin then
|
||||
callPackage ./darwin.nix {
|
||||
inherit
|
||||
pname
|
||||
version
|
||||
meta
|
||||
;
|
||||
src = srcs.${stdenv.hostPlatform.system};
|
||||
}
|
||||
else
|
||||
callPackage ./linux.nix {
|
||||
inherit
|
||||
pname
|
||||
version
|
||||
meta
|
||||
;
|
||||
src = srcs.${stdenv.hostPlatform.system};
|
||||
}
|
||||
|
||||
1438
pkgs/by-name/ve/velocity/deps.json
generated
Normal file
1438
pkgs/by-name/ve/velocity/deps.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
9
pkgs/by-name/ve/velocity/disable-javadocs.patch
Normal file
9
pkgs/by-name/ve/velocity/disable-javadocs.patch
Normal file
@@ -0,0 +1,9 @@
|
||||
--- a/build.gradle.kts
|
||||
+++ b/build.gradle.kts
|
||||
@@ -28,4 +28,6 @@ subprojects {
|
||||
}
|
||||
}
|
||||
}
|
||||
+
|
||||
+ tasks.withType<Javadoc>().configureEach { enabled = false }
|
||||
}
|
||||
32
pkgs/by-name/ve/velocity/fix-version.patch
Normal file
32
pkgs/by-name/ve/velocity/fix-version.patch
Normal file
@@ -0,0 +1,32 @@
|
||||
--- a/build-logic/src/main/kotlin/velocity-init-manifest.gradle.kts
|
||||
+++ b/build-logic/src/main/kotlin/velocity-init-manifest.gradle.kts
|
||||
@@ -2,28 +2,9 @@ import org.gradle.jvm.tasks.Jar
|
||||
import org.gradle.kotlin.dsl.withType
|
||||
import java.io.ByteArrayOutputStream
|
||||
|
||||
-val currentShortRevision = ByteArrayOutputStream().use {
|
||||
- exec {
|
||||
- executable = "git"
|
||||
- args = listOf("rev-parse", "HEAD")
|
||||
- standardOutput = it
|
||||
- }
|
||||
- it.toString().trim().substring(0, 8)
|
||||
-}
|
||||
-
|
||||
tasks.withType<Jar> {
|
||||
manifest {
|
||||
- val buildNumber = System.getenv("BUILD_NUMBER")
|
||||
- val velocityHumanVersion: String =
|
||||
- if (project.version.toString().endsWith("-SNAPSHOT")) {
|
||||
- if (buildNumber == null) {
|
||||
- "${project.version} (git-$currentShortRevision)"
|
||||
- } else {
|
||||
- "${project.version} (git-$currentShortRevision-b$buildNumber)"
|
||||
- }
|
||||
- } else {
|
||||
- archiveVersion.get()
|
||||
- }
|
||||
+ val velocityHumanVersion = System.getenv("BUILD_VERSION")
|
||||
attributes["Implementation-Version"] = velocityHumanVersion
|
||||
}
|
||||
}
|
||||
144
pkgs/by-name/ve/velocity/package.nix
Normal file
144
pkgs/by-name/ve/velocity/package.nix
Normal file
@@ -0,0 +1,144 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
gradle,
|
||||
jdk17,
|
||||
makeBinaryWrapper,
|
||||
openssl,
|
||||
libdeflate,
|
||||
jre_headless,
|
||||
writeScript,
|
||||
nixosTests,
|
||||
|
||||
# native (openssl + libdeflate) compression and crypto implementations
|
||||
withVelocityNative ? builtins.elem stdenv.hostPlatform.system [
|
||||
"x86_64-linux"
|
||||
"aarch64-linux"
|
||||
],
|
||||
}:
|
||||
let
|
||||
gradle_jdk17 = gradle.override {
|
||||
javaToolchains = [ jdk17 ];
|
||||
};
|
||||
velocityNativePlatform =
|
||||
{
|
||||
x86_64-linux = "linux_x86_64";
|
||||
aarch64-linux = "linux_aarch64";
|
||||
}
|
||||
.${stdenv.hostPlatform.system} or (
|
||||
if withVelocityNative then
|
||||
throw "velocity native is not supported on ${stdenv.hostPlatform.system}"
|
||||
else
|
||||
null
|
||||
);
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "velocity";
|
||||
version = "3.4.0-unstable-2025-02-28";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "PaperMC";
|
||||
repo = "Velocity";
|
||||
rev = "b8fe3577c9582972a92134642e35eb7fac671376";
|
||||
hash = "sha256-V+h2+M567niYmDWxT6hInbsVivL3pLp2pZO8D91kXkg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs =
|
||||
[
|
||||
gradle_jdk17
|
||||
makeBinaryWrapper
|
||||
]
|
||||
++ lib.optionals withVelocityNative [
|
||||
# libraries for velocity-native
|
||||
openssl
|
||||
libdeflate
|
||||
|
||||
# needed for building velocity-native jni
|
||||
jdk17
|
||||
];
|
||||
|
||||
mitmCache = gradle_jdk17.fetchDeps {
|
||||
inherit (finalAttrs) pname;
|
||||
data = ./deps.json;
|
||||
};
|
||||
|
||||
patches = [
|
||||
./fix-version.patch # remove build-time dependency on git and use version string from a env var instead
|
||||
./disable-javadocs.patch # disable building java docs because they cause build failures
|
||||
];
|
||||
|
||||
# tests require velocity native
|
||||
doCheck = withVelocityNative;
|
||||
|
||||
postPatch = ''
|
||||
rm -rf native/src/main/resources/{linux_x86_64,linux_aarch64,macos_aarch64}/*
|
||||
'';
|
||||
|
||||
# based on native/build-support/compile-linux-{compress,crypt}.sh
|
||||
preBuild =
|
||||
let
|
||||
CFLAGS = "-O2 -fPIC -shared -Wl,-z,noexecstack -Wall -Werror -fomit-frame-pointer";
|
||||
in
|
||||
lib.optionalString withVelocityNative ''
|
||||
$CC ${CFLAGS} native/src/main/c/jni_util.c native/src/main/c/jni_cipher_openssl.c \
|
||||
-o native/src/main/resources/${velocityNativePlatform}/velocity-cipher-ossl30x.so \
|
||||
-lcrypto
|
||||
|
||||
$CC ${CFLAGS} native/src/main/c/jni_util.c native/src/main/c/jni_zlib_deflate.c native/src/main/c/jni_zlib_inflate.c \
|
||||
-o native/src/main/resources/${velocityNativePlatform}/velocity-compress.so \
|
||||
-ldeflate
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/bin $out/share/velocity
|
||||
cp proxy/build/libs/velocity-proxy-${builtins.head (builtins.split "-" finalAttrs.version)}-SNAPSHOT-all.jar $out/share/velocity/velocity.jar
|
||||
|
||||
makeWrapper ${lib.getExe jre_headless} "$out/bin/velocity" \
|
||||
--append-flags "-jar $out/share/velocity/velocity.jar"
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
env.BUILD_VERSION = "nixpkgs-${finalAttrs.version}";
|
||||
|
||||
passthru = {
|
||||
updateScript = writeScript "update-velocity" ''
|
||||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash -p common-updater-scripts
|
||||
|
||||
tmpdir="$(mktemp -d)"
|
||||
git clone --depth=1 "${finalAttrs.src.gitRepoUrl}" "$tmpdir"
|
||||
|
||||
pushd "$tmpdir"
|
||||
|
||||
main_version=$(awk 'match($0,/version=([0-9.]+)/,r) { print r[1] }' gradle.properties)
|
||||
commit_date=$(git show -s --pretty='format:%cs')
|
||||
commit_hash=$(git show -s --pretty='format:%H')
|
||||
|
||||
popd
|
||||
rm -rf "$tmpdir"
|
||||
|
||||
update-source-version "$UPDATE_NIX_ATTR_PATH" "$main_version-unstable-$commit_date" --rev="$commit_hash"
|
||||
'';
|
||||
tests.velocity = nixosTests.velocity;
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Modern, next-generation Minecraft server proxy";
|
||||
homepage = "https://papermc.io/software/velocity";
|
||||
license = with lib.licenses; [
|
||||
gpl3Only
|
||||
mit
|
||||
];
|
||||
sourceProvenance = with lib.sourceTypes; [
|
||||
fromSource
|
||||
binaryBytecode # java deps
|
||||
];
|
||||
maintainers = with lib.maintainers; [ Tert0 ];
|
||||
platforms = lib.platforms.linux;
|
||||
mainProgram = "velocity";
|
||||
};
|
||||
})
|
||||
39
pkgs/by-name/vo/volanta/package.nix
Normal file
39
pkgs/by-name/vo/volanta/package.nix
Normal file
@@ -0,0 +1,39 @@
|
||||
{
|
||||
appimageTools,
|
||||
fetchurl,
|
||||
lib,
|
||||
makeWrapper,
|
||||
}:
|
||||
let
|
||||
pname = "volanta";
|
||||
version = "1.10.10";
|
||||
src = fetchurl {
|
||||
url = "https://cdn.volanta.app/software/volanta-app/${version}-a7ebf1c7/volanta-${version}.AppImage";
|
||||
hash = "sha256-pdMPC3flJzguRYmS+xKiAXWQ4BKsD3N48S27djXDtuo=";
|
||||
};
|
||||
appImageContents = appimageTools.extract { inherit pname version src; };
|
||||
in
|
||||
appimageTools.wrapType2 rec {
|
||||
inherit pname version src;
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
# Note: Volanta needs the env variable APPIMAGE=true to be set in order to work at all.
|
||||
extraInstallCommands = ''
|
||||
install -m 444 -D ${appImageContents}/volanta.desktop $out/share/applications/volanta.desktop
|
||||
install -m 444 -D ${appImageContents}/volanta.png \
|
||||
$out/share/icons/hicolor/1024x1024/apps/volanta.png
|
||||
substituteInPlace $out/share/applications/volanta.desktop \
|
||||
--replace-fail 'Exec=AppRun' 'Exec=env APPIMAGE=true volanta'
|
||||
wrapProgram $out/bin/volanta \
|
||||
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"
|
||||
'';
|
||||
meta = {
|
||||
description = "Easy-to-use smart flight tracker that integrates all your flight data across all major flightsims";
|
||||
homepage = "https://volanta.app/";
|
||||
maintainers = with lib.maintainers; [ SirBerg ];
|
||||
mainProgram = "volanta";
|
||||
platforms = [ "x86_64-linux" ];
|
||||
license = lib.licenses.unfree;
|
||||
};
|
||||
}
|
||||
@@ -1,20 +1,20 @@
|
||||
{
|
||||
"aarch64-darwin": {
|
||||
"version": "1.3.9",
|
||||
"version": "1.3.10",
|
||||
"vscodeVersion": "1.94.0",
|
||||
"url": "https://windsurf-stable.codeiumdata.com/darwin-arm64/stable/43976ecab7354ba352849517e15779fe8a4eff88/Windsurf-darwin-arm64-1.3.9.zip",
|
||||
"sha256": "1f6c3b1f1fd1a634ad90b523a892989fe18b1b95aa7cea074070bff4b792c2e5"
|
||||
"url": "https://windsurf-stable.codeiumdata.com/darwin-arm64/stable/61d65579650f356494469f86c21fb953834289a0/Windsurf-darwin-arm64-1.3.10.zip",
|
||||
"sha256": "d4308fef263dddb8ae931b5ed6a5c86da9650e63d9043153833082e3180823c5"
|
||||
},
|
||||
"x86_64-darwin": {
|
||||
"version": "1.3.9",
|
||||
"version": "1.3.10",
|
||||
"vscodeVersion": "1.94.0",
|
||||
"url": "https://windsurf-stable.codeiumdata.com/darwin-x64/stable/43976ecab7354ba352849517e15779fe8a4eff88/Windsurf-darwin-x64-1.3.9.zip",
|
||||
"sha256": "3388e05e2cf3835fe2a1c9442cb2cf7fa5c6abdbc4e36af9af56fa8a64132364"
|
||||
"url": "https://windsurf-stable.codeiumdata.com/darwin-x64/stable/61d65579650f356494469f86c21fb953834289a0/Windsurf-darwin-x64-1.3.10.zip",
|
||||
"sha256": "dee42a845ecd7b97c77daba109d5dd2392a28686fb75c63ea50f519b2a8b4da0"
|
||||
},
|
||||
"x86_64-linux": {
|
||||
"version": "1.3.9",
|
||||
"version": "1.3.10",
|
||||
"vscodeVersion": "1.94.0",
|
||||
"url": "https://windsurf-stable.codeiumdata.com/linux-x64/stable/43976ecab7354ba352849517e15779fe8a4eff88/Windsurf-linux-x64-1.3.9.tar.gz",
|
||||
"sha256": "0228099a39128cb21b1cd87516d74ac1bfaa1dd801f47feb3a67b1dbef7365c7"
|
||||
"url": "https://windsurf-stable.codeiumdata.com/linux-x64/stable/61d65579650f356494469f86c21fb953834289a0/Windsurf-linux-x64-1.3.10.tar.gz",
|
||||
"sha256": "9a98223f0629b0e0219d82902b8c38d18dd08dd8b6700d2739419a385344d17f"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,7 +13,6 @@
|
||||
, gtk3
|
||||
, json-glib
|
||||
, switchboard-with-plugs
|
||||
, libsoup_2_4
|
||||
, wingpanel
|
||||
, zeitgeist
|
||||
, bc
|
||||
@@ -22,13 +21,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "wingpanel-applications-menu";
|
||||
version = "8.0.0";
|
||||
version = "8.0.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "elementary";
|
||||
repo = "applications-menu";
|
||||
rev = version;
|
||||
sha256 = "sha256-HA82CcVC2+hJFksOuZ8pFmw7phpkCEjPCgE/5naaPcg=";
|
||||
sha256 = "sha256-bwQI41Znm75GFoXxSbWkY9daAJTMvUo+UHyyPmvzOUA=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@@ -51,7 +50,6 @@ stdenv.mkDerivation rec {
|
||||
json-glib
|
||||
libgee
|
||||
libhandy
|
||||
libsoup_2_4
|
||||
switchboard-with-plugs
|
||||
wingpanel
|
||||
zeitgeist
|
||||
|
||||
@@ -14,7 +14,6 @@
|
||||
os-service-types,
|
||||
pbr,
|
||||
psutil,
|
||||
pythonOlder,
|
||||
pyyaml,
|
||||
requestsexceptions,
|
||||
setuptools,
|
||||
@@ -23,11 +22,9 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "openstacksdk";
|
||||
version = "4.3.0";
|
||||
version = "4.4.0";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
"man"
|
||||
@@ -35,7 +32,7 @@ buildPythonPackage rec {
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-6NIRsSqBqedjca5O3cqXVh6h/bUEefB3QAz0Ry0q2Jw=";
|
||||
hash = "sha256-FXQ3Vj1k8/b+7BeW+9hVLVYnczJGF3jE2+dtGCj9MeA=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -22,7 +22,6 @@
|
||||
python-watcherclient,
|
||||
python-zaqarclient,
|
||||
python-zunclient,
|
||||
pythonOlder,
|
||||
requests-mock,
|
||||
requests,
|
||||
setuptools,
|
||||
@@ -34,14 +33,13 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "python-openstackclient";
|
||||
version = "7.2.1";
|
||||
version = "7.4.0";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.9";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-65q+VrUnJiRbmb37U5ps1RlsBSA5gJcDxlxpBJ5Eyjk=";
|
||||
pname = "python_openstackclient";
|
||||
inherit version;
|
||||
hash = "sha256-6BfhGgHLK1FvvZnc5FwJnI5BxD0RuxHmZycDqDhEnZ8=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
|
||||
@@ -157,25 +157,21 @@ let
|
||||
chmod u-x $out/libexec/electron/*.so*
|
||||
'';
|
||||
|
||||
# We use null here to not cause unnecessary rebuilds.
|
||||
dontWrapGApps = if needsAarch64PageSizeFix then true else null;
|
||||
preFixup =
|
||||
if needsAarch64PageSizeFix then
|
||||
''
|
||||
wrapProgram "$out/libexec/electron/chrome_crashpad_handler" "''${gappsWrapperArgs[@]}"
|
||||
wrapProgram "$out/libexec/electron/chrome-sandbox" "''${gappsWrapperArgs[@]}"
|
||||
wrapProgram "$out/libexec/electron/electron" "''${gappsWrapperArgs[@]}" \
|
||||
--add-flags "--js-flags=--no-decommit-pooled-pages"
|
||||
''
|
||||
else
|
||||
null;
|
||||
# We don't want to wrap the contents of $out/libexec automatically
|
||||
dontWrapGApps = true;
|
||||
|
||||
preFixup = ''
|
||||
makeWrapper "$out/libexec/electron/electron" $out/bin/electron \
|
||||
"''${gappsWrapperArgs[@]}" \
|
||||
${lib.optionalString needsAarch64PageSizeFix "--add-flags '--js-flags=--no-decommit-pooled-pages'"}
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
patchelf \
|
||||
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
|
||||
--set-rpath "${electronLibPath}:$out/libexec/electron" \
|
||||
$out/libexec/electron/.electron-wrapped \
|
||||
$out/libexec/electron/.chrome_crashpad_handler-wrapped
|
||||
$out/libexec/electron/electron \
|
||||
$out/libexec/electron/chrome_crashpad_handler
|
||||
|
||||
# patch libANGLE
|
||||
patchelf \
|
||||
|
||||
Reference in New Issue
Block a user