Merge master into staging-next

This commit is contained in:
nixpkgs-ci[bot]
2025-01-21 00:14:05 +00:00
committed by GitHub
41 changed files with 831 additions and 87 deletions
+2 -2
View File
@@ -69,8 +69,8 @@ for user in "${!users[@]}"; do
done
if [[ "${#users[@]}" -gt 10 ]]; then
log "Too many reviewers (${!users[@]}), skipping review requests"
exit 1
log "Too many reviewers (${!users[*]}), skipping review requests"
exit 0
fi
for user in "${!users[@]}"; do
+3 -1
View File
@@ -7069,6 +7069,7 @@
};
ethancedwards8 = {
email = "ethan@ethancedwards.com";
matrix = "@ethancedwards8:matrix.org";
github = "ethancedwards8";
githubId = 60861925;
name = "Ethan Carter Edwards";
@@ -8343,10 +8344,11 @@
name = "Tobias Happ";
};
getchoo = {
name = "Seth Flynn";
email = "getchoo@tuta.io";
matrix = "@getchoo:matrix.org";
github = "getchoo";
githubId = 48872998;
name = "Seth";
};
getpsyched = {
name = "Priyanshu Tripathi";
@@ -122,6 +122,7 @@ nlua,,,,,,teto
nui.nvim,,,,,,mrcjkb
nvim-cmp,https://raw.githubusercontent.com/hrsh7th/nvim-cmp/main/nvim-cmp-scm-1.rockspec,,,,,
nvim-nio,,,,,,mrcjkb
orgmode,,,,,,
pathlib.nvim,,,,,,
papis-nvim,,,,,,GaetanLepage
penlight,,,,,,alerque
@@ -148,6 +149,7 @@ tiktoken_core,,,,,,natsukium
tl,,,,,,mephistophiles
toml-edit,,,,,5.1,mrcjkb
tree-sitter-norg,,,,,5.1,mrcjkb
tree-sitter-orgmode,,,,,,
vstruct,,,,,,
vusted,,,,,,figsoda
xml2lua,,,,,,teto
1 name rockspec ref server version luaversion maintainers
122 nui.nvim mrcjkb
123 nvim-cmp https://raw.githubusercontent.com/hrsh7th/nvim-cmp/main/nvim-cmp-scm-1.rockspec
124 nvim-nio mrcjkb
125 orgmode
126 pathlib.nvim
127 papis-nvim GaetanLepage
128 penlight alerque
149 tl mephistophiles
150 toml-edit 5.1 mrcjkb
151 tree-sitter-norg 5.1 mrcjkb
152 tree-sitter-orgmode
153 vstruct
154 vusted figsoda
155 xml2lua teto
@@ -79,6 +79,8 @@
- [Conduwuit](https://conduwuit.puppyirl.gay/), a federated chat server implementing the Matrix protocol, forked from Conduit. Available as [services.conduwuit](#opt-services.conduwuit.enable).
- [Readeck](https://readeck.org/), a read-it later web-application. Available as [services.readeck](#opt-services.readeck.enable).
- [Traccar](https://www.traccar.org/), a modern GPS Tracking Platform. Available as [services.traccar](#opt-services.traccar.enable).
- [Schroot](https://codeberg.org/shelter/reschroot), a lightweight virtualisation tool. Securely enter a chroot and run a command or login shell. Available as [programs.schroot](#opt-programs.schroot.enable).
@@ -113,6 +115,8 @@
- [Zipline](https://zipline.diced.sh/), a ShareX/file upload server that is easy to use, packed with features, and with an easy setup. Available as [services.zipline](#opt-services.zipline.enable).
- [Fider](https://fider.io/), an open platform to collect and prioritize feedback. Available as [services.fider](#opt-services.fider.enable).
- [mqtt-exporter](https://github.com/kpetremann/mqtt-exporter/), a Prometheus exporter for exposing messages from MQTT. Available as [services.prometheus.exporters.mqtt](#opt-services.prometheus.exporters.mqtt.enable).
- [nvidia-gpu](https://github.com/utkuozdemir/nvidia_gpu_exporter), a Prometheus exporter that scrapes `nvidia-smi` for GPU metrics. Available as [services.prometheus.exporters.nvidia-gpu](#opt-services.prometheus.exporters.nvidia-gpu.enable).
+2
View File
@@ -1474,6 +1474,7 @@
./services/web-apps/eintopf.nix
./services/web-apps/engelsystem.nix
./services/web-apps/ethercalc.nix
./services/web-apps/fider.nix
./services/web-apps/filesender.nix
./services/web-apps/firefly-iii.nix
./services/web-apps/firefly-iii-data-importer.nix
@@ -1566,6 +1567,7 @@
./services/web-apps/screego.nix
./services/web-apps/sftpgo.nix
./services/web-apps/suwayomi-server.nix
./services/web-apps/readeck.nix
./services/web-apps/rss-bridge.nix
./services/web-apps/selfoss.nix
./services/web-apps/shiori.nix
+124
View File
@@ -0,0 +1,124 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.services.fider;
fiderCmd = lib.getExe cfg.package;
in
{
options = {
services.fider = {
enable = lib.mkEnableOption "the Fider server";
package = lib.mkPackageOption pkgs "fider" { };
dataDir = lib.mkOption {
type = lib.types.str;
default = "/var/lib/fider";
description = "Default data folder for Fider.";
example = "/mnt/fider";
};
database = {
url = lib.mkOption {
type = lib.types.str;
default = "local";
description = ''
URI to use for the main PostgreSQL database. If this needs to include
credentials that shouldn't be world-readable in the Nix store, set an
environment file on the systemd service and override the
`DATABASE_URL` entry. Pass the string
`local` to setup a database on the local server.
'';
};
};
environment = lib.mkOption {
type = lib.types.attrsOf lib.types.str;
default = { };
example = {
PORT = "31213";
BASE_URL = "https://fider.example.com";
EMAIL = "smtp";
EMAIL_NOREPLY = "fider@example.com";
EMAIL_SMTP_USERNAME = "fider@example.com";
EMAIL_SMTP_HOST = "mail.example.com";
EMAIL_SMTP_PORT = "587";
BLOB_STORAGE = "fs";
};
description = ''
Environment variables to set for the service. Secrets should be
specified using {option}`environmentFiles`.
Refer to <https://github.com/getfider/fider/blob/stable/.example.env>
and <https://github.com/getfider/fider/blob/stable/app/pkg/env/env.go>
for available options.
'';
};
environmentFiles = lib.mkOption {
type = lib.types.listOf lib.types.path;
default = [ ];
example = "/run/secrets/fider.env";
description = ''
Files to load environment variables from. Loaded variables override
values set in {option}`environment`.
'';
};
};
};
config = lib.mkIf cfg.enable {
services.postgresql = lib.mkIf (cfg.database.url == "local") {
enable = true;
ensureUsers = [
{
name = "fider";
ensureDBOwnership = true;
}
];
ensureDatabases = [ "fider" ];
};
systemd.services.fider = {
description = "Fider server";
wantedBy = [ "multi-user.target" ];
after = [
"network.target"
] ++ lib.optionals (cfg.database.url == "local") [ "postgresql.service" ];
requires = lib.optionals (cfg.database.url == "local") [ "postgresql.service" ];
environment =
let
localPostgresqlUrl = "postgres:///fider?host=/run/postgresql";
in
{
DATABASE_URL = if (cfg.database.url == "local") then localPostgresqlUrl else cfg.database.url;
BLOB_STORAGE_FS_PATH = "${cfg.dataDir}";
}
// cfg.environment;
serviceConfig = {
ExecStartPre = "${fiderCmd} migrate";
ExecStart = fiderCmd;
StateDirectory = "fider";
DynamicUser = true;
PrivateTmp = "yes";
Restart = "on-failure";
RuntimeDirectory = "fider";
RuntimeDirectoryPreserve = true;
CacheDirectory = "fider";
WorkingDirectory = "${cfg.package}";
EnvironmentFile = cfg.environmentFiles;
};
};
};
meta = {
maintainers = with lib.maintainers; [
drupol
niklaskorz
];
# doc = ./fider.md;
};
}
@@ -0,0 +1,96 @@
{
config,
pkgs,
lib,
...
}:
let
inherit (lib)
mkEnableOption
mkPackageOption
mkOption
mkIf
types
;
cfg = config.services.readeck;
settingsFormat = pkgs.formats.toml { };
configFile = settingsFormat.generate "readeck.toml" cfg.settings;
in
{
meta.maintainers = [ lib.maintainers.julienmalka ];
options = {
services.readeck = {
enable = mkEnableOption "Readeck";
package = mkPackageOption pkgs "readeck" { };
environmentFile = mkOption {
type = types.nullOr types.path;
description = ''
File containing environment variables to be passed to Readeck.
May be used to provide the Readeck secret key by setting the READECK_SECRET_KEY variable.
'';
default = null;
};
settings = mkOption {
type = settingsFormat.type;
default = { };
example = {
main.log_level = "debug";
server.port = 9000;
};
description = ''
Additional configuration for Readeck, see
<https://readeck.org/en/docs/configuration>
for supported values.
'';
};
};
};
config = mkIf cfg.enable {
systemd.services.readeck = {
description = "Readeck";
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
serviceConfig = {
Type = "simple";
StateDirectory = "readeck";
WorkingDirectory = "/var/lib/readeck";
EnvironmentFile = lib.optional (cfg.environmentFile != null) cfg.environmentFile;
DynamicUser = true;
ExecStart = "${lib.getExe cfg.package} serve -config ${configFile}";
ProtectSystem = "full";
SystemCallArchitectures = "native";
MemoryDenyWriteExecute = true;
NoNewPrivileges = true;
PrivateTmp = true;
PrivateDevices = true;
RestrictAddressFamilies = [
"AF_INET"
"AF_INET6"
"AF_UNIX"
"AF_NETLINK"
];
RestrictNamespaces = true;
RestrictRealtime = true;
DevicePolicy = "closed";
ProtectClock = true;
ProtectHostname = true;
ProtectProc = "invisible";
ProtectControlGroups = true;
ProtectKernelModules = true;
ProtectKernelTunables = true;
LockPersonality = true;
Restart = "on-failure";
};
};
};
}
+31 -21
View File
@@ -11,18 +11,14 @@ let
cfg = config.services.garage;
toml = pkgs.formats.toml { };
configFile = toml.generate "garage.toml" cfg.settings;
anyHasPrefix =
prefix: strOrList:
if isString strOrList then
hasPrefix prefix strOrList
else
any ({ path, ... }: hasPrefix prefix path) strOrList;
in
{
meta = {
doc = ./garage.md;
maintainers = [ maintainers.mjm ];
maintainers = with lib.maintainers; [
mjm
cything
];
};
options.services.garage = {
@@ -44,13 +40,13 @@ in
};
logLevel = mkOption {
type = types.enum ([
type = types.enum [
"error"
"warn"
"info"
"debug"
"trace"
]);
];
default = "info";
example = "debug";
description = "Garage log level, see <https://garagehq.deuxfleurs.fr/documentation/quick-start/#launching-the-garage-server> for examples.";
@@ -125,18 +121,32 @@ in
restartTriggers = [
configFile
] ++ (lib.optional (cfg.environmentFile != null) cfg.environmentFile);
serviceConfig = {
ExecStart = "${cfg.package}/bin/garage server";
serviceConfig =
let
paths = lib.flatten (
with cfg.settings;
[
metadata_dir
]
# data_dir can either be a string or a list of attrs
# if data_dir is a list, the actual path will in in the `path` attribute of each item
# see https://garagehq.deuxfleurs.fr/documentation/reference-manual/configuration/#data_dir
++ lib.optional (lib.isList data_dir) (map (item: item.path) data_dir)
++ lib.optional (lib.isString data_dir) [ data_dir ]
);
isDefault = lib.hasPrefix "/var/lib/garage";
isDefaultStateDirectory = lib.any isDefault paths;
in
{
ExecStart = "${cfg.package}/bin/garage server";
StateDirectory = mkIf (
anyHasPrefix "/var/lib/garage" cfg.settings.data_dir
|| hasPrefix "/var/lib/garage" cfg.settings.metadata_dir
) "garage";
DynamicUser = lib.mkDefault true;
ProtectHome = true;
NoNewPrivileges = true;
EnvironmentFile = lib.optional (cfg.environmentFile != null) cfg.environmentFile;
};
StateDirectory = lib.mkIf isDefaultStateDirectory "garage";
DynamicUser = lib.mkDefault true;
ProtectHome = true;
NoNewPrivileges = true;
EnvironmentFile = lib.optional (cfg.environmentFile != null) cfg.environmentFile;
ReadWritePaths = lib.filter (x: !(isDefault x)) (lib.flatten [ paths ]);
};
environment = {
RUST_LOG = lib.mkDefault "garage=${cfg.logLevel}";
} // cfg.extraEnvironment;
+2
View File
@@ -336,6 +336,7 @@ in {
fenics = handleTest ./fenics.nix {};
ferm = handleTest ./ferm.nix {};
ferretdb = handleTest ./ferretdb.nix {};
fider = runTest ./fider.nix;
filesender = handleTest ./filesender.nix {};
filesystems-overlayfs = runTest ./filesystems-overlayfs.nix;
firefly-iii = handleTest ./firefly-iii.nix {};
@@ -893,6 +894,7 @@ in {
rathole = handleTest ./rathole.nix {};
readarr = handleTest ./readarr.nix {};
realm = handleTest ./realm.nix {};
readeck = runTest ./readeck.nix;
redis = handleTest ./redis.nix {};
redlib = handleTest ./redlib.nix {};
redmine = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./redmine.nix {};
+33
View File
@@ -0,0 +1,33 @@
{ lib, ... }:
{
name = "fider-server";
nodes = {
machine =
{ pkgs, ... }:
{
services.fider = {
enable = true;
environment = {
JWT_SECRET = "not_so_secret";
BASE_URL = "/";
EMAIL_NOREPLY = "noreply@fider.io";
EMAIL_SMTP_HOST = "mailhog";
EMAIL_SMTP_PORT = "1025";
};
};
};
};
testScript = ''
machine.start()
machine.wait_for_unit("fider.service")
machine.wait_for_open_port(3000)
'';
meta.maintainers = with lib.maintainers; [
drupol
niklaskorz
];
}
+24
View File
@@ -0,0 +1,24 @@
{ lib, ... }:
{
name = "readeck";
meta.maintainers = with lib.maintainers; [ julienmalka ];
nodes.machine =
{ pkgs, ... }:
{
services.readeck = {
enable = true;
environmentFile = pkgs.writeText "env-file" ''
READECK_SECRET_KEY="verysecretkey"
'';
};
};
testScript = ''
machine.start()
machine.wait_for_unit("readeck.service")
machine.wait_for_open_port(8000)
machine.succeed("curl --fail http://localhost:8000/login?r=%2F")
'';
}
@@ -13,18 +13,18 @@
stdenv.mkDerivation (finalAttrs: {
pname = "youtube-music";
version = "3.7.1";
version = "3.7.2";
src = fetchFromGitHub {
owner = "th-ch";
repo = "youtube-music";
rev = "v${finalAttrs.version}";
hash = "sha256-IV8uTfogy4LchZYIMqDDT96N+5NYE/jwSFc18EhFCb0=";
hash = "sha256-gZ3EvIjPa/THRwMigglGp+Wtv+wEN7V11KOu1QsyJpE=";
};
pnpmDeps = pnpm.fetchDeps {
inherit (finalAttrs) pname version src;
hash = "sha256-ET4NDUtsTTY3t06VSJLa8Cjd6fP4zs71w83FlsJnq1U=";
hash = "sha256-4yeLfolBquKFjKB4iYj8rMPvclfpjwHhV6/Xb/YNQWo=";
};
nativeBuildInputs = [
+2 -2
View File
@@ -45,7 +45,7 @@
libheif,
libxslt,
libgudev,
openexr,
openexr_3,
desktopToDarwinBundle,
AppKit,
Cocoa,
@@ -126,7 +126,7 @@ stdenv.mkDerivation (finalAttrs: {
poppler
poppler_data
libtiff
openexr
openexr_3
libmng
librsvg
libwmf
+2 -2
View File
@@ -26,13 +26,13 @@
stdenv.mkDerivation rec {
pname = "haruna";
version = "1.2.1";
version = "1.3.0";
src = fetchFromGitLab {
owner = "multimedia";
repo = "haruna";
rev = "v${version}";
hash = "sha256-RxHCs5NiKORikbTyNwRD27aQfX5id4K/Lp1bQ8cAwVo=";
hash = "sha256-9KvqZzB9n4x11xhdEkdn0lxv92dbcWWbyL7GjqvfJhA=";
domain = "invent.kde.org";
};
@@ -0,0 +1,70 @@
From 19e094e5c7aaaf375a13424044521701e85c8313 Mon Sep 17 00:00:00 2001
From: OPNA2608 <opna2608@protonmail.com>
Date: Thu, 9 Jan 2025 17:46:25 +0100
Subject: [PATCH] Fix usage of NEON intrinsics
---
src/common/gsvector_neon.h | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/src/common/gsvector_neon.h b/src/common/gsvector_neon.h
index e4991af5e..61b8dc09b 100644
--- a/src/common/gsvector_neon.h
+++ b/src/common/gsvector_neon.h
@@ -867,7 +867,7 @@ public:
ALWAYS_INLINE int mask() const
{
- const uint32x2_t masks = vshr_n_u32(vreinterpret_u32_s32(v2s), 31);
+ const uint32x2_t masks = vshr_n_u32(vreinterpret_u32_f32(v2s), 31);
return (vget_lane_u32(masks, 0) | (vget_lane_u32(masks, 1) << 1));
}
@@ -2882,7 +2882,7 @@ public:
ALWAYS_INLINE GSVector4 gt64(const GSVector4& v) const
{
#ifdef CPU_ARCH_ARM64
- return GSVector4(vreinterpretq_f32_f64(vcgtq_f64(vreinterpretq_f64_f32(v4s), vreinterpretq_f64_f32(v.v4s))));
+ return GSVector4(vreinterpretq_f32_u64(vcgtq_f64(vreinterpretq_f64_f32(v4s), vreinterpretq_f64_f32(v.v4s))));
#else
GSVector4 ret;
ret.U64[0] = (F64[0] > v.F64[0]) ? 0xFFFFFFFFFFFFFFFFULL : 0;
@@ -2894,7 +2894,7 @@ public:
ALWAYS_INLINE GSVector4 eq64(const GSVector4& v) const
{
#ifdef CPU_ARCH_ARM64
- return GSVector4(vreinterpretq_f32_f64(vceqq_f64(vreinterpretq_f64_f32(v4s), vreinterpretq_f64_f32(v.v4s))));
+ return GSVector4(vreinterpretq_f32_u64(vceqq_f64(vreinterpretq_f64_f32(v4s), vreinterpretq_f64_f32(v.v4s))));
#else
GSVector4 ret;
ret.U64[0] = (F64[0] == v.F64[0]) ? 0xFFFFFFFFFFFFFFFFULL : 0;
@@ -2906,7 +2906,7 @@ public:
ALWAYS_INLINE GSVector4 lt64(const GSVector4& v) const
{
#ifdef CPU_ARCH_ARM64
- return GSVector4(vreinterpretq_f32_f64(vcgtq_f64(vreinterpretq_f64_f32(v4s), vreinterpretq_f64_f32(v.v4s))));
+ return GSVector4(vreinterpretq_f32_u64(vcgtq_f64(vreinterpretq_f64_f32(v4s), vreinterpretq_f64_f32(v.v4s))));
#else
GSVector4 ret;
ret.U64[0] = (F64[0] < v.F64[0]) ? 0xFFFFFFFFFFFFFFFFULL : 0;
@@ -2918,7 +2918,7 @@ public:
ALWAYS_INLINE GSVector4 ge64(const GSVector4& v) const
{
#ifdef CPU_ARCH_ARM64
- return GSVector4(vreinterpretq_f32_f64(vcgeq_f64(vreinterpretq_f64_f32(v4s), vreinterpretq_f64_f32(v.v4s))));
+ return GSVector4(vreinterpretq_f32_u64(vcgeq_f64(vreinterpretq_f64_f32(v4s), vreinterpretq_f64_f32(v.v4s))));
#else
GSVector4 ret;
ret.U64[0] = (F64[0] >= v.F64[0]) ? 0xFFFFFFFFFFFFFFFFULL : 0;
@@ -2930,7 +2930,7 @@ public:
ALWAYS_INLINE GSVector4 le64(const GSVector4& v) const
{
#ifdef CPU_ARCH_ARM64
- return GSVector4(vreinterpretq_f32_f64(vcleq_f64(vreinterpretq_f64_f32(v4s), vreinterpretq_f64_f32(v.v4s))));
+ return GSVector4(vreinterpretq_f32_u64(vcleq_f64(vreinterpretq_f64_f32(v4s), vreinterpretq_f64_f32(v.v4s))));
#else
GSVector4 ret;
ret.U64[0] = (F64[0] <= v.F64[0]) ? 0xFFFFFFFFFFFFFFFFULL : 0;
--
2.47.0
+2
View File
@@ -40,6 +40,8 @@ llvmPackages.stdenv.mkDerivation (finalAttrs: {
./001-fix-test-inclusion.diff
# Patching yet another script that fills data based on git commands . . .
./002-hardcode-vars.diff
# Fix NEON intrinsics usage
./003-fix-NEON-intrinsics.patch
];
nativeBuildInputs = [
+1 -2
View File
@@ -50,7 +50,6 @@ stdenv.mkDerivation rec {
homepage = "https://scottmcpeak.com/elkhound/";
license = licenses.bsd3;
maintainers = with maintainers; [ peterhoeg ];
# possibly works on Darwin
platforms = platforms.linux;
platforms = platforms.unix;
};
}
@@ -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())
+42
View File
@@ -0,0 +1,42 @@
{
lib,
esbuild,
buildNpmPackage,
pname,
version,
src,
npmDepsHash,
}:
buildNpmPackage {
inherit version src npmDepsHash;
pname = "${pname}-frontend";
nativeBuildInputs = [ esbuild ];
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;
ESBUILD_BINARY_PATH = lib.getExe esbuild;
};
}
+110
View File
@@ -0,0 +1,110 @@
{
lib,
stdenvNoCC,
fetchFromGitHub,
callPackage,
esbuild,
buildGoModule,
nixosTests,
nix-update-script,
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "fider";
version = "0.24.0";
src = fetchFromGitHub {
owner = "getfider";
repo = "fider";
tag = "v${finalAttrs.version}";
hash = "sha256-nzOplwsE0ppmxbTrNAgePnIQIAD/5Uu4gXlebFKWGfc=";
};
dontConfigure = true;
dontBuild = true;
# Allow easier version overrides, e.g.:
# pkgs.fider.overrideAttrs (prev: {
# version = "...";
# src = prev.src.override {
# hash = "...";
# };
# vendorHash = "...";
# npmDepsHash = "...";
# })
vendorHash = "sha256-CfopU72fpXiTaBtdf9A57Wb+flDu2XEtTISxImeJLL0=";
npmDepsHash = "sha256-gnboT5WQzftOCZ2Ouuza7bqpxJf+Zs7OWC8OHMZNHvw=";
server = callPackage ./server.nix {
inherit (finalAttrs)
pname
version
src
vendorHash
;
};
frontend = callPackage ./frontend.nix {
inherit (finalAttrs)
pname
version
src
npmDepsHash
;
# We specify the esbuild override here instead of in frontend.nix so end users can
# again easily override it if necessary, for example when changing to an unreleased
# version of fider requiring a newer esbuild than specified here:
# pkgs.fider.overrideAttrs (prev: {
# frontend = prev.frontend.override {
# esbuild = ...;
# };
# })
esbuild = esbuild.override {
buildGoModule =
args:
buildGoModule (
args
// rec {
version = "0.14.38";
src = fetchFromGitHub {
owner = "evanw";
repo = "esbuild";
tag = "v${version}";
hash = "sha256-rvMi1oC7qGidvi4zrm9KCMMntu6LJGVOGN6VmU2ivQE=";
};
vendorHash = "sha256-QPkBR+FscUc3jOvH7olcGUhM6OW4vxawmNJuRQxPuGs=";
}
);
};
};
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; [
drupol
niklaskorz
];
};
})
+30
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
# '';
}
+3 -3
View File
@@ -56,16 +56,16 @@ assert (extraParameters != null) -> set != null;
buildNpmPackage rec {
pname = "Iosevka${toString set}";
version = "32.3.1";
version = "32.4.0";
src = fetchFromGitHub {
owner = "be5invis";
repo = "iosevka";
rev = "v${version}";
hash = "sha256-WoRBDLCqLglTXeXtC8ZVELgDOv18dsCDvToUq3iPoDU=";
hash = "sha256-kB4CsC/hHstajLcVYBxO7RD0lsZymrxlUha4cRtQ7Ak=";
};
npmDepsHash = "sha256-gmaFzcTbocx3RYW4G4Lw/08f3c71draxRwzV0BA2/KY=";
npmDepsHash = "sha256-Qr7fN49qyaqaSutrdT7HjWis7jjwYR/S2kxkHs7EhXY=";
nativeBuildInputs =
[
+29 -12
View File
@@ -1,8 +1,9 @@
{ lib
, buildGoModule
, fetchFromGitHub
, installShellFiles
, k3sVersion ? null
{
lib,
buildGoModule,
fetchFromGitHub,
installShellFiles,
k3sVersion ? null,
}:
let
@@ -15,13 +16,13 @@ let
in
buildGoModule rec {
pname = "k3d";
version = "5.7.4";
version = "5.8.1";
src = fetchFromGitHub {
owner = "k3d-io";
repo = "k3d";
tag = "v${version}";
hash = "sha256-z+7yeX0ea/6+4aWbA5NYW/HzvVcJiSkewOvo+oXp9bE=";
hash = "sha256-o56kBcuTOrDG8ZovGsIK+LIMi2Wps3kYJrqQuJHMd+A=";
};
vendorHash = "sha256-lFmIRtkUiohva2Vtg4AqHaB5McVOWW5+SFShkNqYVZ8=";
@@ -29,16 +30,26 @@ buildGoModule rec {
nativeBuildInputs = [ installShellFiles ];
excludedPackages = [ "tools" "docgen" ];
excludedPackages = [
"tools"
"docgen"
];
ldflags =
let t = "github.com/k3d-io/k3d/v${lib.versions.major version}/version"; in
[ "-s" "-w" "-X ${t}.Version=v${version}" ] ++ lib.optionals k3sVersionSet [ "-X ${t}.K3sVersion=v${k3sVersion}" ];
let
t = "github.com/k3d-io/k3d/v${lib.versions.major version}/version";
in
[
"-s"
"-w"
"-X ${t}.Version=v${version}"
]
++ lib.optionals k3sVersionSet [ "-X ${t}.K3sVersion=v${k3sVersion}" ];
preCheck = ''
# skip test that uses networking
substituteInPlace version/version_test.go \
--replace "TestGetK3sVersion" "SkipGetK3sVersion"
--replace-fail "TestGetK3sVersion" "SkipGetK3sVersion"
'';
postInstall = ''
@@ -70,7 +81,13 @@ buildGoModule rec {
multi-node k3s cluster on a single machine using docker.
'';
license = licenses.mit;
maintainers = with maintainers; [ kuznero jlesquembre ngerstle jk ricochet ];
maintainers = with maintainers; [
kuznero
jlesquembre
ngerstle
jk
ricochet
];
platforms = platforms.linux ++ platforms.darwin;
};
}
+92
View File
@@ -0,0 +1,92 @@
{
fetchFromGitea,
fetchNpmDeps,
buildGoModule,
nodejs,
npmHooks,
lib,
}:
let
file-compose = buildGoModule {
pname = "file-compose";
version = "unstable-2023-10-21";
src = fetchFromGitea {
domain = "codeberg.org";
owner = "readeck";
repo = "file-compose";
rev = "afa938655d412556a0db74b202f9bcc1c40d8579";
hash = "sha256-rMANRqUQRQ8ahlxuH1sWjlGpNvbReBOXIkmBim/wU2o=";
};
vendorHash = "sha256-Qwixx3Evbf+53OFeS3Zr7QCkRMfgqc9hUA4eqEBaY0c=";
};
in
buildGoModule rec {
pname = "readeck";
version = "0.17.1";
src = fetchFromGitea {
domain = "codeberg.org";
owner = "readeck";
repo = "readeck";
tag = version;
hash = "sha256-+GgjR1mxD93bFNaLeDuEefPlQEV9jNgFIo8jTAxphyo=";
};
nativeBuildInputs = [
nodejs
npmHooks.npmConfigHook
];
npmRoot = "web";
NODE_PATH = "$npmDeps";
preBuild = ''
make web-build
${file-compose}/bin/file-compose -format json docs/api/api.yaml docs/assets/api.json
go run ./tools/docs docs/src docs/assets
'';
tags = [
"netgo"
"osusergo"
"sqlite_omit_load_extension"
"sqlite_foreign_keys"
"sqlite_json1"
"sqlite_fts5"
"sqlite_secure_delete"
];
ldflags = [
"-X"
"codeberg.org/readeck/readeck/configs.version=${version}"
];
overrideModAttrs = oldAttrs: {
# Do not add `npmConfigHook` to `goModules`
nativeBuildInputs = lib.remove npmHooks.npmConfigHook oldAttrs.nativeBuildInputs;
# Do not run `preBuild` when building `goModules`
preBuild = null;
};
npmDeps = fetchNpmDeps {
src = "${src}/web";
hash = "sha256-7fRSkXKAMEC7rFmSF50DM66SVhV68g93PMBjrtkd9/E=";
};
vendorHash = "sha256-O/ZrpT6wTtPwBDUCAmR0XHRgQmd46/MPvWNE0EvD3bg=";
meta = {
description = "Web application that lets you save the readable content of web pages you want to keep forever.";
mainProgram = "readeck";
homepage = "https://readeck.org/";
changelog = "https://github.com/readeck/readeck/releases/tag/${version}";
license = lib.licenses.agpl3Only;
maintainers = with lib.maintainers; [ julienmalka ];
};
}
@@ -10,7 +10,7 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchurl {
url = "https://updates.signal.org/desktop/signal-desktop-mac-universal-${finalAttrs.version}.dmg";
hash = "sha256-C5wzKhJcH2FJQJk5u2FGBrGDbezHBIIIUMkkVV6T8S4=";
hash = "sha256-bSpiK8Q5A0q4fUuVmLBaEjlVB7fXOcSHo5epelgHPA0=";
};
sourceRoot = ".";
+5 -5
View File
@@ -15,16 +15,16 @@
rustPlatform.buildRustPackage rec {
pname = "sway-easyfocus";
version = "unstable-2023-11-05";
version = "0.2.0";
src = fetchFromGitHub {
owner = "edzdez";
repo = "sway-easyfocus";
rev = "4c70f6728dbfc859e60505f0a7fd82f5a90ed42c";
hash = "sha256-WvYXhf13ZCoa+JAF4bYgi5mI22i9pZLtbIhF1odqaTU=";
tag = version;
hash = "sha256-ogqstgJqUczn0LDwpOAppC1J/Cs0IEOAXjNAnbiKn6M=";
};
cargoHash = "sha256-9cN0ervcU8JojwG7J250fprbCD2rB9kh9TbRU+wCE/Y=";
cargoHash = "sha256-lAyKW6tjb4lVNA8xtvXLYYiLeKxSe/yfyY6h/f/WuP4=";
nativeBuildInputs = [
pkg-config
@@ -45,7 +45,7 @@ rustPlatform.buildRustPackage rec {
description = "Tool to help efficiently focus windows in Sway, inspired by i3-easyfocus";
homepage = "https://github.com/edzdez/sway-easyfocus";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ ];
maintainers = with lib.maintainers; [ pjones ];
mainProgram = "sway-easyfocus";
};
}
+1
View File
@@ -55,6 +55,7 @@ buildGo123Module {
"cmd/derper"
"cmd/derpprobe"
"cmd/tailscaled"
"cmd/tsidp"
];
ldflags = [
+11 -4
View File
@@ -6,7 +6,7 @@
ocaml-ng,
perl,
which,
gnumake42,
fetchpatch,
}:
let
@@ -27,9 +27,17 @@ stdenv.mkDerivation rec {
sha256 = "sha256-+vkKTzFZdAzY2dL+mZ4A0PDxhTKGgs9bfArz7S6b4m4=";
};
patches = [
(fetchpatch {
url = "https://github.com/WeiDUorg/weidu/commit/bb90190d8bf7d102952c07d8288a7dc6c7a3322e.patch";
hash = "sha256-Z4hHdMR1dYjJeERJSqlYynyPu2CvE6+XJuCr9ogDmvk=";
})
];
postPatch = ''
substitute sample.Configuration Configuration \
--replace /usr/bin ${lib.makeBinPath [ ocaml' ]} \
--replace /usr/local/bin ${lib.makeBinPath [ ocaml' ]} \
--replace elkhound ${elkhound}/bin/elkhound
mkdir -p obj/{.depend,x86_LINUX}
@@ -43,7 +51,6 @@ stdenv.mkDerivation rec {
ocaml'
perl
which
gnumake42
];
buildFlags = [
@@ -69,7 +76,7 @@ stdenv.mkDerivation rec {
homepage = "https://weidu.org";
license = licenses.gpl2Only;
maintainers = with maintainers; [ peterhoeg ];
# should work fine on both Darwin and Windows
platforms = platforms.linux;
# should work fine on Windows
platforms = platforms.unix;
};
}
+2 -2
View File
@@ -8,7 +8,7 @@
python3Packages.buildPythonApplication rec {
pname = "yutto";
version = "2.0.0-rc.6";
version = "2.0.0-rc.7";
pyproject = true;
disabled = python3Packages.pythonOlder "3.9";
@@ -18,7 +18,7 @@ python3Packages.buildPythonApplication rec {
owner = "yutto-dev";
repo = "yutto";
tag = "v${version}";
hash = "sha256-h7ziP3+qHUFs16MuUaUPZ7qspIFCIzExDyUEo12DJIE=";
hash = "sha256-yNAQmpR65FSCbciSSdO2eHUJcE6Dl8J4dqq6GHt5NDQ=";
};
build-system = with python3Packages; [ hatchling ];
+1 -1
View File
@@ -190,7 +190,7 @@ let
lispLibs = super.mathkit.lispLibs ++ [ super.sb-cga ];
};
stumpwm = super.stumpwm.overrideAttrs {
stumpwm = super.stumpwm.overrideLispAttrs {
inherit (pkgs.stumpwm) src version;
meta = {
inherit (pkgs.stumpwm.meta) description license homepage;
@@ -2907,6 +2907,29 @@ buildLuarocksPackage {
};
}) {};
orgmode = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, luaOlder, tree-sitter-orgmode }:
buildLuarocksPackage {
pname = "orgmode";
version = "0.3.61-1";
knownRockspec = (fetchurl {
url = "mirror://luarocks/orgmode-0.3.61-1.rockspec";
sha256 = "1sdmqaq3vzpb0c74n45piqrlcw3liiqlv282nrgr16jzsz1c870g";
}).outPath;
src = fetchzip {
url = "https://github.com/nvim-orgmode/orgmode/archive/0.3.61.zip";
sha256 = "1gkpwyfvw9z92277q6311r924rmb9zidgmlr4xxkmn2xrj5qwl7x";
};
disabled = luaOlder "5.1";
propagatedBuildInputs = [ tree-sitter-orgmode ];
meta = {
homepage = "https://nvim-orgmode.github.io/";
description = "Orgmode clone written in Lua for Neovim 0.9+.";
license.fullName = "MIT";
};
}) {};
pathlib-nvim = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, luaOlder, nvim-nio }:
buildLuarocksPackage {
pname = "pathlib.nvim";
@@ -3523,6 +3546,28 @@ buildLuarocksPackage {
};
}) {};
tree-sitter-orgmode = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, luarocks-build-treesitter-parser }:
buildLuarocksPackage {
pname = "tree-sitter-orgmode";
version = "1.3.2-1";
knownRockspec = (fetchurl {
url = "mirror://luarocks/tree-sitter-orgmode-1.3.2-1.rockspec";
sha256 = "1md45ic96yf3agay30w9icr9c1v5fs0p6zs4dd5d0clrsc9029c4";
}).outPath;
src = fetchzip {
url = "https://github.com/nvim-orgmode/tree-sitter-org/archive/v1.3.2.zip";
sha256 = "1y1dyabvmm2q51nmi58lv0zf7sdz066i319s5j3ch6abcm1wv24i";
};
nativeBuildInputs = [ luarocks-build-treesitter-parser ];
meta = {
homepage = "https://github.com/nvim-orgmode/tree-sitter-org";
description = "A fork of tree-sitter-org, for use with the orgmode Neovim plugin";
license.fullName = "MIT";
};
}) {};
vstruct = callPackage({ buildLuarocksPackage, fetchFromGitHub, fetchurl, luaOlder }:
buildLuarocksPackage {
pname = "vstruct";
+21 -3
View File
@@ -838,6 +838,12 @@ in
nativeBuildInputs = oa.nativeBuildInputs ++ [ cargo rustPlatform.cargoSetupHook ];
});
tl = prev.tl.overrideAttrs ({
preConfigure = ''
rm luarocks.lock
'';
});
toml-edit = prev.toml-edit.overrideAttrs (oa: {
cargoDeps = rustPlatform.fetchCargoTarball {
@@ -866,9 +872,21 @@ in
];
});
tl = prev.tl.overrideAttrs ({
preConfigure = ''
rm luarocks.lock
tree-sitter-orgmode = prev.tree-sitter-orgmode.overrideAttrs (oa: {
propagatedBuildInputs =
let
# HACK: luarocks-nix puts rockspec build dependencies in the nativeBuildInputs,
# but that doesn't seem to work
lua = lib.head oa.propagatedBuildInputs;
in
oa.propagatedBuildInputs
++ [
lua.pkgs.luarocks-build-treesitter-parser
tree-sitter
];
preInstall = ''
export HOME="$TMPDIR";
'';
});
@@ -13,7 +13,7 @@
buildPythonPackage rec {
pname = "aioraven";
version = "0.7.0";
version = "0.7.1";
pyproject = true;
disabled = pythonOlder "3.9";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
owner = "cottsay";
repo = "aioraven";
tag = version;
hash = "sha256-ux2jeXkh8YsJ6mItXOx40pp0Tc+aJXMV7ZqyZg+iy2c=";
hash = "sha256-rGqaDJtpdDWd8fxdfwU+rmgwEzZyYHfbiZxUlWoH2ks=";
};
build-system = [ setuptools ];
@@ -9,7 +9,7 @@
buildPythonPackage rec {
pname = "asteval";
version = "1.0.5";
version = "1.0.6";
pyproject = true;
disabled = pythonOlder "3.8";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
owner = "lmfit";
repo = "asteval";
tag = version;
hash = "sha256-PRmTbP3zRnkCxdeb45LBz5m/Ymoi4lq2poKuG9Esg9g=";
hash = "sha256-DzLVe8TlWAPQXzai9CJlDAow6UTSmkA/DW3fT30YfZY=";
};
postPatch = ''
@@ -12,14 +12,14 @@
buildPythonPackage rec {
pname = "ayla-iot-unofficial";
version = "1.4.4";
version = "1.4.5";
pyproject = true;
src = fetchFromGitHub {
owner = "rewardone";
repo = "ayla-iot-unofficial";
tag = "v${version}";
hash = "sha256-LYHfu02FYoL2D9dEL3CM3llRXMa2M3EMU9CAsl1Cgoo=";
hash = "sha256-FV3jes1cpvYbpCmJ+gdzBdsii1kyYe46R1NIpxiELBY=";
};
build-system = [ setuptools ];
@@ -19,7 +19,7 @@
buildPythonPackage rec {
pname = "cyclopts";
version = "3.2.1";
version = "3.3.0";
pyproject = true;
disabled = pythonOlder "3.8";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
owner = "BrianPugh";
repo = "cyclopts";
tag = "v${version}";
hash = "sha256-dHmoO9agZBhDviowtvuAox8hJsHcxgQTRxpaYmy50Dk=";
hash = "sha256-sXTKBDfQSqMWBX+wrhP6fCugGSuXM8mOkEroFWPalVs=";
};
build-system = [
@@ -11,7 +11,7 @@
buildPythonPackage rec {
pname = "kasa-crypt";
version = "0.4.4";
version = "0.5.0";
pyproject = true;
disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
owner = "bdraco";
repo = "kasa-crypt";
tag = "v${version}";
hash = "sha256-9uDloaf9w75O+7r27PK/xOf0TrK43ndxnTUcm4CmOXo=";
hash = "sha256-pkUB2RTCTZW9NhZlxBA9YC+8yWx+6yrNXk8OGAfGto4=";
};
postPatch = ''
@@ -8,7 +8,7 @@
buildPythonPackage rec {
pname = "mitogen";
version = "0.3.20";
version = "0.3.21";
pyproject = true;
disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
owner = "mitogen-hq";
repo = "mitogen";
tag = "v${version}";
hash = "sha256-XA4ra06OHUV67HF093Mfi0M+Dd6K3gMnOYeOB663DhA=";
hash = "sha256-F8W15JHOuQ+MhQtQZz+zssgeZqFC+agqINnFaKP0lto=";
};
build-system = [ setuptools ];
@@ -17,7 +17,7 @@
buildPythonPackage rec {
pname = "python-overseerr";
version = "0.5.0";
version = "0.6.0";
pyproject = true;
disabled = pythonOlder "3.11";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
owner = "joostlek";
repo = "python-overseerr";
tag = "v${version}";
hash = "sha256-MdJISHU/YbmQReT/Sf29jERUkuFASNCq4NQnk/BKK70=";
hash = "sha256-XkuHy8gF8z5t1AcdVdBYWHBgOpAM9jpO41IM7DB3Wt0=";
};
build-system = [ poetry-core ];
@@ -26,9 +26,9 @@
buildPythonPackage rec {
pname = "safety";
version = "3.12.13";
version = "3.2.14";
disabled = pythonOlder "3.7";
disabled = pythonOlder "3.8";
pyproject = true;
@@ -36,7 +36,7 @@ buildPythonPackage rec {
owner = "pyupio";
repo = "safety";
tag = version;
hash = "sha256-pE1J2hoV4glB1PisDrhCE/4m0J1gEHz/Tp/GJE83lBc=";
hash = "sha256-/RB+ota6dnlbJvtOOoIOHD+BjBzZIJRhEOAUQggUgB4=";
};
postPatch = ''
@@ -54,7 +54,7 @@ buildPythonPackage rec {
build-system = [ setuptools ];
pythonRelaxDeps = [
"filelock"
"pydantic"
];
dependencies = [
@@ -98,13 +98,13 @@ buildPythonPackage rec {
export HOME=$(mktemp -d)
'';
meta = with lib; {
meta = {
description = "Checks installed dependencies for known vulnerabilities";
mainProgram = "safety";
homepage = "https://github.com/pyupio/safety";
changelog = "https://github.com/pyupio/safety/blob/${version}/CHANGELOG.md";
license = licenses.mit;
maintainers = with maintainers; [
license = lib.licenses.mit;
maintainers = with lib.maintainers; [
thomasdesr
dotlambda
];
@@ -13,7 +13,7 @@
buildPythonPackage rec {
pname = "thermopro-ble";
version = "0.10.0";
version = "0.10.1";
pyproject = true;
disabled = pythonOlder "3.9";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
owner = "bluetooth-devices";
repo = "thermopro-ble";
tag = "v${version}";
hash = "sha256-xaRbp9XLCDGJ0NE0TzJygn2OzqvSFszs97vGHawCkzU=";
hash = "sha256-OGUgWiD/4a2A40wut70YAvwBREpB9xjN0YcFpu411z4=";
};
build-system = [ poetry-core ];