Merge branch 'staging-next' into staging
This commit is contained in:
commit
499ddf9e45
5
.github/labeler.yml
vendored
5
.github/labeler.yml
vendored
@ -369,3 +369,8 @@
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- nixos/modules/**/*
|
||||
"8.has: maintainer-list (update)":
|
||||
- any:
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- maintainers/maintainer-list.nix
|
||||
|
2
.github/workflows/backport.yml
vendored
2
.github/workflows/backport.yml
vendored
@ -20,7 +20,7 @@ jobs:
|
||||
if: github.repository_owner == 'NixOS' && github.event.pull_request.merged == true && (github.event_name != 'labeled' || startsWith('backport', github.event.label.name))
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
|
||||
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
|
||||
with:
|
||||
ref: ${{ github.event.pull_request.head.sha }}
|
||||
- name: Create backport PRs
|
||||
|
2
.github/workflows/basic-eval.yml
vendored
2
.github/workflows/basic-eval.yml
vendored
@ -18,7 +18,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
# we don't limit this action to only NixOS repo since the checks are cheap and useful developer feedback
|
||||
steps:
|
||||
- uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
|
||||
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
|
||||
- uses: cachix/install-nix-action@8887e596b4ee1134dae06b98d573bd674693f47c # v26
|
||||
- uses: cachix/cachix-action@18cf96c7c98e048e10a83abd92116114cd8504be # v14
|
||||
with:
|
||||
|
2
.github/workflows/check-by-name.yml
vendored
2
.github/workflows/check-by-name.yml
vendored
@ -91,7 +91,7 @@ jobs:
|
||||
exit 1
|
||||
fi
|
||||
echo "mergedSha=$mergedSha" >> "$GITHUB_ENV"
|
||||
- uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
|
||||
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
|
||||
with:
|
||||
# pull_request_target checks out the base branch by default
|
||||
ref: ${{ env.mergedSha }}
|
||||
|
2
.github/workflows/check-cherry-picks.yml
vendored
2
.github/workflows/check-cherry-picks.yml
vendored
@ -12,7 +12,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.repository_owner == 'NixOS'
|
||||
steps:
|
||||
- uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
|
||||
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
filter: blob:none
|
||||
|
@ -12,7 +12,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.repository_owner == 'NixOS'
|
||||
steps:
|
||||
- uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
|
||||
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
|
||||
with:
|
||||
# pull_request_target checks out the base branch by default
|
||||
ref: refs/pull/${{ github.event.pull_request.number }}/merge
|
||||
|
2
.github/workflows/check-nix-format.yml
vendored
2
.github/workflows/check-nix-format.yml
vendored
@ -15,7 +15,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.repository_owner == 'NixOS'
|
||||
steps:
|
||||
- uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
|
||||
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
|
||||
with:
|
||||
# pull_request_target checks out the base branch by default
|
||||
ref: refs/pull/${{ github.event.pull_request.number }}/merge
|
||||
|
2
.github/workflows/editorconfig.yml
vendored
2
.github/workflows/editorconfig.yml
vendored
@ -24,7 +24,7 @@ jobs:
|
||||
- name: print list of changed files
|
||||
run: |
|
||||
cat "$HOME/changed_files"
|
||||
- uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
|
||||
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
|
||||
with:
|
||||
# pull_request_target checks out the base branch by default
|
||||
ref: refs/pull/${{ github.event.pull_request.number }}/merge
|
||||
|
2
.github/workflows/manual-nixos.yml
vendored
2
.github/workflows/manual-nixos.yml
vendored
@ -14,7 +14,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.repository_owner == 'NixOS'
|
||||
steps:
|
||||
- uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
|
||||
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
|
||||
with:
|
||||
# pull_request_target checks out the base branch by default
|
||||
ref: refs/pull/${{ github.event.pull_request.number }}/merge
|
||||
|
2
.github/workflows/manual-nixpkgs.yml
vendored
2
.github/workflows/manual-nixpkgs.yml
vendored
@ -16,7 +16,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.repository_owner == 'NixOS'
|
||||
steps:
|
||||
- uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
|
||||
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
|
||||
with:
|
||||
# pull_request_target checks out the base branch by default
|
||||
ref: refs/pull/${{ github.event.pull_request.number }}/merge
|
||||
|
2
.github/workflows/nix-parse.yml
vendored
2
.github/workflows/nix-parse.yml
vendored
@ -24,7 +24,7 @@ jobs:
|
||||
if [[ -s "$HOME/changed_files" ]]; then
|
||||
echo "CHANGED_FILES=$HOME/changed_files" > "$GITHUB_ENV"
|
||||
fi
|
||||
- uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
|
||||
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
|
||||
with:
|
||||
# pull_request_target checks out the base branch by default
|
||||
ref: refs/pull/${{ github.event.pull_request.number }}/merge
|
||||
|
2
.github/workflows/periodic-merge-24h.yml
vendored
2
.github/workflows/periodic-merge-24h.yml
vendored
@ -41,7 +41,7 @@ jobs:
|
||||
into: staging-23.11
|
||||
name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }}
|
||||
steps:
|
||||
- uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
|
||||
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
|
||||
|
||||
- name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }}
|
||||
uses: devmasx/merge-branch@854d3ac71ed1e9deb668e0074781b81fdd6e771f # 1.4.0
|
||||
|
2
.github/workflows/periodic-merge-6h.yml
vendored
2
.github/workflows/periodic-merge-6h.yml
vendored
@ -39,7 +39,7 @@ jobs:
|
||||
into: staging
|
||||
name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }}
|
||||
steps:
|
||||
- uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
|
||||
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
|
||||
|
||||
- name: ${{ matrix.pairs.from }} → ${{ matrix.pairs.into }}
|
||||
uses: devmasx/merge-branch@854d3ac71ed1e9deb668e0074781b81fdd6e771f # 1.4.0
|
||||
|
@ -16,7 +16,7 @@ jobs:
|
||||
if: github.repository_owner == 'NixOS' && github.ref == 'refs/heads/master' # ensure workflow_dispatch only runs on master
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
|
||||
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
|
||||
- uses: cachix/install-nix-action@8887e596b4ee1134dae06b98d573bd674693f47c # v26
|
||||
with:
|
||||
nix_path: nixpkgs=channel:nixpkgs-unstable
|
||||
|
@ -9094,6 +9094,12 @@
|
||||
github = "joshua-cooper";
|
||||
githubId = 35612334;
|
||||
};
|
||||
jcaesar = {
|
||||
name = "Julius Michaelis";
|
||||
matrix = "@julius:mtx.liftm.de";
|
||||
github = "jcaesar";
|
||||
githubId = 1753388;
|
||||
};
|
||||
jceb = {
|
||||
name = "Jan Christoph Ebersbach";
|
||||
email = "jceb@e-jc.de";
|
||||
@ -10970,6 +10976,12 @@
|
||||
githubId = 2422454;
|
||||
name = "Kai Wohlfahrt";
|
||||
};
|
||||
kylecarbs = {
|
||||
name = "Kyle Carberry";
|
||||
email = "kyle@carberry.com";
|
||||
github = "kylecarbs";
|
||||
githubId = 7122116;
|
||||
};
|
||||
kylehendricks = {
|
||||
name = "Kyle Hendricks";
|
||||
email = "kyle-github@mail.hendricks.nu";
|
||||
@ -11590,12 +11602,6 @@
|
||||
githubId = 918448;
|
||||
name = "Anthony Lodi";
|
||||
};
|
||||
loewenheim = {
|
||||
email = "loewenheim@mailbox.org";
|
||||
github = "loewenheim";
|
||||
githubId = 7622248;
|
||||
name = "Sebastian Zivota";
|
||||
};
|
||||
logo = {
|
||||
email = "logo4poop@protonmail.com";
|
||||
matrix = "@logo4poop:matrix.org";
|
||||
|
@ -44,10 +44,6 @@ Use `services.pipewire.extraConfig` or `services.pipewire.configPackages` for Pi
|
||||
- A new option `systemd.sysusers.enable` was added. If enabled, users and
|
||||
groups are created with systemd-sysusers instead of with a custom perl script.
|
||||
|
||||
- The default dbus implementation has transitioned to dbus-broker from the classic dbus daemon for better performance and reliability. Users can revert to the classic dbus daemon by setting `services.dbus.implementation = "dbus";`. For detailed deviations, refer to [dbus-broker's deviations page](https://github.com/bus1/dbus-broker/wiki/Deviations).
|
||||
|
||||
- GNOME has been updated to v46. Refer to the [release notes](https://release.gnome.org/46/) for more details. Notably this release brings experimental VRR support, default GTK renderer changes and WebDAV support in Online Accounts. This release we have also stopped including the legacy and unsupported Adwaita-Dark theme by default.
|
||||
|
||||
- `virtualisation.docker.enableNvidia` and `virtualisation.podman.enableNvidia` options are deprecated. `hardware.nvidia-container-toolkit.enable` should be used instead. This option will expose GPUs on containers with the `--device` CLI option. This is supported by Docker 25, Podman 3.2.0 and Singularity 4. Any container runtime that supports the CDI specification will take advantage of this feature.
|
||||
|
||||
- `system.etc.overlay.enable` option was added. If enabled, `/etc` is
|
||||
|
@ -35,6 +35,8 @@ rec {
|
||||
aarch64-linux = "${qemuPkg}/bin/qemu-system-aarch64 -machine virt,gic-version=max,accel=kvm:tcg -cpu max";
|
||||
powerpc64le-linux = "${qemuPkg}/bin/qemu-system-ppc64 -machine powernv";
|
||||
powerpc64-linux = "${qemuPkg}/bin/qemu-system-ppc64 -machine powernv";
|
||||
riscv32-linux = "${qemuPkg}/bin/qemu-system-riscv32 -machine virt";
|
||||
riscv64-linux = "${qemuPkg}/bin/qemu-system-riscv64 -machine virt";
|
||||
x86_64-darwin = "${qemuPkg}/bin/qemu-kvm -cpu max";
|
||||
};
|
||||
otherHostGuestMatrix = {
|
||||
|
@ -119,6 +119,8 @@ in
|
||||
wantedBy = [
|
||||
"multi-user.target"
|
||||
];
|
||||
# https://github.com/rhasspy/wyoming-faster-whisper/issues/27
|
||||
environment."HF_HUB_CACHE" = "/tmp";
|
||||
serviceConfig = {
|
||||
DynamicUser = true;
|
||||
User = "wyoming-faster-whisper";
|
||||
|
@ -39,7 +39,7 @@ in
|
||||
|
||||
implementation = mkOption {
|
||||
type = types.enum [ "dbus" "broker" ];
|
||||
default = "broker";
|
||||
default = "dbus";
|
||||
description = ''
|
||||
The implementation to use for the message bus defined by the D-Bus specification.
|
||||
Can be either the classic dbus daemon or dbus-broker, which aims to provide high
|
||||
|
@ -223,4 +223,5 @@ in {
|
||||
};
|
||||
};
|
||||
};
|
||||
meta.maintainers = pkgs.coder.meta.maintainers;
|
||||
}
|
||||
|
@ -249,7 +249,7 @@ let
|
||||
${concatStringsSep " " config.virtualisation.qemu.networkingOptions} \
|
||||
${concatStringsSep " \\\n "
|
||||
(mapAttrsToList
|
||||
(tag: share: "-virtfs local,path=${share.source},security_model=none,mount_tag=${tag}")
|
||||
(tag: share: "-virtfs local,path=${share.source},security_model=${share.securityModel},mount_tag=${tag}")
|
||||
config.virtualisation.sharedDirectories)} \
|
||||
${drivesCmdLine config.virtualisation.qemu.drives} \
|
||||
${concatStringsSep " \\\n " config.virtualisation.qemu.options} \
|
||||
@ -462,6 +462,18 @@ in
|
||||
type = types.path;
|
||||
description = "The mount point of the directory inside the virtual machine";
|
||||
};
|
||||
options.securityModel = mkOption {
|
||||
type = types.enum [ "passthrough" "mapped-xattr" "mapped-file" "none" ];
|
||||
default = "mapped-xattr";
|
||||
description = ''
|
||||
The security model to use for this share:
|
||||
|
||||
- `passthrough`: files are stored using the same credentials as they are created on the guest (this requires QEMU to run as root)
|
||||
- `mapped-xattr`: some of the file attributes like uid, gid, mode bits and link target are stored as file attributes
|
||||
- `mapped-file`: the attributes are stored in the hidden .virtfs_metadata directory. Directories exported by this security model cannot interact with other unix tools
|
||||
- `none`: same as "passthrough" except the sever won't report failures if it fails to set file attributes like ownership
|
||||
'';
|
||||
};
|
||||
});
|
||||
default = { };
|
||||
example = {
|
||||
@ -1091,18 +1103,22 @@ in
|
||||
nix-store = mkIf cfg.mountHostNixStore {
|
||||
source = builtins.storeDir;
|
||||
target = "/nix/store";
|
||||
securityModel = "none";
|
||||
};
|
||||
xchg = {
|
||||
source = ''"$TMPDIR"/xchg'';
|
||||
securityModel = "none";
|
||||
target = "/tmp/xchg";
|
||||
};
|
||||
shared = {
|
||||
source = ''"''${SHARED_DIR:-$TMPDIR/xchg}"'';
|
||||
target = "/tmp/shared";
|
||||
securityModel = "none";
|
||||
};
|
||||
certs = mkIf cfg.useHostCerts {
|
||||
source = ''"$TMPDIR"/certs'';
|
||||
target = "/etc/ssl/certs";
|
||||
securityModel = "none";
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -1,8 +1,6 @@
|
||||
import ./make-test-python.nix ({ pkgs, ... }: {
|
||||
name = "coder";
|
||||
meta = with pkgs.lib.maintainers; {
|
||||
maintainers = [ shyim ghuntley ];
|
||||
};
|
||||
meta.maintainers = pkgs.coder.meta.maintainers;
|
||||
|
||||
nodes.machine =
|
||||
{ pkgs, ... }:
|
||||
|
@ -610,6 +610,11 @@ in {
|
||||
# Returns a comma separated representation of the given list in sorted
|
||||
# order, that matches the output format of switch-to-configuration.pl
|
||||
sortedUnits = xs: lib.concatStringsSep ", " (builtins.sort builtins.lessThan xs);
|
||||
|
||||
dbusService = {
|
||||
"dbus" = "dbus.service";
|
||||
"broker" = "dbus-broker.service";
|
||||
}.${nodes.machine.services.dbus.implementation};
|
||||
in /* python */ ''
|
||||
def switch_to_specialisation(system, name, action="test", fail=False):
|
||||
if name == "":
|
||||
@ -691,9 +696,9 @@ in {
|
||||
with subtest("continuing from an aborted switch"):
|
||||
# An aborted switch will write into a file what it tried to start
|
||||
# and a second switch should continue from this
|
||||
machine.succeed("echo dbus-broker.service > /run/nixos/start-list")
|
||||
machine.succeed("echo ${dbusService} > /run/nixos/start-list")
|
||||
out = switch_to_specialisation("${machine}", "modifiedSystemConf")
|
||||
assert_contains(out, "starting the following units: dbus-broker.service\n")
|
||||
assert_contains(out, "starting the following units: ${dbusService}\n")
|
||||
|
||||
with subtest("fstab mounts"):
|
||||
switch_to_specialisation("${machine}", "")
|
||||
@ -732,7 +737,7 @@ in {
|
||||
out = switch_to_specialisation("${machine}", "")
|
||||
assert_contains(out, "stopping the following units: test.mount\n")
|
||||
assert_lacks(out, "NOT restarting the following changed units:")
|
||||
assert_contains(out, "reloading the following units: dbus-broker.service\n")
|
||||
assert_contains(out, "reloading the following units: ${dbusService}\n")
|
||||
assert_lacks(out, "\nrestarting the following units:")
|
||||
assert_lacks(out, "\nstarting the following units:")
|
||||
assert_lacks(out, "the following new units were started:")
|
||||
@ -740,7 +745,7 @@ in {
|
||||
out = switch_to_specialisation("${machine}", "storeMountModified")
|
||||
assert_lacks(out, "stopping the following units:")
|
||||
assert_contains(out, "NOT restarting the following changed units: -.mount")
|
||||
assert_contains(out, "reloading the following units: dbus-broker.service\n")
|
||||
assert_contains(out, "reloading the following units: ${dbusService}\n")
|
||||
assert_lacks(out, "\nrestarting the following units:")
|
||||
assert_lacks(out, "\nstarting the following units:")
|
||||
assert_lacks(out, "the following new units were started:")
|
||||
@ -751,7 +756,7 @@ in {
|
||||
out = switch_to_specialisation("${machine}", "swap")
|
||||
assert_lacks(out, "stopping the following units:")
|
||||
assert_lacks(out, "NOT restarting the following changed units:")
|
||||
assert_contains(out, "reloading the following units: dbus-broker.service\n")
|
||||
assert_contains(out, "reloading the following units: ${dbusService}\n")
|
||||
assert_lacks(out, "\nrestarting the following units:")
|
||||
assert_lacks(out, "\nstarting the following units:")
|
||||
assert_contains(out, "the following new units were started: swapfile.swap")
|
||||
@ -760,7 +765,7 @@ in {
|
||||
assert_contains(out, "stopping swap device: /swapfile")
|
||||
assert_lacks(out, "stopping the following units:")
|
||||
assert_lacks(out, "NOT restarting the following changed units:")
|
||||
assert_contains(out, "reloading the following units: dbus-broker.service\n")
|
||||
assert_contains(out, "reloading the following units: ${dbusService}\n")
|
||||
assert_lacks(out, "\nrestarting the following units:")
|
||||
assert_lacks(out, "\nstarting the following units:")
|
||||
assert_lacks(out, "the following new units were started:")
|
||||
@ -781,7 +786,7 @@ in {
|
||||
assert_lacks(out, "installing dummy bootloader") # test does not install a bootloader
|
||||
assert_lacks(out, "stopping the following units:")
|
||||
assert_lacks(out, "NOT restarting the following changed units:")
|
||||
assert_contains(out, "reloading the following units: dbus-broker.service\n") # huh
|
||||
assert_contains(out, "reloading the following units: ${dbusService}\n") # huh
|
||||
assert_lacks(out, "\nrestarting the following units:")
|
||||
assert_lacks(out, "\nstarting the following units:")
|
||||
assert_contains(out, "the following new units were started: test.service\n")
|
||||
@ -858,7 +863,7 @@ in {
|
||||
assert_lacks(out, "installing dummy bootloader") # test does not install a bootloader
|
||||
assert_lacks(out, "stopping the following units:")
|
||||
assert_lacks(out, "NOT restarting the following changed units:")
|
||||
assert_contains(out, "reloading the following units: dbus-broker.service\n") # huh
|
||||
assert_contains(out, "reloading the following units: ${dbusService}\n") # huh
|
||||
assert_lacks(out, "\nrestarting the following units:")
|
||||
assert_lacks(out, "\nstarting the following units:")
|
||||
assert_contains(out, "the following new units were started: test.service\n")
|
||||
|
@ -21,14 +21,14 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "grandorgue";
|
||||
version = "3.14.1-1";
|
||||
version = "3.14.2-1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "GrandOrgue";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
fetchSubmodules = true;
|
||||
hash = "sha256-EyMTWsaqJX7H7aCbu5ww9tQBMwJ7BzobWMWg5Y/ZgJE=";
|
||||
hash = "sha256-FHM8fFUga9poGhojKBTF4gsJ6L4XEksueVxfMbngvks=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
@ -21,20 +21,20 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "pika-backup";
|
||||
version = "0.7.1";
|
||||
version = "0.7.2";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.gnome.org";
|
||||
owner = "World";
|
||||
repo = "pika-backup";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-yxr98CJuu15TGiIXCBhU2bOgvct6jQ5xAraD9Z0sL2Q=";
|
||||
hash = "sha256-Z9vRuz5PwOhJ3DQD9zvCilgTMww7bRL4aR6fRoHIayI=";
|
||||
};
|
||||
|
||||
cargoDeps = rustPlatform.fetchCargoTarball {
|
||||
inherit src;
|
||||
name = "${pname}-${version}";
|
||||
hash = "sha256-ce8SdBvRdFp1BU9OPcByoJjCiSrAkQqtmfCeJ3B+Piw=";
|
||||
hash = "sha256-hcfkwxwLOUBMj6rvhI5F4OO9UaSP7CAE0JNOGlh2lVY=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
@ -14,7 +14,6 @@
|
||||
, miniupnpc
|
||||
, zeromq
|
||||
, zlib
|
||||
, db53
|
||||
, sqlite
|
||||
, qrencode
|
||||
, qtbase ? null
|
||||
@ -33,13 +32,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = if withGui then "groestlcoin" else "groestlcoind";
|
||||
version = "26.0";
|
||||
version = "27.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Groestlcoin";
|
||||
repo = "groestlcoin";
|
||||
rev = "v${version}";
|
||||
sha256 = "00qvaf53jszsk1rr029zmq60v8w0r92192ab65k2krkmh7ybla9l";
|
||||
sha256 = "0f6vi2k5xvjrhiazfjcd4aj246dfcg51xsnqb9wdjl41cg0ckwmf";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook pkg-config installShellFiles ]
|
||||
@ -49,7 +48,7 @@ stdenv.mkDerivation rec {
|
||||
++ lib.optionals withGui [ wrapQtAppsHook ];
|
||||
|
||||
buildInputs = [ boost libevent miniupnpc zeromq zlib ]
|
||||
++ lib.optionals withWallet [ db53 sqlite ]
|
||||
++ lib.optionals withWallet [ sqlite ]
|
||||
++ lib.optionals withGui [ qrencode qtbase qttools ];
|
||||
|
||||
postInstall = ''
|
||||
|
@ -5,6 +5,7 @@
|
||||
, bash
|
||||
, makeWrapper
|
||||
, electron
|
||||
, asar
|
||||
}:
|
||||
|
||||
let
|
||||
@ -31,7 +32,7 @@ stdenv.mkDerivation rec {
|
||||
inherit sha256;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
nativeBuildInputs = [ makeWrapper asar ];
|
||||
|
||||
dontConfigure = true;
|
||||
dontBuild = true;
|
||||
@ -48,6 +49,13 @@ stdenv.mkDerivation rec {
|
||||
cp -a usr/share/* $out/share
|
||||
cp -a "opt/Terra Station/"{locales,resources} $out/share/${pname}
|
||||
|
||||
# patch pre-built node modules
|
||||
asar e $out/share/${pname}/resources/app.asar asar-unpacked
|
||||
find asar-unpacked -name '*.node' -exec patchelf \
|
||||
--add-rpath "${lib.makeLibraryPath [ stdenv.cc.cc.lib ]}" \
|
||||
{} \;
|
||||
asar p asar-unpacked $out/share/${pname}/resources/app.asar
|
||||
|
||||
substituteInPlace $out/share/applications/station-electron.desktop \
|
||||
--replace "/opt/Terra Station/station-electron" ${pname}
|
||||
|
||||
|
@ -113,6 +113,17 @@ rec {
|
||||
xz
|
||||
];
|
||||
}).overrideAttrs (attrs: {
|
||||
postInstall = (attrs.postInstall or "") + lib.optionalString (stdenv.isLinux) ''
|
||||
(
|
||||
cd $out/clion
|
||||
|
||||
for dir in plugins/clion-radler/DotFiles/linux-*; do
|
||||
rm -rf $dir/dotnet
|
||||
ln -s ${dotnet-sdk_7} $dir/dotnet
|
||||
done
|
||||
)
|
||||
'';
|
||||
|
||||
postFixup = (attrs.postFixup or "") + lib.optionalString (stdenv.isLinux) ''
|
||||
(
|
||||
cd $out/clion
|
||||
|
@ -3,6 +3,7 @@
|
||||
, withQuesta ? true
|
||||
, supportedDevices ? [ "Arria II" "Cyclone V" "Cyclone IV" "Cyclone 10 LP" "MAX II/V" "MAX 10 FPGA" ]
|
||||
, unwrapped ? callPackage ./quartus.nix { inherit unstick supportedDevices withQuesta; }
|
||||
, extraProfile ? ""
|
||||
}:
|
||||
|
||||
let
|
||||
@ -114,7 +115,7 @@ in buildFHSEnv rec {
|
||||
if [ "$NIXPKGS_IS_QUESTA_WRAPPER" != 1 ]; then
|
||||
export LD_PRELOAD=''${LD_PRELOAD:+$LD_PRELOAD:}/usr/lib/libudev.so.0
|
||||
fi
|
||||
'';
|
||||
'' + extraProfile;
|
||||
|
||||
# Run the wrappers directly, instead of going via bash.
|
||||
runScript = "";
|
||||
|
@ -4,6 +4,9 @@
|
||||
, dpkg
|
||||
, makeWrapper
|
||||
, electron
|
||||
, libsecret
|
||||
, asar
|
||||
, glib
|
||||
, desktop-file-utils
|
||||
, callPackage
|
||||
}:
|
||||
@ -28,16 +31,28 @@ stdenv.mkDerivation rec {
|
||||
|
||||
dontBuild = true;
|
||||
|
||||
nativeBuildInputs = [ makeWrapper dpkg desktop-file-utils ];
|
||||
nativeBuildInputs = [ makeWrapper dpkg desktop-file-utils asar ];
|
||||
|
||||
unpackPhase = "dpkg-deb --fsys-tarfile $src | tar -x --no-same-permissions --no-same-owner";
|
||||
|
||||
installPhase = ''
|
||||
installPhase = let
|
||||
libPath = lib.makeLibraryPath [
|
||||
libsecret
|
||||
glib
|
||||
stdenv.cc.cc.lib
|
||||
];
|
||||
in
|
||||
''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/bin $out/share/standardnotes
|
||||
cp -R usr/share/{applications,icons} $out/share
|
||||
cp -R opt/Standard\ Notes/resources/app.asar $out/share/standardnotes/
|
||||
asar e $out/share/standardnotes/app.asar asar-unpacked
|
||||
find asar-unpacked -name '*.node' -exec patchelf \
|
||||
--add-rpath "${libPath}" \
|
||||
{} \;
|
||||
asar p asar-unpacked $out/share/standardnotes/app.asar
|
||||
|
||||
makeWrapper ${electron}/bin/electron $out/bin/standardnotes \
|
||||
--add-flags $out/share/standardnotes/app.asar
|
||||
|
@ -937,6 +937,7 @@ https://github.com/xiyaowong/transparent.nvim/,HEAD,
|
||||
https://github.com/Wansmer/treesj/,main,
|
||||
https://github.com/tremor-rs/tremor-vim/,,
|
||||
https://github.com/cappyzawa/trim.nvim/,,
|
||||
https://github.com/simonclean/triptych.nvim/,HEAD,
|
||||
https://github.com/folke/trouble.nvim/,,
|
||||
https://github.com/Pocco81/true-zen.nvim/,,
|
||||
https://github.com/tesaguri/trust.vim/,HEAD,
|
||||
|
@ -1822,7 +1822,7 @@ let
|
||||
mktplcRef = {
|
||||
publisher = "github";
|
||||
name = "copilot-chat";
|
||||
version = "0.14.2024032901"; # compatible with vscode 1.88.1
|
||||
version = "0.14.2024032901"; # compatible with vscode 1.88.1
|
||||
hash = "sha256-+6N7IGO5j0wP5Zg8CwapHeKGWiZzc43VM4jCtqJDJIQ=";
|
||||
};
|
||||
meta = {
|
||||
@ -2853,6 +2853,22 @@ let
|
||||
|
||||
ms-python.python = callPackage ./ms-python.python { };
|
||||
|
||||
ms-python.debugpy = buildVscodeMarketplaceExtension {
|
||||
mktplcRef = {
|
||||
name = "debugpy";
|
||||
publisher = "ms-python";
|
||||
version = "2023.3.13121011";
|
||||
hash = "sha256-owYUEyQl2FQytApfuI97N4y9p7/dL0lu6EBk/AzSMjw=";
|
||||
};
|
||||
meta = {
|
||||
description = "Python debugger (debugpy) extension for VS Code";
|
||||
downloadPage = "https://marketplace.visualstudio.com/items?itemName=ms-python.debugpy";
|
||||
homepage = "https://github.com/Microsoft/vscode-python-debugger";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = [ lib.maintainers.carlthome ];
|
||||
};
|
||||
};
|
||||
|
||||
ms-python.vscode-pylance = callPackage ./ms-python.vscode-pylance { };
|
||||
|
||||
ms-toolsai.datawrangler = buildVscodeMarketplaceExtension {
|
||||
|
@ -38,14 +38,14 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "mame";
|
||||
version = "0.264";
|
||||
version = "0.265";
|
||||
srcVersion = builtins.replaceStrings [ "." ] [ "" ] version;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mamedev";
|
||||
repo = "mame";
|
||||
rev = "mame${srcVersion}";
|
||||
hash = "sha256-0UWMBKM//XWm8PFl60JvTLGaDBMVZFnVrbX4omy2F4I=";
|
||||
hash = "sha256-jXGmABFeoT8g2UtVV159gUpdWcBvb9aX3uiFi2neVQI=";
|
||||
};
|
||||
|
||||
outputs = [ "out" "tools" ];
|
||||
|
@ -22,16 +22,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "oculante";
|
||||
version = "0.8.18";
|
||||
version = "0.8.19";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "woelper";
|
||||
repo = "oculante";
|
||||
rev = version;
|
||||
hash = "sha256-TLY6ydYeRuT93jjUeE7EaFNNllwla4h563UhXAxSyko=";
|
||||
hash = "sha256-oCgnz1WMg7YypIT8Tjk2m+f/43Aj88rDVCxQ92aL3RY=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-RKJE09Z4XxRLWQ95Om3tru4rI2TD7XmxoHhPHFirREo=";
|
||||
cargoHash = "sha256-vlU7egAht+kgA5Vx0HAwQOIax9qD4FLRo1ZUNx4RieY=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
|
@ -2,16 +2,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "cobalt";
|
||||
version = "0.19.2";
|
||||
version = "0.19.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cobalt-org";
|
||||
repo = "cobalt.rs";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-W0XbNZDSeSK6oxOD1JeLNF+c6/6cy/WQrrmQbSKeqk4=";
|
||||
sha256 = "sha256-aAhceExz5SENL+FhPHyx8HmaNOWjNsynv81Rj2cS5M8=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-IM2SKovb8FYwA/c4R3N7M+oVuGfuc5sK+r6FP9YMk+I=";
|
||||
cargoHash = "sha256-vw7fGsTSEVO8s1LzilKJN5lGzOfQcms1h7rnTOyE4Kw=";
|
||||
|
||||
buildInputs = lib.optionals stdenv.isDarwin [ CoreServices ];
|
||||
|
||||
|
@ -5,6 +5,7 @@
|
||||
, makeWrapper
|
||||
# graphs will not sync without matching upstream's major electron version
|
||||
, electron_27
|
||||
, autoPatchelfHook
|
||||
, git
|
||||
, nix-update-script
|
||||
}:
|
||||
@ -30,7 +31,8 @@ in {
|
||||
dontConfigure = true;
|
||||
dontBuild = true;
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
nativeBuildInputs = [ makeWrapper autoPatchelfHook ];
|
||||
buildInputs = [ stdenv.cc.cc.lib ];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
@ -20,6 +20,8 @@ appimageTools.wrapType2 {
|
||||
--replace 'Icon=net.davidotek.pupgui2' 'Icon=${pname}'
|
||||
'';
|
||||
|
||||
extraPkgs = pkgs: with pkgs; [ zstd ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://davidotek.github.io/protonup-qt/";
|
||||
description = "Install and manage Proton-GE and Luxtorpeda for Steam and Wine-GE for Lutris with this graphical user interface.";
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "argocd";
|
||||
version = "2.10.7";
|
||||
version = "2.10.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "argoproj";
|
||||
repo = "argo-cd";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-0C8lVQrFxrk9ym4aCz0PhUS2iByx9rj5Id0xFIq4Efc=";
|
||||
hash = "sha256-VzEgZshzIHXI0J172W1zI1E8dU8iYJq0lO01LpI8Y+U=";
|
||||
};
|
||||
|
||||
proxyVendor = true; # darwin/linux hash mismatch
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "clusterctl";
|
||||
version = "1.7.0";
|
||||
version = "1.7.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kubernetes-sigs";
|
||||
repo = "cluster-api";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-pG0jr+LCKMwJGDndEZw6vho3zylsoGBVdXqruSS7SDQ=";
|
||||
hash = "sha256-e+Ut6xoNUY9cJjjJ43P0siEa+G1igllcb8veirk1UX0=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-ALRnccGjPGuAITtuz79Cao95NhvSczAzspSMXytlw+A=";
|
||||
@ -29,6 +29,7 @@ buildGoModule rec {
|
||||
|
||||
installShellCompletion --cmd clusterctl \
|
||||
--bash <($out/bin/clusterctl completion bash) \
|
||||
--fish <($out/bin/clusterctl completion fish) \
|
||||
--zsh <($out/bin/clusterctl completion zsh)
|
||||
'';
|
||||
|
||||
@ -38,12 +39,12 @@ buildGoModule rec {
|
||||
version = "v${version}";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
changelog = "https://github.com/kubernetes-sigs/cluster-api/releases/tag/${src.rev}";
|
||||
description = "Kubernetes cluster API tool";
|
||||
mainProgram = "clusterctl";
|
||||
homepage = "https://cluster-api.sigs.k8s.io/";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ qjoly ];
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ qjoly ];
|
||||
};
|
||||
}
|
||||
|
@ -8,18 +8,18 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "cmctl";
|
||||
version = "1.14.4";
|
||||
version = "1.14.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cert-manager";
|
||||
repo = "cert-manager";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-iUXN+8ueCxGsFnwhC2WjrQQSXV7TGUR80xaKqjxcC6o=";
|
||||
hash = "sha256-WitYq3/veaARZQHoseJnT5h0AGmXVlLzRe8KCOJuY0w=";
|
||||
};
|
||||
|
||||
sourceRoot = "${src.name}/cmd/ctl";
|
||||
|
||||
vendorHash = "sha256-ViKsqqM6l/tQSGgj8Yt2L57x+eE1Pd3xCVPuWpIjWOQ=";
|
||||
vendorHash = "sha256-27XvT33S/vgGo5MQDpHzTN+K1nNPR6OOFggzLhatygI=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
|
@ -3,7 +3,7 @@
|
||||
, fetchFromGitHub
|
||||
, coreutils
|
||||
, findutils
|
||||
, git
|
||||
, gitMinimal
|
||||
, gnugrep
|
||||
, gnused
|
||||
, makeWrapper
|
||||
@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
patchShebangs $out/helm-git/helm-git{,-plugin.sh}
|
||||
wrapProgram $out/helm-git/helm-git \
|
||||
--prefix PATH : ${lib.makeBinPath [ coreutils findutils git gnugrep gnused ]}
|
||||
--prefix PATH : ${lib.makeBinPath [ coreutils findutils gitMinimal gnugrep gnused ]}
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
@ -2,7 +2,7 @@
|
||||
callPackage ./generic.nix { } rec {
|
||||
pname = "signal-desktop";
|
||||
dir = "Signal";
|
||||
version = "7.5.1";
|
||||
version = "7.6.0";
|
||||
url = "https://updates.signal.org/desktop/apt/pool/s/signal-desktop/signal-desktop_${version}_amd64.deb";
|
||||
hash = "sha256-afKR+P2YPkv4OMIr8LzWeAMZWr0zaJ1R0BQD87gQuSk=";
|
||||
hash = "sha256-sGOWsFZTO9VQDkCqhsOkW5aY+sh0fLH7kPPe/bAzGvg=";
|
||||
}
|
||||
|
@ -10,6 +10,7 @@ nodePackages.n8n.override {
|
||||
nativeBuildInputs = [
|
||||
pkgs.nodePackages.node-pre-gyp
|
||||
pkgs.which
|
||||
pkgs.xcbuild
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
@ -30,6 +31,9 @@ nodePackages.n8n.override {
|
||||
# makes libmongocrypt bindings not look for static libraries in completely wrong places
|
||||
BUILD_TYPE = "dynamic";
|
||||
|
||||
# Disable NAPI_EXPERIMENTAL to allow to build with Node.js≥18.20.0.
|
||||
NIX_CFLAGS_COMPILE = "-DNODE_API_EXPERIMENTAL_NOGC_ENV_OPT_OUT";
|
||||
|
||||
dontNpmInstall = true;
|
||||
|
||||
passthru = {
|
||||
|
@ -2,16 +2,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "nextdns";
|
||||
version = "1.42.0";
|
||||
version = "1.43.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "nextdns";
|
||||
repo = "nextdns";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-aQUz6FK04h3nzieK9fX7odVVt/zcdhXlX3T1Z1rN/ak=";
|
||||
sha256 = "sha256-5aznAAO53EFeq/fap10ARGerKzQAvLx0zOeG6OWkymw=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-DATSGSFRMrX972CWCiSIlOhDuAG3zcVyuILZ3IpVirM=";
|
||||
vendorHash = "sha256-U5LJF1RX0ZS0PhjQTZKXrJo89WPfSZaVbgskWcYNlJY=";
|
||||
|
||||
ldflags = [ "-s" "-w" "-X main.version=${version}" ];
|
||||
|
||||
|
@ -21,14 +21,14 @@
|
||||
let
|
||||
pname = "qownnotes";
|
||||
appname = "QOwnNotes";
|
||||
version = "24.4.3";
|
||||
version = "24.4.4";
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
inherit pname version;
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/pbek/QOwnNotes/releases/download/v${version}/qownnotes-${version}.tar.xz";
|
||||
hash = "sha256-dthb+FkytNiiS2s7VdMgYxvNbGeBx5gONOYkHHphigY=";
|
||||
hash = "sha256-nTRCW76UogaTOyxQ5HfWUln6Lip/LpoyPG+m+mMCb1I=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -13,10 +13,10 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
inherit pname;
|
||||
version = "10.9.0";
|
||||
version = "10.10.0";
|
||||
src = fetchurl {
|
||||
url = "https://github.com/betaflight/${pname}/releases/download/${version}/${pname}_${version}_linux64-portable.zip";
|
||||
sha256 = "sha256-9FzMyBIR2u1zXHtTWJABM6RF1+OyjYdEPlRwtig9blI=";
|
||||
sha256 = "sha256-UB5Vr5wyCUZbOaQNckJQ1tAXwh8VSLNI1IgTiJzxV08=";
|
||||
};
|
||||
|
||||
# remove large unneeded files
|
||||
|
@ -1,39 +1,72 @@
|
||||
{ lib, stdenv, fetchurl, m4, expat
|
||||
, libX11, libXt, libXaw, libXmu, bdftopcf, mkfontdir
|
||||
, fontadobe100dpi, fontadobeutopia100dpi, fontbh100dpi
|
||||
, fontbhlucidatypewriter100dpi, fontbitstream100dpi
|
||||
{ stdenv
|
||||
, darwin
|
||||
, lib
|
||||
, libiconv
|
||||
, fetchurl
|
||||
, m4
|
||||
, expat
|
||||
, libX11
|
||||
, libXt
|
||||
, libXaw
|
||||
, libXmu
|
||||
, bdftopcf
|
||||
, mkfontdir
|
||||
, fontadobe100dpi
|
||||
, fontadobeutopia100dpi
|
||||
, fontbh100dpi
|
||||
, fontbhlucidatypewriter100dpi
|
||||
, fontbitstream100dpi
|
||||
, tcl
|
||||
, ncurses }:
|
||||
|
||||
, ncurses
|
||||
}:
|
||||
let
|
||||
majorVersion = "4";
|
||||
minorVersion = "0";
|
||||
versionSuffix = "ga9";
|
||||
in stdenv.mkDerivation rec {
|
||||
minorVersion = "3";
|
||||
versionSuffix = "ga8";
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "x3270";
|
||||
version = "${majorVersion}.${minorVersion}${versionSuffix}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://x3270.bgp.nu/download/0${majorVersion}.0${minorVersion}/suite3270-${version}-src.tgz";
|
||||
sha256 = "0km24rgll0s4ji6iz8lvy5ra76ds162s95y33w5px6697cwqkp9j";
|
||||
url =
|
||||
"http://x3270.bgp.nu/download/0${majorVersion}.0${minorVersion}/suite3270-${version}-src.tgz";
|
||||
sha256 = "sha256-gcC6REfZentIPEDhGznUSYu8mvVfpPeMz/Bks+N43Fk=";
|
||||
};
|
||||
|
||||
buildFlags = [ "unix" ];
|
||||
buildFlags = lib.optional stdenv.isLinux "unix";
|
||||
|
||||
postConfigure = ''
|
||||
pushd c3270 ; ./configure ; popd
|
||||
configureFlags = lib.optionals stdenv.isDarwin [
|
||||
"--enable-c3270"
|
||||
"--enable-pr3270"
|
||||
"--enable-s3270"
|
||||
"--enable-tcl3270"
|
||||
];
|
||||
|
||||
postBuild = ''
|
||||
make install.man
|
||||
'';
|
||||
|
||||
pathsToLink = [ "/share/man" ];
|
||||
|
||||
nativeBuildInputs = [ m4 ];
|
||||
buildInputs = [
|
||||
expat
|
||||
libX11 libXt libXaw libXmu bdftopcf mkfontdir
|
||||
fontadobe100dpi fontadobeutopia100dpi fontbh100dpi
|
||||
fontbhlucidatypewriter100dpi fontbitstream100dpi
|
||||
libX11
|
||||
libXt
|
||||
libXaw
|
||||
libXmu
|
||||
bdftopcf
|
||||
mkfontdir
|
||||
fontadobe100dpi
|
||||
fontadobeutopia100dpi
|
||||
fontbh100dpi
|
||||
fontbhlucidatypewriter100dpi
|
||||
fontbitstream100dpi
|
||||
tcl
|
||||
ncurses
|
||||
expat
|
||||
];
|
||||
] ++ lib.optionals stdenv.isDarwin [ libiconv darwin.apple_sdk.frameworks.Security ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "IBM 3270 terminal emulator for the X Window System";
|
||||
|
@ -1,13 +1,12 @@
|
||||
{ fetchFromGitHub
|
||||
, gitMinimal
|
||||
, gfold
|
||||
, lib
|
||||
, libiconv
|
||||
, makeWrapper
|
||||
, rustPlatform
|
||||
, Security
|
||||
, stdenv
|
||||
, testers
|
||||
{
|
||||
fetchFromGitHub,
|
||||
gfold,
|
||||
lib,
|
||||
libiconv,
|
||||
rustPlatform,
|
||||
Security,
|
||||
stdenv,
|
||||
testers,
|
||||
}:
|
||||
|
||||
let
|
||||
@ -26,7 +25,10 @@ rustPlatform.buildRustPackage {
|
||||
|
||||
cargoHash = "sha256-wDUOYK9e0i600UnJ0w0FPI2GhTa/QTq/2+ICiDWrmEU=";
|
||||
|
||||
buildInputs = lib.optionals stdenv.isDarwin [ libiconv Security ];
|
||||
buildInputs = lib.optionals stdenv.isDarwin [
|
||||
libiconv
|
||||
Security
|
||||
];
|
||||
|
||||
passthru.tests.version = testers.testVersion {
|
||||
package = gfold;
|
||||
@ -35,11 +37,10 @@ rustPlatform.buildRustPackage {
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description =
|
||||
"CLI tool to help keep track of your Git repositories, written in Rust";
|
||||
description = "CLI tool to help keep track of your Git repositories, written in Rust";
|
||||
homepage = "https://github.com/nickgerace/gfold";
|
||||
license = licenses.asl20;
|
||||
maintainers = [];
|
||||
maintainers = [ maintainers.sigmanificient ];
|
||||
platforms = platforms.unix;
|
||||
mainProgram = "gfold";
|
||||
};
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "git-codereview";
|
||||
version = "1.10.0";
|
||||
version = "1.11.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "golang";
|
||||
repo = "review";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-aLvx9lYQJYUw2XBj+2P+yEJMboUjmHKzxP5QA3N93JA=";
|
||||
hash = "sha256-fIvNaMfgwnMBUNo6kr37zhKiBgKNzT2E0dLLtqaVBvI=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
@ -10,7 +10,7 @@
|
||||
}:
|
||||
|
||||
let
|
||||
version = "5.12.197";
|
||||
version = "5.12.198";
|
||||
in
|
||||
rustPlatform.buildRustPackage {
|
||||
pname = "git-mit";
|
||||
@ -20,10 +20,10 @@ rustPlatform.buildRustPackage {
|
||||
owner = "PurpleBooth";
|
||||
repo = "git-mit";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-Z03FDdlg1IBXHpurKr6RwmtZkaptyeQe+0lgKn/GTTQ=";
|
||||
hash = "sha256-4tWgIwDmGZhMFTVT5VzmGj69zV8FGTV0yBHUy5Iu1Xw=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-V8TV8RM3T7DYqwNV/r5PkkJVtyAQLdY3BR3sz26phdY=";
|
||||
cargoHash = "sha256-vKiCKcyB1Q2CNA4HpE8dc5gh+nlrz0VERIMaTGlDH5Y=";
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitLab
|
||||
, mkKdeDerivation
|
||||
, breeze-icons
|
||||
, breeze
|
||||
, cmake
|
||||
@ -15,7 +15,7 @@
|
||||
, kirigami
|
||||
, kxmlgui
|
||||
, kdoctools
|
||||
, mpv
|
||||
, mpvqt
|
||||
, pkg-config
|
||||
, wrapQtAppsHook
|
||||
, qqc2-desktop-style
|
||||
@ -23,7 +23,7 @@
|
||||
, yt-dlp
|
||||
}:
|
||||
|
||||
mkKdeDerivation rec {
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "haruna";
|
||||
version = "1.0.2";
|
||||
|
||||
@ -56,7 +56,7 @@ mkKdeDerivation rec {
|
||||
kirigami
|
||||
kxmlgui
|
||||
kdoctools
|
||||
mpv
|
||||
mpvqt
|
||||
qtbase
|
||||
];
|
||||
|
||||
|
@ -2,7 +2,10 @@
|
||||
, stdenvNoCC }:
|
||||
|
||||
let
|
||||
escapedList = with lib; concatMapStringsSep " " (s: "'${escape [ "'" ] s}'");
|
||||
# Escape strings for embedding in shell scripts
|
||||
escaped = s: "'${lib.escape [ "'" ] s}'";
|
||||
escapedList = lib.concatMapStringsSep " " escaped;
|
||||
|
||||
fileName = pathStr: lib.last (lib.splitString "/" pathStr);
|
||||
scriptsDir = "$out/share/mpv/scripts";
|
||||
|
||||
@ -50,14 +53,14 @@ lib.makeOverridable (args: stdenvNoCC.mkDerivation (extendedBy
|
||||
}
|
||||
[ ${with builtins; toString (length extraScripts)} -eq 0 ] || {
|
||||
echo "mpvScripts.buildLua does not support 'extraScripts'" \
|
||||
"when 'scriptPath' is a directory"
|
||||
"when 'scriptPath' is a directory" >&2
|
||||
exit 1
|
||||
}
|
||||
mkdir -p "${scriptsDir}"
|
||||
cp -a "${scriptPath}" "${scriptsDir}/${scriptName}"
|
||||
else
|
||||
install -m644 -Dt "${scriptsDir}" \
|
||||
${escapedList ([ scriptPath ] ++ extraScripts)}
|
||||
install -m644 -Dt "${scriptsDir}" ${escaped scriptPath}
|
||||
${lib.optionalString (extraScripts != []) ''cp -at "${scriptsDir}/" ${escapedList extraScripts}''}
|
||||
fi
|
||||
|
||||
runHook postInstall
|
||||
|
@ -29,7 +29,6 @@ buildLua {
|
||||
extraScripts = [ "c_concat.sh" ];
|
||||
|
||||
postInstall = ''
|
||||
chmod 0755 $out/share/mpv/scripts/c_concat.sh
|
||||
wrapProgram $out/share/mpv/scripts/c_concat.sh \
|
||||
--run "mkdir -p ~/.config/mpv/cutter/"
|
||||
'';
|
||||
|
@ -32,7 +32,7 @@ buildLua {
|
||||
--replace 'mp.find_config_file("scripts")' "\"$out/share/mpv/scripts\""
|
||||
'';
|
||||
|
||||
postInstall = "cp -a sponsorblock_shared $out/share/mpv/scripts/";
|
||||
extraScripts = [ "sponsorblock_shared" ];
|
||||
|
||||
passthru.updateScript = nix-update-script {
|
||||
extraArgs = [ "--version=branch" ];
|
||||
|
@ -8,13 +8,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "obs-shaderfilter";
|
||||
version = "2.3.1";
|
||||
version = "2.3.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "exeldro";
|
||||
repo = "obs-shaderfilter";
|
||||
rev = version;
|
||||
sha256 = "sha256-J7tCEIB9zQ0zZFl1eSuEARd+KqpNClHfYx3wcLawFeM=";
|
||||
sha256 = "sha256-INxz8W4AMKxRcfpZkhqqsWWWQQVEc2G9iFQBit1YA2E=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
@ -9,13 +9,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "obs-vertical-canvas";
|
||||
version = "1.4.1";
|
||||
version = "1.4.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Aitum";
|
||||
repo = "obs-vertical-canvas";
|
||||
rev = version;
|
||||
sha256 = "sha256-baEF8vcAmac4bwpzJnGE2WczTa6vojjRQ/oEKgYeXgk=";
|
||||
sha256 = "sha256-3lFM7bOzsKex6JUdbcw8MNS4PRzaN/E/vngdukgfV0s=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
@ -21,13 +21,13 @@
|
||||
}:
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "shotcut";
|
||||
version = "24.04.13";
|
||||
version = "24.04.28";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mltframework";
|
||||
repo = "shotcut";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-xEdCsvclZXCJgoOnx5ZyOElCXjGpbrOtC7VOR5Hgvpg=";
|
||||
hash = "sha256-iMg2XrTrLFZXXvnJ7lMdkxf/LTaL9bh9Nc2jsPOS0eo=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config cmake wrapQtAppsHook ];
|
||||
|
@ -5,12 +5,12 @@
|
||||
}: stdenv.mkDerivation rec {
|
||||
|
||||
pname = "vdr";
|
||||
version = "2.6.6";
|
||||
version = "2.6.7";
|
||||
|
||||
src = fetchgit {
|
||||
url = "git://git.tvdr.de/vdr.git";
|
||||
rev = version;
|
||||
hash = "sha256-3om/Q67PHtX/aIG4zMCaJTyD9bZNEcyE5LQTeb+zB+M=";
|
||||
hash = "sha256-6i3EQgARwMLNejgB0NevmLmd9OrNBvjqW+qLrAdqUxE=";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
@ -32,6 +32,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
pkg-config
|
||||
];
|
||||
|
||||
CXXFLAGS = "-std=c++98";
|
||||
|
||||
buildInputs = [
|
||||
freetype
|
||||
fribidi
|
||||
|
@ -64,26 +64,26 @@ let
|
||||
name = "arrow-testing";
|
||||
owner = "apache";
|
||||
repo = "arrow-testing";
|
||||
rev = "ad82a736c170e97b7c8c035ebd8a801c17eec170";
|
||||
hash = "sha256-wN0dam0ZXOAJ+D8bGDMhsdaV3llI9LsiCXwqW9mR3gQ=";
|
||||
rev = "25d16511e8d42c2744a1d94d90169e3a36e92631";
|
||||
hash = "sha256-fXeWM/8jBfJY7KL6PVfRbzB8i4sp6PHsnMSHCX5kzfI=";
|
||||
};
|
||||
|
||||
parquet-testing = fetchFromGitHub {
|
||||
name = "parquet-testing";
|
||||
owner = "apache";
|
||||
repo = "parquet-testing";
|
||||
rev = "d69d979223e883faef9dc6fe3cf573087243c28a";
|
||||
hash = "sha256-CUckfNjfDW05crWigzMP5b9UynviXKGZUlIr754OoGU=";
|
||||
rev = "74278bc4a1122d74945969e6dec405abd1533ec3";
|
||||
hash = "sha256-WbpndtAviph6+I/F2bevuMI9DkfSv4SMPgMaP98k6Qo=";
|
||||
};
|
||||
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "arrow-cpp";
|
||||
version = "15.0.0";
|
||||
version = "16.0.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://apache/arrow/arrow-${finalAttrs.version}/apache-arrow-${finalAttrs.version}.tar.gz";
|
||||
hash = "sha256-Ad0/cOhdm1uTPsksDbik71BKUQX3jS2GIuhCeftFwl0=";
|
||||
hash = "sha256-n0BRrpRzyXmR2a+AHi+UrjRVBncZyn+QuBN/nppwC40=";
|
||||
};
|
||||
|
||||
sourceRoot = "apache-arrow-${finalAttrs.version}/cpp";
|
||||
@ -116,8 +116,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
ARROW_SUBSTRAIT_URL = fetchFromGitHub {
|
||||
owner = "substrait-io";
|
||||
repo = "substrait";
|
||||
rev = "v0.27.0";
|
||||
hash = "sha256-wptEAXembah04pzqAz6UHeUxp+jMf6Lh/IdyuIhy/a8=";
|
||||
rev = "v0.44.0";
|
||||
hash = "sha256-V739IFTGPtbGPlxcOi8sAaYSDhNUEpITvN9IqdPReug=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -6,17 +6,20 @@
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "audiness";
|
||||
version = "0.3.2";
|
||||
version = "0.4.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "audiusGmbH";
|
||||
repo = "audiness";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-vc2k3oEMTgzm/C6z6BieRrT3cSP0IkY+D3RXkNGaZTE=";
|
||||
hash = "sha256-UJe4ZawjAuUoSKEdIgjh8zZu/amYLZ8rpUDahSHokKA=";
|
||||
};
|
||||
|
||||
pythonRelaxDeps = [ "validators" ];
|
||||
pythonRelaxDeps = [
|
||||
"typer"
|
||||
"validators"
|
||||
];
|
||||
|
||||
build-system = with python3.pkgs; [ poetry-core ];
|
||||
|
||||
|
@ -27,20 +27,20 @@ let
|
||||
in
|
||||
buildNpmPackage' rec {
|
||||
pname = "bruno";
|
||||
version = "1.14.0";
|
||||
version = "1.16.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "usebruno";
|
||||
repo = "bruno";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-kUvDtqv3Tdnntr4Ny5pM406KA5++AHsCoAiPg4x4Rsw=";
|
||||
hash = "sha256-nhs44W7cOREdULdXFNZpFGeeZeVTGUffKOBhtL4zAaw=";
|
||||
|
||||
postFetch = ''
|
||||
${lib.getExe npm-lockfile-fix} $out/package-lock.json
|
||||
'';
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-VvUpAdF4ouy695om3qpsyrmiMf69OFgfpQyeZArQEDs=";
|
||||
npmDepsHash = "sha256-p4rBEOK9zKGO1q3SCKpfdX3EPMkYHRvn9UnGBhsksSE=";
|
||||
npmFlags = [ "--legacy-peer-deps" ];
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -9,13 +9,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "cue";
|
||||
version = "0.8.1";
|
||||
version = "0.8.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cue-lang";
|
||||
repo = "cue";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-0HNE7NzTdq1bXj9tBZvBQ3m6Q5iuyAMKMOz0kyOJi7w=";
|
||||
hash = "sha256-GU1PG5ciUqbRlAveq2ouqnBYIBEdMSSM0H/1eHL+zlo=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-0OZtKIDdEnQLnSj109EpGvaZvMIy7gPAZ+weHzYKGSg=";
|
||||
|
@ -1,6 +1,7 @@
|
||||
{ lib
|
||||
, fetchFromGitHub
|
||||
, python3
|
||||
{
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
python3,
|
||||
}:
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
@ -16,26 +17,27 @@ python3.pkgs.buildPythonApplication rec {
|
||||
};
|
||||
|
||||
pythonRelaxDeps = [
|
||||
"typer"
|
||||
"validators"
|
||||
];
|
||||
|
||||
nativeBuildInputs = with python3.pkgs; [
|
||||
poetry-core
|
||||
pythonRelaxDepsHook
|
||||
];
|
||||
build-system = with python3.pkgs; [ poetry-core ];
|
||||
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
pycups
|
||||
typer
|
||||
validators
|
||||
] ++ typer.optional-dependencies.all;
|
||||
nativeBuildInputs = with python3.pkgs; [ pythonRelaxDepsHook ];
|
||||
|
||||
dependencies =
|
||||
with python3.pkgs;
|
||||
[
|
||||
pycups
|
||||
typer
|
||||
validators
|
||||
]
|
||||
++ typer.optional-dependencies.all;
|
||||
|
||||
# Project has no tests
|
||||
doCheck = false;
|
||||
|
||||
pythonImportsCheck = [
|
||||
"cups_printers"
|
||||
];
|
||||
pythonImportsCheck = [ "cups_printers" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Tool for interacting with a CUPS server";
|
||||
|
@ -21,15 +21,15 @@ let
|
||||
src = fetchFromGitHub {
|
||||
owner = "domenkozar";
|
||||
repo = "nix";
|
||||
rev = "ecd0af0c1f56de32cbad14daa1d82a132bf298f8";
|
||||
hash = "sha256-92xq7eXlxIT5zFNccLpjiP7sdQqQI30Gyui2p/PfKZM=";
|
||||
rev = "b24a9318ea3f3600c1e24b4a00691ee912d4de12";
|
||||
hash = "sha256-BGvBhepCufsjcUkXnEEXhEVjwdJAwPglCC2+bInc794=";
|
||||
};
|
||||
buildInputs = old.buildInputs ++ [ libgit2 ];
|
||||
doCheck = false;
|
||||
doInstallCheck = false;
|
||||
});
|
||||
|
||||
version = "1.0.4";
|
||||
version = "1.0.5";
|
||||
in rustPlatform.buildRustPackage {
|
||||
pname = "devenv";
|
||||
inherit version;
|
||||
@ -38,10 +38,10 @@ in rustPlatform.buildRustPackage {
|
||||
owner = "cachix";
|
||||
repo = "devenv";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-JODoFPcYKOr39dErx8JFSjeWKmO5PUsHJrF2VU6MFEg=";
|
||||
hash = "sha256-W5DFIifCjGYJXJzLU3RpqBeqes4zrf0Sr/6rwzTygPU=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-//THEzW0OYEDSLrOELBaWnwjDbUc4jpwRDQfWJO/saA=";
|
||||
cargoHash = "sha256-a6o28oonA6G0xo83PXwbH86V0aDDAAA2zajE67qsSU0=";
|
||||
|
||||
nativeBuildInputs = [ makeWrapper pkg-config ];
|
||||
|
||||
|
@ -9,12 +9,12 @@
|
||||
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
name = "disko";
|
||||
version = "1.5.0";
|
||||
version = "1.6.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "nix-community";
|
||||
repo = "disko";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-5DUNQl9BSmLxgGLbF05G7hi/UTk9DyZq8AuEszhQA7Q=";
|
||||
hash = "sha256-h3pOvHCXkSdp1KOZqtkQmHgkR7VaOJXDhqhumk7sZLY=";
|
||||
};
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
buildInputs = [ bash ];
|
||||
|
@ -46,13 +46,13 @@ let
|
||||
in
|
||||
stdenv'.mkDerivation (finalAttrs: {
|
||||
pname = "fastfetch";
|
||||
version = "2.9.2";
|
||||
version = "2.10.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "fastfetch-cli";
|
||||
repo = "fastfetch";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-SEt/qw8ixlgRY2+fqyCmhqzLVoAw/BMl//JqQxbuB0s=";
|
||||
hash = "sha256-1ok2HR9RapS+MF8zuNLhzMZMz0F2AQsKsxNqCT7QF/8=";
|
||||
};
|
||||
|
||||
outputs = [ "out" "man" ];
|
||||
|
@ -20,14 +20,14 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "fnott";
|
||||
version = "1.4.1";
|
||||
version = "1.5.0";
|
||||
|
||||
src = fetchFromGitea {
|
||||
domain = "codeberg.org";
|
||||
owner = "dnkl";
|
||||
repo = "fnott";
|
||||
rev = version;
|
||||
hash = "sha256-8SKInlj54BP3Gn/DNVoLN62+Dfa8G5d/q2xGUXXdsjo=";
|
||||
hash = "sha256-F2Pt3xbWDZZ3s056KU3qLXUrFQ0wT7QYK4GvR7slMYc=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
|
@ -2,7 +2,7 @@
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, pkg-config
|
||||
, openssl
|
||||
, libressl
|
||||
, libbsd
|
||||
, libevent
|
||||
, libuuid
|
||||
@ -12,21 +12,22 @@
|
||||
, ncurses
|
||||
, bison
|
||||
, autoPatchelfHook
|
||||
, testers
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "got";
|
||||
version = "0.97";
|
||||
version = "0.98.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://gameoftrees.org/releases/portable/got-portable-${finalAttrs.version}.tar.gz";
|
||||
hash = "sha256-4HpIlKRYUDoymCBH8GS8DDXaY0nYiVvotpBkwglOO3I=";
|
||||
hash = "sha256-/11K2ZIu3xyAVbI5hlCXL9RjyAlZDb544uqxv3ihUMg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config bison ]
|
||||
++ lib.optionals stdenv.isLinux [ autoPatchelfHook ];
|
||||
|
||||
buildInputs = [ openssl libbsd libevent libuuid libmd zlib ncurses ]
|
||||
buildInputs = [ libressl libbsd libevent libuuid libmd zlib ncurses ]
|
||||
++ lib.optionals stdenv.isDarwin [ libossp_uuid ];
|
||||
|
||||
configureFlags = [ "--enable-gotd" ];
|
||||
@ -45,13 +46,9 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
"-include getopt.h"
|
||||
]);
|
||||
|
||||
doInstallCheck = true;
|
||||
|
||||
installCheckPhase = ''
|
||||
runHook preInstallCheck
|
||||
test "$($out/bin/got --version)" = "got ${finalAttrs.version}"
|
||||
runHook postInstallCheck
|
||||
'';
|
||||
passthru.tests.version = testers.testVersion {
|
||||
package = finalAttrs.finalPackage;
|
||||
};
|
||||
|
||||
meta = {
|
||||
changelog = "https://gameoftrees.org/releases/CHANGES";
|
23
pkgs/by-name/gr/grafana-kiosk/package.nix
Normal file
23
pkgs/by-name/gr/grafana-kiosk/package.nix
Normal file
@ -0,0 +1,23 @@
|
||||
{ lib, buildGoModule, fetchFromGitHub }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "grafana-kiosk";
|
||||
version = "1.0.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "grafana";
|
||||
repo = "grafana-kiosk";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-KXEbhRFD++VeVI1Fbrai+IYb3lyGKs+plYPoKIZD0JM=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-sXaxyPNuHDUOkYcWYm94YvJmr1mGe4HdzttWrNSK2Pw=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Kiosk Utility for Grafana";
|
||||
homepage = "https://github.com/grafana/grafana-kiosk";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ marcusramberg ];
|
||||
mainProgram = "grafana-kiosk";
|
||||
};
|
||||
}
|
42
pkgs/by-name/ha/hamtransfer/package.nix
Normal file
42
pkgs/by-name/ha/hamtransfer/package.nix
Normal file
@ -0,0 +1,42 @@
|
||||
{ lib
|
||||
, rustPlatform
|
||||
, fetchFromGitHub
|
||||
, pkg-config
|
||||
, protobuf
|
||||
, sqlite
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage {
|
||||
pname = "hamtransfer";
|
||||
version = "unstable-2024-04-05";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ThomasHabets";
|
||||
repo = "hamtransfer";
|
||||
rev = "6b0ac28e0b8cdcc3ac9aba9cd6115e48c4f26c1e";
|
||||
hash = "sha256-yZwbFjs+mnTbU+75dwRhVjvXXoHQuzgE9GlliUQZV1s=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-lFzsURGhEcuTL6dHt4/l54eT3mD7H8tsW/+unisdjKY=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
protobuf
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
sqlite
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
mv $out/bin/downloader $out/bin/hamtransfer-downloader
|
||||
mv $out/bin/uploader $out/bin/hamtransfer-uploader
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Tool for transferring files over amateur radio using modern techniques";
|
||||
homepage = "https://github.com/ThomasHabets/hamtransfer";
|
||||
license = licenses.gpl2Only;
|
||||
maintainers = with maintainers; [ matthewcroughan sarcasticadmin pkharvey ];
|
||||
};
|
||||
}
|
@ -2,16 +2,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "hyprland-monitor-attached";
|
||||
version = "0.1.5";
|
||||
version = "0.1.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "coffebar";
|
||||
repo = "hyprland-monitor-attached";
|
||||
rev = version;
|
||||
hash = "sha256-McenpaoEjQIB709VlLkyVGoUwVoMe7TJPb8Lrh1efw8=";
|
||||
hash = "sha256-+bgOOm1B513COcWdUIJ/+GREQH5CR8/RNOcZVkjO2hI=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-QH32NYZJcSxTMgHZKqksy2+DLw62G+knJgoj6OGRfQE=";
|
||||
cargoHash = "sha256-vQfDsP2Tc+Kj95wXIzPTlf6kRdBgdio0QkM9EJRjZjE=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Automatically run a script when a monitor connects (or disconnects) in Hyprland";
|
||||
|
@ -8,14 +8,14 @@
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "icloudpd";
|
||||
version = "1.17.4";
|
||||
version = "1.17.5";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "icloud-photos-downloader";
|
||||
repo = "icloud_photos_downloader";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-xsUayewn6c+TFqQnvDWe+1y4o76Quq8sK1WkSFFgPkc=";
|
||||
hash = "sha256-1tyvoDAlh2UuPWDqA7mwC1v5kij3v3aBZBfIG/vluJo=";
|
||||
};
|
||||
|
||||
pythonRelaxDeps = true;
|
||||
|
30
pkgs/by-name/kd/kdotool/package.nix
Normal file
30
pkgs/by-name/kd/kdotool/package.nix
Normal file
@ -0,0 +1,30 @@
|
||||
{ lib,
|
||||
fetchFromGitHub,
|
||||
rustPlatform,
|
||||
pkg-config,
|
||||
dbus
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
version = "0.2.1";
|
||||
pname = "kdotool";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jinliu";
|
||||
repo = "kdotool";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-ogdZziNV4b3h9LiEyWFrD/I/I4k8Z5rNFTNjQpWBQtg=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-pL5vLfNWsZi75mI5K/PYVmgHTPCyIKpQY0YU2CJABN8=";
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ dbus ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "xdotool-like for KDE Wayland";
|
||||
homepage = "https://github.com/jinliu/kdotool";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ kotatsuyaki ];
|
||||
};
|
||||
}
|
@ -2,12 +2,12 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "littlefs-fuse";
|
||||
version = "2.7.7";
|
||||
version = "2.7.8";
|
||||
src = fetchFromGitHub {
|
||||
owner = "littlefs-project";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-MCmi0CBs3RLuYn+1BsS6pIeR/tHS1lGNyV3ZwlsnQCA=";
|
||||
hash = "sha256-dJt2Tcw+qdcOoZ9ejao9NXys/OYQTvbP9+dD6DCzFAw=";
|
||||
};
|
||||
buildInputs = [ fuse ];
|
||||
installPhase = ''
|
||||
|
30
pkgs/by-name/lo/local-ai/lib.nix
Normal file
30
pkgs/by-name/lo/local-ai/lib.nix
Normal file
@ -0,0 +1,30 @@
|
||||
{ lib
|
||||
, writers
|
||||
, writeText
|
||||
, linkFarmFromDrvs
|
||||
}: {
|
||||
genModels = configs:
|
||||
let
|
||||
name = lib.strings.sanitizeDerivationName
|
||||
(builtins.concatStringsSep "_" ([ "local-ai-models" ] ++ (builtins.attrNames configs)));
|
||||
|
||||
genModelFiles = name: config:
|
||||
let
|
||||
templateName = type: name + "_" + type;
|
||||
|
||||
config' = lib.recursiveUpdate config ({
|
||||
inherit name;
|
||||
} // lib.optionalAttrs (lib.isDerivation config.parameters.model) {
|
||||
parameters.model = config.parameters.model.name;
|
||||
} // lib.optionalAttrs (config ? template) {
|
||||
template = builtins.mapAttrs (n: _: templateName n) config.template;
|
||||
});
|
||||
in
|
||||
[ (writers.writeYAML "${name}.yaml" config') ]
|
||||
++ lib.optional (lib.isDerivation config.parameters.model)
|
||||
config.parameters.model
|
||||
++ lib.optionals (config ? template)
|
||||
(lib.mapAttrsToList (n: writeText "${templateName n}.tmpl") config.template);
|
||||
in
|
||||
linkFarmFromDrvs name (lib.flatten (lib.mapAttrsToList genModelFiles configs));
|
||||
}
|
56
pkgs/by-name/lo/local-ai/module.nix
Normal file
56
pkgs/by-name/lo/local-ai/module.nix
Normal file
@ -0,0 +1,56 @@
|
||||
{ pkgs, config, lib, ... }:
|
||||
let
|
||||
cfg = config.services.local-ai;
|
||||
inherit (lib) mkOption types;
|
||||
in
|
||||
{
|
||||
options.services.local-ai = {
|
||||
enable = lib.mkEnableOption "Enable service";
|
||||
|
||||
package = lib.mkPackageOption pkgs "local-ai" { };
|
||||
|
||||
extraArgs = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [ ];
|
||||
};
|
||||
|
||||
port = mkOption {
|
||||
type = types.port;
|
||||
default = 8080;
|
||||
};
|
||||
|
||||
threads = mkOption {
|
||||
type = types.int;
|
||||
default = 1;
|
||||
};
|
||||
|
||||
models = mkOption {
|
||||
type = types.either types.package types.str;
|
||||
default = "models";
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
systemd.services.local-ai = {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig = {
|
||||
DynamicUser = true;
|
||||
ExecStart = lib.escapeShellArgs ([
|
||||
"${cfg.package}/bin/local-ai"
|
||||
"--debug"
|
||||
"--address"
|
||||
":${toString cfg.port}"
|
||||
"--threads"
|
||||
(toString cfg.threads)
|
||||
"--localai-config-dir"
|
||||
"."
|
||||
"--models-path"
|
||||
(toString cfg.models)
|
||||
]
|
||||
++ cfg.extraArgs);
|
||||
RuntimeDirectory = "local-ai";
|
||||
WorkingDirectory = "%t/local-ai";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
@ -6,6 +6,8 @@
|
||||
, fetchpatch
|
||||
, fetchFromGitHub
|
||||
, protobuf
|
||||
, protoc-gen-go
|
||||
, protoc-gen-go-grpc
|
||||
, grpc
|
||||
, openssl
|
||||
, llama-cpp
|
||||
@ -61,8 +63,8 @@ let
|
||||
|
||||
inherit (cudaPackages) libcublas cuda_nvcc cuda_cccl cuda_cudart cudatoolkit;
|
||||
|
||||
go-llama-ggml = effectiveStdenv.mkDerivation {
|
||||
name = "go-llama-ggml";
|
||||
go-llama = effectiveStdenv.mkDerivation {
|
||||
name = "go-llama";
|
||||
src = fetchFromGitHub {
|
||||
owner = "go-skynet";
|
||||
repo = "go-llama.cpp";
|
||||
@ -98,8 +100,8 @@ let
|
||||
src = fetchFromGitHub {
|
||||
owner = "ggerganov";
|
||||
repo = "llama.cpp";
|
||||
rev = "1b67731e184e27a465b8c5476061294a4af668ea";
|
||||
hash = "sha256-0WWbsklpW6HhFRkvWpYh8Lhi8VIansS/zmyIKNQRkIs=";
|
||||
rev = "784e11dea1f5ce9638851b2b0dddb107e2a609c8";
|
||||
hash = "sha256-yAQAUo5J+a6O2kTqhFL1UH0tANxpQn3JhAd3MByaC6I=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
postPatch = prev.postPatch + ''
|
||||
@ -252,8 +254,8 @@ let
|
||||
src = fetchFromGitHub {
|
||||
owner = "ggerganov";
|
||||
repo = "whisper.cpp";
|
||||
rev = "8f253ef3af1c62c04316ba4afa7145fc4d701a8c";
|
||||
hash = "sha256-yHHjhpQIn99A/hqFwAb7TfTf4Q9KnKat93zyXS70bT8=";
|
||||
rev = "858452d58dba3acdc3431c9bced2bb8cfd9bf418";
|
||||
hash = "sha256-2fT3RgGpBex1mF6GJsVDo4rb0F31YqxTymsXcrpQAZk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config ]
|
||||
@ -371,18 +373,18 @@ let
|
||||
stdenv;
|
||||
|
||||
pname = "local-ai";
|
||||
version = "2.12.4";
|
||||
version = "2.13.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "go-skynet";
|
||||
repo = "LocalAI";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-piu2B6u4ZfxiOd9SXrE7jiiiwL2SM8EqXo2s5qeKRl0=";
|
||||
hash = "sha256-jZE8Ow9FFhnx/jvsURLYlYtSuKpE4UWBezxg/mpHs9g=";
|
||||
};
|
||||
|
||||
self = buildGoModule.override { stdenv = effectiveStdenv; } {
|
||||
inherit pname version src;
|
||||
|
||||
vendorHash = "sha256-8Hu1y/PK21twnB7D22ltslFFzRrsB8d1R2hkgIFB/XY=";
|
||||
vendorHash = "sha256-nWNK2YekQnBSLx4ouNSe6esIe0yFuo69E0HStYLQANg=";
|
||||
|
||||
env.NIX_CFLAGS_COMPILE = lib.optionalString with_stablediffusion " -isystem ${opencv}/include/opencv4";
|
||||
|
||||
@ -392,12 +394,12 @@ let
|
||||
in
|
||||
''
|
||||
sed -i Makefile \
|
||||
-e 's;git clone.*go-llama-ggml$;${cp} ${go-llama-ggml} sources/go-llama-ggml;' \
|
||||
-e 's;git clone.*go-llama\.cpp$;${cp} ${go-llama} sources/go-llama\.cpp;' \
|
||||
-e 's;git clone.*gpt4all$;${cp} ${gpt4all} sources/gpt4all;' \
|
||||
-e 's;git clone.*go-piper$;${cp} ${if with_tts then go-piper else go-piper.src} sources/go-piper;' \
|
||||
-e 's;git clone.*go-rwkv$;${cp} ${go-rwkv} sources/go-rwkv;' \
|
||||
-e 's;git clone.*go-rwkv\.cpp$;${cp} ${go-rwkv} sources/go-rwkv\.cpp;' \
|
||||
-e 's;git clone.*whisper\.cpp$;${cp} ${whisper-cpp.src} sources/whisper\.cpp;' \
|
||||
-e 's;git clone.*go-bert$;${cp} ${go-bert} sources/go-bert;' \
|
||||
-e 's;git clone.*go-bert\.cpp$;${cp} ${go-bert} sources/go-bert\.cpp;' \
|
||||
-e 's;git clone.*diffusion$;${cp} ${if with_stablediffusion then go-stable-diffusion else go-stable-diffusion.src} sources/go-stable-diffusion;' \
|
||||
-e 's;git clone.*go-tiny-dream$;${cp} ${if with_tinydream then go-tiny-dream else go-tiny-dream.src} sources/go-tiny-dream;' \
|
||||
-e 's, && git checkout.*,,g' \
|
||||
@ -415,14 +417,19 @@ let
|
||||
++ lib.optionals with_stablediffusion go-stable-diffusion.buildInputs
|
||||
++ lib.optionals with_tts go-piper.buildInputs;
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ]
|
||||
++ lib.optionals with_cublas [ cuda_nvcc ];
|
||||
nativeBuildInputs = [
|
||||
protobuf
|
||||
protoc-gen-go
|
||||
protoc-gen-go-grpc
|
||||
makeWrapper
|
||||
]
|
||||
++ lib.optionals with_cublas [ cuda_nvcc ];
|
||||
|
||||
enableParallelBuilding = false;
|
||||
|
||||
modBuildPhase = ''
|
||||
mkdir sources
|
||||
make prepare-sources
|
||||
make prepare-sources protogen-go
|
||||
go mod tidy -v
|
||||
'';
|
||||
|
||||
@ -486,7 +493,7 @@ let
|
||||
|
||||
passthru.local-packages = {
|
||||
inherit
|
||||
go-tiny-dream go-rwkv go-bert go-llama-ggml gpt4all go-piper
|
||||
go-tiny-dream go-rwkv go-bert go-llama gpt4all go-piper
|
||||
llama-cpp-grpc whisper-cpp go-tiny-dream-ncnn espeak-ng' piper-phonemize
|
||||
piper-tts';
|
||||
};
|
||||
@ -498,6 +505,7 @@ let
|
||||
};
|
||||
|
||||
passthru.tests = callPackages ./tests.nix { inherit self; };
|
||||
passthru.lib = callPackages ./lib.nix { };
|
||||
|
||||
meta = with lib; {
|
||||
description = "OpenAI alternative to run local LLMs, image and audio generation";
|
||||
|
@ -5,156 +5,244 @@
|
||||
, fetchurl
|
||||
, writers
|
||||
, symlinkJoin
|
||||
, linkFarmFromDrvs
|
||||
, jq
|
||||
}:
|
||||
let
|
||||
common-config = { config, ... }: {
|
||||
imports = [ ./module.nix ];
|
||||
services.local-ai = {
|
||||
enable = true;
|
||||
package = self;
|
||||
threads = config.virtualisation.cores;
|
||||
};
|
||||
};
|
||||
|
||||
inherit (self.lib) genModels;
|
||||
in
|
||||
{
|
||||
version = testers.testVersion {
|
||||
package = self;
|
||||
version = "v" + self.version;
|
||||
command = "local-ai --help";
|
||||
};
|
||||
|
||||
health =
|
||||
let
|
||||
port = "8080";
|
||||
in
|
||||
testers.runNixOSTest {
|
||||
name = self.name + "-health";
|
||||
nodes.machine = {
|
||||
systemd.services.local-ai = {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig.ExecStart = "${self}/bin/local-ai --debug --localai-config-dir . --address :${port}";
|
||||
};
|
||||
};
|
||||
testScript = ''
|
||||
health = testers.runNixOSTest ({ config, ... }: {
|
||||
name = self.name + "-health";
|
||||
nodes.machine = common-config;
|
||||
testScript =
|
||||
let
|
||||
port = "8080";
|
||||
in
|
||||
''
|
||||
machine.wait_for_open_port(${port})
|
||||
machine.succeed("curl -f http://localhost:${port}/readyz")
|
||||
'';
|
||||
};
|
||||
});
|
||||
|
||||
# https://localai.io/docs/getting-started/manual/
|
||||
llama =
|
||||
# https://localai.io/features/embeddings/#bert-embeddings
|
||||
bert =
|
||||
let
|
||||
port = "8080";
|
||||
gguf = fetchurl {
|
||||
url = "https://huggingface.co/TheBloke/Luna-AI-Llama2-Uncensored-GGUF/resolve/main/luna-ai-llama2-uncensored.Q4_K_M.gguf";
|
||||
sha256 = "6a9dc401c84f0d48996eaa405174999c3a33bf12c2bfd8ea4a1e98f376de1f15";
|
||||
model = "embedding";
|
||||
model-configs.${model} = {
|
||||
# Note: q4_0 and q4_1 models can not be loaded
|
||||
parameters.model = fetchurl {
|
||||
url = "https://huggingface.co/skeskinen/ggml/resolve/main/all-MiniLM-L6-v2/ggml-model-f16.bin";
|
||||
sha256 = "9c195b2453a4fef60a4f6be3a88a39211366214df6498a4fe4885c9e22314f50";
|
||||
};
|
||||
backend = "bert-embeddings";
|
||||
embeddings = true;
|
||||
};
|
||||
|
||||
models = genModels model-configs;
|
||||
|
||||
requests.request = {
|
||||
inherit model;
|
||||
input = "Your text string goes here";
|
||||
};
|
||||
models = linkFarmFromDrvs "models" [
|
||||
gguf
|
||||
];
|
||||
in
|
||||
testers.runNixOSTest {
|
||||
name = self.name + "-llama";
|
||||
nodes.machine =
|
||||
let
|
||||
cores = 4;
|
||||
in
|
||||
{
|
||||
virtualisation = {
|
||||
inherit cores;
|
||||
memorySize = 8192;
|
||||
};
|
||||
systemd.services.local-ai = {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig.ExecStart = "${self}/bin/local-ai --debug --threads ${toString cores} --models-path ${models} --localai-config-dir . --address :${port}";
|
||||
};
|
||||
};
|
||||
name = self.name + "-bert";
|
||||
nodes.machine = {
|
||||
imports = [ common-config ];
|
||||
virtualisation.cores = 2;
|
||||
virtualisation.memorySize = 2048;
|
||||
services.local-ai.models = models;
|
||||
};
|
||||
passthru = { inherit models requests; };
|
||||
testScript =
|
||||
let
|
||||
# https://localai.io/features/text-generation/#chat-completions
|
||||
request-chat-completions = {
|
||||
model = gguf.name;
|
||||
messages = [{ role = "user"; content = "Say this is a test!"; }];
|
||||
temperature = 0.7;
|
||||
};
|
||||
# https://localai.io/features/text-generation/#edit-completions
|
||||
request-edit-completions = {
|
||||
model = gguf.name;
|
||||
instruction = "rephrase";
|
||||
input = "Black cat jumped out of the window";
|
||||
temperature = 0.7;
|
||||
};
|
||||
# https://localai.io/features/text-generation/#completions
|
||||
request-completions = {
|
||||
model = gguf.name;
|
||||
prompt = "A long time ago in a galaxy far, far away";
|
||||
temperature = 0.7;
|
||||
};
|
||||
port = "8080";
|
||||
in
|
||||
''
|
||||
machine.wait_for_open_port(${port})
|
||||
machine.succeed("curl -f http://localhost:${port}/readyz")
|
||||
machine.succeed("curl -f http://localhost:${port}/v1/models --output models.json")
|
||||
machine.succeed("${jq}/bin/jq --exit-status 'debug | .data[].id == \"${gguf.name}\"' models.json")
|
||||
machine.succeed("curl -f http://localhost:${port}/v1/chat/completions --json @${writers.writeJSON "request-chat-completions.json" request-chat-completions} --output chat-completions.json")
|
||||
machine.succeed("${jq}/bin/jq --exit-status 'debug | .object == \"chat.completion\"' chat-completions.json")
|
||||
machine.succeed("curl -f http://localhost:${port}/v1/edits --json @${writers.writeJSON "request-edit-completions.json" request-edit-completions} --output edit-completions.json")
|
||||
machine.succeed("${jq}/bin/jq --exit-status 'debug | .object == \"edit\"' edit-completions.json")
|
||||
machine.succeed("curl -f http://localhost:${port}/v1/completions --json @${writers.writeJSON "request-completions.json" request-completions} --output completions.json")
|
||||
machine.succeed("${jq}/bin/jq --exit-status 'debug | .object ==\"text_completion\"' completions.json")
|
||||
machine.succeed("${jq}/bin/jq --exit-status 'debug | .data[].id == \"${model}\"' models.json")
|
||||
machine.succeed("curl -f http://localhost:${port}/embeddings --json @${writers.writeJSON "request.json" requests.request} --output embeddings.json")
|
||||
machine.succeed("${jq}/bin/jq --exit-status 'debug | .model == \"${model}\"' embeddings.json")
|
||||
'';
|
||||
};
|
||||
|
||||
} // lib.optionalAttrs self.features.with_tts {
|
||||
# https://localai.io/features/text-to-audio/#piper
|
||||
tts =
|
||||
} // lib.optionalAttrs (!self.features.with_cublas && !self.features.with_clblas) {
|
||||
# https://localai.io/docs/getting-started/manual/
|
||||
llama =
|
||||
let
|
||||
port = "8080";
|
||||
voice-en-us = fetchzip {
|
||||
url = "https://github.com/rhasspy/piper/releases/download/v0.0.2/voice-en-us-danny-low.tar.gz";
|
||||
hash = "sha256-5wf+6H5HeQY0qgdqnAG1vSqtjIFM9lXH53OgouuPm0M=";
|
||||
stripRoot = false;
|
||||
model = "gpt-3.5-turbo";
|
||||
|
||||
# https://localai.io/advanced/#full-config-model-file-reference
|
||||
model-configs.${model} = rec {
|
||||
context_size = 8192;
|
||||
parameters = {
|
||||
# https://huggingface.co/lmstudio-community/Meta-Llama-3-8B-Instruct-GGUF
|
||||
# https://ai.meta.com/blog/meta-llama-3/
|
||||
model = fetchurl {
|
||||
url = "https://huggingface.co/lmstudio-community/Meta-Llama-3-8B-Instruct-GGUF/resolve/main/Meta-Llama-3-8B-Instruct-Q4_K_M.gguf";
|
||||
sha256 = "ab9e4eec7e80892fd78f74d9a15d0299f1e22121cea44efd68a7a02a3fe9a1da";
|
||||
};
|
||||
# defaults from:
|
||||
# https://deepinfra.com/meta-llama/Meta-Llama-3-8B-Instruct
|
||||
temperature = 0.7;
|
||||
top_p = 0.9;
|
||||
top_k = 0;
|
||||
# following parameter leads to outputs like: !!!!!!!!!!!!!!!!!!!
|
||||
#repeat_penalty = 1;
|
||||
presence_penalty = 0;
|
||||
frequency_penalty = 0;
|
||||
max_tokens = 100;
|
||||
};
|
||||
stopwords = [ "<|eot_id|>" ];
|
||||
template = {
|
||||
# Templates implement following specifications
|
||||
# https://github.com/meta-llama/llama3/tree/main?tab=readme-ov-file#instruction-tuned-models
|
||||
# ... and are insprired by:
|
||||
# https://github.com/mudler/LocalAI/blob/master/embedded/models/llama3-instruct.yaml
|
||||
#
|
||||
# The rules for template evaluateion are defined here:
|
||||
# https://pkg.go.dev/text/template
|
||||
chat_message = ''
|
||||
<|start_header_id|>{{.RoleName}}<|end_header_id|>
|
||||
|
||||
{{.Content}}${builtins.head stopwords}'';
|
||||
|
||||
chat = "<|begin_of_text|>{{.Input}}<|start_header_id|>assistant<|end_header_id|>";
|
||||
};
|
||||
};
|
||||
ggml-tiny-en = fetchurl {
|
||||
url = "https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-tiny.en-q5_1.bin";
|
||||
hash = "sha256-x3xXZvHO8JtrfUfyG1Rsvd1BV4hrO11tT3CekeZsfCs=";
|
||||
};
|
||||
whisper-en = {
|
||||
name = "whisper-en";
|
||||
backend = "whisper";
|
||||
parameters.model = ggml-tiny-en.name;
|
||||
};
|
||||
models = symlinkJoin {
|
||||
name = "models";
|
||||
paths = [
|
||||
voice-en-us
|
||||
(linkFarmFromDrvs "whisper-en" [
|
||||
(writers.writeYAML "whisper-en.yaml" whisper-en)
|
||||
ggml-tiny-en
|
||||
])
|
||||
];
|
||||
|
||||
models = genModels model-configs;
|
||||
|
||||
requests = {
|
||||
# https://localai.io/features/text-generation/#chat-completions
|
||||
chat-completions = {
|
||||
inherit model;
|
||||
messages = [{ role = "user"; content = "1 + 2 = ?"; }];
|
||||
};
|
||||
# https://localai.io/features/text-generation/#edit-completions
|
||||
edit-completions = {
|
||||
inherit model;
|
||||
instruction = "rephrase";
|
||||
input = "Black cat jumped out of the window";
|
||||
max_tokens = 50;
|
||||
};
|
||||
# https://localai.io/features/text-generation/#completions
|
||||
completions = {
|
||||
inherit model;
|
||||
prompt = "A long time ago in a galaxy far, far away";
|
||||
};
|
||||
};
|
||||
in
|
||||
testers.runNixOSTest {
|
||||
name = self.name + "-tts";
|
||||
nodes.machine =
|
||||
let
|
||||
cores = 2;
|
||||
in
|
||||
{
|
||||
virtualisation = {
|
||||
inherit cores;
|
||||
};
|
||||
systemd.services.local-ai = {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig.ExecStart = "${self}/bin/local-ai --debug --threads ${toString cores} --models-path ${models} --localai-config-dir . --address :${port}";
|
||||
};
|
||||
};
|
||||
name = self.name + "-llama";
|
||||
nodes.machine = {
|
||||
imports = [ common-config ];
|
||||
virtualisation.cores = 4;
|
||||
virtualisation.memorySize = 8192;
|
||||
services.local-ai.models = models;
|
||||
};
|
||||
passthru = { inherit models requests; };
|
||||
testScript =
|
||||
let
|
||||
request = {
|
||||
model = "en-us-danny-low.onnx";
|
||||
backend = "piper";
|
||||
input = "Hello, how are you?";
|
||||
};
|
||||
port = "8080";
|
||||
in
|
||||
''
|
||||
machine.wait_for_open_port(${port})
|
||||
machine.succeed("curl -f http://localhost:${port}/readyz")
|
||||
machine.succeed("curl -f http://localhost:${port}/tts --json @${writers.writeJSON "request.json" request} --output out.wav")
|
||||
machine.succeed("curl -f http://localhost:${port}/v1/audio/transcriptions --header 'Content-Type: multipart/form-data' --form file=@out.wav --form model=${whisper-en.name} --output transcription.json")
|
||||
machine.succeed("${jq}/bin/jq --exit-status 'debug | .segments | first.text == \"${request.input}\"' transcription.json")
|
||||
machine.succeed("curl -f http://localhost:${port}/v1/models --output models.json")
|
||||
machine.succeed("${jq}/bin/jq --exit-status 'debug | .data[].id == \"${model}\"' models.json")
|
||||
|
||||
machine.succeed("curl -f http://localhost:${port}/v1/chat/completions --json @${writers.writeJSON "request-chat-completions.json" requests.chat-completions} --output chat-completions.json")
|
||||
machine.succeed("${jq}/bin/jq --exit-status 'debug | .object == \"chat.completion\"' chat-completions.json")
|
||||
machine.succeed("${jq}/bin/jq --exit-status 'debug | .choices | first.message.content | tonumber == 3' chat-completions.json")
|
||||
|
||||
machine.succeed("curl -f http://localhost:${port}/v1/edits --json @${writers.writeJSON "request-edit-completions.json" requests.edit-completions} --output edit-completions.json")
|
||||
machine.succeed("${jq}/bin/jq --exit-status 'debug | .object == \"edit\"' edit-completions.json")
|
||||
machine.succeed("${jq}/bin/jq --exit-status '.usage.completion_tokens | debug == ${toString requests.edit-completions.max_tokens}' edit-completions.json")
|
||||
|
||||
machine.succeed("curl -f http://localhost:${port}/v1/completions --json @${writers.writeJSON "request-completions.json" requests.completions} --output completions.json")
|
||||
machine.succeed("${jq}/bin/jq --exit-status 'debug | .object ==\"text_completion\"' completions.json")
|
||||
machine.succeed("${jq}/bin/jq --exit-status '.usage.completion_tokens | debug == ${toString model-configs.${model}.parameters.max_tokens}' completions.json")
|
||||
'';
|
||||
};
|
||||
|
||||
} // lib.optionalAttrs (self.features.with_tts && !self.features.with_cublas && !self.features.with_clblas) {
|
||||
# https://localai.io/features/text-to-audio/#piper
|
||||
tts =
|
||||
let
|
||||
model-stt = "whisper-en";
|
||||
model-configs.${model-stt} = {
|
||||
backend = "whisper";
|
||||
parameters.model = fetchurl {
|
||||
url = "https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-tiny.en-q5_1.bin";
|
||||
hash = "sha256-x3xXZvHO8JtrfUfyG1Rsvd1BV4hrO11tT3CekeZsfCs=";
|
||||
};
|
||||
};
|
||||
|
||||
model-tts = "piper-en";
|
||||
model-configs.${model-tts} = {
|
||||
backend = "piper";
|
||||
parameters.model = "en-us-danny-low.onnx";
|
||||
};
|
||||
|
||||
models =
|
||||
let
|
||||
models = genModels model-configs;
|
||||
in
|
||||
symlinkJoin {
|
||||
inherit (models) name;
|
||||
paths = [
|
||||
models
|
||||
(fetchzip {
|
||||
url = "https://github.com/rhasspy/piper/releases/download/v0.0.2/voice-en-us-danny-low.tar.gz";
|
||||
hash = "sha256-5wf+6H5HeQY0qgdqnAG1vSqtjIFM9lXH53OgouuPm0M=";
|
||||
stripRoot = false;
|
||||
})
|
||||
];
|
||||
};
|
||||
|
||||
requests.request = {
|
||||
model = model-tts;
|
||||
input = "Hello, how are you?";
|
||||
};
|
||||
in
|
||||
testers.runNixOSTest {
|
||||
name = self.name + "-tts";
|
||||
nodes.machine = {
|
||||
imports = [ common-config ];
|
||||
virtualisation.cores = 2;
|
||||
services.local-ai.models = models;
|
||||
};
|
||||
passthru = { inherit models requests; };
|
||||
testScript =
|
||||
let
|
||||
port = "8080";
|
||||
in
|
||||
''
|
||||
machine.wait_for_open_port(${port})
|
||||
machine.succeed("curl -f http://localhost:${port}/readyz")
|
||||
machine.succeed("curl -f http://localhost:${port}/v1/models --output models.json")
|
||||
machine.succeed("${jq}/bin/jq --exit-status 'debug' models.json")
|
||||
machine.succeed("curl -f http://localhost:${port}/tts --json @${writers.writeJSON "request.json" requests.request} --output out.wav")
|
||||
machine.succeed("curl -f http://localhost:${port}/v1/audio/transcriptions --header 'Content-Type: multipart/form-data' --form file=@out.wav --form model=${model-stt} --output transcription.json")
|
||||
machine.succeed("${jq}/bin/jq --exit-status 'debug | .segments | first.text == \"${requests.request.input}\"' transcription.json")
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
48
pkgs/by-name/ma/marwaita-x/package.nix
Normal file
48
pkgs/by-name/ma/marwaita-x/package.nix
Normal file
@ -0,0 +1,48 @@
|
||||
{ lib
|
||||
, stdenvNoCC
|
||||
, fetchFromGitHub
|
||||
, nix-update-script
|
||||
, gdk-pixbuf
|
||||
, gtk-engine-murrine
|
||||
, gtk_engines
|
||||
, librsvg
|
||||
}:
|
||||
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "marwaita-x";
|
||||
version = "0.8.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "darkomarko42";
|
||||
repo = "marwaita-x";
|
||||
rev = finalAttrs.version;
|
||||
sha256 = "sha256-AkhysmA7QTHiH6yLEHFHgXFhRXb3l0elvYfy+oXsvZE=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
gdk-pixbuf
|
||||
gtk_engines
|
||||
librsvg
|
||||
];
|
||||
|
||||
propagatedUserEnvPkgs = [
|
||||
gtk-engine-murrine
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $out/share/themes
|
||||
cp -a Marwaita* $out/share/themes
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "A new version for Marwaita GTK theme";
|
||||
homepage = "https://www.pling.com/p/2044790/";
|
||||
license = lib.licenses.gpl3Only;
|
||||
platforms = lib.platforms.unix;
|
||||
maintainers = with lib.maintainers; [ romildo ];
|
||||
};
|
||||
})
|
@ -1,4 +1,10 @@
|
||||
{ lib, rustPlatform, fetchFromGitHub }:
|
||||
{
|
||||
lib,
|
||||
rustPlatform,
|
||||
fetchFromGitHub,
|
||||
gnuplot,
|
||||
makeWrapper,
|
||||
}:
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "mini-calc";
|
||||
version = "2.13.0";
|
||||
@ -11,6 +17,14 @@ rustPlatform.buildRustPackage rec {
|
||||
};
|
||||
|
||||
cargoHash = "sha256-QFzrJBnGKAgDhjbbik0WP3Y1fNoHMAiWpEHfidFQGPk=";
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
postFixup = ''
|
||||
wrapProgram $out/bin/mini-calc \
|
||||
--prefix PATH : "${lib.makeBinPath [ gnuplot ]}"
|
||||
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "A fully-featured minimalistic configurable calculator written in Rust";
|
||||
changelog = "https://github.com/coco33920/calc/blob/${version}/CHANGELOG.md";
|
||||
|
11
pkgs/by-name/mi/missidentify/fix-darwin-build.patch
Normal file
11
pkgs/by-name/mi/missidentify/fix-darwin-build.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- a/main.h
|
||||
+++ b/main.h
|
||||
@@ -68,7 +68,7 @@ memset(VAR,0,SIZE * sizeof(TYPE));
|
||||
|
||||
|
||||
|
||||
-#ifdef __GLIBC__
|
||||
+#if defined(__GLIBC__) || defined (__APPLE__)
|
||||
extern char *__progname;
|
||||
#else
|
||||
char *__progname;
|
56
pkgs/by-name/mi/missidentify/package.nix
Normal file
56
pkgs/by-name/mi/missidentify/package.nix
Normal file
@ -0,0 +1,56 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, autoreconfHook
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "missidentify";
|
||||
version = "1.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/project/missidentify/missidentify/missidentify-${finalAttrs.version}/missidentify-${finalAttrs.version}.tar.gz";
|
||||
hash = "sha256-nnIRN8hpKM0IZCe0HUrrJGrxvBYKeBmdU168rlo8op0=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# define PATH_MAX variable to fix a FTBFS in Hurd.
|
||||
(fetchurl {
|
||||
name = "fix-FTBFS-Hurd.patch";
|
||||
url = "https://salsa.debian.org/pkg-security-team/missidentify/-/raw/14b7169c3157dbad65fc80fdd82ec6634df20ffd/debian/patches/fix-FTBFS-Hurd.patch";
|
||||
hash = "sha256-wGEzTfT76s5Q7s/5s913c4x9MMn9c0v/4Lhr+QakPQY=";
|
||||
})
|
||||
# fix a hyphen used as minus sign and a typo in manpage.
|
||||
(fetchurl {
|
||||
name = "fix-manpage.patch";
|
||||
url = "https://salsa.debian.org/pkg-security-team/missidentify/-/raw/14b7169c3157dbad65fc80fdd82ec6634df20ffd/debian/patches/fix-manpage.patch";
|
||||
hash = "sha256-7LzQs6ETRSjdnEhlKOVWC3grevwOmGs0h4Z6AYGysD8=";
|
||||
})
|
||||
# fix darwin build
|
||||
./fix-darwin-build.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook ];
|
||||
|
||||
configureFlags = lib.optionals (stdenv.hostPlatform.isAarch32 || stdenv.hostPlatform.isAarch64) [ "--build=arm" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Find Win32 applications";
|
||||
longDescription = ''
|
||||
Miss Identify is a program to find Win32 applications. In
|
||||
its default mode it displays the filename of any executable
|
||||
that does not have an executable extension (i.e. exe, dll,
|
||||
com, sys, cpl, hxs, hxi, olb, rll, or tlb). The program can
|
||||
also be run to display all executables encountered,
|
||||
regardless of the extension. This is handy when looking
|
||||
for all of the executables on a drive. Other options allow
|
||||
the user to record the strings found in an executable and
|
||||
to work recursively.
|
||||
'';
|
||||
mainProgram = "missidentify";
|
||||
homepage = "https://missidentify.sourceforge.net";
|
||||
maintainers = with maintainers; [ d3vil0p3r ];
|
||||
platforms = platforms.unix;
|
||||
license = licenses.gpl2Only;
|
||||
};
|
||||
})
|
36
pkgs/by-name/mo/mo/package.nix
Normal file
36
pkgs/by-name/mo/mo/package.nix
Normal file
@ -0,0 +1,36 @@
|
||||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, runtimeShell
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "mo";
|
||||
version = "3.0.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tests-always-included";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-CFAvTpziKzSkdomvCf8PPXYbYcJxjB4EValz2RdD2b0=";
|
||||
};
|
||||
|
||||
dontConfigure = true;
|
||||
dontBuild = true;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/bin
|
||||
cp mo $out/bin/.
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Moustache templates for Bash";
|
||||
homepage = "https://github.com/tests-always-included/mo";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ sheepforce ];
|
||||
};
|
||||
}
|
@ -12,11 +12,11 @@
|
||||
, gnused
|
||||
, lib
|
||||
, makeWrapper
|
||||
, sshpass
|
||||
}:
|
||||
let
|
||||
runtimeDeps = [
|
||||
gitMinimal # for git flakes
|
||||
rsync
|
||||
nix
|
||||
coreutils
|
||||
curl # when uploading tarballs
|
||||
@ -24,16 +24,18 @@ let
|
||||
gawk
|
||||
findutils
|
||||
gnused # needed by ssh-copy-id
|
||||
sshpass # used to provide password for ssh-copy-id
|
||||
rsync # used to upload extra-files
|
||||
];
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "nixos-anywhere";
|
||||
version = "1.1.2";
|
||||
version = "1.2.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "numtide";
|
||||
repo = "nixos-anywhere";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-JzgZnHQ4Bknh1ebE4iMVzR3cWZG+8k7MRy0X7cNSnBE=";
|
||||
hash = "sha256-u3PFJup/XOz2MBhvqCzm94iH6Z4nrE0KmBgT/OnNDqU=";
|
||||
};
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
installPhase = ''
|
||||
|
@ -5,16 +5,16 @@
|
||||
}:
|
||||
buildGoModule rec {
|
||||
pname = "nom";
|
||||
version = "2.2.1";
|
||||
version = "2.2.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "guyfedwards";
|
||||
repo = "nom";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-AAgkxBbGH45n140jm28+J3hqYxzUIL6IVLGWD9oBexo=";
|
||||
hash = "sha256-W0HDoQURZxTvMyFfRGOu8gcZJihtvXvrEaObmi/CAk0=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-fP6yxfIQoVaBC9hYcrCyo3YP3ntEVDbDTwKMO9TdyDI=";
|
||||
vendorHash = "sha256-wWdsLU656wBAUmnVw21wo+a/OLmyhZ2Bq0j8S190XQs=";
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/guyfedwards/nom";
|
||||
|
89
pkgs/by-name/op/opensplat/package.nix
Normal file
89
pkgs/by-name/op/opensplat/package.nix
Normal file
@ -0,0 +1,89 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
cmake,
|
||||
ninja,
|
||||
fetchFromGitHub,
|
||||
fetchpatch,
|
||||
python3,
|
||||
opencv,
|
||||
nlohmann_json,
|
||||
nanoflann,
|
||||
glm,
|
||||
cxxopts,
|
||||
config,
|
||||
# Upstream has rocm/hip support, too. anyone?
|
||||
cudaSupport ? config.cudaSupport,
|
||||
cudaPackages,
|
||||
autoAddDriverRunpath,
|
||||
}:
|
||||
let
|
||||
version = "1.1.2";
|
||||
torch = python3.pkgs.torch.override { inherit cudaSupport; };
|
||||
# Using a normal stdenv with cuda torch gives
|
||||
# ld: /nix/store/k1l7y96gv0nc685cg7i3g43i4icmddzk-python3.11-torch-2.2.1-lib/lib/libc10.so: undefined reference to `std::ios_base_library_init()@GLIBCXX_3.4.32'
|
||||
stdenv' = if cudaSupport then cudaPackages.backendStdenv else stdenv;
|
||||
in
|
||||
stdenv'.mkDerivation {
|
||||
pname = "opensplat";
|
||||
inherit version;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pierotofy";
|
||||
repo = "OpenSplat";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-3tk62b5fSf6wzuc5TwkdfAKgUMrw3ZxetCJa2RVMS/s=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
name = "install-executables.patch";
|
||||
url = "https://github.com/pierotofy/OpenSplat/commit/b4c4176819b508978583b7ebf66306171807a8e6.patch";
|
||||
hash = "sha256-BUgPMcO3lt3ZEzv24u36k3aTEIoloOhxrCGi1KQ5Epk=";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# the two vendored gsplats are so heavily modified they may be considered a fork
|
||||
find vendor ! -name 'gsplat*' -maxdepth 1 -mindepth 1 -exec rm -rf {} +
|
||||
mkdir vendor/{nanoflann,glm}
|
||||
ln -s ${glm}/include/glm vendor/glm/glm
|
||||
ln -s ${nanoflann}/include/nanoflann.hpp vendor/nanoflann/nanoflann.hpp
|
||||
ln -s ${nlohmann_json}/include/nlohmann vendor/json
|
||||
ln -s ${cxxopts}/include/cxxopts.hpp vendor/cxxopts.hpp
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
ninja
|
||||
] ++ lib.optionals cudaSupport [
|
||||
cudaPackages.cuda_nvcc
|
||||
autoAddDriverRunpath
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
nlohmann_json
|
||||
torch.cxxdev
|
||||
torch
|
||||
opencv
|
||||
] ++ lib.optionals cudaSupport [
|
||||
cudaPackages.cuda_cudart
|
||||
];
|
||||
|
||||
env.TORCH_CUDA_ARCH_LIST = "${lib.concatStringsSep ";" python3.pkgs.torch.cudaCapabilities}";
|
||||
|
||||
cmakeFlags = [
|
||||
(lib.cmakeBool "CMAKE_SKIP_RPATH" true)
|
||||
] ++ lib.optionals cudaSupport [
|
||||
(lib.cmakeFeature "GPU_RUNTIME" "CUDA")
|
||||
(lib.cmakeFeature "CUDA_TOOLKIT_ROOT_DIR" "${cudaPackages.cudatoolkit}/")
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Production-grade 3D gaussian splatting";
|
||||
homepage = "https://github.com/pierotofy/OpenSplat/";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = [ lib.maintainers.jcaesar ];
|
||||
platforms = lib.platforms.linux ++ lib.optionals (!cudaSupport) lib.platforms.darwin;
|
||||
};
|
||||
}
|
@ -31,13 +31,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "openvas-scanner";
|
||||
version = "23.0.1";
|
||||
version = "23.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "greenbone";
|
||||
repo = "openvas-scanner";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-pqbwi3btNEM+qiTqtjIxiDv2wMf1LerltFvLCybiW0Y=";
|
||||
hash = "sha256-2tMCyEBVR/DQP7Dny5iPypv2IWkurfxhZEHC/f+Pe8c=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -1,20 +1,19 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, jre
|
||||
, makeWrapper
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchurl,
|
||||
jre,
|
||||
makeWrapper,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
let
|
||||
version = "0.14.1";
|
||||
peergos = fetchurl {
|
||||
url = "https://github.com/Peergos/web-ui/releases/download/v${version}/Peergos.jar";
|
||||
hash = "sha256-oCsUuFxTAL0vAabGggGhZHaF40A5TLfkT15HYPiKHlU=";
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "peergos";
|
||||
inherit version;
|
||||
version = "0.17.0";
|
||||
src = fetchurl {
|
||||
url = "https://github.com/Peergos/web-ui/releases/download/v${version}/Peergos.jar";
|
||||
hash = "sha256-sQPEKvtQDRQ4dF22tZjPhK7DLtDVAcudxoA4+GOeeZA=";
|
||||
};
|
||||
|
||||
dontUnpack = true;
|
||||
dontBuild = true;
|
||||
@ -24,21 +23,33 @@ stdenv.mkDerivation rec {
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
install -D ${peergos} $out/share/java/peergos.jar
|
||||
makeWrapper ${lib.getExe jre} $out/bin/${pname} \
|
||||
--add-flags "-jar -Djava.library.path=native-lib $out/share/java/${pname}.jar"
|
||||
install -D ${src} $out/share/java/peergos.jar
|
||||
makeWrapper ${lib.getExe jre} $out/bin/peergos \
|
||||
--add-flags "-jar -Djava.library.path=native-lib $out/share/java/peergos.jar"
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
passthru.updateScript = nix-update-script {
|
||||
extraArgs = [
|
||||
"--version-regex"
|
||||
"^(v[0-9.]+)$"
|
||||
];
|
||||
};
|
||||
|
||||
meta = {
|
||||
changelog = "https://github.com/Peergos/web-ui/releases/tag/v${version}";
|
||||
description = "A p2p, secure file storage, social network and application protocol";
|
||||
mainProgram = "peergos";
|
||||
downloadPage = "https://github.com/Peergos/web-ui";
|
||||
homepage = "https://peergos.org/";
|
||||
# peergos have agpt3 license, peergos-web-ui have gpl3, both are used
|
||||
license = [ licenses.agpl3Only licenses.gpl3Only ];
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ raspher ];
|
||||
sourceProvenance = with sourceTypes; [ binaryBytecode ];
|
||||
license = [
|
||||
lib.licenses.agpl3Only
|
||||
lib.licenses.gpl3Only
|
||||
];
|
||||
mainProgram = "peergos";
|
||||
maintainers = with lib.maintainers; [ raspher ];
|
||||
platforms = lib.platforms.all;
|
||||
sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
|
||||
};
|
||||
}
|
||||
|
@ -6,22 +6,26 @@
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "route-graph";
|
||||
version = "0.2.1";
|
||||
version = "0.2.2";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "audiusGmbH";
|
||||
repo = "route-graph";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-OOXLmHxWre5t4tysDXV23PTkyUG6Zcpanw0fVCOLFTM=";
|
||||
hash = "sha256-HmfmUeT5vt0yWVs7GhIPVt4NZtTfe7HYPLRqfQE/tZM=";
|
||||
};
|
||||
|
||||
pythonRelaxDeps = [
|
||||
"typer"
|
||||
"typing-extensions"
|
||||
];
|
||||
|
||||
nativeBuildInputs = with python3.pkgs; [
|
||||
build-system = with python3.pkgs; [
|
||||
poetry-core
|
||||
];
|
||||
|
||||
nativeBuildInputs = with python3.pkgs; [
|
||||
pythonRelaxDepsHook
|
||||
];
|
||||
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "simplotask";
|
||||
version = "1.15.1";
|
||||
version = "1.16.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "umputun";
|
||||
repo = "spot";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-XLkq8Oe3EsP0wf0sA7NSZWIsQQnOAGmvlVQad35+5Ws=";
|
||||
hash = "sha256-VnQIg5HXZZwvYpaYDF1CIphLtE4S+1zADE1WnicXOSQ=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
@ -11,7 +11,7 @@
|
||||
}:
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "snapcraft";
|
||||
version = "8.2.0";
|
||||
version = "8.2.1";
|
||||
|
||||
pyproject = true;
|
||||
|
||||
@ -24,7 +24,7 @@ python3Packages.buildPythonApplication rec {
|
||||
owner = "canonical";
|
||||
repo = "snapcraft";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-uRapRL+492FOju83o3OBsYK52hwOOG6b4EbdMVpAlBs=";
|
||||
hash = "sha256-PVJVvkc/LtGFbs93OWmkopaAXZFudLJedpmetrjU010=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
@ -12,16 +12,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "stackit-cli";
|
||||
version = "0.2.3";
|
||||
version = "0.3.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "stackitcloud";
|
||||
repo = "stackit-cli";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-ci7P0VbIuYoIzaiNhUCNRFa3YxYxBsat5U46DwGq6WY=";
|
||||
hash = "sha256-EoZ1ThAve08NitKf6jPJNyqkGz0JUW2GmzKtvWm9cDU=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-ecf/7BoCvybga8RVRiXvrAf2a5uLvIOFk4qNJiguSpo=";
|
||||
vendorHash = "sha256-WQNb4vs1qcsY0hqlLXNiH67065/yq5xZEgZBOwFZzNM=";
|
||||
|
||||
subPackages = [ "." ];
|
||||
|
||||
|
@ -1,7 +1,8 @@
|
||||
{ stdenv, cmake, fetchFromGitHub, lib }: let
|
||||
{ stdenv, cmake, fetchFromGitHub, fetchpatch, lib }: let
|
||||
version = "1.2.3";
|
||||
in stdenv.mkDerivation {
|
||||
name = "stduuid-${version}";
|
||||
pname = "stduuid";
|
||||
inherit version;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mariusbancila";
|
||||
@ -12,6 +13,15 @@ in stdenv.mkDerivation {
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
patches = [
|
||||
# stduuid report version 1.0 instead of 1.2.3 for cmake's find_package to properly work
|
||||
# If version is updated one day, this patch will need to be updated
|
||||
(fetchpatch {
|
||||
url = "https://github.com/OlivierLDff/stduuid/commit/b02c70c0a4bef2c82152503e13c9a67d6631b13d.patch";
|
||||
hash = "sha256-tv4rllhngdgjXX35kcM69yXo0DXF/BQ+AUbiC1gJIU8=";
|
||||
})
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "A C++17 cross-platform implementation for UUIDs";
|
||||
license = lib.licenses.mit;
|
41
pkgs/by-name/st/step-cli/package.nix
Normal file
41
pkgs/by-name/st/step-cli/package.nix
Normal file
@ -0,0 +1,41 @@
|
||||
{
|
||||
lib,
|
||||
buildGoModule,
|
||||
fetchFromGitHub,
|
||||
}: let
|
||||
version = "0.26.1";
|
||||
in
|
||||
buildGoModule {
|
||||
pname = "step-cli";
|
||||
inherit version;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "smallstep";
|
||||
repo = "cli";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-BVxdgyQsfCwHw/zjP3AKNib3sRWoBpMlZ7vh71nso94=";
|
||||
};
|
||||
|
||||
ldflags = [
|
||||
"-w"
|
||||
"-s"
|
||||
"-X=main.Version=${version}"
|
||||
];
|
||||
|
||||
preCheck = ''
|
||||
# Tries to connect to smallstep.com
|
||||
rm command/certificate/remote_test.go
|
||||
'';
|
||||
|
||||
vendorHash = "sha256-Z6wrWkyAGi01gH7+v2+VkyqRNqDwLFVwXm/1FIMzURg=";
|
||||
|
||||
meta = {
|
||||
description = "A zero trust swiss army knife for working with X509, OAuth, JWT, OATH OTP, etc";
|
||||
homepage = "https://smallstep.com/cli/";
|
||||
changelog = "https://github.com/smallstep/cli/blob/v${version}/CHANGELOG.md";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [isabelroses];
|
||||
platforms = lib.platforms.linux ++ lib.platforms.darwin;
|
||||
mainProgram = "step";
|
||||
};
|
||||
}
|
@ -6,13 +6,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "swaybg";
|
||||
version = "1.2.0";
|
||||
version = "1.2.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "swaywm";
|
||||
repo = "swaybg";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-Qk5iGALlSVSzgBJzYzyLdLHhj/Zq1R4nFseACBmIBuA=";
|
||||
hash = "sha256-IJcPSBJErf8Dy9YhYAc9eg/llgaaLZCQSB0Brof+kpg=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
|
@ -10,14 +10,14 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "symfony-cli";
|
||||
version = "5.8.15";
|
||||
vendorHash = "sha256-rkvQhZSoKZIl/gFgekLUelem2FGbRL9gp1LEzYN88Dc=";
|
||||
version = "5.8.16";
|
||||
vendorHash = "sha256-bhlD7EgOkWjRTsw1hH0GKjtFkLbOzr28wR4JJKOJwnY=";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "symfony-cli";
|
||||
repo = "symfony-cli";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-HbBg2oCsogY3X4jgjknqwNe2bszXjylvE+h5/iyg2pM=";
|
||||
hash = "sha256-V67RLa/Tn9ZdV+vnhFSht0wtIYYZOAGAYP9R1Lxn9aI=";
|
||||
};
|
||||
|
||||
ldflags = [
|
||||
|
97
pkgs/by-name/ue/ueviewer/package.nix
Normal file
97
pkgs/by-name/ue/ueviewer/package.nix
Normal file
@ -0,0 +1,97 @@
|
||||
{ gccStdenv
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, unstableGitUpdater
|
||||
, libpng
|
||||
, perl
|
||||
, SDL2
|
||||
, zlib
|
||||
}:
|
||||
|
||||
gccStdenv.mkDerivation (finalAttrs: {
|
||||
pname = "ueviewer";
|
||||
version = "0-unstable-2024-02-23";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "gildor2";
|
||||
repo = "UEViewer";
|
||||
rev = "a0bfb468d42be831b126632fd8a0ae6b3614f981";
|
||||
hash = "sha256-Cz4jK2jJMzz57/RcEzjIjD611vCy7l3xQ0pQZjneTFQ=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Fix compilation on Darwin
|
||||
# Remove when https://github.com/gildor2/UEViewer/pull/319 merged
|
||||
(fetchpatch {
|
||||
name = "0001-ueviewer-Dont-use-c++2a-standard.patch";
|
||||
url = "https://github.com/gildor2/UEViewer/commit/d44bef038abca99c84d7f418aedcbcb761de58aa.patch";
|
||||
hash = "sha256-v68yoBLz0dUB3evlKApKuajKQiOwbJczVeW5oxYaVyw=";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs build.sh Unreal/Shaders/make.pl Tools/genmake
|
||||
|
||||
# Enable more verbose build output
|
||||
# Unify -j arguments on make calls
|
||||
# Show what's being run
|
||||
substituteInPlace build.sh \
|
||||
--replace-fail '# echo ">> Debug: $*"' ' echo ">> Debug: $*"' \
|
||||
--replace-fail 'make -j 4 -f $makefile' 'make -f $makefile' \
|
||||
--replace-fail 'make -f $makefile' "make ''${enableParallelBuilding:+-j''${NIX_BUILD_CORES}} -f \$makefile SHELL='sh -x'"
|
||||
|
||||
# - Use correct compiler from stdenv
|
||||
# - Use C++ compiler instead of relying on leniency
|
||||
# -pipe breaks GCC on Darwin: clang-16: error: no input files
|
||||
substituteInPlace Tools/genmake \
|
||||
--replace-fail 'my $platf = "gcc";' "my \$platf = \"$CXX\";" \
|
||||
--replace-fail '-pipe' ""
|
||||
'';
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
nativeBuildInputs = [
|
||||
perl
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
libpng
|
||||
zlib
|
||||
] ++ lib.optionals (!gccStdenv.hostPlatform.isDarwin) [
|
||||
SDL2
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
./build.sh
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
install -Dm755 umodel $out/bin/umodel
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru.updateScript = unstableGitUpdater {
|
||||
# Tags represent various milestones, nothing that can be mapped to a numerical version number
|
||||
hardcodeZeroVersion = true;
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Viewer and exporter for Unreal Engine 1-4 assets (aka umodel)";
|
||||
homepage = "https://www.gildor.org/en/projects/umodel";
|
||||
license = licenses.mit;
|
||||
mainProgram = "umodel";
|
||||
maintainers = with maintainers; [ OPNA2608 ];
|
||||
# Hardcoded usage of SSE2
|
||||
platforms = platforms.x86;
|
||||
};
|
||||
})
|
@ -8,16 +8,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "updatecli";
|
||||
version = "0.75.0";
|
||||
version = "0.76.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "updatecli";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-8jQCwnc/kj3m/02nrA/na422rrvxxF7D3LzUen3O6ms=";
|
||||
hash = "sha256-UfiwagyE3w+kcPJnDDNTCGrxghnag/RPz6SSdAglyYA=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-7LC5gzK54u8zEtDOyeU1kgIycGLxOeMWYrrDTvC3gVQ=";
|
||||
vendorHash = "sha256-STiVtzA78zeo5wywwzvA0dqmBW3REUvcpOXuWjpxReY=";
|
||||
|
||||
# tests require network access
|
||||
doCheck = false;
|
||||
|
@ -13,6 +13,9 @@
|
||||
, moreutils
|
||||
, cacert
|
||||
, nodePackages
|
||||
, pipewire
|
||||
, libpulseaudio
|
||||
, autoPatchelfHook
|
||||
, withTTS ? true
|
||||
# Enables the use of vencord from nixpkgs instead of
|
||||
# letting vesktop manage it's own version
|
||||
@ -81,6 +84,13 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
nodePackages.pnpm
|
||||
nodePackages.nodejs
|
||||
makeWrapper
|
||||
autoPatchelfHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
pipewire
|
||||
libpulseaudio
|
||||
stdenv.cc.cc.lib
|
||||
];
|
||||
|
||||
patches = [
|
||||
@ -106,6 +116,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
# using `pnpm exec` here apparently makes it ignore ELECTRON_SKIP_BINARY_DOWNLOAD
|
||||
./node_modules/.bin/electron-builder \
|
||||
--dir \
|
||||
-c.asarUnpack="**/*.node" \
|
||||
-c.electronDist=${electron}/libexec/electron \
|
||||
-c.electronVersion=${electron.version}
|
||||
'';
|
||||
@ -115,8 +126,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/opt/Vesktop/resources
|
||||
cp dist/linux-*unpacked/resources/app.asar $out/opt/Vesktop/resources
|
||||
mkdir -p $out/opt/Vesktop
|
||||
cp -r dist/linux-*unpacked/resources $out/opt/Vesktop/
|
||||
|
||||
pushd build
|
||||
${libicns}/bin/icns2png -x icon.icns
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user