Merge master into haskell-updates
This commit is contained in:
@@ -210,6 +210,7 @@
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- nixos/**/*
|
||||
- pkgs/by-name/sw/switch-to-configuration-ng/**/*
|
||||
- pkgs/os-specific/linux/nixos-rebuild/**/*
|
||||
|
||||
"6.topic: nim":
|
||||
|
||||
@@ -18,8 +18,8 @@
|
||||
/.github/workflows/check-nix-format.yml @infinisil
|
||||
/.github/workflows/nixpkgs-vet.yml @infinisil @philiptaron
|
||||
/.github/workflows/codeowners-v2.yml @infinisil
|
||||
/ci/OWNERS @infinisil
|
||||
/ci @infinisil @philiptaron @NixOS/Security
|
||||
/ci/OWNERS @infinisil @philiptaron
|
||||
|
||||
# Development support
|
||||
/.editorconfig @Mic92 @zowoq
|
||||
@@ -296,10 +296,10 @@ pkgs/development/python-modules/buildcatrust/ @ajs124 @lukegb @mweinelt
|
||||
/pkgs/applications/editors/kakoune @philiptaron
|
||||
|
||||
# Neovim
|
||||
/pkgs/applications/editors/neovim @figsoda @teto
|
||||
/pkgs/applications/editors/neovim @NixOS/neovim
|
||||
|
||||
# VimPlugins
|
||||
/pkgs/applications/editors/vim/plugins @figsoda
|
||||
/pkgs/applications/editors/vim/plugins @NixOS/neovim
|
||||
|
||||
# VsCode Extensions
|
||||
/pkgs/applications/editors/vscode/extensions
|
||||
@@ -338,6 +338,9 @@ pkgs/development/python-modules/buildcatrust/ @ajs124 @lukegb @mweinelt
|
||||
/pkgs/by-name/ne/nemo @mkg20001
|
||||
/pkgs/by-name/ne/nemo-* @mkg20001
|
||||
|
||||
# Xfce
|
||||
/doc/hooks/xfce4-dev-tools.section.md @NixOS/xfce
|
||||
|
||||
# nim
|
||||
/doc/languages-frameworks/nim.section.md @ehmry
|
||||
/pkgs/build-support/build-nim-package.nix @ehmry
|
||||
|
||||
@@ -39,4 +39,5 @@ versionCheckHook.section.md
|
||||
waf.section.md
|
||||
zig.section.md
|
||||
xcbuild.section.md
|
||||
xfce4-dev-tools.section.md
|
||||
```
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
# `xfce.xfce4-dev-tools` {#xfce4-dev-tools}
|
||||
|
||||
This setup hook attempts to run `xdt-autogen` in `xdtAutogenPhase`, which is part of `preConfigurePhases`.
|
||||
|
||||
[]{#dontUseXdtAutogenPhase} This behavior can be disabled by setting `dontUseXdtAutogenPhase` to `true`.
|
||||
@@ -191,6 +191,10 @@ and `version` from Hackage.
|
||||
`sha256`
|
||||
: Hash to use for the default case of `src`.
|
||||
|
||||
`sourceRoot`, `setSourceRoot`
|
||||
: Passed to `stdenv.mkDerivation`; see [“Variables controlling the unpack
|
||||
phase”](#variables-controlling-the-unpack-phase).
|
||||
|
||||
`revision`
|
||||
: Revision number of the updated cabal file to fetch from Hackage.
|
||||
If `null` (which is the default value), the one included in `src` is used.
|
||||
|
||||
+2
-3
@@ -7,7 +7,7 @@ let
|
||||
inherit (builtins) head length;
|
||||
inherit (lib.trivial) oldestSupportedReleaseIsAtLeast mergeAttrs warn warnIf;
|
||||
inherit (lib.strings) concatStringsSep concatMapStringsSep escapeNixIdentifier sanitizeDerivationName;
|
||||
inherit (lib.lists) foldr foldl' concatMap elemAt all partition groupBy take foldl;
|
||||
inherit (lib.lists) filter foldr foldl' concatMap elemAt all partition groupBy take foldl;
|
||||
in
|
||||
|
||||
rec {
|
||||
@@ -644,8 +644,7 @@ rec {
|
||||
filterAttrs =
|
||||
pred:
|
||||
set:
|
||||
listToAttrs (concatMap (name: let v = set.${name}; in if pred name v then [(nameValuePair name v)] else []) (attrNames set));
|
||||
|
||||
removeAttrs set (filter (name: ! pred name set.${name}) (attrNames set));
|
||||
|
||||
/**
|
||||
Filter an attribute set recursively by removing all attributes for
|
||||
|
||||
@@ -1290,6 +1290,15 @@ lib.mapAttrs mkLicense ({
|
||||
watcom = {
|
||||
spdxId = "Watcom-1.0";
|
||||
fullName = "Sybase Open Watcom Public License 1.0";
|
||||
# Despite being OSI‐approved, this licence is not considered FOSS
|
||||
# by Debian, Fedora, or the FSF, due to an onerous restriction that
|
||||
# requires publication of even privately‐deployed modifications.
|
||||
# This violates the FSF’s freedom 3 and Debian’s “desert island
|
||||
# test” and “dissident test”.
|
||||
#
|
||||
# See: <https://en.wikipedia.org/wiki/Sybase_Open_Watcom_Public_License>
|
||||
free = false;
|
||||
redistributable = true;
|
||||
};
|
||||
|
||||
w3c = {
|
||||
|
||||
@@ -47,6 +47,7 @@ let
|
||||
evalModules
|
||||
extends
|
||||
filter
|
||||
filterAttrs
|
||||
fix
|
||||
fold
|
||||
foldAttrs
|
||||
@@ -1102,6 +1103,25 @@ runTests {
|
||||
};
|
||||
};
|
||||
|
||||
testFilterAttrs = {
|
||||
expr = filterAttrs (n: v: n != "a" && (v.hello or false) == true) {
|
||||
a.hello = true;
|
||||
b.hello = true;
|
||||
c = {
|
||||
hello = true;
|
||||
world = false;
|
||||
};
|
||||
d.hello = false;
|
||||
};
|
||||
expected = {
|
||||
b.hello = true;
|
||||
c = {
|
||||
hello = true;
|
||||
world = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# code from example
|
||||
testFoldlAttrs = {
|
||||
expr = {
|
||||
|
||||
@@ -172,3 +172,6 @@ to the team without an approval by at least one existing member.
|
||||
Various utility scripts, which are mainly useful for nixpkgs maintainers,
|
||||
are available under `./scripts/`. See its [README](./scripts/README.md)
|
||||
for further information.
|
||||
|
||||
# nixpkgs-merge-bot
|
||||
To streamline autoupdates, leverage the nixpkgs-merge-bot by simply commenting `@NixOS/nixpkgs-merge-bot merge` if the package resides in pkgs-by-name and the commenter is among the package maintainers. The bot ensures that all ofborg checks, except for darwin, are successfully completed before merging the pull request. Should the checks still be underway, the bot patiently waits for ofborg to finish before attempting the merge again.
|
||||
|
||||
@@ -1070,6 +1070,12 @@
|
||||
githubId = 50754358;
|
||||
name = "Alex Winter";
|
||||
};
|
||||
alexymantha = {
|
||||
email = "alexy@mantha.dev";
|
||||
github = "alexymantha";
|
||||
githubId = 1365231;
|
||||
name = "Alexy Mantha";
|
||||
};
|
||||
alfarel = {
|
||||
email = "alfarelcynthesis@proton.me";
|
||||
github = "alfarelcynthesis";
|
||||
@@ -3897,6 +3903,13 @@
|
||||
github = "CHN-beta";
|
||||
githubId = 35858462;
|
||||
};
|
||||
ChocolateLoverRaj = {
|
||||
email = "paranjperajas@gmail.com";
|
||||
github = "ChocolateLoverRaj";
|
||||
githubId = 52586855;
|
||||
matrix = "@chocolateloverraj:matrix.org";
|
||||
name = "Rajas Paranjpe";
|
||||
};
|
||||
cholli = {
|
||||
email = "christoph.hollizeck@hey.com";
|
||||
github = "Daholli";
|
||||
@@ -7421,6 +7434,11 @@
|
||||
githubId = 13279982;
|
||||
name = "freezeboy";
|
||||
};
|
||||
frenetic00 = {
|
||||
github = "frenetic00";
|
||||
githubId = 50942055;
|
||||
name = "frenetic00";
|
||||
};
|
||||
Fresheyeball = {
|
||||
email = "fresheyeball@gmail.com";
|
||||
github = "Fresheyeball";
|
||||
@@ -14677,6 +14695,12 @@
|
||||
githubId = 2072185;
|
||||
name = "Marc Scholten";
|
||||
};
|
||||
mrbenjadmin = {
|
||||
email = "mrbenjadmin@gmail.com";
|
||||
github = "mrbenjadmin";
|
||||
githubId = 68156310;
|
||||
name = "Benjamin Strachan";
|
||||
};
|
||||
mrcjkb = {
|
||||
email = "marc@jakobi.dev";
|
||||
matrix = "@mrcjk:matrix.org";
|
||||
@@ -15033,6 +15057,12 @@
|
||||
name = "Daniel Nagy";
|
||||
keys = [ { fingerprint = "F6AE 2C60 9196 A1BC ECD8 7108 1B8E 8DCB 576F B671"; } ];
|
||||
};
|
||||
naho = {
|
||||
github = "trueNAHO";
|
||||
githubId = 90870942;
|
||||
name = "Noah Pierre Biewesch";
|
||||
keys = [ { fingerprint = "5FC6 088A FB1A 609D 4532 F919 0C1C 177B 3B64 68E0"; } ];
|
||||
};
|
||||
nalbyuites = {
|
||||
email = "ashijit007@gmail.com";
|
||||
github = "nalbyuites";
|
||||
@@ -16120,6 +16150,12 @@
|
||||
githubId = 1538622;
|
||||
name = "Michael Reilly";
|
||||
};
|
||||
ondt = {
|
||||
name = "Ondrej Telka";
|
||||
email = "nix@ondt.dev";
|
||||
github = "ondt";
|
||||
githubId = 20520951;
|
||||
};
|
||||
onedragon = {
|
||||
name = "YiLong Liu";
|
||||
email = "18922251299@163.com";
|
||||
@@ -21360,6 +21396,11 @@
|
||||
githubId = 38222826;
|
||||
name = "Aamaruvi Yogamani";
|
||||
};
|
||||
technobaboo = {
|
||||
github = "technobaboo";
|
||||
githubId = 4541968;
|
||||
name = "Nova King";
|
||||
};
|
||||
teh = {
|
||||
email = "tehunger@gmail.com";
|
||||
github = "teh";
|
||||
|
||||
@@ -140,7 +140,8 @@ in {
|
||||
path = [ pkgs.su ];
|
||||
script =
|
||||
''
|
||||
mkdir -m 0755 -p $(dirname ${toString cfg.output})
|
||||
mkdir -p $(dirname ${toString cfg.output})
|
||||
chmod 0755 $(dirname ${toString cfg.output})
|
||||
exec updatedb \
|
||||
--localuser=${cfg.localuser} \
|
||||
${optionalString (!cfg.includeStore) "--prunepaths='/nix/store'"} \
|
||||
|
||||
@@ -1,23 +1,35 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib)
|
||||
mkEnableOption
|
||||
mkIf
|
||||
mkOption
|
||||
mkPackageOption
|
||||
;
|
||||
|
||||
cfg = config.programs.corectrl;
|
||||
in
|
||||
{
|
||||
options.programs.corectrl = {
|
||||
enable = lib.mkEnableOption ''
|
||||
enable = mkEnableOption ''
|
||||
CoreCtrl, a tool to overclock amd graphics cards and processors.
|
||||
Add your user to the corectrl group to run corectrl without needing to enter your password
|
||||
'';
|
||||
|
||||
package = lib.mkPackageOption pkgs "corectrl" {
|
||||
package = mkPackageOption pkgs "corectrl" {
|
||||
extraDescription = "Useful for overriding the configuration options used for the package.";
|
||||
};
|
||||
|
||||
gpuOverclock = {
|
||||
enable = lib.mkEnableOption ''
|
||||
enable = mkEnableOption ''
|
||||
GPU overclocking
|
||||
'';
|
||||
ppfeaturemask = lib.mkOption {
|
||||
ppfeaturemask = mkOption {
|
||||
type = lib.types.str;
|
||||
default = "0xfffd7fff";
|
||||
example = "0xffffffff";
|
||||
@@ -31,33 +43,34 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable (lib.mkMerge [
|
||||
{
|
||||
environment.systemPackages = [ cfg.package ];
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = [ cfg.package ];
|
||||
|
||||
services.dbus.packages = [ cfg.package ];
|
||||
services.dbus.packages = [ cfg.package ];
|
||||
|
||||
users.groups.corectrl = { };
|
||||
users.groups.corectrl = { };
|
||||
|
||||
security.polkit.extraConfig = ''
|
||||
polkit.addRule(function(action, subject) {
|
||||
if ((action.id == "org.corectrl.helper.init" ||
|
||||
action.id == "org.corectrl.helperkiller.init") &&
|
||||
subject.local == true &&
|
||||
subject.active == true &&
|
||||
subject.isInGroup("corectrl")) {
|
||||
return polkit.Result.YES;
|
||||
}
|
||||
});
|
||||
'';
|
||||
}
|
||||
security.polkit.extraConfig = ''
|
||||
polkit.addRule(function(action, subject) {
|
||||
if ((action.id == "org.corectrl.helper.init" ||
|
||||
action.id == "org.corectrl.helperkiller.init") &&
|
||||
subject.local == true &&
|
||||
subject.active == true &&
|
||||
subject.isInGroup("corectrl")) {
|
||||
return polkit.Result.YES;
|
||||
}
|
||||
});
|
||||
'';
|
||||
|
||||
(lib.mkIf cfg.gpuOverclock.enable {
|
||||
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/gpu/drm/amd/include/amd_shared.h#n169
|
||||
# The overdrive bit
|
||||
boot.kernelParams = [ "amdgpu.ppfeaturemask=${cfg.gpuOverclock.ppfeaturemask}" ];
|
||||
})
|
||||
]);
|
||||
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/gpu/drm/amd/include/amd_shared.h#n169
|
||||
# The overdrive bit
|
||||
boot.kernelParams = mkIf cfg.gpuOverclock.enable [
|
||||
"amdgpu.ppfeaturemask=${cfg.gpuOverclock.ppfeaturemask}"
|
||||
];
|
||||
};
|
||||
|
||||
meta.maintainers = with lib.maintainers; [ artturin ];
|
||||
meta.maintainers = with lib.maintainers; [
|
||||
artturin
|
||||
Scrumplex
|
||||
];
|
||||
}
|
||||
|
||||
@@ -40,6 +40,7 @@ Available extra IBus engines are:
|
||||
- Anthy (`ibus-engines.anthy`): Anthy is a system for
|
||||
Japanese input method. It converts Hiragana text to Kana Kanji mixed text.
|
||||
- Hangul (`ibus-engines.hangul`): Korean input method.
|
||||
- libpinyin (`ibus-engines.libpinyin`): A Chinese input method.
|
||||
- m17n (`ibus-engines.m17n`): m17n is an input method that
|
||||
uses input methods and corresponding icons in the m17n database.
|
||||
- mozc (`ibus-engines.mozc`): A Japanese input method from
|
||||
|
||||
@@ -1,29 +1,87 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
json = pkgs.formats.json { };
|
||||
cfg = config.programs.openvpn3;
|
||||
in
|
||||
{
|
||||
|
||||
inherit (lib) mkEnableOption mkPackageOption mkOption literalExpression max options lists;
|
||||
inherit (lib.types) bool submodule ints;
|
||||
in {
|
||||
options.programs.openvpn3 = {
|
||||
enable = lib.mkEnableOption "the openvpn3 client";
|
||||
package = lib.mkOption {
|
||||
type = lib.types.package;
|
||||
default = pkgs.openvpn3.override {
|
||||
enableSystemdResolved = config.services.resolved.enable;
|
||||
enable = mkEnableOption "the openvpn3 client";
|
||||
package = mkPackageOption pkgs "openvpn3" { };
|
||||
netcfg = mkOption {
|
||||
description = "Network configuration";
|
||||
default = { };
|
||||
type = submodule {
|
||||
options = {
|
||||
settings = mkOption {
|
||||
description = "Options stored in {file}`/etc/openvpn3/netcfg.json` configuration file";
|
||||
default = { };
|
||||
type = submodule {
|
||||
freeformType = json.type;
|
||||
options = {
|
||||
systemd_resolved = mkOption {
|
||||
type = bool;
|
||||
description = "Whether to use systemd-resolved integration";
|
||||
default = config.services.resolved.enable;
|
||||
defaultText = literalExpression "config.services.resolved.enable";
|
||||
example = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
log-service = mkOption {
|
||||
description = "Log service configuration";
|
||||
default = { };
|
||||
type = submodule {
|
||||
options = {
|
||||
settings = mkOption {
|
||||
description = "Options stored in {file}`/etc/openvpn3/log-service.json` configuration file";
|
||||
default = { };
|
||||
type = submodule {
|
||||
freeformType = json.type;
|
||||
options = {
|
||||
journald = mkOption {
|
||||
description = "Use systemd-journald";
|
||||
type = bool;
|
||||
default = true;
|
||||
example = false;
|
||||
};
|
||||
log_dbus_details = mkOption {
|
||||
description = "Add D-Bus details in log file/syslog";
|
||||
type = bool;
|
||||
default = true;
|
||||
example = false;
|
||||
};
|
||||
log_level = mkOption {
|
||||
description = "How verbose should the logging be";
|
||||
type = (ints.between 0 7) // {
|
||||
merge = _loc: defs:
|
||||
lists.foldl max 0 (options.getValues defs);
|
||||
};
|
||||
default = 3;
|
||||
example = 6;
|
||||
};
|
||||
timestamp = mkOption {
|
||||
description = "Add timestamp log file";
|
||||
type = bool;
|
||||
default = false;
|
||||
example = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
defaultText = lib.literalExpression ''pkgs.openvpn3.override {
|
||||
enableSystemdResolved = config.services.resolved.enable;
|
||||
}'';
|
||||
description = ''
|
||||
Which package to use for `openvpn3`.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
services.dbus.packages = [
|
||||
cfg.package
|
||||
];
|
||||
services.dbus.packages = [ cfg.package ];
|
||||
|
||||
users.users.openvpn = {
|
||||
isSystemUser = true;
|
||||
@@ -31,13 +89,20 @@ in
|
||||
group = "openvpn";
|
||||
};
|
||||
|
||||
users.groups.openvpn = {
|
||||
gid = config.ids.gids.openvpn;
|
||||
users.groups.openvpn = { gid = config.ids.gids.openvpn; };
|
||||
|
||||
environment = {
|
||||
systemPackages = [ cfg.package ];
|
||||
etc = {
|
||||
"openvpn3/netcfg.json".source =
|
||||
json.generate "netcfg.json" cfg.netcfg.settings;
|
||||
"openvpn3/log-service.json".source =
|
||||
json.generate "log-service.json" cfg.log-service.settings;
|
||||
};
|
||||
};
|
||||
|
||||
environment.systemPackages = [
|
||||
cfg.package
|
||||
];
|
||||
systemd.packages = [ cfg.package ];
|
||||
};
|
||||
|
||||
meta.maintainers = with lib.maintainers; [ shamilton progrm_jarvis ];
|
||||
}
|
||||
|
||||
@@ -1,14 +1,18 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
|
||||
cfg = config.services.lighthouse;
|
||||
in {
|
||||
|
||||
in
|
||||
{
|
||||
options = {
|
||||
services.lighthouse = {
|
||||
beacon = lib.mkOption {
|
||||
description = "Beacon node";
|
||||
default = {};
|
||||
default = { };
|
||||
type = lib.types.submodule {
|
||||
options = {
|
||||
enable = lib.mkEnableOption "Lightouse Beacon node";
|
||||
@@ -133,7 +137,7 @@ in {
|
||||
|
||||
validator = lib.mkOption {
|
||||
description = "Validator node";
|
||||
default = {};
|
||||
default = { };
|
||||
type = lib.types.submodule {
|
||||
options = {
|
||||
enable = lib.mkOption {
|
||||
@@ -152,7 +156,7 @@ in {
|
||||
|
||||
beaconNodes = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.str;
|
||||
default = ["http://localhost:5052"];
|
||||
default = [ "http://localhost:5052" ];
|
||||
description = ''
|
||||
Beacon nodes to connect to.
|
||||
'';
|
||||
@@ -190,7 +194,13 @@ in {
|
||||
};
|
||||
|
||||
network = lib.mkOption {
|
||||
type = lib.types.enum [ "mainnet" "gnosis" "chiado" "sepolia" "holesky" ];
|
||||
type = lib.types.enum [
|
||||
"mainnet"
|
||||
"gnosis"
|
||||
"chiado"
|
||||
"sepolia"
|
||||
"holesky"
|
||||
];
|
||||
default = "mainnet";
|
||||
description = ''
|
||||
The network to connect to. Mainnet is the default ethereum network.
|
||||
@@ -205,19 +215,19 @@ in {
|
||||
default = "";
|
||||
example = "";
|
||||
};
|
||||
|
||||
package = lib.mkPackageOption pkgs "lighthouse" { };
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf (cfg.beacon.enable || cfg.validator.enable) {
|
||||
|
||||
environment.systemPackages = [ pkgs.lighthouse ] ;
|
||||
environment.systemPackages = [ cfg.package ];
|
||||
|
||||
networking.firewall = lib.mkIf cfg.beacon.enable {
|
||||
allowedTCPPorts = lib.mkIf cfg.beacon.openFirewall [ cfg.beacon.port ];
|
||||
allowedUDPPorts = lib.mkIf cfg.beacon.openFirewall [ cfg.beacon.port ];
|
||||
};
|
||||
|
||||
|
||||
systemd.services.lighthouse-beacon = lib.mkIf cfg.beacon.enable {
|
||||
description = "Lighthouse beacon node (connect to P2P nodes and verify blocks)";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
@@ -227,7 +237,7 @@ in {
|
||||
# make sure the chain data directory is created on first run
|
||||
mkdir -p ${cfg.beacon.dataDir}/${cfg.network}
|
||||
|
||||
${pkgs.lighthouse}/bin/lighthouse beacon_node \
|
||||
${lib.getExe cfg.package} beacon_node \
|
||||
--disable-upnp \
|
||||
${lib.optionalString cfg.beacon.disableDepositContractSync "--disable-deposit-contract-sync"} \
|
||||
--port ${toString cfg.beacon.port} \
|
||||
@@ -236,8 +246,8 @@ in {
|
||||
--datadir ${cfg.beacon.dataDir}/${cfg.network} \
|
||||
--execution-endpoint http://${cfg.beacon.execution.address}:${toString cfg.beacon.execution.port} \
|
||||
--execution-jwt ''${CREDENTIALS_DIRECTORY}/LIGHTHOUSE_JWT \
|
||||
${lib.optionalString cfg.beacon.http.enable '' --http --http-address ${cfg.beacon.http.address} --http-port ${toString cfg.beacon.http.port}''} \
|
||||
${lib.optionalString cfg.beacon.metrics.enable '' --metrics --metrics-address ${cfg.beacon.metrics.address} --metrics-port ${toString cfg.beacon.metrics.port}''} \
|
||||
${lib.optionalString cfg.beacon.http.enable ''--http --http-address ${cfg.beacon.http.address} --http-port ${toString cfg.beacon.http.port}''} \
|
||||
${lib.optionalString cfg.beacon.metrics.enable ''--metrics --metrics-address ${cfg.beacon.metrics.address} --metrics-port ${toString cfg.beacon.metrics.port}''} \
|
||||
${cfg.extraArgs} ${cfg.beacon.extraArgs}
|
||||
'';
|
||||
serviceConfig = {
|
||||
@@ -262,7 +272,10 @@ in {
|
||||
RestrictNamespaces = true;
|
||||
LockPersonality = true;
|
||||
RemoveIPC = true;
|
||||
SystemCallFilter = [ "@system-service" "~@privileged" ];
|
||||
SystemCallFilter = [
|
||||
"@system-service"
|
||||
"~@privileged"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
@@ -275,7 +288,7 @@ in {
|
||||
# make sure the chain data directory is created on first run
|
||||
mkdir -p ${cfg.validator.dataDir}/${cfg.network}
|
||||
|
||||
${pkgs.lighthouse}/bin/lighthouse validator_client \
|
||||
${lib.getExe cfg.package} validator_client \
|
||||
--network ${cfg.network} \
|
||||
--beacon-nodes ${lib.concatStringsSep "," cfg.validator.beaconNodes} \
|
||||
--datadir ${cfg.validator.dataDir}/${cfg.network} \
|
||||
@@ -305,8 +318,14 @@ in {
|
||||
RestrictNamespaces = true;
|
||||
LockPersonality = true;
|
||||
RemoveIPC = true;
|
||||
RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ];
|
||||
SystemCallFilter = [ "@system-service" "~@privileged" ];
|
||||
RestrictAddressFamilies = [
|
||||
"AF_INET"
|
||||
"AF_INET6"
|
||||
];
|
||||
SystemCallFilter = [
|
||||
"@system-service"
|
||||
"~@privileged"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -14,9 +14,9 @@ in {
|
||||
type = lib.types.str;
|
||||
description = ''
|
||||
The path that surrealdb will write data to. Use null for in-memory.
|
||||
Can be one of "memory", "file://:path", "tikv://:addr".
|
||||
Can be one of "memory", "rocksdb://:path", "surrealkv://:path", "tikv://:addr", "fdb://:addr".
|
||||
'';
|
||||
default = "file:///var/lib/surrealdb/";
|
||||
default = "rocksdb:///var/lib/surrealdb/";
|
||||
example = "memory";
|
||||
};
|
||||
|
||||
@@ -41,10 +41,9 @@ in {
|
||||
extraFlags = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.str;
|
||||
default = [];
|
||||
example = [ "--allow-all" "--auth" "--user root" "--pass root" ];
|
||||
example = [ "--allow-all" "--user" "root" "--pass" "root" ];
|
||||
description = ''
|
||||
Specify a list of additional command line flags,
|
||||
which get escaped and are then passed to surrealdb.
|
||||
Specify a list of additional command line flags.
|
||||
'';
|
||||
};
|
||||
};
|
||||
@@ -61,7 +60,7 @@ in {
|
||||
after = [ "network.target" ];
|
||||
|
||||
serviceConfig = {
|
||||
ExecStart = "${cfg.package}/bin/surreal start --bind ${cfg.host}:${toString cfg.port} ${lib.escapeShellArgs cfg.extraFlags} -- ${cfg.dbPath}";
|
||||
ExecStart = "${cfg.package}/bin/surreal start --bind ${cfg.host}:${toString cfg.port} ${lib.strings.concatStringsSep " " cfg.extraFlags} -- ${cfg.dbPath}";
|
||||
DynamicUser = true;
|
||||
Restart = "on-failure";
|
||||
StateDirectory = "surrealdb";
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
|
||||
cfg = config.services.triggerhappy;
|
||||
@@ -6,35 +11,53 @@ let
|
||||
socket = "/run/thd.socket";
|
||||
|
||||
configFile = pkgs.writeText "triggerhappy.conf" ''
|
||||
${lib.concatMapStringsSep "\n"
|
||||
({ keys, event, cmd, ... }:
|
||||
''${lib.concatMapStringsSep "+" (x: "KEY_" + x) keys} ${toString { press = 1; hold = 2; release = 0; }.${event}} ${cmd}''
|
||||
)
|
||||
cfg.bindings}
|
||||
${lib.concatMapStringsSep "\n" (
|
||||
{
|
||||
keys,
|
||||
event,
|
||||
cmd,
|
||||
...
|
||||
}:
|
||||
''${lib.concatMapStringsSep "+" (x: "KEY_" + x) keys} ${
|
||||
toString
|
||||
{
|
||||
press = 1;
|
||||
hold = 2;
|
||||
release = 0;
|
||||
}
|
||||
.${event}
|
||||
} ${cmd}''
|
||||
) cfg.bindings}
|
||||
${cfg.extraConfig}
|
||||
'';
|
||||
|
||||
bindingCfg = { ... }: {
|
||||
options = {
|
||||
bindingCfg =
|
||||
{ ... }:
|
||||
{
|
||||
options = {
|
||||
|
||||
keys = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.str;
|
||||
description = "List of keys to match. Key names as defined in linux/input-event-codes.h";
|
||||
};
|
||||
|
||||
event = lib.mkOption {
|
||||
type = lib.types.enum [
|
||||
"press"
|
||||
"hold"
|
||||
"release"
|
||||
];
|
||||
default = "press";
|
||||
description = "Event to match.";
|
||||
};
|
||||
|
||||
cmd = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
description = "What to run.";
|
||||
};
|
||||
|
||||
keys = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.str;
|
||||
description = "List of keys to match. Key names as defined in linux/input-event-codes.h";
|
||||
};
|
||||
|
||||
event = lib.mkOption {
|
||||
type = lib.types.enum ["press" "hold" "release"];
|
||||
default = "press";
|
||||
description = "Event to match.";
|
||||
};
|
||||
|
||||
cmd = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
description = "What to run.";
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
in
|
||||
|
||||
@@ -65,9 +88,9 @@ in
|
||||
|
||||
bindings = lib.mkOption {
|
||||
type = lib.types.listOf (lib.types.submodule bindingCfg);
|
||||
default = [];
|
||||
default = [ ];
|
||||
example = lib.literalExpression ''
|
||||
[ { keys = ["PLAYPAUSE"]; cmd = "''${pkgs.mpc-cli}/bin/mpc -q toggle"; } ]
|
||||
[ { keys = ["PLAYPAUSE"]; cmd = "''${lib.getExe pkgs.mpc} -q toggle"; } ]
|
||||
'';
|
||||
description = ''
|
||||
Key bindings for {command}`triggerhappy`.
|
||||
@@ -86,7 +109,6 @@ in
|
||||
|
||||
};
|
||||
|
||||
|
||||
###### implementation
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
@@ -101,18 +123,22 @@ in
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
description = "Global hotkey daemon";
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkgs.triggerhappy}/bin/thd ${lib.optionalString (cfg.user != "root") "--user ${cfg.user}"} --socket ${socket} --triggers ${configFile} --deviceglob /dev/input/event*";
|
||||
ExecStart = "${pkgs.triggerhappy}/bin/thd ${
|
||||
lib.optionalString (cfg.user != "root") "--user ${cfg.user}"
|
||||
} --socket ${socket} --triggers ${configFile} --deviceglob /dev/input/event*";
|
||||
};
|
||||
};
|
||||
|
||||
services.udev.packages = lib.singleton (pkgs.writeTextFile {
|
||||
name = "triggerhappy-udev-rules";
|
||||
destination = "/etc/udev/rules.d/61-triggerhappy.rules";
|
||||
text = ''
|
||||
ACTION=="add", SUBSYSTEM=="input", KERNEL=="event[0-9]*", ATTRS{name}!="triggerhappy", \
|
||||
RUN+="${pkgs.triggerhappy}/bin/th-cmd --socket ${socket} --passfd --udev"
|
||||
'';
|
||||
});
|
||||
services.udev.packages = lib.singleton (
|
||||
pkgs.writeTextFile {
|
||||
name = "triggerhappy-udev-rules";
|
||||
destination = "/etc/udev/rules.d/61-triggerhappy.rules";
|
||||
text = ''
|
||||
ACTION=="add", SUBSYSTEM=="input", KERNEL=="event[0-9]*", ATTRS{name}!="triggerhappy", \
|
||||
RUN+="${pkgs.triggerhappy}/bin/th-cmd --socket ${socket} --passfd --udev"
|
||||
'';
|
||||
}
|
||||
);
|
||||
|
||||
};
|
||||
|
||||
|
||||
@@ -186,6 +186,10 @@ in
|
||||
}
|
||||
];
|
||||
|
||||
# This defaults to true in the application,
|
||||
# which breaks older configs using pantalaimon or access tokens
|
||||
services.mjolnir.settings.encryption.use = lib.mkDefault false;
|
||||
|
||||
services.pantalaimon-headless.instances."mjolnir" = lib.mkIf cfg.pantalaimon.enable
|
||||
{
|
||||
homeserver = cfg.homeserverUrl;
|
||||
|
||||
@@ -30,10 +30,7 @@ with lib;
|
||||
default = null;
|
||||
description = ''
|
||||
Basic Auth password file for a vhost.
|
||||
Can be created via: {command}`htpasswd -c <filename> <username>`.
|
||||
|
||||
WARNING: The generate file contains the users' passwords in a
|
||||
non-cryptographically-securely hashed way.
|
||||
Can be created by running {command}`nix-shell --packages apacheHttpd --run 'htpasswd -B -c FILENAME USERNAME'`.
|
||||
'';
|
||||
};
|
||||
|
||||
|
||||
@@ -345,10 +345,7 @@ with lib;
|
||||
default = null;
|
||||
description = ''
|
||||
Basic Auth password file for a vhost.
|
||||
Can be created via: {command}`htpasswd -c <filename> <username>`.
|
||||
|
||||
WARNING: The generate file contains the users' passwords in a
|
||||
non-cryptographically-securely hashed way.
|
||||
Can be created by running {command}`nix-shell --packages apacheHttpd --run 'htpasswd -B -c FILENAME USERNAME'`.
|
||||
'';
|
||||
};
|
||||
|
||||
|
||||
@@ -915,7 +915,9 @@ let
|
||||
"UseAddress"
|
||||
"UseDNS"
|
||||
"UseNTP"
|
||||
"SendHostname"
|
||||
"UseHostname"
|
||||
"Hostname"
|
||||
"UseDomains"
|
||||
"RouteMetric"
|
||||
"RapidCommit"
|
||||
@@ -936,6 +938,7 @@ let
|
||||
(assertValueOneOf "UseAddress" boolValues)
|
||||
(assertValueOneOf "UseDNS" boolValues)
|
||||
(assertValueOneOf "UseNTP" boolValues)
|
||||
(assertValueOneOf "SendHostname" boolValues)
|
||||
(assertValueOneOf "UseHostname" boolValues)
|
||||
(assertValueOneOf "UseDomains" (boolValues ++ ["route"]))
|
||||
(assertInt "RouteMetric")
|
||||
|
||||
@@ -157,7 +157,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
|
||||
machine.fail("pgrep -a canary1")
|
||||
machine.fail("kill -0 $(< /run/canary2.pid)")
|
||||
machine.succeed('pgrep -a -f "^@canary3$"')
|
||||
machine.succeed('pgrep -a -f "^kcanary$"')
|
||||
machine.succeed('pgrep -a -f "^\\[kcanary\\]$"')
|
||||
'';
|
||||
|
||||
meta.maintainers = with pkgs.lib.maintainers; [ aszlig ];
|
||||
|
||||
@@ -7,16 +7,7 @@ import ../make-test-python.nix ({ pkgs, ... } : {
|
||||
|
||||
nodes = {
|
||||
node = { ... }: {
|
||||
services.etcd = {
|
||||
enable = true;
|
||||
# Ensure etcd is ready to accept connections
|
||||
extraConf = {
|
||||
"initial-advertise-peer-urls" = "http://localhost:2380";
|
||||
"listen-peer-urls" = "http://localhost:2380";
|
||||
"listen-client-urls" = "http://localhost:2379";
|
||||
"advertise-client-urls" = "http://localhost:2379";
|
||||
};
|
||||
};
|
||||
services.etcd.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -28,7 +19,7 @@ import ../make-test-python.nix ({ pkgs, ... } : {
|
||||
node.wait_until_succeeds("etcdctl endpoint health")
|
||||
|
||||
with subtest("should write and read some values to etcd"):
|
||||
node.succeed("etcdctl --endpoints=http://localhost:2379 put /foo/bar 'Hello world'")
|
||||
node.succeed("etcdctl --endpoints=http://localhost:2379 get /foo/bar | grep 'Hello world'")
|
||||
node.succeed("etcdctl put /foo/bar 'Hello world'")
|
||||
node.succeed("etcdctl get /foo/bar | grep 'Hello world'")
|
||||
'';
|
||||
})
|
||||
|
||||
@@ -97,7 +97,7 @@ import ./make-test-python.nix ({ pkgs, ... }:
|
||||
with subtest("Test unixd connection"):
|
||||
client.wait_for_unit("kanidm-unixd.service")
|
||||
client.wait_for_file("/run/kanidm-unixd/sock")
|
||||
client.wait_until_succeeds("kanidm-unix status | grep working!")
|
||||
client.wait_until_succeeds("kanidm-unix status | grep online")
|
||||
|
||||
with subtest("Test user creation"):
|
||||
client.wait_for_unit("getty@tty1.service")
|
||||
@@ -107,7 +107,7 @@ import ./make-test-python.nix ({ pkgs, ... }:
|
||||
client.send_chars("kanidm person posix set-password testuser\n")
|
||||
client.wait_until_tty_matches("1", "Enter new")
|
||||
client.send_chars("${testCredentials.password}\n")
|
||||
client.wait_until_tty_matches("1", "Retype")
|
||||
client.wait_until_tty_matches("1", "Reenter")
|
||||
client.send_chars("${testCredentials.password}\n")
|
||||
output = client.succeed("getent passwd testuser")
|
||||
assert "TestUser" in output
|
||||
|
||||
+72
-55
@@ -1,12 +1,13 @@
|
||||
import ./make-test-python.nix ({ pkgs, lib, ... }:
|
||||
import ./make-test-python.nix (
|
||||
{ pkgs, lib, ... }:
|
||||
let
|
||||
track = pkgs.fetchurl {
|
||||
# Sourced from http://freemusicarchive.org/music/Blue_Wave_Theory/Surf_Music_Month_Challenge/Skyhawk_Beach_fade_in
|
||||
# License: http://creativecommons.org/licenses/by-sa/4.0/
|
||||
|
||||
name = "Blue_Wave_Theory-Skyhawk_Beach.mp3";
|
||||
url = "https://freemusicarchive.org/file/music/ccCommunity/Blue_Wave_Theory/Surf_Music_Month_Challenge/Blue_Wave_Theory_-_04_-_Skyhawk_Beach.mp3";
|
||||
sha256 = "0xw417bxkx4gqqy139bb21yldi37xx8xjfxrwaqa0gyw19dl6mgp";
|
||||
hash = "sha256-91VDWwrcP6Cw4rk72VHvZ8RGfRBrpRE8xo/02dcJhHc=";
|
||||
meta.license = lib.licenses.cc-by-sa-40;
|
||||
};
|
||||
|
||||
defaultCfg = rec {
|
||||
@@ -16,42 +17,56 @@ import ./make-test-python.nix ({ pkgs, lib, ... }:
|
||||
musicDirectory = "${dataDir}/music";
|
||||
};
|
||||
|
||||
defaultMpdCfg = with defaultCfg; {
|
||||
inherit dataDir musicDirectory user group;
|
||||
defaultMpdCfg = {
|
||||
inherit (defaultCfg)
|
||||
dataDir
|
||||
musicDirectory
|
||||
user
|
||||
group
|
||||
;
|
||||
enable = true;
|
||||
};
|
||||
|
||||
musicService = { user, group, musicDirectory }: {
|
||||
description = "Sets up the music file(s) for MPD to use.";
|
||||
requires = [ "mpd.service" ];
|
||||
after = [ "mpd.service" ];
|
||||
wantedBy = [ "default.target" ];
|
||||
script = ''
|
||||
cp ${track} ${musicDirectory}
|
||||
'';
|
||||
serviceConfig = {
|
||||
User = user;
|
||||
Group = group;
|
||||
musicService =
|
||||
{
|
||||
user,
|
||||
group,
|
||||
musicDirectory,
|
||||
}:
|
||||
{
|
||||
description = "Sets up the music file(s) for MPD to use.";
|
||||
requires = [ "mpd.service" ];
|
||||
after = [ "mpd.service" ];
|
||||
wantedBy = [ "default.target" ];
|
||||
script = ''
|
||||
cp ${track} ${musicDirectory}
|
||||
'';
|
||||
serviceConfig = {
|
||||
User = user;
|
||||
Group = group;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
mkServer = { mpd, musicService, }:
|
||||
{ boot.kernelModules = [ "snd-dummy" ];
|
||||
mkServer =
|
||||
{ mpd, musicService }:
|
||||
{
|
||||
boot.kernelModules = [ "snd-dummy" ];
|
||||
services.mpd = mpd;
|
||||
systemd.services.musicService = musicService;
|
||||
};
|
||||
in {
|
||||
in
|
||||
{
|
||||
name = "mpd";
|
||||
meta = with pkgs.lib.maintainers; {
|
||||
maintainers = [ emmanuelrosa ];
|
||||
meta = {
|
||||
maintainers = with lib.maintainers; [ emmanuelrosa ];
|
||||
};
|
||||
|
||||
nodes =
|
||||
{ client =
|
||||
{ ... }: { };
|
||||
nodes = {
|
||||
client = { ... }: { };
|
||||
|
||||
serverALSA =
|
||||
{ ... }: lib.mkMerge [
|
||||
{ ... }:
|
||||
lib.mkMerge [
|
||||
(mkServer {
|
||||
mpd = defaultMpdCfg // {
|
||||
network.listenAddress = "any";
|
||||
@@ -63,13 +78,14 @@ import ./make-test-python.nix ({ pkgs, lib, ... }:
|
||||
}
|
||||
'';
|
||||
};
|
||||
musicService = with defaultMpdCfg; musicService { inherit user group musicDirectory; };
|
||||
musicService = musicService { inherit (defaultMpdCfg) user group musicDirectory; };
|
||||
})
|
||||
{ networking.firewall.allowedTCPPorts = [ 6600 ]; }
|
||||
];
|
||||
|
||||
serverPulseAudio =
|
||||
{ ... }: lib.mkMerge [
|
||||
{ ... }:
|
||||
lib.mkMerge [
|
||||
(mkServer {
|
||||
mpd = defaultMpdCfg // {
|
||||
extraConfig = ''
|
||||
@@ -80,7 +96,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }:
|
||||
'';
|
||||
};
|
||||
|
||||
musicService = with defaultCfg; musicService { inherit user group musicDirectory; };
|
||||
musicService = musicService { inherit (defaultMpdCfg) user group musicDirectory; };
|
||||
})
|
||||
{
|
||||
hardware.pulseaudio = {
|
||||
@@ -94,40 +110,41 @@ import ./make-test-python.nix ({ pkgs, lib, ... }:
|
||||
];
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
mpc = "${pkgs.mpc-cli}/bin/mpc --wait"
|
||||
testScript = ''
|
||||
mpc = "${lib.getExe pkgs.mpc} --wait"
|
||||
|
||||
# Connects to the given server and attempts to play a tune.
|
||||
def play_some_music(server):
|
||||
server.wait_for_unit("mpd.service")
|
||||
server.succeed(f"{mpc} update")
|
||||
_, tracks = server.execute(f"{mpc} ls")
|
||||
# Connects to the given server and attempts to play a tune.
|
||||
def play_some_music(server):
|
||||
server.wait_for_unit("mpd.service")
|
||||
server.succeed(f"{mpc} update")
|
||||
_, tracks = server.execute(f"{mpc} ls")
|
||||
|
||||
for track in tracks.splitlines():
|
||||
server.succeed(f"{mpc} add {track}")
|
||||
for track in tracks.splitlines():
|
||||
server.succeed(f"{mpc} add {track}")
|
||||
|
||||
_, added_tracks = server.execute(f"{mpc} playlist")
|
||||
_, added_tracks = server.execute(f"{mpc} playlist")
|
||||
|
||||
# Check we succeeded adding audio tracks to the playlist
|
||||
assert len(added_tracks.splitlines()) > 0
|
||||
# Check we succeeded adding audio tracks to the playlist
|
||||
assert len(added_tracks.splitlines()) > 0
|
||||
|
||||
server.succeed(f"{mpc} play")
|
||||
server.succeed(f"{mpc} play")
|
||||
|
||||
_, output = server.execute(f"{mpc} status")
|
||||
# Assure audio track is playing
|
||||
assert "playing" in output
|
||||
_, output = server.execute(f"{mpc} status")
|
||||
# Assure audio track is playing
|
||||
assert "playing" in output
|
||||
|
||||
server.succeed(f"{mpc} stop")
|
||||
server.succeed(f"{mpc} stop")
|
||||
|
||||
|
||||
play_some_music(serverALSA)
|
||||
play_some_music(serverPulseAudio)
|
||||
play_some_music(serverALSA)
|
||||
play_some_music(serverPulseAudio)
|
||||
|
||||
client.wait_for_unit("multi-user.target")
|
||||
client.succeed(f"{mpc} -h serverALSA status")
|
||||
client.wait_for_unit("multi-user.target")
|
||||
client.succeed(f"{mpc} -h serverALSA status")
|
||||
|
||||
# The PulseAudio-based server is configured not to accept external client connections
|
||||
# to perform the following test:
|
||||
client.fail(f"{mpc} -h serverPulseAudio status")
|
||||
'';
|
||||
})
|
||||
# The PulseAudio-based server is configured not to accept external client connections
|
||||
# to perform the following test:
|
||||
client.fail(f"{mpc} -h serverPulseAudio status")
|
||||
'';
|
||||
}
|
||||
)
|
||||
|
||||
@@ -597,6 +597,8 @@ let
|
||||
rpcauth=bitcoinrpc:e8fe33f797e698ac258c16c8d7aadfbe$872bdb8f4d787367c26bcfd75e6c23c4f19d44a69f5d1ad329e5adf3f82710f7
|
||||
zmqpubrawblock=tcp://127.0.0.1:28332
|
||||
zmqpubrawtx=tcp://127.0.0.1:28333
|
||||
# https://github.com/lightningnetwork/lnd/issues/9163
|
||||
deprecatedrpc=warnings
|
||||
'';
|
||||
extraCmdlineOptions = [ "-regtest" ];
|
||||
};
|
||||
|
||||
@@ -1,82 +0,0 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, makeWrapper
|
||||
, rofi
|
||||
, tmux
|
||||
, fzf
|
||||
, mpc-cli
|
||||
, perl
|
||||
, util-linux
|
||||
, libnotify
|
||||
, perlPackages
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "clerk";
|
||||
version = "unstable-2023-10-07";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "carnager";
|
||||
repo = "clerk";
|
||||
rev = "907138d8fc2b1709fb49d062d0b663a48eb210bd";
|
||||
hash = "sha256-V2nDLq2ViC5Twve0EILBEYOdEavqgYB/TQq/T+ftfmk=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace clerk_rating_client.service \
|
||||
--replace "/usr" "$out"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
buildInputs = with perlPackages; [
|
||||
perl
|
||||
DataMessagePack
|
||||
DataSectionSimple
|
||||
ConfigSimple
|
||||
TryTiny
|
||||
IPCRun
|
||||
HTTPDate
|
||||
FileSlurper
|
||||
ArrayUtils
|
||||
NetMPD
|
||||
];
|
||||
|
||||
dontBuild = true;
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
install -D clerk.pl $out/bin/clerk
|
||||
install -D clerk_rating_client $out/bin/clerk_rating_client
|
||||
install -D clerk_rating_client.service $out/lib/systemd/user/clerk_rating_client.service
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
postFixup = let
|
||||
binPath = lib.makeBinPath [
|
||||
libnotify
|
||||
mpc-cli
|
||||
rofi
|
||||
tmux
|
||||
fzf
|
||||
util-linux
|
||||
];
|
||||
in
|
||||
''
|
||||
wrapProgram $out/bin/clerk --set PERL5LIB $PERL5LIB --prefix PATH : "${binPath}"
|
||||
wrapProgram $out/bin/clerk_rating_client --set PERL5LIB $PERL5LIB --prefix PATH : "${binPath}"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "MPD client based on rofi/fzf";
|
||||
homepage = "https://github.com/carnager/clerk";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ anderspapitto rewine ];
|
||||
mainProgram = "clerk";
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
@@ -5,14 +5,14 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "helio-workstation";
|
||||
version = "3.13";
|
||||
version = "3.14";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "helio-fm";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
fetchSubmodules = true;
|
||||
hash = "sha256-esCulHphPD0gr0dsVBnRTvsGp56vHZmzdbz99mWq9R4=";
|
||||
hash = "sha256-o8vMHt6ypHY7HOHnhMifQphxGb5MjSg3hREVOnIdqfc=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
||||
@@ -1,63 +0,0 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, installShellFiles
|
||||
, libiconv
|
||||
, libmpdclient
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, sphinx
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "mpc";
|
||||
version = "0.34";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "MusicPlayerDaemon";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-2FjYBfak0IjibuU+CNQ0y9Ei8hTZhynS/BK2DNerhVw=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# fix the build with meson 0.60 (https://github.com/MusicPlayerDaemon/mpc/pull/76)
|
||||
(fetchpatch {
|
||||
url = "https://github.com/MusicPlayerDaemon/mpc/commit/b656ca4b6c2a0d5b6cebd7f7daa679352f664e0e.patch";
|
||||
sha256 = "sha256-fjjSlCKxgkz7Em08CaK7+JAzl8YTzLcpGGMz2HJlsVw=";
|
||||
})
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
libmpdclient
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [ libiconv ];
|
||||
|
||||
nativeBuildInputs = [
|
||||
installShellFiles
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
sphinx
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
installShellCompletion --cmd mpc --bash $out/share/doc/mpc/contrib/mpc-completion.bash
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
rm $out/share/doc/mpc/contrib/mpc-completion.bash
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://www.musicpd.org/clients/mpc/";
|
||||
description = "Minimalist command line interface to MPD";
|
||||
changelog = "https://raw.githubusercontent.com/MusicPlayerDaemon/mpc/v${version}/NEWS";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ AndersonTorres ];
|
||||
platforms = with platforms; unix;
|
||||
mainProgram = "mpc";
|
||||
};
|
||||
}
|
||||
@@ -10,11 +10,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "qmidiarp";
|
||||
version = "0.7.0";
|
||||
version = "0.7.1";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://git.code.sf.net/p/qmidiarp/code";
|
||||
sha256 = "sha256-oUdgff2xsXTis+C2Blv0tspWNIMGSODrKxWDpMDYnEU=";
|
||||
sha256 = "sha256-xTDI1QtgOOMexzFKvYWhlfpXv8uXaoD4o+G6XF8/Cw8=";
|
||||
rev = "qmidiarp-${version}";
|
||||
};
|
||||
|
||||
|
||||
@@ -4,11 +4,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "qsynth";
|
||||
version = "1.0.0";
|
||||
version = "1.0.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/qsynth/${pname}-${version}.tar.gz";
|
||||
hash = "sha256-FOoqnJeh29J0clsqZ+wbhQmsaybrAbIqgeB7m/7Q+3M=";
|
||||
hash = "sha256-SHMPmZMAlC9L5EAecaZNB0pWnq0heeD8bcbhKeI+YOo=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ];
|
||||
|
||||
@@ -5,11 +5,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "snd";
|
||||
version = "24.5";
|
||||
version = "24.8";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/snd/snd-${version}.tar.gz";
|
||||
sha256 = "sha256-Y497KAlUXtWhkrCd1QrqJkvWGwnzZfYRKaALiEo/7EI=";
|
||||
sha256 = "sha256-iH/y2dHeQL3ZHwKl5qkrXpSDgrqI/U31BwpwFAzBzEE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
@@ -22,13 +22,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "yoshimi";
|
||||
version = "2.3.2";
|
||||
version = "2.3.3.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Yoshimi";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-UaZjT7B9T3a3W9PD9abA/WPmt9Id8/zUUSZU05+8x9c=";
|
||||
hash = "sha256-uBivCygpvJ6psgqW3FOHaW5IzUq8vrC2uk4KRv6L2oY=";
|
||||
};
|
||||
|
||||
sourceRoot = "${src.name}/src";
|
||||
|
||||
@@ -79,11 +79,11 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "zrythm";
|
||||
version = "1.0.0-rc.1";
|
||||
version = "1.0.0-rc.2";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://www.zrythm.org/releases/zrythm-${finalAttrs.version}.tar.xz";
|
||||
sha256 = "sha256-Ljbw7bjGI6js4OP9KEXCkhC9AMbInSz0nn+pROm4vXw=";
|
||||
sha256 = "sha256-Da//nY0yXSbDPEg6t9jgL32NoT8dFYSQ4Kzc/KbHGSk=";
|
||||
};
|
||||
|
||||
passthru.updateScript = writeScript "update-zrythm" ''
|
||||
|
||||
@@ -6,13 +6,13 @@
|
||||
|
||||
buildDotnetModule rec {
|
||||
pname = "nbxplorer";
|
||||
version = "2.5.6";
|
||||
version = "2.5.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dgarage";
|
||||
repo = "NBXplorer";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-GPquY5kfn08TUCum/INdHPasx8BWK2mf+PQlSgTl4iw=";
|
||||
sha256 = "sha256-Di/m8L6QggDZHgrQXDD69MBT4xGuilIAV4y/8raxLu4=";
|
||||
};
|
||||
|
||||
projectFile = "NBXplorer/NBXplorer.csproj";
|
||||
|
||||
@@ -2,16 +2,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "ox";
|
||||
version = "0.6.1";
|
||||
version = "0.6.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "curlpipe";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-37o8Ak+8LPeGny7JBLc2STpRjfWBCwOrRyP3HJbD25o=";
|
||||
hash = "sha256-UFNOW/INV/65C6UysKi9lGw+PIj2NXF6ejG5UY702/I=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-c7XhMYfhMCxyidZJemnu5f9KwQmPmbun6mrI3v2EpZ4=";
|
||||
cargoHash = "sha256-sy/RNMXJn5k9qw0ghCQA7PqZokpDw0xns4abwa938Gk=";
|
||||
|
||||
buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.AppKit ];
|
||||
|
||||
|
||||
@@ -9233,6 +9233,18 @@ final: prev:
|
||||
meta.homepage = "https://github.com/dstein64/nvim-scrollview/";
|
||||
};
|
||||
|
||||
nvim-scissors = buildVimPlugin {
|
||||
pname = "nvim-scissors";
|
||||
version = "2024-10-30";
|
||||
src = fetchFromGitHub {
|
||||
owner = "chrisgrieser";
|
||||
repo = "nvim-scissors";
|
||||
rev = "27213bd106239eeb8adbfdd4f346f76ccd50ce53";
|
||||
sha256 = "sha256-8rOkXEhLNLLaYoBs5Ir3kIDYWPXyhmXL7PAsY2FiX2U=";
|
||||
};
|
||||
meta.homepage = "https://github.com/chrisgrieser/nvim-scissors/";
|
||||
};
|
||||
|
||||
nvim-search-and-replace = buildVimPlugin {
|
||||
pname = "nvim-search-and-replace";
|
||||
version = "2022-09-06";
|
||||
@@ -18767,4 +18779,16 @@ final: prev:
|
||||
};
|
||||
meta.homepage = "https://github.com/jhradilek/vim-snippets/";
|
||||
};
|
||||
|
||||
fastaction-nvim = buildVimPlugin {
|
||||
pname = "fastaction.nvim";
|
||||
version = "2024-10-24";
|
||||
src = fetchFromGitHub {
|
||||
owner = "Chaitanyabsprip";
|
||||
repo = "fastaction.nvim";
|
||||
rev = "77ae921e6fa6a8e2705768fa89b89b0e45840b94";
|
||||
sha256 = "sha256-2UuEORFTj4+gbuEm1D2FHXrRiU3pDsS5NG50Q9I1wuk=";
|
||||
};
|
||||
meta.homepage = "https://github.com/Chaitanyabsprip/fastaction.nvim/";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
arrow-cpp,
|
||||
Cocoa,
|
||||
coc-clangd,
|
||||
coc-css,
|
||||
coc-diagnostic,
|
||||
coc-pyright,
|
||||
code-minimap,
|
||||
@@ -453,6 +454,11 @@ in
|
||||
src = "${coc-clangd}/lib/node_modules/coc-clangd";
|
||||
};
|
||||
|
||||
coc-css = buildVimPlugin {
|
||||
inherit (coc-css) pname version meta;
|
||||
src = "${coc-css}/lib/node_modules/coc-css";
|
||||
};
|
||||
|
||||
coc-diagnostic = buildVimPlugin {
|
||||
inherit (coc-diagnostic) pname version meta;
|
||||
src = "${coc-diagnostic}/lib/node_modules/coc-diagnostic";
|
||||
@@ -1665,6 +1671,10 @@ in
|
||||
}
|
||||
);
|
||||
|
||||
nvim-scissors = super.nvim-scissors.overrideAttrs {
|
||||
nvimRequireCheck = "scissors";
|
||||
};
|
||||
|
||||
nvim-teal-maker = super.nvim-teal-maker.overrideAttrs {
|
||||
postPatch = ''
|
||||
substituteInPlace lua/tealmaker/init.lua \
|
||||
@@ -2724,7 +2734,6 @@ in
|
||||
let
|
||||
nodePackageNames = [
|
||||
"coc-cmake"
|
||||
"coc-css"
|
||||
"coc-docker"
|
||||
"coc-emmet"
|
||||
"coc-eslint"
|
||||
|
||||
@@ -320,6 +320,7 @@ https://github.com/google/executor.nvim/,HEAD,
|
||||
https://github.com/jinh0/eyeliner.nvim/,HEAD,
|
||||
https://github.com/fenetikm/falcon/,,
|
||||
https://github.com/brooth/far.vim/,,
|
||||
https://github.com/Chaitanyabsprip/fastaction.nvim/,HEAD,
|
||||
https://github.com/pteroctopus/faster.nvim/,HEAD,
|
||||
https://github.com/konfekt/fastfold/,,
|
||||
https://github.com/lilydjwg/fcitx.vim/,fcitx5,
|
||||
@@ -775,6 +776,7 @@ https://github.com/olrtg/nvim-rename-state/,HEAD,
|
||||
https://github.com/chrisgrieser/nvim-rip-substitute/,,
|
||||
https://github.com/petertriho/nvim-scrollbar/,HEAD,
|
||||
https://github.com/dstein64/nvim-scrollview/,,
|
||||
https://github.com/chrisgrieser/nvim-scissors,HEAD,
|
||||
https://github.com/s1n7ax/nvim-search-and-replace/,HEAD,
|
||||
https://github.com/garymjr/nvim-snippets/,,
|
||||
https://github.com/dcampos/nvim-snippy/,HEAD,
|
||||
|
||||
@@ -2039,8 +2039,8 @@ let
|
||||
mktplcRef = {
|
||||
publisher = "github";
|
||||
name = "copilot";
|
||||
version = "1.236.0"; # compatible with vscode ^1.94
|
||||
hash = "sha256-ozJwByuSjROWSxfrapcyxDkI7xgcjqf/IKtUfEC+MGk=";
|
||||
version = "1.243.1191"; # compatible with vscode ^1.95
|
||||
hash = "sha256-tMUFMi+lBZZQA/8UTyoqQ5s+xnWKh39V8GYErO9ZuSo=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
@@ -2056,8 +2056,9 @@ let
|
||||
mktplcRef = {
|
||||
publisher = "github";
|
||||
name = "copilot-chat";
|
||||
version = "0.22.2024100702"; # latest compatible with vscode ^1.94
|
||||
hash = "sha256-n/ecEnxz3LiTx9MuHO8AMIWBJPNNxQb6vghlG/hPMUY=";
|
||||
# Verify which version is available with nix run nixpkgs#vsce -- show github.copilot-chat --json
|
||||
version = "0.23.2024102903"; # compatible with vscode ^1.95
|
||||
hash = "sha256-FGvB+b24i23bdhpJpCQDvIHqqFvCJrWAKnX6fJgkr2E=";
|
||||
};
|
||||
meta = {
|
||||
description = "GitHub Copilot Chat is a companion extension to GitHub Copilot that houses experimental chat features";
|
||||
|
||||
@@ -10,8 +10,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
|
||||
mktplcRef = {
|
||||
name = "plantuml";
|
||||
publisher = "jebbs";
|
||||
version = "2.17.4";
|
||||
hash = "sha256-fnz6ubB73i7rJcv+paYyNV1r4cReuyFPjgPM0HO40ug=";
|
||||
version = "2.18.1";
|
||||
hash = "sha256-o4FN/vUEK53ZLz5vAniUcnKDjWaKKH0oPZMbXVarDng=";
|
||||
};
|
||||
nativeBuildInputs = [
|
||||
jq
|
||||
|
||||
@@ -8,8 +8,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
|
||||
mktplcRef = {
|
||||
name = "vscode-pylance";
|
||||
publisher = "MS-python";
|
||||
version = "2024.8.2";
|
||||
hash = "sha256-EwxQjCBSmJ78L06EtKB8twIz5x51Jo/DHNlpD31pIKA=";
|
||||
version = "2024.10.1";
|
||||
hash = "sha256-rSgPTF7RtrR2lgp++uKfT9tYx4AKqW3qjBvPUZpw52s=";
|
||||
};
|
||||
|
||||
buildInputs = [ pyright ];
|
||||
|
||||
@@ -31,21 +31,21 @@ let
|
||||
archive_fmt = if stdenv.hostPlatform.isDarwin then "zip" else "tar.gz";
|
||||
|
||||
sha256 = {
|
||||
x86_64-linux = "12cfks56pz1fljv4zrh4q2k6vai2rpdyw5lbap9y8wa9f5pz0m55";
|
||||
x86_64-darwin = "0zxmlpilh83grcv6jk2avlxiy2w0a1vbwmv0fjzy6nvdma91j7lj";
|
||||
aarch64-linux = "1gx5xg54mmkiglwmv8fjppqb8bj0fqn9yg0r5q9kzdhh9702dxsg";
|
||||
aarch64-darwin = "13wnraa13msz7rxzwk232rwrnbmwx0dpq13aq68zjz80clsf4jgp";
|
||||
armv7l-linux = "06kngg0scrk8sz3j874iffyci70ng8j8l1v83k572vw847956850";
|
||||
x86_64-linux = "1dysz5yajm9v8p8x19lmbhbfij5k99h9m39ifvn1908dhgyc5d36";
|
||||
x86_64-darwin = "175sxw1z6mzs5adcgy2902irp0yb666lgmrckbd3dr7rqfav9d36";
|
||||
aarch64-linux = "04pf8b42kh23pii9qahsdf3979icvqbhadr5m8x79y16hv1h2h8j";
|
||||
aarch64-darwin = "1766h2awzh8wjwzkc7r1ymsjyh4j7rfb7nj6bpigy2b2dyfp53w2";
|
||||
armv7l-linux = "1zmqrvqq07vkhmb9shbrh2jjkv3rpvi3pv0b1cg690jfixnsyk04";
|
||||
}.${system} or throwSystem;
|
||||
in
|
||||
callPackage ./generic.nix rec {
|
||||
# Please backport all compatible updates to the stable release.
|
||||
# This is important for the extension ecosystem.
|
||||
version = "1.95.0";
|
||||
version = "1.95.1";
|
||||
pname = "vscode" + lib.optionalString isInsiders "-insiders";
|
||||
|
||||
# This is used for VS Code - Remote SSH test
|
||||
rev = "912bb683695358a54ae0c670461738984cbb5b95";
|
||||
rev = "65edc4939843c90c34d61f4ce11704f09d3e5cb6";
|
||||
|
||||
executableName = "code" + lib.optionalString isInsiders "-insiders";
|
||||
longName = "Visual Studio Code" + lib.optionalString isInsiders " - Insiders";
|
||||
@@ -69,7 +69,7 @@ in
|
||||
src = fetchurl {
|
||||
name = "vscode-server-${rev}.tar.gz";
|
||||
url = "https://update.code.visualstudio.com/commit:${rev}/server-linux-x64/stable";
|
||||
sha256 = "1chk0xwsiw6pm6ihjlp9695n0l1wfipwv4h04v5dmm9dcwlarp1m";
|
||||
sha256 = "05w76c50j85b7hc0q8gjzssy142ncbns0kmcyqydaqrzj8n41jd8";
|
||||
};
|
||||
stdenv = stdenvNoCC;
|
||||
};
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libdsk";
|
||||
version = "1.5.19";
|
||||
version = "1.5.20";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.seasip.info/Unix/LibDsk/${pname}-${version}.tar.gz";
|
||||
sha256 = "sha256-W8w5o9rK/yCipQnfn4gMOwDZ+9WeV3G53q5h2XlevkE=";
|
||||
sha256 = "sha256-/ivN4+Oe0N6VmhWTfdDU48NcQLSIVAAtqzzi6DdlAZ0=";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "sameboy";
|
||||
version = "0.16.6";
|
||||
version = "0.16.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "LIJI32";
|
||||
repo = "SameBoy";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-URth/0hMfxnBJpfA1k+UU9/jJzfte2UXeLv5JnBDGUs=";
|
||||
sha256 = "sha256-KUvhmORI3hIJFMCW8U2BZYnIwzg7h+GZZA4+U0IPS9E=";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
@@ -46,6 +46,6 @@ rustPlatform.buildRustPackage rec {
|
||||
homepage = "https://jblindsay.github.io/ghrg/WhiteboxTools/index.html";
|
||||
description = "Advanced geospatial data analysis platform";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ mpickering ];
|
||||
maintainers = lib.teams.geospatial.members ++ (with lib.maintainers; [ mpickering ]);
|
||||
};
|
||||
}
|
||||
|
||||
@@ -38,11 +38,11 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "shotwell";
|
||||
version = "0.32.9";
|
||||
version = "0.32.10";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/shotwell/${lib.versions.majorMinor finalAttrs.version}/shotwell-${finalAttrs.version}.tar.xz";
|
||||
sha256 = "sha256-EjKjPcnBftI6oA2P8lUA5xC73JiZ1VtEFbaLdCnlYOs=";
|
||||
sha256 = "sha256-JuRaYbVDGwlv/NF28RW9B76ad6aDNYmVQhBuGeB/QA4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "flashprint";
|
||||
version = "5.8.6";
|
||||
version = "5.8.7";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://www.ishare3d.com/3dapp/public/FlashPrint-5/FlashPrint/flashprint5_${finalAttrs.version}_amd64.deb";
|
||||
hash = "sha256-oi/nEdOjhbYf9IZmppfKiEmlNGXdc907LS2x8jUck+M=";
|
||||
hash = "sha256-DVY5XxAz3HPAWMNaGauUop7OWHeFuuRHuVllyJvHqFk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ dpkg autoPatchelfHook wrapQtAppsHook ];
|
||||
|
||||
@@ -4,12 +4,12 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ganttproject-bin";
|
||||
version = "3.3.3309";
|
||||
version = "3.3.3312";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://dl.ganttproject.biz/ganttproject-${version}/ganttproject-${version}.zip";
|
||||
stripRoot = false;
|
||||
hash = "sha256-ysK+q9r8pbf9MBv7ck24joPR/ywyHnDCBHeOLfljYNw=";
|
||||
hash = "sha256-mvup4yMfFfzL2iLMj9vlFFrJT0wLmeadNEnf2QO53H0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
@@ -1,132 +0,0 @@
|
||||
{ lib, stdenv
|
||||
, fetchurl
|
||||
, pkg-config
|
||||
, autoconf
|
||||
, automake
|
||||
, libtool
|
||||
, mm-common
|
||||
, intltool
|
||||
, itstool
|
||||
, doxygen
|
||||
, graphviz
|
||||
, makeFontsConf
|
||||
, freefont_ttf
|
||||
, boost
|
||||
, libxmlxx3
|
||||
, libxslt
|
||||
, libgdamm
|
||||
, libarchive
|
||||
, libepc
|
||||
, python3
|
||||
, ncurses
|
||||
, glibmm
|
||||
, gtk3
|
||||
, openssl
|
||||
, gtkmm3
|
||||
, goocanvasmm2
|
||||
, evince
|
||||
, isocodes
|
||||
, gtksourceview
|
||||
, gtksourceviewmm
|
||||
, postgresql_15
|
||||
, gobject-introspection
|
||||
, yelp-tools
|
||||
, wrapGAppsHook3
|
||||
}:
|
||||
|
||||
let
|
||||
gda = libgdamm.override {
|
||||
mysqlSupport = true;
|
||||
postgresSupport = true;
|
||||
};
|
||||
python = python3.withPackages (pkgs: with pkgs; [ pygobject3 ]);
|
||||
sphinx-build = python3.pkgs.sphinx.overrideAttrs (super: {
|
||||
postFixup = super.postFixup or "" + ''
|
||||
# Do not propagate Python
|
||||
rm $out/nix-support/propagated-build-inputs
|
||||
'';
|
||||
});
|
||||
boost_python = boost.override { enablePython = true; inherit python; };
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "glom";
|
||||
version = "1.32.0";
|
||||
|
||||
outputs = [ "out" "lib" "dev" "doc" "devdoc" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "1wcd4kd3crwqjv0jfp73jkyyf5ws8mvykg37kqxmcb58piz21gsk";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
autoconf
|
||||
automake
|
||||
libtool
|
||||
mm-common
|
||||
intltool
|
||||
yelp-tools
|
||||
itstool
|
||||
doxygen
|
||||
graphviz
|
||||
sphinx-build
|
||||
wrapGAppsHook3
|
||||
gobject-introspection # for setup hook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
boost_python
|
||||
glibmm
|
||||
gtk3
|
||||
openssl
|
||||
libxmlxx3
|
||||
libxslt
|
||||
gda
|
||||
libarchive
|
||||
libepc
|
||||
python
|
||||
ncurses # for python
|
||||
gtkmm3
|
||||
goocanvasmm2
|
||||
evince
|
||||
isocodes
|
||||
python3.pkgs.pygobject3
|
||||
gtksourceview
|
||||
gtksourceviewmm
|
||||
postgresql_15 # for postgresql utils
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
preConfigure = "NOCONFIGURE=1 ./autogen.sh";
|
||||
|
||||
configureFlags = [
|
||||
"--with-boost-python=boost_python${lib.versions.major python3.version}${lib.versions.minor python3.version}"
|
||||
"--with-postgres-utils=${lib.getBin postgresql_15}/bin"
|
||||
];
|
||||
|
||||
makeFlags = [
|
||||
"libdocdir=${placeholder "doc"}/share/doc/$(book_name)"
|
||||
"devhelpdir=${placeholder "devdoc"}/share/devhelp/books/$(book_name)"
|
||||
];
|
||||
|
||||
# Fontconfig error: Cannot load default config file
|
||||
FONTCONFIG_FILE = makeFontsConf {
|
||||
fontDirectories = [ freefont_ttf ];
|
||||
};
|
||||
|
||||
preFixup = ''
|
||||
gappsWrapperArgs+=(
|
||||
--prefix PYTHONPATH : "${placeholder "out"}/${python3.sitePackages}"
|
||||
--set PYTHONHOME "${python}"
|
||||
)
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Easy-to-use database designer and user interface";
|
||||
homepage = "http://www.glom.org/";
|
||||
license = [ licenses.lgpl2 licenses.gpl2 ];
|
||||
maintainers = teams.gnome.members;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
@@ -6,7 +6,7 @@
|
||||
}:
|
||||
let
|
||||
pname = "kratos";
|
||||
version = "1.2.0";
|
||||
version = "1.3.1";
|
||||
in
|
||||
buildGoModule {
|
||||
inherit pname version;
|
||||
@@ -15,10 +15,10 @@ buildGoModule {
|
||||
owner = "ory";
|
||||
repo = "kratos";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-KqF6DYrEsmPj2PtI2+5ztE0m9uBO1gpNlvdo+Aw6REA=";
|
||||
hash = "sha256-FJrBwjWBYwoiy8rWXn+jaVc1b35So1Rb9SjkUlNwAqE=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-6gJf+8AKjV83MTF0rC8OxDwkwGx4CJg7SdfNgcja8QY=";
|
||||
vendorHash = "sha256-zZwunp/433oIYI5ZA3Pznq9jfvIZE5ZUJKxboVef8g0=";
|
||||
|
||||
subPackages = [ "." ];
|
||||
|
||||
|
||||
@@ -25,13 +25,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "minder";
|
||||
version = "1.16.4";
|
||||
version = "1.17.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "phase1geo";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-1r2PbBYw4mmiScKbX9BGqe4i+emSvismJfPm3opLlOg=";
|
||||
sha256 = "sha256-LZm2TLUugW/lSHp+y3Sz9IacQCEFQloVnZ9MoBjqHvI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "pdfsam-basic";
|
||||
version = "5.2.6";
|
||||
version = "5.2.8";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/torakiki/pdfsam/releases/download/v${version}/pdfsam_${version}-1_amd64.deb";
|
||||
hash = "sha256-u9ldHJkY3/VfykBFgVY8Ah/uYNpTIkLyvPY7zfLWN38=";
|
||||
hash = "sha256-81TIGTo00qSAlmfCTjvqeJH1xKYQPkvti3JFgVvLwmQ=";
|
||||
};
|
||||
|
||||
unpackPhase = ''
|
||||
|
||||
@@ -5,11 +5,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "widevine-cdm";
|
||||
version = "4.10.2710.0";
|
||||
version = "4.10.2830.0";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://dl.google.com/widevine-cdm/${version}-linux-x64.zip";
|
||||
hash = "sha256-lGTrSzUk5FluH1o4E/9atLIabEpco3C3gZw+y6H6LJo=";
|
||||
hash = "sha256-XDnsan1ulnIK87Owedb2s9XWLzk1K2viGGQe9LN/kcE=";
|
||||
stripRoot = false;
|
||||
};
|
||||
|
||||
|
||||
@@ -2,16 +2,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "atmos";
|
||||
version = "1.86.0";
|
||||
version = "1.95.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cloudposse";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-IlvIZMfsANw6+BrVObn0pBcoEcSKXVcN1V3B0f4BDno=";
|
||||
sha256 = "sha256-shhkaPYU1N3Q7eu8CyZXYrR11kxb+r9II4lpfRWTOas=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-87C3MPKlYVnpNJvPJY9eCrSy8qfP8Kj36a9vi+kiP44=";
|
||||
vendorHash = "sha256-4pUx8qzptzuGeIrT7m67iidMSUNbDSGV8p+KkHqX3lo=";
|
||||
|
||||
ldflags = [ "-s" "-w" "-X github.com/cloudposse/atmos/cmd.Version=v${version}" ];
|
||||
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
buildGoModule rec {
|
||||
pname = "bosh-cli";
|
||||
|
||||
version = "7.7.2";
|
||||
version = "7.8.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cloudfoundry";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-orn1pxHefYCp0vPsZ4TI5Y76tpR8dOcEmxA3cHwfYQU=";
|
||||
sha256 = "sha256-DiW7Vq1rfkOqMM3133mIRmRyFDjFITRkXqY34HMdZtc=";
|
||||
};
|
||||
vendorHash = null;
|
||||
|
||||
|
||||
@@ -12,16 +12,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "kubebuilder";
|
||||
version = "4.2.0";
|
||||
version = "4.3.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kubernetes-sigs";
|
||||
repo = "kubebuilder";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-iWu3HnfjT9hiDyl9Ni0xJa/e+E9fbh3bnfrdE1ChaWc=";
|
||||
hash = "sha256-awwUYmzLKz+K6qKN+nNWRAxIM/UFDF1r1cI7heeqrlo=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-dMzDKYjPBAiNFwzaBML76tMylHtBs9Tb2Ulj/WovVJ4=";
|
||||
vendorHash = "sha256-+7vCd9mC5rkC+XKc7hsHMFgT8R6dJfT0XR6PsJM3Xdc=";
|
||||
|
||||
subPackages = ["cmd"];
|
||||
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "node-problem-detector";
|
||||
version = "0.8.19";
|
||||
version = "0.8.20";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kubernetes";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-foVMmRgxy0A62EzmDiGUd2/x5zOpMAMUzXitpxuSIU0=";
|
||||
sha256 = "sha256-Aw6TDyWczqWgUOCV7f4JSAI4eVcjWgwe2V5qSrx4TBI=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
||||
@@ -6,16 +6,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "terraform-backend-git";
|
||||
version = "0.1.6";
|
||||
version = "0.1.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "plumber-cd";
|
||||
repo = "terraform-backend-git";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-ZbQfL7uKCFD98HcoeqscZaIsWFvWH0Ytzlqr6fMmXUs=";
|
||||
hash = "sha256-mLgUA7f4enlVuQx4VM3QbNuaAq7FgDaRyiG0sbT31ng=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-Y/4UgG/2Vp+gxBnGrNpAgRNfPZWJXhVo8TVa/VfOYt0=";
|
||||
vendorHash = "sha256-vFx59dIdniLRP0xHcD3c22GidZOPdGZvmvg/BvxFBGI=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
installShellFiles
|
||||
|
||||
@@ -5,11 +5,11 @@
|
||||
|
||||
let
|
||||
pname = "cozydrive";
|
||||
version = "3.39.0";
|
||||
version = "3.40.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/cozy-labs/cozy-desktop/releases/download/v${version}/Cozy-Drive-${version}-x86_64.AppImage";
|
||||
sha256 = "sha256-mTRg8KQm7BJil81TClyzCrXSHTbn+G9pRYMIaeXojzc=";
|
||||
sha256 = "sha256-bKYtuFgKmZj8fFEh/O9HXGm+GQTEbjpe+KsMW5nX1ek=";
|
||||
};
|
||||
appimageContents = appimageTools.extract { inherit pname version src; };
|
||||
|
||||
|
||||
@@ -5,20 +5,20 @@ let
|
||||
in
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "diswall";
|
||||
version = "0.5.3";
|
||||
version = "0.6.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dis-works";
|
||||
repo = "diswall-rs";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-iZln/cgYGSFYwXDvD1CkQdfwBDXj897X1il1m5HfFJs=";
|
||||
sha256 = "sha256-jrifO6LRxVhgPoUOAm+7RT+LIhjsw/mEDFBZSJYMv/w=";
|
||||
};
|
||||
|
||||
buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
Security
|
||||
];
|
||||
|
||||
cargoHash = "sha256-5PPI7fnG71xkQCY+OLLk83XZb+4DoPX81bAtKRp/H8U=";
|
||||
cargoHash = "sha256-1HxuVZ4J/Ds1aOIIcNa/XGi7PhKgB+iAESMa1muTL48=";
|
||||
|
||||
doCheck = false;
|
||||
|
||||
|
||||
@@ -5,11 +5,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "alfaview";
|
||||
version = "9.14.0";
|
||||
version = "9.17.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://assets.alfaview.com/stable/linux/deb/${pname}_${version}.deb";
|
||||
hash = "sha256-YBC6zjcxSnOOY3RSo0X1ixTY1to2vEEkj1/9rItLzNA=";
|
||||
hash = "sha256-Rq/5QByaqGd5Cfr4r+Ojv8OC8PvFQ4a+TT8CgeevF28=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
{ lib, stdenv, fetchFromGitHub, cmake, lua, pkg-config, rsync,
|
||||
asciidoc, libxml2, docbook_xml_dtd_45, docbook_xsl, libxslt, xnu }:
|
||||
asciidoc, libxml2, docbook_xml_dtd_45, docbook_xsl, libxslt, apple-sdk_11 }:
|
||||
|
||||
let
|
||||
xnu = apple-sdk_11.sourceRelease "xnu";
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "lsyncd";
|
||||
version = "2.3.1";
|
||||
@@ -19,7 +22,11 @@ stdenv.mkDerivation rec {
|
||||
|
||||
# Special flags needed on Darwin:
|
||||
# https://github.com/axkibe/lsyncd/blob/42413cabbedca429d55a5378f6e830f191f3cc86/INSTALL#L51
|
||||
cmakeFlags = lib.optionals stdenv.hostPlatform.isDarwin [ "-DWITH_INOTIFY=OFF" "-DWITH_FSEVENTS=ON" "-DXNU_DIR=${xnu}/include" ];
|
||||
cmakeFlags = lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
"-DWITH_INOTIFY=OFF"
|
||||
"-DWITH_FSEVENTS=ON"
|
||||
"-DXNU_DIR=${xnu}"
|
||||
];
|
||||
|
||||
dontUseCmakeBuildDir = true;
|
||||
|
||||
@@ -28,7 +35,7 @@ stdenv.mkDerivation rec {
|
||||
rsync
|
||||
lua
|
||||
asciidoc libxml2 docbook_xml_dtd_45 docbook_xsl libxslt
|
||||
];
|
||||
] ++ lib.optional stdenv.hostPlatform.isDarwin apple-sdk_11;
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/axkibe/lsyncd";
|
||||
|
||||
@@ -7,13 +7,13 @@
|
||||
|
||||
let
|
||||
pname = "mendeley";
|
||||
version = "2.120.0";
|
||||
version = "2.122.1";
|
||||
|
||||
executableName = "${pname}-reference-manager";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://static.mendeley.com/bin/desktop/mendeley-reference-manager-${version}-x86_64.AppImage";
|
||||
hash = "sha256-yKHrTcIiNhsLMfwNQNSLE2mAQLsDFxhTYdper3a8oM8=";
|
||||
hash = "sha256-9/QGBUcMjZaV/R9Ox0RaNsLChICoMG9qdFRXM9XCF2w=";
|
||||
};
|
||||
|
||||
appimageContents = appimageTools.extractType2 {
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "super-productivity";
|
||||
version = "9.0.5";
|
||||
version = "10.0.11";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/johannesjo/super-productivity/releases/download/v${version}/superProductivity-${version}.AppImage";
|
||||
sha256 = "sha256-eNAoLcQWnsTDA7sG8i0Ur9BZ+pNt4AK1GOppFCD1ZGg=";
|
||||
sha256 = "sha256-sYHfzqP/Vla0DEReVjaPvo8fe1wNdZnNDhefqPrPFPE=";
|
||||
name = "${pname}-${version}.AppImage";
|
||||
};
|
||||
|
||||
|
||||
@@ -15,11 +15,11 @@
|
||||
}:
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "ticktick";
|
||||
version = "6.0.0";
|
||||
version = "6.0.10";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://d2atcrkye2ik4e.cloudfront.net/download/linux/linux_deb_x64/ticktick-${finalAttrs.version}-amd64.deb";
|
||||
hash = "sha256-yoskJ7v0RgRZ16gs9UY1xf/PunLoFkNGKmVMkPJDPmM=";
|
||||
hash = "sha256-/SaQJFaz8quuFk4bLmRrvfYpqyDNTV/dJBrAJpOT4S4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -4,12 +4,12 @@
|
||||
}:
|
||||
|
||||
let
|
||||
version = "6.8.1";
|
||||
version = "6.8.4";
|
||||
pname = "timeular";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://s3.amazonaws.com/timeular-desktop-packages/linux/production/Timeular-${version}.AppImage";
|
||||
hash = "sha256-9t21aIEhLNIY7kSJkcvUVZ8R9/CuW0ZEu8kWkvMMQrM=";
|
||||
hash = "sha256-0x8Ra6NlYnYCcRTmEzFTBYOtUIaMBtL4/0293gxxeS0=";
|
||||
};
|
||||
|
||||
appimageContents = appimageTools.extractType2 {
|
||||
|
||||
@@ -19,12 +19,12 @@
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "tryton";
|
||||
version = "7.2.5";
|
||||
version = "7.2.6";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-U6hA6TuIMDTFAZUic60A5IKr/LKxKZEgiTIhkLlTJSw=";
|
||||
hash = "sha256-dyJ+PsMUinJWYZjcwUuDLHQyB+m5AdfCR+gXfUrvjDc=";
|
||||
};
|
||||
|
||||
build-system = [ python3Packages.setuptools ];
|
||||
|
||||
@@ -9,12 +9,12 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "flamp";
|
||||
version = "2.2.12";
|
||||
version = "2.2.14";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://git.code.sf.net/p/fldigi/flamp";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-Rw75mz3gPQDBl1iECHZAMBxY8iDr/hqSJscJhdboaRw=";
|
||||
hash = "sha256-y8x/0rLJSHL1B61ODtjmf2S6W7ChZasBfFE9lc66FSI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -18,11 +18,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "fldigi";
|
||||
version = "4.2.05";
|
||||
version = "4.2.06";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz";
|
||||
hash = "sha256-rBGJ+63Szhy37LQw0LpE2/lLyP5lwK7hsz/uq453iHY=";
|
||||
hash = "sha256-Q2DeIl1vjP65u2pb5qxJLlJwLI9wT4dgnEUtO8sbbAg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
@@ -16,13 +16,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "qlog";
|
||||
version = "0.38.0";
|
||||
version = "0.39.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "foldynl";
|
||||
repo = "QLog";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-C9kXntcCUaEl/S1ypZrU0ZPfaJbzg6/aXJSC+TREmhc=";
|
||||
hash = "sha256-W+Ftc97/lI49rUItVhCb9W9mxcCElED/oZxefgIDqyM=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
||||
@@ -7,13 +7,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "siril";
|
||||
version = "1.2.3";
|
||||
version = "1.2.4";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "free-astro";
|
||||
repo = "siril";
|
||||
rev = version;
|
||||
hash = "sha256-JUMk2XHMOeocSpeeI+k3s9TsEQCdqz3oigTzuwRHbT4=";
|
||||
hash = "sha256-orNu9qo7sutMUPeIPPhxKETEKbCm4D6nAuo4Hc/8Bdo=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
|
||||
let
|
||||
pname = "jbrowse";
|
||||
version = "2.15.4";
|
||||
version = "2.16.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/GMOD/jbrowse-components/releases/download/v${version}/jbrowse-desktop-v${version}-linux.AppImage";
|
||||
sha256 = "sha256-ojIvC93dx9BSnUw7zBpDMBD0xPCMG4GUH1e5ZRGd9pk=";
|
||||
sha256 = "sha256-Nf+Dp1XVXgY1+iih7/cvzxnfCKdgHz5kpefdMucrlIA=";
|
||||
};
|
||||
|
||||
appimageContents = appimageTools.extractType2 {
|
||||
|
||||
@@ -16,11 +16,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gtkwave";
|
||||
version = "3.3.120";
|
||||
version = "3.3.121";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/gtkwave/${pname}-gtk3-${version}.tar.gz";
|
||||
sha256 = "sha256-XalIY/suXYjMAZ4r/cZ2AiOYETiUtYXYZOEcqDQbJNg=";
|
||||
sha256 = "sha256-VKpFeI1tUq+2WcOu8zWq/eDvLImQp3cPjqpk5X8ic0Y=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config wrapGAppsHook3 ];
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "systemc";
|
||||
version = "3.0.0";
|
||||
version = "3.0.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "accellera-official";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-qeQUrPhD+Gb1lResM7NZzO/vEgJd3NE6lbnM380VVa0=";
|
||||
sha256 = "sha256-ReYRKx7H9rxVhvY9gAdxrMu5nlsK2FcVIzfgvZroD/E=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
@@ -9,13 +9,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "fast-downward";
|
||||
version = "23.06.0";
|
||||
version = "24.06.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "aibasel";
|
||||
repo = "downward";
|
||||
rev = "release-${version}";
|
||||
sha256 = "sha256-yNaMyS47yxc/p5Rs/kHwD/pgjGXnHBdybYdo1GIEmA4=";
|
||||
sha256 = "sha256-iIBoJZCFd05bKUeftvl2YBTmSQuFvATIQAYMITDywWA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake python3.pkgs.wrapPython ];
|
||||
|
||||
@@ -54,6 +54,13 @@ stdenv.mkDerivation rec {
|
||||
# fix those bugs themselves. This is for critical bugfixes, where "critical"
|
||||
# == "causes (transient) doctest failures / somebody complained".
|
||||
bugfixPatches = [
|
||||
# https://github.com/sagemath/sage/pull/38628, landed in 10.5.beta4
|
||||
(fetchpatch {
|
||||
name = "pari-stack-cysignals-exception.patch";
|
||||
url = "https://github.com/sagemath/sage/commit/4a9c985b769b1209902c970ade1892f18ab48c10.diff";
|
||||
hash = "sha256-S6NdonB7needJlQdx52Huk34Q8/vG3nyGicA5JpsdWc=";
|
||||
})
|
||||
|
||||
# https://github.com/sagemath/sage/pull/38851, landed in 10.5.beta8
|
||||
(fetchpatch {
|
||||
name = "glpk-aarch64-hang-workaround.patch";
|
||||
|
||||
@@ -14,14 +14,14 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "simgrid";
|
||||
version = "3.35";
|
||||
version = "3.36";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "framagit.org";
|
||||
owner = pname;
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-WaFANZiPfiN/utfNZbwyH5mxgJNWafPMCcL863V8w0g=";
|
||||
sha256 = "sha256-7w4ObbMem1Y8Lh9MOcdCSEktTDRkvVKmKlS9adm15oE=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ boost ];
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "sumo";
|
||||
version = "1.20.0";
|
||||
version = "1.21.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "eclipse";
|
||||
repo = "sumo";
|
||||
rev = "v${lib.replaceStrings ["."] ["_"] version}";
|
||||
hash = "sha256-y/bkdDWrb1KB0EOVSJPfPVYHGp/zQ2+Shb6eLsFQRNQ=";
|
||||
hash = "sha256-VST3ZJuDQBWf+YoN0kPyLrlXWmJABubUFDsKEMxfxHY=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
||||
@@ -33,20 +33,20 @@
|
||||
with python3Packages;
|
||||
buildPythonApplication rec {
|
||||
pname = "kitty";
|
||||
version = "0.36.4";
|
||||
version = "0.37.0";
|
||||
format = "other";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kovidgoyal";
|
||||
repo = "kitty";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-nN0y2VKK5UNaozpHQNPN7AYkto9z6rJNpYRJhvLPtVQ=";
|
||||
hash = "sha256-xxM5nqEr7avtJUlcsrA/KXOTxSajIg7kDQM6Q4V+6WM=";
|
||||
};
|
||||
|
||||
goModules = (buildGo123Module {
|
||||
pname = "kitty-go-modules";
|
||||
inherit src version;
|
||||
vendorHash = "sha256-8hsQH7OdsxeVG6pomuxdmTXNmQYBROoUUxoC10LeLFo=";
|
||||
vendorHash = "sha256-d5jRhOm53HDGnsU5Lg5tVGU/9z8RGqORzS53hOyIKBk=";
|
||||
}).goModules;
|
||||
|
||||
buildInputs = [
|
||||
@@ -55,6 +55,7 @@ buildPythonApplication rec {
|
||||
simde
|
||||
lcms2
|
||||
librsync
|
||||
matplotlib
|
||||
openssl.dev
|
||||
xxHash
|
||||
] ++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
|
||||
@@ -69,7 +69,7 @@ let
|
||||
|
||||
x86_64-darwin = fetchzip {
|
||||
url = "https://release.axocdn.com/darwin/GitKraken-v${version}.zip";
|
||||
hash = "sha256-21VwDFw2dyySoc4NC/RR3k/VtksqaZ5vkdx0z5MKqLc=";
|
||||
hash = "sha256-fPvEItavxFwUbk3WsTBvzRMu7fjnm5HxybEueHn//Q4=";
|
||||
};
|
||||
|
||||
aarch64-darwin = fetchzip {
|
||||
|
||||
@@ -14,12 +14,12 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "bino";
|
||||
version = "2.2";
|
||||
version = "2.3";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://git.marlam.de/git/bino.git";
|
||||
rev = "bino-${finalAttrs.version}";
|
||||
hash = "sha256-t7bkpYOswGEjUg+k2gjUkWwZJjj44KIVrEQs5P4DoSI=";
|
||||
hash = "sha256-3DnEVde7LzaQUMhPi/RosRIW9j8bbkPVkihO5swCbws=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
{ lib, stdenv, fetchurl, makeWrapper, libglvnd, libnotify, jre, zip }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "14.0.0";
|
||||
version = "14.1.0";
|
||||
pname = "mediathekview";
|
||||
src = fetchurl {
|
||||
url = "https://download.mediathekview.de/stabil/MediathekView-${version}-linux.tar.gz";
|
||||
sha256 = "sha256-vr0yqKVRodtXalHEIsm5gdEp9wPU9U5nnYhMk7IiPF4=";
|
||||
sha256 = "sha256-2dC7y4SbGsjU6UBHbfye1MUNiLvIQjqTcqPX0I11qIk=";
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -9,14 +9,14 @@
|
||||
|
||||
buildLua (finalAttrs: {
|
||||
pname = "uosc";
|
||||
version = "5.5.0";
|
||||
version = "5.6.0";
|
||||
scriptPath = "src/uosc";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tomasklaen";
|
||||
repo = "uosc";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-WFsqA5kGefQmvihLUuQBfMmKoUHiO7ofxpwISRygRm4=";
|
||||
hash = "sha256-oEU1mPDzaW5j6zMpnSn1baQ+qlr/MtErxRfiyVBWMHU=";
|
||||
};
|
||||
passthru.updateScript = gitUpdater { };
|
||||
|
||||
|
||||
@@ -2,16 +2,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "cntr";
|
||||
version = "1.5.3";
|
||||
version = "1.5.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Mic92";
|
||||
repo = "cntr";
|
||||
rev = version;
|
||||
sha256 = "sha256-spa4qPEhpNSZIk16jeH9YEr4g9JcVmpetHz72A/ZAPY=";
|
||||
sha256 = "sha256-ErGratd1RCynE+iS+qn9feJi5o9f94lUNJZfy4XAjkc=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-YN8EtUXKtT8Xc0RnW7QqL+awyWy5xFKWhYMxgYG28I4=";
|
||||
cargoHash = "sha256-4EDAQ0MG0BTN0L3W4Jm0IdVY8vj5U3faO+ruUjLMBMY=";
|
||||
|
||||
passthru.tests = nixosTests.cntr;
|
||||
|
||||
|
||||
@@ -17,13 +17,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "colima";
|
||||
version = "0.7.5";
|
||||
version = "0.7.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "abiosoft";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-WInmoTUaEm2kQ7esZgPj3YIHmHbBrlBTWcLPC9/2MdY=";
|
||||
hash = "sha256-S8KmwUN5ZU21P/i6X9uSmQ25nMHZxYKd6XtawrwP6yU=";
|
||||
# We need the git revision
|
||||
leaveDotGit = true;
|
||||
postFetch = ''
|
||||
@@ -35,7 +35,7 @@ buildGoModule rec {
|
||||
nativeBuildInputs = [ installShellFiles makeWrapper ]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.DarwinTools ];
|
||||
|
||||
vendorHash = "sha256-niuBo2YUUYKH0eSApOByNLrcHqr9m5VKGoiGp1fKklg=";
|
||||
vendorHash = "sha256-caqQA+vDtC5s9qehMIMAcl8JD3Ls2wCSfOpUFPFQ9zY=";
|
||||
|
||||
# disable flaky Test_extractZones
|
||||
# https://hydra.nixos.org/build/212378003/log
|
||||
|
||||
@@ -49,6 +49,9 @@
|
||||
yasm,
|
||||
glslang,
|
||||
nixosTests,
|
||||
# If open-watcom-bin is not passed, VirtualBox will fall back to use
|
||||
# the shipped alternative sources (assembly).
|
||||
open-watcom-bin,
|
||||
makeself,
|
||||
perl,
|
||||
vulkan-loader,
|
||||
@@ -230,11 +233,18 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
})
|
||||
# While the KVM patch should not break any other behavior if --with-kvm is not specified,
|
||||
# we don't take any chances and only apply it if people actually want to use KVM support.
|
||||
++ optional enableKvm (fetchpatch {
|
||||
name = "virtualbox-${finalAttrs.virtualboxVersion}-kvm-dev-${finalAttrs.kvmPatchVersion}.patch";
|
||||
url = "https://github.com/cyberus-technology/virtualbox-kvm/releases/download/dev-${finalAttrs.kvmPatchVersion}/kvm-backend-${finalAttrs.virtualboxVersion}-dev-${finalAttrs.kvmPatchVersion}.patch";
|
||||
hash = finalAttrs.kvmPatchHash;
|
||||
})
|
||||
++ optional enableKvm (
|
||||
let
|
||||
patchVboxVersion =
|
||||
# There is no updated patch for 7.0.22 yet, but the older one still applies.
|
||||
if finalAttrs.virtualboxVersion == "7.0.22" then "7.0.20" else finalAttrs.virtualboxVersion;
|
||||
in
|
||||
fetchpatch {
|
||||
name = "virtualbox-${finalAttrs.virtualboxVersion}-kvm-dev-${finalAttrs.kvmPatchVersion}.patch";
|
||||
url = "https://github.com/cyberus-technology/virtualbox-kvm/releases/download/dev-${finalAttrs.kvmPatchVersion}/kvm-backend-${patchVboxVersion}-dev-${finalAttrs.kvmPatchVersion}.patch";
|
||||
hash = finalAttrs.kvmPatchHash;
|
||||
}
|
||||
)
|
||||
++ [
|
||||
./qt-dependency-paths.patch
|
||||
# https://github.com/NixOS/nixpkgs/issues/123851
|
||||
@@ -292,6 +302,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
${optionalString (!enableHardening) "--disable-hardening"} \
|
||||
${optionalString (!enable32bitGuests) "--disable-vmmraw"} \
|
||||
${optionalString enableWebService "--enable-webservice"} \
|
||||
${optionalString (open-watcom-bin != null) "--with-ow-dir=${open-watcom-bin}"} \
|
||||
${optionalString (enableKvm) "--with-kvm"} \
|
||||
${extraConfigureFlags} \
|
||||
--disable-kmods
|
||||
|
||||
@@ -89,7 +89,7 @@ in
|
||||
memory.propagatedBuildInputs = [ pkgs.gnome-system-monitor ];
|
||||
messagereceiver = { };
|
||||
mocp.propagatedBuildInputs = [ pkgs.moc ];
|
||||
mpd.propagatedBuildInputs = [ pkgs.mpc-cli ];
|
||||
mpd.propagatedBuildInputs = [ pkgs.mpc ];
|
||||
network.propagatedBuildInputs = [ py.netifaces pkgs.iw ];
|
||||
network_traffic.propagatedBuildInputs = [ py.netifaces ];
|
||||
nic.propagatedBuildInputs = [ py.netifaces pkgs.iw ];
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
{
|
||||
runCommand,
|
||||
srcOnly,
|
||||
emptyDirectory,
|
||||
glibc,
|
||||
}:
|
||||
|
||||
let
|
||||
emptySrc = srcOnly emptyDirectory;
|
||||
glibcSrc = srcOnly glibc;
|
||||
in
|
||||
|
||||
runCommand "srcOnly-tests" { } ''
|
||||
# Test that emptySrc is empty
|
||||
if [ -n "$(ls -A ${emptySrc})" ]; then
|
||||
echo "emptySrc is not empty"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Test that glibcSrc is not empty
|
||||
if [ -z "$(ls -A ${glibcSrc})" ]; then
|
||||
echo "glibcSrc is empty"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Make $out exist to avoid build failure
|
||||
mkdir -p $out
|
||||
''
|
||||
@@ -3,6 +3,8 @@
|
||||
fetchFromGitHub,
|
||||
buildGoModule,
|
||||
xorg,
|
||||
stdenv,
|
||||
apple-sdk_14,
|
||||
}:
|
||||
buildGoModule rec {
|
||||
pname = "1fps";
|
||||
@@ -23,7 +25,7 @@ buildGoModule rec {
|
||||
xorg.libX11
|
||||
xorg.libXtst
|
||||
xorg.libXi
|
||||
];
|
||||
] ++ lib.optional stdenv.hostPlatform.isDarwin apple-sdk_14;
|
||||
|
||||
meta = {
|
||||
description = "Encrypted Screen Sharing";
|
||||
|
||||
@@ -1,67 +1,75 @@
|
||||
{ lib
|
||||
, fetchurl
|
||||
, stdenvNoCC
|
||||
, copyDesktopItems
|
||||
, makeDesktopItem
|
||||
, makeWrapper
|
||||
, unzip
|
||||
, electron
|
||||
, commandLineArgs ? ""
|
||||
{
|
||||
lib,
|
||||
fetchurl,
|
||||
stdenvNoCC,
|
||||
copyDesktopItems,
|
||||
makeDesktopItem,
|
||||
makeWrapper,
|
||||
unzip,
|
||||
electron,
|
||||
commandLineArgs ? "",
|
||||
}:
|
||||
|
||||
stdenvNoCC.mkDerivation (finalAttrs: let
|
||||
icon = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/toeverything/AFFiNE/v${finalAttrs.version}/packages/frontend/core/public/favicon-192.png";
|
||||
hash = "sha256-smZ5W7fy3TK3bvjwV4i71j2lVmKSZcyhMhcWfPxNnN4=";
|
||||
};
|
||||
in {
|
||||
pname = "affine";
|
||||
version = "0.17.0";
|
||||
src = fetchurl {
|
||||
url = "https://github.com/toeverything/AFFiNE/releases/download/v${finalAttrs.version}/affine-${finalAttrs.version}-stable-linux-x64.zip";
|
||||
hash = "sha256-7Gaiv3XBxpHcI4curNlkN8kXcJZrD4WQS8ciqcabRMs=";
|
||||
};
|
||||
nativeBuildInputs = [
|
||||
copyDesktopItems
|
||||
makeWrapper
|
||||
unzip
|
||||
];
|
||||
postInstall = ''
|
||||
mkdir -p $out/lib
|
||||
cp -r ./resources/* -t $out/lib/
|
||||
mkdir -p $out/share/doc/affine/
|
||||
cp LICENSE* $out/share/doc/affine/
|
||||
install -Dm644 ${icon} $out/share/pixmaps/affine.png
|
||||
makeWrapper "${electron}/bin/electron" $out/bin/affine \
|
||||
--inherit-argv0 \
|
||||
--add-flags $out/lib/app.asar \
|
||||
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" \
|
||||
--add-flags ${lib.escapeShellArg commandLineArgs}
|
||||
'';
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
name = "affine";
|
||||
desktopName = "AFFiNE";
|
||||
exec = "affine %U";
|
||||
terminal = false;
|
||||
icon = "affine";
|
||||
startupWMClass = "affine";
|
||||
categories = ["Utility"];
|
||||
})
|
||||
];
|
||||
meta = with lib; {
|
||||
description = "Workspace with fully merged docs, whiteboards and databases";
|
||||
longDescription = ''
|
||||
AFFiNE is an open-source, all-in-one workspace and an operating
|
||||
system for all the building blocks that assemble your knowledge
|
||||
base and much more -- wiki, knowledge management, presentation
|
||||
and digital assets
|
||||
stdenvNoCC.mkDerivation (
|
||||
finalAttrs:
|
||||
let
|
||||
icon = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/toeverything/AFFiNE/v${finalAttrs.version}/packages/frontend/core/public/favicon-192.png";
|
||||
hash = "sha256-smZ5W7fy3TK3bvjwV4i71j2lVmKSZcyhMhcWfPxNnN4=";
|
||||
};
|
||||
in
|
||||
{
|
||||
pname = "affine";
|
||||
version = "0.17.5";
|
||||
src = fetchurl {
|
||||
url = "https://github.com/toeverything/AFFiNE/releases/download/v${finalAttrs.version}/affine-${finalAttrs.version}-stable-linux-x64.zip";
|
||||
hash = "sha256-lK5DDI9CKRneY4AwMI4r1qlGyYtQG4Xi8Ys4I3jawTk=";
|
||||
};
|
||||
nativeBuildInputs = [
|
||||
copyDesktopItems
|
||||
makeWrapper
|
||||
unzip
|
||||
];
|
||||
postInstall = ''
|
||||
mkdir -p $out/lib
|
||||
cp -r ./resources/* -t $out/lib/
|
||||
mkdir -p $out/share/doc/affine/
|
||||
cp LICENSE* $out/share/doc/affine/
|
||||
install -Dm644 ${icon} $out/share/pixmaps/affine.png
|
||||
makeWrapper "${electron}/bin/electron" $out/bin/affine \
|
||||
--inherit-argv0 \
|
||||
--add-flags $out/lib/app.asar \
|
||||
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" \
|
||||
--add-flags ${lib.escapeShellArg commandLineArgs}
|
||||
'';
|
||||
homepage = "https://affine.pro/";
|
||||
downloadPage = "https://affine.pro/download";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [richar redyf];
|
||||
mainProgram = "affine";
|
||||
platforms = ["x86_64-linux"];
|
||||
};
|
||||
})
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
name = "affine";
|
||||
desktopName = "AFFiNE";
|
||||
exec = "affine %U";
|
||||
terminal = false;
|
||||
icon = "affine";
|
||||
startupWMClass = "affine";
|
||||
categories = [ "Utility" ];
|
||||
})
|
||||
];
|
||||
meta = {
|
||||
description = "Workspace with fully merged docs, whiteboards and databases";
|
||||
longDescription = ''
|
||||
AFFiNE is an open-source, all-in-one workspace and an operating
|
||||
system for all the building blocks that assemble your knowledge
|
||||
base and much more -- wiki, knowledge management, presentation
|
||||
and digital assets
|
||||
'';
|
||||
homepage = "https://affine.pro/";
|
||||
downloadPage = "https://affine.pro/download";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [
|
||||
richar
|
||||
redyf
|
||||
];
|
||||
mainProgram = "affine";
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
}
|
||||
)
|
||||
|
||||
@@ -41,13 +41,13 @@ let
|
||||
in
|
||||
buildGoModule rec {
|
||||
pname = "amazon-ssm-agent";
|
||||
version = "3.3.859.0";
|
||||
version = "3.3.987.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "aws";
|
||||
repo = "amazon-ssm-agent";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-Qxzq91GXOrssBO9VaQTkLZjVqdpUYoYq3N/rakwewJs=";
|
||||
hash = "sha256-uwAMDFSIeM3tE+F/QLUxXVItnfsqyGhAPybaG5JxhZM=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
||||
@@ -29,13 +29,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "amdvlk";
|
||||
version = "2024.Q3.2";
|
||||
version = "2024.Q3.3";
|
||||
|
||||
src = fetchRepoProject {
|
||||
name = "amdvlk-src";
|
||||
manifest = "https://github.com/GPUOpen-Drivers/AMDVLK.git";
|
||||
rev = "refs/tags/v-${finalAttrs.version}";
|
||||
hash = "sha256-1Svdr93ShjhaWJUTLn5y1kBM4hHey1dUVDiHqFIKgrU=";
|
||||
hash = "sha256-wIPubMsSaNGTykD/K0gxdba128TqW5nu4CjXoLkprc0=";
|
||||
};
|
||||
|
||||
buildInputs =
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
{
|
||||
antora,
|
||||
buildNpmPackage,
|
||||
fetchFromGitLab,
|
||||
lib,
|
||||
nix-update-script,
|
||||
}:
|
||||
buildNpmPackage rec {
|
||||
pname = "antora-lunr-extension";
|
||||
version = "1.0.0-alpha.8";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
hash = "sha256-GplCwhUl8jurD4FfO6/T3Vo1WFjg+rtAjWeIh35unk4=";
|
||||
owner = "antora";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-EtjZL6U/uSGSYSqtuatCkdWP0NHxRuht13D9OaM4x00=";
|
||||
|
||||
# Prevent tests from failing because they are fetching data at runtime.
|
||||
postPatch = ''
|
||||
substituteInPlace package.json --replace '"_mocha"' '""'
|
||||
'';
|
||||
|
||||
# Pointing $out to $out/lib/node_modules/@antora/lunr-extension simplifies
|
||||
# Antora's extension option usage from
|
||||
#
|
||||
# --extension ${pkgs.antora-lunr-extension}/lib/node_modules/@antora/lunr-extension
|
||||
#
|
||||
# to
|
||||
#
|
||||
# --extension ${pkgs.antora-lunr-extension}
|
||||
postInstall = ''
|
||||
directory="$(mktemp --directory)"
|
||||
|
||||
mv "$out/"{.,}* "$directory"
|
||||
mv "$directory/lib/node_modules/@antora/lunr-extension/"{.,}* "$out"
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
tests.run = antora.tests.run.override {
|
||||
antora-lunr-extension-test = true;
|
||||
};
|
||||
|
||||
updateScript = nix-update-script { };
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Antora extension adding offline, full-text search powered by Lunr";
|
||||
homepage = "https://gitlab.com/antora/antora-lunr-extension";
|
||||
license = lib.licenses.mpl20;
|
||||
|
||||
longDescription = ''
|
||||
This Antora extension is intended to be passed to `antora`'s `--extension`
|
||||
flag or injected into the [`antora.extensions`
|
||||
key](https://docs.antora.org/antora/3.1/extend/enable-extension).
|
||||
'';
|
||||
|
||||
maintainers = [ lib.maintainers.naho ];
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
{
|
||||
fetchFromGitLab,
|
||||
lib,
|
||||
stdenvNoCC,
|
||||
}:
|
||||
let
|
||||
srcFetchFromGitLab = {
|
||||
hash = "sha256-q2FwkwzjanxTIxjMpCyMpzPt782uYZiWVdZ7Eev79oM=";
|
||||
owner = "trueNAHO";
|
||||
repo = "antora-ui-default";
|
||||
rev = "83bf9bf5f22a6dee397f8b089eb0315c14a278b5";
|
||||
};
|
||||
in
|
||||
stdenvNoCC.mkDerivation {
|
||||
pname = "antora-ui-default";
|
||||
version = "0";
|
||||
|
||||
# The UI bundle is fetched from lib.maintainers.naho's antora-ui-default fork
|
||||
# for the following reasons:
|
||||
#
|
||||
# > The UI bundle is currently unpackaged [1] [2], and only accessible by
|
||||
# > fetching the latest GitLab artifact or building from source. Neither
|
||||
# > method is reliably reproducible, as artifacts are deleted over time and
|
||||
# > building from source requires insecure Node 10.
|
||||
# >
|
||||
# > The solution is to version control the UI bundle.
|
||||
# >
|
||||
# > [...]
|
||||
# >
|
||||
# > [1]: https://gitlab.com/antora/antora-ui-default/-/issues/135
|
||||
# > [2]: https://gitlab.com/antora/antora-ui-default/-/issues/211
|
||||
# >
|
||||
# > -- [3]
|
||||
#
|
||||
# To avoid bloating the repository archive size, the UI bundle is not stored
|
||||
# in Nixpkgs.
|
||||
#
|
||||
# For reference, the UI bundle from [3] is 300K large.
|
||||
#
|
||||
# [3]: https://gitlab.com/trueNAHO/antora-ui-default/-/commit/83bf9bf5f22a6dee397f8b089eb0315c14a278b5
|
||||
src = fetchFromGitLab srcFetchFromGitLab;
|
||||
|
||||
phases = [ "installPhase" ];
|
||||
|
||||
# Install '$src/ui-bundle.zip' to '$out/ui-bundle.zip' instead of '$out' to
|
||||
# prevent the ZIP from being misidentified as a binary [1].
|
||||
#
|
||||
# [1]: https://github.com/NixOS/nixpkgs/blob/8885a1e21ad43f8031c738a08029cd1d4dcbc2f7/pkgs/stdenv/generic/setup.sh#L792-L795
|
||||
installPhase = ''
|
||||
mkdir --parents "$out"
|
||||
cp "$src/ui-bundle.zip" "$out"
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Antora default UI bundle";
|
||||
homepage = "https://gitlab.com/antora/antora-ui-default";
|
||||
license = lib.licenses.mpl20;
|
||||
|
||||
longDescription = ''
|
||||
> A UI bundle is a [ZIP
|
||||
> archive](https://en.wikipedia.org/wiki/Zip_(file_format)) or directory
|
||||
> that contains one or more UIs for a site.
|
||||
>
|
||||
> -- Antora
|
||||
> https://docs.antora.org/antora/3.1/playbook/ui-bundle-url
|
||||
|
||||
This UI bundle is available under `$out/ui-bundle.zip` and intended to be
|
||||
passed to `antora`'s `--ui-bundle-url` flag or injected into the
|
||||
[`ui.bundle.url`
|
||||
key](https://docs.antora.org/antora/3.1/playbook/ui-bundle-url/#url-key)
|
||||
to avoid irreproducible
|
||||
[`https://gitlab.com/antora/antora-ui-default/-/jobs/artifacts/HEAD/raw/build/ui-bundle.zip?job=bundle-stable`](https://gitlab.com/${srcFetchFromGitLab.owner}/${srcFetchFromGitLab.repo}/-/blob/${srcFetchFromGitLab.rev}/README.adoc#user-content-use-the-default-ui)
|
||||
references.
|
||||
'';
|
||||
|
||||
maintainers = [ lib.maintainers.naho ];
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
}
|
||||
+20
-3
@@ -1,4 +1,10 @@
|
||||
{ lib, buildNpmPackage, fetchFromGitLab }:
|
||||
{
|
||||
buildNpmPackage,
|
||||
callPackage,
|
||||
fetchFromGitLab,
|
||||
lib,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
buildNpmPackage rec {
|
||||
pname = "antora";
|
||||
@@ -24,11 +30,22 @@ buildNpmPackage rec {
|
||||
ln -s $out/lib/node_modules/antora-build/packages/cli/bin/antora $out/bin/antora
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
tests.run = callPackage ./test { };
|
||||
updateScript = nix-update-script { };
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Modular documentation site generator. Designed for users of Asciidoctor";
|
||||
mainProgram = "antora";
|
||||
homepage = "https://antora.org";
|
||||
license = licenses.mpl20;
|
||||
maintainers = [ maintainers.ehllie ];
|
||||
mainProgram = "antora";
|
||||
|
||||
maintainers = with maintainers; [
|
||||
ehllie
|
||||
naho
|
||||
];
|
||||
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,66 @@
|
||||
{
|
||||
antora,
|
||||
antora-lunr-extension,
|
||||
antora-lunr-extension-test ? false,
|
||||
antora-ui-default,
|
||||
gitMinimal,
|
||||
lib,
|
||||
stdenvNoCC,
|
||||
}:
|
||||
stdenvNoCC.mkDerivation {
|
||||
name = "${antora.pname}${lib.optionalString antora-lunr-extension-test "-${antora-lunr-extension.pname}"}-test";
|
||||
src = ./minimal_working_example;
|
||||
|
||||
postPatch =
|
||||
let
|
||||
date = lib.escapeShellArg "1/1/1970 00:00:00 +0000";
|
||||
in
|
||||
''
|
||||
# > In order to use a local content repository with Antora, even when using
|
||||
# > the worktree (HEAD), the repository must have at least one commit.
|
||||
# >
|
||||
# > -- https://docs.antora.org/antora/3.1/playbook/content-source-url
|
||||
git init &&
|
||||
GIT_AUTHOR_DATE=${date} \
|
||||
GIT_AUTHOR_EMAIL= \
|
||||
GIT_AUTHOR_NAME=Nixpkgs \
|
||||
GIT_COMMITTER_DATE=${date} \
|
||||
GIT_COMMITTER_EMAIL= \
|
||||
GIT_COMMITTER_NAME=Nixpkgs \
|
||||
git commit --allow-empty --allow-empty-message --message ""
|
||||
'';
|
||||
|
||||
buildPhase =
|
||||
let
|
||||
playbook = builtins.toFile "antora-playbook.json" (
|
||||
builtins.toJSON {
|
||||
content.sources = [ { url = "~+"; } ];
|
||||
runtime.log.failure_level = "warn";
|
||||
}
|
||||
);
|
||||
in
|
||||
''
|
||||
# The --to-dir and --ui-bundle-url options are not included in the
|
||||
# playbook due to Antora and Nix limitations.
|
||||
antora ${
|
||||
lib.cli.toGNUCommandLineShell { } {
|
||||
cache-dir = "$(mktemp --directory)";
|
||||
extension = if antora-lunr-extension-test then antora-lunr-extension else false;
|
||||
to-dir = placeholder "out";
|
||||
ui-bundle-url = "${antora-ui-default}/ui-bundle.zip";
|
||||
}
|
||||
} "${playbook}"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
antora
|
||||
gitMinimal
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Reproducible Antora test framework";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = [ lib.maintainers.naho ];
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
---
|
||||
name: Antora
|
||||
|
||||
nav:
|
||||
- modules/ROOT/nav.adoc
|
||||
|
||||
version: ~
|
||||
@@ -0,0 +1 @@
|
||||
* xref:index.adoc[]
|
||||
@@ -0,0 +1,3 @@
|
||||
= Antora
|
||||
|
||||
== Minimal Working Example
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user