Merge master into haskell-updates
This commit is contained in:
commit
e1cfe064a8
189 changed files with 38044 additions and 1418 deletions
1
.mailmap
1
.mailmap
|
@ -1,2 +1,3 @@
|
|||
Daniel Løvbrøtte Olsen <me@dandellion.xyz> <daniel.olsen99@gmail.com>
|
||||
R. RyanTM <ryantm-bot@ryantm.com>
|
||||
Sandro <sandro.jaeckel@gmail.com>
|
||||
|
|
|
@ -9445,6 +9445,12 @@
|
|||
githubId = 772914;
|
||||
name = "Mikael Voss";
|
||||
};
|
||||
mwolfe = {
|
||||
email = "corp@m0rg.dev";
|
||||
github = "m0rg-dev";
|
||||
githubId = 38578268;
|
||||
name = "Morgan Wolfe";
|
||||
};
|
||||
maxwilson = {
|
||||
email = "nixpkgs@maxwilson.dev";
|
||||
github = "mwilsoncoding";
|
||||
|
@ -13730,12 +13736,6 @@
|
|||
githubId = 2164118;
|
||||
name = "Tobias Bora";
|
||||
};
|
||||
tohl = {
|
||||
email = "tom@logand.com";
|
||||
github = "tohl";
|
||||
githubId = 12159013;
|
||||
name = "Tomas Hlavaty";
|
||||
};
|
||||
tokudan = {
|
||||
email = "git@danielfrank.net";
|
||||
github = "tokudan";
|
||||
|
|
|
@ -48,7 +48,17 @@ let
|
|||
let
|
||||
result = builtins.tryEval pathContent;
|
||||
|
||||
dedupResults = lst: nubOn ({ package, attrPath }: package.updateScript) (lib.concatLists lst);
|
||||
somewhatUniqueRepresentant =
|
||||
{ package, attrPath }: {
|
||||
inherit (package) updateScript;
|
||||
# Some updaters use the same `updateScript` value for all packages.
|
||||
# Also compare `meta.description`.
|
||||
position = package.meta.position or null;
|
||||
# We cannot always use `meta.position` since it might not be available
|
||||
# or it might be shared among multiple packages.
|
||||
};
|
||||
|
||||
dedupResults = lst: nubOn somewhatUniqueRepresentant (lib.concatLists lst);
|
||||
in
|
||||
if result.success then
|
||||
let
|
||||
|
|
|
@ -437,6 +437,13 @@
|
|||
<link xlink:href="options.html#opt-services.listmonk.enable">services.listmonk</link>.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<link xlink:href="https://uptime.kuma.pet/">Uptime
|
||||
Kuma</link>, a fancy self-hosted monitoring tool. Available as
|
||||
<link linkend="opt-services.uptime-kuma.enable">services.uptime-kuma</link>.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</section>
|
||||
<section xml:id="sec-release-22.11-incompatibilities">
|
||||
|
@ -650,6 +657,14 @@
|
|||
module removed, due to lack of maintainers.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
The <literal>nix.checkConfig</literal> option now fully
|
||||
disables the config check. The new
|
||||
<literal>nix.checkAllErrors</literal> option behaves like
|
||||
<literal>nix.checkConfig</literal> previously did.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>generateOptparseApplicativeCompletions</literal> and
|
||||
|
@ -858,6 +873,34 @@
|
|||
has been hardened.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
The <literal>services.grafana</literal> options were converted
|
||||
to a
|
||||
<link xlink:href="https://github.com/NixOS/rfcs/blob/master/rfcs/0042-config-option.md">RFC
|
||||
0042</link> configuration.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
The <literal>services.grafana.provision.datasources</literal>
|
||||
and <literal>services.grafana.provision.dashboards</literal>
|
||||
options were converted to a
|
||||
<link xlink:href="https://github.com/NixOS/rfcs/blob/master/rfcs/0042-config-option.md">RFC
|
||||
0042</link> configuration. They also now support specifying
|
||||
the provisioning YAML file with <literal>path</literal>
|
||||
option.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
The <literal>services.grafana.provision.alerting</literal>
|
||||
option was added. It includes suboptions for every
|
||||
alerting-related objects (with the exception of
|
||||
<literal>notifiers</literal>), which means it’s now possible
|
||||
to configure modern Grafana alerting declaratively.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Matrix Synapse now requires entries in the
|
||||
|
@ -932,6 +975,48 @@
|
|||
re-enabled it.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Nextcloud has been updated to version
|
||||
<emphasis role="strong">25</emphasis>. Additionally the
|
||||
following things have changed for Nextcloud in NixOS:
|
||||
</para>
|
||||
<itemizedlist spacing="compact">
|
||||
<listitem>
|
||||
<para>
|
||||
For Nextcloud <emphasis role="strong">>=24</emphasis>,
|
||||
the default PHP version is 8.1.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Nextcloud <emphasis role="strong">23</emphasis> has been
|
||||
removed since it will reach its
|
||||
<link xlink:href="https://github.com/nextcloud/server/wiki/Maintenance-and-Release-Schedule/d76576a12a626d53305d480a6065b57cab705d3d">end
|
||||
of life in December 2022</link>.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
For <literal>system.stateVersion</literal> being
|
||||
<emphasis role="strong">>=22.11</emphasis>, Nextcloud
|
||||
25 will be installed by default. For older versions,
|
||||
Nextcloud 24 will be installed.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Please ensure that you only upgrade on major release at a
|
||||
time! Nextcloud doesn’t support upgrades across multiple
|
||||
versions, i.e. an upgrade from
|
||||
<emphasis role="strong">23</emphasis> to
|
||||
<emphasis role="strong">25</emphasis> is only possible
|
||||
when upgrading to <emphasis role="strong">24</emphasis>
|
||||
first.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Add udev rules for the Teensy family of microcontrollers.
|
||||
|
|
|
@ -148,6 +148,8 @@ Available as [services.patroni](options.html#opt-services.patroni.enable).
|
|||
|
||||
- [Listmonk](https://listmonk.app), a self-hosted newsletter manager. Enable using [services.listmonk](options.html#opt-services.listmonk.enable).
|
||||
|
||||
- [Uptime Kuma](https://uptime.kuma.pet/), a fancy self-hosted monitoring tool. Available as [services.uptime-kuma](#opt-services.uptime-kuma.enable).
|
||||
|
||||
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
|
||||
|
||||
## Backward Incompatibilities {#sec-release-22.11-incompatibilities}
|
||||
|
@ -216,6 +218,8 @@ Available as [services.patroni](options.html#opt-services.patroni.enable).
|
|||
|
||||
- virtlyst package and `services.virtlyst` module removed, due to lack of maintainers.
|
||||
|
||||
- The `nix.checkConfig` option now fully disables the config check. The new `nix.checkAllErrors` option behaves like `nix.checkConfig` previously did.
|
||||
|
||||
- `generateOptparseApplicativeCompletions` and `generateOptparseApplicativeCompletion` from `haskell.lib.compose`
|
||||
(and `haskell.lib`) have been deprecated in favor of `generateOptparseApplicativeCompletions` (plural!) as
|
||||
provided by the haskell package sets (so `haskellPackages.generateOptparseApplicativeCompletions` etc.).
|
||||
|
@ -278,6 +282,12 @@ Available as [services.patroni](options.html#opt-services.patroni.enable).
|
|||
|
||||
- The `services.matrix-synapse` systemd unit has been hardened.
|
||||
|
||||
- The `services.grafana` options were converted to a [RFC 0042](https://github.com/NixOS/rfcs/blob/master/rfcs/0042-config-option.md) configuration.
|
||||
|
||||
- The `services.grafana.provision.datasources` and `services.grafana.provision.dashboards` options were converted to a [RFC 0042](https://github.com/NixOS/rfcs/blob/master/rfcs/0042-config-option.md) configuration. They also now support specifying the provisioning YAML file with `path` option.
|
||||
|
||||
- The `services.grafana.provision.alerting` option was added. It includes suboptions for every alerting-related objects (with the exception of `notifiers`), which means it's now possible to configure modern Grafana alerting declaratively.
|
||||
|
||||
- Matrix Synapse now requires entries in the `state_group_edges` table to be unique, in order to prevent accidentally introducing duplicate information (for example, because a database backup was restored multiple times). If your Synapse database already has duplicate rows in this table, this could fail with an error and require manual remediation.
|
||||
|
||||
- The `diamond` package has been update from 0.8.36 to 2.0.15. See the [upstream release notes](https://github.com/bbuchfink/diamond/releases) for more details.
|
||||
|
@ -296,6 +306,16 @@ Available as [services.patroni](options.html#opt-services.patroni.enable).
|
|||
- The udisks2 service, available at `services.udisks2.enable`, is now disabled by default. It will automatically be enabled through services and desktop environments as needed.
|
||||
This also means that polkit will now actually be disabled by default. The default for `security.polkit.enable` was already flipped in the previous release, but udisks2 being enabled by default re-enabled it.
|
||||
|
||||
- Nextcloud has been updated to version **25**. Additionally the following things have changed
|
||||
for Nextcloud in NixOS:
|
||||
- For Nextcloud **>=24**, the default PHP version is 8.1.
|
||||
- Nextcloud **23** has been removed since it will reach its [end of life in December 2022](https://github.com/nextcloud/server/wiki/Maintenance-and-Release-Schedule/d76576a12a626d53305d480a6065b57cab705d3d).
|
||||
- For `system.stateVersion` being **>=22.11**, Nextcloud 25 will be installed by default. For older versions,
|
||||
Nextcloud 24 will be installed.
|
||||
- Please ensure that you only upgrade on major release at a time! Nextcloud doesn't support
|
||||
upgrades across multiple versions, i.e. an upgrade from **23** to **25** is only possible
|
||||
when upgrading to **24** first.
|
||||
|
||||
- Add udev rules for the Teensy family of microcontrollers.
|
||||
|
||||
- systemd-oomd is enabled by default. Depending on which systemd units have
|
||||
|
|
|
@ -718,6 +718,7 @@
|
|||
./services/monitoring/ups.nix
|
||||
./services/monitoring/uptime.nix
|
||||
./services/monitoring/vmagent.nix
|
||||
./services/monitoring/uptime-kuma.nix
|
||||
./services/monitoring/vnstat.nix
|
||||
./services/monitoring/zabbix-agent.nix
|
||||
./services/monitoring/zabbix-proxy.nix
|
||||
|
|
|
@ -59,7 +59,7 @@ let
|
|||
${mkKeyValuePairs cfg.settings}
|
||||
${cfg.extraOptions}
|
||||
'';
|
||||
checkPhase =
|
||||
checkPhase = lib.optionalString cfg.checkConfig (
|
||||
if pkgs.stdenv.hostPlatform != pkgs.stdenv.buildPlatform then ''
|
||||
echo "Ignoring validation for cross-compilation"
|
||||
''
|
||||
|
@ -72,9 +72,9 @@ let
|
|||
${cfg.package}/bin/nix show-config ${optionalString (isNixAtLeast "2.3pre") "--no-net"} \
|
||||
${optionalString (isNixAtLeast "2.4pre") "--option experimental-features nix-command"} \
|
||||
|& sed -e 's/^warning:/error:/' \
|
||||
| (! grep '${if cfg.checkConfig then "^error:" else "^error: unknown setting"}')
|
||||
| (! grep '${if cfg.checkAllErrors then "^error:" else "^error: unknown setting"}')
|
||||
set -o pipefail
|
||||
'';
|
||||
'');
|
||||
};
|
||||
|
||||
legacyConfMappings = {
|
||||
|
@ -395,8 +395,15 @@ in
|
|||
type = types.bool;
|
||||
default = true;
|
||||
description = lib.mdDoc ''
|
||||
If enabled (the default), checks for data type mismatches and that Nix
|
||||
can parse the generated nix.conf.
|
||||
If enabled, checks that Nix can parse the generated nix.conf.
|
||||
'';
|
||||
};
|
||||
|
||||
checkAllErrors = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = lib.mdDoc ''
|
||||
If enabled, checks the nix.conf parsing for any kind of error. When disabled, checks only for unknown settings.
|
||||
'';
|
||||
};
|
||||
|
||||
|
|
|
@ -106,9 +106,9 @@ in {
|
|||
}
|
||||
];
|
||||
|
||||
services.grafana.extraOptions = mkIf cfg.provisionGrafana {
|
||||
RENDERING_SERVER_URL = "http://localhost:${toString cfg.settings.service.port}/render";
|
||||
RENDERING_CALLBACK_URL = "http://localhost:${toString config.services.grafana.port}";
|
||||
services.grafana.settings.rendering = mkIf cfg.provisionGrafana {
|
||||
url = "http://localhost:${toString cfg.settings.service.port}/render";
|
||||
callback_url = "http://localhost:${toString config.services.grafana.port}";
|
||||
};
|
||||
|
||||
services.grafana-image-renderer.chromium = mkDefault pkgs.chromium;
|
||||
|
|
File diff suppressed because it is too large
Load diff
76
nixos/modules/services/monitoring/uptime-kuma.nix
Normal file
76
nixos/modules/services/monitoring/uptime-kuma.nix
Normal file
|
@ -0,0 +1,76 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.uptime-kuma;
|
||||
in
|
||||
{
|
||||
|
||||
options = {
|
||||
services.uptime-kuma = {
|
||||
enable = mkEnableOption (mdDoc "Uptime Kuma, this assumes a reverse proxy to be set.");
|
||||
|
||||
package = mkOption {
|
||||
type = types.package;
|
||||
example = literalExpression "pkgs.uptime-kuma";
|
||||
default = pkgs.uptime-kuma;
|
||||
defaultText = "pkgs.uptime-kuma";
|
||||
description = lib.mdDoc "Uptime Kuma package to use.";
|
||||
};
|
||||
|
||||
settings = lib.mkOption {
|
||||
type =
|
||||
lib.types.submodule { freeformType = with lib.types; attrsOf str; };
|
||||
default = { };
|
||||
example = {
|
||||
PORT = "4000";
|
||||
NODE_EXTRA_CA_CERTS = "/etc/ssl/certs/ca-certificates.crt";
|
||||
};
|
||||
description = lib.mdDoc ''
|
||||
Additional configuration for Uptime Kuma, see
|
||||
<https://github.com/louislam/uptime-kuma/wiki/Environment-Variables">
|
||||
for supported values.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
||||
services.uptime-kuma.settings = {
|
||||
DATA_DIR = "/var/lib/uptime-kuma/";
|
||||
NODE_ENV = mkDefault "production";
|
||||
};
|
||||
|
||||
systemd.services.uptime-kuma = {
|
||||
description = "Uptime Kuma";
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
environment = cfg.settings;
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
StateDirectory = "uptime-kuma";
|
||||
DynamicUser = true;
|
||||
ExecStart = "${cfg.package}/bin/uptime-kuma-server";
|
||||
Restart = "on-failure";
|
||||
ProtectHome = true;
|
||||
ProtectSystem = "strict";
|
||||
PrivateTmp = true;
|
||||
PrivateDevices = true;
|
||||
ProtectHostname = true;
|
||||
ProtectClock = true;
|
||||
ProtectKernelTunables = true;
|
||||
ProtectKernelModules = true;
|
||||
ProtectKernelLogs = true;
|
||||
ProtectControlGroups = true;
|
||||
NoNewPrivileges = true;
|
||||
RestrictRealtime = true;
|
||||
RestrictSUIDSGID = true;
|
||||
RemoveIPC = true;
|
||||
PrivateMounts = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -15,7 +15,7 @@
|
|||
<para>
|
||||
Litestream service is managed by a dedicated user named <literal>litestream</literal>
|
||||
which needs permission to the database file. Here's an example config which gives
|
||||
required permissions to access <link linkend="opt-services.grafana.database.path">
|
||||
required permissions to access <link linkend="opt-services.grafana.settings.database.path">
|
||||
grafana database</link>:
|
||||
<programlisting>
|
||||
{ pkgs, ... }:
|
||||
|
|
|
@ -120,7 +120,6 @@ in {
|
|||
" -conf ${pkgs.writeText "hound.json" cfg.config}";
|
||||
|
||||
};
|
||||
path = [ pkgs.git pkgs.mercurial pkgs.openssh ];
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -119,7 +119,7 @@ in
|
|||
assertions = [
|
||||
{
|
||||
assertion = !((cfg.webDriverSupport == true) && (cfg.playwrightSupport == true));
|
||||
message = "'services.changedetection-io.webDriverSupport' and 'services.changedetion-io.playwrightSupport' cannot be used together.";
|
||||
message = "'services.changedetection-io.webDriverSupport' and 'services.changedetection-io.playwrightSupport' cannot be used together.";
|
||||
}
|
||||
];
|
||||
|
||||
|
@ -135,7 +135,7 @@ in
|
|||
serviceConfig = {
|
||||
User = cfg.user;
|
||||
Group = cfg.group;
|
||||
StateDirectory = mkIf defaultStateDir "changedetion-io";
|
||||
StateDirectory = mkIf defaultStateDir "changedetection-io";
|
||||
StateDirectoryMode = mkIf defaultStateDir "0750";
|
||||
WorkingDirectory = cfg.datastorePath;
|
||||
Environment = lib.optional (cfg.baseURL != null) "BASE_URL=${cfg.baseURL}"
|
||||
|
@ -213,6 +213,7 @@ in
|
|||
};
|
||||
})
|
||||
];
|
||||
podman.defaultNetwork.dnsname.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -7,7 +7,6 @@ let
|
|||
eachSite = cfg.sites;
|
||||
user = "dokuwiki";
|
||||
webserver = config.services.${cfg.webserver};
|
||||
stateDir = hostName: "/var/lib/dokuwiki/${hostName}/data";
|
||||
|
||||
dokuwikiAclAuthConfig = hostName: cfg: pkgs.writeText "acl.auth-${hostName}.php" ''
|
||||
# acl.auth.php
|
||||
|
@ -325,17 +324,17 @@ in
|
|||
|
||||
{
|
||||
systemd.tmpfiles.rules = flatten (mapAttrsToList (hostName: cfg: [
|
||||
"d ${stateDir hostName}/attic 0750 ${user} ${webserver.group} - -"
|
||||
"d ${stateDir hostName}/cache 0750 ${user} ${webserver.group} - -"
|
||||
"d ${stateDir hostName}/index 0750 ${user} ${webserver.group} - -"
|
||||
"d ${stateDir hostName}/locks 0750 ${user} ${webserver.group} - -"
|
||||
"d ${stateDir hostName}/log 0750 ${user} ${webserver.group} - -"
|
||||
"d ${stateDir hostName}/media 0750 ${user} ${webserver.group} - -"
|
||||
"d ${stateDir hostName}/media_attic 0750 ${user} ${webserver.group} - -"
|
||||
"d ${stateDir hostName}/media_meta 0750 ${user} ${webserver.group} - -"
|
||||
"d ${stateDir hostName}/meta 0750 ${user} ${webserver.group} - -"
|
||||
"d ${stateDir hostName}/pages 0750 ${user} ${webserver.group} - -"
|
||||
"d ${stateDir hostName}/tmp 0750 ${user} ${webserver.group} - -"
|
||||
"d ${cfg.stateDir}/attic 0750 ${user} ${webserver.group} - -"
|
||||
"d ${cfg.stateDir}/cache 0750 ${user} ${webserver.group} - -"
|
||||
"d ${cfg.stateDir}/index 0750 ${user} ${webserver.group} - -"
|
||||
"d ${cfg.stateDir}/locks 0750 ${user} ${webserver.group} - -"
|
||||
"d ${cfg.stateDir}/log 0750 ${user} ${webserver.group} - -"
|
||||
"d ${cfg.stateDir}/media 0750 ${user} ${webserver.group} - -"
|
||||
"d ${cfg.stateDir}/media_attic 0750 ${user} ${webserver.group} - -"
|
||||
"d ${cfg.stateDir}/media_meta 0750 ${user} ${webserver.group} - -"
|
||||
"d ${cfg.stateDir}/meta 0750 ${user} ${webserver.group} - -"
|
||||
"d ${cfg.stateDir}/pages 0750 ${user} ${webserver.group} - -"
|
||||
"d ${cfg.stateDir}/tmp 0750 ${user} ${webserver.group} - -"
|
||||
] ++ lib.optional (cfg.aclFile != null) "C ${cfg.aclFile} 0640 ${user} ${webserver.group} - ${pkg hostName cfg}/share/dokuwiki/conf/acl.auth.php.dist"
|
||||
++ lib.optional (cfg.usersFile != null) "C ${cfg.usersFile} 0640 ${user} ${webserver.group} - ${pkg hostName cfg}/share/dokuwiki/conf/users.auth.php.dist"
|
||||
) eachSite);
|
||||
|
@ -359,7 +358,7 @@ in
|
|||
};
|
||||
|
||||
"~ ^/data/" = {
|
||||
root = "${stateDir hostName}";
|
||||
root = "${cfg.stateDir}";
|
||||
extraConfig = "internal;";
|
||||
};
|
||||
|
||||
|
|
|
@ -116,7 +116,7 @@ in
|
|||
RestrictRealtime = true;
|
||||
RestrictSUIDSGID = true;
|
||||
SystemCallArchitectures = "native";
|
||||
SystemCallFilter = [ "@system-service" "~@privileged" "~@resources" ];
|
||||
SystemCallFilter = [ "@system-service" "~@privileged" ];
|
||||
UMask = "0077";
|
||||
};
|
||||
|
||||
|
|
|
@ -156,7 +156,7 @@ in {
|
|||
package = mkOption {
|
||||
type = types.package;
|
||||
description = lib.mdDoc "Which package to use for the Nextcloud instance.";
|
||||
relatedPackages = [ "nextcloud23" "nextcloud24" ];
|
||||
relatedPackages = [ "nextcloud24" "nextcloud25" ];
|
||||
};
|
||||
phpPackage = mkOption {
|
||||
type = types.package;
|
||||
|
@ -637,10 +637,9 @@ in {
|
|||
Using config.services.nextcloud.poolConfig is deprecated and will become unsupported in a future release.
|
||||
Please migrate your configuration to config.services.nextcloud.poolSettings.
|
||||
'')
|
||||
++ (optional (versionOlder cfg.package.version "21") (upgradeWarning 20 "21.05"))
|
||||
++ (optional (versionOlder cfg.package.version "22") (upgradeWarning 21 "21.11"))
|
||||
++ (optional (versionOlder cfg.package.version "23") (upgradeWarning 22 "22.05"))
|
||||
++ (optional (versionOlder cfg.package.version "24") (upgradeWarning 23 "22.05"))
|
||||
++ (optional (versionOlder cfg.package.version "25") (upgradeWarning 24 "22.11"))
|
||||
++ (optional isUnsupportedMariadb ''
|
||||
You seem to be using MariaDB at an unsupported version (i.e. at least 10.6)!
|
||||
Please note that this isn't supported officially by Nextcloud. You can either
|
||||
|
@ -661,19 +660,13 @@ in {
|
|||
nextcloud defined in an overlay, please set `services.nextcloud.package` to
|
||||
`pkgs.nextcloud`.
|
||||
''
|
||||
else if versionOlder stateVersion "22.05" then nextcloud22
|
||||
else nextcloud24
|
||||
else if versionOlder stateVersion "22.11" then nextcloud24
|
||||
else nextcloud25
|
||||
);
|
||||
|
||||
services.nextcloud.phpPackage =
|
||||
if versionOlder cfg.package.version "24" then pkgs.php80
|
||||
# FIXME: Use PHP 8.1 with Nextcloud 24 and higher, once issues like this one are fixed:
|
||||
#
|
||||
# https://github.com/nextcloud/twofactor_totp/issues/1192
|
||||
#
|
||||
# else if versionOlder cfg.package.version "24" then pkgs.php80
|
||||
# else pkgs.php81;
|
||||
else pkgs.php80;
|
||||
else pkgs.php81;
|
||||
}
|
||||
|
||||
{ assertions = [
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
desktop client is packaged at <literal>pkgs.nextcloud-client</literal>.
|
||||
</para>
|
||||
<para>
|
||||
The current default by NixOS is <package>nextcloud24</package> which is also the latest
|
||||
The current default by NixOS is <package>nextcloud25</package> which is also the latest
|
||||
major version available.
|
||||
</para>
|
||||
<section xml:id="module-services-nextcloud-basic-usage">
|
||||
|
|
|
@ -231,7 +231,7 @@ in {
|
|||
gollum = handleTest ./gollum.nix {};
|
||||
google-oslogin = handleTest ./google-oslogin {};
|
||||
gotify-server = handleTest ./gotify-server.nix {};
|
||||
grafana = handleTest ./grafana.nix {};
|
||||
grafana = handleTest ./grafana {};
|
||||
grafana-agent = handleTest ./grafana-agent.nix {};
|
||||
graphite = handleTest ./graphite.nix {};
|
||||
graylog = handleTest ./graylog.nix {};
|
||||
|
@ -529,6 +529,7 @@ in {
|
|||
pulseaudio = discoverTests (import ./pulseaudio.nix);
|
||||
qboot = handleTestOn ["x86_64-linux" "i686-linux"] ./qboot.nix {};
|
||||
quorum = handleTest ./quorum.nix {};
|
||||
quake3 = handleTest ./quake3.nix {};
|
||||
rabbitmq = handleTest ./rabbitmq.nix {};
|
||||
radarr = handleTest ./radarr.nix {};
|
||||
radicale = handleTest ./radicale.nix {};
|
||||
|
@ -658,6 +659,7 @@ in {
|
|||
unit-php = handleTest ./web-servers/unit-php.nix {};
|
||||
upnp = handleTest ./upnp.nix {};
|
||||
uptermd = handleTest ./uptermd.nix {};
|
||||
uptime-kuma = handleTest ./uptime-kuma.nix {};
|
||||
usbguard = handleTest ./usbguard.nix {};
|
||||
user-activation-scripts = handleTest ./user-activation-scripts.nix {};
|
||||
user-home-mode = handleTest ./user-home-mode.nix {};
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import ./make-test-python.nix ({ lib, pkgs, ... }:
|
||||
import ../make-test-python.nix ({ lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
inherit (lib) mkMerge nameValuePair maintainers;
|
||||
|
@ -17,6 +17,8 @@ let
|
|||
};
|
||||
|
||||
extraNodeConfs = {
|
||||
sqlite = {};
|
||||
|
||||
declarativePlugins = {
|
||||
services.grafana.declarativePlugins = [ pkgs.grafanaPlugins.grafana-clock-panel ];
|
||||
};
|
||||
|
@ -52,14 +54,9 @@ let
|
|||
};
|
||||
};
|
||||
|
||||
nodes = builtins.listToAttrs (map (dbName:
|
||||
nameValuePair dbName (mkMerge [
|
||||
baseGrafanaConf
|
||||
(extraNodeConfs.${dbName} or {})
|
||||
])) [ "sqlite" "declarativePlugins" "postgresql" "mysql" ]);
|
||||
|
||||
nodes = builtins.mapAttrs (_: val: mkMerge [ val baseGrafanaConf ]) extraNodeConfs;
|
||||
in {
|
||||
name = "grafana";
|
||||
name = "grafana-basic";
|
||||
|
||||
meta = with maintainers; {
|
||||
maintainers = [ willibutz ];
|
9
nixos/tests/grafana/default.nix
Normal file
9
nixos/tests/grafana/default.nix
Normal file
|
@ -0,0 +1,9 @@
|
|||
{ system ? builtins.currentSystem
|
||||
, config ? { }
|
||||
, pkgs ? import ../../.. { inherit system config; }
|
||||
}:
|
||||
|
||||
{
|
||||
basic = import ./basic.nix { inherit system pkgs; };
|
||||
provision = import ./provision { inherit system pkgs; };
|
||||
}
|
9
nixos/tests/grafana/provision/contact-points.yaml
Normal file
9
nixos/tests/grafana/provision/contact-points.yaml
Normal file
|
@ -0,0 +1,9 @@
|
|||
apiVersion: 1
|
||||
|
||||
contactPoints:
|
||||
- name: "Test Contact Point"
|
||||
receivers:
|
||||
- uid: "test_contact_point"
|
||||
type: prometheus-alertmanager
|
||||
settings:
|
||||
url: http://localhost:9000
|
6
nixos/tests/grafana/provision/dashboards.yaml
Normal file
6
nixos/tests/grafana/provision/dashboards.yaml
Normal file
|
@ -0,0 +1,6 @@
|
|||
apiVersion: 1
|
||||
|
||||
providers:
|
||||
- name: 'default'
|
||||
options:
|
||||
path: /var/lib/grafana/dashboards
|
7
nixos/tests/grafana/provision/datasources.yaml
Normal file
7
nixos/tests/grafana/provision/datasources.yaml
Normal file
|
@ -0,0 +1,7 @@
|
|||
apiVersion: 1
|
||||
|
||||
datasources:
|
||||
- name: 'Test Datasource'
|
||||
type: 'testdata'
|
||||
access: 'proxy'
|
||||
uid: 'test_datasource'
|
223
nixos/tests/grafana/provision/default.nix
Normal file
223
nixos/tests/grafana/provision/default.nix
Normal file
|
@ -0,0 +1,223 @@
|
|||
import ../../make-test-python.nix ({ lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
inherit (lib) mkMerge nameValuePair maintainers;
|
||||
|
||||
baseGrafanaConf = {
|
||||
services.grafana = {
|
||||
enable = true;
|
||||
addr = "localhost";
|
||||
analytics.reporting.enable = false;
|
||||
domain = "localhost";
|
||||
security = {
|
||||
adminUser = "testadmin";
|
||||
adminPassword = "snakeoilpwd";
|
||||
};
|
||||
provision.enable = true;
|
||||
};
|
||||
|
||||
systemd.tmpfiles.rules = [
|
||||
"L /var/lib/grafana/dashboards/test.json 0700 grafana grafana - ${pkgs.writeText "test.json" (builtins.readFile ./test_dashboard.json)}"
|
||||
];
|
||||
};
|
||||
|
||||
extraNodeConfs = {
|
||||
provisionOld = {
|
||||
services.grafana.provision = {
|
||||
datasources = [{
|
||||
name = "Test Datasource";
|
||||
type = "testdata";
|
||||
access = "proxy";
|
||||
uid = "test_datasource";
|
||||
}];
|
||||
|
||||
dashboards = [{ options.path = "/var/lib/grafana/dashboards"; }];
|
||||
|
||||
notifiers = [{
|
||||
uid = "test_notifiers";
|
||||
name = "Test Notifiers";
|
||||
type = "email";
|
||||
settings = {
|
||||
singleEmail = true;
|
||||
addresses = "test@test.com";
|
||||
};
|
||||
}];
|
||||
};
|
||||
};
|
||||
|
||||
provisionNix = {
|
||||
services.grafana.provision = {
|
||||
datasources.settings = {
|
||||
apiVersion = 1;
|
||||
datasources = [{
|
||||
name = "Test Datasource";
|
||||
type = "testdata";
|
||||
access = "proxy";
|
||||
uid = "test_datasource";
|
||||
}];
|
||||
};
|
||||
|
||||
dashboards.settings = {
|
||||
apiVersion = 1;
|
||||
providers = [{
|
||||
name = "default";
|
||||
options.path = "/var/lib/grafana/dashboards";
|
||||
}];
|
||||
};
|
||||
|
||||
alerting = {
|
||||
rules.settings = {
|
||||
groups = [{
|
||||
name = "test_rule_group";
|
||||
folder = "test_folder";
|
||||
interval = "60s";
|
||||
rules = [{
|
||||
uid = "test_rule";
|
||||
title = "Test Rule";
|
||||
condition = "A";
|
||||
data = [{
|
||||
refId = "A";
|
||||
datasourceUid = "-100";
|
||||
model = {
|
||||
conditions = [{
|
||||
evaluator = {
|
||||
params = [ 3 ];
|
||||
type = "git";
|
||||
};
|
||||
operator.type = "and";
|
||||
query.params = [ "A" ];
|
||||
reducer.type = "last";
|
||||
type = "query";
|
||||
}];
|
||||
datasource = {
|
||||
type = "__expr__";
|
||||
uid = "-100";
|
||||
};
|
||||
expression = "1==0";
|
||||
intervalMs = 1000;
|
||||
maxDataPoints = 43200;
|
||||
refId = "A";
|
||||
type = "math";
|
||||
};
|
||||
}];
|
||||
for = "60s";
|
||||
}];
|
||||
}];
|
||||
};
|
||||
|
||||
contactPoints.settings = {
|
||||
contactPoints = [{
|
||||
name = "Test Contact Point";
|
||||
receivers = [{
|
||||
uid = "test_contact_point";
|
||||
type = "prometheus-alertmanager";
|
||||
settings.url = "http://localhost:9000";
|
||||
}];
|
||||
}];
|
||||
};
|
||||
|
||||
policies.settings = {
|
||||
policies = [{
|
||||
receiver = "Test Contact Point";
|
||||
}];
|
||||
};
|
||||
|
||||
templates.settings = {
|
||||
templates = [{
|
||||
name = "Test Template";
|
||||
template = "Test message";
|
||||
}];
|
||||
};
|
||||
|
||||
muteTimings.settings = {
|
||||
muteTimes = [{
|
||||
name = "Test Mute Timing";
|
||||
}];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
provisionYaml = {
|
||||
services.grafana.provision = {
|
||||
datasources.path = ./datasources.yaml;
|
||||
dashboards.path = ./dashboards.yaml;
|
||||
alerting = {
|
||||
rules.path = ./rules.yaml;
|
||||
contactPoints.path = ./contact-points.yaml;
|
||||
policies.path = ./policies.yaml;
|
||||
templates.path = ./templates.yaml;
|
||||
muteTimings.path = ./mute-timings.yaml;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
nodes = builtins.mapAttrs (_: val: mkMerge [ val baseGrafanaConf ]) extraNodeConfs;
|
||||
in {
|
||||
name = "grafana-provision";
|
||||
|
||||
meta = with maintainers; {
|
||||
maintainers = [ kfears willibutz ];
|
||||
};
|
||||
|
||||
inherit nodes;
|
||||
|
||||
testScript = ''
|
||||
start_all()
|
||||
|
||||
nodeOld = ("Nix (old format)", provisionOld)
|
||||
nodeNix = ("Nix (new format)", provisionNix)
|
||||
nodeYaml = ("Nix (YAML)", provisionYaml)
|
||||
|
||||
for nodeInfo in [nodeOld, nodeNix, nodeYaml]:
|
||||
with subtest(f"Should start provision node: {nodeInfo[0]}"):
|
||||
nodeInfo[1].wait_for_unit("grafana.service")
|
||||
nodeInfo[1].wait_for_open_port(3000)
|
||||
|
||||
with subtest(f"Successful datasource provision with {nodeInfo[0]}"):
|
||||
nodeInfo[1].succeed(
|
||||
"curl -sSfN -u testadmin:snakeoilpwd http://127.0.0.1:3000/api/datasources/uid/test_datasource | grep Test\ Datasource"
|
||||
)
|
||||
|
||||
with subtest(f"Successful dashboard provision with {nodeInfo[0]}"):
|
||||
nodeInfo[1].succeed(
|
||||
"curl -sSfN -u testadmin:snakeoilpwd http://127.0.0.1:3000/api/dashboards/uid/test_dashboard | grep Test\ Dashboard"
|
||||
)
|
||||
|
||||
|
||||
|
||||
with subtest(f"Successful notifiers provision with {nodeOld[0]}"):
|
||||
nodeOld[1].succeed(
|
||||
"curl -sSfN -u testadmin:snakeoilpwd http://127.0.0.1:3000/api/alert-notifications/uid/test_notifiers | grep Test\ Notifiers"
|
||||
)
|
||||
|
||||
|
||||
|
||||
for nodeInfo in [nodeNix, nodeYaml]:
|
||||
with subtest(f"Successful rule provision with {nodeInfo[0]}"):
|
||||
nodeInfo[1].succeed(
|
||||
"curl -sSfN -u testadmin:snakeoilpwd http://127.0.0.1:3000/api/v1/provisioning/alert-rules/test_rule | grep Test\ Rule"
|
||||
)
|
||||
|
||||
with subtest(f"Successful contact point provision with {nodeInfo[0]}"):
|
||||
nodeInfo[1].succeed(
|
||||
"curl -sSfN -u testadmin:snakeoilpwd http://127.0.0.1:3000/api/v1/provisioning/contact-points | grep Test\ Contact\ Point"
|
||||
)
|
||||
|
||||
with subtest(f"Successful policy provision with {nodeInfo[0]}"):
|
||||
nodeInfo[1].succeed(
|
||||
"curl -sSfN -u testadmin:snakeoilpwd http://127.0.0.1:3000/api/v1/provisioning/policies | grep Test\ Contact\ Point"
|
||||
)
|
||||
|
||||
with subtest(f"Successful template provision with {nodeInfo[0]}"):
|
||||
nodeInfo[1].succeed(
|
||||
"curl -sSfN -u testadmin:snakeoilpwd http://127.0.0.1:3000/api/v1/provisioning/templates | grep Test\ Template"
|
||||
)
|
||||
|
||||
with subtest("Successful mute timings provision with {nodeInfo[0]}"):
|
||||
nodeInfo[1].succeed(
|
||||
"curl -sSfN -u testadmin:snakeoilpwd http://127.0.0.1:3000/api/v1/provisioning/mute-timings | grep Test\ Mute\ Timing"
|
||||
)
|
||||
'';
|
||||
})
|
4
nixos/tests/grafana/provision/mute-timings.yaml
Normal file
4
nixos/tests/grafana/provision/mute-timings.yaml
Normal file
|
@ -0,0 +1,4 @@
|
|||
apiVersion: 1
|
||||
|
||||
muteTimes:
|
||||
- name: "Test Mute Timing"
|
4
nixos/tests/grafana/provision/policies.yaml
Normal file
4
nixos/tests/grafana/provision/policies.yaml
Normal file
|
@ -0,0 +1,4 @@
|
|||
apiVersion: 1
|
||||
|
||||
policies:
|
||||
- receiver: "Test Contact Point"
|
36
nixos/tests/grafana/provision/rules.yaml
Normal file
36
nixos/tests/grafana/provision/rules.yaml
Normal file
|
@ -0,0 +1,36 @@
|
|||
apiVersion: 1
|
||||
|
||||
groups:
|
||||
- name: "test_rule_group"
|
||||
folder: "test_group"
|
||||
interval: 60s
|
||||
rules:
|
||||
- uid: "test_rule"
|
||||
title: "Test Rule"
|
||||
condition: A
|
||||
data:
|
||||
- refId: A
|
||||
datasourceUid: '-100'
|
||||
model:
|
||||
conditions:
|
||||
- evaluator:
|
||||
params:
|
||||
- 3
|
||||
type: gt
|
||||
operator:
|
||||
type: and
|
||||
query:
|
||||
params:
|
||||
- A
|
||||
reducer:
|
||||
type: last
|
||||
type: query
|
||||
datasource:
|
||||
type: __expr__
|
||||
uid: '-100'
|
||||
expression: 1==0
|
||||
intervalMs: 1000
|
||||
maxDataPoints: 43200
|
||||
refId: A
|
||||
type: math
|
||||
for: 60s
|
5
nixos/tests/grafana/provision/templates.yaml
Normal file
5
nixos/tests/grafana/provision/templates.yaml
Normal file
|
@ -0,0 +1,5 @@
|
|||
apiVersion: 1
|
||||
|
||||
templates:
|
||||
- name: "Test Template"
|
||||
template: "Test message"
|
47
nixos/tests/grafana/provision/test_dashboard.json
Normal file
47
nixos/tests/grafana/provision/test_dashboard.json
Normal file
|
@ -0,0 +1,47 @@
|
|||
{
|
||||
"annotations": {
|
||||
"list": [
|
||||
{
|
||||
"builtIn": 1,
|
||||
"datasource": {
|
||||
"type": "grafana",
|
||||
"uid": "-- Grafana --"
|
||||
},
|
||||
"enable": true,
|
||||
"hide": true,
|
||||
"iconColor": "rgba(0, 211, 255, 1)",
|
||||
"name": "Annotations & Alerts",
|
||||
"target": {
|
||||
"limit": 100,
|
||||
"matchAny": false,
|
||||
"tags": [],
|
||||
"type": "dashboard"
|
||||
},
|
||||
"type": "dashboard"
|
||||
}
|
||||
]
|
||||
},
|
||||
"editable": true,
|
||||
"fiscalYearStartMonth": 0,
|
||||
"graphTooltip": 0,
|
||||
"id": 28,
|
||||
"links": [],
|
||||
"liveNow": false,
|
||||
"panels": [],
|
||||
"schemaVersion": 37,
|
||||
"style": "dark",
|
||||
"tags": [],
|
||||
"templating": {
|
||||
"list": []
|
||||
},
|
||||
"time": {
|
||||
"from": "now-6h",
|
||||
"to": "now"
|
||||
},
|
||||
"timepicker": {},
|
||||
"timezone": "",
|
||||
"title": "Test Dashboard",
|
||||
"uid": "test_dashboard",
|
||||
"version": 1,
|
||||
"weekStart": ""
|
||||
}
|
|
@ -8,8 +8,8 @@ let
|
|||
};
|
||||
};
|
||||
|
||||
lxd-image-metadata = lxd-image.lxdMeta.${pkgs.system};
|
||||
lxd-image-rootfs = lxd-image.lxdImage.${pkgs.system};
|
||||
lxd-image-metadata = lxd-image.lxdMeta.${pkgs.stdenv.hostPlatform.system};
|
||||
lxd-image-rootfs = lxd-image.lxdImage.${pkgs.stdenv.hostPlatform.system};
|
||||
|
||||
in {
|
||||
name = "lxd-image-server";
|
||||
|
|
|
@ -11,8 +11,8 @@ let
|
|||
};
|
||||
};
|
||||
|
||||
lxd-image-metadata = lxd-image.lxdMeta.${pkgs.system};
|
||||
lxd-image-rootfs = lxd-image.lxdImage.${pkgs.system};
|
||||
lxd-image-metadata = lxd-image.lxdMeta.${pkgs.stdenv.hostPlatform.system};
|
||||
lxd-image-rootfs = lxd-image.lxdImage.${pkgs.stdenv.hostPlatform.system};
|
||||
|
||||
in {
|
||||
name = "lxd";
|
||||
|
@ -23,7 +23,7 @@ in {
|
|||
|
||||
nodes.machine = { lib, ... }: {
|
||||
virtualisation = {
|
||||
diskSize = 2048;
|
||||
diskSize = 4096;
|
||||
|
||||
# Since we're testing `limits.cpu`, we've gotta have a known number of
|
||||
# cores to lean on
|
||||
|
|
|
@ -22,4 +22,4 @@ foldl
|
|||
};
|
||||
})
|
||||
{ }
|
||||
[ 23 24 ]
|
||||
[ 24 25 ]
|
||||
|
|
95
nixos/tests/quake3.nix
Normal file
95
nixos/tests/quake3.nix
Normal file
|
@ -0,0 +1,95 @@
|
|||
import ./make-test-python.nix ({ pkgs, ...} :
|
||||
|
||||
let
|
||||
|
||||
# Build Quake with coverage instrumentation.
|
||||
overrides = pkgs:
|
||||
{
|
||||
quake3game = pkgs.quake3game.override (args: {
|
||||
stdenv = pkgs.stdenvAdapters.addCoverageInstrumentation args.stdenv;
|
||||
});
|
||||
};
|
||||
|
||||
# Only allow the demo data to be used (only if it's unfreeRedistributable).
|
||||
unfreePredicate = pkg: with pkgs.lib; let
|
||||
allowPackageNames = [ "quake3-demodata" "quake3-pointrelease" ];
|
||||
allowLicenses = [ pkgs.lib.licenses.unfreeRedistributable ];
|
||||
in elem pkg.pname allowPackageNames &&
|
||||
elem (pkg.meta.license or null) allowLicenses;
|
||||
|
||||
client =
|
||||
{ pkgs, ... }:
|
||||
|
||||
{ imports = [ ./common/x11.nix ];
|
||||
hardware.opengl.driSupport = true;
|
||||
environment.systemPackages = [ pkgs.quake3demo ];
|
||||
nixpkgs.config.packageOverrides = overrides;
|
||||
nixpkgs.config.allowUnfreePredicate = unfreePredicate;
|
||||
};
|
||||
|
||||
in
|
||||
|
||||
rec {
|
||||
name = "quake3";
|
||||
meta = with pkgs.stdenv.lib.maintainers; {
|
||||
maintainers = [ domenkozar eelco ];
|
||||
};
|
||||
|
||||
# TODO: lcov doesn't work atm
|
||||
#makeCoverageReport = true;
|
||||
|
||||
nodes =
|
||||
{ server =
|
||||
{ pkgs, ... }:
|
||||
|
||||
{ systemd.services.quake3-server =
|
||||
{ wantedBy = [ "multi-user.target" ];
|
||||
script =
|
||||
"${pkgs.quake3demo}/bin/quake3-server +set g_gametype 0 " +
|
||||
"+map q3dm7 +addbot grunt +addbot daemia 2> /tmp/log";
|
||||
};
|
||||
nixpkgs.config.packageOverrides = overrides;
|
||||
nixpkgs.config.allowUnfreePredicate = unfreePredicate;
|
||||
networking.firewall.allowedUDPPorts = [ 27960 ];
|
||||
};
|
||||
|
||||
client1 = client;
|
||||
client2 = client;
|
||||
};
|
||||
|
||||
testScript =
|
||||
''
|
||||
start_all()
|
||||
|
||||
server.wait_for_unit("quake3-server")
|
||||
client1.wait_for_x()
|
||||
client2.wait_for_x()
|
||||
|
||||
client1.execute("quake3 +set r_fullscreen 0 +set name Foo +connect server &")
|
||||
client2.execute("quake3 +set r_fullscreen 0 +set name Bar +connect server &")
|
||||
|
||||
server.wait_until_succeeds("grep -q 'Foo.*entered the game' /tmp/log")
|
||||
server.wait_until_succeeds("grep -q 'Bar.*entered the game' /tmp/log")
|
||||
|
||||
server.sleep(10) # wait for a while to get a nice screenshot
|
||||
|
||||
client1.block()
|
||||
|
||||
server.sleep(20)
|
||||
|
||||
client1.screenshot("screen1")
|
||||
client2.screenshot("screen2")
|
||||
|
||||
client1.unblock()
|
||||
|
||||
server.sleep(10)
|
||||
|
||||
client1.screenshot("screen3")
|
||||
client2.screenshot("screen4")
|
||||
|
||||
client1.shutdown()
|
||||
client2.shutdown()
|
||||
server.stop_job("quake3-server")
|
||||
'';
|
||||
|
||||
})
|
19
nixos/tests/uptime-kuma.nix
Normal file
19
nixos/tests/uptime-kuma.nix
Normal file
|
@ -0,0 +1,19 @@
|
|||
import ./make-test-python.nix ({ lib, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
{
|
||||
name = "uptime-kuma";
|
||||
meta.maintainers = with maintainers; [ julienmalka ];
|
||||
|
||||
nodes.machine =
|
||||
{ pkgs, ... }:
|
||||
{ services.uptime-kuma.enable = true; };
|
||||
|
||||
testScript = ''
|
||||
machine.start()
|
||||
machine.wait_for_unit("uptime-kuma.service")
|
||||
machine.wait_for_open_port(3001)
|
||||
machine.succeed("curl --fail http://localhost:3001/")
|
||||
'';
|
||||
})
|
|
@ -32,9 +32,11 @@ python3Packages.buildPythonApplication rec {
|
|||
wrapGAppsHook
|
||||
];
|
||||
|
||||
# Can be removed in later versions
|
||||
# https://gitlab.com/sublime-music/sublime-music/-/issues/343
|
||||
pythonRelaxDeps = [ "python-mpv" ];
|
||||
# Can be removed in later versions (probably > 0.11.16)
|
||||
pythonRelaxDeps = [
|
||||
"deepdiff"
|
||||
"python-mpv"
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gtk3
|
||||
|
|
|
@ -1413,8 +1413,8 @@ let
|
|||
mktplcRef = {
|
||||
name = "latex-workshop";
|
||||
publisher = "James-Yu";
|
||||
version = "8.28.0";
|
||||
sha256 = "sha256-ZH2n/r4iKNxf6QETmNnGc5KIAIE0hcAReX3p2MDkve8=";
|
||||
version = "8.29.0";
|
||||
sha256 = "sha256-khAlxN+y06aneZE97fqNg2esj/wvIUINiMdVc/exd38=";
|
||||
};
|
||||
meta = with lib; {
|
||||
changelog = "https://marketplace.visualstudio.com/items/James-Yu.latex-workshop/changelog";
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
# Attributes inherit from specific versions
|
||||
, version, src, meta, sourceRoot, commandLineArgs
|
||||
, executableName, longName, shortName, pname, updateScript
|
||||
, dontFixup ? false
|
||||
# sourceExecutableName is the name of the binary in the source archive, over
|
||||
# which we have no control
|
||||
, sourceExecutableName ? executableName
|
||||
|
@ -21,7 +22,7 @@ let
|
|||
inherit (stdenv.hostPlatform) system;
|
||||
unwrapped = stdenv.mkDerivation {
|
||||
|
||||
inherit pname version src sourceRoot;
|
||||
inherit pname version src sourceRoot dontFixup;
|
||||
|
||||
passthru = {
|
||||
inherit executableName longName tests updateScript;
|
||||
|
|
|
@ -46,6 +46,11 @@ in
|
|||
|
||||
updateScript = ./update-vscode.sh;
|
||||
|
||||
# Editing the `code` binary within the app bundle causes the bundle's signature
|
||||
# to be invalidated, which prevents launching starting with macOS Ventura, because VS Code is notarized.
|
||||
# See https://eclecticlight.co/2022/06/17/app-security-changes-coming-in-ventura/ for more information.
|
||||
dontFixup = stdenv.isDarwin;
|
||||
|
||||
meta = with lib; {
|
||||
description = ''
|
||||
Open source source code editor developed by Microsoft for Windows,
|
||||
|
|
|
@ -2,16 +2,16 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "felix";
|
||||
version = "1.3.1";
|
||||
version = "1.3.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kyoheiu";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-yMuV7a8nkdymgJTPuVcZ/PEA2/Vr7rQf8mpikNe3e1w=";
|
||||
sha256 = "sha256-DXsuTmkfzWbjpTb3ZJRVSDGgivDlEQraqAeyRzAB4UU=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-yePPIehyv11f58HQzFoPh7izSPjmbhdVu9xlHD6PGRY=";
|
||||
cargoSha256 = "sha256-gv7ujyAbFEpz95cHRDKPxUW2TiYiJz35jfiKlzi6gJY=";
|
||||
|
||||
checkInputs = [ zoxide ];
|
||||
|
||||
|
|
|
@ -100,7 +100,7 @@ stdenv.mkDerivation rec {
|
|||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "File Manager and User Shell for the GNU Project";
|
||||
description = "File Manager and User Shell for the GNU Project, known as Midnight Commander";
|
||||
downloadPage = "https://www.midnight-commander.org/downloads/";
|
||||
homepage = "https://www.midnight-commander.org";
|
||||
license = licenses.gpl2Plus;
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
, glib
|
||||
, gtk4
|
||||
, libadwaita
|
||||
, Foundation
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
|
@ -54,6 +55,8 @@ stdenv.mkDerivation rec {
|
|||
glib
|
||||
gtk4
|
||||
libadwaita
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
Foundation
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
|
|
|
@ -127,6 +127,7 @@ in stdenv.mkDerivation {
|
|||
makeWrapper $out/share/1password/1password $out/bin/1password \
|
||||
''${gappsWrapperArgs[@]} \
|
||||
--suffix PATH : ${lib.makeBinPath [ xdg-utils ]} \
|
||||
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ udev ]}
|
||||
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ udev ]} \
|
||||
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"
|
||||
'';
|
||||
}
|
||||
|
|
|
@ -12,12 +12,12 @@ let
|
|||
if extension == "zip" then fetchzip args else fetchurl args;
|
||||
|
||||
pname = "1password-cli";
|
||||
version = "2.7.1";
|
||||
version = "2.7.2";
|
||||
sources = rec {
|
||||
aarch64-linux = fetch "linux_arm64" "sha256-JEOvLga6o3QOPYyGJfvqWIYL00TaqjcFzSMKw1ZSxtM=" "zip";
|
||||
i686-linux = fetch "linux_386" "sha256-Xd40mOsElbrGioPX0irz13jhiu8mZ2n6LmKrt4FyzDg=" "zip";
|
||||
x86_64-linux = fetch "linux_amd64" "sha256-DZYSkgrIpH0cYpIllVWHIuUcNgNyeX09dZ1RgUudWP8=" "zip";
|
||||
aarch64-darwin = fetch "apple_universal" "sha256-j+e9y1FQp30O5pFVLbbXhtrbyRjWZZPFhkFfNXDcCPs=" "pkg";
|
||||
aarch64-linux = fetch "linux_arm64" "sha256-lYY69zbJqE9KuP1Yihfz444GFazHgR9zHVDq9RzZdTA=" "zip";
|
||||
i686-linux = fetch "linux_386" "sha256-IgTusLxgeOS9u4G1M7JqqxJw2D3hy5L9wl77crgfHjM=" "zip";
|
||||
x86_64-linux = fetch "linux_amd64" "sha256-OL/URp5eU3K1ObTlC4nXELa7NkrZDW5tFwhgVdrmPdQ=" "zip";
|
||||
aarch64-darwin = fetch "apple_universal" "sha256-pL39V9AO2DjCcWlecteTMCcBBZVb3RXmJ8wk5gyFojg=" "pkg";
|
||||
x86_64-darwin = aarch64-darwin;
|
||||
};
|
||||
platforms = builtins.attrNames sources;
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
let
|
||||
pname = "chrysalis";
|
||||
version = "0.11.8";
|
||||
version = "0.11.9";
|
||||
in appimageTools.wrapAppImage rec {
|
||||
name = "${pname}-${version}-binary";
|
||||
|
||||
|
@ -10,7 +10,7 @@ in appimageTools.wrapAppImage rec {
|
|||
inherit name;
|
||||
src = fetchurl {
|
||||
url = "https://github.com/keyboardio/${pname}/releases/download/v${version}/${pname}-${version}.AppImage";
|
||||
sha256 = "sha256-yyb6sRCPjHCK0tkuHTffw2NkZHcqw9tIdHbbBiKLGu8=";
|
||||
sha256 = "sha256-Ce6aq4JZ271jTzAoUZx6bZpmQUXmhhFgaemfZfokS24=";
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
{ lib, stdenv, fetchFromGitHub, python3, installShellFiles }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "2.0";
|
||||
version = "2.1";
|
||||
pname = "ddgr";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jarun";
|
||||
repo = "ddgr";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-otfa2t/tfpYKqQu+VQxRKryUsIxM3JKILc3zseTC2KM=";
|
||||
sha256 = "sha256-D5FUhv1moQKzcLj/3VWJNs24jTXJir1dMpv59orPTtc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
|
|
@ -2,18 +2,18 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "flavours";
|
||||
version = "0.5.2";
|
||||
version = "0.6.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Misterio77";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-P7F7PHP2EiZz6RgKbmqXRQOGG1P8TJ1emR0BEY9yBqk=";
|
||||
sha256 = "sha256-Q2YW9oFqzkmWscoE4p9E43bo1/4bQrTnd8tvPsJqJyQ=";
|
||||
};
|
||||
|
||||
buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
|
||||
|
||||
cargoSha256 = "sha256-QlCjAtQGITGrWNKQM39QPmv/MPZaaHfwdHjal2i1qv4=";
|
||||
cargoSha256 = "sha256-IrVcd8ilWbaigGMqT+kaIW3gnE+m+Ik5IyhQ4zPlyPE=";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "kiln";
|
||||
version = "0.3.2";
|
||||
version = "0.4.0";
|
||||
|
||||
src = fetchFromSourcehut {
|
||||
owner = "~adnano";
|
||||
repo = pname;
|
||||
repo = "kiln";
|
||||
rev = version;
|
||||
hash = "sha256-PI80td/GV92Msdtive+f+H6FWo7wdaPmPCpwrX3iLlo=";
|
||||
hash = "sha256-BMYySYbV4Exl0gCUt+95FnOoIhKM1UO4cw8gCw3Zf9M=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ scdoc installShellFiles ];
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "pdfsam-basic";
|
||||
version = "4.3.3";
|
||||
version = "4.3.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/torakiki/pdfsam/releases/download/v${version}/pdfsam_${version}-1_amd64.deb";
|
||||
sha256 = "sha256-SUvj9YP7hIgF003caPsx5AWnMYr38y/XRf6TRm0tMAo=";
|
||||
sha256 = "sha256-DYCiK5DgWTu1cm4TRsGDCB3LzVCGVkVzSlG3Jeo2WVI=";
|
||||
};
|
||||
|
||||
unpackPhase = ''
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "tippecanoe";
|
||||
version = "2.6.0";
|
||||
version = "2.9.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "felt";
|
||||
repo = "tippecanoe";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-58/FS5nxzK5JSc0D1KXooSjrKMdOnpF7dvwAK9rUZZk=";
|
||||
hash = "sha256-DNIkQwJUeBdVdx06NM0KMWpTTwtMyBfKc/PwGiK4wvQ=";
|
||||
};
|
||||
|
||||
buildInputs = [ sqlite zlib ];
|
||||
|
|
|
@ -19,9 +19,9 @@
|
|||
}
|
||||
},
|
||||
"beta": {
|
||||
"version": "107.0.5304.36",
|
||||
"sha256": "1jr5jncc44jqryhg90zc7pnp590qwqdvbc9nkd28418vs0dx98r4",
|
||||
"sha256bin64": "0lczdihl955vcabr8f46ncglgis4ci8rnjga7dv7wxs4vlyxkhv8",
|
||||
"version": "107.0.5304.62",
|
||||
"sha256": "1w77id89gszichqxsrqgkb3v0kf26fic5p3y1ndgrw86d8kilgpj",
|
||||
"sha256bin64": "0lc08mc1540w4chscq813pmiavvx32qfb581w7lh9ayby15j2nkk",
|
||||
"deps": {
|
||||
"gn": {
|
||||
"version": "2022-09-14",
|
||||
|
@ -32,9 +32,9 @@
|
|||
}
|
||||
},
|
||||
"dev": {
|
||||
"version": "108.0.5355.0",
|
||||
"sha256": "185mj5sm6q2ahf0im52vkys9pcf0zxx849yrnghix3k487z959na",
|
||||
"sha256bin64": "11gns3f7k1qj3asy5skrc8z3pb6var8lbqqra47c9gs1jby60d6l",
|
||||
"version": "108.0.5359.10",
|
||||
"sha256": "1wmb3qxd126j3466h8wb2fsfy92218rv812sxxqdbpyf2z66m8pj",
|
||||
"sha256bin64": "0vv64hqx5wf8qsm3z518wv9phipb7nbg6kj5mghx55rn20qmfpbr",
|
||||
"deps": {
|
||||
"gn": {
|
||||
"version": "2022-10-05",
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{
|
||||
"packageVersion": "105.0.1-1",
|
||||
"packageVersion": "106.0.1-1",
|
||||
"source": {
|
||||
"rev": "105.0.1-1",
|
||||
"sha256": "0a6vvf62xqxnqn0f87971nsnrr0xzakgjl4d655qhq9xn0apj8wg"
|
||||
"rev": "106.0.1-1",
|
||||
"sha256": "0dg4dvpa4fqhaikqnyqvxmi84g4gw535rdxmax724d0m6ksjm5yh"
|
||||
},
|
||||
"firefox": {
|
||||
"version": "105.0.1",
|
||||
"sha512": "66ef7cd5028953e7da9d55e127135739c9d85be68ec633b71c52d6c9427edb0bd8a38504148484cd322adcefb57bfefe6e57cb15855f195508fe438864f4322b"
|
||||
"version": "106.0.1",
|
||||
"sha512": "15f5a65a69e11dd0c463b358cafb5ad0f31db93619b9ec3f89e8c5e14d4d319d9423fe4dcd0dbbcbedc1ad444dcbd8e5e30e483220277f5b550bff6124b66519"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -45,7 +45,7 @@ assert with lib.strings; (
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "palemoon";
|
||||
version = "31.2.0.1";
|
||||
version = "31.3.0.1";
|
||||
|
||||
src = fetchFromGitea {
|
||||
domain = "repo.palemoon.org";
|
||||
|
@ -53,7 +53,7 @@ stdenv.mkDerivation rec {
|
|||
repo = "Pale-Moon";
|
||||
rev = "${version}_Release";
|
||||
fetchSubmodules = true;
|
||||
sha256 = "sha256-ytJC3QW9grbI6DusYITACc40+xUJ94+ATVGaOzWAwHU=";
|
||||
sha256 = "sha256-qspzTlhK9MRJBsXxmYzl5K6in09LZPvaVc+ibovJAD8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -115,7 +115,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
# Too many cores can lead to build flakiness
|
||||
# https://forum.palemoon.org/viewtopic.php?f=5&t=28480
|
||||
export jobs=$(($NIX_BUILD_CORES<=20 ? $NIX_BUILD_CORES : 20))
|
||||
export jobs=$(($NIX_BUILD_CORES<=16 ? $NIX_BUILD_CORES : 16))
|
||||
if [ -z "$enableParallelBuilding" ]; then
|
||||
jobs=1
|
||||
fi
|
||||
|
|
|
@ -10,16 +10,16 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "nerdctl";
|
||||
version = "0.23.0";
|
||||
version = "1.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "containerd";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-WA/jkS6kArc+wZFzIpBekViVOVPafG6o1vPCVqXbBNs=";
|
||||
sha256 = "sha256-hSuBN+yuwXfGP7gNtYR37yl+n5hj2sp6hJ5d8tyXkf0=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-fR1793YcYMcemOHF6Pj32z1q8fxvwFJTFryDFHLL+Do=";
|
||||
vendorSha256 = "sha256-2pYjN904pQoliBSaCysumkMocvZDxwsTvZxgDCacVrc=";
|
||||
|
||||
nativeBuildInputs = [ makeWrapper installShellFiles ];
|
||||
|
||||
|
|
|
@ -741,13 +741,13 @@
|
|||
"version": "3.3.0"
|
||||
},
|
||||
"minio": {
|
||||
"hash": "sha256-rB7GhbTUSPTd8YOFV2XG1riBr2Wd6DTEZd2CreMbBD0=",
|
||||
"hash": "sha256-fSZf5lLs3INa742AL3ayuvHr5vsr2/i4yjSvNrCzBT0=",
|
||||
"owner": "aminueza",
|
||||
"provider-source-address": "registry.terraform.io/aminueza/minio",
|
||||
"repo": "terraform-provider-minio",
|
||||
"rev": "v1.7.1",
|
||||
"vendorHash": "sha256-DDP/YAZ5CVcQWxG6+RTw8ihrk9wADAckpWx2x1I0MDE=",
|
||||
"version": "1.7.1"
|
||||
"rev": "v1.8.0",
|
||||
"vendorHash": "sha256-LcU7Pord10j4Eyxx2xIVcQXiZQT9kSTz8iBJCe8/E7s=",
|
||||
"version": "1.8.0"
|
||||
},
|
||||
"mongodbatlas": {
|
||||
"hash": "sha256-NVbUKSG5rGUtRlaJVND3nW+0Svc2d8R8uvxGKcQktco=",
|
||||
|
|
|
@ -17,6 +17,7 @@
|
|||
, glib
|
||||
, networkmanager
|
||||
, libpulseaudio
|
||||
, pipewire
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
|
@ -59,6 +60,8 @@ stdenv.mkDerivation rec {
|
|||
gst_all_1.gst-plugins-bad
|
||||
gst_all_1.gst-plugins-ugly
|
||||
gst_all_1.gst-rtsp-server
|
||||
gst_all_1.gst-vaapi
|
||||
pipewire
|
||||
networkmanager
|
||||
libpulseaudio
|
||||
];
|
||||
|
|
|
@ -37,5 +37,9 @@ stdenv.mkDerivation rec {
|
|||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ sikmir ];
|
||||
platforms = platforms.unix;
|
||||
|
||||
# tdlib-purple is not actively maintained and currently not
|
||||
# compatible with recent versions of tdlib
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -11,17 +11,17 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "aerc";
|
||||
version = "0.12.0";
|
||||
version = "0.13.0";
|
||||
|
||||
src = fetchFromSourcehut {
|
||||
owner = "~rjarry";
|
||||
repo = pname;
|
||||
repo = "aerc";
|
||||
rev = version;
|
||||
hash = "sha256-n5rRvLhCy2d8xUoTNyM5JYKGJWN0nEwkQeBCOpUrUrc=";
|
||||
hash = "sha256-pUp/hW4Kk3pixGfbQvphLJM9Dc/w01T1KPRewOicPqM=";
|
||||
};
|
||||
|
||||
proxyVendor = true;
|
||||
vendorHash = "sha256-Z1dW3cK3Anl8JpAfwppsSBRgV5SdRmQemOG+652z0KA=";
|
||||
vendorHash = "sha256-Nx+k0PLPIx7Ia0LobXUOw7oOFVz1FXV49haAkRAVOcM=";
|
||||
|
||||
doCheck = false;
|
||||
|
||||
|
@ -58,7 +58,7 @@ buildGoModule rec {
|
|||
|
||||
postFixup = ''
|
||||
wrapProgram $out/bin/aerc --prefix PATH ":" \
|
||||
"$out/share/aerc/filters:${lib.makeBinPath [ ncurses ]}"
|
||||
"${lib.makeBinPath [ ncurses ]}"
|
||||
wrapProgram $out/share/aerc/filters/html --prefix PATH ":" \
|
||||
${lib.makeBinPath [ w3m dante ]}
|
||||
'';
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, fetchurl
|
||||
, cmake
|
||||
, pkg-config
|
||||
, openssl
|
||||
|
@ -45,6 +46,14 @@ in stdenv.mkDerivation {
|
|||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
patches = [
|
||||
# fix build with openssl 3.0
|
||||
(fetchurl {
|
||||
url = "https://salsa.debian.org/debian/transmission/-/raw/debian/3.00-2.1/debian/patches/openssl3-compat.patch";
|
||||
hash = "sha256-v+SDTW/lCtc8B3TuhQB1pmjW/QRAGLtYncaImNNwpes=";
|
||||
})
|
||||
];
|
||||
|
||||
outputs = [ "out" "apparmor" ];
|
||||
|
||||
cmakeFlags =
|
||||
|
|
|
@ -8,13 +8,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "vnstat";
|
||||
version = "2.9";
|
||||
version = "2.10";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "vergoh";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-AEpq3Pn/WUiPDxYk6WKb1Uur5tD+OBfFAzLUDWnZH/0=";
|
||||
sha256 = "sha256-XBApdQA6E2mx9WPIEiY9z2vxJS3qR0mjBnhbft4LNuQ=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
, gobject-introspection
|
||||
, libadwaita
|
||||
, librsvg
|
||||
, gtk4
|
||||
}:
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
|
@ -40,10 +41,11 @@ python3.pkgs.buildPythonApplication rec {
|
|||
ninja
|
||||
pkg-config
|
||||
wrapGAppsHook4
|
||||
gobject-introspection
|
||||
gtk4 # for gtk4-update-icon-cache
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gobject-introspection
|
||||
libadwaita
|
||||
librsvg
|
||||
];
|
||||
|
|
|
@ -11,13 +11,13 @@ assert (!blas.isILP64) && (!lapack.isILP64);
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "octopus";
|
||||
version = "12.0";
|
||||
version = "12.1";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "octopus-code";
|
||||
repo = "octopus";
|
||||
rev = version;
|
||||
sha256 = "sha256-OF6zcyxtWXxMUIAB8YxQ3453JAmw6Q3RnNMjr4HgTmE=";
|
||||
sha256 = "sha256-dQdb4wGKOQefrgtQVorq6EH9IiAh1tMmj3GiZOXgTBY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
, lang ? "en"
|
||||
, libGL
|
||||
, libGLU
|
||||
, wrapQtAppsHook
|
||||
}:
|
||||
|
||||
let
|
||||
|
@ -39,8 +40,9 @@ stdenv.mkDerivation rec {
|
|||
nativeBuildInputs = [
|
||||
autoPatchelfHook
|
||||
installShellFiles
|
||||
makeWrapper
|
||||
wrapQtAppsHook
|
||||
];
|
||||
dontWrapQtApps = true;
|
||||
|
||||
buildInputs = [
|
||||
alsa-lib
|
||||
|
@ -120,11 +122,14 @@ stdenv.mkDerivation rec {
|
|||
makeWrapper $out/libexec/${dirName}/SystemFiles/Kernel/Binaries/Linux-x86-64/$path $out/bin/$path --set LD_LIBRARY_PATH "${zlib}/lib:${stdenv.cc.cc.lib}/lib:${libssh2}/lib:\''${LD_LIBRARY_PATH}"
|
||||
done
|
||||
|
||||
# ... and xkeyboard config path for Qt
|
||||
wrapQtApp "$out/libexec/${dirName}/SystemFiles/FrontEnd/Binaries/Linux-x86-64/WolframPlayer" \
|
||||
--set LD_LIBRARY_PATH "${zlib}/lib:${stdenv.cc.cc.lib}/lib:${libssh2}/lib:\''${LD_LIBRARY_PATH}" \
|
||||
--set QT_XKB_CONFIG_ROOT "${xkeyboard_config}/share/X11/xkb"
|
||||
substituteInPlace $out/libexec/${dirName}/SystemFiles/FrontEnd/Binaries/Linux-x86-64/WolframPlayer \
|
||||
--replace "TopDirectory=" "TopDirectory=$out/libexec/${dirName} #"
|
||||
|
||||
for path in WolframPlayer wolframplayer; do
|
||||
makeWrapper $out/libexec/${dirName}/Executables/$path $out/bin/$path \
|
||||
--set LD_LIBRARY_PATH "${zlib}/lib:${stdenv.cc.cc.lib}/lib:${libssh2}/lib:\''${LD_LIBRARY_PATH}" \
|
||||
--set QT_XKB_CONFIG_ROOT "${xkeyboard_config}/share/X11/xkb"
|
||||
makeWrapper $out/libexec/${dirName}/Executables/$path $out/bin/$path
|
||||
done
|
||||
|
||||
# Install man pages
|
||||
|
|
|
@ -61,7 +61,7 @@ buildGoPackage rec {
|
|||
|
||||
goPackagePath = "code.gitea.io/gitea";
|
||||
|
||||
passthru.tests.gitea = nixosTests.gitea;
|
||||
passthru.tests = nixosTests.gitea;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Git with a cup of tea";
|
||||
|
|
|
@ -54,6 +54,7 @@ stdenv.mkDerivation rec {
|
|||
libadwaita
|
||||
gst_all_1.gstreamer
|
||||
gst_all_1.gst-plugins-base
|
||||
gst_all_1.gst-plugins-good # for scaletempo and webm
|
||||
gst_all_1.gst-plugins-bad
|
||||
];
|
||||
|
||||
|
|
|
@ -53,7 +53,7 @@ for package in *; do
|
|||
# If multiple remote sources are enabled, nuget will try them all
|
||||
# concurrently and use the one that responds first. We always use the
|
||||
# first source that has the package.
|
||||
echo "$package $version is available on $url, but was downloaded from ${base_addresses[$used_source]}$package/$version/$package.$version.nupkg" 1>&2
|
||||
echo "$package $version is available at $url, but was restored from $used_source" 1>&2
|
||||
found=true
|
||||
break
|
||||
else
|
||||
|
|
|
@ -10,13 +10,13 @@
|
|||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "kora-icon-theme";
|
||||
version = "1.5.3";
|
||||
version = "1.5.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bikass";
|
||||
repo = "kora";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-j4W9w/icGjfkbbb0xYF3NfSFsp5RkNCc805E089JaFQ=";
|
||||
sha256 = "sha256-LYlrLkMArF3rRVrvQNNfMdOgW6bJOjK9fE9obXEJK4w=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -119,7 +119,7 @@ stdenv.mkDerivation rec {
|
|||
meta = with lib; {
|
||||
description = "Clozure Common Lisp";
|
||||
homepage = "https://ccl.clozure.com/";
|
||||
maintainers = with maintainers; [ raskin tohl ];
|
||||
maintainers = with maintainers; [ raskin ];
|
||||
platforms = attrNames options;
|
||||
# assembler failures during build, x86_64-darwin broken since 2020-10-14
|
||||
broken = (stdenv.isDarwin && stdenv.isx86_64);
|
||||
|
|
|
@ -38,7 +38,7 @@ stdenv.mkDerivation {
|
|||
'';
|
||||
license = lib.licenses.free; # public domain
|
||||
homepage = "http://www.cons.org/cmucl/";
|
||||
maintainers = [lib.maintainers.tohl];
|
||||
maintainers = [ ];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -60,6 +60,6 @@ stdenv.mkDerivation rec {
|
|||
homepage = "https://common-lisp.net/project/mkcl/";
|
||||
license = licenses.lgpl2Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ tohl ];
|
||||
maintainers = with maintainers; [ ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -78,7 +78,7 @@ stdenv.mkDerivation rec {
|
|||
description = "Lisp compiler";
|
||||
homepage = "http://www.sbcl.org";
|
||||
license = licenses.publicDomain; # and FreeBSD
|
||||
maintainers = [maintainers.raskin maintainers.tohl];
|
||||
maintainers = [ maintainers.raskin ];
|
||||
platforms = attrNames options;
|
||||
};
|
||||
}
|
||||
|
|
29
pkgs/development/guile-modules/guile-config/default.nix
Normal file
29
pkgs/development/guile-modules/guile-config/default.nix
Normal file
|
@ -0,0 +1,29 @@
|
|||
{ lib, stdenv, fetchFromGitLab, autoreconfHook, pkg-config, texinfo, guile }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "guile-config";
|
||||
version = "0.5.1";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "a-sassmannshausen";
|
||||
repo = "guile-config";
|
||||
rev = version;
|
||||
hash = "sha256-n4ukGCyIx5G1ITfKSqS6FGJ6dnDBsyxXKSFNi81E4Gg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook pkg-config texinfo ];
|
||||
|
||||
buildInputs = [ guile ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
doCheck = true;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Configuration management library for GNU Guile";
|
||||
homepage = "https://gitlab.com/a-sassmannshausen/guile-config";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ sikmir ];
|
||||
platforms = guile.meta.platforms;
|
||||
};
|
||||
}
|
|
@ -99,7 +99,7 @@ stdenv.mkDerivation rec {
|
|||
meta = {
|
||||
description = "ANSI Common Lisp Implementation";
|
||||
homepage = "http://clisp.cons.org";
|
||||
maintainers = with lib.maintainers; [raskin tohl];
|
||||
maintainers = with lib.maintainers; [ raskin ];
|
||||
platforms = lib.platforms.unix;
|
||||
# problems on Darwin: https://github.com/NixOS/nixpkgs/issues/20062
|
||||
broken = stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isAarch64;
|
||||
|
|
|
@ -91,7 +91,7 @@ stdenv.mkDerivation rec {
|
|||
meta = {
|
||||
description = "ANSI Common Lisp Implementation";
|
||||
homepage = "http://clisp.cons.org";
|
||||
maintainers = with lib.maintainers; [raskin tohl];
|
||||
maintainers = with lib.maintainers; [ raskin ];
|
||||
# problems on Darwin: https://github.com/NixOS/nixpkgs/issues/20062
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
{ lib, stdenv, fetchurl
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, glib
|
||||
, gtk3
|
||||
, libffcall
|
||||
|
@ -25,10 +27,10 @@ stdenv.mkDerivation rec {
|
|||
configureOptions = [ "--with-gtk3" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "gtk-server for interpreted GUI programming";
|
||||
homepage = "http://www.gtk-server.org/";
|
||||
description = "gtk-server for interpreted GUI programming";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = [ maintainers.tohl ];
|
||||
maintainers = [ ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -55,8 +55,8 @@ stdenv.mkDerivation rec {
|
|||
description = "A simple Lisp with an integrated database";
|
||||
homepage = "https://picolisp.com/";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ raskin ];
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ raskin tohl ];
|
||||
};
|
||||
|
||||
passthru = {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{callPackage, ... } @ args:
|
||||
|
||||
callPackage ./generic.nix (args // {
|
||||
version = "1.16.1";
|
||||
sha256 = "1333ca6lnsdck4fsgjpbqf4lagxsnbg9970wxlsrinmwvdvdnwg2";
|
||||
version = "1.24.0";
|
||||
sha256 = "sha256-iXaBLCShGGAPb88HGiBgZjCmmv5MCr7jsN6lKOaCxYU=";
|
||||
})
|
||||
|
|
|
@ -159,7 +159,7 @@ stdenv.mkDerivation rec {
|
|||
++ optional libmfxSupport intel-media-sdk
|
||||
++ optional libaomSupport libaom
|
||||
++ optional vpxSupport libvpx
|
||||
++ optionals (!stdenv.isDarwin && !stdenv.isAarch32 && pulseaudioSupport) [ libpulseaudio ] # Need to be fixed on Darwin and ARM
|
||||
++ optionals (!stdenv.isDarwin && pulseaudioSupport) [ libpulseaudio ] # Need to be fixed on Darwin
|
||||
++ optionals vaapiSupport [ libva libdrm ]
|
||||
++ optional stdenv.isLinux alsa-lib
|
||||
++ optionals stdenv.isDarwin [ Cocoa CoreMedia VideoToolbox ]
|
||||
|
|
34
pkgs/development/libraries/geographiclib/default.nix
Normal file
34
pkgs/development/libraries/geographiclib/default.nix
Normal file
|
@ -0,0 +1,34 @@
|
|||
{ lib, stdenv, fetchFromGitHub, cmake, doxygen }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "geographiclib";
|
||||
version = "2.1.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "geographiclib";
|
||||
repo = "geographiclib";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-7K4vI5vNSGPo2d9QNmasjJa4oMDfE8WTW6Guk2604Yg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake doxygen ];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DBUILD_DOCUMENTATION=ON"
|
||||
"-DCMAKE_INSTALL_LIBDIR=lib"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "C++ geographic library";
|
||||
longDescription = ''
|
||||
GeographicLib is a small C++ library for:
|
||||
* geodesic and rhumb line calculations
|
||||
* conversions between geographic, UTM, UPS, MGRS, geocentric, and local cartesian coordinates
|
||||
* gravity (e.g., EGM2008) and geomagnetic field (e.g., WMM2020) calculations
|
||||
'';
|
||||
homepage = "https://geographiclib.sourceforge.io/";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ sikmir ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
|
@ -1,16 +1,20 @@
|
|||
{ stdenv, lib, fetchurl, cmake, perl }:
|
||||
{ stdenv, lib, fetchurl, cmake, perl, gnuplot }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libcerf";
|
||||
version = "2.0";
|
||||
version = "2.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://jugit.fz-juelich.de/mlz/libcerf/-/archive/v${version}/libcerf-v${version}.tar.gz";
|
||||
sha256 = "05lpaxmy6275nbzvf1ahxcfymyph89pvlgg8h9sp9iwal4g8nvn8";
|
||||
sha256 = "sha256-ihzYt/rgS4KpUWglISm4wbrKCYooX/jT8leB3q0Ut1o=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake perl ];
|
||||
|
||||
passthru.tests = {
|
||||
inherit gnuplot;
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Complex error (erf), Dawson, Faddeeva, and Voigt function library";
|
||||
homepage = "https://jugit.fz-juelich.de/mlz/libcerf";
|
||||
|
|
|
@ -2,29 +2,29 @@
|
|||
, stdenv
|
||||
, fetchurl
|
||||
, autoreconfHook
|
||||
, pkg-config
|
||||
, bzip2
|
||||
, doxygen
|
||||
, gettext
|
||||
, imagemagick
|
||||
, libgsf
|
||||
, pkg-config
|
||||
, xmlto
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "libpst";
|
||||
version = "0.6.76";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://www.five-ten-sg.com/libpst/packages/${pname}-${version}.tar.gz";
|
||||
sha256 = "0hhbbb8ddsgjhv9y1xd8s9ixlhdnjmhw12v06jwx4j6vpgp1na9x";
|
||||
url = "http://www.five-ten-sg.com/libpst/packages/${finalAttrs.pname}-${finalAttrs.version}.tar.gz";
|
||||
hash = "sha256-PSkb7rvbSNK5NGCLwGGVtkHaY9Ko9eDThvLp1tBaC0I=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoreconfHook
|
||||
pkg-config
|
||||
doxygen
|
||||
gettext
|
||||
pkg-config
|
||||
xmlto
|
||||
];
|
||||
|
||||
|
@ -35,9 +35,9 @@ stdenv.mkDerivation rec {
|
|||
];
|
||||
|
||||
configureFlags = [
|
||||
"--enable-python=no"
|
||||
"--disable-static"
|
||||
"--enable-libpst-shared"
|
||||
"--enable-python=no"
|
||||
];
|
||||
|
||||
doCheck = true;
|
||||
|
@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
|
|||
homepage = "https://www.five-ten-sg.com/libpst/";
|
||||
description = "A library to read PST (MS Outlook Personal Folders) files";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = [ maintainers.tohl ];
|
||||
maintainers = [ ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
}:
|
||||
|
||||
let
|
||||
version = "2.0.7";
|
||||
version = "2.0.8";
|
||||
|
||||
# Make sure we override python, so the correct version is chosen
|
||||
boostPython = boost.override { enablePython = true; inherit python; };
|
||||
|
@ -16,7 +16,7 @@ in stdenv.mkDerivation {
|
|||
owner = "arvidn";
|
||||
repo = "libtorrent";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-ikDtx1BIikVEL5jf37byNbuS+ft1lDtHUlFqegndapw=";
|
||||
sha256 = "sha256-mMY3NiSL/lYuYmV/KWgfKbs8XukSV4PvQ87tpgBid6M=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libxc";
|
||||
version = "5.2.3";
|
||||
version = "6.0.0";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "libxc";
|
||||
repo = "libxc";
|
||||
rev = version;
|
||||
hash = "sha256-PuLpwhyyht+kkPUTrJTH+VTY5WuOhi2mIUDrFqubF+w=";
|
||||
hash = "sha256-g1BjqzSVauDrzxIqqU2kLl6RFs6/oe2VthtndbnJQCc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ perl cmake gfortran ];
|
||||
|
|
|
@ -59,7 +59,7 @@ stdenv.mkDerivation rec {
|
|||
description = "Open source multimedia framework, designed for television broadcasting";
|
||||
homepage = "https://www.mltframework.org";
|
||||
license = with licenses; [ gpl3Only gpl2Only lgpl21Only ];
|
||||
maintainers = with maintainers; [ tohl peti ];
|
||||
maintainers = with maintainers; [ peti ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -5,13 +5,13 @@
|
|||
# https://github.com/oneapi-src/oneDNN#oneapi-deep-neural-network-library-onednn
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "oneDNN";
|
||||
version = "2.7";
|
||||
version = "2.7.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "oneapi-src";
|
||||
repo = "oneDNN";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-b0cBExzS4rsdSmZ8uPtM8+Djy2ncvuGVEwLsf2h0Sro=";
|
||||
sha256 = "sha256-HBCuSZkApd/6UkAxz/KDFb/gyX2SI1S2GwgXAXSTU/c=";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" "doc" ];
|
||||
|
|
|
@ -262,6 +262,6 @@ qtModule {
|
|||
# and qtwebengine 5.14+ requires at least SDK 10.14
|
||||
# (qtwebengine 5.12 is fine with SDK 10.12)
|
||||
# on aarch64-darwin we are already at MacOS SDK 11.0
|
||||
broken = stdenv.isDarwin && stdenv.isx86_64 && (lib.versionAtLeast qtCompatVersion "5.14");
|
||||
broken = stdenv.isDarwin;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -2,14 +2,17 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "tdlib";
|
||||
version = "1.8.3";
|
||||
version = "1.8.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tdlib";
|
||||
repo = "td";
|
||||
# https://github.com/tdlib/td/issues/1790
|
||||
rev = "054a823c1a812ee3e038f702c6d8ba3e6974be9c";
|
||||
sha256 = "sha256-YlvIGR3Axej0nfcGBQ5lwwYVWsLgqFrYgOxoNubYMPM=";
|
||||
|
||||
# The tdlib authors do not set tags for minor versions, but
|
||||
# external programs depending on tdlib constrain the minor
|
||||
# version, hence we set a specific commit with a known version.
|
||||
rev = "a7a17b34b3c8fd3f7f6295f152746beb68f34d83";
|
||||
sha256 = "sha256:0a5609knn7rmiiblz315yrvc9f2r207l2nl6brjy5bnhjdspmzs6";
|
||||
};
|
||||
|
||||
buildInputs = [ gperf openssl readline zlib ];
|
||||
|
|
43
pkgs/development/libraries/vk-bootstrap/default.nix
Normal file
43
pkgs/development/libraries/vk-bootstrap/default.nix
Normal file
|
@ -0,0 +1,43 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, cmake
|
||||
, vulkan-headers
|
||||
, glfw
|
||||
, catch2
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "vk-bootstrap";
|
||||
version = "0.5";
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "charles-lunarg";
|
||||
repo = "vk-bootstrap";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-rKyfUWfRYiVNzLWh6y44ASHW4j+yabY0kZTdZi8j2Dc=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
# Upstream uses cmake FetchContent to resolve glfw and catch2
|
||||
# needed for examples and tests
|
||||
sed -iE 's=add_subdirectory(ext)==g' CMakeLists.txt
|
||||
sed -iE 's=Catch2==g' tests/CMakeLists.txt
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = [ vulkan-headers glfw catch2 ];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DVK_BOOTSTRAP_VULKAN_HEADER_DIR=${vulkan-headers}/include"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Vulkan Bootstrapping Library";
|
||||
license = licenses.mit;
|
||||
homepage = "https://github.com/charles-lunarg/vk-bootstrap";
|
||||
maintainers = with maintainers; [ shamilton ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
|
@ -1,5 +1,6 @@
|
|||
[
|
||||
"@angular/cli"
|
||||
, "@ansible/ansible-language-server"
|
||||
, "@antfu/ni"
|
||||
, "@antora/cli"
|
||||
, "@antora/site-generator-default"
|
||||
|
@ -151,6 +152,7 @@
|
|||
, "gitmoji-cli"
|
||||
, "glob"
|
||||
, "gramma"
|
||||
, "grammarly-languageserver"
|
||||
, "graphql"
|
||||
, "graphql-cli"
|
||||
, "graphql-language-service-cli"
|
||||
|
|
703
pkgs/development/node-packages/node-packages.nix
generated
703
pkgs/development/node-packages/node-packages.nix
generated
File diff suppressed because it is too large
Load diff
|
@ -1,6 +1,6 @@
|
|||
{ lib, stdenv, fetchFromGitHub, fetchurl, fetchpatch
|
||||
, ocaml, findlib, ocamlbuild, ocaml_oasis
|
||||
, bitstring, camlzip, cmdliner, core_kernel, ezjsonm, fileutils, ocaml_lwt, ocamlgraph, ocurl, re, uri, zarith, piqi, piqi-ocaml, uuidm, llvm, frontc, ounit, ppx_jane, parsexp
|
||||
, bitstring, camlzip, cmdliner, core_kernel, ezjsonm, fileutils, mmap, lwt, ocamlgraph, ocurl, re, uri, zarith, piqi, piqi-ocaml, uuidm, llvm, frontc, ounit, ppx_jane, parsexp
|
||||
, utop, libxml2, ncurses
|
||||
, linenoise
|
||||
, ppx_bap
|
||||
|
@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
|
|||
z3
|
||||
utop libxml2 ncurses ];
|
||||
|
||||
propagatedBuildInputs = [ bitstring camlzip cmdliner ppx_bap core_kernel ezjsonm fileutils ocaml_lwt ocamlgraph ocurl re uri zarith piqi parsexp
|
||||
propagatedBuildInputs = [ bitstring camlzip cmdliner ppx_bap core_kernel ezjsonm fileutils mmap lwt ocamlgraph ocurl re uri zarith piqi parsexp
|
||||
piqi-ocaml uuidm frontc yojson ];
|
||||
|
||||
installPhase = ''
|
||||
|
|
|
@ -1,29 +1,25 @@
|
|||
{ lib, fetchFromGitHub, pkg-config, ncurses, libev, buildDunePackage, ocaml
|
||||
, cppo, dune-configurator, ocplib-endian, result
|
||||
, mmap, seq
|
||||
, ocaml-syntax-shims
|
||||
{ lib, fetchFromGitHub, libev, buildDunePackage
|
||||
, cppo, dune-configurator, ocplib-endian
|
||||
}:
|
||||
|
||||
let inherit (lib) optional versionOlder; in
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "lwt";
|
||||
version = "5.5.0";
|
||||
version = "5.6.1";
|
||||
|
||||
minimalOCamlVersion = "4.08";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ocsigen";
|
||||
repo = "lwt";
|
||||
rev = version;
|
||||
sha256 = "sha256:1jbjz2rsz3j56k8vh5qlmm87hhkr250bs2m3dvpy9vsri8rkzj9z";
|
||||
sha256 = "sha256-XstKs0tMwliCyXnP0Vzi5WC27HKJGnATUYtbbQmH1TE=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
nativeBuildInputs = [ pkg-config cppo ]
|
||||
++ optional (versionOlder ocaml.version "4.08") ocaml-syntax-shims;
|
||||
buildInputs = [ dune-configurator ]
|
||||
++ optional (versionOlder ocaml.version "4.07") ncurses;
|
||||
propagatedBuildInputs = [ libev mmap ocplib-endian seq result ];
|
||||
nativeBuildInputs = [ cppo ];
|
||||
buildInputs = [ dune-configurator ];
|
||||
propagatedBuildInputs = [ libev ocplib-endian ];
|
||||
|
||||
meta = {
|
||||
homepage = "https://ocsigen.org/lwt/";
|
||||
|
|
|
@ -9,16 +9,15 @@
|
|||
|
||||
buildDunePackage rec {
|
||||
pname = "ppx_deriving_cmdliner";
|
||||
version = "0.6.0";
|
||||
version = "0.6.1";
|
||||
|
||||
minimumOCamlVersion = "4.08";
|
||||
useDune2 = true;
|
||||
minimalOCamlVersion = "4.08";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hammerlab";
|
||||
repo = "ppx_deriving_cmdliner";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "19l32y2wv64d1c7fvln07dg3bkf7wf5inzjxlff7lbabskdbbras";
|
||||
sha256 = "sha256-/22KLQnxu3e2ZSca6ZLxTJDfv/rsmgCUkJnZC0RwRi8";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -34,7 +33,7 @@ buildDunePackage rec {
|
|||
|
||||
meta = with lib; {
|
||||
description = "Ppx_deriving plugin for generating command line interfaces from types for OCaml";
|
||||
inherit (src.meta) homepage;
|
||||
homepage = "https://github.com/hammerlab/ppx_deriving_cmdliner";
|
||||
license = licenses.asl20;
|
||||
maintainers = [ maintainers.romildo ];
|
||||
};
|
||||
|
|
|
@ -1,45 +0,0 @@
|
|||
{ buildDunePackage
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, ocaml
|
||||
, cmdliner
|
||||
, spacetime_lib
|
||||
, yojson
|
||||
, cohttp
|
||||
, ocaml_lwt
|
||||
, cohttp-lwt-unix
|
||||
, lambda-term
|
||||
, stdlib-shims
|
||||
}:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "prof_spacetime";
|
||||
version = "0.3.0";
|
||||
useDune2 = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "lpw25";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "1s88gf6x5almmyi58zx4q23w89mvahfjwhvyfg29ya5s1pjbc9hi";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
cmdliner
|
||||
spacetime_lib
|
||||
yojson
|
||||
cohttp
|
||||
ocaml_lwt
|
||||
cohttp-lwt-unix
|
||||
lambda-term
|
||||
stdlib-shims
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "A viewer for OCaml spacetime profiles";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = [ lib.maintainers.symphorien ];
|
||||
broken = true; # 2022-10-20, doesn't work with updated lambda-term
|
||||
inherit (src.meta) homepage;
|
||||
};
|
||||
}
|
|
@ -3,8 +3,8 @@
|
|||
buildPecl {
|
||||
pname = "grpc";
|
||||
|
||||
version = "1.48.1";
|
||||
sha256 = "sha256-dOIvjq+DPmBecu933z1DK8bZlkffUy2XLxYYdAU4WeA=";
|
||||
version = "1.50.0";
|
||||
sha256 = "sha256-Lgvrw1HZywfvHTaF88T5dtKXu/lGR5xeS+TsqqNQCSc=";
|
||||
|
||||
doCheck = true;
|
||||
checkTarget = "test";
|
||||
|
|
|
@ -294,6 +294,18 @@ buildPythonPackage rec {
|
|||
./update-providers.py
|
||||
'';
|
||||
|
||||
# Note on testing the web UI:
|
||||
# You can (manually) test the web UI as follows:
|
||||
#
|
||||
# nix shell .#python3Packages.apache-airflow
|
||||
# airflow db init
|
||||
# airflow reset -y # WARNING: this will wipe any existing db state you might have!
|
||||
# airflow standalone
|
||||
#
|
||||
# Then navigate to the localhost URL using the credentials printed, try
|
||||
# triggering the 'example_bash_operator' and 'example_bash_operator' DAGs and
|
||||
# see if they report success.
|
||||
|
||||
meta = with lib; {
|
||||
description = "Programmatically author, schedule and monitor data pipelines";
|
||||
homepage = "https://airflow.apache.org/";
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "bluetooth-auto-recovery";
|
||||
version = "0.3.4";
|
||||
version = "0.3.6";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.9";
|
||||
|
@ -20,7 +20,7 @@ buildPythonPackage rec {
|
|||
owner = "Bluetooth-Devices";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-jInCWya146QI7D89zSAPChF8GMDj7NRzu9NvVIbkntM=";
|
||||
hash = "sha256-2GmBO67sUIjasF5MHrDkZ4D+dk3xN+HNpc7nSN+qTaQ=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
49
pkgs/development/python-modules/click-shell/default.nix
Normal file
49
pkgs/development/python-modules/click-shell/default.nix
Normal file
|
@ -0,0 +1,49 @@
|
|||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, click
|
||||
, pytestCheckHook
|
||||
, pytest-click
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "click-shell";
|
||||
version = "2.1";
|
||||
format = "setuptools";
|
||||
|
||||
# PyPi release is missing tests
|
||||
src = fetchFromGitHub {
|
||||
owner = "clarkperkins";
|
||||
repo = pname;
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-4QpQzg0yFuOFymGiTI+A8o6LyX78iTJMqr0ernYbilI=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
click
|
||||
];
|
||||
|
||||
checkInputs = [
|
||||
pytest-click
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"click_shell"
|
||||
];
|
||||
|
||||
preCheck = "export HOME=$(mktemp -d)";
|
||||
|
||||
meta = with lib; {
|
||||
description = "An extension to click that easily turns your click app into a shell utility";
|
||||
longDescription = ''
|
||||
This is an extension to click that easily turns your click app into a
|
||||
shell utility. It is built on top of the built in python cmd module,
|
||||
with modifications to make it work with click. It adds a 'shell' mode
|
||||
with command completion to any click app.
|
||||
'';
|
||||
homepage = "https://github.com/clarkperkins/click-shell";
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ binsky ];
|
||||
};
|
||||
}
|
|
@ -8,50 +8,56 @@
|
|||
, numpy
|
||||
, pytestCheckHook
|
||||
, pyyaml
|
||||
, toml
|
||||
, pythonOlder
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "deepdiff";
|
||||
version = "5.8.2";
|
||||
version = "6.1.0";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.6";
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "seperman";
|
||||
repo = "deepdiff";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-7eagu6lef5bc/4KU3y067LFOGtH6whda1ocBuRHS/kI=";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-ngtQNyVQaywMyYitj37m0RJGBiMpjB4b8Rn+feMOjVU=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace requirements.txt \
|
||||
--replace "ordered-set==4.0.2" "ordered-set"
|
||||
substituteInPlace tests/test_command.py \
|
||||
--replace '/tmp/' "$TMPDIR/"
|
||||
'';
|
||||
|
||||
propagatedBuildInputs = [
|
||||
click
|
||||
ordered-set
|
||||
];
|
||||
|
||||
passthru.optional-dependencies = {
|
||||
cli = [
|
||||
clevercsv
|
||||
click
|
||||
pyyaml
|
||||
toml
|
||||
];
|
||||
};
|
||||
|
||||
checkInputs = [
|
||||
jsonpickle
|
||||
numpy
|
||||
pytestCheckHook
|
||||
] ++ passthru.optional-dependencies.cli;
|
||||
|
||||
pythonImportsCheck = [
|
||||
"deepdiff"
|
||||
];
|
||||
|
||||
checkInputs = [
|
||||
clevercsv
|
||||
jsonpickle
|
||||
numpy
|
||||
pytestCheckHook
|
||||
pyyaml
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Deep Difference and Search of any Python object/data";
|
||||
homepage = "https://github.com/seperman/deepdiff";
|
||||
changelog = "https://github.com/seperman/deepdiff/releases/tag/${version}";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ mic92 ];
|
||||
};
|
||||
|
|
|
@ -1,26 +1,29 @@
|
|||
{ lib
|
||||
, python
|
||||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
, pythonOlder
|
||||
, python
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "demjson3";
|
||||
version = "3.0.5";
|
||||
version = "3.0.6";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.6";
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "103dc4pzwg8791q3zll1vv4gcc17d9v3jvr9zj23cpv9hpfsp6mb";
|
||||
hash = "sha256-N8g7DG6wjSXe/IjfCipIddWKeAmpZQvW7uev2AU826w=";
|
||||
};
|
||||
|
||||
checkPhase = ''
|
||||
${python.interpreter} test/test_demjson3.py
|
||||
'';
|
||||
|
||||
pythonImportsCheck = [ "demjson3" ];
|
||||
pythonImportsCheck = [
|
||||
"demjson3"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Encoder/decoder and lint/validator for JSON (JavaScript Object Notation)";
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue