Merge master into haskell-updates

This commit is contained in:
github-actions[bot]
2023-01-25 00:13:57 +00:00
committed by GitHub
439 changed files with 3354 additions and 2013 deletions
+2 -2
View File
@@ -4,7 +4,7 @@ The [Citrix Workspace App](https://www.citrix.com/products/workspace-app/) is a
## Basic usage {#sec-citrix-base} ## Basic usage {#sec-citrix-base}
The tarball archive needs to be downloaded manually, as the license agreements of the vendor for [Citrix Workspace](https://www.citrix.de/downloads/workspace-app/linux/workspace-app-for-linux-latest.html) needs to be accepted first. Then run `nix-prefetch-url file://$PWD/linuxx64-$version.tar.gz`. With the archive available in the store, the package can be built and installed with Nix. The tarball archive needs to be downloaded manually, as the license agreements of the vendor for [Citrix Workspace](https://www.citrix.com/downloads/workspace-app/linux/workspace-app-for-linux-latest.html) needs to be accepted first. Then run `nix-prefetch-url file://$PWD/linuxx64-$version.tar.gz`. With the archive available in the store, the package can be built and installed with Nix.
## Citrix Self-service {#sec-citrix-selfservice} ## Citrix Self-service {#sec-citrix-selfservice}
@@ -19,7 +19,7 @@ $ selfservice
## Custom certificates {#sec-citrix-custom-certs} ## Custom certificates {#sec-citrix-custom-certs}
The `Citrix Workspace App` in `nixpkgs` trusts several certificates [from the Mozilla database](https://curl.haxx.se/docs/caextract.html) by default. However, several companies using Citrix might require their own corporate certificate. On distros with imperative packaging, these certs can be stored easily in [`$ICAROOT`](https://developer-docs.citrix.com/projects/receiver-for-linux-command-reference/en/13.7/), however this directory is a store path in `nixpkgs`. In order to work around this issue, the package provides a simple mechanism to add custom certificates without rebuilding the entire package using `symlinkJoin`: The `Citrix Workspace App` in `nixpkgs` trusts several certificates [from the Mozilla database](https://curl.haxx.se/docs/caextract.html) by default. However, several companies using Citrix might require their own corporate certificate. On distros with imperative packaging, these certs can be stored easily in [`$ICAROOT`](https://citrix.github.io/receiver-for-linux-command-reference/), however this directory is a store path in `nixpkgs`. In order to work around this issue, the package provides a simple mechanism to add custom certificates without rebuilding the entire package using `symlinkJoin`:
```nix ```nix
with import <nixpkgs> { config.allowUnfree = true; }; with import <nixpkgs> { config.allowUnfree = true; };
+1 -1
View File
@@ -4,7 +4,7 @@ This package is an ibus-based completion method to speed up typing.
## Activating the engine {#sec-ibus-typing-booster-activate} ## Activating the engine {#sec-ibus-typing-booster-activate}
IBus needs to be configured accordingly to activate `typing-booster`. The configuration depends on the desktop manager in use. For detailed instructions, please refer to the [upstream docs](https://mike-fabian.github.io/ibus-typing-booster/documentation.html). IBus needs to be configured accordingly to activate `typing-booster`. The configuration depends on the desktop manager in use. For detailed instructions, please refer to the [upstream docs](https://mike-fabian.github.io/ibus-typing-booster/).
On NixOS, you need to explicitly enable `ibus` with given engines before customizing your desktop to use `typing-booster`. This can be achieved using the `ibus` module: On NixOS, you need to explicitly enable `ibus` with given engines before customizing your desktop to use `typing-booster`. This can be achieved using the `ibus` module:
+3 -3
View File
@@ -28,13 +28,13 @@ mkShell {
packages = [ packages = [
(with dotnetCorePackages; combinePackages [ (with dotnetCorePackages; combinePackages [
sdk_3_1 sdk_3_1
sdk_5_0 sdk_6_0
]) ])
]; ];
} }
``` ```
This will produce a dotnet installation that has the dotnet 3.1, 3.0, and 2.1 sdk. The first sdk listed will have it's cli utility present in the resulting environment. Example info output: This will produce a dotnet installation that has the dotnet 3.1 6.0 sdk. The first sdk listed will have it's cli utility present in the resulting environment. Example info output:
```ShellSession ```ShellSession
$ dotnet --info $ dotnet --info
@@ -120,7 +120,7 @@ in buildDotnetModule rec {
projectReferences = [ referencedProject ]; # `referencedProject` must contain `nupkg` in the folder structure. projectReferences = [ referencedProject ]; # `referencedProject` must contain `nupkg` in the folder structure.
dotnet-sdk = dotnetCorePackages.sdk_3_1; dotnet-sdk = dotnetCorePackages.sdk_3_1;
dotnet-runtime = dotnetCorePackages.net_5_0; dotnet-runtime = dotnetCorePackages.net_6_0;
executables = [ "foo" ]; # This wraps "$out/lib/$pname/foo" to `$out/bin/foo`. executables = [ "foo" ]; # This wraps "$out/lib/$pname/foo" to `$out/bin/foo`.
executables = []; # Don't install any executables. executables = []; # Don't install any executables.
+2 -2
View File
@@ -34,7 +34,7 @@ To allow software to use various virtual file systems, `gvfs` package can be als
### GdkPixbuf loaders {#ssec-gnome-gdk-pixbuf-loaders} ### GdkPixbuf loaders {#ssec-gnome-gdk-pixbuf-loaders}
GTK applications typically use [GdkPixbuf](https://developer.gnome.org/gdk-pixbuf/stable/) to load images. But `gdk-pixbuf` package only supports basic bitmap formats like JPEG, PNG or TIFF, requiring to use third-party loader modules for other formats. This is especially painful since GTK itself includes SVG icons, which cannot be rendered without a loader provided by `librsvg`. GTK applications typically use [GdkPixbuf](https://gitlab.gnome.org/GNOME/gdk-pixbuf/) to load images. But `gdk-pixbuf` package only supports basic bitmap formats like JPEG, PNG or TIFF, requiring to use third-party loader modules for other formats. This is especially painful since GTK itself includes SVG icons, which cannot be rendered without a loader provided by `librsvg`.
Unlike other libraries mentioned in this section, GdkPixbuf only supports a single value in its controlling environment variable `GDK_PIXBUF_MODULE_FILE`. It is supposed to point to a cache file containing information about the available loaders. Each loader package will contain a `lib/gdk-pixbuf-2.0/2.10.0/loaders.cache` file describing the default loaders in `gdk-pixbuf` package plus the loader contained in the package itself. If you want to use multiple third-party loaders, you will need to create your own cache file manually. Fortunately, this is pretty rare as [not many loaders exist](https://gitlab.gnome.org/federico/gdk-pixbuf-survey/blob/master/src/modules.md). Unlike other libraries mentioned in this section, GdkPixbuf only supports a single value in its controlling environment variable `GDK_PIXBUF_MODULE_FILE`. It is supposed to point to a cache file containing information about the available loaders. Each loader package will contain a `lib/gdk-pixbuf-2.0/2.10.0/loaders.cache` file describing the default loaders in `gdk-pixbuf` package plus the loader contained in the package itself. If you want to use multiple third-party loaders, you will need to create your own cache file manually. Fortunately, this is pretty rare as [not many loaders exist](https://gitlab.gnome.org/federico/gdk-pixbuf-survey/blob/master/src/modules.md).
@@ -70,7 +70,7 @@ Also make sure that `icon-theme.cache` is installed for each theme provided by t
### GTK Themes {#ssec-gnome-themes} ### GTK Themes {#ssec-gnome-themes}
Previously, a GTK theme needed to be in `XDG_DATA_DIRS`. This is no longer necessary for most programs since GTK incorporated Adwaita theme. Some programs (for example, those designed for [elementary HIG](https://elementary.io/docs/human-interface-guidelines#human-interface-guidelines)) might require a special theme like `pantheon.elementary-gtk-theme`. Previously, a GTK theme needed to be in `XDG_DATA_DIRS`. This is no longer necessary for most programs since GTK incorporated Adwaita theme. Some programs (for example, those designed for [elementary HIG](https://docs.elementary.io/hig)) might require a special theme like `pantheon.elementary-gtk-theme`.
### GObject introspection typelibs {#ssec-gnome-typelibs} ### GObject introspection typelibs {#ssec-gnome-typelibs}
+6 -1
View File
@@ -715,7 +715,12 @@ in mkLicense lset) ({
ncsa = { ncsa = {
spdxId = "NCSA"; spdxId = "NCSA";
fullName = "University of Illinois/NCSA Open Source License"; fullName = "University of Illinois/NCSA Open Source License";
};
nlpl = {
spdxId = "NLPL";
fullName = "No Limit Public License";
}; };
nposl3 = { nposl3 = {
+6
View File
@@ -12269,6 +12269,12 @@
githubId = 710906; githubId = 710906;
name = "Roel van Dijk"; name = "Roel van Dijk";
}; };
roman = {
email = "open-source@roman-gonzalez.info";
github = "roman";
githubId = 7335;
name = "Roman Gonzalez";
};
romildo = { romildo = {
email = "malaquias@gmail.com"; email = "malaquias@gmail.com";
github = "romildo"; github = "romildo";
@@ -65,6 +65,7 @@ luaevent,,,,,,
luaexpat,,,,1.4.1-1,,arobyn flosse luaexpat,,,,1.4.1-1,,arobyn flosse
luaffi,,,http://luarocks.org/dev,,, luaffi,,,http://luarocks.org/dev,,,
luafilesystem,,,,1.8.0-1,,flosse luafilesystem,,,,1.8.0-1,,flosse
lualdap,,,,,,aanderse
lualogging,,,,,, lualogging,,,,,,
luaossl,,,,,5.1, luaossl,,,,,5.1,
luaposix,,,,34.1.1-1,,vyp lblasc luaposix,,,,34.1.1-1,,vyp lblasc
1 name src ref server version luaversion maintainers
65 luaexpat 1.4.1-1 arobyn flosse
66 luaffi http://luarocks.org/dev
67 luafilesystem 1.8.0-1 flosse
68 lualdap aanderse
69 lualogging
70 luaossl 5.1
71 luaposix 34.1.1-1 vyp lblasc
@@ -61,6 +61,13 @@
<link linkend="opt-services.printing.cups-pdf.enable">services.printing.cups-pdf</link>. <link linkend="opt-services.printing.cups-pdf.enable">services.printing.cups-pdf</link>.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
<link xlink:href="https://www.magicbug.co.uk/cloudlog/">Cloudlog</link>,
a web-based Amateur Radio logging application. Available as
<link linkend="opt-services.cloudlog.enable">services.cloudlog</link>.
</para>
</listitem>
<listitem> <listitem>
<para> <para>
<link xlink:href="https://github.com/junegunn/fzf">fzf</link>, <link xlink:href="https://github.com/junegunn/fzf">fzf</link>,
@@ -372,6 +379,13 @@
<literal>freetype</literal> and others. <literal>freetype</literal> and others.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
.NET 5.0 was removed due to being end-of-life, use a newer,
supported .NET version -
https://dotnet.microsoft.com/en-us/platform/support/policy/dotnet-core
</para>
</listitem>
</itemizedlist> </itemizedlist>
</section> </section>
<section xml:id="sec-release-23.05-notable-changes"> <section xml:id="sec-release-23.05-notable-changes">
@@ -24,6 +24,8 @@ In addition to numerous new and upgraded packages, this release has the followin
- [cups-pdf-to-pdf](https://github.com/alexivkin/CUPS-PDF-to-PDF), a pdf-generating cups backend based on [cups-pdf](https://www.cups-pdf.de/). Available as [services.printing.cups-pdf](#opt-services.printing.cups-pdf.enable). - [cups-pdf-to-pdf](https://github.com/alexivkin/CUPS-PDF-to-PDF), a pdf-generating cups backend based on [cups-pdf](https://www.cups-pdf.de/). Available as [services.printing.cups-pdf](#opt-services.printing.cups-pdf.enable).
- [Cloudlog](https://www.magicbug.co.uk/cloudlog/), a web-based Amateur Radio logging application. Available as [services.cloudlog](#opt-services.cloudlog.enable).
- [fzf](https://github.com/junegunn/fzf), a command line fuzzyfinder. Available as [programs.fzf](#opt-programs.fzf.fuzzyCompletion). - [fzf](https://github.com/junegunn/fzf), a command line fuzzyfinder. Available as [programs.fzf](#opt-programs.fzf.fuzzyCompletion).
- [gmediarender](https://github.com/hzeller/gmrender-resurrect), a simple, headless UPnP/DLNA renderer. Available as [services.gmediarender](options.html#opt-services.gmediarender.enable). - [gmediarender](https://github.com/hzeller/gmrender-resurrect), a simple, headless UPnP/DLNA renderer. Available as [services.gmediarender](options.html#opt-services.gmediarender.enable).
@@ -91,6 +93,8 @@ In addition to numerous new and upgraded packages, this release has the followin
- Deprecated `xlibsWrapper` transitional package has been removed in favour of direct use of its constitutents: `xorg.libX11`, `freetype` and others. - Deprecated `xlibsWrapper` transitional package has been removed in favour of direct use of its constitutents: `xorg.libX11`, `freetype` and others.
- .NET 5.0 was removed due to being end-of-life, use a newer, supported .NET version - https://dotnet.microsoft.com/en-us/platform/support/policy/dotnet-core
## Other Notable Changes {#sec-release-23.05-notable-changes} ## Other Notable Changes {#sec-release-23.05-notable-changes}
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. --> <!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
+3
View File
@@ -59,6 +59,9 @@ with lib;
pinentry = super.pinentry.override { enabledFlavors = [ "curses" "tty" "emacs" ]; withLibsecret = false; }; pinentry = super.pinentry.override { enabledFlavors = [ "curses" "tty" "emacs" ]; withLibsecret = false; };
qemu = super.qemu.override { gtkSupport = false; spiceSupport = false; sdlSupport = false; }; qemu = super.qemu.override { gtkSupport = false; spiceSupport = false; sdlSupport = false; };
qrencode = super.qrencode.overrideAttrs (_: { doCheck = false; }); qrencode = super.qrencode.overrideAttrs (_: { doCheck = false; });
qt5 = super.qt5.overrideScope' (self: super: {
qtbase = super.qtbase.override { withGtk3 = false; };
});
stoken = super.stoken.override { withGTK3 = false; }; stoken = super.stoken.override { withGTK3 = false; };
# translateManpages -> perlPackages.po4a -> texlive-combined-basic -> texlive-core-big -> libX11 # translateManpages -> perlPackages.po4a -> texlive-combined-basic -> texlive-core-big -> libX11
util-linux = super.util-linux.override { translateManpages = false; }; util-linux = super.util-linux.override { translateManpages = false; };
+1
View File
@@ -1119,6 +1119,7 @@
./services/web-apps/bookstack.nix ./services/web-apps/bookstack.nix
./services/web-apps/calibre-web.nix ./services/web-apps/calibre-web.nix
./services/web-apps/changedetection-io.nix ./services/web-apps/changedetection-io.nix
./services/web-apps/cloudlog.nix
./services/web-apps/code-server.nix ./services/web-apps/code-server.nix
./services/web-apps/convos.nix ./services/web-apps/convos.nix
./services/web-apps/dex.nix ./services/web-apps/dex.nix
@@ -0,0 +1,502 @@
{ config, pkgs, lib, ... }:
with lib;
let
cfg = config.services.cloudlog;
dbFile = let
password = if cfg.database.createLocally
then "''"
else "trim(file_get_contents('${cfg.database.passwordFile}'))";
in pkgs.writeText "database.php" ''
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
$active_group = 'default';
$query_builder = TRUE;
$db['default'] = array(
'dsn' => "",
'hostname' => '${cfg.database.host}',
'username' => '${cfg.database.user}',
'password' => ${password},
'database' => '${cfg.database.name}',
'dbdriver' => 'mysqli',
'dbprefix' => "",
'pconnect' => TRUE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => "",
'char_set' => 'utf8mb4',
'dbcollat' => 'utf8mb4_general_ci',
'swap_pre' => "",
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);
'';
configFile = pkgs.writeText "config.php" ''
${strings.fileContents "${pkgs.cloudlog}/install/config/config.php"}
$config['datadir'] = "${cfg.dataDir}/";
$config['base_url'] = "${cfg.baseUrl}";
${cfg.extraConfig}
'';
package = pkgs.stdenv.mkDerivation rec {
pname = "cloudlog";
version = src.version;
src = pkgs.cloudlog;
installPhase = ''
mkdir -p $out
cp -r * $out/
ln -s ${configFile} $out/application/config/config.php
ln -s ${dbFile} $out/application/config/database.php
# link writable directories
for directory in updates uploads backup logbook; do
rm -rf $out/$directory
ln -s ${cfg.dataDir}/$directory $out/$directory
done
# link writable asset files
for asset in dok sota wwff; do
rm -rf $out/assets/json/$asset.txt
ln -s ${cfg.dataDir}/assets/json/$asset.txt $out/assets/json/$asset.txt
done
'';
};
in
{
options.services.cloudlog = with types; {
enable = mkEnableOption (mdDoc "Whether to enable Cloudlog.");
dataDir = mkOption {
type = str;
default = "/var/lib/cloudlog";
description = mdDoc "Cloudlog data directory.";
};
baseUrl = mkOption {
type = str;
default = "http://localhost";
description = mdDoc "Cloudlog base URL";
};
user = mkOption {
type = str;
default = "cloudlog";
description = mdDoc "User account under which Cloudlog runs.";
};
database = {
createLocally = mkOption {
type = types.bool;
default = true;
description = lib.mdDoc "Create the database and database user locally.";
};
host = mkOption {
type = str;
description = mdDoc "MySQL database host";
default = "localhost";
};
name = mkOption {
type = str;
description = mdDoc "MySQL database name.";
default = "cloudlog";
};
user = mkOption {
type = str;
description = mdDoc "MySQL user name.";
default = "cloudlog";
};
passwordFile = mkOption {
type = nullOr str;
description = mdDoc "MySQL user password file.";
default = null;
};
};
poolConfig = mkOption {
type = attrsOf (oneOf [ str int bool ]);
default = {
"pm" = "dynamic";
"pm.max_children" = 32;
"pm.start_servers" = 2;
"pm.min_spare_servers" = 2;
"pm.max_spare_servers" = 4;
"pm.max_requests" = 500;
};
description = mdDoc ''
Options for Cloudlog's PHP-FPM pool.
'';
};
virtualHost = mkOption {
type = nullOr str;
default = "localhost";
description = mdDoc ''
Name of the nginx virtualhost to use and setup. If null, do not setup
any virtualhost.
'';
};
extraConfig = mkOption {
description = mdDoc ''
Any additional text to be appended to the config.php
configuration file. This is a PHP script. For configuration
settings, see <https://github.com/magicbug/Cloudlog/wiki/Cloudlog.php-Configuration-File>.
'';
default = "";
type = str;
example = ''
$config['show_time'] = TRUE;
'';
};
upload-lotw = {
enable = mkOption {
type = bool;
default = true;
description = mdDoc ''
Whether to periodically upload logs to LoTW. If enabled, a systemd
timer will run the log upload task as specified by the interval
option.
'';
};
interval = mkOption {
type = str;
default = "daily";
description = mdDoc ''
Specification (in the format described by systemd.time(7)) of the
time at which the LoTW upload will occur.
'';
};
};
upload-clublog = {
enable = mkOption {
type = bool;
default = true;
description = mdDoc ''
Whether to periodically upload logs to Clublog. If enabled, a systemd
timer will run the log upload task as specified by the interval option.
'';
};
interval = mkOption {
type = str;
default = "daily";
description = mdDoc ''
Specification (in the format described by systemd.time(7)) of the time
at which the Clublog upload will occur.
'';
};
};
update-lotw-users = {
enable = mkOption {
type = bool;
default = true;
description = mdDoc ''
Whether to periodically update the list of LoTW users. If enabled, a
systemd timer will run the update task as specified by the interval
option.
'';
};
interval = mkOption {
type = str;
default = "weekly";
description = mdDoc ''
Specification (in the format described by systemd.time(7)) of the
time at which the LoTW user update will occur.
'';
};
};
update-dok = {
enable = mkOption {
type = bool;
default = true;
description = mdDoc ''
Whether to periodically update the DOK resource file. If enabled, a
systemd timer will run the update task as specified by the interval option.
'';
};
interval = mkOption {
type = str;
default = "monthly";
description = mdDoc ''
Specification (in the format described by systemd.time(7)) of the
time at which the DOK update will occur.
'';
};
};
update-clublog-scp = {
enable = mkOption {
type = bool;
default = true;
description = mdDoc ''
Whether to periodically update the Clublog SCP database. If enabled,
a systemd timer will run the update task as specified by the interval
option.
'';
};
interval = mkOption {
type = str;
default = "monthly";
description = mdDoc ''
Specification (in the format described by systemd.time(7)) of the time
at which the Clublog SCP update will occur.
'';
};
};
update-wwff = {
enable = mkOption {
type = bool;
default = true;
description = mdDoc ''
Whether to periodically update the WWFF database. If enabled, a
systemd timer will run the update task as specified by the interval
option.
'';
};
interval = mkOption {
type = str;
default = "monthly";
description = mdDoc ''
Specification (in the format described by systemd.time(7)) of the time
at which the WWFF update will occur.
'';
};
};
upload-qrz = {
enable = mkOption {
type = bool;
default = true;
description = mdDoc ''
Whether to periodically upload logs to QRZ. If enabled, a systemd
timer will run the update task as specified by the interval option.
'';
};
interval = mkOption {
type = str;
default = "daily";
description = mdDoc ''
Specification (in the format described by systemd.time(7)) of the
time at which the QRZ upload will occur.
'';
};
};
update-sota = {
enable = mkOption {
type = bool;
default = true;
description = mdDoc ''
Whether to periodically update the SOTA database. If enabled, a
systemd timer will run the update task as specified by the interval option.
'';
};
interval = mkOption {
type = str;
default = "monthly";
description = mdDoc ''
Specification (in the format described by systemd.time(7)) of the time
at which the SOTA update will occur.
'';
};
};
};
config = mkIf cfg.enable {
assertions = [
{
assertion = cfg.database.createLocally -> cfg.database.passwordFile == null;
message = "services.cloudlog.database.passwordFile cannot be specified if services.cloudlog.database.createLocally is set to true.";
}
];
services.phpfpm = {
pools.cloudlog = {
inherit (cfg) user;
group = config.services.nginx.group;
settings = {
"listen.owner" = config.services.nginx.user;
"listen.group" = config.services.nginx.group;
} // cfg.poolConfig;
};
};
services.nginx = mkIf (cfg.virtualHost != null) {
enable = true;
virtualHosts = {
"${cfg.virtualHost}" = {
root = "${package}";
locations."/".tryFiles = "$uri /index.php$is_args$args";
locations."~ ^/index.php(/|$)".extraConfig = ''
include ${config.services.nginx.package}/conf/fastcgi_params;
include ${pkgs.nginx}/conf/fastcgi.conf;
fastcgi_split_path_info ^(.+\.php)(.+)$;
fastcgi_pass unix:${config.services.phpfpm.pools.cloudlog.socket};
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
'';
};
};
};
services.mysql = mkIf cfg.database.createLocally {
enable = true;
ensureDatabases = [ cfg.database.name ];
ensureUsers = [{
name = cfg.database.user;
ensurePermissions = {
"${cfg.database.name}.*" = "ALL PRIVILEGES";
};
}];
};
systemd = {
services = {
cloudlog-setup-database = mkIf cfg.database.createLocally {
description = "Set up cloudlog database";
serviceConfig = {
Type = "oneshot";
RemainAfterExit = true;
};
wantedBy = [ "phpfpm-cloudlog.service" ];
after = [ "mysql.service" ];
script = let
mysql = "${config.services.mysql.package}/bin/mysql";
in ''
if [ ! -f ${cfg.dataDir}/.dbexists ]; then
${mysql} ${cfg.database.name} < ${pkgs.cloudlog}/install/assets/install.sql
touch ${cfg.dataDir}/.dbexists
fi
'';
};
cloudlog-upload-lotw = {
description = "Upload QSOs to LoTW if certs have been provided";
enable = cfg.upload-lotw.enable;
script = "${pkgs.curl}/bin/curl -s ${cfg.baseUrl}/lotw/lotw_upload";
};
cloudlog-update-lotw-users = {
description = "Update LOTW Users Database";
enable = cfg.update-lotw-users.enable;
script = "${pkgs.curl}/bin/curl -s ${cfg.baseUrl}/lotw/load_users";
};
cloudlog-update-dok = {
description = "Update DOK File for autocomplete";
enable = cfg.update-dok.enable;
script = "${pkgs.curl}/bin/curl -s ${cfg.baseUrl}/update/update_dok";
};
cloudlog-update-clublog-scp = {
description = "Update Clublog SCP Database File";
enable = cfg.update-clublog-scp.enable;
script = "${pkgs.curl}/bin/curl -s ${cfg.baseUrl}/update/update_clublog_scp";
};
cloudlog-update-wwff = {
description = "Update WWFF File for autocomplete";
enable = cfg.update-wwff.enable;
script = "${pkgs.curl}/bin/curl -s ${cfg.baseUrl}/update/update_wwff";
};
cloudlog-upload-qrz = {
description = "Upload QSOs to QRZ Logbook";
enable = cfg.upload-qrz.enable;
script = "${pkgs.curl}/bin/curl -s ${cfg.baseUrl}/qrz/upload";
};
cloudlog-update-sota = {
description = "Update SOTA File for autocomplete";
enable = cfg.update-sota.enable;
script = "${pkgs.curl}/bin/curl -s ${cfg.baseUrl}/update/update_sota";
};
};
timers = {
cloudlog-upload-lotw = {
enable = cfg.upload-lotw.enable;
wantedBy = [ "timers.target" ];
partOf = [ "cloudlog-upload-lotw.service" ];
after = [ "phpfpm-cloudlog.service" ];
timerConfig = {
OnCalendar = cfg.upload-lotw.interval;
Persistent = true;
};
};
cloudlog-upload-clublog = {
enable = cfg.upload-clublog.enable;
wantedBy = [ "timers.target" ];
partOf = [ "cloudlog-upload-clublog.service" ];
after = [ "phpfpm-cloudlog.service" ];
timerConfig = {
OnCalendar = cfg.upload-clublog.interval;
Persistent = true;
};
};
cloudlog-update-lotw-users = {
enable = cfg.update-lotw-users.enable;
wantedBy = [ "timers.target" ];
partOf = [ "cloudlog-update-lotw-users.service" ];
after = [ "phpfpm-cloudlog.service" ];
timerConfig = {
OnCalendar = cfg.update-lotw-users.interval;
Persistent = true;
};
};
cloudlog-update-dok = {
enable = cfg.update-dok.enable;
wantedBy = [ "timers.target" ];
partOf = [ "cloudlog-update-dok.service" ];
after = [ "phpfpm-cloudlog.service" ];
timerConfig = {
OnCalendar = cfg.update-dok.interval;
Persistent = true;
};
};
cloudlog-update-clublog-scp = {
enable = cfg.update-clublog-scp.enable;
wantedBy = [ "timers.target" ];
partOf = [ "cloudlog-update-clublog-scp.service" ];
after = [ "phpfpm-cloudlog.service" ];
timerConfig = {
OnCalendar = cfg.update-clublog-scp.interval;
Persistent = true;
};
};
cloudlog-update-wwff = {
enable = cfg.update-wwff.enable;
wantedBy = [ "timers.target" ];
partOf = [ "cloudlog-update-wwff.service" ];
after = [ "phpfpm-cloudlog.service" ];
timerConfig = {
OnCalendar = cfg.update-wwff.interval;
Persistent = true;
};
};
cloudlog-upload-qrz = {
enable = cfg.upload-qrz.enable;
wantedBy = [ "timers.target" ];
partOf = [ "cloudlog-upload-qrz.service" ];
after = [ "phpfpm-cloudlog.service" ];
timerConfig = {
OnCalendar = cfg.upload-qrz.interval;
Persistent = true;
};
};
cloudlog-update-sota = {
enable = cfg.update-sota.enable;
wantedBy = [ "timers.target" ];
partOf = [ "cloudlog-update-sota.service" ];
after = [ "phpfpm-cloudlog.service" ];
timerConfig = {
OnCalendar = cfg.update-sota.interval;
Persistent = true;
};
};
};
tmpfiles.rules = let
group = config.services.nginx.group;
in [
"d ${cfg.dataDir} 0750 ${cfg.user} ${group} - -"
"d ${cfg.dataDir}/updates 0750 ${cfg.user} ${group} - -"
"d ${cfg.dataDir}/uploads 0750 ${cfg.user} ${group} - -"
"d ${cfg.dataDir}/backup 0750 ${cfg.user} ${group} - -"
"d ${cfg.dataDir}/logbook 0750 ${cfg.user} ${group} - -"
"d ${cfg.dataDir}/assets/json 0750 ${cfg.user} ${group} - -"
"d ${cfg.dataDir}/assets/qslcard 0750 ${cfg.user} ${group} - -"
];
};
users.users."${cfg.user}" = {
isSystemUser = true;
group = config.services.nginx.group;
};
};
meta.maintainers = with maintainers; [ melling ];
}
+5 -3
View File
@@ -343,9 +343,11 @@ in {
system.build = { inherit initialRamdisk; }; system.build = { inherit initialRamdisk; };
boot.initrd.availableKernelModules = [ boot.initrd.availableKernelModules = [
"autofs4" # systemd needs this for some features # systemd needs this for some features
"tpm-tis" "tpm-crb" # systemd-cryptenroll "autofs4"
]; # systemd-cryptenroll
"tpm-tis"
] ++ lib.optional (pkgs.stdenv.hostPlatform.system != "riscv64-linux") "tpm-crb";
boot.initrd.systemd = { boot.initrd.systemd = {
initrdBin = [pkgs.bash pkgs.coreutils cfg.package.kmod cfg.package] ++ config.system.fsPackages; initrdBin = [pkgs.bash pkgs.coreutils cfg.package.kmod cfg.package] ++ config.system.fsPackages;
+1
View File
@@ -131,6 +131,7 @@ in {
clickhouse = handleTest ./clickhouse.nix {}; clickhouse = handleTest ./clickhouse.nix {};
cloud-init = handleTest ./cloud-init.nix {}; cloud-init = handleTest ./cloud-init.nix {};
cloud-init-hostname = handleTest ./cloud-init-hostname.nix {}; cloud-init-hostname = handleTest ./cloud-init-hostname.nix {};
cloudlog = handleTest ./cloudlog.nix {};
cntr = handleTestOn ["aarch64-linux" "x86_64-linux"] ./cntr.nix {}; cntr = handleTestOn ["aarch64-linux" "x86_64-linux"] ./cntr.nix {};
cockroachdb = handleTestOn ["x86_64-linux"] ./cockroachdb.nix {}; cockroachdb = handleTestOn ["x86_64-linux"] ./cockroachdb.nix {};
collectd = handleTest ./collectd.nix {}; collectd = handleTest ./collectd.nix {};
+18
View File
@@ -0,0 +1,18 @@
import ./make-test-python.nix ({ pkgs, ... }: {
name = "cloudlog";
meta = {
maintainers = with pkgs.lib.maintainers; [ melling ];
};
nodes = {
machine = {
services.mysql.package = pkgs.mariadb;
services.cloudlog.enable = true;
};
};
testScript = ''
start_all()
machine.wait_for_unit("phpfpm-cloudlog")
machine.wait_for_open_port(80);
machine.wait_until_succeeds("curl -s -L --fail http://localhost | grep 'Login - Cloudlog'")
'';
})
@@ -3,20 +3,22 @@
, lib , lib
, llvmPackages , llvmPackages
, protobuf , protobuf
, rocksdb
, rustPlatform , rustPlatform
, stdenv , stdenv
, writeShellScriptBin , writeShellScriptBin
, Security , Security
, SystemConfiguration
}: }:
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "polkadot"; pname = "polkadot";
version = "0.9.36"; version = "0.9.37";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "paritytech"; owner = "paritytech";
repo = "polkadot"; repo = "polkadot";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-HzQFlnn+SPasI0g0DYDCRoFCMVyxlUmEQAobvzRnAW4="; hash = "sha256-/mgJNjliPUmMkhT/1oiX9+BJHfY3SMsKfFv9HCyWRQQ=";
# the build process of polkadot requires a .git folder in order to determine # the build process of polkadot requires a .git folder in order to determine
# the git commit hash that is being built and add it to the version string. # the git commit hash that is being built and add it to the version string.
@@ -32,9 +34,9 @@ rustPlatform.buildRustPackage rec {
''; '';
}; };
cargoSha256 = "sha256-P31GW/1HiaZLF6e8Fq1YnH1ZLhiOhURm8st9a4KRlJU="; cargoHash = "sha256-o+APFYKgA3zjQSGrkpnyf5LEBBqvZtcfWlzCk6nL02A=";
buildInputs = lib.optionals stdenv.isDarwin [ Security ]; buildInputs = lib.optionals stdenv.isDarwin [ Security SystemConfiguration ];
nativeBuildInputs = [ rustPlatform.bindgenHook ]; nativeBuildInputs = [ rustPlatform.bindgenHook ];
@@ -44,6 +46,7 @@ rustPlatform.buildRustPackage rec {
''; '';
PROTOC = "${protobuf}/bin/protoc"; PROTOC = "${protobuf}/bin/protoc";
ROCKSDB_LIB_DIR = "${rocksdb}/lib";
# NOTE: We don't build the WASM runtimes since this would require a more # NOTE: We don't build the WASM runtimes since this would require a more
# complicated rust environment setup and this is only needed for developer # complicated rust environment setup and this is only needed for developer
@@ -10,16 +10,16 @@ let
inherit tiling_wm; inherit tiling_wm;
}; };
stableVersion = { stableVersion = {
version = "2021.3.1.17"; # "Android Studio Dolphin (2021.3.1)" version = "2022.1.1.19"; # "Android Studio Electric Eel (2022.1.1)"
sha256Hash = "sha256-ia2wzg/6RreJTnv+2xQrH11SxDwXHmpsualaSfd3Vso="; sha256Hash = "luxE6a2C86JB28ezuIZV49TyE314S1RcNXQnCQamjUA=";
}; };
betaVersion = { betaVersion = {
version = "2022.1.1.12"; # "Android Studio Electric Eel (2022.1.1) Beta 2" version = "2022.2.1.12"; # "Android Studio Flamingo (2022.2.1) Beta 1"
sha256Hash = "8iSFPH0PTQkzV1t8bEq7CBtOU8pzdnD/PrpVcgPnO6Q="; sha256Hash = "tIgmX9KiRInIupgIXWgg4dMf8bTwkVopOxAO5O1PUAc=";
}; };
latestVersion = { # canary & dev latestVersion = { # canary & dev
version = "2022.2.1.2"; # "Android Studio Flamingo (2022.2.1) Canary 2" version = "2022.3.1.1"; # "Android Studio Girrafe (2022.3.1) Canary 1"
sha256Hash = "hlHlgyl9If2LH4aExpElx0rqmWeoFX+qx4w6RRb5e8U="; sha256Hash = "I7Zc4DDByUB6XOnk7v+91ccpNI7eX/T4d3vH60ih8ec=";
}; };
in { in {
# Attributes are named by their corresponding release channels # Attributes are named by their corresponding release channels
+2 -2
View File
@@ -14,11 +14,11 @@ let
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
pname = "nano"; pname = "nano";
version = "7.1"; version = "7.2";
src = fetchurl { src = fetchurl {
url = "mirror://gnu/nano/${pname}-${version}.tar.xz"; url = "mirror://gnu/nano/${pname}-${version}.tar.xz";
sha256 = "V7p1Hpt1GfD23e5QUgLjh8dd3kQMH3qhuTEMw4FAaDY="; sha256 = "hvNEJ2i9KHPOxpP4PN+AtLRErTzBR2C3Q2FHT8h6RSY=";
}; };
nativeBuildInputs = [ texinfo ] ++ lib.optional enableNls gettext; nativeBuildInputs = [ texinfo ] ++ lib.optional enableNls gettext;
@@ -1,17 +1,13 @@
{ {
"version": "3.129.0", "version": "3.139.0",
"appimage": { "appimage": {
"x86_64-linux": { "x86_64-linux": {
"url": "https://github.com/standardnotes/app/releases/download/%40standardnotes/desktop%403.129.0/standard-notes-3.129.0-linux-x86_64.AppImage", "url": "https://github.com/standardnotes/app/releases/download/%40standardnotes/desktop%403.139.0/standard-notes-3.139.0-linux-x86_64.AppImage",
"hash": "sha512-JLO2jX9Us6BjqmTZIkVyxy2pqFM/eFGpwi6vXicMOgDB0UsgEMTK+Ww+9g+vJ1KbFRFmlt187qkdSNcevQPt7w==" "hash": "sha512-0s/tQmP5PINoQB7FOhR5wYuBvynKHpM9uMNmkJs77z84rY+WXOdZRjki6ZeG60niNXr8rUSLOBffy4jyLka6tg=="
}, },
"aarch64-linux": { "aarch64-linux": {
"url": "https://github.com/standardnotes/app/releases/download/%40standardnotes/desktop%403.129.0/standard-notes-3.129.0-linux-arm64.AppImage", "url": "https://github.com/standardnotes/app/releases/download/%40standardnotes/desktop%403.139.0/standard-notes-3.139.0-linux-arm64.AppImage",
"hash": "sha512-LGUSRqMrJ+hVHyi/bjI/NkWRVsmY0Kh/wRY9RNJXm0C3dKQSFV8ca4GeY9+VCuJEecR4LGnWp4agS5jPybPP6w==" "hash": "sha512-LralbOiIVQCtQTqmhTtKttdtMz4M14drPFZ00LPFcwzQviLdU2C/od3NUxf5H5piGgqt5TJlgMCOcLIiyoNKFA=="
},
"i686-linux": {
"url": "https://github.com/standardnotes/app/releases/download/%40standardnotes/desktop%403.129.0/standard-notes-3.129.0-linux-i386.AppImage",
"hash": "sha512-XbQ4hn3QJ61hDC12cK95zsUowbyXPYArHZoRDx5trQ30phtQxtz6nV+pL00m4S9kYeEhsAwk1wXlRq9Ylbz2IA=="
} }
} }
} }
@@ -50,6 +50,5 @@ writeScript "update-standardnotes" ''
updatePlatform x86_64-linux linux-x86_64 updatePlatform x86_64-linux linux-x86_64
updatePlatform aarch64-linux linux-arm64 updatePlatform aarch64-linux linux-arm64
updatePlatform i686-linux linux-i386
setJsonKey .version "$newVersion" setJsonKey .version "$newVersion"
'' ''
@@ -756,8 +756,13 @@ let
version = "2.2.6"; version = "2.2.6";
sha256 = "sha256-1yZeyLrXuubhKzobWcd00F/CdU824uJDTkB6qlHkJlQ="; sha256 = "sha256-1yZeyLrXuubhKzobWcd00F/CdU824uJDTkB6qlHkJlQ=";
}; };
meta = { meta = with lib; {
license = lib.licenses.mit; changelog = "https://marketplace.visualstudio.com/items/dbaeumer.vscode-eslint/changelog";
description = "Integrates ESLint JavaScript into VS Code.";
downloadPage = "https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint";
homepage = "https://github.com/Microsoft/vscode-eslint";
license = licenses.mit;
maintainers = with maintainers; [ datafoo ];
}; };
}; };
+63
View File
@@ -0,0 +1,63 @@
{ lib
, stdenv
, fetchFromGitHub
, SDL
, libGL
, libGLU
, libpng
, nasm
, pkg-config
, zlib
}:
stdenv.mkDerivation (finalAttrs: {
pname = "zsnes2";
version = "2.0.10";
src = fetchFromGitHub {
owner = "xyproto";
repo = "zsnes";
rev = finalAttrs.version;
hash = "sha256-QFPl3I2nFWMmgQRGxrlt4Vh5N4SygvBLjeFiQpgRr8o=";
};
nativeBuildInputs = [
nasm
pkg-config
];
buildInputs = [
SDL
libGL
libGLU
libpng
zlib
];
dontConfigure = true;
NIX_CFLAGS_COMPILE = [
# Until upstream fixes the issues...
"-Wp,-D_FORTIFY_SOURCE=0"
];
installFlags = [
"PREFIX=${placeholder "out"}"
];
postInstall = ''
install -Dm644 linux/zsnes.desktop $out/share/applications/zsnes.desktop
install -Dm644 icons/16x16x32.png $out/share/icons/hicolor/16x16/apps/zsnes.png
install -Dm644 icons/32x32x32.png $out/share/icons/hicolor/32x32/apps/zsnes.png
install -Dm644 icons/48x48x32.png $out/share/icons/hicolor/48x48/apps/zsnes.png
install -Dm644 icons/64x64x32.png $out/share/icons/hicolor/64x64/apps/zsnes.png
'';
meta = {
homepage = "https://github.com/xyproto/zsnes";
description = "A maintained fork of zsnes";
license = lib.licenses.gpl2Plus;
maintainers = [ lib.maintainers.AndersonTorres ];
platforms = lib.intersectLists lib.platforms.linux lib.platforms.x86;
};
})
@@ -13,13 +13,13 @@
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "doublecmd"; pname = "doublecmd";
version = "1.0.9"; version = "1.0.10";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "doublecmd"; owner = "doublecmd";
repo = "doublecmd"; repo = "doublecmd";
rev = "v${finalAttrs.version}"; rev = "v${finalAttrs.version}";
hash = "sha256-ruZNHvHBRXRM4h0R571jvasW8rYawq4cn7Hnd9riMnk="; hash = "sha256-S30/exZsw9Rs/l5Sml/q7dqUIcS55ZxbLFYv+M9Jr6o=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@@ -0,0 +1,58 @@
{ lib
, stdenv
, fetchFromGitHub
, cmake
, boost
, tbb
, makeWrapper
}:
stdenv.mkDerivation rec {
pname = "PotreeConverter";
version = "unstable-2022-08-04";
src = fetchFromGitHub {
owner = "potree";
repo = "PotreeConverter";
rev = "758bbac98a662de5e57d2280675e11cc76241688";
sha256 = "sha256-pDdV2/edYhhBWs153hSy1evI3cXD0Xq9nrEsw3JNcH4=";
};
buildInputs = [
boost
tbb
];
nativeBuildInputs = [
makeWrapper
cmake
];
patchPhase = ''
substituteInPlace ./CMakeLists.txt \
--replace "find_package(TBB REQUIRED)" ""
'';
installPhase = ''
runHook preInstall
mkdir -p $out/{bin,lib}
mv liblaszip.so $out/lib
mv PotreeConverter $out/bin
ln -s $out/bin/PotreeConverter $out/bin/potreeconverter
# Create an empty wrapper, since PotreeConverter segfaults if called via
# $PATH rather than absolute path. An empty wrapper forces an absolute path
# on each invocation
wrapProgram $out/bin/PotreeConverter
runHook postInstall
'';
meta = with lib; {
description = "Create multi res point cloud to use with potree";
homepage = "https://github.com/potree/PotreeConverter";
license = licenses.bsd2;
maintainers = with maintainers; [ matthewcroughan ];
platforms = with platforms; linux;
};
}
+11 -12
View File
@@ -16,7 +16,6 @@
, embree, gmp, libharu , embree, gmp, libharu
}: }:
with lib;
let let
python = python310Packages.python; python = python310Packages.python;
optix = fetchzip { optix = fetchzip {
@@ -38,7 +37,7 @@ stdenv.mkDerivation rec {
patches = lib.optional stdenv.isDarwin ./darwin.patch; patches = lib.optional stdenv.isDarwin ./darwin.patch;
nativeBuildInputs = [ cmake makeWrapper python310Packages.wrapPython llvmPackages.llvm.dev ] nativeBuildInputs = [ cmake makeWrapper python310Packages.wrapPython llvmPackages.llvm.dev ]
++ optionals cudaSupport [ addOpenGLRunpath ]; ++ lib.optionals cudaSupport [ addOpenGLRunpath ];
buildInputs = buildInputs =
[ boost ffmpeg gettext glew ilmbase [ boost ffmpeg gettext glew ilmbase
freetype libjpeg libpng libsamplerate libsndfile libtiff libwebp freetype libjpeg libpng libsamplerate libsndfile libtiff libwebp
@@ -63,10 +62,10 @@ stdenv.mkDerivation rec {
else [ else [
llvmPackages.openmp SDL Cocoa CoreGraphics ForceFeedback OpenAL OpenGL llvmPackages.openmp SDL Cocoa CoreGraphics ForceFeedback OpenAL OpenGL
]) ])
++ optional jackaudioSupport libjack2 ++ lib.optional jackaudioSupport libjack2
++ optional cudaSupport cudaPackages.cudatoolkit ++ lib.optional cudaSupport cudaPackages.cudatoolkit
++ optional colladaSupport opencollada ++ lib.optional colladaSupport opencollada
++ optional spaceNavSupport libspnav; ++ lib.optional spaceNavSupport libspnav;
pythonPath = with python310Packages; [ numpy requests ]; pythonPath = with python310Packages; [ numpy requests ];
postPatch = '' postPatch = ''
@@ -118,16 +117,16 @@ stdenv.mkDerivation rec {
"-DWITH_IMAGE_OPENJPEG=ON" "-DWITH_IMAGE_OPENJPEG=ON"
"-DWITH_OPENCOLLADA=${if colladaSupport then "ON" else "OFF"}" "-DWITH_OPENCOLLADA=${if colladaSupport then "ON" else "OFF"}"
] ]
++ optionals stdenv.isDarwin [ ++ lib.optionals stdenv.isDarwin [
"-DWITH_CYCLES_OSL=OFF" # requires LLVM "-DWITH_CYCLES_OSL=OFF" # requires LLVM
"-DWITH_OPENVDB=OFF" # OpenVDB currently doesn't build on darwin "-DWITH_OPENVDB=OFF" # OpenVDB currently doesn't build on darwin
"-DLIBDIR=/does-not-exist" "-DLIBDIR=/does-not-exist"
] ]
# Clang doesn't support "-export-dynamic" # Clang doesn't support "-export-dynamic"
++ optional stdenv.cc.isClang "-DPYTHON_LINKFLAGS=" ++ lib.optional stdenv.cc.isClang "-DPYTHON_LINKFLAGS="
++ optional jackaudioSupport "-DWITH_JACK=ON" ++ lib.optional jackaudioSupport "-DWITH_JACK=ON"
++ optionals cudaSupport [ ++ lib.optionals cudaSupport [
"-DWITH_CYCLES_CUDA_BINARIES=ON" "-DWITH_CYCLES_CUDA_BINARIES=ON"
"-DWITH_CYCLES_DEVICE_OPTIX=ON" "-DWITH_CYCLES_DEVICE_OPTIX=ON"
"-DOPTIX_ROOT_DIR=${optix}" "-DOPTIX_ROOT_DIR=${optix}"
@@ -137,7 +136,7 @@ stdenv.mkDerivation rec {
# Since some dependencies are built with gcc 6, we need gcc 6's # Since some dependencies are built with gcc 6, we need gcc 6's
# libstdc++ in our RPATH. Sigh. # libstdc++ in our RPATH. Sigh.
NIX_LDFLAGS = optionalString cudaSupport "-rpath ${stdenv.cc.cc.lib}/lib"; NIX_LDFLAGS = lib.optionalString cudaSupport "-rpath ${stdenv.cc.cc.lib}/lib";
blenderExecutable = blenderExecutable =
placeholder "out" + (if stdenv.isDarwin then "/Applications/Blender.app/Contents/MacOS/Blender" else "/bin/blender"); placeholder "out" + (if stdenv.isDarwin then "/Applications/Blender.app/Contents/MacOS/Blender" else "/bin/blender");
@@ -154,7 +153,7 @@ stdenv.mkDerivation rec {
# Set RUNPATH so that libcuda and libnvrtc in /run/opengl-driver(-32)/lib can be # Set RUNPATH so that libcuda and libnvrtc in /run/opengl-driver(-32)/lib can be
# found. See the explanation in libglvnd. # found. See the explanation in libglvnd.
postFixup = optionalString cudaSupport '' postFixup = lib.optionalString cudaSupport ''
for program in $out/bin/blender $out/bin/.blender-wrapped; do for program in $out/bin/blender $out/bin/.blender-wrapped; do
isELF "$program" || continue isELF "$program" || continue
addOpenGLRunpath "$program" addOpenGLRunpath "$program"
+2 -4
View File
@@ -10,8 +10,6 @@
, nix , nix
}: }:
with lib;
let let
downloadPageUrl = "https://download.electrum.org"; downloadPageUrl = "https://download.electrum.org";
@@ -23,7 +21,7 @@ writeScript "update-electrum" ''
set -eu -o pipefail set -eu -o pipefail
export PATH=${makeBinPath [ export PATH=${lib.makeBinPath [
common-updater-scripts common-updater-scripts
coreutils coreutils
curl curl
@@ -50,7 +48,7 @@ sigFile=$srcFile.asc
export GNUPGHOME=$PWD/gnupg export GNUPGHOME=$PWD/gnupg
mkdir -m 700 -p "$GNUPGHOME" mkdir -m 700 -p "$GNUPGHOME"
gpg --batch --recv-keys ${concatStringsSep " " (map (x: "'${x}'") signingKeys)} gpg --batch --recv-keys ${lib.concatStringsSep " " (map (x: "'${x}'") signingKeys)}
gpg --batch --verify "$sigFile" "$srcFile" gpg --batch --verify "$sigFile" "$srcFile"
sha256=$(nix-prefetch-url --type sha256 "file://$PWD/$srcFile") sha256=$(nix-prefetch-url --type sha256 "file://$PWD/$srcFile")
+1 -3
View File
@@ -25,8 +25,6 @@
, enableSystemd ? false , enableSystemd ? false
}: }:
with lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "elogind"; pname = "elogind";
version = "246.10"; version = "246.10";
@@ -72,7 +70,7 @@ stdenv.mkDerivation rec {
"-Dsysconfdir=${placeholder "out"}/etc" "-Dsysconfdir=${placeholder "out"}/etc"
]; ];
meta = { meta = with lib; {
homepage = "https://github.com/elogind/elogind"; homepage = "https://github.com/elogind/elogind";
description = ''The systemd project's "logind", extracted to a standalone package''; description = ''The systemd project's "logind", extracted to a standalone package'';
platforms = platforms.linux; # probably more platforms = platforms.linux; # probably more
+3 -5
View File
@@ -4,8 +4,6 @@
, postgresSupport ? false, postgresql ? null , postgresSupport ? false, postgresql ? null
}: }:
with lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gammu"; pname = "gammu";
version = "1.42.0"; version = "1.42.0";
@@ -31,10 +29,10 @@ stdenv.mkDerivation rec {
strictDeps = true; strictDeps = true;
buildInputs = [ bash bluez libusb1 curl gettext sqlite libiconv ] buildInputs = [ bash bluez libusb1 curl gettext sqlite libiconv ]
++ optionals dbiSupport [ libdbi libdbiDrivers ] ++ lib.optionals dbiSupport [ libdbi libdbiDrivers ]
++ optionals postgresSupport [ postgresql ]; ++ lib.optionals postgresSupport [ postgresql ];
meta = { meta = with lib; {
homepage = "https://wammu.eu/gammu/"; homepage = "https://wammu.eu/gammu/";
description = "Command line utility and library to control mobile phones"; description = "Command line utility and library to control mobile phones";
license = licenses.gpl2; license = licenses.gpl2;
@@ -1,7 +1,5 @@
{ lib, fetchFromGitHub, atomicparsley, flvstreamer, ffmpeg, makeWrapper, perl, perlPackages, rtmpdump}: { lib, fetchFromGitHub, atomicparsley, flvstreamer, ffmpeg, makeWrapper, perl, perlPackages, rtmpdump}:
with lib;
perlPackages.buildPerlPackage rec { perlPackages.buildPerlPackage rec {
pname = "get_iplayer"; pname = "get_iplayer";
version = "3.27"; version = "3.27";
@@ -26,11 +24,11 @@ perlPackages.buildPerlPackage rec {
installPhase = '' installPhase = ''
mkdir -p $out/bin $out/share/man/man1 mkdir -p $out/bin $out/share/man/man1
cp get_iplayer $out/bin cp get_iplayer $out/bin
wrapProgram $out/bin/get_iplayer --suffix PATH : ${makeBinPath [ atomicparsley ffmpeg flvstreamer rtmpdump ]} --prefix PERL5LIB : $PERL5LIB wrapProgram $out/bin/get_iplayer --suffix PATH : ${lib.makeBinPath [ atomicparsley ffmpeg flvstreamer rtmpdump ]} --prefix PERL5LIB : $PERL5LIB
cp get_iplayer.1 $out/share/man/man1 cp get_iplayer.1 $out/share/man/man1
''; '';
meta = { meta = with lib; {
description = "Downloads TV and radio from BBC iPlayer"; description = "Downloads TV and radio from BBC iPlayer";
license = licenses.gpl3Plus; license = licenses.gpl3Plus;
homepage = "https://squarepenguin.co.uk/"; homepage = "https://squarepenguin.co.uk/";
+7 -9
View File
@@ -8,8 +8,6 @@
, enableTesseract ? true, leptonica, tesseract4 , enableTesseract ? true, leptonica, tesseract4
}: }:
with lib;
# k2pdfopt is a pain to package. It requires modified versions of mupdf, # k2pdfopt is a pain to package. It requires modified versions of mupdf,
# leptonica, and tesseract. Instead of shipping patches for these upstream # leptonica, and tesseract. Instead of shipping patches for these upstream
# packages, k2pdfopt includes just the modified source files for these # packages, k2pdfopt includes just the modified source files for these
@@ -140,12 +138,12 @@ in stdenv.mkDerivation rec {
}; };
in in
[ zlib libpng ] ++ [ zlib libpng ] ++
optional enableGSL gsl ++ lib.optional enableGSL gsl ++
optional enableGhostScript ghostscript ++ lib.optional enableGhostScript ghostscript ++
optional enableMuPDF mupdf_modded ++ lib.optional enableMuPDF mupdf_modded ++
optional enableDJVU djvulibre ++ lib.optional enableDJVU djvulibre ++
optional enableGOCR gocr ++ lib.optional enableGOCR gocr ++
optionals enableTesseract [ leptonica_modded tesseract_modded ]; lib.optionals enableTesseract [ leptonica_modded tesseract_modded ];
dontUseCmakeBuildDir = true; dontUseCmakeBuildDir = true;
@@ -157,7 +155,7 @@ in stdenv.mkDerivation rec {
install -D -m 755 k2pdfopt $out/bin/k2pdfopt install -D -m 755 k2pdfopt $out/bin/k2pdfopt
''; '';
preFixup = optionalString enableTesseract '' preFixup = lib.optionalString enableTesseract ''
wrapProgram $out/bin/k2pdfopt --set-default TESSDATA_PREFIX ${tesseract4}/share/tessdata wrapProgram $out/bin/k2pdfopt --set-default TESSDATA_PREFIX ${tesseract4}/share/tessdata
''; '';
+2 -2
View File
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "kanboard"; pname = "kanboard";
version = "1.2.25"; version = "1.2.26";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "kanboard"; owner = "kanboard";
repo = "kanboard"; repo = "kanboard";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-yBUvePVbNDLYL1d6cNrLBn6+/p1agVzSx29JB3EZ5Fk="; sha256 = "sha256-/Unxl9Vh9pEWjO89sSviGGPFzUwxdb1mbOfpTFTyRL0=";
}; };
dontBuild = true; dontBuild = true;
+14 -16
View File
@@ -37,8 +37,6 @@
, nixosTests , nixosTests
}: }:
with lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "keepassxc"; pname = "keepassxc";
version = "2.7.4"; version = "2.7.4";
@@ -50,13 +48,13 @@ stdenv.mkDerivation rec {
sha256 = "sha256-amedKK9nplLVJTldeabN3/c+g/QesrdH+qx+rba2/4s="; sha256 = "sha256-amedKK9nplLVJTldeabN3/c+g/QesrdH+qx+rba2/4s=";
}; };
NIX_CFLAGS_COMPILE = optionalString stdenv.cc.isClang [ NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang [
"-Wno-old-style-cast" "-Wno-old-style-cast"
"-Wno-error" "-Wno-error"
"-D__BIG_ENDIAN__=${if stdenv.isBigEndian then "1" else "0"}" "-D__BIG_ENDIAN__=${if stdenv.isBigEndian then "1" else "0"}"
]; ];
NIX_LDFLAGS = optionalString stdenv.isDarwin "-rpath ${libargon2}/lib"; NIX_LDFLAGS = lib.optionalString stdenv.isDarwin "-rpath ${libargon2}/lib";
patches = [ patches = [
./darwin.patch ./darwin.patch
@@ -67,13 +65,13 @@ stdenv.mkDerivation rec {
"-DWITH_GUI_TESTS=ON" "-DWITH_GUI_TESTS=ON"
"-DWITH_XC_UPDATECHECK=OFF" "-DWITH_XC_UPDATECHECK=OFF"
] ]
++ (optional (!withKeePassX11) "-DWITH_XC_X11=OFF") ++ (lib.optional (!withKeePassX11) "-DWITH_XC_X11=OFF")
++ (optional (withKeePassFDOSecrets && stdenv.isLinux) "-DWITH_XC_FDOSECRETS=ON") ++ (lib.optional (withKeePassFDOSecrets && stdenv.isLinux) "-DWITH_XC_FDOSECRETS=ON")
++ (optional (withKeePassYubiKey && stdenv.isLinux) "-DWITH_XC_YUBIKEY=ON") ++ (lib.optional (withKeePassYubiKey && stdenv.isLinux) "-DWITH_XC_YUBIKEY=ON")
++ (optional withKeePassBrowser "-DWITH_XC_BROWSER=ON") ++ (lib.optional withKeePassBrowser "-DWITH_XC_BROWSER=ON")
++ (optional withKeePassKeeShare "-DWITH_XC_KEESHARE=ON") ++ (lib.optional withKeePassKeeShare "-DWITH_XC_KEESHARE=ON")
++ (optional withKeePassNetworking "-DWITH_XC_NETWORKING=ON") ++ (lib.optional withKeePassNetworking "-DWITH_XC_NETWORKING=ON")
++ (optional withKeePassSSHAgent "-DWITH_XC_SSHAGENT=ON"); ++ (lib.optional withKeePassSSHAgent "-DWITH_XC_SSHAGENT=ON");
doCheck = true; doCheck = true;
checkPhase = '' checkPhase = ''
@@ -112,14 +110,14 @@ stdenv.mkDerivation rec {
readline readline
zlib zlib
] ]
++ optional (stdenv.isDarwin && withKeePassTouchID) darwin.apple_sdk.frameworks.LocalAuthentication ++ lib.optional (stdenv.isDarwin && withKeePassTouchID) darwin.apple_sdk.frameworks.LocalAuthentication
++ optional stdenv.isDarwin qtmacextras ++ lib.optional stdenv.isDarwin qtmacextras
++ optional stdenv.isLinux libusb1 ++ lib.optional stdenv.isLinux libusb1
++ optional withKeePassX11 qtx11extras; ++ lib.optional withKeePassX11 qtx11extras;
passthru.tests = nixosTests.keepassxc; passthru.tests = nixosTests.keepassxc;
meta = { meta = with lib; {
description = "Offline password manager with many features."; description = "Offline password manager with many features.";
longDescription = '' longDescription = ''
A community fork of KeePassX, which is itself a port of KeePass Password Safe. A community fork of KeePassX, which is itself a port of KeePass Password Safe.
+2 -2
View File
@@ -8,10 +8,10 @@ buildGoModule rec {
owner = "McKael"; owner = "McKael";
repo = "madonctl"; repo = "madonctl";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-mo185EKjLkiujAKcAFM1XqkXWvcfYbnv+r3dF9ywaf8="; hash = "sha256-mo185EKjLkiujAKcAFM1XqkXWvcfYbnv+r3dF9ywaf8=";
}; };
vendorSha256 = null; vendorHash = null;
nativeBuildInputs = [ installShellFiles ]; nativeBuildInputs = [ installShellFiles ];
@@ -18,7 +18,7 @@
python3.pkgs.buildPythonApplication rec { python3.pkgs.buildPythonApplication rec {
pname = "metadata-cleaner"; pname = "metadata-cleaner";
version = "2.3.1"; version = "2.4.0";
format = "other"; format = "other";
@@ -26,7 +26,7 @@ python3.pkgs.buildPythonApplication rec {
owner = "rmnvgr"; owner = "rmnvgr";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
hash = "sha256-nH2BsfXFwBdu7/YH2OuG90HxYgiuqKJqMC4p0PRlgPw="; hash = "sha256-/Zi82ri61cQHt1D8DjeVHTSeEn9ubQJD931kP0ffiOs=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@@ -14,13 +14,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "osmium-tool"; pname = "osmium-tool";
version = "1.14.0"; version = "1.15.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "osmcode"; owner = "osmcode";
repo = "osmium-tool"; repo = "osmium-tool";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-xedunFzar44o+b/45isXWacDcC81wWkxgGwnpLPH/n0="; sha256 = "sha256-xV/1LFby0L/o648XEQQ9gS9/eHssWhMIG7R1E8bfIDU=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@@ -6,7 +6,7 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "pokemon-colorscripts-mac"; pname = "pokemon-colorscripts-mac";
version = "stable=2021-08-10"; version = "stable-2021-08-10";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "nuke-dash"; owner = "nuke-dash";
@@ -0,0 +1,25 @@
{ lib, stdenv, fetchFromGitHub, rustPlatform, Foundation }:
rustPlatform.buildRustPackage rec {
pname = "pomodoro";
version = "unstable-2021-06-18";
src = fetchFromGitHub {
owner = "SanderJSA";
repo = "Pomodoro";
rev = "c833b9551ed0b09e311cdb369cc8226c5b9cac6a";
sha256 = "sha256-ZA1q1YVJcdSUF9NTikyT3vrRnqbsu5plzRI2gMu+qnQ=";
};
cargoSha256 = "sha256-6ZhWStZebXSwrej36DXifrsrmR1SWW3PwGUX0hqPwE4=";
buildInputs = lib.optionals stdenv.isDarwin [ Foundation ];
meta = with lib; {
description = "A simple CLI pomodoro timer using desktop notifications written in Rust";
homepage = "https://github.com/SanderJSA/Pomodoro";
license = licenses.mit;
maintainers = with maintainers; [ annaaurora ];
# error: redefinition of module 'ObjectiveC'
broken = stdenv.isDarwin;
};
}
@@ -0,0 +1,30 @@
{ lib, stdenv, fetchFromSourcehut, nixos, wayland, pixman, pkg-config }:
stdenv.mkDerivation rec {
pname = "river-tag-overlay";
version = "1.0.0";
src = fetchFromSourcehut {
owner = "~leon_plickat";
repo = pname;
rev = "v${version}";
hash = "sha256-hLyXdLi/ldvwPJ1oQQsH5wgflQJuXu6vhYw/qdKAV9E=";
};
buildInputs = [ pixman wayland ];
nativeBuildInputs = [ pkg-config ];
makeFlags = [
"DESTDIR=${placeholder "out"}"
"PREFIX="
];
meta = with lib; {
description = "A pop-up showing tag status";
homepage = "https://sr.ht/~leon_plickat/river-tag-overlay";
license = licenses.gpl3Only;
maintainers = with maintainers; [ edrex ];
platforms = platforms.linux;
broken = stdenv.isAarch64;
};
}
@@ -1,7 +1,5 @@
{ fetchFromGitHub, rustPlatform, lib }: { fetchFromGitHub, rustPlatform, lib }:
with lib;
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "rm-improved"; pname = "rm-improved";
version = "0.13.0"; version = "0.13.0";
@@ -15,7 +13,7 @@ rustPlatform.buildRustPackage rec {
sha256 = "0d065xia4mwdhxkiqfg7pic6scfzipzmsvvx7l6l97w62lzpiqx3"; sha256 = "0d065xia4mwdhxkiqfg7pic6scfzipzmsvvx7l6l97w62lzpiqx3";
}; };
meta = { meta = with lib; {
description = "Replacement for rm with focus on safety, ergonomics and performance"; description = "Replacement for rm with focus on safety, ergonomics and performance";
homepage = "https://github.com/nivekuil/rip"; homepage = "https://github.com/nivekuil/rip";
maintainers = with maintainers; [ nils-degroot ]; maintainers = with maintainers; [ nils-degroot ];
+3 -5
View File
@@ -1,7 +1,5 @@
{ lib, stdenv, fetchgit, pkg-config, writeText, libX11, conf ? null, patches ? [] }: { lib, stdenv, fetchgit, pkg-config, writeText, libX11, conf ? null, patches ? [] }:
with lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "slstatus"; pname = "slstatus";
version = "unstable-2019-02-16"; version = "unstable-2019-02-16";
@@ -12,8 +10,8 @@ stdenv.mkDerivation rec {
sha256 = "0kayyhpmppybhwndxgabw48wsk9v8x9xdb05xrly9szkw3jbvgw4"; sha256 = "0kayyhpmppybhwndxgabw48wsk9v8x9xdb05xrly9szkw3jbvgw4";
}; };
configFile = optionalString (conf!=null) (writeText "config.def.h" conf); configFile = lib.optionalString (conf!=null) (writeText "config.def.h" conf);
preBuild = optionalString (conf!=null) "cp ${configFile} config.def.h"; preBuild = lib.optionalString (conf!=null) "cp ${configFile} config.def.h";
inherit patches; inherit patches;
@@ -24,7 +22,7 @@ stdenv.mkDerivation rec {
installFlags = [ "PREFIX=$(out)" ]; installFlags = [ "PREFIX=$(out)" ];
meta = { meta = with lib; {
homepage = "https://tools.suckless.org/slstatus/"; homepage = "https://tools.suckless.org/slstatus/";
description = "status monitor for window managers that use WM_NAME like dwm"; description = "status monitor for window managers that use WM_NAME like dwm";
license = licenses.isc; license = licenses.isc;
+2 -4
View File
@@ -14,14 +14,12 @@
, btrfs-progs , btrfs-progs
}: }:
with lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "veracrypt"; pname = "veracrypt";
version = "1.25.9"; version = "1.25.9";
src = fetchurl { src = fetchurl {
url = "https://launchpad.net/${pname}/trunk/${toLower version}/+download/VeraCrypt_${version}_Source.tar.bz2"; url = "https://launchpad.net/${pname}/trunk/${lib.toLower version}/+download/VeraCrypt_${version}_Source.tar.bz2";
sha256 = "sha256-drbhgYS8IaQdKUn/Y9ch1JBUpxbO/zpL13tcNRC3lK8="; sha256 = "sha256-drbhgYS8IaQdKUn/Y9ch1JBUpxbO/zpL13tcNRC3lK8=";
}; };
@@ -54,7 +52,7 @@ stdenv.mkDerivation rec {
--replace "Icon=veracrypt" "Icon=veracrypt.xpm" --replace "Icon=veracrypt" "Icon=veracrypt.xpm"
''; '';
meta = { meta = with lib; {
description = "Free Open-Source filesystem on-the-fly encryption"; description = "Free Open-Source filesystem on-the-fly encryption";
homepage = "https://www.veracrypt.fr/"; homepage = "https://www.veracrypt.fr/";
license = with licenses; [ asl20 /* and */ unfree /* TrueCrypt License version 3.0 */ ]; license = with licenses; [ asl20 /* and */ unfree /* TrueCrypt License version 3.0 */ ];
@@ -1,8 +1,6 @@
{ lib, stdenv, fetchFromGitHub, cmake, makeWrapper, pkg-config { lib, stdenv, fetchFromGitHub, cmake, makeWrapper, pkg-config
, glib, libwnck, procps }: , glib, libwnck, procps }:
with lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "xsuspender"; pname = "xsuspender";
version = "1.3"; version = "1.3";
@@ -21,10 +19,10 @@ stdenv.mkDerivation rec {
postInstall = '' postInstall = ''
wrapProgram $out/bin/xsuspender \ wrapProgram $out/bin/xsuspender \
--prefix PATH : "${makeBinPath [ procps ]}" --prefix PATH : "${lib.makeBinPath [ procps ]}"
''; '';
meta = { meta = with lib; {
description = "Auto-suspend inactive X11 applications"; description = "Auto-suspend inactive X11 applications";
homepage = "https://kernc.github.io/xsuspender/"; homepage = "https://kernc.github.io/xsuspender/";
license = licenses.wtfpl; license = licenses.wtfpl;
@@ -6,8 +6,6 @@
, gtk-mac-integration , gtk-mac-integration
}: }:
with lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "zathura"; pname = "zathura";
version = "0.5.2"; version = "0.5.2";
@@ -28,7 +26,7 @@ stdenv.mkDerivation rec {
"-Dsynctex=enabled" "-Dsynctex=enabled"
# Make sure tests are enabled for doCheck # Make sure tests are enabled for doCheck
"-Dtests=enabled" "-Dtests=enabled"
] ++ optional (!stdenv.isLinux) "-Dseccomp=disabled"; ] ++ lib.optional (!stdenv.isLinux) "-Dseccomp=disabled";
nativeBuildInputs = [ nativeBuildInputs = [
meson ninja pkg-config desktop-file-utils python3.pkgs.sphinx meson ninja pkg-config desktop-file-utils python3.pkgs.sphinx
@@ -38,12 +36,12 @@ stdenv.mkDerivation rec {
buildInputs = [ buildInputs = [
gtk girara libintl sqlite glib file librsvg gtk girara libintl sqlite glib file librsvg
texlive.bin.core texlive.bin.core
] ++ optional stdenv.isLinux libseccomp ] ++ lib.optional stdenv.isLinux libseccomp
++ optional stdenv.isDarwin gtk-mac-integration; ++ lib.optional stdenv.isDarwin gtk-mac-integration;
doCheck = !stdenv.isDarwin; doCheck = !stdenv.isDarwin;
meta = { meta = with lib; {
homepage = "https://git.pwmt.org/pwmt/zathura"; homepage = "https://git.pwmt.org/pwmt/zathura";
description = "A core component for zathura PDF viewer"; description = "A core component for zathura PDF viewer";
license = licenses.zlib; license = licenses.zlib;
@@ -38,7 +38,7 @@
, xorg , xorg
, zlib , zlib
}: }:
with lib;
let let
deps = [ deps = [
alsa-lib alsa-lib
@@ -89,7 +89,7 @@ stdenv.mkDerivation rec {
version = "6.0.3"; version = "6.0.3";
src = fetchurl { src = fetchurl {
url = "https://bin.appgate-sdp.com/${versions.majorMinor version}/client/appgate-sdp_${version}_amd64.deb"; url = "https://bin.appgate-sdp.com/${lib.versions.majorMinor version}/client/appgate-sdp_${version}_amd64.deb";
sha256 = "sha256-UDyVPoQM78CKVWXgr08An77QTiFVmRNHwQPGaj1jAIM="; sha256 = "sha256-UDyVPoQM78CKVWXgr08An77QTiFVmRNHwQPGaj1jAIM=";
}; };
@@ -134,16 +134,16 @@ stdenv.mkDerivation rec {
--replace "/etc/appgate.conf" "$out/etc/appgate.conf" --replace "/etc/appgate.conf" "$out/etc/appgate.conf"
wrapProgram $out/opt/appgate/service/createdump \ wrapProgram $out/opt/appgate/service/createdump \
--set LD_LIBRARY_PATH "${makeLibraryPath [ stdenv.cc.cc ]}" --set LD_LIBRARY_PATH "${lib.makeLibraryPath [ stdenv.cc.cc ]}"
wrapProgram $out/opt/appgate/appgate-driver \ wrapProgram $out/opt/appgate/appgate-driver \
--prefix PATH : ${makeBinPath [ iproute2 networkmanager dnsmasq ]} \ --prefix PATH : ${lib.makeBinPath [ iproute2 networkmanager dnsmasq ]} \
--set LD_LIBRARY_PATH $out/opt/appgate/service --set LD_LIBRARY_PATH $out/opt/appgate/service
# make xdg-open overrideable at runtime # make xdg-open overrideable at runtime
makeWrapper $out/opt/appgate/Appgate $out/bin/appgate \ makeWrapper $out/opt/appgate/Appgate $out/bin/appgate \
--suffix PATH : ${makeBinPath [ xdg-utils ]} \ --suffix PATH : ${lib.makeBinPath [ xdg-utils ]} \
--set LD_LIBRARY_PATH $out/opt/appgate:${makeLibraryPath deps} --set LD_LIBRARY_PATH $out/opt/appgate:${lib.makeLibraryPath deps}
wrapProgram $out/opt/appgate/linux/set_dns --set PYTHONPATH $PYTHONPATH wrapProgram $out/opt/appgate/linux/set_dns --set PYTHONPATH $PYTHONPATH
''; '';
@@ -3,8 +3,6 @@
, enableWideVine, ungoogled , enableWideVine, ungoogled
}: }:
with lib;
mkChromiumDerivation (base: rec { mkChromiumDerivation (base: rec {
name = "chromium-browser"; name = "chromium-browser";
packageName = "chromium"; packageName = "chromium";
@@ -76,7 +74,7 @@ mkChromiumDerivation (base: rec {
meta = { meta = {
description = "An open source web browser from Google" description = "An open source web browser from Google"
+ optionalString ungoogled ", with dependencies on Google web services removed"; + lib.optionalString ungoogled ", with dependencies on Google web services removed";
longDescription = '' longDescription = ''
Chromium is an open source web browser from Google that aims to build a Chromium is an open source web browser from Google that aims to build a
safer, faster, and more stable way for all Internet users to experience safer, faster, and more stable way for all Internet users to experience
@@ -86,11 +84,11 @@ mkChromiumDerivation (base: rec {
homepage = if ungoogled homepage = if ungoogled
then "https://github.com/Eloston/ungoogled-chromium" then "https://github.com/Eloston/ungoogled-chromium"
else "https://www.chromium.org/"; else "https://www.chromium.org/";
maintainers = with maintainers; if ungoogled maintainers = with lib.maintainers; if ungoogled
then [ squalus primeos michaeladler ] then [ squalus primeos michaeladler ]
else [ primeos thefloweringash ]; else [ primeos thefloweringash ];
license = if enableWideVine then licenses.unfree else licenses.bsd3; license = if enableWideVine then lib.licenses.unfree else lib.licenses.bsd3;
platforms = platforms.linux; platforms = lib.platforms.linux;
mainProgram = "chromium"; mainProgram = "chromium";
hydraPlatforms = if (channel == "stable" || channel == "ungoogled-chromium") hydraPlatforms = if (channel == "stable" || channel == "ungoogled-chromium")
then ["aarch64-linux" "x86_64-linux"] then ["aarch64-linux" "x86_64-linux"]
@@ -51,8 +51,6 @@
buildFun: buildFun:
with lib;
let let
python3WithPackages = python3.withPackages(ps: with ps; [ python3WithPackages = python3.withPackages(ps: with ps; [
ply jinja2 setuptools ply jinja2 setuptools
@@ -75,16 +73,16 @@ let
let let
# Serialize Nix types into GN types according to this document: # Serialize Nix types into GN types according to this document:
# https://source.chromium.org/gn/gn/+/master:docs/language.md # https://source.chromium.org/gn/gn/+/master:docs/language.md
mkGnString = value: "\"${escape ["\"" "$" "\\"] value}\""; mkGnString = value: "\"${lib.escape ["\"" "$" "\\"] value}\"";
sanitize = value: sanitize = value:
if value == true then "true" if value == true then "true"
else if value == false then "false" else if value == false then "false"
else if isList value then "[${concatMapStringsSep ", " sanitize value}]" else if lib.isList value then "[${lib.concatMapStringsSep ", " sanitize value}]"
else if isInt value then toString value else if lib.isInt value then toString value
else if isString value then mkGnString value else if lib.isString value then mkGnString value
else throw "Unsupported type for GN value `${value}'."; else throw "Unsupported type for GN value `${value}'.";
toFlag = key: value: "${key}=${sanitize value}"; toFlag = key: value: "${key}=${sanitize value}";
in attrs: concatStringsSep " " (attrValues (mapAttrs toFlag attrs)); in attrs: lib.concatStringsSep " " (lib.attrValues (lib.mapAttrs toFlag attrs));
# https://source.chromium.org/chromium/chromium/src/+/master:build/linux/unbundle/replace_gn_files.py # https://source.chromium.org/chromium/chromium/src/+/master:build/linux/unbundle/replace_gn_files.py
gnSystemLibraries = [ gnSystemLibraries = [
@@ -151,9 +149,9 @@ let
libdrm wayland mesa.drivers libxkbcommon libdrm wayland mesa.drivers libxkbcommon
curl curl
libepoxy libepoxy
] ++ optional systemdSupport systemd ] ++ lib.optional systemdSupport systemd
++ optionals cupsSupport [ libgcrypt cups ] ++ lib.optionals cupsSupport [ libgcrypt cups ]
++ optional pulseSupport libpulseaudio; ++ lib.optional pulseSupport libpulseaudio;
patches = [ patches = [
# Optional patch to use SOURCE_DATE_EPOCH in compute_build_timestamp.py (should be upstreamed): # Optional patch to use SOURCE_DATE_EPOCH in compute_build_timestamp.py (should be upstreamed):
@@ -237,10 +235,10 @@ let
# Allow building against system libraries in official builds # Allow building against system libraries in official builds
sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' tools/generate_shim_headers/generate_shim_headers.py sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' tools/generate_shim_headers/generate_shim_headers.py
'' + optionalString stdenv.isAarch64 '' '' + lib.optionalString stdenv.isAarch64 ''
substituteInPlace build/toolchain/linux/BUILD.gn \ substituteInPlace build/toolchain/linux/BUILD.gn \
--replace 'toolprefix = "aarch64-linux-gnu-"' 'toolprefix = ""' --replace 'toolprefix = "aarch64-linux-gnu-"' 'toolprefix = ""'
'' + optionalString ungoogled '' '' + lib.optionalString ungoogled ''
${ungoogler}/utils/prune_binaries.py . ${ungoogler}/pruning.list || echo "some errors" ${ungoogler}/utils/prune_binaries.py . ${ungoogler}/pruning.list || echo "some errors"
${ungoogler}/utils/patches.py . ${ungoogler}/patches ${ungoogler}/utils/patches.py . ${ungoogler}/patches
${ungoogler}/utils/domain_substitution.py apply -r ${ungoogler}/domain_regex.list -f ${ungoogler}/domain_substitution.list -c ./ungoogled-domsubcache.tar.gz . ${ungoogler}/utils/domain_substitution.py apply -r ${ungoogler}/domain_regex.list -f ${ungoogler}/domain_substitution.list -c ./ungoogled-domsubcache.tar.gz .
@@ -300,15 +298,15 @@ let
# as well to avoid incompatibilities (if this continues to be a problem # as well to avoid incompatibilities (if this continues to be a problem
# from time to time): # from time to time):
use_system_libwayland = true; use_system_libwayland = true;
} // optionalAttrs proprietaryCodecs { } // lib.optionalAttrs proprietaryCodecs {
# enable support for the H.264 codec # enable support for the H.264 codec
proprietary_codecs = true; proprietary_codecs = true;
enable_hangout_services_extension = true; enable_hangout_services_extension = true;
ffmpeg_branding = "Chrome"; ffmpeg_branding = "Chrome";
} // optionalAttrs pulseSupport { } // lib.optionalAttrs pulseSupport {
use_pulseaudio = true; use_pulseaudio = true;
link_pulseaudio = true; link_pulseaudio = true;
} // optionalAttrs ungoogled (importTOML ./ungoogled-flags.toml) } // lib.optionalAttrs ungoogled (lib.importTOML ./ungoogled-flags.toml)
// (extraAttrs.gnFlags or {})); // (extraAttrs.gnFlags or {}));
configurePhase = '' configurePhase = ''
@@ -317,7 +315,7 @@ let
# This is to ensure expansion of $out. # This is to ensure expansion of $out.
libExecPath="${libExecPath}" libExecPath="${libExecPath}"
${python3}/bin/python3 build/linux/unbundle/replace_gn_files.py --system-libraries ${toString gnSystemLibraries} ${python3}/bin/python3 build/linux/unbundle/replace_gn_files.py --system-libraries ${toString gnSystemLibraries}
${gnChromium}/bin/gn gen --args=${escapeShellArg gnFlags} out/Release | tee gn-gen-outputs.txt ${gnChromium}/bin/gn gen --args=${lib.escapeShellArg gnFlags} out/Release | tee gn-gen-outputs.txt
# Fail if `gn gen` contains a WARNING. # Fail if `gn gen` contains a WARNING.
grep -o WARNING gn-gen-outputs.txt && echo "Found gn WARNING, exiting nix build" && exit 1 grep -o WARNING gn-gen-outputs.txt && echo "Found gn WARNING, exiting nix build" && exit 1
@@ -342,7 +340,7 @@ let
''; '';
targets = extraAttrs.buildTargets or []; targets = extraAttrs.buildTargets or [];
commands = map buildCommand targets; commands = map buildCommand targets;
in concatStringsSep "\n" commands; in lib.concatStringsSep "\n" commands;
postFixup = '' postFixup = ''
# Make sure that libGLESv2 is found by dlopen (if using EGL). # Make sure that libGLESv2 is found by dlopen (if using EGL).
@@ -47,8 +47,6 @@
, addOpenGLRunpath , addOpenGLRunpath
}: }:
with lib;
let let
opusWithCustomModes = libopus.override { opusWithCustomModes = libopus.override {
withCustomModes = true; withCustomModes = true;
@@ -68,8 +66,8 @@ let
bzip2 libcap at-spi2-atk at-spi2-core bzip2 libcap at-spi2-atk at-spi2-core
libkrb5 libdrm libglvnd mesa coreutils libkrb5 libdrm libglvnd mesa coreutils
libxkbcommon pipewire wayland libxkbcommon pipewire wayland
] ++ optional pulseSupport libpulseaudio ] ++ lib.optional pulseSupport libpulseaudio
++ optional libvaSupport libva ++ lib.optional libvaSupport libva
++ [ gtk3 ]; ++ [ gtk3 ];
suffix = if channel != "stable" then "-" + channel else ""; suffix = if channel != "stable" then "-" + channel else "";
@@ -99,8 +97,8 @@ in stdenv.mkDerivation {
tar xf data.tar.xz tar xf data.tar.xz
''; '';
rpath = makeLibraryPath deps + ":" + makeSearchPathOutput "lib" "lib64" deps; rpath = lib.makeLibraryPath deps + ":" + lib.makeSearchPathOutput "lib" "lib64" deps;
binpath = makeBinPath deps; binpath = lib.makeBinPath deps;
installPhase = '' installPhase = ''
runHook preInstall runHook preInstall
@@ -149,7 +147,7 @@ in stdenv.mkDerivation {
--prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH:${addOpenGLRunpath.driverLink}/share" \ --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH:${addOpenGLRunpath.driverLink}/share" \
--set CHROME_WRAPPER "google-chrome-$dist" \ --set CHROME_WRAPPER "google-chrome-$dist" \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" \ --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" \
--add-flags ${escapeShellArg commandLineArgs} --add-flags ${lib.escapeShellArg commandLineArgs}
for elf in $out/share/google/$appname/{chrome,chrome-sandbox,${crashpadHandlerBinary},nacl_helper}; do for elf in $out/share/google/$appname/{chrome,chrome-sandbox,${crashpadHandlerBinary},nacl_helper}; do
patchelf --set-rpath $rpath $elf patchelf --set-rpath $rpath $elf
@@ -159,7 +157,7 @@ in stdenv.mkDerivation {
runHook postInstall runHook postInstall
''; '';
meta = { meta = with lib; {
description = "A freeware web browser developed by Google"; description = "A freeware web browser developed by Google";
homepage = "https://www.google.com/chrome/browser/"; homepage = "https://www.google.com/chrome/browser/";
license = licenses.unfree; license = licenses.unfree;
@@ -53,10 +53,8 @@
, extraPrefs ? "" , extraPrefs ? ""
}: }:
with lib;
let let
libPath = makeLibraryPath libPkgs; libPath = lib.makeLibraryPath libPkgs;
libPkgs = [ libPkgs = [
atk atk
@@ -78,13 +76,13 @@ let
stdenv.cc.libc stdenv.cc.libc
zlib zlib
] ]
++ optionals pulseaudioSupport [ libpulseaudio ] ++ lib.optionals pulseaudioSupport [ libpulseaudio ]
++ optionals mediaSupport [ ++ lib.optionals mediaSupport [
ffmpeg ffmpeg
]; ];
# Library search path for the fte transport # Library search path for the fte transport
fteLibPath = makeLibraryPath [ stdenv.cc.cc gmp ]; fteLibPath = lib.makeLibraryPath [ stdenv.cc.cc gmp ];
# Upstream source # Upstream source
version = "11.5.8"; version = "11.5.8";
@@ -156,7 +154,7 @@ stdenv.mkDerivation rec {
libPath=${libPath}:$TBB_IN_STORE:$TBB_IN_STORE/TorBrowser/Tor libPath=${libPath}:$TBB_IN_STORE:$TBB_IN_STORE/TorBrowser/Tor
# apulse uses a non-standard library path. For now special-case it. # apulse uses a non-standard library path. For now special-case it.
${optionalString (audioSupport && !pulseaudioSupport) '' ${lib.optionalString (audioSupport && !pulseaudioSupport) ''
libPath=${apulse}/lib/apulse:$libPath libPath=${apulse}/lib/apulse:$libPath
''} ''}
@@ -224,7 +222,7 @@ stdenv.mkDerivation rec {
clearPref("security.sandbox.content.write_path_whitelist"); clearPref("security.sandbox.content.write_path_whitelist");
''} ''}
${optionalString (extraPrefs != "") '' ${lib.optionalString (extraPrefs != "") ''
${extraPrefs} ${extraPrefs}
''} ''}
EOF EOF
@@ -251,14 +249,14 @@ stdenv.mkDerivation rec {
GeoIPv6File $TBB_IN_STORE/TorBrowser/Data/Tor/geoip6 GeoIPv6File $TBB_IN_STORE/TorBrowser/Data/Tor/geoip6
EOF EOF
WRAPPER_LD_PRELOAD=${optionalString useHardenedMalloc WRAPPER_LD_PRELOAD=${lib.optionalString useHardenedMalloc
"${graphene-hardened-malloc}/lib/libhardened_malloc.so"} "${graphene-hardened-malloc}/lib/libhardened_malloc.so"}
WRAPPER_XDG_DATA_DIRS=${concatMapStringsSep ":" (x: "${x}/share") [ WRAPPER_XDG_DATA_DIRS=${lib.concatMapStringsSep ":" (x: "${x}/share") [
gnome.adwaita-icon-theme gnome.adwaita-icon-theme
shared-mime-info shared-mime-info
]} ]}
WRAPPER_XDG_DATA_DIRS+=":"${concatMapStringsSep ":" (x: "${x}/share/gsettings-schemas/${x.name}") [ WRAPPER_XDG_DATA_DIRS+=":"${lib.concatMapStringsSep ":" (x: "${x}/share/gsettings-schemas/${x.name}") [
glib glib
gsettings-desktop-schemas gsettings-desktop-schemas
gtk3 gtk3
@@ -270,7 +268,7 @@ stdenv.mkDerivation rec {
#! ${runtimeShell} #! ${runtimeShell}
set -o errexit -o nounset set -o errexit -o nounset
PATH=${makeBinPath [ coreutils ]} PATH=${lib.makeBinPath [ coreutils ]}
export LC_ALL=C export LC_ALL=C
export LOCALE_ARCHIVE=${glibcLocales}/lib/locale/locale-archive export LOCALE_ARCHIVE=${glibcLocales}/lib/locale/locale-archive
@@ -317,7 +315,7 @@ stdenv.mkDerivation rec {
: "\''${XDG_RUNTIME_DIR:=/run/user/\$(id -u)}" : "\''${XDG_RUNTIME_DIR:=/run/user/\$(id -u)}"
: "\''${XDG_CONFIG_HOME:=\$REAL_HOME/.config}" : "\''${XDG_CONFIG_HOME:=\$REAL_HOME/.config}"
${optionalString pulseaudioSupport '' ${lib.optionalString pulseaudioSupport ''
# Figure out some envvars for pulseaudio # Figure out some envvars for pulseaudio
: "\''${PULSE_SERVER:=\$XDG_RUNTIME_DIR/pulse/native}" : "\''${PULSE_SERVER:=\$XDG_RUNTIME_DIR/pulse/native}"
: "\''${PULSE_COOKIE:=\$XDG_CONFIG_HOME/pulse/cookie}" : "\''${PULSE_COOKIE:=\$XDG_CONFIG_HOME/pulse/cookie}"
@@ -25,8 +25,6 @@
, pkgsBuildBuild , pkgsBuildBuild
}: }:
with lib;
# k3s is a kinda weird derivation. One of the main points of k3s is the # k3s is a kinda weird derivation. One of the main points of k3s is the
# simplicity of it being one binary that can perform several tasks. # simplicity of it being one binary that can perform several tasks.
# However, when you have a good package manager (like nix), that doesn't # However, when you have a good package manager (like nix), that doesn't
@@ -73,7 +71,7 @@ let
# run `grep github.com/kubernetes-sigs/cri-tools go.mod | head -n1 | awk '{print $4}'` in the k3s repo at the tag # run `grep github.com/kubernetes-sigs/cri-tools go.mod | head -n1 | awk '{print $4}'` in the k3s repo at the tag
criCtlVersion = "1.26.0-rc.0-k3s1"; criCtlVersion = "1.26.0-rc.0-k3s1";
baseMeta = { baseMeta = with lib; {
description = "A lightweight Kubernetes distribution"; description = "A lightweight Kubernetes distribution";
license = licenses.asl20; license = licenses.asl20;
homepage = "https://k3s.io"; homepage = "https://k3s.io";
@@ -12,8 +12,6 @@
, R , R
}: }:
with lib;
let let
spark = { pname, version, sha256, extraMeta ? {} }: spark = { pname, version, sha256, extraMeta ? {} }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@@ -26,7 +24,7 @@ let
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];
buildInputs = [ jdk python3Packages.python ] buildInputs = [ jdk python3Packages.python ]
++ extraPythonPackages ++ extraPythonPackages
++ optional RSupport R; ++ lib.optional RSupport R;
untarDir = "${pname}-${version}"; untarDir = "${pname}-${version}";
installPhase = '' installPhase = ''
@@ -38,12 +36,12 @@ let
cat > $out/lib/${untarDir}/conf/spark-env.sh <<- EOF cat > $out/lib/${untarDir}/conf/spark-env.sh <<- EOF
export JAVA_HOME="${jdk}" export JAVA_HOME="${jdk}"
export SPARK_HOME="$out/lib/${untarDir}" export SPARK_HOME="$out/lib/${untarDir}"
'' + optionalString hadoopSupport '' '' + lib.optionalString hadoopSupport ''
export SPARK_DIST_CLASSPATH=$(${hadoop}/bin/hadoop classpath) export SPARK_DIST_CLASSPATH=$(${hadoop}/bin/hadoop classpath)
'' + '' '' + ''
export PYSPARK_PYTHON="${python3Packages.python}/bin/${python3Packages.python.executable}" export PYSPARK_PYTHON="${python3Packages.python}/bin/${python3Packages.python.executable}"
export PYTHONPATH="\$PYTHONPATH:$PYTHONPATH" export PYTHONPATH="\$PYTHONPATH:$PYTHONPATH"
${optionalString RSupport '' ${lib.optionalString RSupport ''
export SPARKR_R_SHELL="${R}/bin/R" export SPARKR_R_SHELL="${R}/bin/R"
export PATH="\$PATH:${R}/bin"''} export PATH="\$PATH:${R}/bin"''}
EOF EOF
@@ -64,10 +62,10 @@ let
meta = { meta = {
description = "Apache Spark is a fast and general engine for large-scale data processing"; description = "Apache Spark is a fast and general engine for large-scale data processing";
homepage = "https://spark.apache.org/"; homepage = "https://spark.apache.org/";
sourceProvenance = with sourceTypes; [ binaryBytecode ]; sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
license = lib.licenses.asl20; license = lib.licenses.asl20;
platforms = lib.platforms.all; platforms = lib.platforms.all;
maintainers = with maintainers; [ thoughtpolice offline kamilchm illustris ]; maintainers = with lib.maintainers; [ thoughtpolice offline kamilchm illustris ];
} // extraMeta; } // extraMeta;
}; };
in in
@@ -442,22 +442,22 @@
"vendorHash": "sha256-aVbJT31IIgW0GYzwVX7kT4j7E+dadSbnttThh2lzGyE=" "vendorHash": "sha256-aVbJT31IIgW0GYzwVX7kT4j7E+dadSbnttThh2lzGyE="
}, },
"google": { "google": {
"hash": "sha256-/UgxXHucsrt960zLQiPruqJLxjFriTrNKjeI1gNEWys=", "hash": "sha256-R104jYttXER/Pzd3ePHh9ZOvpcziuVQK0JcFqdbWtG0=",
"homepage": "https://registry.terraform.io/providers/hashicorp/google", "homepage": "https://registry.terraform.io/providers/hashicorp/google",
"owner": "hashicorp", "owner": "hashicorp",
"proxyVendor": true, "proxyVendor": true,
"repo": "terraform-provider-google", "repo": "terraform-provider-google",
"rev": "v4.49.0", "rev": "v4.50.0",
"spdx": "MPL-2.0", "spdx": "MPL-2.0",
"vendorHash": "sha256-oModEw/gaQCDHLf+2EKf1O1HQSGWnqEReXowE6F7W0o=" "vendorHash": "sha256-oModEw/gaQCDHLf+2EKf1O1HQSGWnqEReXowE6F7W0o="
}, },
"google-beta": { "google-beta": {
"hash": "sha256-EGwErLYIL0OEIZJQgQizJqqAsZwn1ewPOqAEyg4tC7Q=", "hash": "sha256-OrotSvDNK7PC6nyHEAvmTOYgdYFiHEE8YwfWcOAbPsk=",
"homepage": "https://registry.terraform.io/providers/hashicorp/google-beta", "homepage": "https://registry.terraform.io/providers/hashicorp/google-beta",
"owner": "hashicorp", "owner": "hashicorp",
"proxyVendor": true, "proxyVendor": true,
"repo": "terraform-provider-google-beta", "repo": "terraform-provider-google-beta",
"rev": "v4.49.0", "rev": "v4.50.0",
"spdx": "MPL-2.0", "spdx": "MPL-2.0",
"vendorHash": "sha256-oModEw/gaQCDHLf+2EKf1O1HQSGWnqEReXowE6F7W0o=" "vendorHash": "sha256-oModEw/gaQCDHLf+2EKf1O1HQSGWnqEReXowE6F7W0o="
}, },
@@ -643,11 +643,11 @@
"vendorHash": "sha256-lXQHo66b9X0jZhoF+5Ix5qewQGyI82VPJ7gGzc2CHao=" "vendorHash": "sha256-lXQHo66b9X0jZhoF+5Ix5qewQGyI82VPJ7gGzc2CHao="
}, },
"kubernetes": { "kubernetes": {
"hash": "sha256-aKGcKmnlYxNS7SrFW2SouRQUXYy339qHrDtQMXGD4DE=", "hash": "sha256-mjxFKCUmXg9CPz/ZZWPr1F8DSUadNroEEwvJgwHYk5s=",
"homepage": "https://registry.terraform.io/providers/hashicorp/kubernetes", "homepage": "https://registry.terraform.io/providers/hashicorp/kubernetes",
"owner": "hashicorp", "owner": "hashicorp",
"repo": "terraform-provider-kubernetes", "repo": "terraform-provider-kubernetes",
"rev": "v2.16.1", "rev": "v2.17.0",
"spdx": "MPL-2.0", "spdx": "MPL-2.0",
"vendorHash": null "vendorHash": null
}, },
@@ -816,11 +816,11 @@
"vendorHash": "sha256-LRIfxQGwG988HE5fftGl6JmBG7tTknvmgpm4Fu1NbWI=" "vendorHash": "sha256-LRIfxQGwG988HE5fftGl6JmBG7tTknvmgpm4Fu1NbWI="
}, },
"oci": { "oci": {
"hash": "sha256-nky2PxHA9TznFh6IGrx3UvOuwrGPnQID04qlDQ4/rm4=", "hash": "sha256-EewM1/7zzmJ5KL+/KqstFg6rQT8YpvMULScYeD2ClUQ=",
"homepage": "https://registry.terraform.io/providers/oracle/oci", "homepage": "https://registry.terraform.io/providers/oracle/oci",
"owner": "oracle", "owner": "oracle",
"repo": "terraform-provider-oci", "repo": "terraform-provider-oci",
"rev": "v4.104.0", "rev": "v4.104.2",
"spdx": "MPL-2.0", "spdx": "MPL-2.0",
"vendorHash": null "vendorHash": null
}, },
@@ -1,7 +1,5 @@
{ stdenv, lib, fetchFromGitHub, wrapPython, fetchpatch }: { stdenv, lib, fetchFromGitHub, wrapPython, fetchpatch }:
with lib;
stdenv.mkDerivation { stdenv.mkDerivation {
pname = "droopy"; pname = "droopy";
version = "20160830"; version = "20160830";
@@ -32,7 +30,7 @@ stdenv.mkDerivation {
wrapPythonPrograms wrapPythonPrograms
''; '';
meta = { meta = with lib; {
description = "Mini Web server that let others upload files to your computer"; description = "Mini Web server that let others upload files to your computer";
homepage = "http://stackp.online.fr/droopy"; homepage = "http://stackp.online.fr/droopy";
license = licenses.bsd3; license = licenses.bsd3;
@@ -19,11 +19,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "filezilla"; pname = "filezilla";
version = "3.61.0"; version = "3.62.2";
src = fetchurl { src = fetchurl {
url = "https://download.filezilla-project.org/client/FileZilla_${version}_src.tar.bz2"; url = "https://download.filezilla-project.org/client/FileZilla_${version}_src.tar.bz2";
hash = "sha256-Cv7w5NolICaHsy7Wsf/NhELVs1vc0W308Cuy6pLimfc="; hash = "sha256-p2cJY1yg6kdPaR9sYLGRM0rzB57xksB8NGUEuqtzjBI=";
}; };
configureFlags = [ configureFlags = [
@@ -1,6 +1,5 @@
{ lib, fetchFromGitHub, stdenv, bitlbee, autoreconfHook, pkg-config, glib }: { lib, fetchFromGitHub, stdenv, bitlbee, autoreconfHook, pkg-config, glib }:
with lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "bitlbee-discord"; pname = "bitlbee-discord";
version = "0.4.3"; version = "0.4.3";
@@ -21,7 +20,7 @@ stdenv.mkDerivation rec {
./autogen.sh ./autogen.sh
''; '';
meta = { meta = with lib; {
description = "Bitlbee plugin for Discord"; description = "Bitlbee plugin for Discord";
homepage = "https://github.com/sm00th/bitlbee-discord"; homepage = "https://github.com/sm00th/bitlbee-discord";
@@ -1,6 +1,5 @@
{ lib, fetchgit, stdenv, bitlbee, autoreconfHook, pkg-config, glib }: { lib, fetchgit, stdenv, bitlbee, autoreconfHook, pkg-config, glib }:
with lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "bitlbee-mastodon"; pname = "bitlbee-mastodon";
version = "1.4.5"; version = "1.4.5";
@@ -19,7 +18,7 @@ stdenv.mkDerivation rec {
export BITLBEE_DATADIR=$out/share/bitlbee export BITLBEE_DATADIR=$out/share/bitlbee
''; '';
meta = { meta = with lib; {
description = "Bitlbee plugin for Mastodon"; description = "Bitlbee plugin for Mastodon";
homepage = "https://alexschroeder.ch/cgit/bitlbee-mastodon/about"; homepage = "https://alexschroeder.ch/cgit/bitlbee-mastodon/about";
license = licenses.gpl2Plus; license = licenses.gpl2Plus;
@@ -1,6 +1,5 @@
{ lib, fetchFromGitHub, stdenv, bitlbee, autoconf, automake, libtool, pkg-config, libgcrypt }: { lib, fetchFromGitHub, stdenv, bitlbee, autoconf, automake, libtool, pkg-config, libgcrypt }:
with lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "1.4.2"; version = "1.4.2";
pname = "bitlbee-steam"; pname = "bitlbee-steam";
@@ -20,7 +19,7 @@ stdenv.mkDerivation rec {
./autogen.sh ./autogen.sh
''; '';
meta = { meta = with lib; {
description = "Steam protocol plugin for BitlBee"; description = "Steam protocol plugin for BitlBee";
homepage = "https://github.com/jgeboski/bitlbee-steam"; homepage = "https://github.com/jgeboski/bitlbee-steam";
@@ -3,7 +3,6 @@
, enablePam ? false, pam ? null , enablePam ? false, pam ? null
}: }:
with lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "bitlbee"; pname = "bitlbee";
version = "3.6"; version = "3.6";
@@ -13,11 +12,11 @@ stdenv.mkDerivation rec {
sha256 = "0zhhcbcr59sx9h4maf8zamzv2waya7sbsl7w74gbyilvy93dw5cz"; sha256 = "0zhhcbcr59sx9h4maf8zamzv2waya7sbsl7w74gbyilvy93dw5cz";
}; };
nativeBuildInputs = [ pkg-config ] ++ optional doCheck check; nativeBuildInputs = [ pkg-config ] ++ lib.optional doCheck check;
buildInputs = [ gnutls libotr python3 ] buildInputs = [ gnutls libotr python3 ]
++ optional enableLibPurple pidgin ++ lib.optional enableLibPurple pidgin
++ optional enablePam pam; ++ lib.optional enablePam pam;
propagatedBuildInputs = [ glib ]; propagatedBuildInputs = [ glib ];
@@ -25,8 +24,8 @@ stdenv.mkDerivation rec {
"--otr=1" "--otr=1"
"--ssl=gnutls" "--ssl=gnutls"
"--pidfile=/var/lib/bitlbee/bitlbee.pid" "--pidfile=/var/lib/bitlbee/bitlbee.pid"
] ++ optional enableLibPurple "--purple=1" ] ++ lib.optional enableLibPurple "--purple=1"
++ optional enablePam "--pam=1"; ++ lib.optional enablePam "--pam=1";
patches = [ patches = [
# This should be dropped once the issue is fixed upstream. # This should be dropped once the issue is fixed upstream.
@@ -46,7 +45,7 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true; enableParallelBuilding = true;
meta = { meta = with lib; {
description = "IRC instant messaging gateway"; description = "IRC instant messaging gateway";
longDescription = '' longDescription = ''
@@ -1,7 +1,5 @@
{ lib, runCommandLocal, bitlbee }: { lib, runCommandLocal, bitlbee }:
with lib;
plugins: runCommandLocal "bitlbee-plugins" { plugins: runCommandLocal "bitlbee-plugins" {
inherit plugins; inherit plugins;
buildInputs = [ bitlbee plugins ]; buildInputs = [ bitlbee plugins ];
@@ -1,10 +1,8 @@
{ lib, stdenv, fetchgit, libtoxcore { lib, stdenv, fetchgit, libtoxcore
, conf ? null }: , conf ? null }:
with lib;
let let
configFile = optionalString (conf!=null) (builtins.toFile "config.h" conf); configFile = lib.optionalString (conf!=null) (builtins.toFile "config.h" conf);
in stdenv.mkDerivation { in stdenv.mkDerivation {
pname = "ratox"; pname = "ratox";
@@ -22,12 +20,12 @@ in stdenv.mkDerivation {
substituteInPlace config.mk \ substituteInPlace config.mk \
--replace '-lsodium -lopus -lvpx ' "" --replace '-lsodium -lopus -lvpx ' ""
${optionalString (conf!=null) "cp ${configFile} config.def.h"} ${lib.optionalString (conf!=null) "cp ${configFile} config.def.h"}
''; '';
makeFlags = [ "PREFIX=$(out)" ]; makeFlags = [ "PREFIX=$(out)" ];
meta = { meta = with lib; {
description = "FIFO based tox client"; description = "FIFO based tox client";
homepage = "http://ratox.2f30.org/"; homepage = "http://ratox.2f30.org/";
license = licenses.isc; license = licenses.isc;
@@ -65,8 +65,6 @@
, MetalKit , MetalKit
}: }:
with lib;
let let
tg_owt = callPackage ./tg_owt.nix { tg_owt = callPackage ./tg_owt.nix {
abseil-cpp = abseil-cpp.override { abseil-cpp = abseil-cpp.override {
@@ -99,14 +97,14 @@ stdenv.mkDerivation rec {
./shortcuts-binary-path.patch ./shortcuts-binary-path.patch
]; ];
postPatch = optionalString stdenv.isLinux '' postPatch = lib.optionalString stdenv.isLinux ''
substituteInPlace Telegram/ThirdParty/libtgvoip/os/linux/AudioInputALSA.cpp \ substituteInPlace Telegram/ThirdParty/libtgvoip/os/linux/AudioInputALSA.cpp \
--replace '"libasound.so.2"' '"${alsa-lib}/lib/libasound.so.2"' --replace '"libasound.so.2"' '"${alsa-lib}/lib/libasound.so.2"'
substituteInPlace Telegram/ThirdParty/libtgvoip/os/linux/AudioOutputALSA.cpp \ substituteInPlace Telegram/ThirdParty/libtgvoip/os/linux/AudioOutputALSA.cpp \
--replace '"libasound.so.2"' '"${alsa-lib}/lib/libasound.so.2"' --replace '"libasound.so.2"' '"${alsa-lib}/lib/libasound.so.2"'
substituteInPlace Telegram/ThirdParty/libtgvoip/os/linux/AudioPulse.cpp \ substituteInPlace Telegram/ThirdParty/libtgvoip/os/linux/AudioPulse.cpp \
--replace '"libpulse.so.0"' '"${libpulseaudio}/lib/libpulse.so.0"' --replace '"libpulse.so.0"' '"${libpulseaudio}/lib/libpulse.so.0"'
'' + optionalString stdenv.isDarwin '' '' + lib.optionalString stdenv.isDarwin ''
sed -i "13i#import <CoreAudio/CoreAudio.h>" Telegram/lib_webrtc/webrtc/mac/webrtc_media_devices_mac.mm sed -i "13i#import <CoreAudio/CoreAudio.h>" Telegram/lib_webrtc/webrtc/mac/webrtc_media_devices_mac.mm
substituteInPlace Telegram/CMakeLists.txt \ substituteInPlace Telegram/CMakeLists.txt \
--replace 'COMMAND iconutil' 'COMMAND png2icns' \ --replace 'COMMAND iconutil' 'COMMAND png2icns' \
@@ -122,7 +120,7 @@ stdenv.mkDerivation rec {
python3 python3
wrapQtAppsHook wrapQtAppsHook
removeReferencesTo removeReferencesTo
] ++ optionals stdenv.isLinux [ ] ++ lib.optionals stdenv.isLinux [
# to build bundled libdispatch # to build bundled libdispatch
clang clang
extra-cmake-modules extra-cmake-modules
@@ -143,7 +141,7 @@ stdenv.mkDerivation rec {
rnnoise rnnoise
tg_owt tg_owt
microsoft_gsl microsoft_gsl
] ++ optionals stdenv.isLinux [ ] ++ lib.optionals stdenv.isLinux [
kwayland kwayland
alsa-lib alsa-lib
libpulseaudio libpulseaudio
@@ -151,7 +149,7 @@ stdenv.mkDerivation rec {
glibmm glibmm
jemalloc jemalloc
wayland wayland
] ++ optionals stdenv.isDarwin [ ] ++ lib.optionals stdenv.isDarwin [
Cocoa Cocoa
CoreFoundation CoreFoundation
CoreServices CoreServices
@@ -192,7 +190,7 @@ stdenv.mkDerivation rec {
"-DDESKTOP_APP_QT6=OFF" "-DDESKTOP_APP_QT6=OFF"
]; ];
installPhase = optionalString stdenv.isDarwin '' installPhase = lib.optionalString stdenv.isDarwin ''
mkdir -p $out/Applications mkdir -p $out/Applications
cp -r Kotatogram.app $out/Applications cp -r Kotatogram.app $out/Applications
ln -s $out/Applications/Kotatogram.app/Contents/MacOS $out/bin ln -s $out/Applications/Kotatogram.app/Contents/MacOS $out/bin
@@ -209,7 +207,7 @@ stdenv.mkDerivation rec {
inherit tg_owt; inherit tg_owt;
}; };
meta = { meta = with lib; {
description = "Kotatogram experimental Telegram Desktop fork"; description = "Kotatogram experimental Telegram Desktop fork";
longDescription = '' longDescription = ''
Unofficial desktop client for the Telegram messenger, based on Telegram Desktop. Unofficial desktop client for the Telegram messenger, based on Telegram Desktop.
@@ -1,7 +1,5 @@
{ stdenv, lib, kotatogram-desktop, glib-networking, webkitgtk, makeWrapper }: { stdenv, lib, kotatogram-desktop, glib-networking, webkitgtk, makeWrapper }:
with lib;
stdenv.mkDerivation { stdenv.mkDerivation {
pname = "${kotatogram-desktop.pname}-with-webkit"; pname = "${kotatogram-desktop.pname}-with-webkit";
version = kotatogram-desktop.version; version = kotatogram-desktop.version;
@@ -15,9 +13,9 @@ stdenv.mkDerivation {
mkdir -p $out/bin mkdir -p $out/bin
makeWrapper ${kotatogram-desktop}/bin/kotatogram-desktop $out/bin/kotatogram-desktop \ makeWrapper ${kotatogram-desktop}/bin/kotatogram-desktop $out/bin/kotatogram-desktop \
--prefix GIO_EXTRA_MODULES : ${glib-networking}/lib/gio/modules \ --prefix GIO_EXTRA_MODULES : ${glib-networking}/lib/gio/modules \
--prefix LD_LIBRARY_PATH : ${makeLibraryPath [ webkitgtk ]} --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ webkitgtk ]}
''; '';
meta = kotatogram-desktop.meta // { meta = kotatogram-desktop.meta // {
platforms = platforms.linux; platforms = lib.platforms.linux;
}; };
} }
@@ -3,8 +3,6 @@
, xorg , xorg
}: }:
with lib;
let let
bits = "x86_64"; bits = "x86_64";
@@ -19,7 +17,7 @@ let
categories = [ "Network" ]; categories = [ "Network" ];
}; };
tarball = "Wavebox_${replaceStrings ["."] ["_"] (toString version)}_linux_${bits}.tar.gz"; tarball = "Wavebox_${lib.replaceStrings ["."] ["_"] (toString version)}_linux_${bits}.tar.gz";
in stdenv.mkDerivation { in stdenv.mkDerivation {
pname = "wavebox"; pname = "wavebox";
@@ -40,7 +38,7 @@ in stdenv.mkDerivation {
alsa-lib gtk3 nss alsa-lib gtk3 nss
]; ];
runtimeDependencies = [ (getLib udev) libnotify ]; runtimeDependencies = [ (lib.getLib udev) libnotify ];
installPhase = '' installPhase = ''
mkdir -p $out/bin $out/opt/wavebox mkdir -p $out/bin $out/opt/wavebox
@@ -2,8 +2,6 @@
, nixosTests , nixosTests
}: }:
with lib;
perlPackages.buildPerlPackage rec { perlPackages.buildPerlPackage rec {
pname = "convos"; pname = "convos";
version = "7.02"; version = "7.02";
@@ -16,7 +14,7 @@ perlPackages.buildPerlPackage rec {
}; };
nativeBuildInputs = [ makeWrapper ] nativeBuildInputs = [ makeWrapper ]
++ optionals stdenv.isDarwin [ shortenPerlShebang ]; ++ lib.optionals stdenv.isDarwin [ shortenPerlShebang ];
buildInputs = with perlPackages; [ buildInputs = with perlPackages; [
CryptPassphrase CryptPassphraseArgon2 CryptPassphraseBcrypt CryptPassphrase CryptPassphraseArgon2 CryptPassphraseBcrypt
@@ -79,7 +77,7 @@ perlPackages.buildPerlPackage rec {
ln -s $AUTO_SHARE_PATH/public/asset $out/asset ln -s $AUTO_SHARE_PATH/public/asset $out/asset
cp -vR templates $out/templates cp -vR templates $out/templates
cp cpanfile $out/cpanfile cp cpanfile $out/cpanfile
'' + optionalString stdenv.isDarwin '' '' + lib.optionalString stdenv.isDarwin ''
shortenPerlShebang $out/bin/convos shortenPerlShebang $out/bin/convos
'' + '' '' + ''
wrapProgram $out/bin/convos --set MOJO_HOME $out wrapProgram $out/bin/convos --set MOJO_HOME $out
@@ -91,6 +89,6 @@ perlPackages.buildPerlPackage rec {
homepage = "https://convos.chat"; homepage = "https://convos.chat";
description = "Convos is the simplest way to use IRC in your browser"; description = "Convos is the simplest way to use IRC in your browser";
license = lib.licenses.artistic2; license = lib.licenses.artistic2;
maintainers = with maintainers; [ sgo ]; maintainers = with lib.maintainers; [ sgo ];
}; };
} }
@@ -52,8 +52,6 @@
, enablePluginVcalendar ? true, libical , enablePluginVcalendar ? true, libical
}: }:
with lib;
let let
pythonPkgs = with python3.pkgs; [ python3 wrapPython pygobject3 ]; pythonPkgs = with python3.pkgs; [ python3 wrapPython pygobject3 ];
@@ -130,7 +128,7 @@ in stdenv.mkDerivation rec {
buildInputs = buildInputs =
[ curl gsettings-desktop-schemas glib-networking gtk3 ] [ curl gsettings-desktop-schemas glib-networking gtk3 ]
++ concatMap (f: optionals f.enabled f.deps) (filter (f: f ? deps) features) ++ lib.concatMap (f: lib.optionals f.enabled f.deps) (lib.filter (f: f ? deps) features)
; ;
configureFlags = configureFlags =
@@ -141,7 +139,7 @@ in stdenv.mkDerivation rec {
"--disable-gdata-plugin" # Complains about missing libgdata, even when provided "--disable-gdata-plugin" # Complains about missing libgdata, even when provided
] ++ ] ++
(map (feature: map (flag: strings.enableFeature feature.enabled flag) feature.flags) features); (map (feature: map (flag: lib.strings.enableFeature feature.enabled flag) feature.flags) features);
enableParallelBuilding = true; enableParallelBuilding = true;
@@ -155,7 +153,7 @@ in stdenv.mkDerivation rec {
cp claws-mail.desktop $out/share/applications cp claws-mail.desktop $out/share/applications
''; '';
meta = { meta = with lib; {
description = "The user-friendly, lightweight, and fast email client"; description = "The user-friendly, lightweight, and fast email client";
homepage = "https://www.claws-mail.org/"; homepage = "https://www.claws-mail.org/";
license = licenses.gpl3Plus; license = licenses.gpl3Plus;
@@ -4,8 +4,6 @@
assert gpgSupport -> gpgme != null; assert gpgSupport -> gpgme != null;
assert sslSupport -> openssl != null; assert sslSupport -> openssl != null;
with lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "sylpheed"; pname = "sylpheed";
version = "3.7.0"; version = "3.7.0";
@@ -33,17 +31,17 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkg-config ]; nativeBuildInputs = [ pkg-config ];
buildInputs = [ gtk2 ] buildInputs = [ gtk2 ]
++ optionals gpgSupport [ gpgme ] ++ lib.optionals gpgSupport [ gpgme ]
++ optionals sslSupport [ openssl ] ++ lib.optionals sslSupport [ openssl ]
++ optionals stdenv.isDarwin [ Foundation ]; ++ lib.optionals stdenv.isDarwin [ Foundation ];
configureFlags = optional gpgSupport "--enable-gpgme" configureFlags = lib.optional gpgSupport "--enable-gpgme"
++ optional sslSupport "--enable-ssl"; ++ lib.optional sslSupport "--enable-ssl";
# Undefined symbols for architecture arm64: "_OBJC_CLASS_$_NSAutoreleasePool" # Undefined symbols for architecture arm64: "_OBJC_CLASS_$_NSAutoreleasePool"
NIX_LDFLAGS = lib.optionalString stdenv.isDarwin "-framework Foundation"; NIX_LDFLAGS = lib.optionalString stdenv.isDarwin "-framework Foundation";
meta = { meta = with lib; {
homepage = "https://sylpheed.sraoss.jp/en/"; homepage = "https://sylpheed.sraoss.jp/en/";
description = "Lightweight and user-friendly e-mail client"; description = "Lightweight and user-friendly e-mail client";
maintainers = with maintainers; [ eelco ]; maintainers = with maintainers; [ eelco ];
@@ -9,7 +9,6 @@
assert guiSupport -> (dbus != null); assert guiSupport -> (dbus != null);
assert trackerSearch -> (python3 != null); assert trackerSearch -> (python3 != null);
with lib;
mkDerivation rec { mkDerivation rec {
pname = "qbittorrent"; pname = "qbittorrent";
version = "4.4.5"; version = "4.4.5";
@@ -27,8 +26,8 @@ mkDerivation rec {
nativeBuildInputs = [ pkg-config ]; nativeBuildInputs = [ pkg-config ];
buildInputs = [ boost libtorrent-rasterbar qtbase qttools qtsvg ] buildInputs = [ boost libtorrent-rasterbar qtbase qttools qtsvg ]
++ optional guiSupport dbus # D(esktop)-Bus depends on GUI support ++ lib.optional guiSupport dbus # D(esktop)-Bus depends on GUI support
++ optional trackerSearch python3; ++ lib.optional trackerSearch python3;
# Otherwise qm_gen.pri assumes lrelease-qt5, which does not exist. # Otherwise qm_gen.pri assumes lrelease-qt5, which does not exist.
QMAKE_LRELEASE = "lrelease"; QMAKE_LRELEASE = "lrelease";
@@ -36,11 +35,11 @@ mkDerivation rec {
configureFlags = [ configureFlags = [
"--with-boost-libdir=${boost.out}/lib" "--with-boost-libdir=${boost.out}/lib"
"--with-boost=${boost.dev}" ] "--with-boost=${boost.dev}" ]
++ optionals (!guiSupport) [ "--disable-gui" "--enable-systemd" ] # Also place qbittorrent-nox systemd service files ++ lib.optionals (!guiSupport) [ "--disable-gui" "--enable-systemd" ] # Also place qbittorrent-nox systemd service files
++ optional (!webuiSupport) "--disable-webui" ++ lib.optional (!webuiSupport) "--disable-webui"
++ optional debugSupport "--enable-debug"; ++ lib.optional debugSupport "--enable-debug";
qtWrapperArgs = optional trackerSearch "--prefix PATH : ${makeBinPath [ python3 ]}"; qtWrapperArgs = lib.optional trackerSearch "--prefix PATH : ${lib.makeBinPath [ python3 ]}";
postInstall = lib.optionalString stdenv.isDarwin '' postInstall = lib.optionalString stdenv.isDarwin ''
mkdir -p $out/{Applications,bin} mkdir -p $out/{Applications,bin}
@@ -48,7 +47,7 @@ mkDerivation rec {
makeWrapper $out/{Applications/qbittorrent.app/Contents/MacOS,bin}/qbittorrent makeWrapper $out/{Applications/qbittorrent.app/Contents/MacOS,bin}/qbittorrent
''; '';
meta = { meta = with lib; {
description = "Featureful free software BitTorrent client"; description = "Featureful free software BitTorrent client";
homepage = "https://www.qbittorrent.org/"; homepage = "https://www.qbittorrent.org/";
changelog = "https://github.com/qbittorrent/qBittorrent/blob/release-${version}/Changelog"; changelog = "https://github.com/qbittorrent/qBittorrent/blob/release-${version}/Changelog";
@@ -8,8 +8,6 @@
assert withQt -> qt5 != null; assert withQt -> qt5 != null;
with lib;
let let
version = "4.0.2"; version = "4.0.2";
variant = if withQt then "qt" else "cli"; variant = if withQt then "qt" else "cli";
@@ -39,17 +37,17 @@ in stdenv.mkDerivation {
NIX_CFLAGS_COMPILE = [ "-DQT_NO_DEBUG" ]; NIX_CFLAGS_COMPILE = [ "-DQT_NO_DEBUG" ];
nativeBuildInputs = [ asciidoctor bison cmake flex makeWrapper pkg-config python3 perl ] nativeBuildInputs = [ asciidoctor bison cmake flex makeWrapper pkg-config python3 perl ]
++ optionals withQt [ qt5.wrapQtAppsHook wrapGAppsHook ]; ++ lib.optionals withQt [ qt5.wrapQtAppsHook wrapGAppsHook ];
depsBuildBuild = [ buildPackages.stdenv.cc ]; depsBuildBuild = [ buildPackages.stdenv.cc ];
buildInputs = [ buildInputs = [
gettext pcre2 libpcap lua5 libssh nghttp2 openssl libgcrypt gettext pcre2 libpcap lua5 libssh nghttp2 openssl libgcrypt
libgpg-error gnutls geoip c-ares glib zlib libgpg-error gnutls geoip c-ares glib zlib
] ++ optionals withQt (with qt5; [ qtbase qtmultimedia qtsvg qttools ]) ] ++ lib.optionals withQt (with qt5; [ qtbase qtmultimedia qtsvg qttools ])
++ optionals stdenv.isLinux [ libcap libnl ] ++ lib.optionals stdenv.isLinux [ libcap libnl ]
++ optionals stdenv.isDarwin [ SystemConfiguration ApplicationServices gmp ] ++ lib.optionals stdenv.isDarwin [ SystemConfiguration ApplicationServices gmp ]
++ optionals (withQt && stdenv.isDarwin) (with qt5; [ qtmacextras ]); ++ lib.optionals (withQt && stdenv.isDarwin) (with qt5; [ qtmacextras ]);
strictDeps = true; strictDeps = true;
@@ -72,7 +70,7 @@ in stdenv.mkDerivation {
install_name_tool -change "$dylib" "$out/lib/$dylib" "$f" install_name_tool -change "$dylib" "$out/lib/$dylib" "$f"
done done
done done
'' else optionalString withQt '' '' else lib.optionalString withQt ''
pwd pwd
install -Dm644 -t $out/share/applications ../resources/freedesktop/org.wireshark.Wireshark.desktop install -Dm644 -t $out/share/applications ../resources/freedesktop/org.wireshark.Wireshark.desktop
+8 -10
View File
@@ -9,8 +9,6 @@
, withDebug ? false , withDebug ? false
}: }:
with lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "znc"; pname = "znc";
version = "1.8.2"; version = "1.8.2";
@@ -23,12 +21,12 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkg-config ]; nativeBuildInputs = [ pkg-config ];
buildInputs = [ openssl ] buildInputs = [ openssl ]
++ optional withPerl perl ++ lib.optional withPerl perl
++ optional withPython python3 ++ lib.optional withPython python3
++ optional withTcl tcl ++ lib.optional withTcl tcl
++ optional withCyrus cyrus_sasl ++ lib.optional withCyrus cyrus_sasl
++ optional withUnicode icu ++ lib.optional withUnicode icu
++ optional withZlib zlib; ++ lib.optional withZlib zlib;
configureFlags = [ configureFlags = [
(lib.enableFeature withPerl "perl") (lib.enableFeature withPerl "perl")
@@ -36,8 +34,8 @@ stdenv.mkDerivation rec {
(lib.enableFeature withTcl "tcl") (lib.enableFeature withTcl "tcl")
(lib.withFeatureAs withTcl "tcl" "${tcl}/lib") (lib.withFeatureAs withTcl "tcl" "${tcl}/lib")
(lib.enableFeature withCyrus "cyrus") (lib.enableFeature withCyrus "cyrus")
] ++ optionals (!withIPv6) [ "--disable-ipv6" ] ] ++ lib.optionals (!withIPv6) [ "--disable-ipv6" ]
++ optionals withDebug [ "--enable-debug" ]; ++ lib.optionals withDebug [ "--enable-debug" ];
enableParallelBuilding = true; enableParallelBuilding = true;
@@ -0,0 +1,43 @@
{ lib
, stdenvNoCC
, fetchFromGitHub
, nixosTests
, php}:
stdenvNoCC.mkDerivation rec {
name = "cloudlog";
version = "2.3";
src = fetchFromGitHub {
owner = "magicbug";
repo = "Cloudlog";
rev = version;
sha256 = "sha256-IepCeV/mYy/GEzRTXf67LYQQaN5Rj5Z77KaF2l30r60=";
};
postPath = ''
substituteInPlace index.php \
--replace "define('ENVIRONMENT', 'development');" "define('ENVIRONMENT', 'production');"
'';
installPhase = ''
mkdir $out/
cp -R ./* $out
'';
passthru.tests = {
inherit (nixosTests) cloudlog;
};
meta = with lib; {
description = ''
Web based amateur radio logging application built using PHP & MySQL
supports general station logging tasks from HF to Microwave with
supporting applications to support CAT control.
'';
license = licenses.mit;
homepage = "https://www.magicbug.co.uk/cloudlog";
platforms = php.meta.platforms;
maintainers = with maintainers; [ melling ];
};
}
@@ -6,13 +6,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gridtracker"; pname = "gridtracker";
version = "1.22.1226"; version = "1.23.0110";
src = fetchFromGitLab { src = fetchFromGitLab {
owner = "gridtracker.org"; owner = "gridtracker.org";
repo = "gridtracker"; repo = "gridtracker";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-/Noc2aqHBjphX6RDqxQBI/OOKZgEnOndn0daBt1edXM="; sha256 = "sha256-yQWdBNt7maYTzroB+P1hsGIeivkP+soR3/b847HLYZY=";
}; };
postPatch = '' postPatch = ''
+2 -2
View File
@@ -42,13 +42,13 @@
mkDerivation rec { mkDerivation rec {
pname = "sdrangel"; pname = "sdrangel";
version = "7.8.5"; version = "7.8.6";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "f4exb"; owner = "f4exb";
repo = "sdrangel"; repo = "sdrangel";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-m5b51rR2l4EdF2kMogHIi1ojoy3UwuU0Q3pfB1ev300="; sha256 = "sha256-tLU2OHFf1PPNRr1t3MWWCKnvILp1DW0k4TAxrXWI2X4=";
}; };
nativeBuildInputs = [ cmake pkg-config ]; nativeBuildInputs = [ cmake pkg-config ];
@@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitHub, pkg-config, cmake { lib, stdenv, fetchFromGitHub, pkg-config, cmake, cereal, openmp
, libjpeg ? null , libjpeg ? null
, zlib ? null , zlib ? null
, libpng ? null , libpng ? null
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
fetchSubmodules = true; fetchSubmodules = true;
}; };
buildInputs = [ libjpeg zlib libpng eigen libtiff ]; buildInputs = [ libjpeg zlib libpng eigen libtiff cereal openmp ];
nativeBuildInputs = [ cmake pkg-config ]; nativeBuildInputs = [ cmake pkg-config ];
@@ -45,6 +45,6 @@ stdenv.mkDerivation rec {
homepage = "https://openmvg.readthedocs.io/en/latest/"; homepage = "https://openmvg.readthedocs.io/en/latest/";
license = lib.licenses.mpl20; license = lib.licenses.mpl20;
platforms = lib.platforms.unix; platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [ mdaiter ]; maintainers = with lib.maintainers; [ mdaiter bouk ];
}; };
} }
+11 -2
View File
@@ -8,9 +8,11 @@
, pkg-config , pkg-config
, pantheon , pantheon
, python3 , python3
, curl
, gettext , gettext
, glib , glib
, gtk3 , gtk3
, json-glib
, libwnck , libwnck
, libgee , libgee
, libgtop , libgtop
@@ -25,13 +27,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "monitor"; pname = "monitor";
version = "0.14.0"; version = "0.15.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "stsdc"; owner = "stsdc";
repo = "monitor"; repo = "monitor";
rev = version; rev = version;
sha256 = "sha256-dw1FR9nU8MY6LBL3sF942azeSgKmCntXCk4+nhMb4Wo="; sha256 = "sha256-w4c9rVO54mrjUX2iRxUQ7PHqE+8D+BqBgHMK2X9nI0g=";
fetchSubmodules = true; fetchSubmodules = true;
}; };
@@ -46,8 +48,10 @@ stdenv.mkDerivation rec {
]; ];
buildInputs = [ buildInputs = [
curl
glib glib
gtk3 gtk3
json-glib
pantheon.granite pantheon.granite
pantheon.wingpanel pantheon.wingpanel
libgee libgee
@@ -72,6 +76,11 @@ stdenv.mkDerivation rec {
postPatch = '' postPatch = ''
chmod +x meson/post_install.py chmod +x meson/post_install.py
patchShebangs meson/post_install.py patchShebangs meson/post_install.py
# Alternatively, using pkg-config here should just work.
substituteInPlace meson.build --replace \
"meson.get_compiler('c').find_library('libcurl', dirs: vapidir)" \
"meson.get_compiler('c').find_library('libcurl', dirs: '${curl.out}/lib')"
''; '';
passthru = { passthru = {
@@ -7,16 +7,16 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "git-cliff"; pname = "git-cliff";
version = "1.1.1"; version = "1.1.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "orhun"; owner = "orhun";
repo = "git-cliff"; repo = "git-cliff";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-GCHwpOfjti9PETy3cHFHBFBot6YcSSFTBCd3zEtpP3U="; hash = "sha256-QYldwxQYod5qkNC3soiKoCLDFR4UaLxdGkVufn1JIeE=";
}; };
cargoHash = "sha256-76HWkfct9weA64yvY5G/l96mjNpuKjPYHFZ5Ctz43Us="; cargoHash = "sha256-jwDJb9Hl0PegCufmaj1Q3h5itgt26E4dwmcyCxZ+4FM=";
# attempts to run the program on .git in src which is not deterministic # attempts to run the program on .git in src which is not deterministic
doCheck = false; doCheck = false;
+3 -1
View File
@@ -1,7 +1,8 @@
{ lib, mkDerivation, fetchFromGitHub, fetchpatch, which, qtbase, qtwebkit, qtscript { lib, mkDerivation, fetchFromGitHub, fetchpatch, which, qtbase, qtwebkit, qtscript
, libpulseaudio, fftwSinglePrec , lame, zlib, libGLU, libGL, alsa-lib, freetype , libpulseaudio, fftwSinglePrec , lame, zlib, libGLU, libGL, alsa-lib, freetype
, perl, pkg-config , libsamplerate, libbluray, lzo, libX11, libXv, libXrandr, libXvMC, libXinerama, libXxf86vm , perl, pkg-config , libsamplerate, libbluray, lzo, libX11, libXv, libXrandr, libXvMC, libXinerama, libXxf86vm
, libXmu , yasm, libuuid, taglib, libtool, autoconf, automake, file, exiv2, linuxHeaders, soundtouch, libzip , libXmu , yasm, libuuid, taglib, libtool, autoconf, automake, file, exiv2, linuxHeaders
, soundtouch, libzip, libhdhomerun
, withWebKit ? false , withWebKit ? false
}: }:
@@ -35,6 +36,7 @@ mkDerivation rec {
freetype qtbase qtscript lame zlib libGLU libGL freetype qtbase qtscript lame zlib libGLU libGL
perl libsamplerate libbluray lzo alsa-lib libpulseaudio fftwSinglePrec libX11 libXv libXrandr libXvMC perl libsamplerate libbluray lzo alsa-lib libpulseaudio fftwSinglePrec libX11 libXv libXrandr libXvMC
libXmu libXinerama libXxf86vm libXmu libuuid taglib exiv2 soundtouch libzip libXmu libXinerama libXxf86vm libXmu libuuid taglib exiv2 soundtouch libzip
libhdhomerun
] ++ lib.optional withWebKit qtwebkit; ] ++ lib.optional withWebKit qtwebkit;
nativeBuildInputs = [ pkg-config which yasm libtool autoconf automake file ]; nativeBuildInputs = [ pkg-config which yasm libtool autoconf automake file ];
@@ -7,13 +7,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "obs-move-transition"; pname = "obs-move-transition";
version = "2.7.1"; version = "2.8.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "exeldro"; owner = "exeldro";
repo = "obs-move-transition"; repo = "obs-move-transition";
rev = version; rev = version;
sha256 = "sha256-zWHQ01iNTlqSAKcmsDCUZPXmmBIpqY/ZDftD5J6kp80="; sha256 = "sha256-v4mAv4dqurM2S4/vM1APge0xoMLnOaigGU15vjNxxSo=";
}; };
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];
@@ -1,16 +1,11 @@
{ stdenv { stdenv
, bazel
, cacert , cacert
, lib , lib
}: }:
let
bazelPkg = bazel;
in
args@{ args@{
name ? "${args.pname}-${args.version}" name ? "${args.pname}-${args.version}"
, bazel ? bazelPkg , bazel
, bazelFlags ? [] , bazelFlags ? []
, bazelBuildFlags ? [] , bazelBuildFlags ? []
, bazelTestFlags ? [] , bazelTestFlags ? []
+3 -3
View File
@@ -372,11 +372,11 @@ stdenv.mkDerivation {
echo "-isystem $dir" >> $out/nix-support/libcxx-cxxflags echo "-isystem $dir" >> $out/nix-support/libcxx-cxxflags
done done
'' ''
+ optionalString (libcxx.isLLVM or false) ('' + optionalString (libcxx.isLLVM or false) ''
echo "-isystem ${lib.getDev libcxx}/include/c++/v1" >> $out/nix-support/libcxx-cxxflags echo "-isystem ${lib.getDev libcxx}/include/c++/v1" >> $out/nix-support/libcxx-cxxflags
echo "-stdlib=libc++" >> $out/nix-support/libcxx-ldflags echo "-stdlib=libc++" >> $out/nix-support/libcxx-ldflags
echo "-lc++abi" >> $out/nix-support/libcxx-ldflags echo "-l${libcxx.cxxabi.libName}" >> $out/nix-support/libcxx-ldflags
'') ''
## ##
## Initial CFLAGS ## Initial CFLAGS
+17 -12
View File
@@ -1,27 +1,32 @@
{ lib, fetchzip }: { lib, stdenvNoCC, fetchzip }:
let let
majorVersion = "0"; majorVersion = "0";
minorVersion = "102"; minorVersion = "102";
pname = "aileron";
in in
stdenvNoCC.mkDerivation (self: {
pname = "aileron";
version = "${majorVersion}.${minorVersion}";
fetchzip { src = fetchzip {
name = "${pname}-font-${majorVersion}.${minorVersion}"; url = "https://dotcolon.net/download/fonts/${self.pname}_${majorVersion}${minorVersion}.zip";
hash = "sha256-Ht48gwJZrn0djo1yl6jHZ4+0b710FVwStiC1Zk5YXME=";
stripRoot = false;
};
url = "http://dotcolon.net/DL/font/${pname}.zip"; installPhase = ''
sha256 = "04xnzdy9plzd2p02yq367h37m5ygx0w8cpkdv39cc3754ljlsxim"; runHook preInstall
postFetch = '' install -D -m444 -t $out/share/fonts/opentype $src/*.otf
mkdir -p $out/share/fonts/opentype/${pname}
unzip -j $downloadedFile \*.otf -d $out/share/fonts/opentype/${pname} runHook postInstall
''; '';
meta = with lib; { meta = with lib; {
homepage = "http://dotcolon.net/font/${pname}/"; homepage = "http://dotcolon.net/font/${self.pname}/";
description = "A helvetica font in nine weights"; description = "A helvetica font in nine weights";
platforms = platforms.all; platforms = platforms.all;
maintainers = with maintainers; [ leenaars ]; maintainers = with maintainers; [ leenaars minijackson ];
license = licenses.cc0; license = licenses.cc0;
}; };
} })
+13 -9
View File
@@ -1,19 +1,23 @@
{ lib, fetchzip }: { lib, stdenvNoCC, fetchzip }:
fetchzip rec { stdenvNoCC.mkDerivation rec {
pname = "alkalami"; pname = "alkalami";
version = "2.000"; version = "2.000";
url = "https://software.sil.org/downloads/r/alkalami/Alkalami-${version}.zip"; src = fetchzip {
url = "https://software.sil.org/downloads/r/alkalami/Alkalami-${version}.zip";
hash = "sha256-rT0HzTFbooHr+l5BQ9GVYKxxNk7TESdkOQfWBeVpwYI=";
};
installPhase = ''
runHook preInstall
postFetch = ''
rm -rf $out/web $out/manifest.json
mkdir -p $out/share/{doc/${pname},fonts/truetype} mkdir -p $out/share/{doc/${pname},fonts/truetype}
mv $out/*.ttf $out/share/fonts/truetype/ mv *.ttf $out/share/fonts/truetype/
mv $out/*.txt $out/documentation $out/share/doc/${pname}/ mv *.txt documentation $out/share/doc/${pname}/
'';
sha256 = "sha256-GjX3YOItLKSMlRjUbBgGp2D7QS/pOJQYuQJzW+iqBNo="; runHook postInstall
'';
meta = with lib; { meta = with lib; {
homepage = "https://software.sil.org/alkalami/"; homepage = "https://software.sil.org/alkalami/";
+14 -11
View File
@@ -1,20 +1,23 @@
{ lib, fetchzip }: { lib, stdenvNoCC, fetchzip }:
let stdenvNoCC.mkDerivation rec {
pname = "amiri";
version = "1.000"; version = "1.000";
in fetchzip rec { src = fetchzip {
name = "Amiri-${version}"; url = "https://github.com/alif-type/amiri/releases/download/${version}/Amiri-${version}.zip";
hash = "sha256-WXxKLYIIKe01WWZrI1aLOv65wRgn7aqHl6Codf4foVw=";
};
url = "https://github.com/alif-type/amiri/releases/download/${version}/${name}.zip"; installPhase = ''
runHook preInstall
sha256 = "sha256-hG6m/zsGoGF5/xhHz9EHVL9Sg9dlQqfXpQ/lqNyI1vU=";
postFetch = ''
mkdir -p $out/share/fonts/truetype mkdir -p $out/share/fonts/truetype
mv $out/*.ttf $out/share/fonts/truetype/ mv *.ttf $out/share/fonts/truetype/
mkdir -p $out/share/doc/${name} mkdir -p $out/share/doc/${pname}-${version}
mv $out/{*.html,*.txt,*.md} $out/share/doc/${name}/ mv {*.html,*.txt,*.md} $out/share/doc/${pname}-${version}/
runHook postInstall
''; '';
meta = with lib; { meta = with lib; {
+15 -9
View File
@@ -1,17 +1,23 @@
{ lib, fetchzip }: { lib, stdenvNoCC, fetchzip }:
let version = "1.100"; in stdenvNoCC.mkDerivation rec {
fetchzip { pname = "ankacoder-condensed";
name = "ankacoder-condensed-${version}"; version = "1.100";
url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/anka-coder-fonts/AnkaCoderCondensed.${version}.zip";
src = fetchzip {
url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/anka-coder-fonts/AnkaCoderCondensed.${version}.zip";
stripRoot = false;
hash = "sha256-NHrkV4Sb7i+DC4e4lToEYzah3pI+sKyYf2rGbhWj7iY=";
};
installPhase = ''
runHook preInstall
postFetch = ''
unzip $downloadedFile
mkdir -p $out/share/fonts/truetype mkdir -p $out/share/fonts/truetype
cp *.ttf $out/share/fonts/truetype cp *.ttf $out/share/fonts/truetype
'';
sha256 = "0i80zpr2y9368rg2i6x8jv0g7d03kdyr5h7w9yz7pjd7i9xd8439"; runHook postInstall
'';
meta = with lib; { meta = with lib; {
description = "Anka/Coder Condensed font"; description = "Anka/Coder Condensed font";
+15 -10
View File
@@ -1,17 +1,22 @@
{ lib, fetchzip }: { lib, stdenvNoCC, fetchzip }:
let stdenvNoCC.mkDerivation rec {
pname = "anonymouspro";
version = "1.002"; version = "1.002";
in fetchzip rec {
name = "anonymousPro-${version}";
url = "http://www.marksimonson.com/assets/content/fonts/AnonymousPro-${version}.zip"; src = fetchzip {
postFetch = '' url = "https://www.marksimonson.com/assets/content/fonts/AnonymousPro-${lib.replaceStrings ["."] ["_"] version}.zip";
mkdir -p $out/share/{doc,fonts} hash = "sha256-FhyzV4By8XKN9EyukAknzml/7lUuV6Evnt6Ht3H6TUU=";
unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype };
unzip -j $downloadedFile \*.txt -d "$out/share/doc/${name}"
installPhase = ''
runHook preInstall
install -Dm644 *.ttf -t $out/share/fonts/truetype
install -Dm644 *.txt -t $out/share/doc/${pname}-${version}
runHook postInstall
''; '';
sha256 = "05rgzag38qc77b31sm5i2vwwrxbrvwzfsqh3slv11skx36pz337f";
meta = with lib; { meta = with lib; {
homepage = "https://www.marksimonson.com/fonts/view/anonymous-pro"; homepage = "https://www.marksimonson.com/fonts/view/anonymous-pro";
+41 -20
View File
@@ -1,22 +1,33 @@
{ lib, fetchzip, mkfontscale, mkfontdir }: { lib, stdenvNoCC, fetchurl, mkfontdir, mkfontscale }:
let let
version = "0.2.20080216.2"; version = "0.2.20080216.2";
in { in
arphic-ukai = fetchzip { {
name = "arphic-ukai-${version}"; arphic-ukai = stdenvNoCC.mkDerivation rec {
pname = "arphic-ukai";
inherit version;
url = "mirror://ubuntu/pool/main/f/fonts-arphic-ukai/fonts-arphic-ukai_${version}.orig.tar.bz2"; src = fetchurl {
url = "mirror://ubuntu/pool/main/f/fonts-${pname}/fonts-${pname}_${version}.orig.tar.bz2";
hash = "sha256-tJaNc1GfT4dH6FVI+4XSG2Zdob8bqQCnxJmXbmqK49I=";
};
nativeBuildInputs = [
mkfontscale
mkfontdir
];
installPhase = ''
runHook preInstall
postFetch = ''
tar -xjvf $downloadedFile --strip-components=1
install -D -v ukai.ttc $out/share/fonts/truetype/arphic-ukai.ttc install -D -v ukai.ttc $out/share/fonts/truetype/arphic-ukai.ttc
cd $out/share/fonts cd $out/share/fonts
${mkfontdir}/bin/mkfontdir mkfontdir
${mkfontscale}/bin/mkfontscale mkfontscale
'';
sha256 = "0xi5ycm7ydzpn7cqxv1kcj9vd70nr9wn8v27hmibyjc25y2qdmzl"; runHook postInstall
'';
meta = with lib; { meta = with lib; {
description = "CJK Unicode font Kai style"; description = "CJK Unicode font Kai style";
@@ -28,20 +39,30 @@ in {
}; };
}; };
arphic-uming = fetchzip { arphic-uming = stdenvNoCC.mkDerivation rec {
name = "arphic-uming-${version}"; pname = "arphic-uming";
inherit version;
url = "mirror://ubuntu/pool/main/f/fonts-arphic-uming/fonts-arphic-uming_${version}.orig.tar.bz2"; src = fetchurl {
url = "mirror://ubuntu/pool/main/f/fonts-${pname}/fonts-${pname}_${version}.orig.tar.bz2";
hash = "sha256-48GeBOp6VltKz/bx5CSAhNLhB1LjBb991sdugIYNwds=";
};
nativeBuildInputs = [
mkfontscale
mkfontdir
];
installPhase = ''
runHook preInstall
postFetch = ''
tar -xjvf $downloadedFile --strip-components=1
install -D -v uming.ttc $out/share/fonts/truetype/arphic-uming.ttc install -D -v uming.ttc $out/share/fonts/truetype/arphic-uming.ttc
cd $out/share/fonts cd $out/share/fonts
${mkfontdir}/bin/mkfontdir mkfontdir
${mkfontscale}/bin/mkfontscale mkfontscale
'';
sha256 = "16jybvj1cxamm682caj6nsm6l5c60x9mgchp1l2izrw2rvc8x38d"; runHook postInstall
'';
meta = with lib; { meta = with lib; {
description = "CJK Unicode font Ming style"; description = "CJK Unicode font Ming style";
+15 -9
View File
@@ -1,15 +1,22 @@
{ fetchzip }: { lib, stdenvNoCC, fetchurl }:
fetchzip rec { stdenvNoCC.mkDerivation rec {
name = "baekmuk-ttf-2.2"; pname = "baekmuk-ttf";
version = "2.2";
src = fetchurl {
url = "http://kldp.net/baekmuk/release/865-${pname}-${version}.tar.gz";
hash = "sha256-CKt9/7VdWIfMlCzjcPXjO3VqVfu06vC5DyRAcOjVGII=";
};
installPhase = ''
runHook preInstall
url = "http://kldp.net/baekmuk/release/865-${name}.tar.gz";
postFetch = ''
tar -xzvf $downloadedFile --strip-components=1
install -m444 -Dt $out/share/fonts ttf/*.ttf install -m444 -Dt $out/share/fonts ttf/*.ttf
install -m444 -Dt $out/share/doc/${name} COPYRIGHT* install -m444 -Dt $out/share/doc/${pname}-${version} COPYRIGHT*
runHook postInstall
''; '';
sha256 = "1jgsvack1l14q8lbcv4qhgbswi30mf045k37rl772hzcmx0r206g";
meta = { meta = {
description = "Korean font"; description = "Korean font";
@@ -17,4 +24,3 @@ fetchzip rec {
license = "BSD-like"; license = "BSD-like";
}; };
} }
+14 -8
View File
@@ -1,17 +1,23 @@
{ fetchzip }: { lib, stdenvNoCC, fetchurl }:
fetchzip { stdenvNoCC.mkDerivation rec {
name = "bakoma-ttf"; pname = "bakoma-ttf";
version = "2.2";
url = "http://tarballs.nixos.org/sha256/1j1y3cq6ys30m734axc0brdm2q9n2as4h32jws15r7w5fwr991km"; src = fetchurl {
name = "${pname}.tar.bz2";
url = "http://tarballs.nixos.org/sha256/1j1y3cq6ys30m734axc0brdm2q9n2as4h32jws15r7w5fwr991km";
hash = "sha256-dYaUMneFn1yC5lIMSLQSNmFRW16AdUXGqWBobzAbPsg=";
};
installPhase = ''
runHook preInstall
postFetch = ''
tar xjvf $downloadedFile --strip-components=1
mkdir -p $out/share/fonts/truetype mkdir -p $out/share/fonts/truetype
cp ttf/*.ttf $out/share/fonts/truetype cp ttf/*.ttf $out/share/fonts/truetype
'';
sha256 = "0g7i723n00cqx2va05z1h6v3a2ar69gqw4hy6pjj7m0ml906rngc"; runHook postInstall
'';
meta = { meta = {
description = "TrueType versions of the Computer Modern and AMS TeX Fonts"; description = "TrueType versions of the Computer Modern and AMS TeX Fonts";
+14 -9
View File
@@ -1,19 +1,24 @@
{ lib, fetchzip }: { lib, stdenvNoCC, fetchurl }:
let stdenvNoCC.mkDerivation rec {
pname = "caladea";
version = "20130214"; version = "20130214";
in fetchzip {
name = "caladea-${version}";
url = "https://commondatastorage.googleapis.com/chromeos-localmirror/distfiles/crosextrafonts-${version}.tar.gz"; src = fetchurl {
postFetch = '' url = "https://commondatastorage.googleapis.com/chromeos-localmirror/distfiles/crosextrafonts-${version}.tar.gz";
tar -xzvf $downloadedFile --strip-components=1 hash = "sha256-xI0cL9YTycBslZw02nuDiAWeJAjSuxmEXcPtNfduTQk=";
};
installPhase = ''
runHook preInstall
mkdir -p $out/etc/fonts/conf.d mkdir -p $out/etc/fonts/conf.d
mkdir -p $out/share/fonts/truetype mkdir -p $out/share/fonts/truetype
cp -v *.ttf $out/share/fonts/truetype cp -v *.ttf $out/share/fonts/truetype
cp -v ${./cambria-alias.conf} $out/etc/fonts/conf.d/30-cambria.conf cp -v ${./cambria-alias.conf} $out/etc/fonts/conf.d/30-cambria.conf
runHook postInstall
''; '';
sha256 = "0kwm42ggr8kvcn3554cpmv90xzam1sdncx7x3zs3bzp88mxrnv1z";
meta = with lib; { meta = with lib; {
# This font doesn't appear to have any official web site but this # This font doesn't appear to have any official web site but this
@@ -27,7 +32,7 @@ in fetchzip {
''; '';
license = licenses.asl20; license = licenses.asl20;
platforms = platforms.all; platforms = platforms.all;
maintainers = [maintainers.rycee]; maintainers = [ maintainers.rycee ];
# Reduce the priority of this package. The intent is that if you # Reduce the priority of this package. The intent is that if you
# also install the `vista-fonts` package, then you probably will # also install the `vista-fonts` package, then you probably will
+15 -12
View File
@@ -1,19 +1,22 @@
{ lib, fetchzip }: { lib, stdenvNoCC, fetchzip }:
let stdenvNoCC.mkDerivation rec {
pname = "camingo-code";
version = "1.0"; version = "1.0";
in fetchzip rec {
name = "camingo-code-${version}";
url = "https://github.com/chrissimpkins/codeface/releases/download/font-collection/codeface-fonts.zip"; src = fetchzip {
postFetch = '' url = "https://github.com/chrissimpkins/codeface/releases/download/font-collection/codeface-fonts.zip";
install -Dm644 $out/camingo-code/*.ttf -t $out/share/fonts/truetype hash = "sha256-oo5pWDq6h0bmyGvfF9Bkh7WyjKX4dG8uclfIsWLhDw8=";
install -Dm644 $out/camingo-code/*.txt -t $out/share/doc/${name} };
shopt -s extglob dotglob
rm -rf $out/!(share) installPhase = ''
shopt -u extglob dotglob runHook preInstall
install -Dm644 camingo-code/*.ttf -t $out/share/fonts/truetype
install -Dm644 camingo-code/*.txt -t $out/share/doc/${pname}-${version}
runHook postInstall
''; '';
sha256 = "sha256-/vDNuR034stmiCZ9jUH5DlTQJn0WccLY5treoziXOJo=";
meta = with lib; { meta = with lib; {
homepage = "https://www.myfonts.com/fonts/jan-fromm/camingo-code/"; homepage = "https://www.myfonts.com/fonts/jan-fromm/camingo-code/";
+13 -11
View File
@@ -1,20 +1,22 @@
{ fetchzip, lib }: { lib, stdenvNoCC, fetchzip }:
let stdenvNoCC.mkDerivation {
pname = "cardo";
version = "1.04"; version = "1.04";
in
fetchzip {
name = "cardo-${version}";
url = "http://scholarsfonts.net/cardo104.zip"; src = fetchzip {
url = "https://scholarsfonts.net/cardo104.zip";
stripRoot = false;
hash = "sha256-NU6/H5f0JBlVo3L3uUcl7IvNxPMXD8UQY9k5o2YA5Vo=";
};
hash = "sha256-eBK6+VQpreWA7jIneNXOcKFcT+cJzhoQ9XXyq93SZ8M="; installPhase = ''
stripRoot = false; runHook preInstall
postFetch = ''
mkdir -p $out/share/fonts/truetype mkdir -p $out/share/fonts/truetype
mv $out/*.ttf $out/share/fonts/truetype mv *.ttf $out/share/fonts/truetype
rm $out/*.pdf
runHook postInstall
''; '';
meta = with lib; { meta = with lib; {
+5 -5
View File
@@ -1,18 +1,18 @@
{ lib, fetchzip, stdenvNoCC }: { lib, fetchurl, stdenvNoCC }:
stdenvNoCC.mkDerivation rec { stdenvNoCC.mkDerivation rec {
pname = "carlito"; pname = "carlito";
version = "20130920"; version = "20130920";
src = fetchzip { src = fetchurl {
url = "https://commondatastorage.googleapis.com/chromeos-localmirror/distfiles/crosextrafonts-carlito-${version}.tar.gz"; url = "https://commondatastorage.googleapis.com/chromeos-localmirror/distfiles/crosextrafonts-carlito-${version}.tar.gz";
sha256 = "sha256-OGDO5WoF7OmiRdLRRrIXMzg276Pgeq1L3Offcl0W2jg="; sha256 = "sha256-S9ErbLwyHBzxbaduLFhcklzpVqCAZ65vbGTv9sz9r1o=";
}; };
installPhase = '' installPhase = ''
mkdir -p $out/etc/fonts/conf.d mkdir -p $out/etc/fonts/conf.d
mkdir -p $out/share/fonts/truetype mkdir -p $out/share/fonts/truetype
cp -v $src/*.ttf $out/share/fonts/truetype cp -v *.ttf $out/share/fonts/truetype
cp -v ${./calibri-alias.conf} $out/etc/fonts/conf.d/30-calibri.conf cp -v ${./calibri-alias.conf} $out/etc/fonts/conf.d/30-calibri.conf
''; '';
@@ -28,7 +28,7 @@ stdenvNoCC.mkDerivation rec {
''; '';
license = licenses.ofl; license = licenses.ofl;
platforms = platforms.all; platforms = platforms.all;
maintainers = [maintainers.rycee]; maintainers = [ maintainers.rycee ];
# Reduce the priority of this package. The intent is that if you # Reduce the priority of this package. The intent is that if you
# also install the `vista-fonts` package, then you probably will # also install the `vista-fonts` package, then you probably will
+13 -10
View File
@@ -1,19 +1,22 @@
{ lib, fetchzip }: { lib, stdenvNoCC, fetchurl }:
let stdenvNoCC.mkDerivation rec {
pname = "cm-unicode";
version = "0.7.0"; version = "0.7.0";
in fetchzip rec {
name = "cm-unicode-${version}";
url = "mirror://sourceforge/cm-unicode/cm-unicode/${version}/${name}-otf.tar.xz"; src = fetchurl {
url = "mirror://sourceforge/cm-unicode/cm-unicode/${version}/${pname}-${version}-otf.tar.xz";
hash = "sha256-VIp+vk1IYbEHW15wMrfGVOPqg1zBZDpgFx+jlypOHCg=";
};
installPhase = ''
runHook preInstall
postFetch = ''
tar -xJvf $downloadedFile --strip-components=1
install -m444 -Dt $out/share/fonts/opentype *.otf install -m444 -Dt $out/share/fonts/opentype *.otf
install -m444 -Dt $out/share/doc/${name} README FontLog.txt install -m444 -Dt $out/share/doc/${pname}-${version} README FontLog.txt
'';
sha256 = "1rzz7yhqq3lljyqxbg46jfzfd09qgpgx865lijr4sgc94riy1ypn"; runHook postInstall
'';
meta = with lib; { meta = with lib; {
homepage = "https://cm-unicode.sourceforge.io/"; homepage = "https://cm-unicode.sourceforge.io/";
+12 -8
View File
@@ -1,18 +1,22 @@
{ lib, fetchzip }: { lib, stdenvNoCC, fetchzip }:
fetchzip rec { stdenvNoCC.mkDerivation rec {
pname = "cooper-hewitt"; pname = "cooper-hewitt";
version = "unstable-2014-06-09"; version = "unstable-2014-06-09";
url = "https://web.archive.org/web/20221004145117/https://www.cooperhewitt.org/wp-content/uploads/fonts/CooperHewitt-OTF-public.zip"; src = fetchzip {
url = "https://web.archive.org/web/20221004145117/https://www.cooperhewitt.org/wp-content/uploads/fonts/CooperHewitt-OTF-public.zip";
hash = "sha256-bTlEXQeYNNspvnNdvQhJn6CNBrcSKYWuNWF/N6+3Vb0=";
};
installPhase = ''
runHook preInstall
postFetch = ''
mkdir -p $out/share/fonts/opentype mkdir -p $out/share/fonts/opentype
mv $out/*.otf $out/share/fonts/opentype mv *.otf $out/share/fonts/opentype
find $out -maxdepth 1 ! -type d -exec rm {} +
'';
sha256 = "01iwqmjvqkc6fmc2r0486vk06s6f51n9wxzl1pf9z48n0igj4gqd"; runHook postInstall
'';
meta = with lib; { meta = with lib; {
homepage = "https://www.cooperhewitt.org/open-source-at-cooper-hewitt/cooper-hewitt-the-typeface-by-chester-jenkins/"; homepage = "https://www.cooperhewitt.org/open-source-at-cooper-hewitt/cooper-hewitt-the-typeface-by-chester-jenkins/";
-2
View File
@@ -13,8 +13,6 @@ stdenv.mkDerivation {
hash = "sha256-3zFB1AMcC7eNEVA2Mx1OE8rLN9zPzexZ3FtER9wH5ss="; hash = "sha256-3zFB1AMcC7eNEVA2Mx1OE8rLN9zPzexZ3FtER9wH5ss=";
}; };
dontBuild = true;
installPhase = '' installPhase = ''
runHook preInstall runHook preInstall
+16 -11
View File
@@ -1,25 +1,30 @@
{ lib, fetchzip }: { lib, stdenvNoCC, fetchFromGitHub }:
let stdenvNoCC.mkDerivation rec {
pname = "crimson";
version = "2014.10"; version = "2014.10";
in fetchzip rec {
name = "crimson-${version}";
url = "https://github.com/skosch/Crimson/archive/fonts-october2014.tar.gz"; src = fetchFromGitHub {
owner = "skosch";
repo = "Crimson";
rev = "fonts-october2014";
hash = "sha256-Wp9L77q93TRmrAr0P4iH9gm0tqFY0X/xSsuFcd19aAE=";
};
installPhase = ''
runHook preInstall
postFetch = ''
tar -xzvf $downloadedFile --strip-components=1
install -m444 -Dt $out/share/fonts/opentype "Desktop Fonts/OTF/"*.otf install -m444 -Dt $out/share/fonts/opentype "Desktop Fonts/OTF/"*.otf
install -m444 -Dt $out/share/doc/${name} README.md install -m444 -Dt $out/share/doc/${pname}-${version} README.md
'';
sha256 = "0mg65f0ydyfmb43jqr1f34njpd10w8npw15cbb7z0nxmy4nkl842"; runHook postInstall
'';
meta = with lib; { meta = with lib; {
homepage = "https://github.com/skosch/Crimson"; homepage = "https://github.com/skosch/Crimson";
description = "A font family inspired by beautiful oldstyle typefaces"; description = "A font family inspired by beautiful oldstyle typefaces";
license = licenses.ofl; license = licenses.ofl;
platforms = platforms.all; platforms = platforms.all;
maintainers = [maintainers.rycee]; maintainers = [ maintainers.rycee ];
}; };
} }
+14 -8
View File
@@ -1,12 +1,17 @@
{ lib, fetchzip }: { lib, stdenvNoCC, fetchurl }:
let stdenvNoCC.mkDerivation rec {
pname = "culmus";
version = "0.133"; version = "0.133";
in fetchzip {
name = "culmus-${version}"; src = fetchurl {
url = "mirror://sourceforge/culmus/culmus/${version}/culmus-${version}.tar.gz"; url = "mirror://sourceforge/${pname}/${pname}/${version}/${pname}-${version}.tar.gz";
postFetch = '' hash = "sha256-wMaHN0LQdUT2us8q1S65yzkpdNVkJ5ONwd+8g5nGTQU=";
tar xf $downloadedFile --strip=1 };
installPhase = ''
runHook preInstall
mkdir -p $out/share/fonts/{truetype,type1} mkdir -p $out/share/fonts/{truetype,type1}
cp -v *.pfa $out/share/fonts/type1/ cp -v *.pfa $out/share/fonts/type1/
cp -v *.afm $out/share/fonts/type1/ cp -v *.afm $out/share/fonts/type1/
@@ -14,8 +19,9 @@ in fetchzip {
cp -v *.ttf $out/share/fonts/truetype/ cp -v *.ttf $out/share/fonts/truetype/
cp -v *.otf $out/share/fonts/truetype/ cp -v *.otf $out/share/fonts/truetype/
cp -v fonts.scale-ttf $out/share/fonts/truetype/fonts.scale cp -v fonts.scale-ttf $out/share/fonts/truetype/fonts.scale
runHook postInstall
''; '';
sha256 = "0zqqjcrqmbd4389hqz2dwymkkcxjrq9ylyriiv3gbmzl6l1ffk3g";
meta = { meta = {
description = "Culmus Hebrew fonts"; description = "Culmus Hebrew fonts";
+16 -9
View File
@@ -1,15 +1,22 @@
{ lib, fetchzip }: { lib, stdenvNoCC, fetchzip }:
let version = "1.002"; in
fetchzip { stdenvNoCC.mkDerivation rec {
inherit version;
pname = "dm-sans"; pname = "dm-sans";
url = "https://github.com/googlefonts/dm-fonts/releases/download/v${version}/DeepMindSans_v${version}.zip"; version = "1.002";
stripRoot = false;
hash = "sha256-zyS0gz7CGn39HCiyeN5cAP63v9nG6jffGSsI1vr84EQ="; src = fetchzip {
url = "https://github.com/googlefonts/dm-fonts/releases/download/v${version}/DeepMindSans_v${version}.zip";
stripRoot = false;
hash = "sha256-RSHHxiCac18qqF+hW5M3BbBcra4AQpNLLlUmhiWj9f8=";
};
installPhase = ''
runHook preInstall
postFetch = ''
mkdir -p $out/share/fonts/truetype mkdir -p $out/share/fonts/truetype
mv $out/*.ttf $out/share/fonts/truetype mv *.ttf $out/share/fonts/truetype
runHook postInstall
''; '';
meta = { meta = {
@@ -0,0 +1,49 @@
{ lib
, symlinkJoin
, aileron
, vegur
, f5_6
, tenderness
, medio
, ferrum
, seshat
, penna
, eunomia
, route159
, f1_8
, nacelle
, melete
, fa_1
}:
symlinkJoin {
name = "dotcolon-fonts";
paths = [
aileron
vegur
f5_6
tenderness
medio
ferrum
seshat
penna
eunomia
route159
f1_8
nacelle
melete
fa_1
];
meta = {
description = "Font Collection by Sora Sagano";
homepage = "https://dotcolon.net/";
license = with lib.licenses; [ cc0 ofl ];
platforms = lib.platforms.all;
maintainers = with lib.maintainers; [ minijackson ];
};
}
+3 -3
View File
@@ -1,12 +1,12 @@
{ lib, stdenv, fetchzip, libfaketime, xorg }: { lib, stdenv, fetchurl, libfaketime, xorg }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "efont-unicode"; pname = "efont-unicode";
version = "0.4.2"; version = "0.4.2";
src = fetchzip { src = fetchurl {
url = "http://openlab.ring.gr.jp/efont/dist/unicode-bdf/${pname}-bdf-${version}.tar.bz2"; url = "http://openlab.ring.gr.jp/efont/dist/unicode-bdf/${pname}-bdf-${version}.tar.bz2";
sha256 = "0bib3jgikq8s1m96imw4mlgbl5cbq1bs5sqig74s2l2cdfx3jaqc"; sha256 = "sha256-fT7SsYlV3dCQrf0IZfiNI1grj3ngDgr8IkWdg+f9m3M=";
}; };
nativeBuildInputs = with xorg; nativeBuildInputs = with xorg;
+16 -11
View File
@@ -1,27 +1,32 @@
{ lib, fetchzip }: { lib, stdenvNoCC, fetchzip }:
let let
majorVersion = "0"; majorVersion = "0";
minorVersion = "200"; minorVersion = "200";
pname = "eunomia";
in in
stdenvNoCC.mkDerivation (self: {
pname = "eunomia";
version = "${majorVersion}.${minorVersion}";
fetchzip { src = fetchzip {
name = "${pname}-font-${majorVersion}.${minorVersion}"; url = "https://dotcolon.net/download/fonts/${self.pname}_${majorVersion}${minorVersion}.zip";
hash = "sha256-Rd2EakaTWjzoEV00tHTgg/bXgJUFfPjCyQUWi7QhFG4=";
stripRoot = false;
};
url = "http://dotcolon.net/DL/font/${pname}_${majorVersion}${minorVersion}.zip"; installPhase = ''
sha256 = "0lpmczs1d4p9dy4s0dnvv7bl5cd0f6yzyasfrkxij5s86glps38b"; runHook preInstall
postFetch = '' install -D -m444 -t $out/share/fonts/opentype $src/*.otf
mkdir -p $out/share/fonts/opentype/${pname}
unzip -j $downloadedFile \*.otf -d $out/share/fonts/opentype/${pname} runHook postInstall
''; '';
meta = with lib; { meta = with lib; {
homepage = "http://dotcolon.net/font/eunomia/"; homepage = "http://dotcolon.net/font/eunomia/";
description = "A futuristic decorative font"; description = "A futuristic decorative font";
platforms = platforms.all; platforms = platforms.all;
maintainers = with maintainers; [ leenaars ]; maintainers = with maintainers; [ leenaars minijackson ];
license = licenses.ofl; license = licenses.ofl;
}; };
} })

Some files were not shown because too many files have changed in this diff Show More