Merge master into haskell-updates

This commit is contained in:
github-actions[bot]
2024-11-02 00:16:04 +00:00
committed by GitHub
427 changed files with 19449 additions and 19785 deletions
+1
View File
@@ -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":
+6 -3
View File
@@ -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
+1
View File
@@ -39,4 +39,5 @@ versionCheckHook.section.md
waf.section.md
zig.section.md
xcbuild.section.md
xfce4-dev-tools.section.md
```
+5
View File
@@ -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
View File
@@ -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
+9
View File
@@ -1290,6 +1290,15 @@ lib.mapAttrs mkLicense ({
watcom = {
spdxId = "Watcom-1.0";
fullName = "Sybase Open Watcom Public License 1.0";
# Despite being OSIapproved, this licence is not considered FOSS
# by Debian, Fedora, or the FSF, due to an onerous restriction that
# requires publication of even privatelydeployed modifications.
# This violates the FSFs freedom 3 and Debians “desert island
# test” and “dissident test”.
#
# See: <https://en.wikipedia.org/wiki/Sybase_Open_Watcom_Public_License>
free = false;
redistributable = true;
};
w3c = {
+20
View File
@@ -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 = {
+3
View File
@@ -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.
+41
View File
@@ -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'"} \
+42 -29
View File
@@ -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
+86 -21
View File
@@ -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'`.
'';
};
+3
View File
@@ -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")
+1 -1
View File
@@ -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 ];
+3 -12
View File
@@ -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'")
'';
})
+2 -2
View File
@@ -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
View File
@@ -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")
'';
}
)
+2
View File
@@ -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" ];
};
-82
View File
@@ -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 = [
-63
View File
@@ -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";
};
}
+2 -2
View File
@@ -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}";
};
+2 -2
View File
@@ -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 ];
+2 -2
View File
@@ -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 ];
+2 -2
View File
@@ -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";
+2 -2
View File
@@ -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";
+3 -3
View File
@@ -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 ];
+8 -8
View File
@@ -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 ];
-132
View File
@@ -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;
};
}
+3 -3
View File
@@ -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 = [ "." ];
+2 -2
View File
@@ -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 {
+2 -2
View File
@@ -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 ];
+2 -2
View File
@@ -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 = [
+2 -2
View File
@@ -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 ];
+2 -2
View File
@@ -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 {
+2 -2
View File
@@ -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=";
};
+2 -2
View File
@@ -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 ];
+28
View File
@@ -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 -1
View File
@@ -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";
+72 -64
View File
@@ -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" ];
};
}
)
+2 -2
View File
@@ -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;
+2 -2
View File
@@ -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;
};
}
@@ -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;
};
}
+66
View File
@@ -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