Merge master into staging-next
This commit is contained in:
commit
d5c9b46499
@ -6529,6 +6529,13 @@
|
||||
githubId = 46724898;
|
||||
name = "Erik Backman";
|
||||
};
|
||||
erikeah = {
|
||||
email = "erikeah@protonmail.com";
|
||||
github = "erikeah";
|
||||
githubId = 11900869;
|
||||
keys = [ { fingerprint = "4142 0380 C7F8 BCDA CC9E 7ABA 0FF3 076B 71F2 5DEF"; } ];
|
||||
name = "Erik Alonso";
|
||||
};
|
||||
erikryb = {
|
||||
email = "erik.rybakken@math.ntnu.no";
|
||||
github = "erikryb";
|
||||
@ -7877,6 +7884,17 @@
|
||||
githubId = 15957973;
|
||||
name = "Jeffry Molanus";
|
||||
};
|
||||
gileri = {
|
||||
email = "s@linuxw.info";
|
||||
github = "gileri";
|
||||
githubId = 493438;
|
||||
name = "Éric Gillet";
|
||||
keys = [
|
||||
{
|
||||
fingerprint = "E478 85DC 8F33 FA86 D3FC 183D 80A8 14DB 8ED5 70BC";
|
||||
}
|
||||
];
|
||||
};
|
||||
gilice = {
|
||||
email = "gilice@proton.me";
|
||||
github = "gilice";
|
||||
|
@ -169,6 +169,9 @@
|
||||
- [chromadb](https://www.trychroma.com/), an open-source AI application
|
||||
database. Batteries included. Available as [services.chromadb](options.html#opt-services.chromadb.enable).
|
||||
|
||||
- [bitmagnet](https://bitmagnet.io/), A self-hosted BitTorrent indexer, DHT crawler, content classifier and torrent search engine with web UI, GraphQL API and Servarr stack integration.
|
||||
Available as [services.bitmagnet](options.html#opt-services.bitmagnet.enable).
|
||||
|
||||
- [Wakapi](https://wakapi.dev/), a time tracking software for programmers. Available as [services.wakapi](#opt-services.wakapi.enable).
|
||||
|
||||
- [foot](https://codeberg.org/dnkl/foot), a fast, lightweight and minimalistic Wayland terminal emulator. Available as [programs.foot](#opt-programs.foot.enable).
|
||||
|
@ -593,6 +593,7 @@
|
||||
./services/hardware/irqbalance.nix
|
||||
./services/hardware/joycond.nix
|
||||
./services/hardware/kanata.nix
|
||||
./services/hardware/kmonad.nix
|
||||
./services/hardware/lcd.nix
|
||||
./services/hardware/libinput.nix
|
||||
./services/hardware/lirc.nix
|
||||
@ -1359,6 +1360,7 @@
|
||||
./services/system/uptimed.nix
|
||||
./services/system/userborn.nix
|
||||
./services/system/zram-generator.nix
|
||||
./services/torrent/bitmagnet.nix
|
||||
./services/torrent/deluge.nix
|
||||
./services/torrent/flexget.nix
|
||||
./services/torrent/flood.nix
|
||||
|
190
nixos/modules/services/hardware/kmonad.nix
Normal file
190
nixos/modules/services/hardware/kmonad.nix
Normal file
@ -0,0 +1,190 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
cfg = config.services.kmonad;
|
||||
|
||||
# Per-keyboard options:
|
||||
keyboard =
|
||||
{ name, ... }:
|
||||
{
|
||||
options = {
|
||||
name = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
example = "laptop-internal";
|
||||
description = "Keyboard name.";
|
||||
};
|
||||
|
||||
device = lib.mkOption {
|
||||
type = lib.types.path;
|
||||
example = "/dev/input/by-id/some-dev";
|
||||
description = "Path to the keyboard's device file.";
|
||||
};
|
||||
|
||||
extraGroups = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.str;
|
||||
default = [ ];
|
||||
description = ''
|
||||
Extra permission groups to attach to the KMonad instance for
|
||||
this keyboard.
|
||||
|
||||
Since KMonad runs as an unprivileged user, it may sometimes
|
||||
need extra permissions in order to read the keyboard device
|
||||
file. If your keyboard's device file isn't in the input
|
||||
group you'll need to list its group in this option.
|
||||
'';
|
||||
};
|
||||
|
||||
defcfg = {
|
||||
enable = lib.mkEnableOption ''
|
||||
Automatically generate the defcfg block.
|
||||
|
||||
When this is option is set to true the config option for
|
||||
this keyboard should not include a defcfg block.
|
||||
'';
|
||||
|
||||
compose = {
|
||||
key = lib.mkOption {
|
||||
type = lib.types.nullOr lib.types.str;
|
||||
default = "ralt";
|
||||
description = "The (optional) compose key to use.";
|
||||
};
|
||||
|
||||
delay = lib.mkOption {
|
||||
type = lib.types.int;
|
||||
default = 5;
|
||||
description = "The delay (in milliseconds) between compose key sequences.";
|
||||
};
|
||||
};
|
||||
|
||||
fallthrough = lib.mkEnableOption "Re-emit unhandled key events.";
|
||||
|
||||
allowCommands = lib.mkEnableOption "Allow keys to run shell commands.";
|
||||
};
|
||||
|
||||
config = lib.mkOption {
|
||||
type = lib.types.lines;
|
||||
description = "Keyboard configuration.";
|
||||
};
|
||||
};
|
||||
|
||||
config = {
|
||||
name = lib.mkDefault name;
|
||||
};
|
||||
};
|
||||
|
||||
# Create a complete KMonad configuration file:
|
||||
mkCfg =
|
||||
keyboard:
|
||||
let
|
||||
defcfg = ''
|
||||
(defcfg
|
||||
input (device-file "${keyboard.device}")
|
||||
output (uinput-sink "kmonad-${keyboard.name}")
|
||||
${
|
||||
lib.optionalString (keyboard.defcfg.compose.key != null) ''
|
||||
cmp-seq ${keyboard.defcfg.compose.key}
|
||||
cmp-seq-delay ${toString keyboard.defcfg.compose.delay}
|
||||
''
|
||||
}
|
||||
fallthrough ${lib.boolToString keyboard.defcfg.fallthrough}
|
||||
allow-cmd ${lib.boolToString keyboard.defcfg.allowCommands}
|
||||
)
|
||||
'';
|
||||
in
|
||||
pkgs.writeTextFile {
|
||||
name = "kmonad-${keyboard.name}.cfg";
|
||||
text = lib.optionalString keyboard.defcfg.enable (defcfg + "\n") + keyboard.config;
|
||||
checkPhase = "${cfg.package}/bin/kmonad -d $out";
|
||||
};
|
||||
|
||||
# Build a systemd path config that starts the service below when a
|
||||
# keyboard device appears:
|
||||
mkPath =
|
||||
keyboard:
|
||||
let
|
||||
name = "kmonad-${keyboard.name}";
|
||||
in
|
||||
lib.nameValuePair name {
|
||||
description = "KMonad trigger for ${keyboard.device}";
|
||||
wantedBy = [ "paths.target" ];
|
||||
pathConfig = {
|
||||
Unit = "${name}.service";
|
||||
PathExists = keyboard.device;
|
||||
};
|
||||
};
|
||||
|
||||
# Build a systemd service that starts KMonad:
|
||||
mkService =
|
||||
keyboard:
|
||||
let
|
||||
cmd = [
|
||||
(lib.getExe cfg.package)
|
||||
"--input"
|
||||
''device-file "${keyboard.device}"''
|
||||
] ++ cfg.extraArgs ++ [ "${mkCfg keyboard}" ];
|
||||
in
|
||||
lib.nameValuePair "kmonad-${keyboard.name}" {
|
||||
description = "KMonad for ${keyboard.device}";
|
||||
script = lib.escapeShellArgs cmd;
|
||||
unitConfig = {
|
||||
# Control rate limiting.
|
||||
# Stop the restart logic if we restart more than
|
||||
# StartLimitBurst times in a period of StartLimitIntervalSec.
|
||||
StartLimitIntervalSec = 2;
|
||||
StartLimitBurst = 5;
|
||||
};
|
||||
serviceConfig = {
|
||||
Restart = "always";
|
||||
# Restart at increasing intervals from 2s to 1m
|
||||
RestartSec = 2;
|
||||
RestartSteps = 30;
|
||||
RestartMaxDelaySec = "1min";
|
||||
Nice = -20;
|
||||
DynamicUser = true;
|
||||
User = "kmonad";
|
||||
Group = "kmonad";
|
||||
SupplementaryGroups = [
|
||||
# These ensure that our dynamic user has access to the device node
|
||||
config.users.groups.input.name
|
||||
config.users.groups.uinput.name
|
||||
] ++ keyboard.extraGroups;
|
||||
};
|
||||
};
|
||||
in
|
||||
{
|
||||
options.services.kmonad = {
|
||||
enable = lib.mkEnableOption "KMonad: An advanced keyboard manager.";
|
||||
|
||||
package = lib.mkPackageOption pkgs "kmonad" { };
|
||||
|
||||
keyboards = lib.mkOption {
|
||||
type = lib.types.attrsOf (lib.types.submodule keyboard);
|
||||
default = { };
|
||||
description = "Keyboard configuration.";
|
||||
};
|
||||
|
||||
extraArgs = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.str;
|
||||
default = [ ];
|
||||
example = [
|
||||
"--log-level"
|
||||
"debug"
|
||||
];
|
||||
description = "Extra arguments to pass to KMonad.";
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
hardware.uinput.enable = true;
|
||||
|
||||
systemd = {
|
||||
paths = lib.mapAttrs' (_: mkPath) cfg.keyboards;
|
||||
services = lib.mapAttrs' (_: mkService) cfg.keyboards;
|
||||
};
|
||||
};
|
||||
}
|
@ -55,11 +55,17 @@ in
|
||||
systemd.packages = [ cfg.package ];
|
||||
|
||||
systemd.services.sing-box = {
|
||||
preStart = ''
|
||||
umask 0077
|
||||
mkdir -p /etc/sing-box
|
||||
${utils.genJqSecretsReplacementSnippet cfg.settings "/etc/sing-box/config.json"}
|
||||
'';
|
||||
preStart = utils.genJqSecretsReplacementSnippet cfg.settings "/run/sing-box/config.json";
|
||||
serviceConfig = {
|
||||
StateDirectory = "sing-box";
|
||||
StateDirectoryMode = "0700";
|
||||
RuntimeDirectory = "sing-box";
|
||||
RuntimeDirectoryMode = "0700";
|
||||
ExecStart = [
|
||||
""
|
||||
"${lib.getExe cfg.package} -D \${STATE_DIRECTORY} -C \${RUNTIME_DIRECTORY} run"
|
||||
];
|
||||
};
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
};
|
||||
};
|
||||
|
194
nixos/modules/services/torrent/bitmagnet.nix
Normal file
194
nixos/modules/services/torrent/bitmagnet.nix
Normal file
@ -0,0 +1,194 @@
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
cfg = config.services.bitmagnet;
|
||||
inherit (lib)
|
||||
mkEnableOption
|
||||
mkIf
|
||||
mkOption
|
||||
mkPackageOption
|
||||
optional
|
||||
;
|
||||
inherit (lib.types)
|
||||
bool
|
||||
int
|
||||
port
|
||||
str
|
||||
submodule
|
||||
;
|
||||
inherit (lib.generators) toYAML;
|
||||
|
||||
freeformType = (pkgs.formats.yaml { }).type;
|
||||
in
|
||||
{
|
||||
options.services.bitmagnet = {
|
||||
enable = mkEnableOption "Bitmagnet service";
|
||||
useLocalPostgresDB = mkOption {
|
||||
description = "Use a local postgresql database, create user and database";
|
||||
type = bool;
|
||||
default = true;
|
||||
};
|
||||
settings = mkOption {
|
||||
description = "Bitmagnet configuration (https://bitmagnet.io/setup/configuration.html).";
|
||||
default = { };
|
||||
type = submodule {
|
||||
inherit freeformType;
|
||||
options = {
|
||||
http_server = mkOption {
|
||||
default = { };
|
||||
description = "HTTP server settings";
|
||||
type = submodule {
|
||||
inherit freeformType;
|
||||
options = {
|
||||
port = mkOption {
|
||||
type = str;
|
||||
default = ":3333";
|
||||
description = "HTTP server listen port";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
dht_server = mkOption {
|
||||
default = { };
|
||||
description = "DHT server settings";
|
||||
type = submodule {
|
||||
inherit freeformType;
|
||||
options = {
|
||||
port = mkOption {
|
||||
type = port;
|
||||
default = 3334;
|
||||
description = "DHT listen port";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
postgres = mkOption {
|
||||
default = { };
|
||||
description = "PostgreSQL database configuration";
|
||||
type = submodule {
|
||||
inherit freeformType;
|
||||
options = {
|
||||
host = mkOption {
|
||||
type = str;
|
||||
default = "";
|
||||
description = "Address, hostname or Unix socket path of the database server";
|
||||
};
|
||||
name = mkOption {
|
||||
type = str;
|
||||
default = "bitmagnet";
|
||||
description = "Database name to connect to";
|
||||
};
|
||||
user = mkOption {
|
||||
type = str;
|
||||
default = "";
|
||||
description = "User to connect as";
|
||||
};
|
||||
password = mkOption {
|
||||
type = str;
|
||||
default = "";
|
||||
description = "Password for database user";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
package = mkPackageOption pkgs "bitmagnet" { };
|
||||
user = mkOption {
|
||||
description = "User running bitmagnet";
|
||||
type = str;
|
||||
default = "bitmagnet";
|
||||
};
|
||||
group = mkOption {
|
||||
description = "Group of user running bitmagnet";
|
||||
type = str;
|
||||
default = "bitmagnet";
|
||||
};
|
||||
openFirewall = mkOption {
|
||||
description = "Open DHT ports in firewall";
|
||||
type = bool;
|
||||
default = false;
|
||||
};
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
environment.etc."xdg/bitmagnet/config.yml" = {
|
||||
text = toYAML { } cfg.settings;
|
||||
mode = "0440";
|
||||
user = cfg.user;
|
||||
group = cfg.group;
|
||||
};
|
||||
systemd.services.bitmagnet = {
|
||||
enable = true;
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [
|
||||
"network.target"
|
||||
] ++ optional cfg.useLocalPostgresDB "postgresql.service";
|
||||
requires = optional cfg.useLocalPostgresDB "postgresql.service";
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
DynamicUser = true;
|
||||
User = cfg.user;
|
||||
Group = cfg.group;
|
||||
ExecStart = "${cfg.package}/bin/bitmagnet worker run --all";
|
||||
Restart = "on-failure";
|
||||
WorkingDirectory = "/var/lib/bitmagnet";
|
||||
StateDirectory = "bitmagnet";
|
||||
|
||||
# Sandboxing (sorted by occurrence in https://www.freedesktop.org/software/systemd/man/systemd.exec.html)
|
||||
ProtectSystem = "strict";
|
||||
ProtectHome = true;
|
||||
PrivateTmp = true;
|
||||
PrivateDevices = true;
|
||||
ProtectHostname = true;
|
||||
ProtectClock = true;
|
||||
ProtectKernelTunables = true;
|
||||
ProtectKernelModules = true;
|
||||
ProtectKernelLogs = true;
|
||||
ProtectControlGroups = true;
|
||||
RestrictAddressFamilies = [
|
||||
"AF_UNIX"
|
||||
"AF_INET"
|
||||
"AF_INET6"
|
||||
];
|
||||
RestrictNamespaces = true;
|
||||
LockPersonality = true;
|
||||
MemoryDenyWriteExecute = true;
|
||||
RestrictRealtime = true;
|
||||
RestrictSUIDSGID = true;
|
||||
RemoveIPC = true;
|
||||
PrivateMounts = true;
|
||||
};
|
||||
};
|
||||
users.users = mkIf (cfg.user == "bitmagnet") {
|
||||
bitmagnet = {
|
||||
group = cfg.group;
|
||||
isSystemUser = true;
|
||||
};
|
||||
};
|
||||
users.groups = mkIf (cfg.group == "bitmagnet") { bitmagnet = { }; };
|
||||
networking.firewall = mkIf cfg.openFirewall {
|
||||
allowedTCPPorts = [ cfg.settings.dht_server.port ];
|
||||
allowedUDPPorts = [ cfg.settings.dht_server.port ];
|
||||
};
|
||||
services.postgresql = mkIf cfg.useLocalPostgresDB {
|
||||
enable = true;
|
||||
ensureDatabases = [
|
||||
cfg.settings.postgres.name
|
||||
(if (cfg.settings.postgres.user == "") then cfg.user else cfg.settings.postgres.user)
|
||||
];
|
||||
ensureUsers = [
|
||||
{
|
||||
name = if (cfg.settings.postgres.user == "") then cfg.user else cfg.settings.postgres.user;
|
||||
ensureDBOwnership = true;
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
meta.maintainers = with lib.maintainers; [ gileri ];
|
||||
}
|
@ -5015,6 +5015,18 @@ final: prev:
|
||||
meta.homepage = "https://github.com/othree/html5.vim/";
|
||||
};
|
||||
|
||||
hunk-nvim = buildVimPlugin {
|
||||
pname = "hunk.nvim";
|
||||
version = "2024-09-19";
|
||||
src = fetchFromGitHub {
|
||||
owner = "julienvincent";
|
||||
repo = "hunk.nvim";
|
||||
rev = "eb89245a66bdfce10436d15923bf4deb43d23c96";
|
||||
sha256 = "19j3gcv83gpqqpk39dd1q3wd7p3wrxgry57i3z21rchmd13dzfq9";
|
||||
};
|
||||
meta.homepage = "https://github.com/julienvincent/hunk.nvim/";
|
||||
};
|
||||
|
||||
hydra-nvim = buildVimPlugin {
|
||||
pname = "hydra.nvim";
|
||||
version = "2024-09-05";
|
||||
|
@ -419,6 +419,7 @@ https://github.com/smoka7/hop.nvim/,,
|
||||
https://github.com/rktjmp/hotpot.nvim/,,
|
||||
https://github.com/lewis6991/hover.nvim/,HEAD,
|
||||
https://github.com/othree/html5.vim/,HEAD,
|
||||
https://github.com/julienvincent/hunk.nvim/,HEAD,
|
||||
https://github.com/nvimtools/hydra.nvim/,HEAD,
|
||||
https://github.com/mboughaba/i3config.vim/,,
|
||||
https://github.com/cocopon/iceberg.vim/,,
|
||||
|
@ -26,14 +26,14 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "foxotron";
|
||||
version = "2023-07-16";
|
||||
version = "2024-09-23";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Gargaj";
|
||||
repo = "Foxotron";
|
||||
rev = version;
|
||||
fetchSubmodules = true;
|
||||
hash = "sha256-s1eWZMVitVSP7nJJ5wXvnV8uI6yto7LmvlvocOwVAxw=";
|
||||
hash = "sha256-OnZWoiQ5ASKQV73/W6nl17B2ANwqCy/PlybHbNwrOyQ=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
@ -1,7 +1,7 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, fetchFromGitHub
|
||||
, protobuf
|
||||
, wrapQtAppsHook
|
||||
, python3
|
||||
, zbar
|
||||
@ -9,28 +9,9 @@
|
||||
, enableQt ? true
|
||||
, callPackage
|
||||
, qtwayland
|
||||
, fetchPypi
|
||||
}:
|
||||
|
||||
let
|
||||
version = "4.5.5";
|
||||
|
||||
python = python3.override {
|
||||
self = python;
|
||||
packageOverrides = self: super: {
|
||||
# Pin ledger-bitcoin to 0.2.1
|
||||
ledger-bitcoin = super.ledger-bitcoin.overridePythonAttrs (oldAttrs: rec {
|
||||
version = "0.2.1";
|
||||
format = "pyproject";
|
||||
src = fetchPypi {
|
||||
pname = "ledger_bitcoin";
|
||||
inherit version;
|
||||
hash = "sha256-AWl/q2MzzspNIo6yf30S92PgM/Ygsb+1lJsg7Asztso=";
|
||||
};
|
||||
});
|
||||
};
|
||||
};
|
||||
|
||||
libsecp256k1_name =
|
||||
if stdenv.hostPlatform.isLinux then "libsecp256k1.so.{v}"
|
||||
else if stdenv.hostPlatform.isDarwin then "libsecp256k1.{v}.dylib"
|
||||
@ -41,39 +22,21 @@ let
|
||||
else if stdenv.hostPlatform.isDarwin then "libzbar.0.dylib"
|
||||
else "libzbar${stdenv.hostPlatform.extensions.sharedLibrary}";
|
||||
|
||||
# Not provided in official source releases, which are what upstream signs.
|
||||
tests = fetchFromGitHub {
|
||||
owner = "spesmilo";
|
||||
repo = "electrum";
|
||||
rev = version;
|
||||
sha256 = "sha256-CbhI/q+zjk9odxuvdzpogi046FqkedJooiQwS+WAkJ8=";
|
||||
|
||||
postFetch = ''
|
||||
mv $out ./all
|
||||
mv ./all/tests $out
|
||||
'';
|
||||
};
|
||||
|
||||
in
|
||||
|
||||
python.pkgs.buildPythonApplication {
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "electrum";
|
||||
inherit version;
|
||||
version = "4.5.6";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.electrum.org/${version}/Electrum-${version}.tar.gz";
|
||||
sha256 = "1jiagz9avkbd158pcip7p4wz0pdsxi94ndvg5p8afvshb32aqwav";
|
||||
hash = "sha256-LO2ZUvbDJaIxrdgA+cM3sGgqJ+N+UlA9ObNINQcrorA=";
|
||||
};
|
||||
|
||||
postUnpack = ''
|
||||
# can't symlink, tests get confused
|
||||
cp -ar ${tests} $sourceRoot/tests
|
||||
'';
|
||||
|
||||
nativeBuildInputs = lib.optionals enableQt [ wrapQtAppsHook ];
|
||||
build-system = [ protobuf ] ++ lib.optionals enableQt [ wrapQtAppsHook ];
|
||||
buildInputs = lib.optional (stdenv.hostPlatform.isLinux && enableQt) qtwayland;
|
||||
|
||||
propagatedBuildInputs = with python.pkgs; [
|
||||
dependencies = with python3.pkgs; [
|
||||
aiohttp
|
||||
aiohttp-socks
|
||||
aiorpcx
|
||||
@ -104,7 +67,7 @@ python.pkgs.buildPythonApplication {
|
||||
qdarkstyle
|
||||
];
|
||||
|
||||
checkInputs = with python.pkgs; lib.optionals enableQt [
|
||||
checkInputs = with python3.pkgs; lib.optionals enableQt [
|
||||
pyqt6
|
||||
];
|
||||
|
||||
@ -136,7 +99,7 @@ python.pkgs.buildPythonApplication {
|
||||
wrapQtApp $out/bin/electrum
|
||||
'';
|
||||
|
||||
nativeCheckInputs = with python.pkgs; [ pytestCheckHook pyaes pycryptodomex ];
|
||||
nativeCheckInputs = with python3.pkgs; [ pytestCheckHook pyaes pycryptodomex ];
|
||||
|
||||
pytestFlagsArray = [ "tests" ];
|
||||
|
||||
|
@ -18,7 +18,7 @@
|
||||
, extraBuildInputs ? []
|
||||
, extraMakeFlags ? []
|
||||
, extraPassthru ? {}
|
||||
, tests ? []
|
||||
, tests ? {}
|
||||
}:
|
||||
|
||||
let
|
||||
|
@ -27,7 +27,7 @@
|
||||
license = lib.licenses.mpl20;
|
||||
mainProgram = "firefox";
|
||||
};
|
||||
tests = [ nixosTests.firefox ];
|
||||
tests = { inherit (nixosTests) firefox; };
|
||||
updateScript = callPackage ./update.nix {
|
||||
attrPath = "firefox-unwrapped";
|
||||
};
|
||||
@ -55,7 +55,7 @@
|
||||
license = lib.licenses.mpl20;
|
||||
mainProgram = "firefox";
|
||||
};
|
||||
tests = [ nixosTests.firefox-beta ];
|
||||
tests = { inherit (nixosTests) firefox-beta; };
|
||||
updateScript = callPackage ./update.nix {
|
||||
attrPath = "firefox-beta-unwrapped";
|
||||
versionSuffix = "b[0-9]*";
|
||||
@ -86,7 +86,7 @@
|
||||
license = lib.licenses.mpl20;
|
||||
mainProgram = "firefox";
|
||||
};
|
||||
tests = [ nixosTests.firefox-devedition ];
|
||||
tests = { inherit (nixosTests) firefox-devedition; };
|
||||
updateScript = callPackage ./update.nix {
|
||||
attrPath = "firefox-devedition-unwrapped";
|
||||
versionSuffix = "b[0-9]*";
|
||||
@ -115,7 +115,7 @@
|
||||
license = lib.licenses.mpl20;
|
||||
mainProgram = "firefox";
|
||||
};
|
||||
tests = [ nixosTests.firefox-esr-128 ];
|
||||
tests = { inherit (nixosTests) firefox-esr-128; };
|
||||
updateScript = callPackage ./update.nix {
|
||||
attrPath = "firefox-esr-128-unwrapped";
|
||||
versionPrefix = "128";
|
||||
|
@ -58,7 +58,9 @@
|
||||
license = lib.licenses.mpl20;
|
||||
mainProgram = "floorp";
|
||||
};
|
||||
tests = [ nixosTests.floorp ];
|
||||
tests = {
|
||||
inherit (nixosTests) floorp;
|
||||
};
|
||||
}).override
|
||||
{
|
||||
# Upstream build configuration can be found at
|
||||
|
@ -26,7 +26,7 @@ in
|
||||
license = lib.licenses.mpl20;
|
||||
mainProgram = "librewolf";
|
||||
};
|
||||
tests = [ nixosTests.librewolf ];
|
||||
tests = { inherit (nixosTests) librewolf; };
|
||||
updateScript = callPackage ./update.nix {
|
||||
attrPath = "librewolf-unwrapped";
|
||||
};
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "helm-secrets";
|
||||
version = "4.6.1";
|
||||
version = "4.6.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jkroepke";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-AAc680STuXiGEw9ibFRHMrOxGs/c5pS0iEoymNHu+c8=";
|
||||
hash = "sha256-s76XIB7s92zSzG8GGsJJuTG3cwbGHL7oc1x30k/WoOU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
@ -31,13 +31,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "firewalld";
|
||||
version = "2.2.1";
|
||||
version = "2.2.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "firewalld";
|
||||
repo = "firewalld";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-VI1LyedohInmZb7heNoZ/4cvLz5IImEE2tyNylvr2mU=";
|
||||
sha256 = "sha256-ugDleco/Ep+10ku+5xcW4zq/RrhruZCRlX0zKeXzLhg=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
@ -1,63 +0,0 @@
|
||||
{ lib, stdenv, fetchFromGitHub
|
||||
, avahi
|
||||
, cups
|
||||
, gnutls
|
||||
, libjpeg
|
||||
, libpng
|
||||
, libusb1
|
||||
, pkg-config
|
||||
, withPAMSupport ? true, pam
|
||||
, zlib
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "pappl";
|
||||
version = "1.4.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "michaelrsweet";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-d7QD6Kz4tBVHGFPBYcvRSzW+EtsNgpfweFvCx3ovfWE=";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
cups
|
||||
libjpeg
|
||||
libpng
|
||||
libusb1
|
||||
zlib
|
||||
] ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [
|
||||
# upstream mentions these are not needed for Mac
|
||||
# see: https://github.com/michaelrsweet/pappl#requirements
|
||||
avahi
|
||||
gnutls
|
||||
] ++ lib.optionals withPAMSupport [
|
||||
pam
|
||||
];
|
||||
|
||||
# testing requires some networking
|
||||
# doCheck = true;
|
||||
|
||||
doInstallCheck = true;
|
||||
installCheckPhase = ''
|
||||
$out/bin/pappl-makeresheader --help
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = with lib; {
|
||||
description = "C-based framework/library for developing CUPS Printer Applications";
|
||||
mainProgram = "pappl-makeresheader";
|
||||
homepage = "https://github.com/michaelrsweet/pappl";
|
||||
license = licenses.asl20;
|
||||
platforms = platforms.linux; # should also work for darwin, but requires additional work
|
||||
maintainers = [ ];
|
||||
};
|
||||
}
|
@ -8,13 +8,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "obs-source-record";
|
||||
version = "0.3.4";
|
||||
version = "0.3.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "exeldro";
|
||||
repo = "obs-source-record";
|
||||
rev = version;
|
||||
sha256 = "sha256-VgG9Fn75aKTkth4TC9rhfj/HIOO2lIO4n3ZYmemkzx8=";
|
||||
sha256 = "sha256-RodZjab3DKiJwYuspdpCsF0ah4u5JtDDYoZPUGk36H4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
@ -11,13 +11,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "containerd";
|
||||
version = "1.7.22";
|
||||
version = "1.7.23";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "containerd";
|
||||
repo = "containerd";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-8IHBKai4PvvTuHPDTgx9wFEBzz4MM7Mwo8Q/bzFRzfk=";
|
||||
hash = "sha256-vuOefU1cZr1pKCYHKyDBx/ohghgPlXhK3a38PQKH0pc=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
@ -107,12 +107,12 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
})
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
description = "A graphical tool for developing on containers and Kubernetes";
|
||||
homepage = "https://podman-desktop.io";
|
||||
changelog = "https://github.com/containers/podman-desktop/releases/tag/v${version}";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ booxter panda2134 ];
|
||||
changelog = "https://github.com/containers/podman-desktop/releases/tag/v${finalAttrs.version}";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ booxter panda2134 ];
|
||||
inherit (electron.meta) platforms;
|
||||
mainProgram = "podman-desktop";
|
||||
};
|
||||
|
43
pkgs/by-name/bi/bitcomet/package.nix
Normal file
43
pkgs/by-name/bi/bitcomet/package.nix
Normal file
@ -0,0 +1,43 @@
|
||||
{
|
||||
lib,
|
||||
fetchurl,
|
||||
appimageTools,
|
||||
webkitgtk_4_0,
|
||||
}:
|
||||
let
|
||||
pname = "bitcomet";
|
||||
version = "2.10.0";
|
||||
src = fetchurl {
|
||||
url = "https://download.bitcomet.com/linux/x86_64/BitComet-${version}-x86_64.AppImage";
|
||||
hash = "sha256-HC9kThRuDcc7oWXuMeWe9g6P/v6GZQ8ho5sc4bNzsYw=";
|
||||
};
|
||||
appimageContents = appimageTools.extractType2 { inherit pname version src; };
|
||||
in
|
||||
appimageTools.wrapType2 {
|
||||
inherit pname version src;
|
||||
|
||||
extraPkgs =
|
||||
pkgs: with pkgs; [
|
||||
libxml2
|
||||
libpng
|
||||
webkitgtk_4_0
|
||||
];
|
||||
|
||||
extraInstallCommands = ''
|
||||
mkdir -p $out/share/applications
|
||||
install -m 444 ${appimageContents}/com.bitcomet.linux.desktop $out/share/applications/bitcomet.desktop
|
||||
substituteInPlace $out/share/applications/bitcomet.desktop \
|
||||
--replace-fail 'Exec=usr/bin/BitComet' 'Exec=bitcomet'
|
||||
cp -r ${appimageContents}/usr/share/icons $out/share
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = "https://www.bitcomet.com";
|
||||
description = "Free BitTorrent download client";
|
||||
mainProgram = "bitcomet";
|
||||
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
|
||||
license = lib.licenses.unfree;
|
||||
platforms = [ "x86_64-linux" ];
|
||||
maintainers = with lib.maintainers; [ aucub ];
|
||||
};
|
||||
}
|
@ -1,10 +1,10 @@
|
||||
{ lib
|
||||
, buildGoModule
|
||||
, buildGo122Module # builds, but does not start on 1.23
|
||||
, fetchFromGitHub
|
||||
, nix-update-script
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
buildGo122Module rec {
|
||||
pname = "bitmagnet";
|
||||
version = "0.9.5";
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
{ lib, fetchFromGitHub, rustPlatform }:
|
||||
let version = "2.5.0";
|
||||
let version = "2.5.1";
|
||||
in rustPlatform.buildRustPackage {
|
||||
pname = "catppuccin-whiskers";
|
||||
inherit version;
|
||||
@ -8,10 +8,10 @@ in rustPlatform.buildRustPackage {
|
||||
owner = "catppuccin";
|
||||
repo = "whiskers";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-HsHBMJPSoDhSNwjAR7LbFG4Za4H2H+7itqgiKRdb4M8=";
|
||||
hash = "sha256-OLEXy9MCrPQu1KWICsYhe/ayVqxkYIFwyJoJhgiNDz4=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-FpBgXP4kXSzrYP+ad+KubUG4NSDpyoaJwyReS86ETy8=";
|
||||
cargoHash = "sha256-5FvW+ioeDi0kofDswyQpUC21wbEZM8TAeUEUemnNfnA=";
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/catppuccin/whiskers";
|
||||
|
@ -2,24 +2,27 @@
|
||||
lib,
|
||||
rustPlatform,
|
||||
fetchFromGitHub,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage {
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "desed";
|
||||
version = "1.2.1-unstable-2024-09-06";
|
||||
version = "1.2.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "SoptikHa2";
|
||||
repo = "desed";
|
||||
rev = "master";
|
||||
hash = "sha256-iCpEfefXXognk4YI1LLb3mwgaqMw4m3haq/gdS1JbQU=";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-FL9w+XdClLBCRp+cLqDzTVj8j9LMUp8jZ6hiG4KvIds=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-z2qv394C0GhQC21HuLyvlNjrM65KFEZh1XLj+Y/B9ZM=";
|
||||
cargoHash = "sha256-inH8fUpUR0WXYY2JX72evZqVp3GlnGKBBlrbai/fU6U=";
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
changelog = "https://github.com/SoptikHa2/desed/releases/tag/v1.2.1";
|
||||
description = "Debugger for Sed: demystify and debug your sed scripts, from comfort of your terminal. ";
|
||||
changelog = "https://github.com/SoptikHa2/desed/releases/tag/v${version}";
|
||||
description = "Debugger for Sed: demystify and debug your sed scripts, from comfort of your terminal";
|
||||
homepage = "https://github.com/SoptikHa2/desed";
|
||||
license = lib.licenses.gpl3Only;
|
||||
maintainers = with lib.maintainers; [ vinylen ];
|
||||
|
61
pkgs/by-name/fr/freecad/0003-freecad-font-issue-10514.patch
Normal file
61
pkgs/by-name/fr/freecad/0003-freecad-font-issue-10514.patch
Normal file
@ -0,0 +1,61 @@
|
||||
diff --git a/src/Gui/PreferencePages/DlgSettingsEditor.cpp b/src/Gui/PreferencePages/DlgSettingsEditor.cpp
|
||||
index 5f92058c18..b00104497b 100644
|
||||
--- a/src/Gui/PreferencePages/DlgSettingsEditor.cpp
|
||||
+++ b/src/Gui/PreferencePages/DlgSettingsEditor.cpp
|
||||
@@ -56,27 +56,34 @@ namespace
|
||||
*
|
||||
* Based on
|
||||
* https://stackoverflow.com/questions/18896933/qt-qfont-selection-of-a-monospace-font-doesnt-work
|
||||
+ * Local fix to based on comment in
|
||||
+ * https://github.com/FreeCAD/FreeCAD/issues/10514#issuecomment-1849176386
|
||||
*/
|
||||
+bool hasFixedPitch(const QFont& font)
|
||||
+{
|
||||
+ return QFontInfo(font).fixedPitch();
|
||||
+}
|
||||
+
|
||||
QFont getMonospaceFont()
|
||||
{
|
||||
- QFont font(QString::fromLatin1("monospace"));
|
||||
- if (font.fixedPitch()) {
|
||||
- return font;
|
||||
- }
|
||||
- font.setStyleHint(QFont::Monospace);
|
||||
- if (font.fixedPitch()) {
|
||||
- return font;
|
||||
+ if (QFont font = QFontDatabase::systemFont(QFontDatabase::FixedFont); hasFixedPitch(font)) {
|
||||
+ return font; // should typically work.
|
||||
}
|
||||
- font.setStyleHint(QFont::TypeWriter);
|
||||
- if (font.fixedPitch()) {
|
||||
+
|
||||
+ QFont font; // default QApplication font
|
||||
+ font.setStyleHint(QFont::Courier); // may not work
|
||||
+ if (hasFixedPitch(font)) {
|
||||
return font;
|
||||
}
|
||||
- font.setFamily(QString::fromLatin1("courier"));
|
||||
- if (font.fixedPitch()) {
|
||||
- return font;
|
||||
+ for (const char* family : {"Monospace", "Courier"}) {
|
||||
+ font.setFamily(QString::fromLatin1(family));
|
||||
+ if (hasFixedPitch(font)) {
|
||||
+ return font;
|
||||
+ }
|
||||
}
|
||||
- return font; // We failed, but return whatever we have anyway
|
||||
+ return font;
|
||||
}
|
||||
+
|
||||
} // namespace
|
||||
|
||||
/* TRANSLATOR Gui::Dialog::DlgSettingsEditor */
|
||||
@@ -302,7 +309,7 @@ void DlgSettingsEditor::loadSettings()
|
||||
ui->fontSize->setValue(10);
|
||||
ui->fontSize->setValue(hGrp->GetInt("FontSize", ui->fontSize->value()));
|
||||
|
||||
- QByteArray defaultMonospaceFont = getMonospaceFont().family().toLatin1();
|
||||
+ QByteArray defaultMonospaceFont = QFontInfo(getMonospaceFont()).family().toLatin1();
|
||||
|
||||
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
|
||||
QStringList familyNames = QFontDatabase().families(QFontDatabase::Any);
|
@ -131,6 +131,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
patches = [
|
||||
./0001-NIXOS-don-t-ignore-PYTHONPATH.patch
|
||||
./0002-FreeCad-OndselSolver-pkgconfig.patch
|
||||
./0003-freecad-font-issue-10514.patch
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
|
32
pkgs/by-name/ka/kamp/package.nix
Normal file
32
pkgs/by-name/ka/kamp/package.nix
Normal file
@ -0,0 +1,32 @@
|
||||
{
|
||||
lib,
|
||||
rustPlatform,
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "kamp";
|
||||
version = "0.2.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "vbauerster";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-9cakFhA9niMZ0jD0ilgCUztk4uL6wDp6zfHUJY/yLYw=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-BnVV0UnXEebq1kbQvv8PkmntLK0BwrOcMxxIODpZrxc=";
|
||||
|
||||
postInstall = ''
|
||||
install scripts/* -Dt $out/bin
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Tool to control Kakoune editor from the command line";
|
||||
homepage = "https://github.com/vbauerster/kamp";
|
||||
license = lib.licenses.unlicense;
|
||||
maintainers = with lib.maintainers; [ erikeah ];
|
||||
mainProgram = "kamp";
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
}
|
@ -6,13 +6,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "mactop";
|
||||
version = "0.1.8";
|
||||
version = "0.1.9";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "context-labs";
|
||||
repo = "mactop";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-BcBUOI5EE04ZTPoHGrNQjctsDFbMoe/6MZaLj/58c34=";
|
||||
hash = "sha256-r9je+oeedQJsFBWWbOUcUls/EX0JZveUkmsXXtC8O0Q=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-/KecVx4Gp776t8gFSO29E1q9v29nwrKIWZYCpj7IlSo=";
|
||||
|
@ -6,13 +6,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "nstool";
|
||||
version = "1.9.1";
|
||||
version = "1.9.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jakcron";
|
||||
repo = "nstool";
|
||||
rev = "refs/tags/v${finalAttrs.version}";
|
||||
hash = "sha256-FF+USFL5Y6MkAKvfR05D/+L/XJSmkiSp9WLbF7Gg2V8=";
|
||||
hash = "sha256-az6AkBCO7Ew5jK/9qKQ65adwAKYf+H7QEvVI6LCXFS0=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
74
pkgs/by-name/pa/pappl/package.nix
Normal file
74
pkgs/by-name/pa/pappl/package.nix
Normal file
@ -0,0 +1,74 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
avahi,
|
||||
cups,
|
||||
gnutls,
|
||||
libjpeg,
|
||||
libpng,
|
||||
libusb1,
|
||||
pkg-config,
|
||||
withPAMSupport ? true,
|
||||
pam,
|
||||
zlib,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "pappl";
|
||||
version = "1.4.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "michaelrsweet";
|
||||
repo = "pappl";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-Npry3H+QbAH19hoqAZuOwjpZwCPhOLewD8uKZlo4gdQ=";
|
||||
};
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
"dev"
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs =
|
||||
[
|
||||
cups
|
||||
libjpeg
|
||||
libpng
|
||||
libusb1
|
||||
zlib
|
||||
]
|
||||
++ lib.optionals (!stdenv.hostPlatform.isDarwin) [
|
||||
# upstream mentions these are not needed for Mac
|
||||
# see: https://github.com/michaelrsweet/pappl#requirements
|
||||
avahi
|
||||
gnutls
|
||||
]
|
||||
++ lib.optionals withPAMSupport [
|
||||
pam
|
||||
];
|
||||
|
||||
# testing requires some networking
|
||||
# doCheck = true;
|
||||
|
||||
doInstallCheck = true;
|
||||
installCheckPhase = ''
|
||||
$out/bin/pappl-makeresheader --help
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = {
|
||||
description = "C-based framework/library for developing CUPS Printer Applications";
|
||||
changelog = "https://github.com/michaelrsweet/pappl/blob/v${version}/CHANGES.md";
|
||||
mainProgram = "pappl-makeresheader";
|
||||
homepage = "https://github.com/michaelrsweet/pappl";
|
||||
license = lib.licenses.asl20;
|
||||
platforms = lib.platforms.linux; # should also work for darwin, but requires additional work
|
||||
maintainers = [ lib.maintainers.NotAShelf ];
|
||||
};
|
||||
}
|
74
pkgs/by-name/sn/snoop/package.nix
Normal file
74
pkgs/by-name/sn/snoop/package.nix
Normal file
@ -0,0 +1,74 @@
|
||||
{
|
||||
stdenv,
|
||||
lib,
|
||||
fetchFromGitLab,
|
||||
python3,
|
||||
meson,
|
||||
ninja,
|
||||
cmake,
|
||||
vala,
|
||||
gettext,
|
||||
desktop-file-utils,
|
||||
appstream-glib,
|
||||
glib,
|
||||
pkg-config,
|
||||
libadwaita,
|
||||
nix-update-script,
|
||||
gtksourceview5,
|
||||
wrapGAppsHook4,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "snoop";
|
||||
version = "0.4";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.gnome.org";
|
||||
owner = "philippun1";
|
||||
repo = "snoop";
|
||||
rev = "refs/tags/${finalAttrs.version}";
|
||||
hash = "sha256-JrSUGxhlr4wCGoh589AkPRhNmfsi7msv9EO2k1pHlKY=";
|
||||
};
|
||||
|
||||
patchPhase = ''
|
||||
runHook prePatch
|
||||
|
||||
substituteInPlace build-aux/meson/postinstall.py \
|
||||
--replace-fail "/usr/bin/env python3" "${lib.getExe python3}"
|
||||
|
||||
sed -i '/gtk-update-icon-cache/d' build-aux/meson/postinstall.py
|
||||
sed -i '/update-desktop-database/d' build-aux/meson/postinstall.py
|
||||
|
||||
runHook postPatch
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
cmake
|
||||
gettext
|
||||
vala
|
||||
desktop-file-utils
|
||||
appstream-glib
|
||||
pkg-config
|
||||
wrapGAppsHook4
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
glib
|
||||
libadwaita
|
||||
gtksourceview5
|
||||
];
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
homepage = "https://gitlab.gnome.org/philippun1/snoop";
|
||||
changelog = "https://gitlab.gnome.org/philippun1/snoop/-/releases/${finalAttrs.version}";
|
||||
description = "Search through file contents in a given folder";
|
||||
maintainers = with lib.maintainers; [ bot-wxt1221 ];
|
||||
license = lib.licenses.gpl3Plus;
|
||||
mainProgram = "snoop";
|
||||
platforms = lib.platforms.unix;
|
||||
};
|
||||
})
|
@ -9,13 +9,13 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "speakersafetyd";
|
||||
version = "1.0.0";
|
||||
version = "1.0.2";
|
||||
|
||||
src = fetchCrate {
|
||||
inherit pname version;
|
||||
hash = "sha256-I1RTtD5V4Z8R8zed/b4FitHyE7gFAja5YcA+z0VvSX0=";
|
||||
hash = "sha256-3DzBNebg1y/+psD2zOpDsnRJmabQLeO1UMxPq9M0CsU=";
|
||||
};
|
||||
cargoHash = "sha256-8Dmts6SCRrZqyI+pdfgqsXfJy9Hqspbdb6EpQChMKDA=";
|
||||
cargoHash = "sha256-InWaPybZbUbhIF1MEMeTUGa8LRUPwcTdw7uclZ1zBu4=";
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ alsa-lib ];
|
||||
|
@ -1,41 +1,42 @@
|
||||
{ lib
|
||||
, makeWrapper
|
||||
, rustPlatform
|
||||
, pkg-config
|
||||
, fetchFromGitHub
|
||||
, wayland
|
||||
,
|
||||
{
|
||||
lib,
|
||||
makeWrapper,
|
||||
rustPlatform,
|
||||
pkg-config,
|
||||
fetchFromGitHub,
|
||||
wayland,
|
||||
}:
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "waycorner";
|
||||
version = "0.2.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "AndreasBackx";
|
||||
repo = "waycorner";
|
||||
rev = version;
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-b8juIhJ3kh+NJc8RUVVoatqjWISSW0ir/vk2Dz/428Y=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-LGxFRGzQ8jOfxT5di3+YGqfS5KM4+Br6KlTFpPbkJyU=";
|
||||
buildInputs = [
|
||||
wayland
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
makeWrapper
|
||||
];
|
||||
|
||||
postFixup = ''
|
||||
# the program looks for libwayland-client.so at runtime
|
||||
wrapProgram $out/bin/waycorner \
|
||||
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ wayland ]}
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
description = "Hot corners for Wayland";
|
||||
mainProgram = "waycorner";
|
||||
changelog = "https://github.com/AndreasBackx/waycorner/blob/main/CHANGELOG.md";
|
||||
changelog = "https://github.com/AndreasBackx/waycorner/blob/${version}/CHANGELOG.md";
|
||||
homepage = "https://github.com/AndreasBackx/waycorner";
|
||||
platforms = platforms.linux;
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ NotAShelf ];
|
||||
platforms = lib.platforms.linux;
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ NotAShelf ];
|
||||
};
|
||||
}
|
@ -12,13 +12,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "zziplib";
|
||||
version = "0.13.74";
|
||||
version = "0.13.78";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "gdraheim";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-MjqGHzb+dsAq2PrcBhU3sv4eMX3afkgFWUbhDp+5o/s=";
|
||||
hash = "sha256-8QxQrxqYO4LtB8prMqgz5a0QqvSKL7KzTkgi+VdHp6A=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -1,32 +0,0 @@
|
||||
{ lib, stdenvNoCC, fetchurl, nix-update-script }:
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "clash-geoip";
|
||||
version = "20240912";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/Dreamacro/maxmind-geoip/releases/download/${version}/Country.mmdb";
|
||||
sha256 = "sha256-3Cxq5vA53g7+LUgvSneuq7UBjdKppvcVy3fh/cOwDI8=";
|
||||
};
|
||||
|
||||
dontUnpack = true;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $out/etc/clash
|
||||
install -Dm 0644 $src -D $out/etc/clash/Country.mmdb
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
updateScript = nix-update-script { };
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "GeoLite2 data created by MaxMind";
|
||||
homepage = "https://github.com/Dreamacro/maxmind-geoip";
|
||||
license = licenses.unfree;
|
||||
maintainers = [ ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
@ -9,13 +9,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "level-zero";
|
||||
version = "1.17.45";
|
||||
version = "1.18.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "oneapi-src";
|
||||
repo = "level-zero";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-2uWZsy8aIV/ToDVuVxpyXoI1GbwZ9IxeLh+1hgjlfEM=";
|
||||
hash = "sha256-ep9RYHnqmOEqfdFtYzOZnv0aWu4TA8JMyWOj0E2uSYk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake addDriverRunpath ];
|
||||
@ -33,6 +33,7 @@ stdenv.mkDerivation rec {
|
||||
homepage = "https://github.com/oneapi-src/level-zero";
|
||||
changelog = "https://github.com/oneapi-src/level-zero/blob/v${version}/CHANGELOG.md";
|
||||
license = licenses.mit;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.ziguana ];
|
||||
};
|
||||
}
|
||||
|
@ -4,6 +4,7 @@
|
||||
pythonOlder,
|
||||
fetchFromGitHub,
|
||||
setuptools,
|
||||
click,
|
||||
watchdog,
|
||||
portalocker,
|
||||
pytestCheckHook,
|
||||
@ -17,7 +18,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "cachier";
|
||||
version = "3.0.1";
|
||||
version = "3.1.0";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
@ -26,7 +27,7 @@ buildPythonPackage rec {
|
||||
owner = "python-cachier";
|
||||
repo = "cachier";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-VApP1DRs+mjx+SELpdDOm2Sa7zBYHDqD/htFF/eNLu0=";
|
||||
hash = "sha256-LphmYL8Jmry8Jmd5Eps68wD113JMWwyBl18pqdtl+DQ=";
|
||||
};
|
||||
|
||||
pythonRemoveDeps = [ "setuptools" ];
|
||||
@ -38,6 +39,8 @@ buildPythonPackage rec {
|
||||
dependencies = [
|
||||
watchdog
|
||||
portalocker
|
||||
# not listed as dep, but needed to run main script entrypoint
|
||||
click
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
@ -63,6 +66,10 @@ buildPythonPackage rec {
|
||||
|
||||
# don't test formatting
|
||||
"test_flake8"
|
||||
|
||||
# timing sensitive
|
||||
"test_being_calc_next_time"
|
||||
"test_pickle_being_calculated"
|
||||
];
|
||||
|
||||
preBuild = ''
|
||||
@ -73,6 +80,7 @@ buildPythonPackage rec {
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/python-cachier/cachier";
|
||||
changelog = "https://github.com/python-cachier/cachier/releases/tag/v${version}";
|
||||
description = "Persistent, stale-free, local and cross-machine caching for functions";
|
||||
mainProgram = "cachier";
|
||||
maintainers = with lib.maintainers; [ pbsds ];
|
||||
|
@ -21,14 +21,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "equinox";
|
||||
version = "0.11.7";
|
||||
version = "0.11.8";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "patrick-kidger";
|
||||
repo = "equinox";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-0waIpsVWoABtf4M0IOie9nJDk+e75ArTVmGqYg9AlnI=";
|
||||
hash = "sha256-lZb2NobSELz8kviPd4Z8PPEEaydaEC5Z6eb9pzC7Ki8=";
|
||||
};
|
||||
|
||||
build-system = [ hatchling ];
|
||||
|
@ -10,14 +10,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "lm-format-enforcer";
|
||||
version = "0.10.7";
|
||||
version = "0.10.9";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "noamgat";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-25/qnSKBXbyAnasNYuv+LV2U2KLipKtH6B+wXlH6eRs=";
|
||||
hash = "sha256-8+hve/6YezM07+4BmmBEAPZ0B2d8xDguXoHf7FuQWP8=";
|
||||
};
|
||||
|
||||
build-system = [ poetry-core ];
|
||||
|
@ -1,25 +1,27 @@
|
||||
{
|
||||
lib,
|
||||
attrs,
|
||||
buildPythonPackage,
|
||||
fetchPypi,
|
||||
isPy27,
|
||||
enum34,
|
||||
attrs,
|
||||
pytz,
|
||||
pytestCheckHook,
|
||||
pythonOlder,
|
||||
pytz,
|
||||
setuptools,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "serpent";
|
||||
version = "1.41";
|
||||
format = "setuptools";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.9";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-BAcDX+PGZEOH1Iz/FGfVqp/v+BTQc3K3hnftDuPtcJU=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = lib.optionals isPy27 [ enum34 ];
|
||||
build-system = [ setuptools ];
|
||||
|
||||
nativeCheckInputs = [
|
||||
attrs
|
||||
@ -27,9 +29,12 @@ buildPythonPackage rec {
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "serpent" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Simple serialization library based on ast.literal_eval";
|
||||
homepage = "https://github.com/irmen/Serpent";
|
||||
changelog = "https://github.com/irmen/Serpent/releases/tag/serpent-${version}";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ prusnak ];
|
||||
};
|
||||
|
@ -2,16 +2,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "go-swag";
|
||||
version = "1.16.3";
|
||||
version = "1.16.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "swaggo";
|
||||
repo = "swag";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-wS5m3dBiILxmVb6P559fGcONdCWc/5hhLAVMC+G1QZs=";
|
||||
sha256 = "sha256-wqBT7uan5XL51HHDGINRH9NTb1tybF44d/rWRxl6Lak=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-BxWmEcx5IIT/yI46CJGE0vE1BRm5zwngc0x1dVy/04s=";
|
||||
vendorHash = "sha256-6L5LzXtYjrA/YKmNEC/9dyiHpY/8gkH/CvW0JTo+Bwc=";
|
||||
|
||||
subPackages = [ "cmd/swag" ];
|
||||
|
||||
|
@ -1,82 +0,0 @@
|
||||
From 4ff06a845979bd65e672ff4ab09f5310c681e13b Mon Sep 17 00:00:00 2001
|
||||
From: Arthur Kiyanovski <akiyano@amazon.com>
|
||||
Date: Tue, 30 Jul 2024 05:06:14 +0000
|
||||
Subject: [PATCH] workaround patch for kernel 6.10
|
||||
|
||||
Signed-off-by: Arthur Kiyanovski <akiyano@amazon.com>
|
||||
---
|
||||
kernel/linux/ena/config/test_defs.sh | 12 ++++++++++++
|
||||
kernel/linux/ena/ena_xdp.c | 5 ++---
|
||||
kernel/linux/ena/kcompat.h | 12 +++++++++++-
|
||||
3 files changed, 25 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/kernel/linux/ena/config/test_defs.sh b/kernel/linux/ena/config/test_defs.sh
|
||||
index f8951c3..0cf366b 100755
|
||||
--- a/kernel/linux/ena/config/test_defs.sh
|
||||
+++ b/kernel/linux/ena/config/test_defs.sh
|
||||
@@ -60,3 +60,15 @@ try_compile_async "#include <linux/etherdevice.h>" \
|
||||
"ENA_HAVE_ETH_HW_ADDR_SET" \
|
||||
"" \
|
||||
"5.15.0 <= LINUX_VERSION_CODE"
|
||||
+
|
||||
+try_compile_async "#include <net/xdp_sock_drv.h>" \
|
||||
+ "xsk_buff_dma_sync_for_cpu(NULL);" \
|
||||
+ "ENA_XSK_BUFF_DMA_SYNC_SINGLE_ARG" \
|
||||
+ "" \
|
||||
+ "6.10.0 <= LINUX_VERSION_CODE"
|
||||
+
|
||||
+try_compile_async "#include <linux/skbuff.h>" \
|
||||
+ "__napi_alloc_skb(NULL, 0, 0);" \
|
||||
+ "ENA_NAPI_ALLOC_SKB_EXPLICIT_GFP_MASK" \
|
||||
+ "" \
|
||||
+ "6.10.0 > LINUX_VERSION_CODE"
|
||||
diff --git a/kernel/linux/ena/ena_xdp.c b/kernel/linux/ena/ena_xdp.c
|
||||
index 204389f..ecbaa9f 100644
|
||||
--- a/kernel/linux/ena/ena_xdp.c
|
||||
+++ b/kernel/linux/ena/ena_xdp.c
|
||||
@@ -746,9 +746,8 @@ static struct sk_buff *ena_xdp_rx_skb_zc(struct ena_ring *rx_ring, struct xdp_bu
|
||||
data_addr = xdp->data;
|
||||
|
||||
/* allocate a skb to store the frags */
|
||||
- skb = __napi_alloc_skb(rx_ring->napi,
|
||||
- headroom + data_len,
|
||||
- GFP_ATOMIC | __GFP_NOWARN);
|
||||
+ skb = napi_alloc_skb(rx_ring->napi,
|
||||
+ headroom + data_len);
|
||||
if (unlikely(!skb)) {
|
||||
ena_increase_stat(&rx_ring->rx_stats.skb_alloc_fail, 1,
|
||||
&rx_ring->syncp);
|
||||
diff --git a/kernel/linux/ena/kcompat.h b/kernel/linux/ena/kcompat.h
|
||||
index 6d5a069..7511087 100644
|
||||
--- a/kernel/linux/ena/kcompat.h
|
||||
+++ b/kernel/linux/ena/kcompat.h
|
||||
@@ -998,10 +998,11 @@ static inline bool ktime_after(const ktime_t cmp1, const ktime_t cmp2)
|
||||
#if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 19, 0)) && \
|
||||
!(RHEL_RELEASE_CODE && \
|
||||
(RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(7, 2)))
|
||||
+#define ENA_KCOMAPT_NAPI_ALLOC_SKB
|
||||
static inline struct sk_buff *napi_alloc_skb(struct napi_struct *napi,
|
||||
unsigned int length)
|
||||
{
|
||||
- return netdev_alloc_skb_ip_align(napi->dev, length);
|
||||
+ return __netdev_alloc_skb_ip_align(napi->dev, length, GFP_ATOMIC | __GFP_NOWARN);
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -1150,4 +1151,13 @@ static inline int irq_update_affinity_hint(unsigned int irq, const struct cpumas
|
||||
#define ethtool_puts ethtool_sprintf
|
||||
#endif /* ENA_HAVE_ETHTOOL_PUTS */
|
||||
|
||||
+#ifdef ENA_XSK_BUFF_DMA_SYNC_SINGLE_ARG
|
||||
+#include <net/xdp_sock_drv.h>
|
||||
+#define xsk_buff_dma_sync_for_cpu(xdp, xsk_pool) xsk_buff_dma_sync_for_cpu(xdp)
|
||||
+#endif /* ENA_XSK_BUFF_DMA_SYNC_SINGLE_ARG */
|
||||
+
|
||||
+#if defined(ENA_NAPI_ALLOC_SKB_EXPLICIT_GFP_MASK) && !defined(ENA_KCOMAPT_NAPI_ALLOC_SKB)
|
||||
+#define napi_alloc_skb(napi, len) __napi_alloc_skb(napi, len, GFP_ATOMIC | __GFP_NOWARN)
|
||||
+#endif /* ENA_NAPI_ALLOC_SKB_EXPLICIT_GFP_MASK && !ENA_KCOMAPT_NAPI_ALLOC_SKB*/
|
||||
+
|
||||
#endif /* _KCOMPAT_H_ */
|
||||
--
|
||||
2.40.1
|
||||
|
@ -6,14 +6,14 @@
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "2.12.3";
|
||||
version = "2.13.0";
|
||||
name = "ena-${version}-${kernel.version}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "amzn";
|
||||
repo = "amzn-drivers";
|
||||
rev = "ena_linux_${version}";
|
||||
hash = "sha256-F8vDPPwO0PnGXhqt0EeT4m/+d8w/rjMHWRV3RYC/wVQ=";
|
||||
hash = "sha256-uYWKu9M/5PcHV4WdMSi0f29S7KnQft67dgjdN0AS1d8=";
|
||||
};
|
||||
|
||||
hardeningDisable = [ "pic" ];
|
||||
@ -23,11 +23,6 @@ stdenv.mkDerivation rec {
|
||||
|
||||
env.KERNEL_BUILD_DIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
|
||||
|
||||
patches = [
|
||||
# https://github.com/amzn/amzn-drivers/issues/313
|
||||
./0001-workaround-patch-for-kernel-6.10.patch
|
||||
];
|
||||
|
||||
configurePhase = ''
|
||||
runHook preConfigure
|
||||
cd kernel/linux/ena
|
||||
|
@ -25,13 +25,13 @@ let
|
||||
in
|
||||
effectiveStdenv.mkDerivation (finalAttrs: {
|
||||
pname = "whisper-cpp";
|
||||
version = "1.7.0";
|
||||
version = "1.7.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ggerganov";
|
||||
repo = "whisper.cpp";
|
||||
rev = "refs/tags/v${finalAttrs.version}" ;
|
||||
hash = "sha256-obAXqqQEs7lkv6v1vl3aN+Vh6wPSYSXXbI6mlee6/QM=";
|
||||
hash = "sha256-EDFUVjud79ZRCzGbOh9L9NcXfN3ikvsqkVSOME9F9oo=";
|
||||
};
|
||||
|
||||
# The upstream download script tries to download the models to the
|
||||
@ -78,15 +78,18 @@ effectiveStdenv.mkDerivation (finalAttrs: {
|
||||
GGML_CUDA = "1";
|
||||
};
|
||||
|
||||
makeFlags = [ "main" "stream" "command" ];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/bin
|
||||
|
||||
cp ./main $out/bin/whisper-cpp
|
||||
cp ./stream $out/bin/whisper-cpp-stream
|
||||
cp ./command $out/bin/whisper-cpp-command
|
||||
|
||||
for file in *; do
|
||||
if [[ -x "$file" && -f "$file" && "$file" != "main" ]]; then
|
||||
cp "$file" "$out/bin/whisper-cpp-$file"
|
||||
fi
|
||||
done
|
||||
|
||||
cp models/download-ggml-model.sh $out/bin/whisper-cpp-download-ggml-model
|
||||
|
||||
|
@ -1,27 +1,29 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, cmake
|
||||
, libffi
|
||||
, pkg-config
|
||||
, wayland-protocols
|
||||
, wayland-scanner
|
||||
, wayland
|
||||
, xorg
|
||||
, darwin
|
||||
, nix-update-script
|
||||
, alsa-lib
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
cmake,
|
||||
libffi,
|
||||
pkg-config,
|
||||
wayland-protocols,
|
||||
wayland-scanner,
|
||||
wayland,
|
||||
xorg,
|
||||
darwin,
|
||||
nix-update-script,
|
||||
alsa-lib,
|
||||
openssl,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "clipboard-jh";
|
||||
version = "0.9.0.1";
|
||||
version = "0.9.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Slackadays";
|
||||
repo = "clipboard";
|
||||
rev = version;
|
||||
hash = "sha256-iILtyURYCshicgAV3MWkgMQsXHe7Unj1A08W7tUMU2o=";
|
||||
hash = "sha256-1vGM9OUE7b4XVTm4Gf20CO80hjYAooeVt0REkY3xu3U=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
@ -34,15 +36,18 @@ stdenv.mkDerivation rec {
|
||||
wayland-scanner
|
||||
];
|
||||
|
||||
buildInputs = lib.optionals stdenv.hostPlatform.isLinux [
|
||||
libffi
|
||||
wayland-protocols
|
||||
wayland
|
||||
xorg.libX11
|
||||
alsa-lib
|
||||
] ++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
darwin.apple_sdk.frameworks.AppKit
|
||||
];
|
||||
buildInputs =
|
||||
[ openssl ]
|
||||
++ lib.optionals stdenv.hostPlatform.isLinux [
|
||||
libffi
|
||||
wayland-protocols
|
||||
wayland
|
||||
xorg.libX11
|
||||
alsa-lib
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
darwin.apple_sdk.frameworks.AppKit
|
||||
];
|
||||
|
||||
cmakeBuildType = "MinSizeRel";
|
||||
|
||||
|
@ -146,10 +146,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
# For the 'urandom', maybe it should be a cross-system option
|
||||
++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform)
|
||||
"--with-random=/dev/urandom"
|
||||
++ lib.optionals stdenv.hostPlatform.isWindows [
|
||||
"--disable-shared"
|
||||
"--enable-static"
|
||||
] ++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
# Disable default CA bundle, use NIX_SSL_CERT_FILE or fallback to nss-cacert from the default profile.
|
||||
# Without this curl might detect /etc/ssl/cert.pem at build time on macOS, causing curl to ignore NIX_SSL_CERT_FILE.
|
||||
"--without-ca-bundle"
|
||||
|
@ -5,16 +5,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "ddns-go";
|
||||
version = "6.7.0";
|
||||
version = "6.7.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jeessy2";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-8NiJgvZ6Z1QGHX3LeNtipQDbntppE1WO2HbinlgKiNE=";
|
||||
hash = "sha256-kfQo86Kii9kL1K5L2vTjw9fo65f4H0ikwUGFaSL/Ck8=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-XAAJ3XuT0OqUAhkkRRftbxYsiPg7OfRnpnWtoUytJ2o=";
|
||||
vendorHash = "sha256-IkwTi6szNf1Hh50z2jDZsJ2nncvJjnanCsQlrFELpc0=";
|
||||
|
||||
ldflags = [
|
||||
"-X main.version=${version}"
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "frp";
|
||||
version = "0.60.0";
|
||||
version = "0.61.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "fatedier";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-sVJvy2WFMlMEg4D4kU4ikw5tyikYVMdfw/GPptS83Iw=";
|
||||
hash = "sha256-ZanHYU7UEPsI/KAygxcTszUB4emnrrqxiuuLsCVk+cM=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-ySONxi45Ckq0y4BNyTcm8s6KcnXW+k6thqL7qh6mbBc=";
|
||||
|
@ -280,6 +280,7 @@ mapAliases {
|
||||
crossLibcStdenv = stdenvNoLibc; # Added 2024-09-06
|
||||
cryptowatch-desktop = throw "Cryptowatch Desktop was sunset on September 30th 2023 and has been removed from nixpkgs"; # Added 2023-12-22
|
||||
clash = throw "'clash' has been removed, upstream gone. Consider using 'mihomo' instead."; # added 2023-11-10
|
||||
clash-geoip = throw "'clash-geoip' has been removed. Consider using 'dbip-country-lite' instead."; # added 2024-10-19
|
||||
clash-verge = throw "'clash-verge' has been removed, as it was broken and unmaintained. Consider using 'clash-verge-rev' or 'clash-nyanpasu' instead"; # Added 2024-09-17
|
||||
clasp = clingo; # added 2022-12-22
|
||||
claws-mail-gtk3 = throw "'claws-mail-gtk3' has been renamed to/replaced by 'claws-mail'"; # Converted to throw 2024-10-17
|
||||
|
@ -4300,8 +4300,6 @@ with pkgs;
|
||||
|
||||
map-cmd = callPackage ../tools/misc/map { };
|
||||
|
||||
clash-geoip = callPackage ../data/misc/clash-geoip { };
|
||||
|
||||
clevercsv = with python3Packages; toPythonApplication clevercsv;
|
||||
|
||||
cli53 = callPackage ../tools/admin/cli53 { };
|
||||
@ -10945,8 +10943,6 @@ with pkgs;
|
||||
|
||||
papertrail = callPackage ../tools/text/papertrail { };
|
||||
|
||||
pappl = callPackage ../applications/printing/pappl { };
|
||||
|
||||
par2cmdline = callPackage ../tools/networking/par2cmdline { };
|
||||
|
||||
parallel = callPackage ../tools/misc/parallel { };
|
||||
@ -30024,8 +30020,6 @@ with pkgs;
|
||||
|
||||
remontoire = callPackage ../applications/misc/remontoire { };
|
||||
|
||||
waycorner = callPackage ../applications/misc/waycorner { };
|
||||
|
||||
wayshot = callPackage ../tools/misc/wayshot { };
|
||||
|
||||
waylevel = callPackage ../tools/misc/waylevel { };
|
||||
|
Loading…
Reference in New Issue
Block a user