push sheeet
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s

This commit is contained in:
Dark Steveneq
2025-10-09 14:15:47 +02:00
commit 646b892680
49168 changed files with 5897842 additions and 0 deletions

View File

@@ -0,0 +1,44 @@
{
lib,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule rec {
pname = "fiano";
version = "1.2.0";
src = fetchFromGitHub {
owner = "linuxboot";
repo = "fiano";
rev = "v${version}";
hash = "sha256-QX0XMec99YbYWyfRThhwDaNjKstkUEz6wsisBynprmg=";
};
subPackages = [
"cmds/cbfs"
"cmds/create-ffs"
"cmds/fmap"
"cmds/fspinfo"
"cmds/glzma"
"cmds/guid2english"
"cmds/microcode"
"cmds/utk"
];
vendorHash = "sha256-00ZSAVEmk2pNjv6fo++gnpIheK8lo4AVWf+ghXappnI=";
ldflags = [
"-s"
"-w"
];
meta = {
description = "Go-based tools for modifying UEFI firmware";
homepage = "https://github.com/linuxboot/fiano";
changelog = "https://github.com/linuxboot/fiano/blob/v${version}/RELEASES.md";
license = lib.licenses.bsd3;
maintainers = [ lib.maintainers.jmbaur ];
};
}

View File

@@ -0,0 +1,42 @@
{
lib,
stdenv,
fetchFromGitHub,
}:
stdenv.mkDerivation rec {
pname = "fiche";
version = "0.9.1";
src = fetchFromGitHub {
owner = "solusipse";
repo = "fiche";
rev = version;
sha256 = "1102r39xw17kip7mjp987jy8na333gw9vxv31f7v8q05cr7d7kfb";
};
installPhase = ''
install -Dm755 fiche -t $out/bin
'';
doCheck = true;
meta = {
description = "Command line pastebin for sharing terminal output";
longDescription = ''
Fiche is a command line pastebin server for sharing terminal output.
It can be used without any graphical tools from a TTY and has minimal requirements.
A live instance can be found at https://termbin.com.
Example usage:
echo just testing! | nc termbin.com 9999
'';
homepage = "https://github.com/solusipse/fiche";
changelog = "https://github.com/solusipse/fiche/releases/tag/${version}";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.pinpox ];
platforms = lib.platforms.all;
mainProgram = "fiche";
};
}

View File

@@ -0,0 +1,53 @@
{
lib,
python3Packages,
fetchPypi,
}:
python3Packages.buildPythonApplication rec {
pname = "fichub-cli";
version = "0.10.3";
pyproject = true;
src = fetchPypi {
pname = "fichub_cli";
inherit version;
hash = "sha256-MTExXpuCwi/IfNDUVLMcxfFRwHHNfGJerHkHnh6/hls=";
};
build-system = with python3Packages; [
setuptools
];
dependencies = with python3Packages; [
platformdirs
beautifulsoup4
click
click-plugins
colorama
loguru
requests
tqdm
typer
];
pythonImportsCheck = [
"fichub_cli"
];
nativeCheckInputs = with python3Packages; [
pytestCheckHook
];
# Loading tests tries to download something from pypi.org
doCheck = false;
meta = {
description = "CLI for the fichub.net API";
changelog = "https://github.com/FicHub/fichub-cli/releases/tag/v${version}";
mainProgram = "fichub_cli";
homepage = "https://github.com/FicHub/fichub-cli";
license = lib.licenses.asl20;
maintainers = [ lib.maintainers.samasaur ];
};
}

View File

@@ -0,0 +1,38 @@
{
lib,
stdenv,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule rec {
pname = "ficsit-cli";
version = "0.6.1";
commit = "5dc8bdbaf6e8d9b1bcd2895e389d9d072d454e15";
src = fetchFromGitHub {
owner = "satisfactorymodding";
repo = "ficsit-cli";
tag = "v${version}";
hash = "sha256-eQbHGxxI7g543XlV5y1Np8QTUsfAJdbG9sPXKbUmluc=";
};
ldflags = [
"-X=main.version=v${version}"
"-X=main.commit=${commit}"
];
doCheck = false; # Tests make an api call, which always fails in the sandbox.
vendorHash = "sha256-3YqOwjCuXF48jsGjwv4mHMoGaiPDgxjzZTcrPAtA7I0=";
meta = {
description = "CLI tool for managing Satisfactory mods";
homepage = "https://github.com/satisfactorymodding/ficsit-cli";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [
weirdrock
vilsol
];
mainProgram = "ficsit-cli";
};
}

View File

@@ -0,0 +1,64 @@
{
appimageTools,
fetchurl,
lib,
makeWrapper,
writeScript,
}:
let
pname = "fiddler-everywhere";
version = "7.3.0";
src = fetchurl {
url = "https://downloads.getfiddler.com/linux/fiddler-everywhere-${version}.AppImage";
hash = "sha256-M1SMWtIdgYpC+cwrN8Z6T+7tj4y07hho3akuy9j/l98=";
};
appimageContents = appimageTools.extract {
inherit pname version src;
postExtract = ''
substituteInPlace $out/fiddler-everywhere.desktop \
--replace-fail 'Exec=AppRun' 'Exec=fiddler-everywhere'
'';
};
in
appimageTools.wrapType2 {
inherit pname version src;
extraPkgs = pkgs: [ pkgs.icu ];
nativeBuildInputs = [ makeWrapper ];
extraInstallCommands = ''
install -m 444 -D ${appimageContents}/fiddler-everywhere.desktop $out/share/applications/fiddler-everywhere.desktop
for i in 16 24 32 48 64 96 128 256 512 1024; do
install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/''${i}x''${i}/apps/fiddler-everywhere.png \
$out/share/icons/hicolor/''${i}x''${i}/apps/fiddler-everywhere.png
done
wrapProgram $out/bin/fiddler-everywhere --set DESKTOPINTEGRATION false
'';
passthru.updateScript = writeScript "update-fiddler-everywhere" ''
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl pcre2 common-updater-scripts
set -eu -o pipefail
version="$(curl -si https://api.getfiddler.com/linux/latest-linux \
| grep -Fi 'Location:' \
| pcre2grep -o1 'https://downloads.getfiddler.com/linux/fiddler-everywhere-(([0-9]\.?)+).AppImage')"
update-source-version fiddler-everywhere "$version"
'';
meta = {
description = "Web debugging proxy by Telerik";
homepage = "https://www.telerik.com/fiddler/fiddler-everywhere";
downloadPage = "https://www.telerik.com/download/fiddler-everywhere";
changelog = "https://www.telerik.com/support/whats-new/fiddler-everywhere/release-history";
license = lib.licenses.unfree;
maintainers = with lib.maintainers; [ RoGreat ];
mainProgram = "fiddler-everywhere";
platforms = [ "x86_64-linux" ];
};
}

View File

@@ -0,0 +1,12 @@
diff --git a/app/cmd/server.go b/app/cmd/server.go
index fcfbeec2..71f01c9d 100644
--- a/app/cmd/server.go
+++ b/app/cmd/server.go
@@ -46,7 +46,6 @@ func RunServer() int {
})
}
- copyEtcFiles(ctx)
startJobs(ctx)
e := routes(web.New())

View File

@@ -0,0 +1,37 @@
{
buildNpmPackage,
pname,
version,
src,
npmDepsHash,
}:
buildNpmPackage {
inherit version src npmDepsHash;
pname = "${pname}-frontend";
buildPhase = ''
runHook preBuild
npx lingui extract public/
npx lingui compile
NODE_ENV=production node esbuild.config.js
NODE_ENV=production npx webpack-cli
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out
cp -r dist ssr.js favicon.png robots.txt $out/
runHook postInstall
'';
env = {
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD = 1;
};
}

View File

@@ -0,0 +1,82 @@
{
lib,
stdenvNoCC,
fetchFromGitHub,
callPackage,
nixosTests,
nix-update-script,
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "fider";
version = "0.27.0";
src = fetchFromGitHub {
owner = "getfider";
repo = "fider";
tag = "v${finalAttrs.version}";
hash = "sha256-2aV6f4cgO89hIqksT/kutR+ZRTGncuS04kJ5xZZC5Ds=";
};
dontConfigure = true;
dontBuild = true;
# Allow easier version overrides, e.g.:
# pkgs.fider.overrideAttrs (prev: {
# version = "...";
# src = prev.src.override {
# hash = "...";
# };
# vendorHash = "...";
# npmDepsHash = "...";
# })
vendorHash = "sha256-4ilOdUblpwteY0ZInitSuzuB8mU1ltYgRJjla6LiziU=";
npmDepsHash = "sha256-c8CFMMmFcLZkJL50bfLlk2HP9B/rexNZ2WWJkV0x4Rk=";
server = callPackage ./server.nix {
inherit (finalAttrs)
pname
version
src
vendorHash
;
};
frontend = callPackage ./frontend.nix {
inherit (finalAttrs)
pname
version
src
npmDepsHash
;
};
installPhase = ''
runHook preInstall
mkdir -p $out/etc
cp -r locale views migrations $out/
cp -r etc/*.md $out/etc/
ln -s ${finalAttrs.server}/* $out/
ln -s ${finalAttrs.frontend}/* $out/
runHook postInstall
'';
passthru = {
tests = {
inherit (nixosTests) fider;
};
updateScript = nix-update-script { };
};
meta = {
description = "Open platform to collect and prioritize feedback";
homepage = "https://github.com/getfider/fider";
changelog = "https://github.com/getfider/fider/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.agpl3Only;
mainProgram = "fider";
maintainers = with lib.maintainers; [
niklaskorz
];
};
})

View File

@@ -0,0 +1,30 @@
{
buildGoModule,
pname,
version,
src,
vendorHash,
}:
buildGoModule {
inherit version src vendorHash;
pname = "${pname}-server";
patches = [
./0001-disable-etc-copy.patch
];
ldflags = [
"-s"
"-w"
];
doCheck = false; # requires a running PostgreSQL database
# preCheck = ''
# set -o allexport
# source ./.test.env
# set +o allexport
# '';
}

View File

@@ -0,0 +1,140 @@
{
lib,
stdenv,
fetchFromGitHub,
unstableGitUpdater,
fetchurl,
pkg-config,
cmake,
libcbor,
openssl,
zlib,
gnugrep,
gawk,
# Linux only
pcsclite,
udev,
imagemagick,
# GUI
python3,
xterm,
makeDesktopItem,
copyDesktopItems,
# Darwin only
libuv,
libsolv,
libcouchbase,
}:
let
pythonEnv = python3.withPackages (ps: [ ps.tkinter ]);
in
stdenv.mkDerivation rec {
pname = "fido2-manage";
version = "0-unstable-2025-06-06";
src = fetchFromGitHub {
owner = "token2";
repo = "fido2-manage";
rev = "4fc6a4e0d905dcc2a7bfee70232a0398e9e4b45d";
hash = "sha256-olkEUHJ350FIMUlWG37wqSfO2wyYni4CYspwa4lAO5w=";
};
passthru.updateScript = unstableGitUpdater { };
icon = fetchurl {
url = "https://token2.net/img/icon/logo-white.png";
hash = "sha256-UpxRzn24v1vigMFlofVU+YOzKrkxCu2Pk5iktqFgNO8=";
};
nativeBuildInputs = [
pkg-config
cmake
]
++ lib.optionals stdenv.hostPlatform.isLinux [
copyDesktopItems
imagemagick
];
buildInputs = [
libcbor
openssl
zlib
]
++ lib.optionals stdenv.hostPlatform.isLinux [
xterm
udev
pcsclite
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
libuv
libsolv
libcouchbase
];
cmakeFlags = [ "-USE_PCSC=ON" ];
postPatch = ''
substituteInPlace ./src/libfido2.pc.in \
--replace-fail "\''${prefix}/@CMAKE_INSTALL_LIBDIR@" "@CMAKE_INSTALL_FULL_LIBDIR@"
''
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
substituteInPlace ./CMakeLists.txt \
--replace-fail "/\''${CMAKE_INSTALL_LIBDIR}" "/lib"
'';
postInstall =
lib.optionalString stdenv.hostPlatform.isLinux ''
install $src/fido2-manage.sh $out/bin/fido2-manage
magick ${icon} -background none -gravity center -extent 512x512 token2.png
install -Dm444 token2.png $out/share/icons/hicolor/512x512/apps/token2.png
install $src/gui.py $out/bin/fido2-manage-gui
''
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
install $src/fido2-manage-mac.sh $out/bin/fido2-manage
'';
desktopItems = lib.optionals stdenv.hostPlatform.isLinux [
(makeDesktopItem {
desktopName = "Fido2 Manager";
name = "fido2-manage";
exec = "fido2-manage-gui";
icon = "token2";
comment = meta.description;
categories = [
"Utility"
];
})
];
postFixup = ''
substituteInPlace $out/bin/fido2-manage \
--replace-fail "/usr/local/bin/" "$out/bin/" \
--replace-fail "./fido2-manage.sh" "fido2-manage" \
--replace-fail "awk" "${gawk}/bin/awk"
''
+ lib.optionalString stdenv.hostPlatform.isLinux ''
substituteInPlace $out/bin/fido2-manage-gui \
--replace-fail "./fido2-manage.sh" "$out/bin/fido2-manage" \
--replace-fail "x-terminal-emulator" "${xterm}/bin/xterm" \
--replace-fail "tk.Tk()" "tk.Tk(className='fido2-manage')" \
--replace-fail 'root.title("FIDO2.1 Manager - Python version 0.1 - (c) Token2")' "root.title('Fido2 Manager')"
substituteInPlace $out/bin/fido2-manage \
--replace-fail "grep" "${gnugrep}/bin/grep"
sed -i '1i #!${pythonEnv.interpreter}' $out/bin/fido2-manage-gui
''
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
substituteInPlace $out/bin/fido2-manage \
--replace-fail "ggrep" "${gnugrep}/bin/grep"
'';
meta = {
description = "Manage FIDO2.1 devices over USB or NFC, including Passkeys";
homepage = "https://github.com/token2/fido2-manage";
platforms = lib.platforms.all;
license = lib.licenses.bsd2;
mainProgram = "fido2-manage";
maintainers = with lib.maintainers; [ Srylax ];
};
}

View File

@@ -0,0 +1,343 @@
From 21d57c61575e76d80f812ff332b808bcc714a47b Mon Sep 17 00:00:00 2001
From: Quantenzitrone <general@dev.quantenzitrone.eu>
Date: Tue, 19 Mar 2024 17:46:17 +0100
Subject: [PATCH 1/2] libcryptsetup-rs: bump version to 0.9 #55
---
Cargo.lock | 146 ++++++++++++++++++++++++++++++++++++++++-------------
Cargo.toml | 2 +-
2 files changed, 111 insertions(+), 37 deletions(-)
diff --git a/Cargo.lock b/Cargo.lock
index 530d1d4..343390f 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -73,25 +73,51 @@ version = "0.59.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2bd2a9a458e8f4304c52c43ebb0cfbd520289f8379a52e329a38afda99bf8eb8"
dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
"cexpr",
"clang-sys",
"lazy_static",
"lazycell",
"peeking_take_while",
- "proc-macro2 1.0.44",
- "quote 1.0.21",
+ "proc-macro2 1.0.79",
+ "quote 1.0.35",
"regex",
"rustc-hash",
"shlex",
]
+[[package]]
+name = "bindgen"
+version = "0.68.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "726e4313eb6ec35d2730258ad4e15b547ee75d6afaa1361a922e78e59b7d8078"
+dependencies = [
+ "bitflags 2.5.0",
+ "cexpr",
+ "clang-sys",
+ "lazy_static",
+ "lazycell",
+ "peeking_take_while",
+ "proc-macro2 1.0.79",
+ "quote 1.0.35",
+ "regex",
+ "rustc-hash",
+ "shlex",
+ "syn 2.0.53",
+]
+
[[package]]
name = "bitflags"
version = "1.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+[[package]]
+name = "bitflags"
+version = "2.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1"
+
[[package]]
name = "bstr"
version = "0.2.17"
@@ -166,7 +192,7 @@ checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c"
dependencies = [
"ansi_term",
"atty",
- "bitflags",
+ "bitflags 1.3.2",
"strsim 0.8.0",
"textwrap",
"unicode-width",
@@ -179,7 +205,7 @@ version = "0.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
dependencies = [
- "bitflags",
+ "bitflags 1.3.2",
]
[[package]]
@@ -317,8 +343,8 @@ checksum = "f0c960ae2da4de88a91b2d920c2a7233b400bc33cb28453a2987822d8392519b"
dependencies = [
"fnv",
"ident_case",
- "proc-macro2 1.0.44",
- "quote 1.0.21",
+ "proc-macro2 1.0.79",
+ "quote 1.0.35",
"strsim 0.9.3",
"syn 1.0.101",
]
@@ -330,7 +356,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d9b5a2f4ac4969822c62224815d069952656cadc7084fdca9751e6d959189b72"
dependencies = [
"darling_core",
- "quote 1.0.21",
+ "quote 1.0.35",
"syn 1.0.101",
]
@@ -342,8 +368,8 @@ checksum = "a2658621297f2cf68762a6f7dc0bb7e1ff2cfd6583daef8ee0fed6f7ec468ec0"
dependencies = [
"darling",
"derive_builder_core",
- "proc-macro2 1.0.44",
- "quote 1.0.21",
+ "proc-macro2 1.0.79",
+ "quote 1.0.35",
"syn 1.0.101",
]
@@ -354,8 +380,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2791ea3e372c8495c0bc2033991d76b512cd799d07491fbd6890124db9458bef"
dependencies = [
"darling",
- "proc-macro2 1.0.44",
- "quote 1.0.21",
+ "proc-macro2 1.0.79",
+ "quote 1.0.35",
"syn 1.0.101",
]
@@ -381,8 +407,8 @@ version = "0.1.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4"
dependencies = [
- "proc-macro2 1.0.44",
- "quote 1.0.21",
+ "proc-macro2 1.0.79",
+ "quote 1.0.35",
"syn 1.0.101",
"synstructure",
]
@@ -394,7 +420,8 @@ dependencies = [
"ctap_hmac",
"failure",
"hex",
- "libcryptsetup-rs",
+ "libcryptsetup-rs 0.5.1",
+ "libcryptsetup-rs 0.9.2",
"ring",
"rpassword",
"serde",
@@ -500,9 +527,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
[[package]]
name = "libc"
-version = "0.2.133"
+version = "0.2.153"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c0f80d65747a3e43d1596c7c5492d95d5edddaabd45a7fcdb02b95f644164966"
+checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
[[package]]
name = "libcryptsetup-rs"
@@ -513,7 +540,25 @@ dependencies = [
"either",
"lazy_static",
"libc",
- "libcryptsetup-rs-sys",
+ "libcryptsetup-rs-sys 0.2.1",
+ "pkg-config",
+ "semver",
+ "serde_json",
+ "uuid",
+]
+
+[[package]]
+name = "libcryptsetup-rs"
+version = "0.9.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "67dd3f8d51b4feb4acc765c063d45434fb7926fe979b20ee6f95dcd974b4dc0c"
+dependencies = [
+ "bitflags 2.5.0",
+ "either",
+ "lazy_static",
+ "libc",
+ "libcryptsetup-rs-sys 0.3.0",
+ "log",
"pkg-config",
"semver",
"serde_json",
@@ -526,7 +571,19 @@ version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0af91b644699911c839309edbb8c8f6addd61e6b9553aa6d02ba71c37597afbe"
dependencies = [
- "bindgen",
+ "bindgen 0.59.2",
+ "cc",
+ "pkg-config",
+ "semver",
+]
+
+[[package]]
+name = "libcryptsetup-rs-sys"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "20fc299fd05078d353a895d940fc463d1008d94258fc8096c095467549324707"
+dependencies = [
+ "bindgen 0.68.1",
"cc",
"pkg-config",
"semver",
@@ -542,6 +599,12 @@ dependencies = [
"winapi",
]
+[[package]]
+name = "log"
+version = "0.4.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c"
+
[[package]]
name = "maybe-uninit"
version = "2.0.0"
@@ -636,8 +699,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
dependencies = [
"proc-macro-error-attr",
- "proc-macro2 1.0.44",
- "quote 1.0.21",
+ "proc-macro2 1.0.79",
+ "quote 1.0.35",
"syn 1.0.101",
"version_check",
]
@@ -648,8 +711,8 @@ version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
dependencies = [
- "proc-macro2 1.0.44",
- "quote 1.0.21",
+ "proc-macro2 1.0.79",
+ "quote 1.0.35",
"version_check",
]
@@ -664,9 +727,9 @@ dependencies = [
[[package]]
name = "proc-macro2"
-version = "1.0.44"
+version = "1.0.79"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7bd7356a8122b6c4a24a82b278680c73357984ca2fc79a0f9fa6dea7dced7c58"
+checksum = "e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e"
dependencies = [
"unicode-ident",
]
@@ -682,11 +745,11 @@ dependencies = [
[[package]]
name = "quote"
-version = "1.0.21"
+version = "1.0.35"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179"
+checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
dependencies = [
- "proc-macro2 1.0.44",
+ "proc-macro2 1.0.79",
]
[[package]]
@@ -931,8 +994,8 @@ version = "1.0.145"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "81fa1584d3d1bcacd84c277a0dfe21f5b0f6accf4a23d04d4c6d61f1af522b4c"
dependencies = [
- "proc-macro2 1.0.44",
- "quote 1.0.21",
+ "proc-macro2 1.0.79",
+ "quote 1.0.35",
"syn 1.0.101",
]
@@ -984,8 +1047,8 @@ checksum = "dcb5ae327f9cc13b68763b5749770cb9e048a99bd9dfdfa58d0cf05d5f64afe0"
dependencies = [
"heck",
"proc-macro-error",
- "proc-macro2 1.0.44",
- "quote 1.0.21",
+ "proc-macro2 1.0.79",
+ "quote 1.0.35",
"syn 1.0.101",
]
@@ -1006,8 +1069,19 @@ version = "1.0.101"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e90cde112c4b9690b8cbe810cba9ddd8bc1d7472e2cae317b69e9438c1cba7d2"
dependencies = [
- "proc-macro2 1.0.44",
- "quote 1.0.21",
+ "proc-macro2 1.0.79",
+ "quote 1.0.35",
+ "unicode-ident",
+]
+
+[[package]]
+name = "syn"
+version = "2.0.53"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7383cd0e49fff4b6b90ca5670bfd3e9d6a733b3f90c686605aa7eec8c4996032"
+dependencies = [
+ "proc-macro2 1.0.79",
+ "quote 1.0.35",
"unicode-ident",
]
@@ -1017,8 +1091,8 @@ version = "0.12.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f"
dependencies = [
- "proc-macro2 1.0.44",
- "quote 1.0.21",
+ "proc-macro2 1.0.79",
+ "quote 1.0.35",
"syn 1.0.101",
"unicode-xid 0.2.4",
]
diff --git a/Cargo.toml b/Cargo.toml
index 7edf572..9386e13 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -31,7 +31,7 @@ hex = "0.3.2"
ring = "0.13.5"
failure = "0.1.5"
rpassword = "4.0.1"
-libcryptsetup-rs = "0.5.1"
+libcryptsetup-rs = "0.9"
structopt = "0.3.2"
[profile.release]
--
2.43.2

View File

@@ -0,0 +1,654 @@
From 3b097c545c3e6ffd1cd91d5ea73f20853b11d645 Mon Sep 17 00:00:00 2001
From: Quantenzitrone <general@dev.quantenzitrone.eu>
Date: Tue, 19 Mar 2024 17:46:55 +0100
Subject: [PATCH 2/2] cargo update
---
Cargo.lock | 281 ++++++++++++++++++++++++++++++++---------------------
1 file changed, 170 insertions(+), 111 deletions(-)
diff --git a/Cargo.lock b/Cargo.lock
index 343390f..036047d 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -4,9 +4,9 @@ version = 3
[[package]]
name = "addr2line"
-version = "0.17.0"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b"
+checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb"
dependencies = [
"gimli",
]
@@ -17,6 +17,15 @@ version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
+[[package]]
+name = "aho-corasick"
+version = "1.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
+dependencies = [
+ "memchr",
+]
+
[[package]]
name = "ansi_term"
version = "0.12.1"
@@ -54,9 +63,9 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
[[package]]
name = "backtrace"
-version = "0.3.66"
+version = "0.3.69"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cab84319d616cfb654d03394f38ab7e6f0919e181b1b57e1fd15e7fb4077d9a7"
+checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837"
dependencies = [
"addr2line",
"cc",
@@ -69,9 +78,9 @@ dependencies = [
[[package]]
name = "bindgen"
-version = "0.59.2"
+version = "0.63.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2bd2a9a458e8f4304c52c43ebb0cfbd520289f8379a52e329a38afda99bf8eb8"
+checksum = "36d860121800b2a9a94f9b5604b332d5cffb234ce17609ea479d723dbc9d3885"
dependencies = [
"bitflags 1.3.2",
"cexpr",
@@ -84,6 +93,7 @@ dependencies = [
"regex",
"rustc-hash",
"shlex",
+ "syn 1.0.109",
]
[[package]]
@@ -118,23 +128,11 @@ version = "2.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1"
-[[package]]
-name = "bstr"
-version = "0.2.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223"
-dependencies = [
- "lazy_static",
- "memchr",
- "regex-automata",
- "serde",
-]
-
[[package]]
name = "byteorder"
-version = "1.4.3"
+version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
+checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
[[package]]
name = "cbor-codec"
@@ -148,9 +146,9 @@ dependencies = [
[[package]]
name = "cc"
-version = "1.0.73"
+version = "1.0.90"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11"
+checksum = "8cd6604a82acf3039f1144f54b8eb34e91ffba622051189e71b781822d5ee1f5"
[[package]]
name = "cexpr"
@@ -175,9 +173,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]]
name = "clang-sys"
-version = "1.4.0"
+version = "1.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa2e27ae6ab525c3d369ded447057bca5438d86dc3a68f6faafb8269ba82ebf3"
+checksum = "67523a3b4be3ce1989d607a828d036249522dd9c1c8de7f4dd2dae43a37369d1"
dependencies = [
"glob",
"libc",
@@ -282,22 +280,21 @@ dependencies = [
[[package]]
name = "csv"
-version = "1.1.6"
+version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "22813a6dc45b335f9bade10bf7271dc477e81113e89eb251a0bc2a8a81c536e1"
+checksum = "ac574ff4d437a7b5ad237ef331c17ccca63c46479e5b5453eb8e10bb99a759fe"
dependencies = [
- "bstr",
"csv-core",
- "itoa 0.4.8",
+ "itoa",
"ryu",
"serde",
]
[[package]]
name = "csv-core"
-version = "0.1.10"
+version = "0.1.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b2466559f260f48ad25fe6317b3c8dac77b5bdb5763ac7d9d6103530663bc90"
+checksum = "5efa2b3d7902f4b634a20cae3c9c4e6209dc4779feb6863329607560143efa70"
dependencies = [
"memchr",
]
@@ -346,7 +343,7 @@ dependencies = [
"proc-macro2 1.0.79",
"quote 1.0.35",
"strsim 0.9.3",
- "syn 1.0.101",
+ "syn 1.0.109",
]
[[package]]
@@ -357,7 +354,7 @@ checksum = "d9b5a2f4ac4969822c62224815d069952656cadc7084fdca9751e6d959189b72"
dependencies = [
"darling_core",
"quote 1.0.35",
- "syn 1.0.101",
+ "syn 1.0.109",
]
[[package]]
@@ -370,7 +367,7 @@ dependencies = [
"derive_builder_core",
"proc-macro2 1.0.79",
"quote 1.0.35",
- "syn 1.0.101",
+ "syn 1.0.109",
]
[[package]]
@@ -382,14 +379,14 @@ dependencies = [
"darling",
"proc-macro2 1.0.79",
"quote 1.0.35",
- "syn 1.0.101",
+ "syn 1.0.109",
]
[[package]]
name = "either"
-version = "1.8.0"
+version = "1.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797"
+checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a"
[[package]]
name = "failure"
@@ -409,7 +406,7 @@ checksum = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4"
dependencies = [
"proc-macro2 1.0.79",
"quote 1.0.35",
- "syn 1.0.101",
+ "syn 1.0.109",
"synstructure",
]
@@ -450,9 +447,9 @@ checksum = "8f5f3913fa0bfe7ee1fd8248b6b9f42a5af4b9d65ec2dd2c3c26132b950ecfc2"
[[package]]
name = "getrandom"
-version = "0.2.7"
+version = "0.2.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6"
+checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5"
dependencies = [
"cfg-if 1.0.0",
"libc",
@@ -461,15 +458,15 @@ dependencies = [
[[package]]
name = "gimli"
-version = "0.26.2"
+version = "0.28.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "22030e2c5a68ec659fde1e949a745124b48e6fa8b045b7ed5bd1fe4ccc5c4e5d"
+checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253"
[[package]]
name = "glob"
-version = "0.3.0"
+version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574"
+checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
[[package]]
name = "heck"
@@ -503,15 +500,9 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
[[package]]
name = "itoa"
-version = "0.4.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4"
-
-[[package]]
-name = "itoa"
-version = "1.0.3"
+version = "1.0.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c8af84674fe1f223a982c933a0ee1086ac4d4052aa0fb8060c12c6ad838e754"
+checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c"
[[package]]
name = "lazy_static"
@@ -540,7 +531,7 @@ dependencies = [
"either",
"lazy_static",
"libc",
- "libcryptsetup-rs-sys 0.2.1",
+ "libcryptsetup-rs-sys 0.2.4",
"pkg-config",
"semver",
"serde_json",
@@ -567,11 +558,11 @@ dependencies = [
[[package]]
name = "libcryptsetup-rs-sys"
-version = "0.2.1"
+version = "0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0af91b644699911c839309edbb8c8f6addd61e6b9553aa6d02ba71c37597afbe"
+checksum = "d7c355c283a470a1a09924182b3606999786979697753df3c2206948dcd8f4eb"
dependencies = [
- "bindgen 0.59.2",
+ "bindgen 0.63.0",
"cc",
"pkg-config",
"semver",
@@ -591,12 +582,12 @@ dependencies = [
[[package]]
name = "libloading"
-version = "0.7.3"
+version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "efbc0f03f9a775e9f6aed295c6a1ba2253c5757a9e03d55c6caa46a681abcddd"
+checksum = "0c2a198fb6b0eada2a8df47933734e6d35d350665a33a3593d7164fa52c75c19"
dependencies = [
"cfg-if 1.0.0",
- "winapi",
+ "windows-targets",
]
[[package]]
@@ -613,9 +604,9 @@ checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00"
[[package]]
name = "memchr"
-version = "2.5.0"
+version = "2.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
+checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
[[package]]
name = "memoffset"
@@ -634,18 +625,18 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
[[package]]
name = "miniz_oxide"
-version = "0.5.4"
+version = "0.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96590ba8f175222643a85693f33d26e9c8a015f599c216509b1a6894af675d34"
+checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7"
dependencies = [
"adler",
]
[[package]]
name = "nom"
-version = "7.1.1"
+version = "7.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a8903e5a29a317527874d0402f867152a3d21c908bb0b933e416c65e301d4c36"
+checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
dependencies = [
"memchr",
"minimal-lexical",
@@ -664,18 +655,18 @@ dependencies = [
[[package]]
name = "num-traits"
-version = "0.2.15"
+version = "0.2.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
+checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a"
dependencies = [
"autocfg 1.1.0",
]
[[package]]
name = "object"
-version = "0.29.0"
+version = "0.32.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "21158b2c33aa6d4561f1c0a6ea283ca92bc54802a93b263e910746d679a7eb53"
+checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441"
dependencies = [
"memchr",
]
@@ -688,9 +679,9 @@ checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099"
[[package]]
name = "pkg-config"
-version = "0.3.25"
+version = "0.3.30"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae"
+checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec"
[[package]]
name = "proc-macro-error"
@@ -701,7 +692,7 @@ dependencies = [
"proc-macro-error-attr",
"proc-macro2 1.0.79",
"quote 1.0.35",
- "syn 1.0.101",
+ "syn 1.0.109",
"version_check",
]
@@ -892,24 +883,32 @@ dependencies = [
[[package]]
name = "regex"
-version = "1.6.0"
+version = "1.10.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c4eb3267174b8c6c2f654116623910a0fef09c4753f8dd83db29c48a0df988b"
+checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15"
dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-automata",
"regex-syntax",
]
[[package]]
name = "regex-automata"
-version = "0.1.10"
+version = "0.4.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132"
+checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax",
+]
[[package]]
name = "regex-syntax"
-version = "0.6.27"
+version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244"
+checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
[[package]]
name = "ring"
@@ -948,9 +947,9 @@ dependencies = [
[[package]]
name = "rustc-demangle"
-version = "0.1.21"
+version = "0.1.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ef03e0a2b150c7a90d01faf6254c9c48a41e95fb2a8c2ac1c6f0d2b9aefc342"
+checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76"
[[package]]
name = "rustc-hash"
@@ -960,61 +959,64 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
[[package]]
name = "rustc-serialize"
-version = "0.3.24"
+version = "0.3.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dcf128d1287d2ea9d80910b5f1120d0b8eede3fbf1abe91c40d39ea7d51e6fda"
+checksum = "fe834bc780604f4674073badbad26d7219cadfb4a2275802db12cbae17498401"
[[package]]
name = "ryu"
-version = "1.0.11"
+version = "1.0.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09"
+checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1"
[[package]]
name = "scopeguard"
-version = "1.1.0"
+version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
+checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
[[package]]
name = "semver"
-version = "1.0.14"
+version = "1.0.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e25dfac463d778e353db5be2449d1cce89bd6fd23c9f1ea21310ce6e5a1b29c4"
+checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca"
[[package]]
name = "serde"
-version = "1.0.145"
+version = "1.0.197"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "728eb6351430bccb993660dfffc5a72f91ccc1295abaa8ce19b27ebe4f75568b"
+checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2"
+dependencies = [
+ "serde_derive",
+]
[[package]]
name = "serde_derive"
-version = "1.0.145"
+version = "1.0.197"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "81fa1584d3d1bcacd84c277a0dfe21f5b0f6accf4a23d04d4c6d61f1af522b4c"
+checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b"
dependencies = [
"proc-macro2 1.0.79",
"quote 1.0.35",
- "syn 1.0.101",
+ "syn 2.0.53",
]
[[package]]
name = "serde_json"
-version = "1.0.85"
+version = "1.0.114"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e55a28e3aaef9d5ce0506d0a14dbba8054ddc7e499ef522dd8b26859ec9d4a44"
+checksum = "c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0"
dependencies = [
- "itoa 1.0.3",
+ "itoa",
"ryu",
"serde",
]
[[package]]
name = "shlex"
-version = "1.1.0"
+version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3"
+checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
[[package]]
name = "strsim"
@@ -1049,7 +1051,7 @@ dependencies = [
"proc-macro-error",
"proc-macro2 1.0.79",
"quote 1.0.35",
- "syn 1.0.101",
+ "syn 1.0.109",
]
[[package]]
@@ -1065,9 +1067,9 @@ dependencies = [
[[package]]
name = "syn"
-version = "1.0.101"
+version = "1.0.109"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e90cde112c4b9690b8cbe810cba9ddd8bc1d7472e2cae317b69e9438c1cba7d2"
+checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
dependencies = [
"proc-macro2 1.0.79",
"quote 1.0.35",
@@ -1093,7 +1095,7 @@ checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f"
dependencies = [
"proc-macro2 1.0.79",
"quote 1.0.35",
- "syn 1.0.101",
+ "syn 1.0.109",
"unicode-xid 0.2.4",
]
@@ -1108,9 +1110,9 @@ dependencies = [
[[package]]
name = "time"
-version = "0.1.44"
+version = "0.1.45"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255"
+checksum = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a"
dependencies = [
"libc",
"wasi 0.10.0+wasi-snapshot-preview1",
@@ -1119,21 +1121,21 @@ dependencies = [
[[package]]
name = "unicode-ident"
-version = "1.0.4"
+version = "1.0.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dcc811dc4066ac62f84f11307873c4850cb653bfa9b1719cee2bd2204a4bc5dd"
+checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
[[package]]
name = "unicode-segmentation"
-version = "1.10.0"
+version = "1.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fdbf052a0783de01e944a6ce7a8cb939e295b1e7be835a1112c3b9a7f047a5a"
+checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202"
[[package]]
name = "unicode-width"
-version = "0.1.10"
+version = "0.1.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
+checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85"
[[package]]
name = "unicode-xid"
@@ -1155,9 +1157,9 @@ checksum = "55cd1f4b4e96b46aeb8d4855db4a7a9bd96eeeb5c6a1ab54593328761642ce2f"
[[package]]
name = "uuid"
-version = "1.1.2"
+version = "1.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd6469f4314d5f1ffec476e05f17cc9a78bc7a27a6a857842170bdf8d6f98d2f"
+checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0"
dependencies = [
"getrandom",
]
@@ -1207,3 +1209,60 @@ name = "winapi-x86_64-pc-windows-gnu"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+
+[[package]]
+name = "windows-targets"
+version = "0.52.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b"
+dependencies = [
+ "windows_aarch64_gnullvm",
+ "windows_aarch64_msvc",
+ "windows_i686_gnu",
+ "windows_i686_msvc",
+ "windows_x86_64_gnu",
+ "windows_x86_64_gnullvm",
+ "windows_x86_64_msvc",
+]
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.52.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.52.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.52.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.52.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.52.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.52.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.52.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8"
--
2.43.2

View File

@@ -0,0 +1,40 @@
{
lib,
rustPlatform,
fetchFromGitHub,
cryptsetup,
pkg-config,
}:
rustPlatform.buildRustPackage rec {
pname = "fido2luks";
version = "0.2.21";
src = fetchFromGitHub {
owner = "shimunn";
repo = "fido2luks";
rev = version;
hash = "sha256-bXwaFiRHURvS5KtTqIj+3GlGNbEulDgMDP51ZiO1w9o=";
};
cargoPatches = [
./0001-libcryptsetup-rs-bump-version-to-0.9-55.patch
./0002-cargo-update.patch
];
nativeBuildInputs = [
pkg-config
rustPlatform.bindgenHook
];
buildInputs = [ cryptsetup ];
cargoHash = "sha256-WJXrT1jLytFkJ0gTE/4GYmfMqgqAyVFKi0SdyYGI/ug=";
meta = {
description = "Decrypt your LUKS partition using a FIDO2 compatible authenticator";
homepage = "https://github.com/shimunn/fido2luks";
license = lib.licenses.mpl20;
maintainers = with lib.maintainers; [ mmahut ];
platforms = lib.platforms.linux;
};
}

View File

@@ -0,0 +1,38 @@
{
lib,
fetchFromGitHub,
python3,
}:
python3.pkgs.buildPythonApplication rec {
pname = "fierce";
version = "1.6.0";
pyproject = true;
src = fetchFromGitHub {
owner = "mschwager";
repo = "fierce";
tag = version;
sha256 = "sha256-y5ZSDJCTqslU78kXGyk6DajBpX7xz1CVmbhYerHmyis=";
};
pythonRelaxDeps = [ "dnspython" ];
build-system = with python3.pkgs; [ poetry-core ];
dependencies = with python3.pkgs; [ dnspython ];
# Tests require network access
doCheck = false;
pythonImportsCheck = [ "fierce" ];
meta = {
description = "DNS reconnaissance tool for locating non-contiguous IP space";
homepage = "https://github.com/mschwager/fierce";
changelog = "https://github.com/mschwager/fierce/blob/${version}/CHANGELOG.md";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ c0bw3b ];
mainProgram = "fierce";
};
}

View File

@@ -0,0 +1,27 @@
commit da8992f44b84a337b4edaa67fc8b36b55eaef696
Date: Wed Jan 22 23:18:54 2025 +0100
Reject huge pattern lengths, ticket #185
Reject patterned lines, e.g., dashed lines, where the
pattern length exceeds 80 inches.
diff --git a/fig2dev/object.h b/fig2dev/object.h
index 29f5a62..7f83939 100644
--- a/fig2dev/object.h
+++ b/fig2dev/object.h
@@ -57,12 +57,13 @@ typedef struct f_comment {
struct f_comment *next;
} F_comment;
+#define STYLE_VAL_MAX 6400.0 /* dash length 80 inches, that is enough */
#define COMMON_PROPERTIES(o) \
o->style < SOLID_LINE || o->style > DASH_3_DOTS_LINE || \
o->thickness < 0 || o->depth < 0 || o->depth > 999 || \
o->fill_style < UNFILLED || \
o->fill_style >= NUMSHADES + NUMTINTS + NUMPATTERNS || \
- o->style_val < 0.0
+ o->style_val < 0.0 || o->style_val > STYLE_VAL_MAX
typedef struct f_ellipse {
int type;

View File

@@ -0,0 +1,91 @@
commit c8a87d22036e62bac0c6f7836078d8103caa6457
Author: Thomas Loimer <thomas.loimer@tuwien.ac.at>
Date: Wed Jan 22 23:27:43 2025 +0100
Reject arcs with co-incident points, ticket #186
diff --git a/fig2dev/object.h b/fig2dev/object.h
index 7f83939..50afbf0 100644
--- a/fig2dev/object.h
+++ b/fig2dev/object.h
@@ -3,7 +3,7 @@
* Copyright (c) 1991 by Micah Beck
* Parts Copyright (c) 1985-1988 by Supoj Sutanthavibul
* Parts Copyright (c) 1989-2015 by Brian V. Smith
- * Parts Copyright (c) 2015-2023 by Thomas Loimer
+ * Parts Copyright (c) 2015-2025 by Thomas Loimer
*
* Any party obtaining a copy of these files is granted, free of charge, a
* full and unrestricted irrevocable, world-wide, paid up, royalty-free,
@@ -92,10 +92,10 @@ typedef struct f_ellipse {
struct f_ellipse *next;
} F_ellipse;
-#define INVALID_ELLIPSE(e) \
+#define INVALID_ELLIPSE(e) \
e->type < T_ELLIPSE_BY_RAD || e->type > T_CIRCLE_BY_DIA || \
- COMMON_PROPERTIES(e) || (e->direction != 1 && e->direction != 0) || \
- e->radiuses.x == 0 || e->radiuses.y == 0 || \
+ COMMON_PROPERTIES(e) || (e->direction != 1 && e->direction != 0) || \
+ e->radiuses.x == 0 || e->radiuses.y == 0 || \
e->angle < -7. || e->angle > 7.
typedef struct f_arc {
@@ -126,12 +126,16 @@ typedef struct f_arc {
#define CIRCARC 9
#define CIRCULARARC > 8
-#define INVALID_ARC(a) \
+#define COINCIDENT(a, b) (a.x == b.x && a.y == b.y)
+#define INVALID_ARC(a) \
a->type < T_OPEN_ARC || a->type > T_PIE_WEDGE_ARC || \
COMMON_PROPERTIES(a) || a->cap_style < 0 || a->cap_style > 2 || \
a->center.x < COORD_MIN || a->center.x > COORD_MAX || \
a->center.y < COORD_MIN || a->center.y > COORD_MAX || \
- (a->direction != 0 && a->direction != 1)
+ (a->direction != 0 && a->direction != 1) || \
+ COINCIDENT(a->point[0], a->point[1]) || \
+ COINCIDENT(a->point[0], a->point[2]) || \
+ COINCIDENT(a->point[1], a->point[2])
typedef struct f_line {
int type;
diff --git a/fig2dev/tests/read.at b/fig2dev/tests/read.at
index 1b4baea..da9ea3e 100644
--- a/fig2dev/tests/read.at
+++ b/fig2dev/tests/read.at
@@ -2,7 +2,7 @@ dnl Fig2dev: Translate Fig code to various Devices
dnl Copyright (c) 1991 by Micah Beck
dnl Parts Copyright (c) 1985-1988 by Supoj Sutanthavibul
dnl Parts Copyright (c) 1989-2015 by Brian V. Smith
-dnl Parts Copyright (c) 2015-2024 by Thomas Loimer
+dnl Parts Copyright (c) 2015-2025 by Thomas Loimer
dnl
dnl Any party obtaining a copy of these files is granted, free of charge, a
dnl full and unrestricted irrevocable, world-wide, paid up, royalty-free,
@@ -14,7 +14,7 @@ dnl party to do so, with the only requirement being that the above copyright
dnl and this permission notice remain intact.
dnl read.at
-dnl Author: Thomas Loimer, 2017-2024
+dnl Author: Thomas Loimer, 2017-2025
AT_BANNER([Sanitize and harden input.])
@@ -248,6 +248,16 @@ EOF
])
AT_CLEANUP
+AT_SETUP([reject arcs with coincident points, ticket #186])
+AT_KEYWORDS(read.c arc)
+AT_CHECK([fig2dev -L pict2e <<EOF
+FIG_FILE_TOP
+5 1 0 15 0 7 50 0 -1 0.0 1 0 0 0 0.0 0.0 1 1 1 1 2 0
+EOF
+], 1, ignore, [Invalid arc object at line 10.
+])
+AT_CLEANUP
+
AT_SETUP([survive debian bugs #881143, #881144])
AT_KEYWORDS([font pic tikz])
AT_CHECK([fig2dev -L pic <<EOF

View File

@@ -0,0 +1,66 @@
{
lib,
stdenv,
fetchpatch,
fetchurl,
ghostscript,
libpng,
makeWrapper,
coreutils,
bc,
gnugrep,
gawk,
gnused,
}:
stdenv.mkDerivation rec {
pname = "fig2dev";
version = "3.2.9a";
src = fetchurl {
url = "mirror://sourceforge/mcj/fig2dev-${version}.tar.xz";
hash = "sha256-YeGFOTF2hS8DuQGzsFsZ+8Wtglj/FC89pucLG4NRMyY=";
};
patches = [
./CVE-2025-31162.patch
./CVE-2025-31163.patch
# Fix build with gcc15
# https://sourceforge.net/p/mcj/fig2dev/ci/ab4eee3cf0d0c1d861d64b9569a5d1497800cae2
(fetchpatch {
name = "fig2dev-prototypes.patch";
url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-gfx/fig2dev/files/fig2dev-3.2.9a-prototypes.patch?id=93644497325b6df7a17f8bd05ad0495607aa5c34";
hash = "sha256-F6z0m3Ez9JpgZg+TjVjuIZhAyTMHodB7O/l8lDTOL54=";
})
];
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ libpng ];
GSEXE = "${ghostscript}/bin/gs";
configureFlags = [ "--enable-transfig" ];
postInstall = ''
wrapProgram $out/bin/fig2ps2tex \
--set PATH ${
lib.makeBinPath [
coreutils
bc
gnugrep
gawk
]
}
wrapProgram $out/bin/pic2tpic \
--set PATH ${lib.makeBinPath [ gnused ]}
'';
meta = with lib; {
description = "Tool to convert Xfig files to other formats";
homepage = "https://mcj.sourceforge.net/";
license = licenses.xfig;
platforms = platforms.unix;
maintainers = with maintainers; [ lesuisse ];
};
}

View File

@@ -0,0 +1,53 @@
{
lib,
stdenv,
fetchurl,
fetchpatch,
fetchzip,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "figlet";
version = "2.2.5";
# some tools can be found here ftp://ftp.figlet.org/pub/figlet/util/
src = fetchurl {
url = "ftp://ftp.figlet.org/pub/figlet/program/unix/figlet-${finalAttrs.version}.tar.gz";
sha256 = "sha256-v4jED9Dwd9qycS9U+NOayVLk6fLhiC8Rlb6eXkJXQX0=";
};
contributed = fetchzip {
url = "ftp://ftp.figlet.org/pub/figlet/fonts/contributed.tar.gz";
hash = "sha256-AyvAoc3IqJeKWgJftBahxb/KJjudeJIY4KD6mElNagQ=";
};
patches = [
(fetchpatch {
url = "https://git.alpinelinux.org/aports/plain/main/figlet/musl-fix-cplusplus-decls.patch?h=3.4-stable&id=71776c73a6f04b6f671430f702bcd40b29d48399";
name = "musl-fix-cplusplus-decls.patch";
sha256 = "sha256-8tg/3rBnjFG2Q4W807+Z0NpTO7VZrontn6qm6fL7QJw=";
})
(fetchpatch {
url = "https://github.com/cmatsuoka/figlet/commit/9a50c1795bc32e5a698b855131ee87c8d7762c9e.patch";
name = "unistd-on-darwin.patch";
sha256 = "sha256-hyfY87N+yuAwjsBIjpgvcdJ1IbzlR4A2yUJQSzShCRI=";
})
];
makeFlags = [
"prefix=$(out)"
"CC:=$(CC)"
"LD:=$(CC)"
];
postInstall = "cp -ar ${finalAttrs.contributed}/* $out/share/figlet/";
doCheck = true;
meta = {
description = "Program for making large letters out of ordinary text";
homepage = "http://www.figlet.org/";
license = lib.licenses.afl21;
platforms = lib.platforms.unix;
mainProgram = "figlet";
};
})

View File

@@ -0,0 +1,45 @@
{
lib,
fetchFromGitHub,
rustPlatform,
pkg-config,
fontconfig,
freetype,
}:
rustPlatform.buildRustPackage {
pname = "figma-agent";
version = "0.3.2-unstable-2024-11-16";
src = fetchFromGitHub {
owner = "neetly";
repo = "figma-agent-linux";
rev = "6709a1b7ffcbfb227472d8f017bfbbda77ddca7d";
sha256 = "sha256-Cq+ivyrj6wt7DEUM730BG44sMkpOMt4qxb+J3itVar4=";
};
cargoHash = "sha256-QdEs1zaQ2CQT50nIhKxtp7zpJfa64xQgOy3sTOUGmxk=";
nativeBuildInputs = [
pkg-config
rustPlatform.bindgenHook
];
buildInputs = [
fontconfig
freetype
];
checkFlags = [
# All tests fail due to unavailable bindings
"--skip=figma-agent-freetype-sys"
];
meta = {
description = "Figma Agent for Linux with a focus on performance";
homepage = "https://github.com/neetly/figma-agent-linux";
license = lib.licenses.mit;
maintainers = [ ];
mainProgram = "figma-agent";
platforms = lib.platforms.linux;
};
}

View File

@@ -0,0 +1,91 @@
{
lib,
buildNpmPackage,
fetchFromGitHub,
electron,
p7zip,
# there's a setting "use zenity for dialogs"
zenity,
copyDesktopItems,
makeBinaryWrapper,
makeDesktopItem,
}:
buildNpmPackage (finalAttrs: {
pname = "figma-linux";
version = "0.11.5";
src = fetchFromGitHub {
owner = "Figma-Linux";
repo = "figma-linux";
tag = "v${finalAttrs.version}";
hash = "sha256-pa0GgAmi9Os4EtZpbo0hSgr4s+WX95zLUrZR8a33TeI=";
};
nativeBuildInputs = [
copyDesktopItems
makeBinaryWrapper
];
npmDepsHash = "sha256-FqgcG52Nkj0wlwsHwIWTXNuIeAs7b+TPkHcg7m5D2og=";
env = {
ELECTRON_SKIP_BINARY_DOWNLOAD = "1";
};
desktopItems = [
(makeDesktopItem {
name = "figma-linux";
desktopName = "Figma Linux";
comment = "Unofficial Figma desktop application for Linux";
exec = "figma-linux %U";
icon = "figma-linux";
terminal = false;
})
];
installPhase = ''
runHook preInstall
mkdir -p $out/share/figma-linux/resources
rm -rf node_modules/7zip-bin
cp -r node_modules $out/share/figma-linux/resources
# transpose [name][size] into [size][name]
for icon in resources/icons/*.png; do
basename="$(basename "$icon")"
size="''${basename%.png}"
install -Dm444 "$icon" -T "$out/share/icons/hicolor/$size/figma-linux.png"
done
cp -r dist $out/share/figma-linux/resources/app
makeWrapper ${lib.getExe electron} $out/bin/figma-linux \
--add-flag $out/share/figma-linux/resources/app \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--enable-features=UseOzonePlatform --ozone-platform=wayland --enable-wayland-ime=true}}" \
--prefix PATH : "${
lib.makeBinPath [
p7zip
zenity
]
}" \
--inherit-argv0
runHook postInstall
'';
meta = {
description = "Unofficial Electron-based Figma desktop app for Linux";
homepage = "https://github.com/Figma-Linux/figma-linux";
platforms = lib.platforms.linux;
license = lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [
kashw2
];
mainProgram = "figma-linux";
};
})

View File

@@ -0,0 +1,34 @@
{
lib,
fetchFromGitHub,
buildGoModule,
}:
buildGoModule rec {
pname = "figurine";
version = "1.3.0";
src = fetchFromGitHub {
owner = "arsham";
repo = "figurine";
rev = "v${version}";
hash = "sha256-1q6Y7oEntd823nWosMcKXi6c3iWsBTxPnSH4tR6+XYs=";
};
vendorHash = "sha256-mLdAaYkQH2RHcZft27rDW1AoFCWKiUZhh2F0DpqZELw=";
ldflags = [
"-s"
"-w"
"-X main.version=${version}"
"-X main.currentSha=${src.rev}"
];
meta = with lib; {
homepage = "https://github.com/arsham/figurine";
description = "Print your name in style";
mainProgram = "figurine";
license = licenses.asl20;
maintainers = with maintainers; [ ironicbadger ];
};
}

View File

@@ -0,0 +1,101 @@
{
stdenv,
lib,
fetchurl,
makeWrapper,
autoPatchelfHook,
jdk11,
makeDesktopItem,
copyDesktopItems,
runtimeShell,
unzip,
wrapGAppsHook3,
}:
stdenv.mkDerivation rec {
pname = "fiji";
version = "20250408-1717";
src = fetchurl {
url = "https://downloads.imagej.net/fiji/archive/${version}/fiji-nojre.zip";
sha256 = "sha256-bqVrTBKII58E7WSlQfRPE0Dxd4h/oJALFvIOdAAFZoI=";
};
dontBuild = true;
nativeBuildInputs = [
autoPatchelfHook
wrapGAppsHook3
makeWrapper
copyDesktopItems
unzip
];
buildInputs = [ (lib.getLib stdenv.cc.cc) ];
desktopItems = [
(makeDesktopItem {
name = "fiji";
exec = "fiji %F";
tryExec = "fiji";
icon = "fiji";
mimeTypes = [ "image/*" ];
comment = "Scientific Image Analysis";
desktopName = "Fiji Is Just ImageJ";
genericName = "Fiji Is Just ImageJ";
categories = [
"Education"
"Science"
"ImageProcessing"
];
startupNotify = true;
startupWMClass = "fiji-Main";
})
];
dontWrapGApps = true;
installPhase = ''
runHook preInstall
mkdir -p $out/{bin,fiji,share/pixmaps}
cp -R * $out/fiji
rm -f $out/fiji/jars/imagej-updater-*.jar
# Don't create a local desktop entry and avoid deprecated garbage
# collection option
cat <<EOF > $out/bin/.fiji-launcher-hack
#!${runtimeShell}
exec \$($out/fiji/ImageJ-linux64 --default-gc --dry-run "\$@")
EOF
chmod +x $out/bin/.fiji-launcher-hack
makeWrapper $out/bin/.fiji-launcher-hack $out/bin/fiji \
--prefix PATH : ${lib.makeBinPath [ jdk11 ]} \
--set JAVA_HOME ${jdk11.home} \
''${gappsWrapperArgs[@]}
ln $out/fiji/images/icon.png $out/share/pixmaps/fiji.png
runHook postInstall
'';
meta = with lib; {
homepage = "https://imagej.net/software/fiji/";
description = "Batteries-included distribution of ImageJ2, bundling a lot of plugins which facilitate scientific image analysis";
mainProgram = "fiji";
platforms = [ "x86_64-linux" ];
sourceProvenance = with sourceTypes; [
binaryBytecode
binaryNativeCode
];
license = with lib.licenses; [
gpl2Plus
gpl3Plus
bsd2
publicDomain
];
maintainers = with maintainers; [ davisrichard437 ];
};
}

View File

@@ -0,0 +1,43 @@
{
lib,
stdenv,
fetchurl,
ladspaH,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "fil-plugins";
version = "0.3.0";
src = fetchurl {
url = "http://kokkinizita.linuxaudio.org/linuxaudio/downloads/FIL-plugins-${finalAttrs.version}.tar.bz2";
hash = "sha256-HAvycSEZZfZwoVp3g7QWcwfbdyZKwWJKBuVmeWTajuk=";
};
buildInputs = [ ladspaH ];
postPatch = ''
substituteInPlace Makefile \
--replace /usr/lib/ladspa "$out/lib/ladspa" \
--replace g++ "$CXX"
'';
preInstall = ''
mkdir -p "$out/lib/ladspa"
'';
meta = {
description = "Four-band parametric equaliser, which has the nice property of being stable even while parameters are being changed";
longDescription = ''
Each section has an active/bypass switch, frequency, bandwidth and gain controls.
There is also a global bypass switch and gain control.
The 2nd order resonant filters are implemented using a Mitra-Regalia style lattice filter.
All switches and controls are internally smoothed, so they can be used 'live' whithout any clicks or zipper noises.
This should make this plugin a good candidate for use in systems that allow automation of plugin control ports, such as Ardour, or for stage use.
'';
homepage = "http://kokkinizita.linuxaudio.org/linuxaudio/ladspa/index.html";
license = lib.licenses.gpl2Plus;
maintainers = [ lib.maintainers.magnetophon ];
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,37 @@
{
lib,
stdenv,
fetchurl,
perl,
perlPackages,
}:
perlPackages.buildPerlPackage {
pname = "File-Rename";
version = "0.20";
src = fetchurl {
url = "mirror://cpan/authors/id/R/RM/RMBARKER/File-Rename-0.20.tar.gz";
sha256 = "1cf6xx2hiy1xalp35fh8g73j67r0w0g66jpcbc6971x9jbm7bvjy";
};
# Fix an incorrect platform test that misidentifies Darwin as Windows
postPatch = ''
substituteInPlace Makefile.PL \
--replace '/win/i' '/MSWin32/'
'';
postFixup = ''
substituteInPlace $out/bin/rename \
--replace "#!${perl}/bin/perl" "#!${perl}/bin/perl -I $out/${perl.libPrefix}"
'';
doCheck = !stdenv.hostPlatform.isDarwin;
meta = with lib; {
description = "Perl extension for renaming multiple files";
license = licenses.artistic1;
maintainers = with maintainers; [ peterhoeg ];
mainProgram = "rename";
};
}

View File

@@ -0,0 +1,79 @@
{
lib,
stdenv,
fetchurl,
desktop-file-utils,
gettext,
glibcLocales,
itstool,
libxml2,
meson,
ninja,
pkg-config,
python3,
wrapGAppsHook4,
cpio,
glib,
gnome,
gtk4,
libadwaita,
json-glib,
libarchive,
nautilus,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "file-roller";
version = "44.5";
src = fetchurl {
url = "mirror://gnome/sources/file-roller/${lib.versions.major finalAttrs.version}/file-roller-${finalAttrs.version}.tar.xz";
hash = "sha256-369LuYnAuJhr6L2un//quNDzBmmuOmJ+jD35TyOIgzk=";
};
nativeBuildInputs = [
desktop-file-utils
gettext
glibcLocales
itstool
libxml2
meson
ninja
pkg-config
python3
wrapGAppsHook4
];
buildInputs = [
cpio
glib
gtk4
libadwaita
json-glib
libarchive
nautilus
];
postPatch = ''
patchShebangs data/set-mime-type-entry.py
'';
passthru = {
updateScript = gnome.updateScript {
packageName = "file-roller";
};
};
meta = with lib; {
homepage = "https://gitlab.gnome.org/GNOME/file-roller";
changelog = "https://gitlab.gnome.org/GNOME/file-roller/-/blob/${finalAttrs.version}/NEWS?ref_type=tags";
description = "Archive manager for the GNOME desktop environment";
license = licenses.gpl2Plus;
platforms = platforms.linux;
teams = [
teams.gnome
teams.pantheon
];
mainProgram = "file-roller";
};
})

View File

@@ -0,0 +1,45 @@
{
lib,
buildGoModule,
fetchFromGitHub,
versionCheckHook,
nix-update-script,
}:
buildGoModule rec {
pname = "filebeat";
version = "8.19.4";
src = fetchFromGitHub {
owner = "elastic";
repo = "beats";
tag = "v${version}";
hash = "sha256-qY6itgYoAL93HoVDvADayjfRtsZcxTQbOVJZsFeU1Zk=";
};
proxyVendor = true; # darwin/linux hash mismatch
vendorHash = "sha256-kDlYPnAXohmPHbeRlhrjcDwDkd0AB5VYKhpe99o/XIA=";
subPackages = [ "filebeat" ];
nativeInstallCheckInputs = [
versionCheckHook
];
versionCheckProgramArg = "version";
doInstallCheck = true;
passthru = {
updateScript = nix-update-script { extraArgs = [ "--version-regex=v(8\..*)" ]; };
};
meta = {
description = "Tails and ships log files";
homepage = "https://github.com/elastic/beats";
changelog = "https://www.elastic.co/guide/en/beats/libbeat/${version}/release-notes-${version}.html";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ srhb ];
mainProgram = "filebeat";
};
}

View File

@@ -0,0 +1,33 @@
{
lib,
stdenv,
fetchurl,
autoreconfHook,
bison,
flex,
}:
stdenv.mkDerivation rec {
pname = "filebench";
version = "1.4.9.1";
src = fetchurl {
url = "mirror://sourceforge/filebench/filebench-${version}.tar.gz";
sha256 = "13hmx67lsz367sn8lrvz1780mfczlbiz8v80gig9kpkpf009yksc";
};
nativeBuildInputs = [
autoreconfHook
bison
flex
];
meta = with lib; {
description = "File system and storage benchmark that can generate both micro and macro workloads";
homepage = "https://sourceforge.net/projects/filebench/";
license = licenses.cddl;
maintainers = [ maintainers.dezgeg ];
platforms = platforms.linux;
mainProgram = "filebench";
};
}

View File

@@ -0,0 +1,115 @@
{
lib,
stdenv,
fetchurl,
coreutils,
openjdk17,
makeWrapper,
autoPatchelfHook,
zlib,
libzen,
libmediainfo,
curlWithGnuTls,
libmms,
glib,
genericUpdater,
writeShellScript,
}:
let
lanterna = fetchurl {
url = "https://search.maven.org/remotecontent?filepath=com/googlecode/lanterna/lanterna/3.1.3/lanterna-3.1.3.jar";
hash = "sha256-4EeBz34i9+7iYwnx2IC74SQMLw6ThgNKJD8Hy6eMUOA=";
};
in
stdenv.mkDerivation (finalAttrs: {
pname = "filebot";
version = "5.2.0";
src = fetchurl {
url = "https://web.archive.org/web/20230917142929/https://get.filebot.net/filebot/FileBot_${finalAttrs.version}/FileBot_${finalAttrs.version}-portable.tar.xz";
hash = "sha256-OcXXKaZcBuP584SJWeQB+aaxO0kih6Oiud0Vm8e9kPo=";
};
unpackPhase = "tar xvf $src";
nativeBuildInputs = [
makeWrapper
autoPatchelfHook
];
buildInputs = [
zlib
libzen
libmediainfo
curlWithGnuTls
libmms
glib
];
postPatch = ''
# replace lanterna.jar to be able to specify `com.googlecode.lanterna.terminal.UnixTerminal.sttyCommand`
cp ${lanterna} jar/lanterna.jar
'';
dontBuild = true;
installPhase = ''
mkdir -p $out/opt $out/bin
# Since FileBot has dependencies on relative paths between files, all required files are copied to the same location as is.
cp -r filebot.sh jar/ $out/opt/
# Copy lib based on platform and force filebot to use libmediainfo.so from nix
local platformDir
case "${stdenv.hostPlatform.system}" in
"x86_64-linux")
platformDir="Linux-x86_64"
;;
"aarch64-linux")
platformDir="Linux-aarch64"
;;
esac
if [ -n "$platformDir" ]; then
mkdir -p "$out/opt/lib"
cp -r "lib/$platformDir" "$out/opt/lib/"
rm "$out/opt/lib/$platformDir/libmediainfo.so"
ln -s "${libmediainfo}/lib/libmediainfo.so" "$out/opt/lib/$platformDir/"
fi
# Filebot writes to $APP_DATA, which fails due to read-only filesystem. Using current user .local directory instead.
substituteInPlace $out/opt/filebot.sh \
--replace 'APP_DATA="$FILEBOT_HOME/data/$(id -u)"' 'APP_DATA=''${XDG_DATA_HOME:-$HOME/.local/share}/filebot/data' \
--replace '$FILEBOT_HOME/data/.license' '$APP_DATA/.license' \
--replace '-jar "$FILEBOT_HOME/jar/filebot.jar"' '-Dcom.googlecode.lanterna.terminal.UnixTerminal.sttyCommand=${coreutils}/bin/stty -jar "$FILEBOT_HOME/jar/filebot.jar"'
wrapProgram $out/opt/filebot.sh \
--prefix PATH : ${lib.makeBinPath [ openjdk17 ]}
# Expose the binary in bin to make runnable.
ln -s $out/opt/filebot.sh $out/bin/filebot
'';
passthru.updateScript = genericUpdater {
versionLister = writeShellScript "filebot-versionLister" ''
curl -s https://www.filebot.net \
| sed -rne 's,^.*FileBot_([0-9]*\.[0-9]+\.[0-9]+)-portable.tar.xz.*,\1,p'
'';
};
meta = with lib; {
description = "Ultimate TV and Movie Renamer";
longDescription = ''
FileBot is the ultimate tool for organizing and renaming your Movies, TV
Shows and Anime as well as fetching subtitles and artwork. It's smart and
just works.
'';
homepage = "https://filebot.net";
changelog = "https://www.filebot.net/forums/viewforum.php?f=7";
sourceProvenance = with sourceTypes; [
binaryBytecode
binaryNativeCode
];
license = licenses.unfreeRedistributable;
maintainers = with maintainers; [
gleber
felschr
];
platforms = platforms.linux;
mainProgram = "filebot";
};
})

View File

@@ -0,0 +1,85 @@
{
lib,
fetchFromGitHub,
buildGoModule,
buildNpmPackage,
pnpm_9,
nix-update-script,
nixosTests,
}:
let
version = "2.42.5";
pnpm = pnpm_9;
src = fetchFromGitHub {
owner = "filebrowser";
repo = "filebrowser";
rev = "v${version}";
hash = "sha256-6AZwWdYQlaQ30Q5ohi9ovlUJZZ+u7Wqc5mfRW/3t7Zs=";
};
frontend = buildNpmPackage rec {
pname = "filebrowser-frontend";
inherit version src;
sourceRoot = "${src.name}/frontend";
npmConfigHook = pnpm.configHook;
npmDeps = pnpmDeps;
pnpmDeps = pnpm.fetchDeps {
inherit
pname
version
src
sourceRoot
;
fetcherVersion = 2;
hash = "sha256-uGEw6Wt6hXEcYQzXYzfgo3fcCX7Hj39bLHsT1rsGy74=";
};
installPhase = ''
runHook preInstall
mkdir $out
mv dist $out
runHook postInstall
'';
};
in
buildGoModule {
pname = "filebrowser";
inherit version src;
vendorHash = "sha256-aVtL64Cm+nqum/qHFvplpEawgMXM2S6l8QFrJBzLVtU=";
excludedPackages = [ "tools" ];
preBuild = ''
cp -r ${frontend}/dist frontend/
'';
ldflags = [
"-X github.com/filebrowser/filebrowser/v2/version.Version=v${version}"
];
passthru = {
updateScript = nix-update-script { };
inherit frontend;
tests = {
inherit (nixosTests) filebrowser;
};
};
meta = with lib; {
description = "Web application for managing files and directories";
homepage = "https://filebrowser.org";
license = licenses.asl20;
maintainers = with maintainers; [ oakenshield ];
mainProgram = "filebrowser";
};
}

View File

@@ -0,0 +1,31 @@
{
buildGoModule,
lib,
fetchurl,
}:
buildGoModule rec {
pname = "filegive";
version = "unstable-2022-05-29";
rev = "5b28e7087a";
src = fetchurl {
url = "https://viric.name/cgi-bin/filegive/tarball/${rev}/filegive-${rev}.tar.gz";
hash = "sha256-A69oys59GEysZvQLaYsfoX/X2ENMMH2BGfJqXohQjpc=";
};
vendorHash = "sha256-l7FRl58NWGBynMlGu1SCxeVBEzTdxREvUWzmJDiliZM=";
ldflags = [
"-s"
"-w"
];
meta = with lib; {
homepage = "https://viric.name/cgi-bin/filegive";
description = "Easy p2p file sending program";
license = licenses.agpl3Plus;
maintainers = [ ];
mainProgram = "filegive";
};
}

View File

@@ -0,0 +1,29 @@
{
lib,
python3Packages,
fetchFromGitHub,
}:
python3Packages.buildPythonApplication {
pname = "fileinfo";
version = "0-unstable-2022-09-16";
format = "pyproject";
src = fetchFromGitHub {
owner = "sdushantha";
repo = "fileinfo";
rev = "503f26189ad5043bad3fe71333dd5ba3ffbce485";
hash = "sha256-tEmCsR3LmTxeDZAbMvbIwqp/6uaGNUhgGlm18gdsnOw=";
};
build-system = with python3Packages; [ setuptools ];
dependencies = with python3Packages; [ requests ];
meta = with lib; {
homepage = "https://github.com/sdushantha/fileinfo";
description = "File extension metadata lookup tool";
license = licenses.mit;
maintainers = with maintainers; [ h7x4 ];
mainProgram = "fileinfo";
};
}

View File

@@ -0,0 +1,84 @@
{
stdenv,
lib,
buildNpmPackage,
fetchFromGitHub,
makeWrapper,
nix-update-script,
versionCheckHook,
libsecret,
nodejs,
perl,
pkg-config,
}:
buildNpmPackage (finalAttrs: {
pname = "filen-cli";
version = "0.0.34";
src = fetchFromGitHub {
owner = "FilenCloudDienste";
repo = "filen-cli";
tag = "v${finalAttrs.version}";
hash = "sha256-iISW9EAk8haWUCh9I8qHhrBKLqHeBUC8sWA0MnXqQSA=";
};
npmDepsHash = "sha256-0DpiUjUFc0ThzP6/qrSEebKDq2fnr/CpcmtPFaIVHhU=";
inherit nodejs;
env.npm_config_build_from_source = "true";
nativeBuildInputs = [
makeWrapper
pkg-config # for keytar
]
++ lib.optionals stdenv.buildPlatform.isDarwin [
# for utf-8-validate
# https://github.com/websockets/utf-8-validate/blob/1439ad4cdf99d421084ae3a5f81e2cf43199a690/binding.gyp#L17
perl
];
# for keytar
buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ libsecret ];
postPatch = ''
# The version string is substituted during publishing:
# https://github.com/FilenCloudDienste/filen-cli/blob/c7d5eb2a2cd6d514321992815f16475f6909af36/.github/workflows/build-and-publish.yml#L24
substituteInPlace package.json \
--replace-fail '"version": "0.0.0"' '"version": "${finalAttrs.version}"' \
--replace-fail '\"--external:*keytar.node\" --external:keytar' \
'--loader:.node=copy'
'';
installPhase = ''
runHook preInstall
mkdir -p $out/bin $out/lib
install -T -m755 dist/bundle.js $out/lib/index.js
install -D -m755 dist/*.node $out/lib
install -D -m644 package.json $out/lib
makeWrapper "${lib.getExe nodejs}" $out/bin/filen \
--add-flags $out/lib/index.js
runHook postInstall
'';
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgram = "${placeholder "out"}/bin/filen";
versionCheckProgramArg = "--version";
# Writes $HOME/Library/Application Support on darwin
doInstallCheck = !stdenv.hostPlatform.isDarwin;
passthru.updateScript = nix-update-script {
extraArgs = [ "--version-regex=^v([0-9.]+)$" ];
};
meta = {
description = "CLI tool for interacting with the Filen cloud";
homepage = "https://github.com/FilenCloudDienste/filen-cli";
changelog = "https://github.com/FilenCloudDienste/filen-cli/releases/tag/v${finalAttrs.version}";
license = lib.licenses.agpl3Only;
maintainers = with lib.maintainers; [ eilvelia ];
mainProgram = "filen";
};
})

View File

@@ -0,0 +1,54 @@
{
lib,
stdenv,
fetchurl,
appimageTools,
makeDesktopItem,
}:
let
pname = "filen-desktop";
version = "3.0.47";
arch = builtins.head (builtins.split "-" stdenv.hostPlatform.system);
src = fetchurl {
url = "https://github.com/FilenCloudDienste/filen-desktop/releases/download/v${version}/Filen_linux_${arch}.AppImage";
hash = "sha256-keaD5PUjkoFrFTCuap4DvmYq5X3Tjnq+njtiLgAZ9W8=";
};
desktopItem = makeDesktopItem {
name = "filen-desktop";
desktopName = "Filen Desktop";
comment = "Encrypted Cloud Storage";
icon = "filen-desktop";
exec = "filen-desktop %u";
categories = [ "Office" ];
};
appimageContents = appimageTools.extract { inherit pname version src; };
in
appimageTools.wrapType2 {
inherit pname version src;
extraInstallCommands = ''
mkdir -p $out/share
cp -rt $out/share ${desktopItem}/share/applications ${appimageContents}/usr/share/icons
chmod -R +w $out/share
find $out/share/icons -type f -iname "*.png" -execdir mv {} "$pname.png" \;
'';
meta = {
homepage = "https://filen.io/products/desktop";
downloadPage = "https://github.com/FilenCloudDienste/filen-desktop/releases/";
description = "Filen Desktop Client for Linux";
longDescription = ''
Encrypted Cloud Storage built for your Desktop.
Sync your data, mount network drives, collaborate with others and access files natively powered by robust encryption and seamless integration.
'';
mainProgram = "filen-desktop";
platforms = [ "x86_64-linux" ];
license = lib.licenses.agpl3Only;
maintainers = with lib.maintainers; [ smissingham ];
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
};
}

View File

@@ -0,0 +1,54 @@
{
lib,
fetchFromGitHub,
buildGoModule,
testers,
files-cli,
}:
buildGoModule rec {
pname = "files-cli";
version = "2.15.111";
src = fetchFromGitHub {
repo = "files-cli";
owner = "files-com";
rev = "v${version}";
hash = "sha256-M6SVLloMn/6AmIpfZ0Ib0yUQ33hC9MFjbFTxOlN7kqs=";
};
vendorHash = "sha256-fxh9YOO0xnYo04HwJyctspipSXgWcDoUu40UwhDf8Uk=";
ldflags = [
"-s"
"-w"
"-X main.version=${version}"
];
doInstallCheck = true;
installCheckPhase = ''
runHook preInstallCheck
$out/bin/files-cli --help
runHook postInstallCheck
'';
passthru.tests = {
version = testers.testVersion {
package = files-cli;
command = "files-cli -v";
version = "files-cli version ${version}";
};
};
meta = with lib; {
description = "Files.com Command Line App for Windows, Linux, and macOS";
homepage = "https://developers.files.com";
license = licenses.mit;
maintainers = with maintainers; [ kashw2 ];
mainProgram = "files-cli";
};
}

View File

@@ -0,0 +1,3 @@
{ python3Packages }:
python3Packages.toPythonApplication python3Packages.files-to-prompt

View File

@@ -0,0 +1,43 @@
{
stdenv,
fetchFromGitHub,
lib,
nixosTests,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "filesender";
version = "2.57";
src = fetchFromGitHub {
owner = "filesender";
repo = "filesender";
tag = "filesender-${finalAttrs.version}";
hash = "sha256-I/9Y64jWm7QdQ1yhjCHkLfkKrzV6y0Rp+wkZbDP86fw=";
};
patches = [
# /nix/store is read-only, but filesender searches config and logs inside of installation directory.
# This patch changes search directories to FILESENDER_CONFIG_DIR and FILESENDER_LOG_DIR environment variables.
./separate_mutable_paths.patch
];
installPhase = ''
runHook preInstall
mkdir -p $out/
cp -R . $out/
runHook postInstall
'';
passthru.tests = {
inherit (nixosTests) filesender;
};
meta = {
description = "Web application for sending large files to other users";
homepage = "https://filesender.org/";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ nhnn ];
};
})

View File

@@ -0,0 +1,122 @@
diff --git a/classes/utils/Config.class.php b/classes/utils/Config.class.php
index a4d819bc..318defdf 100644
--- a/classes/utils/Config.class.php
+++ b/classes/utils/Config.class.php
@@ -30,7 +30,7 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-if (!defined('FILESENDER_BASE')) { // Require environment (fatal)
+if (!defined('FILESENDER_BASE') || !defined("FILESENDER_CONFIG_DIR")) { // Require environment (fatal)
die('Missing environment');
}
@@ -116,7 +116,7 @@ class Config
}
// Check if main config exists
- $main_config_file = FILESENDER_BASE.'/config/config.php';
+ $main_config_file = FILESENDER_CONFIG_DIR.'/config.php';
if (!file_exists($main_config_file)) {
throw new ConfigFileMissingException($main_config_file);
}
@@ -136,7 +136,7 @@ class Config
// load password file if it is there
- $pass_config_file = FILESENDER_BASE.'/config/config-passwords.php';
+ $pass_config_file = FILESENDER_CONFIG_DIR.'/config-passwords.php';
if (file_exists($pass_config_file)) {
$config = array();
include_once($pass_config_file);
@@ -153,7 +153,7 @@ class Config
throw new ConfigBadParameterException('virtualhost');
}
- $config_file = FILESENDER_BASE.'/config/'.$virtualhost.'/config.php';
+ $config_file = FILESENDER_CONFIG_DIR.$virtualhost.'/config.php';
if (!file_exists($config_file)) {
throw new ConfigFileMissingException($config_file);
} // Should exist even if empty
@@ -175,7 +175,7 @@ class Config
}
foreach ($regex_and_configs as $regex => $extra_config_name) {
if (preg_match('`'.$regex.'`', $auth_attrs[$attr])) {
- $extra_config_file = FILESENDER_BASE.'/config/config-' . $extra_config_name . '.php';
+ $extra_config_file = FILESENDER_CONFIG_DIR.'/config-' . $extra_config_name . '.php';
if (file_exists($extra_config_file)) {
$config = array();
include_once($extra_config_file);
@@ -204,7 +204,7 @@ class Config
// Load config overrides if any
$overrides_cfg = self::get('config_overrides');
if ($overrides_cfg) {
- $overrides_file = FILESENDER_BASE.'/config/'.($virtualhost ? $virtualhost.'/' : '').'config_overrides.json';
+ $overrides_file = FILESENDER_CONFIG_DIR.($virtualhost ? $virtualhost.'/' : '').'config_overrides.json';
$overrides = file_exists($overrides_file) ? json_decode(trim(file_get_contents($overrides_file))) : new StdClass();
@@ -431,7 +431,7 @@ class Config
public static function getVirtualhosts()
{
$virtualhosts = array();
- foreach (scandir(FILESENDER_BASE.'/config') as $item) {
+ foreach (scandir(FILESENDER_CONFIG_DIR) as $item) {
if (!preg_match('`^(.+)\.conf\.php$`', $item, $match)) {
continue;
}
diff --git a/config/csrf-protector-config.php b/config/csrf-protector-config.php
index 83759ca4..ea4a3173 100755
--- a/config/csrf-protector-config.php
+++ b/config/csrf-protector-config.php
@@ -40,7 +40,7 @@ return array(
// The following should be set correctly from your config.php
// information
"jsUrl" => $config['site_url'] . "/js/csrfprotector.js",
- "logDirectory" => FILESENDER_BASE.'/log/',
+ "logDirectory" => FILESENDER_LOG_DIR,
// I found that leaving this with the _ as default
// caused the implicit token to be stripped
diff --git a/includes/ConfigDefaults.php b/includes/ConfigDefaults.php
index 733550e7..8d99b5f0 100644
--- a/includes/ConfigDefaults.php
+++ b/includes/ConfigDefaults.php
@@ -224,7 +224,7 @@ $default = array(
'log_facilities' => array(
array(
'type' => 'file',
- 'path' => FILESENDER_BASE.'/log/',
+ 'path' => FILESENDER_LOG_DIR,
'rotate' => 'hourly'
)
),
diff --git a/includes/ConfigValidation.php b/includes/ConfigValidation.php
index 5c1e7f61..b1fb57e4 100644
--- a/includes/ConfigValidation.php
+++ b/includes/ConfigValidation.php
@@ -31,9 +31,9 @@
*/
// Require environment (fatal)
-if(!defined('FILESENDER_BASE')) die('Missing environment');
+if(!defined('FILESENDER_BASE') || !defined("FILESENDER_CONFIG_DIR")) die('Missing environment');
-if(!file_exists(FILESENDER_BASE.'/config/config.php'))
+if(!file_exists(FILESENDER_CONFIG_DIR.'/config.php'))
die('Configuration file not found');
ConfigValidator::addCheck('site_url', 'string');
diff --git a/includes/init.php b/includes/init.php
index ba7fa82f..31812c54 100644
--- a/includes/init.php
+++ b/includes/init.php
@@ -35,6 +35,8 @@ if(PHP_INT_SIZE !== 8) {
}
define('FILESENDER_BASE', dirname( __DIR__ ));
+define('FILESENDER_CONFIG_DIR', getenv('FILESENDER_CONFIG_DIR', true) ?: (FILESENDER_BASE.'/config'));
+define('FILESENDER_LOG_DIR', getenv('FILESENDER_LOG_DIR', true) ?: (FILESENDER_BASE.'/log'));
// Include classes autoloader
require_once(FILESENDER_BASE.'/classes/autoload.php');

View File

@@ -0,0 +1,53 @@
{
stdenv,
lib,
fetchFromGitea,
pkg-config,
git,
libmicrohttpd,
}:
stdenv.mkDerivation rec {
pname = "fileshare";
version = "0.2.4";
src = fetchFromGitea {
domain = "git.tkolb.de";
owner = "Public";
repo = "fileshare";
rev = "v${version}";
sha256 = "sha256-00MxPivZngQ2I7Hopz2MipJFnbvSZU0HF2wZucmEWQ4=";
};
postPatch = ''
sed -i 's,$(shell git rev-parse --short HEAD),/${version},g' Makefile
substituteInPlace Makefile \
--replace-fail pkg-config "${stdenv.cc.targetPrefix}pkg-config" \
--replace-fail gcc "${stdenv.cc.targetPrefix}cc"
'';
env.NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-pointer-types";
nativeBuildInputs = [
pkg-config
git
];
buildInputs = [ libmicrohttpd ];
makeFlags = [ "BUILD=release" ];
installPhase = ''
mkdir -p $out/bin
cp bin/release/fileshare $out/bin
'';
meta = with lib; {
description = "Small HTTP Server for quickly sharing files over the network";
longDescription = "Fileshare is a simple tool for sharing the contents of a directory via a webserver and optionally allowing uploads.";
homepage = "https://git.tkolb.de/Public/fileshare";
license = licenses.mit;
maintainers = [ maintainers.esclear ];
platforms = platforms.linux;
mainProgram = "fileshare";
};
}

View File

@@ -0,0 +1,58 @@
{
lib,
stdenv,
fetchFromGitHub,
cmake,
libzip,
boost,
wt,
libconfig,
pkg-config,
libarchive,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "fileshelter";
version = "6.3.0";
src = fetchFromGitHub {
owner = "epoupon";
repo = "fileshelter";
tag = "v${finalAttrs.version}";
hash = "sha256-M6Asq3FWK7JpiLwxtNfuzeltO7iWxLOZIYg5lwJCByM=";
};
postPatch = ''
sed -i '1i #include <algorithm>' src/fileshelter/ui/ShareCreateFormView.cpp
'';
enableParallelBuilding = true;
nativeBuildInputs = [
cmake
pkg-config
];
buildInputs = [
libzip
boost
wt
libconfig
libarchive
];
NIX_LDFLAGS = "-lpthread";
postInstall = ''
ln -s ${wt}/share/Wt/resources $out/share/fileshelter/docroot/resources
'';
meta = {
homepage = "https://github.com/epoupon/fileshelter";
description = "One-click file sharing web application";
mainProgram = "fileshelter";
maintainers = [ ];
license = lib.licenses.gpl3;
platforms = [ "x86_64-linux" ];
};
})

View File

@@ -0,0 +1,75 @@
{
lib,
stdenv,
fetchsvn,
autoreconfHook,
dbus,
gettext,
gnutls,
libfilezilla,
libidn,
nettle,
pkg-config,
pugixml,
sqlite,
tinyxml,
boost,
wrapGAppsHook3,
wxGTK32,
gtk3,
xdg-utils,
}:
stdenv.mkDerivation {
pname = "filezilla";
version = "3.68.1";
src = fetchsvn {
url = "https://svn.filezilla-project.org/svn/FileZilla3/trunk";
rev = "11205";
hash = "sha256-izaNfagJYUcPRPihZ1yXwLUTHunzVXuiMITW69KPSFE=";
};
configureFlags = [
"--disable-manualupdatecheck"
"--disable-autoupdatecheck"
];
nativeBuildInputs = [
autoreconfHook
pkg-config
wrapGAppsHook3
];
buildInputs = [
boost
dbus
gettext
gnutls
libfilezilla
libidn
nettle
pugixml
sqlite
tinyxml
wxGTK32
gtk3
xdg-utils
];
enableParallelBuilding = true;
meta = with lib; {
homepage = "https://filezilla-project.org/";
description = "Graphical FTP, FTPS and SFTP client";
longDescription = ''
FileZilla Client is a free, open source FTP client. It supports
FTP, SFTP, and FTPS (FTP over SSL/TLS). The client is available
under many platforms, binaries for Windows, Linux and macOS are
provided.
'';
license = licenses.gpl2;
platforms = platforms.linux;
maintainers = with maintainers; [ pSub ];
};
}

View File

@@ -0,0 +1,92 @@
{
lib,
maven,
fetchFromGitLab,
makeWrapper,
jre,
wrapGAppsHook3,
nix-update-script,
}:
maven.buildMavenPackage rec {
pname = "filius";
version = "2.9.4";
src = fetchFromGitLab {
owner = "filius1";
repo = "filius";
# they seem to have stopped using the "v" prefix since 2.9.3
tag = version;
hash = "sha256-nQyDPLDQe5kFH3PhCmLqAt8kVnitPwX5K3xLnyntF5k=";
};
mvnHash = "sha256-6Qq/7vgA9bWQK+k66qORNwvLKMR1U5yb95DJMWaDq/k=";
mvnParameters = "-Plinux";
# tests want to create an X11 window which isn't often feasible
doCheck = false;
postPatch = ''
substituteInPlace src/deb/filius.desktop \
--replace-fail 'Exec=/usr/share/filius/filius.sh' 'Exec=filius'
'';
nativeBuildInputs = [
makeWrapper
wrapGAppsHook3
];
installPhase = ''
runHook preInstall
mkdir -p $out/bin $out/share/${pname}
cp -r target/* $out/share/${pname}
# GTK_THEME is not just set to adwaita, but to the *light* adwaita because otherwise the application is sort of unusable. the terminal still has unreadable text though (light on light).
# Without _JAVA_AWT_WM_NONREPARENTING, if you launch filius, it's just a white window, i.e. broken.
makeWrapper ${lib.getExe' jre "java"} $out/bin/${pname} \
--set GTK_THEME 'Adwaita' \
--set _JAVA_AWT_WM_NONREPARENTING '1' \
--set _JAVA_OPTIONS '-Dawt.useSystemAAFontSettings=lcd' \
--add-flags "-jar $out/share/${pname}/${pname}.jar" \
runHook postInstall
'';
postInstall = ''
install -Dm444 src/deb/application-filius-project.xml $out/share/mime/packages/application-filius-project.xml
install -Dm444 src/deb/filius32.png $out/share/icons/hicolor/80x56/mimetypes/filius.png
install -Dm444 src/deb/filius32.png $out/share/icons/hicolor/80x56/apps/filius.png
mkdir -p $out/share/man/man1/
cp src/deb/filius.1 $out/share/man/man1/
mkdir -p $out/share/applications
cp src/deb/filius.desktop $out/share/applications/
'';
passthru.updateScript = nix-update-script { };
meta = {
homepage = "https://www.lernsoftware-filius.de/";
# note, the gitlab repo page is *not* the homepage and there is not meta attribute for their git forge page
downloadPage = "https://www.lernsoftware-filius.de/Herunterladen";
description = "A computer network simulator for secondary schools";
longDescription = ''
With the software tool Filius, you can design computer networks yourself,
simulate the exchange of messages in them and thus explore their structure
and functionality experimentally. The target group are pupils at secondary
schools (general education). Filius enables learning activities that
are designed to support discovery-based learning in particular.
'';
license = with lib.licenses; [
gpl2Only
gpl3Only
];
maintainers = with lib.maintainers; [ annaaurora ];
platforms = lib.platforms.all;
mainProgram = "filius";
sourceProvenance = [ lib.sourceTypes.fromSource ];
};
}

View File

@@ -0,0 +1,28 @@
{
lib,
stdenv,
fetchFromGitHub,
}:
stdenv.mkDerivation rec {
pname = "filter-audio";
version = "0.0.1";
src = fetchFromGitHub {
owner = "irungentoo";
repo = "filter_audio";
rev = "v${version}";
sha256 = "1dv4pram317c1w97cjsv9f6r8cdxhgri7ib0v364z08pk7r2avfn";
};
doCheck = false;
makeFlags = [ "PREFIX=$(out)" ];
meta = with lib; {
description = "Lightweight audio filtering library made from webrtc code";
license = licenses.bsd3;
maintainers = [ ];
platforms = platforms.all;
};
}

View File

@@ -0,0 +1,39 @@
{
stdenv,
fetchFromGitHub,
lib,
}:
stdenv.mkDerivation (finalAttrs: {
name = "filterpath";
version = "1.0.3";
src = fetchFromGitHub {
owner = "Sigmanificient";
repo = "filterpath";
rev = finalAttrs.version;
hash = "sha256-GW8f3o7D5ddHQ8WZvds6rcsKPmlTSr/w4k2mU7oR6aM=";
};
makeFlags = [
"CC=cc"
"PREFIX=${placeholder "out"}/bin"
];
doCheck = true;
checkPhase = ''
runHook preCheck
echo "[`pwd`]" | ./filterpath | grep "`pwd`"
runHook postCheck
'';
meta = {
homepage = "https://github.com/Sigmanificient/filterpath";
description = "Retrieve a valid path from a messy piped line";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ sigmanificient ];
mainProgram = "filterpath";
platforms = lib.platforms.linux;
};
})

View File

@@ -0,0 +1,47 @@
{
lib,
buildGoModule,
fetchFromGitHub,
fetchpatch,
}:
buildGoModule rec {
pname = "filtron";
version = "0.2.0";
src = fetchFromGitHub {
owner = "asciimoo";
repo = "filtron";
rev = "v${version}";
hash = "sha256-RihxlJvbHq5PaJz89NHl/wyXrKjSiC4XYAs7LSKAo6E=";
};
vendorHash = "sha256-1DRR16WiBGvhOpq12L5njJJRRCIA7ajs1Py9j/3cWPE=";
patches = [
# Update golang version in go.mod
(fetchpatch {
url = "https://github.com/asciimoo/filtron/commit/365a0131074b3b12aaa65194bfb542182a63413c.patch";
hash = "sha256-QGR6YetEzA/b6tC4uD94LBkWv0+9PG7RD72Tpkn2gQU=";
})
# Add missing go.sum file
(fetchpatch {
url = "https://github.com/asciimoo/filtron/commit/077769282b4e392e96a194c8ae71ff9f693560ea.patch";
hash = "sha256-BhHbXDKiRjSzC6NKhKUiH6rjt/EgJcEprHMMJ1x/wiQ=";
})
];
ldflags = [
"-s"
"-w"
];
meta = with lib; {
description = "Reverse HTTP proxy to filter requests by different rules";
homepage = "https://github.com/asciimoo/filtron";
license = licenses.agpl3Only;
maintainers = [ maintainers.dasj19 ];
platforms = platforms.linux;
mainProgram = "filtron";
};
}

2182
pkgs/by-name/fi/fim-rs/Cargo.lock generated Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,63 @@
{
lib,
bzip2,
fetchFromGitHub,
pkg-config,
rustPlatform,
zstd,
}:
rustPlatform.buildRustPackage rec {
pname = "fim-rs";
version = "0.5.0";
src = fetchFromGitHub {
owner = "Achiefs";
repo = "fim";
tag = "v${version}";
hash = "sha256-V9BzgVcDTnYSy7N5fCo38vQmXRDXLjY6wvnSkIpuDGg=";
};
cargoLock = {
lockFile = ./Cargo.lock;
};
postPatch = ''
ln -s ${./Cargo.lock} Cargo.lock
'';
nativeBuildInputs = [
pkg-config
];
buildInputs = [
bzip2
zstd
];
env = {
ZSTD_SYS_USE_PKG_CONFIG = true;
};
# There is a failure while the binary is checked
doCheck = false;
meta = {
description = "Host-based file integrity monitoring tool";
longDescription = ''
FIM is a File Integrity Monitoring tool that tracks any event over your
files. It is capable of keeping historical data of your files. It checks
the filesystem changes in the background.
FIM is the fastest alternative to other software like Ossec, which
performs file integrity monitoring. It could integrate with other
security tools. The produced data can be ingested and analyzed with
tools like ElasticSearch/OpenSearch.
'';
homepage = "https://github.com/Achiefs/fim";
changelog = "https://github.com/Achiefs/fim/releases/tag/v${version}";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ fab ];
mainProgram = "fim";
};
}

View File

@@ -0,0 +1,26 @@
diff --git a/doc/Makefile.in b/doc/Makefile.in
index be8ebe5..13ae676 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -684,7 +684,7 @@ fimgs.man.html: fimgs.man
if test ! -s $@ ; then $(MAN2TXT) ./$< > $<.txt && $(srcdir)/vim2html.pl tags $<.txt && mv $<.txt.html $@ ; fi
doctags$(EXEEXT): doctags.c
- $(CC) -o $@ $<
+ @cc_for_build@ -o $@ $<
#clean:
# $(RM) -f doctags.o doctags$(EXEEXT) FIM.html tags fim-stylesheet.css fim.man.html fimgs.man.html
diff --git a/src/Makefile.in b/src/Makefile.in
index 76f5e1e..027159c 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -1132,7 +1132,7 @@ help-acm.cpp: fim.h
$(ECHO) '//#endif' >> $@
b2ba$(EXEEXT): b2ba.c
- $(CC) -o $@ $<
+ @cc_for_build@ -o $@ $<
@FIM_WANT_CUSTOM_HARDCODED_CONSOLEFONT_TRUE@@HAVE_RUNNABLE_TESTS_TRUE@default_font_byte_array.h: $(FIM_CUSTOM_HARDCODED_CONSOLEFONT) b2ba$(EXEEXT)
@FIM_WANT_CUSTOM_HARDCODED_CONSOLEFONT_TRUE@@HAVE_RUNNABLE_TESTS_TRUE@ ./b2ba$(EXEEXT) < $< > $@

View File

@@ -0,0 +1,102 @@
{
stdenv,
fetchurl,
autoconf,
automake,
pkg-config,
replaceVars,
lib,
perl,
flex,
bison,
readline,
libexif,
bash,
buildPackages,
# SDL depends on Qt, which doesn't cross-compile
x11Support ? (stdenv.buildPlatform.canExecute stdenv.hostPlatform),
SDL,
svgSupport ? true,
inkscape,
asciiArtSupport ? true,
aalib,
gifSupport ? true,
giflib,
tiffSupport ? true,
libtiff,
jpegSupport ? true,
libjpeg,
pngSupport ? true,
libpng,
}:
stdenv.mkDerivation rec {
pname = "fim";
version = "0.7";
src = fetchurl {
url = "mirror://savannah/fbi-improved/${pname}-${version}-trunk.tar.gz";
sha256 = "sha256-/p7bjeZM46DJOQ9sgtebhkNpBPj2RJYY3dMXhzHnNmg=";
};
patches = [
# build tools with a build compiler
(replaceVars ./native-tools.patch {
cc_for_build = lib.getExe buildPackages.stdenv.cc;
# patch context
FIM_WANT_CUSTOM_HARDCODED_CONSOLEFONT_TRUE = null;
HAVE_RUNNABLE_TESTS_TRUE = null;
})
];
postPatch = ''
patchShebangs --build doc/vim2html.pl
'';
nativeBuildInputs = [
autoconf
automake
bison
flex
perl
pkg-config
];
buildInputs = [
flex
readline
libexif
bash
]
++ lib.optional x11Support SDL
++ lib.optional svgSupport inkscape
++ lib.optional asciiArtSupport aalib
++ lib.optional gifSupport giflib
++ lib.optional tiffSupport libtiff
++ lib.optional jpegSupport libjpeg
++ lib.optional pngSupport libpng;
configureFlags = [
# mmap works on all relevant platforms
"ac_cv_func_mmap_fixed_mapped=yes"
# system regexp works on all relevant platforms
"fim_cv_regex_broken=no"
];
env.LIBAA_CONFIG = lib.getExe' (lib.getDev aalib) "aalib-config";
env.LIBPNG_CONFIG = lib.getExe' (lib.getDev libpng) "libpng-config";
env.NIX_CFLAGS_COMPILE = lib.optionalString x11Support "-lSDL";
meta = with lib; {
description = "Lightweight, highly customizable and scriptable image viewer";
longDescription = ''
FIM (Fbi IMproved) is a lightweight, console based image viewer that aims
to be a highly customizable and scriptable for users who are comfortable
with software like the VIM text editor or the Mutt mail user agent.
'';
homepage = "https://www.nongnu.org/fbi-improved/";
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = [ ];
};
}

View File

@@ -0,0 +1,38 @@
{
lib,
stdenv,
fetchFromGitHub,
autoreconfHook,
autoconf-archive,
ncurses,
pkg-config,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "finalcut";
version = "0.9.1";
src = fetchFromGitHub {
owner = "gansm";
repo = "finalcut";
tag = finalAttrs.version;
hash = "sha256-iKLE4UMDbnsKYEjQHlF+xyZSBke1EZSVJiabbKRkzhg=";
};
nativeBuildInputs = [
autoreconfHook
autoconf-archive
pkg-config
];
buildInputs = [ ncurses ];
meta = {
description = "Text-based widget toolkit";
homepage = "https://github.com/gansm/finalcut";
changelog = "https://github.com/gansm/finalcut/releases/tag/${finalAttrs.version}";
license = lib.licenses.lgpl3Plus;
maintainers = with lib.maintainers; [ sikmir ];
platforms = lib.platforms.unix;
};
})

View File

@@ -0,0 +1,54 @@
{
lib,
stdenv,
rustPlatform,
fetchFromGitHub,
installShellFiles,
pkg-config,
libiconv,
openssl,
}:
rustPlatform.buildRustPackage {
pname = "finalfrontier";
version = "unstable-2022-01-06";
src = fetchFromGitHub {
owner = "finalfusion";
repo = "finalfrontier";
rev = "2461fb1dde13b73039926aa66606e470907a1b59";
sha256 = "sha256-bnRzXIYairlBjv2JxU16UXYc5BB3VeKZNiJ4+XDzub4=";
};
cargoHash = "sha256-AQiXRKOXV7kXiu9GbtPE0Rddy93t1Y5tuJmww4xFSaU=";
nativeBuildInputs = [
installShellFiles
pkg-config
];
buildInputs = [
openssl
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
libiconv
];
postInstall = ''
installManPage man/*.1
# Install shell completions
for shell in bash fish zsh; do
$out/bin/finalfrontier completions $shell > finalfrontier.$shell
done
installShellCompletion finalfrontier.{bash,fish,zsh}
'';
meta = with lib; {
description = "Utility for training word and subword embeddings";
mainProgram = "finalfrontier";
homepage = "https://github.com/finalfusion/finalfrontier/";
license = licenses.asl20;
maintainers = [ ];
};
}

View File

@@ -0,0 +1,52 @@
{
lib,
rustPlatform,
fetchFromGitHub,
installShellFiles,
blas,
gfortran,
lapack,
openssl,
}:
rustPlatform.buildRustPackage rec {
pname = "finalfusion-utils";
version = "0.14.1";
src = fetchFromGitHub {
owner = "finalfusion";
repo = "finalfusion-utils";
rev = version;
sha256 = "sha256-suzivynlgk4VvDOC2dQR40n5IJHoJ736+ObdrM9dIqE=";
};
cargoHash = "sha256-X8ENEtjH1RHU2+VwtkHsyVYK37O8doMlLk94O2BGqy0=";
nativeBuildInputs = [ installShellFiles ];
buildInputs = [
blas
gfortran.cc.lib
lapack
openssl
];
# Enables build against a generic BLAS.
buildFeatures = [ "netlib" ];
postInstall = ''
# Install shell completions
for shell in bash fish zsh; do
$out/bin/finalfusion completions $shell > finalfusion.$shell
done
installShellCompletion finalfusion.{bash,fish,zsh}
'';
meta = with lib; {
description = "Utility for converting, quantizing, and querying word embeddings";
homepage = "https://github.com/finalfusion/finalfusion-utils/";
license = licenses.asl20;
maintainers = [ ];
mainProgram = "finalfusion";
};
}

View File

@@ -0,0 +1,37 @@
{
fetchFromGitHub,
lib,
stdenv,
}:
stdenv.mkDerivation {
pname = "finalmouse-udev-rules";
version = "0-unstable-2025-08-15";
src = fetchFromGitHub {
owner = "teamfinalmouse";
repo = "xpanel-linux-permissions";
rev = "6b200ec39f1fa31edf6648f5ec3d5738c3770530";
hash = "sha256-Bo8XBvrUlZe0eVQlNQGb0xuTb+wecipsHwLdZpK0dUQ=";
};
dontUnpack = true;
installPhase = ''
runHook preInstall
install -Dpm644 $src/99-finalmouse.rules $out/lib/udev/rules.d/70-finalmouse.rules
runHook postInstall
'';
meta = {
homepage = "https://github.com/teamfinalmouse/xpanel-linux-permissions";
description = "udev rules that give NixOS permission to communicate with Finalmouse mice";
platforms = lib.platforms.linux;
license = lib.licenses.mit;
maintainers = with lib.maintainers; [
emilia
];
};
}

View File

@@ -0,0 +1,80 @@
{
lib,
stdenv,
flutter332,
mpv-unwrapped,
patchelf,
fetchFromGitHub,
copyDesktopItems,
makeDesktopItem,
}:
let
version = "0.9.19-beta";
in
flutter332.buildFlutterApplication {
inherit version;
pname = "finamp";
src = fetchFromGitHub {
owner = "jmshrv";
repo = "finamp";
rev = version;
hash = "sha256-gvVKiaQ6qqMcE90B8T2FJKoViRxmIGsABmcXq+fO5hs=";
};
pubspecLock = lib.importJSON ./pubspec.lock.json;
nativeBuildInputs = [
patchelf
copyDesktopItems
];
buildInputs = [ mpv-unwrapped ];
gitHashes = {
balanced_text = "sha256-lSDR5dDjZ4garRbBPI+wSxC5iScg8wVSD5kymmLbYbk=";
isar_generator = "sha256-EthUFM+YI3bnM0U0sECoNOCRXpo4qjP71VXYBuO/u+I=";
isar_flutter_libs = "sha256-Z5IdfiaZ7348XwYSQb81z0YZEoIHWmsSZr6mYqqz4Oo=";
media_kit_libs_windows_audio = "sha256-p3hRq79whLFJLNUgL9atXyTGvOIqCbTRKVk1ie0Euqs=";
palette_generator = "sha256-mnRJf3asu1mm9HYU8U0di+qRk3SpNFwN3S5QxChpIA0=";
split_view = "sha256-unTJQDXUUPVDudlk0ReOPNYrsyEpbd/UMg1tHZsmg+k=";
flutter_user_certificates_android = "sha256-HL1Qd0D3CLYJysWLX2jqWt1FJRGm/BE8EjVFPztOIPo=";
};
postFixup = ''
patchelf $out/app/$pname/finamp --add-needed libisar.so --add-needed libmpv.so --add-needed libflutter_discord_rpc.so --add-rpath ${
lib.makeLibraryPath [ mpv-unwrapped ]
}
'';
postInstall = ''
install -Dm444 assets/icon/icon_foreground.svg $out/share/icons/hicolor/scalable/apps/finamp.svg
install -Dm444 assets/com.unicornsonlsd.finamp.metainfo.xml -t $out/share/metainfo
'';
desktopItems = [
(makeDesktopItem {
name = "com.unicornsonlsd.finamp";
desktopName = "Finamp";
genericName = "Music Player";
exec = "finamp";
icon = "finamp";
startupWMClass = "finamp";
comment = "An open source Jellyfin music player";
categories = [
"AudioVideo"
"Audio"
"Player"
"Music"
];
})
];
meta = {
# Finamp depends on `ìsar`, which for Linux is only compiled for x86_64. https://github.com/jmshrv/finamp/issues/766
broken = stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isx86_64;
description = "Open source Jellyfin music player";
homepage = "https://github.com/jmshrv/finamp";
license = lib.licenses.mpl20;
maintainers = with lib.maintainers; [ dseelp ];
mainProgram = "finamp";
platforms = lib.platforms.linux;
};
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,82 @@
{
stdenv,
lib,
fetchFromGitea,
godot_4,
makeWrapper,
just,
inkscape,
imagemagick,
nix-update-script,
}:
stdenv.mkDerivation rec {
pname = "find-billy";
version = "1.1.0";
src = fetchFromGitea {
domain = "codeberg.org";
owner = "annaaurora";
repo = "Find-Billy";
rev = "v${version}";
hash = "sha256-jKN3lEnLy0aN98S8BN3dcoOgc0RrxNoqfQdeCawKQaU=";
};
strictDeps = true;
nativeBuildInputs = [
godot_4
makeWrapper
just
inkscape
imagemagick
];
postPatch = ''
substituteInPlace export_presets.cfg --replace-fail 'res://build/icons/usr/share/icons/hicolor' $out/share/icons/hicolor
substituteInPlace project.godot --replace-fail 'res://build/icons/usr/share/icons/hicolor' $out/share/icons/hicolor
substituteInPlace justfile --replace-fail '{{build_icons_dir}}/usr' $out
'';
buildPhase = ''
runHook preBuild
# Cannot create file `/homeless-shelter/.config/godot/projects/...`
export HOME=$TMPDIR
# Link the export-templates to the expected location. The `--export` option expects the templates in the home directory.
mkdir -p $HOME/.local/share/godot
ln -s ${godot_4}/share/godot/templates $HOME/.local/share/godot
mkdir -p $out/share/find-billy
# the export preset here is for x86_64 but the pack format is architecture independant
godot4 --headless --export-pack 'linux_x86-64' $out/share/find-billy/find-billy.pck
makeWrapper ${godot_4}/bin/godot4 $out/bin/find-billy \
--add-flags "--main-pack" \
--add-flags "$out/share/find-billy/find-billy.pck"
runHook postBuild
'';
installPhase = ''
runHook preInstall
just build-icons
install -D find-billy.desktop -t $out/share/applications
runHook postInstall
'';
passthru.updateScript = nix-update-script { };
meta = with lib; {
description = "2 dimensional Pixel Art Jump & Run";
homepage = "https://codeberg.org/annaaurora/Find-Billy";
license = licenses.gpl3Plus;
platforms = [
"x86_64-linux"
"aarch64-linux"
];
maintainers = [ maintainers.annaaurora ];
};
}

View File

@@ -0,0 +1,47 @@
{
lib,
stdenv,
fetchFromGitHub,
libX11,
libXdamage,
libXrender,
libXcomposite,
libXext,
installShellFiles,
git,
}:
stdenv.mkDerivation rec {
pname = "find-cursor";
version = "1.8";
src = fetchFromGitHub {
owner = "arp242";
repo = "find-cursor";
rev = "v${version}";
sha256 = "sha256-/Dw4bOTCnpCbeI0YJ5DJ9Q2AGBognylUk7xYGn0KIA8=";
};
nativeBuildInputs = [
installShellFiles
git
];
buildInputs = [
libX11
libXdamage
libXrender
libXcomposite
libXext
];
preInstall = "mkdir -p $out/share/man/man1";
installFlags = [ "PREFIX=${placeholder "out"}" ];
meta = with lib; {
description = "Simple XLib program to highlight the cursor position";
homepage = "https://github.com/arp242/find-cursor";
license = licenses.mit;
platforms = platforms.linux;
maintainers = [ maintainers.yanganto ];
mainProgram = "find-cursor";
};
}

View File

@@ -0,0 +1,50 @@
{
lib,
stdenv,
fetchurl,
}:
stdenv.mkDerivation rec {
pname = "findbugs";
version = "3.0.1";
src = fetchurl {
url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz";
sha256 = "06b46fz4nid7qvm36r66zw01fr87y4jyz21ixw27b8hkqah0s3p8";
};
buildPhase = ''
substituteInPlace bin/findbugs --replace /bin/pwd pwd
'';
installPhase = ''
d=$out/libexec/findbugs
mkdir -p $d $out/bin $out/nix-support
cp -prd bin lib plugin doc $d/
rm $d/bin/*.bat
for i in $d/bin/*; do
if [ -f $i ]; then ln -s $i $out/bin/; fi
done
# Get rid of unnecessary JARs.
rm $d/lib/ant.jar
# Make some JARs findable.
mkdir -p $out/share/java
ln -s $d/lib/{findbugs.jar,findbugs-ant.jar} $out/share/java/
cat <<EOF > $out/nix-support/setup-hook
export FINDBUGS_HOME=$d
EOF
'';
meta = with lib; {
description = "Static analysis tool to find bugs in Java programs automatically";
homepage = "https://findbugs.sourceforge.net/";
maintainers = with maintainers; [ pSub ];
platforms = with platforms; unix;
sourceProvenance = with sourceTypes; [ binaryBytecode ];
license = licenses.lgpl3;
};
}

View File

@@ -0,0 +1,48 @@
{
lib,
rustPlatform,
fetchFromGitHub,
pkg-config,
wrapGAppsHook3,
keybinder3,
}:
rustPlatform.buildRustPackage rec {
pname = "findex";
version = "0.8.3";
src = fetchFromGitHub {
owner = "mdgaziur";
repo = "findex";
rev = "v${version}";
hash = "sha256-fsudE6eXThbN9Cz8cYATcYMXT3BJ3xCw6wrXYhxro2I=";
};
cargoHash = "sha256-o3BvQq+ql/417GFkbdV4K6wCUtYGZ4QYr0lR8/K4odY=";
postPatch = ''
# failing rust documentation tests and faulty quotes "`README.md`"
sed -i '/^\/\/\//d' ./crates/findex-plugin/src/lib.rs
substituteInPlace ./crates/findex/src/gui/css.rs \
--replace-fail '/opt/findex/style.css' "$out/share/findex/style.css"
'';
nativeBuildInputs = [
pkg-config
wrapGAppsHook3
];
buildInputs = [ keybinder3 ];
postInstall = ''
install -Dm644 css/style.css $out/share/findex/style.css
'';
meta = with lib; {
description = "Highly customizable application finder written in Rust and uses Gtk3";
homepage = "https://github.com/mdgaziur/findex";
license = licenses.gpl3Only;
platforms = platforms.linux;
maintainers = [ ];
};
}

View File

@@ -0,0 +1,28 @@
{
lib,
stdenv,
fetchFromGitHub,
autoreconfHook,
}:
stdenv.mkDerivation rec {
pname = "findnewest";
version = "0.3";
src = fetchFromGitHub {
owner = "0-wiz-0";
repo = "findnewest";
rev = "findnewest-${version}";
sha256 = "1x1cbn2b27h5r0ah5xc06fkalfdci2ngrgd4wibxjw0h88h0nvgq";
};
nativeBuildInputs = [ autoreconfHook ];
meta = with lib; {
homepage = "https://github.com/0-wiz-0/findnewest";
description = "Recursively find newest file in a hierarchy and print its timestamp";
mainProgram = "fn";
license = licenses.bsd2;
maintainers = with maintainers; [ bhipple ];
};
}

View File

@@ -0,0 +1,51 @@
{
lib,
rustPlatform,
fetchFromGitHub,
installShellFiles,
pkg-config,
openssl,
}:
rustPlatform.buildRustPackage rec {
pname = "findomain";
version = "10.0.1";
src = fetchFromGitHub {
owner = "findomain";
repo = "findomain";
tag = version;
hash = "sha256-qMSVj+qhrx1LPuXWXKzo0v4yirNW2x/o/blNkSVU3Tg=";
};
cargoHash = "sha256-uYhCTjVzkW8menf67pnZfYCMIcNZadoGJvtDmsDDxP8=";
nativeBuildInputs = [
installShellFiles
pkg-config
];
buildInputs = [
openssl
];
env = {
OPENSSL_NO_VENDOR = true;
};
postInstall = ''
installManPage findomain.1
'';
meta = {
description = "Fastest and cross-platform subdomain enumerator";
homepage = "https://github.com/Findomain/Findomain";
changelog = "https://github.com/Findomain/Findomain/releases/tag/${version}";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [
Br1ght0ne
figsoda
];
mainProgram = "findomain";
};
}

View File

@@ -0,0 +1,33 @@
{
lib,
stdenv,
fetchFromGitHub,
testers,
zig_0_15,
}:
let
zig = zig_0_15;
in
stdenv.mkDerivation (finalAttrs: {
pname = "findup";
version = "2.0.0";
src = fetchFromGitHub {
owner = "booniepepper";
repo = "findup";
tag = "v${finalAttrs.version}";
hash = "sha256-6/rQ4xNfzJQwJgrpvFRuirqlx6fVn7sLXfVRFsG3fUw=";
};
nativeBuildInputs = [ zig.hook ];
passthru.tests.version = testers.testVersion { package = finalAttrs.finalPackage; };
meta = {
homepage = "https://github.com/booniepepper/findup";
description = "Search parent directories for sentinel files";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ booniepepper ];
mainProgram = "findup";
};
})

View File

@@ -0,0 +1,36 @@
{
lib,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule rec {
pname = "fingerprintx";
version = "1.1.15";
src = fetchFromGitHub {
owner = "praetorian-inc";
repo = "fingerprintx";
tag = "v${version}";
hash = "sha256-kbSP/nSdCrcEYVvLVawjZ2RDvTGv5JsHEIXXcPLA1ng=";
};
vendorHash = "sha256-1KSNvK2ylqWjfhxMY+NQFoDahPgqGb12nA4oGqqoFIA=";
ldflags = [
"-s"
"-w"
];
# Tests require network access
doCheck = false;
meta = {
description = "Standalone utility for service discovery on open ports";
mainProgram = "fingerprintx";
homepage = "https://github.com/praetorian-inc/fingerprintx";
changelog = "https://github.com/praetorian-inc/fingerprintx/releases/tag/v${version}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ fab ];
};
}

View File

@@ -0,0 +1,74 @@
{
lib,
stdenv,
fetchFromGitHub,
autoreconfHook,
pkg-config,
libite,
libuev,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "finit";
version = "4.14";
src = fetchFromGitHub {
owner = "troglobit";
repo = "finit";
tag = finalAttrs.version;
hash = "sha256-v4QHc6pX50z4j4UBpw7J2k78Pqt7n503qiDRDWyrhOc=";
};
postPatch = ''
substituteInPlace plugins/modprobe.c --replace-fail \
'"/lib/modules"' '"/run/booted-system/kernel-modules/lib/modules"'
'';
strictDeps = true;
nativeBuildInputs = [
autoreconfHook
pkg-config
];
buildInputs = [
libite
libuev
];
outputs = [
"out"
"dev"
"doc"
];
configureFlags = [
"--sysconfdir=/etc"
"--localstatedir=/var"
# tweak default plugin list
"--enable-modprobe-plugin=yes"
"--enable-modules-load-plugin=yes"
"--enable-hotplug-plugin=no"
# minimal replacement for systemd notification library
"--with-libsystemd"
# monitor kernel events, like ac power status
"--with-keventd"
];
env.NIX_CFLAGS_COMPILE = toString [
"-D_PATH_LOGIN=\"/run/current-system/sw/bin/login\""
"-DSYSCTL_PATH=\"/run/current-system/sw/bin/sysctl\""
];
meta = {
description = "Fast init for Linux";
mainProgram = "initctl";
homepage = "https://troglobit.com/projects/finit/";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ aanderse ];
platforms = lib.platforms.unix;
};
})

View File

@@ -0,0 +1,68 @@
{
lib,
stdenv,
fetchFromGitHub,
makeWrapper,
libaio,
python3,
zlib,
withGnuplot ? false,
gnuplot ? null,
}:
stdenv.mkDerivation rec {
pname = "fio";
version = "3.41";
src = fetchFromGitHub {
owner = "axboe";
repo = "fio";
rev = "fio-${version}";
sha256 = "sha256-m4JskjSc/KHjID+6j/hbhnGzehPxMxA3m2Iyn49bJDU=";
};
buildInputs = [
python3
zlib
]
++ lib.optional (!stdenv.hostPlatform.isDarwin) libaio;
# ./configure does not support autoconf-style --build=/--host=.
# We use $CC instead.
configurePlatforms = [ ];
dontAddStaticConfigureFlags = true;
nativeBuildInputs = [
makeWrapper
python3.pkgs.wrapPython
];
strictDeps = true;
enableParallelBuilding = true;
postPatch = ''
substituteInPlace Makefile \
--replace "mandir = /usr/share/man" "mandir = \$(prefix)/man" \
--replace "sharedir = /usr/share/fio" "sharedir = \$(prefix)/share/fio"
substituteInPlace tools/plot/fio2gnuplot --replace /usr/share/fio $out/share/fio
'';
pythonPath = [ python3.pkgs.six ];
makeWrapperArgs = lib.optionals withGnuplot [
"--prefix PATH : ${lib.makeBinPath [ gnuplot ]}"
];
postInstall = ''
wrapPythonProgramsIn "$out/bin" "$out $pythonPath"
'';
meta = with lib; {
description = "Flexible IO Tester - an IO benchmark tool";
homepage = "https://git.kernel.dk/cgit/fio/";
license = licenses.gpl2Plus;
platforms = platforms.unix;
};
}

View File

@@ -0,0 +1,55 @@
{
lib,
stdenv,
buildGoModule,
fetchFromGitHub,
installShellFiles,
testers,
fioctl,
}:
buildGoModule rec {
pname = "fioctl";
version = "0.43";
src = fetchFromGitHub {
owner = "foundriesio";
repo = "fioctl";
rev = "v${version}";
sha256 = "sha256-hZ8jkIbNY2z4M7sHCYq6vVacetThcoYPJjkr8PFQmQA=";
};
vendorHash = "sha256-SUjHHsZGi5C5juYdJJ0Z7i6P6gySQOdn1VaReCIwfzU=";
ldflags = [
"-s"
"-w"
"-X github.com/foundriesio/fioctl/subcommands/version.Commit=${src.rev}"
];
nativeBuildInputs = [ installShellFiles ];
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
installShellCompletion --cmd fioctl \
--bash <($out/bin/fioctl completion bash) \
--fish <($out/bin/fioctl completion fish) \
--zsh <($out/bin/fioctl completion zsh)
'';
passthru.tests.version = testers.testVersion {
package = fioctl;
command = "HOME=$(mktemp -d) fioctl version";
version = "v${version}";
};
meta = with lib; {
description = "Simple CLI to manage your Foundries Factory";
homepage = "https://github.com/foundriesio/fioctl";
license = licenses.asl20;
maintainers = with maintainers; [
nixinator
matthewcroughan
];
mainProgram = "fioctl";
};
}

View File

@@ -0,0 +1,35 @@
{
lib,
stdenvNoCC,
fetchzip,
}:
stdenvNoCC.mkDerivation {
pname = "fira-code-symbols";
version = "20160811";
src = fetchzip {
url = "https://github.com/tonsky/FiraCode/files/412440/FiraCode-Regular-Symbol.zip";
hash = "sha256-7y51blEn0Osf8azytK08zJgtfVX/CIWQkiOoRzYKIa4=";
};
installPhase = ''
runHook preInstall
install -Dm644 *.otf -t $out/share/fonts/opentype
runHook postInstall
'';
meta = with lib; {
description = "FiraCode unicode ligature glyphs in private use area";
longDescription = ''
FiraCode uses ligatures, which some editors dont support.
This addition adds them as glyphs to the private unicode use area.
See https://github.com/tonsky/FiraCode/issues/211.
'';
license = licenses.ofl;
maintainers = [ ];
homepage = "https://github.com/tonsky/FiraCode/issues/211#issuecomment-239058632";
};
}

View File

@@ -0,0 +1,41 @@
{
lib,
stdenvNoCC,
fetchzip,
useVariableFont ? true,
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "fira-code";
version = "6.2";
src = fetchzip {
url = "https://github.com/tonsky/FiraCode/releases/download/${finalAttrs.version}/Fira_Code_v${finalAttrs.version}.zip";
stripRoot = false;
hash = "sha256-UHOwZL9WpCHk6vZaqI/XfkZogKgycs5lWg1p0XdQt0A=";
};
# only extract the variable font because everything else is a duplicate
installPhase = ''
runHook preInstall
install -Dm644 -t $out/share/fonts/truetype ${
if useVariableFont then "variable_ttf/*-VF.ttf" else "ttf/*.ttf"
}
runHook postInstall
'';
meta = with lib; {
homepage = "https://github.com/tonsky/FiraCode";
description = "Monospace font with programming ligatures";
longDescription = ''
Fira Code is a monospace font extending the Fira Mono font with
a set of ligatures for common programming multi-character
combinations.
'';
license = licenses.ofl;
maintainers = [ maintainers.rycee ];
platforms = platforms.all;
};
})

View File

@@ -0,0 +1,36 @@
{
lib,
stdenvNoCC,
fetchzip,
}:
stdenvNoCC.mkDerivation {
pname = "fira-go";
version = "1.001";
src = fetchzip {
url = "https://github.com/bBoxType/FiraGo/archive/9882ba0851f88ab904dc237f250db1d45641f45d.zip";
hash = "sha256-WwgPg7OLrXBjR6oHG5061RO3HeNkj2Izs6ktwIxVw9o=";
};
installPhase = ''
runHook preInstall
mkdir -p $out/share/fonts/opentype
mv Fonts/FiraGO_OTF_1001/{Roman,Italic}/*.otf \
$out/share/fonts/opentype
runHook postInstall
'';
meta = with lib; {
homepage = "https://bboxtype.com/typefaces/FiraGO";
description = ''
Font with the same glyph set as Fira Sans 4.3 and additionally
supports Arabic, Devenagari, Georgian, Hebrew and Thai
'';
license = licenses.ofl;
maintainers = [ maintainers.loicreynier ];
platforms = platforms.all;
};
}

View File

@@ -0,0 +1,57 @@
{
lib,
fetchFromGitHub,
python3,
stdenvNoCC,
}:
let
pname = "fira-math";
date = "2023-10-09";
version = "0.3.4-unstable-${date}";
in
stdenvNoCC.mkDerivation {
inherit pname version;
src = fetchFromGitHub {
owner = "firamath";
repo = "firamath";
rev = "4bd85bc943eb6a194cfc090f7e194aa27d8f8419";
hash = "sha256-1skakzdvzf7nX2un7b9aCSj1pzBAQuueZEU7B1nARa4=";
};
nativeBuildInputs = [
(python3.withPackages (
ps: with ps; [
fontmake
fonttools
glyphslib
toml
]
))
];
buildPhase = ''
runHook preBuild
python scripts/build.py
runHook postBuild
'';
installPhase = ''
runHook preInstall
install -D "build/"*.otf -t "$out/share/fonts/opentype/"
runHook postInstall
'';
meta = with lib; {
description = "Math font with Unicode math support based on FiraSans and FiraGO";
homepage = "https://github.com/firamath/firamath";
license = licenses.ofl;
maintainers = [ maintainers.loicreynier ];
platforms = platforms.all;
};
}

View File

@@ -0,0 +1,39 @@
{
lib,
stdenvNoCC,
fetchzip,
}:
stdenvNoCC.mkDerivation rec {
pname = "fira-mono";
version = "3.2";
src = fetchzip {
url = "https://bboxtype.com/downloads/Fira/Fira_Mono_${
lib.replaceStrings [ "." ] [ "_" ] version
}.zip";
hash = "sha256-Ukc+K2sdSz+vUQFD8mmwJHZQ3N68oM4fk6YzGLwzAfQ=";
};
installPhase = ''
runHook preInstall
install -Dm644 Fonts/FiraMono_OTF*/*.otf -t $out/share/fonts/opentype
runHook postInstall
'';
meta = with lib; {
homepage = "https://bboxtype.com/fira/";
description = "Monospace font for Firefox OS";
longDescription = ''
Fira Mono is a monospace font designed by Erik Spiekermann,
Ralph du Carrois, Anja Meiners and Botio Nikoltchev of Carrois
Type Design for Mozilla Firefox OS. Available in Regular,
Medium, and Bold.
'';
license = licenses.ofl;
maintainers = [ maintainers.rycee ];
platforms = platforms.all;
};
}

View File

@@ -0,0 +1,42 @@
{
lib,
stdenvNoCC,
fetchzip,
}:
stdenvNoCC.mkDerivation rec {
pname = "fira-sans";
version = "4.301";
src = fetchzip {
url = "https://bboxtype.com/downloads/Fira/Download_Folder_FiraSans_${
lib.replaceStrings [ "." ] [ "" ] version
}.zip";
hash = "sha256-WBt3oqPK7ACqMhilYkyFx9Ek2ugwdCDFZN+8HLRnGRs";
stripRoot = false;
};
installPhase = ''
runHook preInstall
install --mode=-x -Dt $out/share/fonts/opentype Download_Folder_FiraSans*/Fonts/Fira_Sans_OTF*/*/*/*.otf
runHook postInstall
'';
meta = with lib; {
homepage = "https://bboxtype.com/fira/";
description = "Sans-serif font for Firefox OS";
longDescription = ''
Fira Sans is a sans-serif font designed by Erik Spiekermann,
Ralph du Carrois, Anja Meiners and Botio Nikoltchev of Carrois
Type Design for Mozilla Firefox OS. It is closely related to
Spiekermann's FF Meta typeface. Available in Two, Four, Eight,
Hair, Thin, Ultra Light, Extra Light, Light, Book, Regular,
Medium, Semi Bold, Bold, Extra Bold, Heavy weights with
corresponding italic versions.
'';
license = licenses.ofl;
platforms = platforms.all;
};
}

View File

@@ -0,0 +1,24 @@
{
lib,
symlinkJoin,
fira-mono,
fira-sans,
}:
symlinkJoin rec {
pname = "fira";
inherit (fira-sans) version;
name = "${pname}-${version}";
paths = [
fira-mono
fira-sans
];
meta = {
description = "Font family including Fira Sans and Fira Mono";
homepage = "https://bboxtype.com/fira/";
license = lib.licenses.ofl;
platforms = lib.platforms.all;
};
}

View File

@@ -0,0 +1,177 @@
{
stdenv,
lib,
fetchurl,
fetchFromGitHub,
runCommand,
unstableGitUpdater,
catch2_3,
cmake,
fontconfig,
pkg-config,
libX11,
libXrandr,
libXinerama,
libXext,
libXcursor,
freetype,
alsa-lib,
# Only able to test this myself in Linux
withStandalone ? stdenv.hostPlatform.isLinux,
}:
let
# Required version, base URL and expected location specified in cmake/CPM.cmake
cpmDownloadVersion = "0.40.2";
cpmSrc = fetchurl {
url = "https://github.com/cpm-cmake/CPM.cmake/releases/download/v${cpmDownloadVersion}/CPM.cmake";
hash = "sha256-yM3DLAOBZTjOInge1ylk3IZLKjSjENO3EEgSpcotg10=";
};
cpmSourceCache = runCommand "cpm-source-cache" { } ''
mkdir -p $out/cpm
ln -s ${cpmSrc} $out/cpm/CPM_${cpmDownloadVersion}.cmake
'';
pathMappings = [
{
from = "LV2";
to = "${placeholder "out"}/${
if stdenv.hostPlatform.isDarwin then "Library/Audio/Plug-Ins/LV2" else "lib/lv2"
}";
}
{
from = "VST3";
to = "${placeholder "out"}/${
if stdenv.hostPlatform.isDarwin then "Library/Audio/Plug-Ins/VST3" else "lib/vst3"
}";
}
# this one's a guess, don't know where ppl have agreed to put them yet
{
from = "CLAP";
to = "${placeholder "out"}/${
if stdenv.hostPlatform.isDarwin then "Library/Audio/Plug-Ins/CLAP" else "lib/clap"
}";
}
]
++ lib.optionals withStandalone [
{
from = "Standalone";
to = "${placeholder "out"}/bin";
}
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
# Audio Unit is a macOS-specific thing
{
from = "AU";
to = "${placeholder "out"}/Library/Audio/Plug-Ins/Components";
}
];
x11Libs = [
libX11
libXrandr
libXinerama
libXext
libXcursor
];
in
stdenv.mkDerivation (finalAttrs: {
pname = "fire";
version = "1.5.0b-unstable-2025-09-20";
src = fetchFromGitHub {
owner = "jerryuhoo";
repo = "Fire";
rev = "34a424a4fc50984213b6e98e3aaae3dcb8e960c4";
fetchSubmodules = true;
hash = "sha256-ZTsZ/J5aeyjg4pxhjjIkgoTB5sSg2jpeKAp/uc4V+aQ=";
};
postPatch =
let
formatsListing = lib.strings.concatMapStringsSep " " (entry: entry.from) pathMappings;
in
''
# Allow all the formats we can handle
# Set LV2URI again for LV2 build
# Disable automatic copying of built plugins during buildPhase, it defaults
# into user home and we want to have building & installing separated.
substituteInPlace CMakeLists.txt \
--replace-fail 'set(FORMATS' 'set(FORMATS ${formatsListing}) #' \
--replace-fail 'BUNDLE_ID "''${BUNDLE_ID}"' 'BUNDLE_ID "''${BUNDLE_ID}" LV2URI "https://www.bluewingsmusic.com/Fire/"' \
--replace-fail 'COPY_PLUGIN_AFTER_BUILD TRUE' 'COPY_PLUGIN_AFTER_BUILD FALSE'
# Regression tests require big sound files stored in LFS, skip them
rm -v tests/RegressionTests.cpp
''
+ lib.optionalString stdenv.hostPlatform.isLinux ''
# Remove hardcoded LTO flags: needs extra setup on Linux
substituteInPlace CMakeLists.txt \
--replace-fail 'juce::juce_recommended_lto_flags' '# Not forcing LTO'
''
+ lib.optionalString (!finalAttrs.finalPackage.doCheck) ''
substituteInPlace CMakeLists.txt \
--replace-fail 'include(Tests)' '# Not building tests' \
--replace-fail 'include(Benchmarks)' '# Not building benchmark test'
'';
strictDeps = true;
nativeBuildInputs = [
cmake
pkg-config
];
buildInputs = [
catch2_3
fontconfig
]
++ lib.optionals stdenv.hostPlatform.isLinux (
x11Libs
++ [
freetype
alsa-lib
]
);
cmakeFlags = [
(lib.cmakeFeature "CPM_SOURCE_CACHE" "${cpmSourceCache}")
(lib.cmakeBool "CPM_LOCAL_PACKAGES_ONLY" true)
(lib.cmakeFeature "Catch2_SOURCE_DIR" "${catch2_3.src}")
];
installPhase = ''
runHook preInstall
''
+ lib.strings.concatMapStringsSep "\n" (entry: ''
mkdir -p ${entry.to}
# Exact path of the build artefact depends on used CMAKE_BUILD_TYPE
cp -r -t ${entry.to} Fire_artefacts/${finalAttrs.cmakeBuildType or "Release"}/${entry.from}/*
'') pathMappings
+ ''
runHook postInstall
'';
doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
# Standalone dlopen's X11 libraries
postFixup = lib.strings.optionalString (withStandalone && stdenv.hostPlatform.isLinux) ''
patchelf --add-rpath ${lib.makeLibraryPath x11Libs} $out/bin/Fire
'';
passthru.updateScript = unstableGitUpdater { tagPrefix = "v"; };
meta = {
description = "Multi-band distortion plugin by Wings";
homepage = "https://www.bluewingsmusic.com/Fire";
license = lib.licenses.agpl3Only; # Not clarified if Only or Plus
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [ OPNA2608 ];
}
// lib.optionalAttrs withStandalone {
mainProgram = "Fire";
};
})

View File

@@ -0,0 +1,50 @@
{
lib,
stdenv,
buildNpmPackage,
fetchFromGitHub,
python3,
xcbuild,
nix-update-script,
}:
buildNpmPackage rec {
pname = "firebase-tools";
version = "14.18.0";
src = fetchFromGitHub {
owner = "firebase";
repo = "firebase-tools";
tag = "v${version}";
hash = "sha256-1yTcMzyznr0b/ObVEECdJuBUi03aiTAwgcTdJ1QFcWY=";
};
npmDepsHash = "sha256-VJquJ7mDBHeclgd/jsAPyRLEFOQp27tUXGAQJX3bXyQ=";
postPatch = ''
ln -s npm-shrinkwrap.json package-lock.json
'';
nativeBuildInputs = [
python3
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
xcbuild
];
env.PUPPETEER_SKIP_DOWNLOAD = true;
passthru.updateScript = nix-update-script { };
meta = {
changelog = "https://github.com/firebase/firebase-tools/blob/v${version}/CHANGELOG.md";
description = "Manage, and deploy your Firebase project from the command line";
homepage = "https://github.com/firebase/firebase-tools";
license = lib.licenses.mit;
mainProgram = "firebase";
maintainers = with lib.maintainers; [
momeemt
sarahec
];
};
}

View File

@@ -0,0 +1,99 @@
{
lib,
stdenv,
fetchFromGitHub,
cmake,
gcc,
libseccomp,
rust-bindgen,
rustPlatform,
}:
rustPlatform.buildRustPackage rec {
pname = "firecracker";
version = "1.13.1";
src = fetchFromGitHub {
owner = "firecracker-microvm";
repo = "firecracker";
rev = "v${version}";
hash = "sha256-ZrIvz5hmP0d8ADF723Z+lOP9hi5nYbi6WUtV4wTp73U=";
};
cargoHash = "sha256-BjaNUYZRPKJKjiQWMUyoBIdD2zsNqZX37CPzdwb+lCE=";
# For aws-lc-sys@0.22.0: use external bindgen.
AWS_LC_SYS_EXTERNAL_BINDGEN = "true";
# For aws-lc-sys@0.22.0: fix gcc error:
# In function 'memcpy',
# inlined from 'OPENSSL_memcpy' at aws-lc/crypto/asn1/../internal.h
# inlined from 'aws_lc_0_22_0_i2c_ASN1_BIT_STRING' at aws-lc/crypto/asn1/a_bitstr.c
# glibc/.../string_fortified.h: error: '__builtin_memcpy' specified bound exceeds maximum object size [-Werror=stringop-overflow=]
postPatch = ''
substituteInPlace $cargoDepsCopy/aws-lc-sys-*/aws-lc/crypto/asn1/a_bitstr.c \
--replace-warn '(len > INT_MAX - 1)' '(len < 0 || len > INT_MAX - 1)'
'';
buildInputs = [ libseccomp ];
nativeBuildInputs = [
cmake
gcc
rust-bindgen # for aws-lc-sys@0.22.0
rustPlatform.bindgenHook
];
cargoBuildFlags = [ "--workspace" ];
cargoTestFlags = [
"--package"
"firecracker"
"--package"
"jailer"
];
checkFlags = [
# basic tests to skip in sandbox
"--skip=fingerprint::dump::tests::test_read_valid_sysfs_file"
"--skip=template::dump::tests::test_dump"
"--skip=tests::test_filter_apply"
"--skip=tests::test_fingerprint_dump_command"
"--skip=tests::test_template_dump_command"
"--skip=tests::test_template_verify_command"
"--skip=utils::tests::test_build_microvm"
# more tests to skip in sandbox
"--skip=env::tests::test_copy_cache_info"
"--skip=env::tests::test_dup2"
"--skip=env::tests::test_mknod_and_own_dev"
"--skip=env::tests::test_setup_jailed_folder"
"--skip=env::tests::test_userfaultfd_dev"
"--skip=resource_limits::tests::test_set_resource_limits"
];
installPhase = ''
runHook preInstall
mkdir -p $out/bin
releaseDir="build/cargo_target/${stdenv.hostPlatform.rust.rustcTarget}/release"
for bin in $(find $releaseDir -maxdepth 1 -type f -executable); do
install -Dm555 -t $out/bin $bin
done
runHook postInstall
'';
meta = {
description = "Secure, fast, minimal micro-container virtualization";
homepage = "http://firecracker-microvm.io";
changelog = "https://github.com/firecracker-microvm/firecracker/releases/tag/v${version}";
mainProgram = "firecracker";
license = lib.licenses.asl20;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [
usertam
thoughtpolice
qjoly
techknowlogick
];
};
}

View File

@@ -0,0 +1,30 @@
{
lib,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule rec {
pname = "firectl";
version = "0.2.0";
src = fetchFromGitHub {
owner = "firecracker-microvm";
repo = "firectl";
rev = "v${version}";
hash = "sha256-3MNNgFRq4goWdHFyqWNMAl2K0eKfd03BF05i82FIzNE=";
};
vendorHash = "sha256-rD+QCQKgCZU5ktItV8NYqoyQPR7lk8sutvJwSJxFfZQ=";
doCheck = false;
meta = with lib; {
description = "Command-line tool to run Firecracker microVMs";
homepage = "https://github.com/firecracker-microvm/firectl";
license = licenses.asl20;
platforms = platforms.linux;
maintainers = with maintainers; [ xrelkd ];
mainProgram = "firectl";
};
}

View File

@@ -0,0 +1,39 @@
{
lib,
fetchurl,
appimageTools,
}:
let
pname = "firefly-desktop";
version = "2.1.8";
src = fetchurl {
url = "https://github.com/iotaledger/firefly/releases/download/desktop-${version}/${pname}-${version}.AppImage";
sha256 = "sha256-MATMl5eEIauDQpz8/wqIzD7IugPVZ2HJAWCbDM4n+hA=";
};
appimageContents = appimageTools.extractType2 { inherit pname version src; };
in
appimageTools.wrapType2 {
inherit pname version src;
extraPkgs = pkgs: [ pkgs.libsecret ];
extraInstallCommands = ''
mkdir -p $out/share/applications $out/share/pixmaps
cp ${appimageContents}/desktop.desktop $out/share/applications/firefly-desktop.desktop
substituteInPlace $out/share/applications/firefly-desktop.desktop \
--replace 'Exec=AppRun' 'Exec=firefly-desktop' \
--replace 'Icon=desktop' 'Icon=firefly-desktop'
cp ${appimageContents}/desktop.png $out/share/pixmaps/firefly-desktop.png
'';
meta = with lib; {
description = "IOTA's New Wallet";
homepage = "https://firefly.iota.org";
license = licenses.asl20;
maintainers = [ ];
platforms = [ "x86_64-linux" ];
mainProgram = "firefly-desktop";
};
}

View File

@@ -0,0 +1,92 @@
{
lib,
fetchFromGitHub,
stdenvNoCC,
nodejs,
fetchNpmDeps,
buildPackages,
php84,
nixosTests,
nix-update-script,
dataDir ? "/var/lib/firefly-iii-data-importer",
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "firefly-iii-data-importer";
version = "1.8.2";
src = fetchFromGitHub {
owner = "firefly-iii";
repo = "data-importer";
tag = "v${finalAttrs.version}";
hash = "sha256-Bi1LwKC2LFs1AzrZflaKFk6/DiPiSQn5pHHrh9QkqVw=";
};
buildInputs = [ php84 ];
nativeBuildInputs = [
nodejs
nodejs.python
buildPackages.npmHooks.npmConfigHook
php84.composerHooks.composerInstallHook
php84.packages.composer-local-repo-plugin
];
composerNoDev = true;
composerNoPlugins = true;
composerNoScripts = true;
composerStrictValidation = true;
strictDeps = true;
vendorHash = "sha256-qSH1aA1FdN+LmtQcJdY0JWmpkF3txHojMfev+mFMBfk=";
npmDeps = fetchNpmDeps {
inherit (finalAttrs) src;
name = "${finalAttrs.pname}-npm-deps";
hash = "sha256-n7puQeAAmyDNkAHQK3xlQvm43W1IIyKu47fVR1a2YrA=";
};
composerRepository = php84.mkComposerRepository {
inherit (finalAttrs)
pname
src
vendorHash
version
;
composerNoDev = true;
composerNoPlugins = true;
composerNoScripts = true;
composerStrictValidation = true;
};
preInstall = ''
npm run build --workspace=v2
'';
passthru = {
phpPackage = php84;
tests = nixosTests.firefly-iii-data-importer;
updateScript = nix-update-script {
extraArgs = [
"--version-regex"
"v(\\d+\\.\\d+\\.\\d+)"
];
};
};
postInstall = ''
rm -R $out/share/php/firefly-iii-data-importer/{storage,bootstrap/cache,node_modules}
mv $out/share/php/firefly-iii-data-importer/* $out/
rm -R $out/share
ln -s ${dataDir}/storage $out/storage
ln -s ${dataDir}/cache $out/bootstrap/cache
'';
meta = {
changelog = "https://github.com/firefly-iii/data-importer/releases/tag/v${finalAttrs.version}";
description = "Firefly III Data Importer can import data into Firefly III";
homepage = "https://github.com/firefly-iii/data-importer";
license = lib.licenses.agpl3Only;
maintainers = [ lib.maintainers.savyajha ];
};
})

View File

@@ -0,0 +1,85 @@
{
lib,
fetchFromGitHub,
stdenvNoCC,
nodejs,
fetchNpmDeps,
buildPackages,
php84,
nixosTests,
nix-update-script,
dataDir ? "/var/lib/firefly-iii",
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "firefly-iii";
version = "6.4.2";
src = fetchFromGitHub {
owner = "firefly-iii";
repo = "firefly-iii";
tag = "v${finalAttrs.version}";
hash = "sha256-nGXFFGVw0TCXSBwMExk6wn0Es0HwCnY4P+nbJki+R6A=";
};
buildInputs = [ php84 ];
nativeBuildInputs = [
nodejs
nodejs.python
buildPackages.npmHooks.npmConfigHook
php84.composerHooks2.composerInstallHook
];
composerVendor = php84.mkComposerVendor {
inherit (finalAttrs) pname src version;
composerNoDev = true;
composerNoPlugins = true;
composerNoScripts = true;
composerStrictValidation = true;
strictDeps = true;
vendorHash = "sha256-siLLtF/B2eNsRaazq5zOXnFeFPlEeoSAIXYKEsrHv28=";
};
npmDeps = fetchNpmDeps {
inherit (finalAttrs) src;
name = "${finalAttrs.pname}-npm-deps";
hash = "sha256-WV1MsCbYxEHUEw0yYqD8b9jracyLVbpndWuHY0ZbaEM=";
};
preInstall = ''
npm run prod --workspace=v1
npm run build --workspace=v2
'';
passthru = {
phpPackage = php84;
tests = nixosTests.firefly-iii;
updateScript = nix-update-script {
extraArgs = [
"--version-regex"
"v(\\d+\\.\\d+\\.\\d+)"
];
};
};
postInstall = ''
chmod -R u+w $out/share
mv $out/share/php/firefly-iii/* $out/
rm -R $out/share $out/storage $out/bootstrap/cache $out/node_modules
ln -s ${dataDir}/storage $out/storage
ln -s ${dataDir}/cache $out/bootstrap/cache
'';
meta = {
changelog = "https://github.com/firefly-iii/firefly-iii/releases/tag/v${finalAttrs.version}";
description = "Firefly III: a personal finances manager";
homepage = "https://github.com/firefly-iii/firefly-iii";
license = lib.licenses.agpl3Only;
maintainers = [
lib.maintainers.savyajha
lib.maintainers.patrickdag
];
hydraPlatforms = lib.platforms.linux; # build hangs on both Darwin platforms, needs investigation
};
})

View File

@@ -0,0 +1,39 @@
{
lib,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule rec {
pname = "firefly";
version = "1.4.3";
src = fetchFromGitHub {
owner = "Brum3ns";
repo = "firefly";
tag = "v${version}";
hash = "sha256-hhZw7u4NX+BvapUZv0k2Xu/UOdL7Pt8Idjat4aJzvIk=";
};
vendorHash = "sha256-eeVj0nU+cs1cZNVvwu4LgtQkpddtyYAYS91ANHyOjcY=";
ldflags = [
"-s"
"-w"
];
preCheck = ''
# Test fails with invalid memory address or nil pointer dereference
substituteInPlace tests/httpfilter_test.go \
--replace-fail "Test_HttpFilter" "Skip_HttpFilter"
'';
meta = {
description = "Black box fuzzer for web applications";
homepage = "https://github.com/Brum3ns/firefly";
# https://github.com/Brum3ns/firefly/issues/12
license = lib.licenses.unfree;
maintainers = with lib.maintainers; [ fab ];
mainProgram = "firefly";
};
}

View File

@@ -0,0 +1,27 @@
{
lib,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule rec {
pname = "firefox-sync-client";
version = "1.9.0";
src = fetchFromGitHub {
owner = "Mikescher";
repo = "firefox-sync-client";
rev = "v${version}";
hash = "sha256-tzYuYSifV/a9SPb5KyabhQ29ByXuAgQgi3t0VMHVSH8=";
};
vendorHash = "sha256-kDh/5SOwKPYl9sC9W17bnzG73fGI5iX6lSjcB3IjOss=";
meta = {
description = "Commandline-utility to list/view/edit/delete entries in a firefox-sync account";
homepage = "https://github.com/Mikescher/firefox-sync-client";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ ambroisie ];
mainProgram = "ffsclient";
};
}

View File

@@ -0,0 +1,47 @@
{
lib,
fetchFromGitHub,
nss,
nix-update-script,
stdenv,
python3Packages,
}:
python3Packages.buildPythonApplication rec {
pname = "firefox_decrypt";
version = "1.1.1";
format = "pyproject";
src = fetchFromGitHub {
owner = "unode";
repo = "firefox_decrypt";
tag = version;
hash = "sha256-HPjOUWusPXoSwwDvW32Uad4gFERvn79ee/WxeX6h3jY=";
};
build-system = with python3Packages; [
setuptools
setuptools-scm
wheel
];
makeWrapperArgs = [
"--prefix"
(if stdenv.hostPlatform.isDarwin then "DYLD_LIBRARY_PATH" else "LD_LIBRARY_PATH")
":"
(lib.makeLibraryPath [ nss ])
];
passthru.updateScript = nix-update-script { };
meta = {
homepage = "https://github.com/unode/firefox_decrypt";
description = "Tool to extract passwords from profiles of Mozilla Firefox and derivates";
mainProgram = "firefox_decrypt";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [
schnusch
unode
];
};
}

View File

@@ -0,0 +1,165 @@
{
extraLibs ? [ ],
firefoxRuntime ? firefox-unwrapped,
lib,
fetchFromGitHub,
installShellFiles,
makeWrapper,
rustPlatform,
cups,
ffmpeg,
firefox-unwrapped,
libcanberra-gtk3,
libglvnd,
libnotify,
libpulseaudio,
libva,
libgbm,
nixosTests,
openssl,
pciutils,
pipewire,
pkg-config,
stdenv,
udev,
xorg,
}:
rustPlatform.buildRustPackage rec {
pname = "firefoxpwa";
version = "2.17.0";
src = fetchFromGitHub {
owner = "filips123";
repo = "PWAsForFirefox";
rev = "v${version}";
hash = "sha256-GKK5PYWSO+rWtuZuHgDQx3V7f8bEX8JHvvFK8sQRli4=";
};
sourceRoot = "${src.name}/native";
buildFeatures = [ "immutable-runtime" ];
cargoHash = "sha256-aV6Wvv+GzPLsWtdsS3ki82ju1Fh4IgFnIOF4OTEV7uQ=";
preConfigure = ''
sed -i 's;version = "0.0.0";version = "${version}";' Cargo.toml
sed -zi 's;name = "firefoxpwa"\nversion = "0.0.0";name = "firefoxpwa"\nversion = "${version}";' Cargo.lock
sed -i $'s;DISTRIBUTION_VERSION = \'0.0.0\';DISTRIBUTION_VERSION = \'${version}\';' userchrome/profile/chrome/pwa/chrome.sys.mjs
'';
nativeBuildInputs = [
installShellFiles
makeWrapper
pkg-config
];
buildInputs = [ openssl ];
FFPWA_EXECUTABLES = ""; # .desktop entries generated without any store path references
FFPWA_SYSDATA = "${placeholder "out"}/share/firefoxpwa";
completions = "target/${stdenv.targetPlatform.config}/release/completions";
gtk_modules = map (x: x + x.gtkModule) [ libcanberra-gtk3 ];
libs =
let
libs =
lib.optionals stdenv.hostPlatform.isLinux [
cups
ffmpeg
libglvnd
libnotify
libpulseaudio
libva
libgbm
pciutils
pipewire
udev
xorg.libXScrnSaver
]
++ gtk_modules
++ extraLibs;
in
lib.makeLibraryPath libs + ":" + lib.makeSearchPathOutput "lib" "lib64" libs;
postInstall = ''
# Runtime
mkdir -p $out/share/firefoxpwa
cp -Lr ${firefoxRuntime}/lib/${firefoxRuntime.binaryName} $out/share/firefoxpwa/runtime
chmod -R +w $out/share/firefoxpwa
if [ "${firefoxRuntime.binaryName}" != "firefox" ]; then
ln $out/share/firefoxpwa/runtime/${firefoxRuntime.binaryName} $out/share/firefoxpwa/runtime/firefox
fi
# UserChrome
cp -r userchrome $out/share/firefoxpwa
# Runtime patching
FFPWA_USERDATA=$out/share/firefoxpwa $out/bin/firefoxpwa runtime patch
# Manifest
sed -i "s!/usr/libexec!$out/bin!" manifests/linux.json
install -Dm644 manifests/linux.json $out/lib/mozilla/native-messaging-hosts/firefoxpwa.json
installShellCompletion --cmd firefoxpwa \
--bash $completions/firefoxpwa.bash \
--fish $completions/firefoxpwa.fish \
--zsh $completions/_firefoxpwa
# AppStream Metadata
install -Dm644 packages/appstream/si.filips.FirefoxPWA.metainfo.xml $out/share/metainfo/si.filips.FirefoxPWA.metainfo.xml
install -Dm644 packages/appstream/si.filips.FirefoxPWA.svg $out/share/icons/hicolor/scalable/apps/si.filips.FirefoxPWA.svg
wrapProgram $out/bin/firefoxpwa \
--prefix FFPWA_SYSDATA : "$out/share/firefoxpwa" \
--prefix LD_LIBRARY_PATH : "$libs" \
--suffix-each GTK_PATH : "$gtk_modules"
wrapProgram $out/bin/firefoxpwa-connector \
--prefix FFPWA_SYSDATA : "$out/share/firefoxpwa" \
--prefix LD_LIBRARY_PATH : "$libs" \
--suffix-each GTK_PATH : "$gtk_modules"
'';
passthru.tests.firefoxpwa = nixosTests.firefoxpwa;
meta = {
description = "Tool to install, manage and use Progressive Web Apps (PWAs) in Mozilla Firefox (native component)";
longDescription = ''
Progressive Web Apps (PWAs) are web apps that use web APIs and features along
with progressive enhancement strategy to bring a native app-like user experience
to cross-platform web applications. Although Firefox supports many of Progressive
Web App APIs, it does not support functionality to install them as a standalone
system app with an app-like experience.
This project creates a custom modified Firefox runtime to allow websites to be
installed as standalone apps and provides a console tool and browser extension
to install, manage and use them.
This package contains only the native part of the PWAsForFirefox project. You
should also install the browser extension if you haven't already. You can download
it from the [Firefox Add-ons](https://addons.mozilla.org/firefox/addon/pwas-for-firefox/)
website.
To install the package on NixOS, you need to add the following options:
```
programs.firefox.nativeMessagingHosts.packages = [ pkgs.firefoxpwa ];
environment.systemPackages = [ pkgs.firefoxpwa ];
```
As it needs to be both in the `PATH` and in the `nativeMessagingHosts` to make it
possible for the extension to detect and use it.
'';
homepage = "https://pwasforfirefox.filips.si/";
changelog = "https://github.com/filips123/PWAsForFirefox/releases/tag/v${version}";
license = lib.licenses.mpl20;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [
camillemndn
pasqui23
];
mainProgram = "firefoxpwa";
};
}

View File

@@ -0,0 +1,11 @@
--- a/src/fbuilder/build_profile.c
+++ b/src/fbuilder/build_profile.c
@@ -48,7 +48,7 @@
// build command
char *cmd[len];
unsigned curr_len = 0;
- cmd[curr_len++] = BINDIR "/firejail";
+ cmd[curr_len++] = "firejail";
cmd[curr_len++] = "--quiet";
cmd[curr_len++] = "--noprofile";
cmd[curr_len++] = "--caps.drop=all";

View File

@@ -0,0 +1,27 @@
--- a/src/firejail/fs_overlayfs.c
+++ b/src/firejail/fs_overlayfs.c
@@ -327,6 +327,16 @@
errExit("mounting /dev");
fs_logger("whitelist /dev");
+ // mount-bind /nix
+ if (arg_debug)
+ printf("Mounting /nix\n");
+ char *nix;
+ if (asprintf(&nix, "%s/nix", oroot) == -1)
+ errExit("asprintf");
+ if (mount("/nix", nix, NULL, MS_BIND|MS_REC, NULL) < 0)
+ errExit("mounting /nix");
+ fs_logger("whitelist /nix");
+
// mount-bind run directory
if (arg_debug)
printf("Mounting /run\n");
@@ -384,6 +394,7 @@
free(odiff);
free(owork);
free(dev);
+ free(nix);
free(run);
free(tmp);
}

View File

@@ -0,0 +1,103 @@
{
lib,
stdenv,
fetchFromGitHub,
pkg-config,
libapparmor,
which,
xdg-dbus-proxy,
nixosTests,
}:
stdenv.mkDerivation rec {
pname = "firejail";
version = "0.9.74";
src = fetchFromGitHub {
owner = "netblue30";
repo = "firejail";
rev = version;
sha256 = "sha256-BKEW2IWatzePGREAA479eaP6bJb1i2fRs/GZcyLinrM=";
};
nativeBuildInputs = [
pkg-config
];
buildInputs = [
libapparmor
which
];
configureFlags = [
"--enable-apparmor"
];
patches = [
# Adds the /nix directory when using an overlay.
# Required to run any programs under this mode.
./mount-nix-dir-on-overlay.patch
# By default fbuilder hardcodes the firejail binary to the install path.
# On NixOS the firejail binary is a setuid wrapper available in $PATH.
./fbuilder-call-firejail-on-path.patch
];
prePatch = ''
# Fix the path to 'xdg-dbus-proxy' hardcoded in the 'common.h' file
substituteInPlace src/include/common.h \
--replace '/usr/bin/xdg-dbus-proxy' '${xdg-dbus-proxy}/bin/xdg-dbus-proxy'
# Workaround for regression introduced in 0.9.72 preventing usage of
# end-of-options indicator "--"
# See https://github.com/netblue30/firejail/issues/5659
substituteInPlace src/firejail/sandbox.c \
--replace " && !arg_doubledash" ""
'';
preConfigure = ''
sed -e 's@/bin/bash@${stdenv.shell}@g' -i $( grep -lr /bin/bash .)
sed -e "s@/bin/cp@$(which cp)@g" -i $( grep -lr /bin/cp .)
'';
preBuild = ''
sed -e "s@/etc/@$out/etc/@g" -e "/chmod u+s/d" -i Makefile
'';
# The profile files provided with the firejail distribution include `.local`
# profile files using relative paths. The way firejail works when it comes to
# handling includes is by looking target files up in `~/.config/firejail`
# first, and then trying `SYSCONFDIR`. The latter normally points to
# `/etc/filejail`, but in the case of nixos points to the nix store. This
# makes it effectively impossible to place any profile files in
# `/etc/firejail`.
#
# The workaround applied below is by creating a set of `.local` files which
# only contain respective includes to `/etc/firejail`. This way
# `~/.config/firejail` still takes precedence, but `/etc/firejail` will also
# be searched in second order. This replicates the behaviour from
# non-nixos platforms.
#
# See https://github.com/netblue30/firejail/blob/e4cb6b42743ad18bd11d07fd32b51e8576239318/src/firejail/profile.c#L68-L83
# for the profile file lookup implementation.
postInstall = ''
for local in $(grep -Eh '^include.*local$' $out/etc/firejail/*{.inc,.profile} | awk '{print $2}' | sort | uniq)
do
echo "include /etc/firejail/$local" >$out/etc/firejail/$local
done
'';
# At high parallelism, the build sometimes fails with:
# bash: src/fsec-optimize/fsec-optimize: No such file or directory
enableParallelBuilding = false;
passthru.tests = nixosTests.firejail;
meta = {
description = "Namespace-based sandboxing tool for Linux";
license = lib.licenses.gpl2Plus;
maintainers = [ lib.maintainers.raskin ];
platforms = lib.platforms.linux;
homepage = "https://firejail.wordpress.com/";
};
}

View File

@@ -0,0 +1,40 @@
{
lib,
stdenv,
fetchFromGitHub,
ncurses,
}:
stdenv.mkDerivation {
pname = "fireplace";
version = "0-unstable-2020-02-02";
buildInputs = [ ncurses ];
installPhase = ''
runHook preInstall
install -Dm555 fireplace -t $out/bin
runHook postInstall
'';
src = fetchFromGitHub {
owner = "Wyatt915";
repo = "fireplace";
rev = "aa2070b73be9fb177007fc967b066d88a37e3408";
hash = "sha256-2NUE/zaFoGwkZxgvVCYXxToiL23aVUFwFNlQzEq9GEc=";
};
makeFlags = lib.optional stdenv.hostPlatform.isDarwin [ "CC=cc" ];
meta = {
description = "Cozy fireplace in your terminal";
homepage = "https://github.com/Wyatt915/fireplace";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [
multivac61
];
mainProgram = "fireplace";
platforms = lib.platforms.all;
};
}

View File

@@ -0,0 +1,130 @@
{
stdenv,
lib,
fetchFromGitHub,
fetchzip,
addDriverRunpath,
cmake,
glibc_multi,
glibc,
git,
pkg-config,
cudaPackages ? { },
withCuda ? false,
}:
let
inherit (cudaPackages) cudatoolkit;
hwloc = stdenv.mkDerivation rec {
pname = "hwloc";
version = "2.2.0";
src = fetchzip {
url = "https://download.open-mpi.org/release/hwloc/v${lib.versions.majorMinor version}/hwloc-${version}.tar.gz";
sha256 = "1ibw14h9ppg8z3mmkwys8vp699n85kymdz20smjd2iq9b67y80b6";
};
configureFlags = [
"--enable-static"
"--disable-libudev"
"--disable-shared"
"--disable-doxygen"
"--disable-libxml2"
"--disable-cairo"
"--disable-io"
"--disable-pci"
"--disable-opencl"
"--disable-cuda"
"--disable-nvml"
"--disable-gl"
"--disable-libudev"
"--disable-plugin-dlopen"
"--disable-plugin-ltdl"
];
nativeBuildInputs = [ pkg-config ];
enableParallelBuilding = true;
outputs = [
"out"
"lib"
"dev"
"doc"
"man"
];
};
in
stdenv.mkDerivation rec {
pname = "firestarter";
version = "2.0";
src = fetchFromGitHub {
owner = "tud-zih-energy";
repo = "FIRESTARTER";
tag = "v${version}";
sha256 = "1ik6j1lw5nldj4i3lllrywqg54m9i2vxkxsb2zr4q0d2rfywhn23";
fetchSubmodules = true;
};
nativeBuildInputs = [
cmake
git
pkg-config
]
++ lib.optionals withCuda [
addDriverRunpath
];
buildInputs = [
hwloc
]
++ (
if withCuda then
[
glibc_multi
cudatoolkit
]
else
[ glibc.static ]
);
NIX_LDFLAGS = lib.optionals withCuda [
"-L${cudatoolkit}/lib/stubs"
];
cmakeFlags = [
"-DFIRESTARTER_BUILD_HWLOC=OFF"
"-DCMAKE_C_COMPILER_WORKS=1"
"-DCMAKE_CXX_COMPILER_WORKS=1"
]
++ lib.optionals withCuda [
"-DFIRESTARTER_BUILD_TYPE=FIRESTARTER_CUDA"
];
installPhase = ''
runHook preInstall
mkdir -p $out/bin
cp src/FIRESTARTER${lib.optionalString withCuda "_CUDA"} $out/bin/
runHook postInstall
'';
postFixup = lib.optionalString withCuda ''
addDriverRunpath $out/bin/FIRESTARTER_CUDA
'';
meta = with lib; {
broken = (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64);
homepage = "https://tu-dresden.de/zih/forschung/projekte/firestarter";
description = "Processor Stress Test Utility";
platforms = platforms.linux;
maintainers = with maintainers; [
astro
marenz
];
license = licenses.gpl3;
mainProgram = "FIRESTARTER";
};
}

View File

@@ -0,0 +1,33 @@
{
lib,
stdenv,
fetchurl,
libnet,
libpcap,
libdnet,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "firewalk";
version = "5.0";
src = fetchurl {
url = "https://salsa.debian.org/pkg-security-team/firewalk/-/archive/upstream/${finalAttrs.version}/firewalk-upstream-${finalAttrs.version}.tar.gz";
hash = "sha256-f0sHzcH3faeg7epfpWXbgaHrRWaWBKMEqLdy38+svGo=";
};
buildInputs = [
libnet
libpcap
libdnet
];
meta = with lib; {
description = "Gateway ACL scanner";
mainProgram = "firewalk";
homepage = "http://packetfactory.openwall.net/projects/firewalk/";
license = licenses.bsd2;
maintainers = with maintainers; [ tochiaha ];
platforms = platforms.linux;
};
})

View File

@@ -0,0 +1,12 @@
--- a/src/firewall/config/__init__.py.in
+++ b/src/firewall/config/__init__.py.in
@@ -80,7 +80,8 @@
FIREWALLD_POLICIES = path + "/policies"
-set_default_config_paths("/usr/lib/firewalld")
+import os
+set_default_config_paths(os.environ.get("NIX_FIREWALLD_CONFIG_PATH", "/usr/lib/firewalld"))
FIREWALLD_LOGFILE = "/var/log/firewalld"

View File

@@ -0,0 +1,14 @@
--- a/configure.ac
+++ b/configure.ac
@@ -152,8 +152,10 @@
AC_SUBST([GETTEXT_PACKAGE], '[PKG_NAME]')
AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE], ["$GETTEXT_PACKAGE"],)
+AM_GNU_GETTEXT_VERSION([0.22.5])
+AM_GNU_GETTEXT([external])
+
IT_PROG_INTLTOOL([0.35.0], [no-xml])
-AM_PO_SUBDIRS
AC_CONFIG_COMMANDS([xsl-cleanup],,[rm -f doc/xml/transform-*.xsl])

View File

@@ -0,0 +1,164 @@
{
lib,
stdenv,
fetchFromGitHub,
autoconf,
automake,
docbook_xml_dtd_42,
docbook-xsl-nons,
glib,
gobject-introspection,
gtk3,
intltool,
ipset,
iptables,
kdePackages,
kmod,
libnotify,
librsvg,
libxml2,
libxslt,
networkmanager,
networkmanagerapplet,
pkg-config,
python3,
qt6,
sysctl,
wrapGAppsNoGuiHook,
withGui ? false,
}:
let
pythonPath = python3.withPackages (
ps:
with ps;
[
dbus-python
nftables
pygobject3
]
++ lib.optionals withGui [
pyqt6
]
);
in
stdenv.mkDerivation rec {
pname = "firewalld";
version = "2.3.1";
src = fetchFromGitHub {
owner = "firewalld";
repo = "firewalld";
rev = "v${version}";
sha256 = "sha256-ONpyJJjIn5kEnkudZe4Nf67wdQgWa+2qEkT1nxRBDpI=";
};
patches = [
./add-config-path-env-var.patch
./respect-xml-catalog-files-var.patch
./specify-localedir.patch
./gettext-0.25.patch
];
postPatch = ''
substituteInPlace config/xmlschema/check.sh \
--replace-fail /usr/bin/ ""
for file in src/{firewall-offline-cmd.in,firewall/config/__init__.py.in} \
config/firewall-{applet,config}.desktop.in; do
substituteInPlace $file \
--replace-fail /usr "$out"
done
''
+ lib.optionalString withGui ''
substituteInPlace src/firewall-applet.in \
--replace-fail "/usr/bin/systemsettings" "${kdePackages.systemsettings}/bin/systemsettings" \
--replace-fail "/usr/bin/nm-connection-editor" "${networkmanagerapplet}/bin/nm-connection-editor"
'';
nativeBuildInputs = [
autoconf
automake
docbook_xml_dtd_42
docbook-xsl-nons
glib
intltool
libxml2
libxslt
pkg-config
python3
python3.pkgs.wrapPython
wrapGAppsNoGuiHook
]
++ lib.optionals withGui [
qt6.wrapQtAppsHook
];
buildInputs = [
glib
gobject-introspection
ipset
iptables
kmod
networkmanager
pythonPath
sysctl
]
++ lib.optionals withGui [
gtk3
libnotify
librsvg
qt6.qtbase
];
preConfigure = ''
./autogen.sh
'';
ac_cv_path_MODPROBE = lib.getExe' kmod "modprobe";
ac_cv_path_RMMOD = lib.getExe' kmod "rmmod";
ac_cv_path_SYSCTL = lib.getExe' sysctl "sysctl";
configureFlags = [
"--with-iptables=${lib.getExe' iptables "iptables"}"
"--with-iptables-restore=${lib.getExe' iptables "iptables-restore"}"
"--with-ip6tables=${lib.getExe' iptables "ip6tables"}"
"--with-ip6tables-restore=${lib.getExe' iptables "ip6tables-restore"}"
"--with-ebtables=${lib.getExe' iptables "ebtables"}"
"--with-ebtables-restore=${lib.getExe' iptables "ebtables-restore"}"
"--with-ipset=${lib.getExe' ipset "ipset"}"
];
postInstall = ''
rm -r $out/share/firewalld/testsuite
''
+ lib.optionalString (!withGui) ''
rm $out/bin/firewall-{applet,config}
'';
dontWrapGApps = true;
dontWrapQtApps = true;
preFixup = ''
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
''
+ lib.optionalString withGui ''
makeWrapperArgs+=("''${qtWrapperArgs[@]}")
'';
postFixup = ''
chmod +x $out/share/firewalld/*.py
patchShebangs --host $out/share/firewalld/*.py
wrapPythonProgramsIn "$out/bin" "$out ${pythonPath}"
'';
meta = {
description = "Firewall daemon with D-Bus interface";
homepage = "https://firewalld.org";
downloadPage = "https://github.com/firewalld/firewalld/releases";
license = lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [ prince213 ];
platforms = lib.platforms.linux;
};
}

View File

@@ -0,0 +1,13 @@
--- a/m4/jh_path_xml_catalog.m4
+++ b/m4/jh_path_xml_catalog.m4
@@ -40,8 +40,8 @@ AC_DEFUN([JH_CHECK_XML_CATALOG],
[
AC_REQUIRE([JH_PATH_XML_CATALOG],[JH_PATH_XML_CATALOG(,[:])])dnl
AC_MSG_CHECKING([for ifelse([$2],,[$1],[$2]) in XML catalog])
- if $jh_found_xmlcatalog && \
- AC_RUN_LOG([$XMLCATALOG --noout "$XML_CATALOG_FILE" "$1" >&2]); then
+ # empty argument forces libxml to use XML_CATALOG_FILES variable
+ if AC_RUN_LOG([$XMLCATALOG --noout "" "$1" >&2]); then
AC_MSG_RESULT([found])
ifelse([$3],,,[$3
])dnl

View File

@@ -0,0 +1,12 @@
--- a/src/firewall/config/__init__.py.in
+++ b/src/firewall/config/__init__.py.in
@@ -19,6 +19,9 @@
DOMAIN = "firewalld"
import gettext
+locale.bindtextdomain(DOMAIN, "/usr/share/locale")
+gettext.bindtextdomain(DOMAIN, "/usr/share/locale")
+
gettext.install(domain=DOMAIN)
from . import dbus # noqa: F401

View File

@@ -0,0 +1,45 @@
{
lib,
rustPlatform,
fetchFromGitHub,
nix-update-script,
}:
rustPlatform.buildRustPackage rec {
pname = "firezone-gateway";
version = "1.4.16";
src = fetchFromGitHub {
owner = "firezone";
repo = "firezone";
tag = "gateway-${version}";
hash = "sha256-Tu0Bq/Axj05dCRCd1eB7CiOXQ5n4i8hnE3ZiGCQ5ZdY=";
};
cargoHash = "sha256-wlf+TtrRG7hHNav7WqLn2DSX9QkKFVzyiKP5CRdXlNY=";
sourceRoot = "${src.name}/rust";
buildAndTestSubdir = "gateway";
RUSTFLAGS = "--cfg system_certs";
# Required to remove profiling arguments which conflict with this builder
postPatch = ''
rm .cargo/config.toml
'';
passthru.updateScript = nix-update-script {
extraArgs = [
"--version-regex"
"gateway-(.*)"
];
};
meta = {
description = "WireGuard tunnel server for the Firezone zero-trust access platform";
homepage = "https://github.com/firezone/firezone";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [
oddlama
patrickdag
];
mainProgram = "firezone-gateway";
platforms = lib.platforms.linux;
};
}

View File

@@ -0,0 +1,172 @@
{
lib,
rust,
rustPlatform,
fetchFromGitHub,
nix-update-script,
stdenvNoCC,
pkg-config,
openssl,
dbus,
zenity,
cargo-tauri,
gdk-pixbuf,
glib,
gobject-introspection,
gtk3,
kdePackages,
libsoup_3,
libayatana-appindicator,
webkitgtk_4_1,
wrapGAppsHook3,
pnpm_9,
nodejs,
makeDesktopItem,
copyDesktopItems,
}:
let
version = "1.5.1";
src = fetchFromGitHub {
owner = "firezone";
repo = "firezone";
tag = "gui-client-${version}";
hash = "sha256-KozSy44Opx6cukA0QTXeMpI3fP49iyabFzPLIJckOZ4=";
};
frontend = stdenvNoCC.mkDerivation rec {
pname = "firezone-gui-client-frontend";
inherit version src;
pnpmDeps = pnpm_9.fetchDeps {
inherit pname version;
src = "${src}/rust/gui-client";
fetcherVersion = 1;
hash = "sha256-ttbTYBuUv0vyiYzrFATF4x/zngsRXjuLPfL3qW2HEe4=";
};
pnpmRoot = "rust/gui-client";
env.GITHUB_SHA = version;
nativeBuildInputs = [
pnpm_9.configHook
nodejs
];
buildPhase = ''
runHook preBuild
cd $pnpmRoot
node ./node_modules/flowbite-react/dist/cli/bin.js patch
node --max_old_space_size=1024000 ./node_modules/vite/bin/vite.js build
runHook postBuild
'';
installPhase = ''
runHook preInstall
cp -r dist $out
runHook postInstall
'';
};
in
rustPlatform.buildRustPackage rec {
pname = "firezone-gui-client";
inherit version src;
cargoHash = "sha256-TDP1Z4MeQaSER8MGnCEQfIhRsakaSCeJ7boUMBYkkI0=";
sourceRoot = "${src.name}/rust";
buildAndTestSubdir = "gui-client";
RUSTFLAGS = "--cfg system_certs";
nativeBuildInputs = [
cargo-tauri.hook
pkg-config
wrapGAppsHook3
copyDesktopItems
];
buildInputs = [
openssl
dbus
gdk-pixbuf
glib
gobject-introspection
gtk3
libsoup_3
libayatana-appindicator
webkitgtk_4_1
];
# Required to remove profiling arguments which conflict with this builder
postPatch = ''
rm .cargo/config.toml
ln -s ${frontend} gui-client/dist
substituteInPlace gui-client/src-tauri/tauri.conf.json \
--replace-fail '../../target' '../../target/${rust.envVars.rustHostPlatformSpec}'
'';
# Tries to compile apple specific crates due to workspace dependencies,
# not sure if this can be worked around
doCheck = false;
desktopItems = [
# Additional desktop item to associate deep-links
(makeDesktopItem {
name = "firezone-client-gui-deep-link";
exec = "firezone-client-gui open-deep-link %U";
icon = "firezone-client-gui";
comment = meta.description;
desktopName = "Firezone GUI Client";
categories = [ "Network" ];
noDisplay = true;
mimeTypes = [
"x-scheme-handler/firezone-fd0020211111"
];
})
];
preFixup = ''
gappsWrapperArgs+=(
# Otherwise blank screen, see https://github.com/tauri-apps/tauri/issues/9304
--set WEBKIT_DISABLE_DMABUF_RENDERER 1
--prefix PATH ":" ${
lib.makeBinPath [
zenity
kdePackages.kdialog
]
}
--prefix LD_LIBRARY_PATH ":" ${
lib.makeLibraryPath [
libayatana-appindicator
]
}
)
'';
passthru = {
inherit frontend;
updateScript = nix-update-script {
extraArgs = [
"--version-regex"
"gui-client-(.*)"
];
};
};
meta = {
description = "GUI client for the Firezone zero-trust access platform";
homepage = "https://github.com/firezone/firezone";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [
oddlama
patrickdag
];
mainProgram = "firezone-gui-client";
platforms = lib.platforms.linux;
};
}

View File

@@ -0,0 +1,50 @@
{
lib,
rustPlatform,
fetchFromGitHub,
nix-update-script,
}:
rustPlatform.buildRustPackage rec {
pname = "firezone-headless-client";
version = "1.5.3";
src = fetchFromGitHub {
owner = "firezone";
repo = "firezone";
tag = "headless-client-${version}";
hash = "sha256-Tu0Bq/Axj05dCRCd1eB7CiOXQ5n4i8hnE3ZiGCQ5ZdY=";
};
cargoHash = "sha256-wlf+TtrRG7hHNav7WqLn2DSX9QkKFVzyiKP5CRdXlNY=";
sourceRoot = "${src.name}/rust";
buildAndTestSubdir = "headless-client";
RUSTFLAGS = "--cfg system_certs";
# Required to remove profiling arguments which conflict with this builder
postPatch = ''
rm .cargo/config.toml
'';
# Required to run tests
preCheck = ''
export XDG_RUNTIME_DIR=$(mktemp -d)
'';
passthru.updateScript = nix-update-script {
extraArgs = [
"--version-regex"
"headless-client-(.*)"
];
};
meta = {
description = "CLI client for the Firezone zero-trust access platform";
homepage = "https://github.com/firezone/firezone";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [
oddlama
patrickdag
];
mainProgram = "firezone-headless-client";
platforms = lib.platforms.linux;
};
}

View File

@@ -0,0 +1,37 @@
{
lib,
rustPlatform,
fetchFromGitHub,
}:
rustPlatform.buildRustPackage rec {
pname = "firezone-relay";
version = "0-unstable-2025-03-15";
src = fetchFromGitHub {
owner = "firezone";
repo = "firezone";
rev = "09fb5f927410503b0d6e7fc6cf6a2ba06cb5a281";
hash = "sha256-qDeXAzOeTenL6OIsun/rEfPMo62mQT7RhJEmqemzMsM=";
};
cargoHash = "sha256-uqy4GgYaSX2kM4a37093lHmhvOtNUhkEs6/ZS1bjuYo=";
sourceRoot = "${src.name}/rust";
buildAndTestSubdir = "relay";
RUSTFLAGS = "--cfg system_certs";
# Required to remove profiling arguments which conflict with this builder
postPatch = ''
rm .cargo/config.toml
'';
meta = {
description = "STUN/TURN server for the Firezone zero-trust access platform";
homepage = "https://github.com/firezone/firezone";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [
oddlama
patrickdag
];
mainProgram = "firezone-relay";
platforms = lib.platforms.linux;
};
}

View File

@@ -0,0 +1,4 @@
{ firezone-server }:
firezone-server.override {
mixReleaseName = "api";
}

View File

@@ -0,0 +1,4 @@
{ firezone-server }:
firezone-server.override {
mixReleaseName = "domain";
}

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