Merge master into staging-next
This commit is contained in:
commit
9fe75f18c0
@ -560,6 +560,22 @@
|
||||
<literal>claws-mail-gtk2</literal> package.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
The wordpress module provides a new interface which allows to
|
||||
use different webservers with the new option
|
||||
<link xlink:href="options.html#opt-services.wordpress.webserver"><literal>services.wordpress.webserver</literal></link>.
|
||||
Currently <literal>httpd</literal> and
|
||||
<literal>nginx</literal> are supported. The definitions of
|
||||
wordpress sites should now be set in
|
||||
<link xlink:href="options.html#opt-services.wordpress.sites"><literal>services.wordpress.sites</literal></link>.
|
||||
</para>
|
||||
<para>
|
||||
Sites definitions that use the old interface are automatically
|
||||
migrated in the new option. This backward compatibility will
|
||||
be removed in 22.05.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</section>
|
||||
</section>
|
||||
|
@ -139,3 +139,7 @@ In addition to numerous new and upgraded packages, this release has the followin
|
||||
- `python3` now defaults to Python 3.9. Python 3.9 introduces many deprecation warnings, please look at the [What's New In Python 3.9 post](https://docs.python.org/3/whatsnew/3.9.html) for more information.
|
||||
|
||||
- The `claws-mail` package now references the new GTK+ 3 release branch, major version 4. To use the GTK+ 2 releases, one can install the `claws-mail-gtk2` package.
|
||||
|
||||
- The wordpress module provides a new interface which allows to use different webservers with the new option [`services.wordpress.webserver`](options.html#opt-services.wordpress.webserver). Currently `httpd` and `nginx` are supported. The definitions of wordpress sites should now be set in [`services.wordpress.sites`](options.html#opt-services.wordpress.sites).
|
||||
|
||||
Sites definitions that use the old interface are automatically migrated in the new option. This backward compatibility will be removed in 22.05.
|
||||
|
@ -3,13 +3,18 @@
|
||||
let
|
||||
inherit (lib) mkDefault mkEnableOption mkForce mkIf mkMerge mkOption types;
|
||||
inherit (lib) any attrValues concatMapStringsSep flatten literalExample;
|
||||
inherit (lib) mapAttrs mapAttrs' mapAttrsToList nameValuePair optional optionalAttrs optionalString;
|
||||
inherit (lib) filterAttrs mapAttrs mapAttrs' mapAttrsToList nameValuePair optional optionalAttrs optionalString;
|
||||
|
||||
eachSite = config.services.wordpress;
|
||||
cfg = migrateOldAttrs config.services.wordpress;
|
||||
eachSite = cfg.sites;
|
||||
user = "wordpress";
|
||||
group = config.services.httpd.group;
|
||||
webserver = config.services.${cfg.webserver};
|
||||
stateDir = hostName: "/var/lib/wordpress/${hostName}";
|
||||
|
||||
# Migrate config.services.wordpress.<hostName> to config.services.wordpress.sites.<hostName>
|
||||
oldSites = filterAttrs (o: _: o != "sites" && o != "webserver");
|
||||
migrateOldAttrs = cfg: cfg // { sites = cfg.sites // oldSites cfg; };
|
||||
|
||||
pkg = hostName: cfg: pkgs.stdenv.mkDerivation rec {
|
||||
pname = "wordpress-${hostName}";
|
||||
version = src.version;
|
||||
@ -261,21 +266,48 @@ in
|
||||
# interface
|
||||
options = {
|
||||
services.wordpress = mkOption {
|
||||
type = types.attrsOf (types.submodule siteOpts);
|
||||
type = types.submodule {
|
||||
# Used to support old interface
|
||||
freeformType = types.attrsOf (types.submodule siteOpts);
|
||||
|
||||
# New interface
|
||||
options.sites = mkOption {
|
||||
type = types.attrsOf (types.submodule siteOpts);
|
||||
default = {};
|
||||
description = "Specification of one or more WordPress sites to serve";
|
||||
};
|
||||
|
||||
options.webserver = mkOption {
|
||||
type = types.enum [ "httpd" "nginx" ];
|
||||
default = "httpd";
|
||||
description = ''
|
||||
Whether to use apache2 or nginx for virtual host management.
|
||||
|
||||
Further nginx configuration can be done by adapting <literal>services.nginx.virtualHosts.<name></literal>.
|
||||
See <xref linkend="opt-services.nginx.virtualHosts"/> for further information.
|
||||
|
||||
Further apache2 configuration can be done by adapting <literal>services.httpd.virtualHosts.<name></literal>.
|
||||
See <xref linkend="opt-services.httpd.virtualHosts"/> for further information.
|
||||
'';
|
||||
};
|
||||
};
|
||||
default = {};
|
||||
description = "Specification of one or more WordPress sites to serve via Apache.";
|
||||
description = "Wordpress configuration";
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
# implementation
|
||||
config = mkIf (eachSite != {}) {
|
||||
config = mkIf (eachSite != {}) (mkMerge [{
|
||||
|
||||
assertions = mapAttrsToList (hostName: cfg:
|
||||
{ assertion = cfg.database.createLocally -> cfg.database.user == user;
|
||||
message = "services.wordpress.${hostName}.database.user must be ${user} if the database is to be automatically provisioned";
|
||||
message = ''services.wordpress.sites."${hostName}".database.user must be ${user} if the database is to be automatically provisioned'';
|
||||
}
|
||||
) eachSite;
|
||||
|
||||
warnings = mapAttrsToList (hostName: _: ''services.wordpress."${hostName}" is deprecated use services.wordpress.sites."${hostName}"'') (oldSites cfg);
|
||||
|
||||
services.mysql = mkIf (any (v: v.database.createLocally) (attrValues eachSite)) {
|
||||
enable = true;
|
||||
package = mkDefault pkgs.mariadb;
|
||||
@ -289,14 +321,18 @@ in
|
||||
|
||||
services.phpfpm.pools = mapAttrs' (hostName: cfg: (
|
||||
nameValuePair "wordpress-${hostName}" {
|
||||
inherit user group;
|
||||
inherit user;
|
||||
group = webserver.group;
|
||||
settings = {
|
||||
"listen.owner" = config.services.httpd.user;
|
||||
"listen.group" = config.services.httpd.group;
|
||||
"listen.owner" = webserver.user;
|
||||
"listen.group" = webserver.group;
|
||||
} // cfg.poolConfig;
|
||||
}
|
||||
)) eachSite;
|
||||
|
||||
}
|
||||
|
||||
(mkIf (cfg.webserver == "httpd") {
|
||||
services.httpd = {
|
||||
enable = true;
|
||||
extraModules = [ "proxy_fcgi" ];
|
||||
@ -332,11 +368,13 @@ in
|
||||
'';
|
||||
} ]) eachSite;
|
||||
};
|
||||
})
|
||||
|
||||
{
|
||||
systemd.tmpfiles.rules = flatten (mapAttrsToList (hostName: cfg: [
|
||||
"d '${stateDir hostName}' 0750 ${user} ${group} - -"
|
||||
"d '${cfg.uploadsDir}' 0750 ${user} ${group} - -"
|
||||
"Z '${cfg.uploadsDir}' 0750 ${user} ${group} - -"
|
||||
"d '${stateDir hostName}' 0750 ${user} ${webserver.group} - -"
|
||||
"d '${cfg.uploadsDir}' 0750 ${user} ${webserver.group} - -"
|
||||
"Z '${cfg.uploadsDir}' 0750 ${user} ${webserver.group} - -"
|
||||
]) eachSite);
|
||||
|
||||
systemd.services = mkMerge [
|
||||
@ -350,7 +388,7 @@ in
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
User = user;
|
||||
Group = group;
|
||||
Group = webserver.group;
|
||||
};
|
||||
})) eachSite)
|
||||
|
||||
@ -360,9 +398,65 @@ in
|
||||
];
|
||||
|
||||
users.users.${user} = {
|
||||
group = group;
|
||||
group = webserver.group;
|
||||
isSystemUser = true;
|
||||
};
|
||||
}
|
||||
|
||||
};
|
||||
(mkIf (cfg.webserver == "nginx") {
|
||||
services.nginx = {
|
||||
enable = true;
|
||||
virtualHosts = mapAttrs (hostName: cfg: {
|
||||
serverName = mkDefault hostName;
|
||||
root = "${pkg hostName cfg}/share/wordpress";
|
||||
extraConfig = ''
|
||||
index index.php;
|
||||
'';
|
||||
locations = {
|
||||
"/" = {
|
||||
priority = 200;
|
||||
extraConfig = ''
|
||||
try_files $uri $uri/ /index.php$is_args$args;
|
||||
'';
|
||||
};
|
||||
"~ \\.php$" = {
|
||||
priority = 500;
|
||||
extraConfig = ''
|
||||
fastcgi_split_path_info ^(.+\.php)(/.+)$;
|
||||
fastcgi_pass unix:${config.services.phpfpm.pools."wordpress-${hostName}".socket};
|
||||
fastcgi_index index.php;
|
||||
include "${config.services.nginx.package}/conf/fastcgi.conf";
|
||||
fastcgi_param PATH_INFO $fastcgi_path_info;
|
||||
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
|
||||
# Mitigate https://httpoxy.org/ vulnerabilities
|
||||
fastcgi_param HTTP_PROXY "";
|
||||
fastcgi_intercept_errors off;
|
||||
fastcgi_buffer_size 16k;
|
||||
fastcgi_buffers 4 16k;
|
||||
fastcgi_connect_timeout 300;
|
||||
fastcgi_send_timeout 300;
|
||||
fastcgi_read_timeout 300;
|
||||
'';
|
||||
};
|
||||
"~ /\\." = {
|
||||
priority = 800;
|
||||
extraConfig = "deny all;";
|
||||
};
|
||||
"~* /(?:uploads|files)/.*\\.php$" = {
|
||||
priority = 900;
|
||||
extraConfig = "deny all;";
|
||||
};
|
||||
"~* \\.(js|css|png|jpg|jpeg|gif|ico)$" = {
|
||||
priority = 1000;
|
||||
extraConfig = ''
|
||||
expires max;
|
||||
log_not_found off;
|
||||
'';
|
||||
};
|
||||
};
|
||||
}) eachSite;
|
||||
};
|
||||
})
|
||||
|
||||
]);
|
||||
}
|
||||
|
@ -10,48 +10,68 @@ import ./make-test-python.nix ({ pkgs, ... }:
|
||||
];
|
||||
};
|
||||
|
||||
machine =
|
||||
{ ... }:
|
||||
{ services.httpd.adminAddr = "webmaster@site.local";
|
||||
nodes = {
|
||||
wp_httpd = { ... }: {
|
||||
services.httpd.adminAddr = "webmaster@site.local";
|
||||
services.httpd.logPerVirtualHost = true;
|
||||
|
||||
services.wordpress."site1.local" = {
|
||||
database.tablePrefix = "site1_";
|
||||
};
|
||||
|
||||
services.wordpress."site2.local" = {
|
||||
database.tablePrefix = "site2_";
|
||||
services.wordpress = {
|
||||
# Test support for old interface
|
||||
"site1.local" = {
|
||||
database.tablePrefix = "site1_";
|
||||
};
|
||||
sites = {
|
||||
"site2.local" = {
|
||||
database.tablePrefix = "site2_";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
networking.firewall.allowedTCPPorts = [ 80 ];
|
||||
networking.hosts."127.0.0.1" = [ "site1.local" "site2.local" ];
|
||||
};
|
||||
|
||||
wp_nginx = { ... }: {
|
||||
services.wordpress.webserver = "nginx";
|
||||
services.wordpress.sites = {
|
||||
"site1.local" = {
|
||||
database.tablePrefix = "site1_";
|
||||
};
|
||||
"site2.local" = {
|
||||
database.tablePrefix = "site2_";
|
||||
};
|
||||
};
|
||||
|
||||
networking.firewall.allowedTCPPorts = [ 80 ];
|
||||
networking.hosts."127.0.0.1" = [ "site1.local" "site2.local" ];
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
import re
|
||||
|
||||
start_all()
|
||||
|
||||
machine.wait_for_unit("httpd")
|
||||
|
||||
machine.wait_for_unit("phpfpm-wordpress-site1.local")
|
||||
machine.wait_for_unit("phpfpm-wordpress-site2.local")
|
||||
wp_httpd.wait_for_unit("httpd")
|
||||
wp_nginx.wait_for_unit("nginx")
|
||||
|
||||
site_names = ["site1.local", "site2.local"]
|
||||
|
||||
with subtest("website returns welcome screen"):
|
||||
for machine in (wp_httpd, wp_nginx):
|
||||
for site_name in site_names:
|
||||
assert "Welcome to the famous" in machine.succeed(f"curl -fL {site_name}")
|
||||
machine.wait_for_unit(f"phpfpm-wordpress-{site_name}")
|
||||
|
||||
with subtest("wordpress-init went through"):
|
||||
for site_name in site_names:
|
||||
info = machine.get_unit_info(f"wordpress-init-{site_name}")
|
||||
assert info["Result"] == "success"
|
||||
with subtest("website returns welcome screen"):
|
||||
assert "Welcome to the famous" in machine.succeed(f"curl -L {site_name}")
|
||||
|
||||
with subtest("secret keys are set"):
|
||||
pattern = re.compile(r"^define.*NONCE_SALT.{64,};$", re.MULTILINE)
|
||||
for site_name in site_names:
|
||||
assert pattern.search(
|
||||
machine.succeed(f"cat /var/lib/wordpress/{site_name}/secret-keys.php")
|
||||
)
|
||||
with subtest("wordpress-init went through"):
|
||||
info = machine.get_unit_info(f"wordpress-init-{site_name}")
|
||||
assert info["Result"] == "success"
|
||||
|
||||
with subtest("secret keys are set"):
|
||||
pattern = re.compile(r"^define.*NONCE_SALT.{64,};$", re.MULTILINE)
|
||||
assert pattern.search(
|
||||
machine.succeed(f"cat /var/lib/wordpress/{site_name}/secret-keys.php")
|
||||
)
|
||||
'';
|
||||
})
|
||||
|
@ -1,8 +1,8 @@
|
||||
{
|
||||
"stable": {
|
||||
"version": "91.0.4472.114",
|
||||
"sha256": "0wbyiwbdazgjjgj9vs56x26q3g9r80a57gfl0f2rfl1j7xwgxiy1",
|
||||
"sha256bin64": "00ac1dyqxpxy1j11jvc5j35bgc629n2f2pll3912gzih4ir0vrys",
|
||||
"version": "91.0.4472.164",
|
||||
"sha256": "1g96hk72ds2b0aymgw7yjr0akgx7mkp17i99nk511ncnmni6zrc4",
|
||||
"sha256bin64": "1j6p2gqlikaibcwa40k46dsm9jlrpbj21lv1snnjw8apjnjfd2wr",
|
||||
"deps": {
|
||||
"gn": {
|
||||
"version": "2021-04-06",
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -32,10 +32,10 @@ rec {
|
||||
|
||||
firefox-esr-78 = common rec {
|
||||
pname = "firefox-esr";
|
||||
ffversion = "78.11.0esr";
|
||||
ffversion = "78.12.0esr";
|
||||
src = fetchurl {
|
||||
url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz";
|
||||
sha512 = "d02fc2eda587155b1c54ca12a6c5cde220a29f41f154f1c9b71ae8f966d8cc9439201a5b241e03fc0795b74e2479f7aa5d6b69f70b7639432e5382f321f7a6f4";
|
||||
sha512 = "646eb803e0d0e541773e3111708c7eaa85e784e4bae6e4a77dcecdc617ee29e2e349c9ef16ae7e663311734dd7491aebd904359124dda62672dbc18bfb608f0a";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
@ -36,9 +36,9 @@ appimageTools.wrapType2 {
|
||||
git
|
||||
glib
|
||||
glibc
|
||||
gnome.gdk_pixbuf
|
||||
gnome.gtk
|
||||
gnome.gtk.dev
|
||||
gdk-pixbuf
|
||||
gtk3
|
||||
gtk3.dev
|
||||
gnome.zenity
|
||||
gnome2.GConf
|
||||
gnumake
|
||||
@ -48,7 +48,7 @@ appimageTools.wrapType2 {
|
||||
gtk3.dev
|
||||
gtk3-x11
|
||||
gtk3-x11.dev
|
||||
kdialog
|
||||
plasma5Packages.kdialog
|
||||
libappindicator-gtk2.out
|
||||
libexif
|
||||
(libjpeg.override { enableJpeg8 = true; }).out
|
||||
@ -70,12 +70,12 @@ appimageTools.wrapType2 {
|
||||
sqlite.dev
|
||||
udev
|
||||
unzip
|
||||
utillinux
|
||||
util-linux
|
||||
watch
|
||||
wget
|
||||
which
|
||||
wrapGAppsHook
|
||||
xdg_utils
|
||||
xdg-utils
|
||||
xorg.libX11
|
||||
xorg.libXau
|
||||
xorg.libXaw
|
||||
|
@ -16,12 +16,12 @@ with lib;
|
||||
|
||||
buildGoPackage rec {
|
||||
pname = "gitea";
|
||||
version = "1.14.4";
|
||||
version = "1.14.5";
|
||||
|
||||
# not fetching directly from the git repo, because that lacks several vendor files for the web UI
|
||||
src = fetchurl {
|
||||
url = "https://github.com/go-gitea/gitea/releases/download/v${version}/gitea-src-${version}.tar.gz";
|
||||
sha256 = "sha256-sl/Vml8QmwZEAd2PIYWQcP7s6NYeomGJQGKhRiddtoo=";
|
||||
sha256 = "sha256-8nwLVpe/5IjXJqO179lN80B/3WGUL3LKM8OWdh/bYOE=";
|
||||
};
|
||||
|
||||
unpackPhase = ''
|
||||
|
@ -312,7 +312,7 @@ lib.makeScope pkgs.newScope (self: with self; {
|
||||
|
||||
# added 2019-02-08
|
||||
inherit (pkgs) atk glib gobject-introspection gspell webkitgtk gtk3 gtkmm3
|
||||
libgtop libgudev libhttpseverywhere librsvg libsecret gdk_pixbuf gtksourceview gtksourceviewmm gtksourceview4
|
||||
libgtop libgudev libhttpseverywhere librsvg libsecret gdk-pixbuf gtksourceview gtksourceviewmm gtksourceview4
|
||||
easytag meld orca rhythmbox shotwell gnome-usage
|
||||
clutter clutter-gst clutter-gtk cogl gtk-vnc libdazzle libgda libgit2-glib libgxps libgdata libgepub libpeas libgee geocode-glib libgweather librest libzapojit libmediaart gfbgraph gexiv2 folks totem-pl-parser gcr gsound libgnomekbd vte vte_290 gnome-menus gdl;
|
||||
inherit (pkgs) gsettings-desktop-schemas; # added 2019-04-16
|
||||
|
@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
doCheck = true;
|
||||
|
||||
configureFlags = lib.optional stdenv.targetPlatform.isWindows "--disable-examples";
|
||||
configureFlags = lib.optional (stdenv.targetPlatform.isWindows || stdenv.hostPlatform.isStatic) "--disable-examples";
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://www.hyperrealm.com/libconfig";
|
||||
|
@ -0,0 +1,48 @@
|
||||
{ lib
|
||||
, fetchFromGitLab
|
||||
, buildDunePackage
|
||||
, gmp
|
||||
, dune-configurator
|
||||
, cstruct
|
||||
, bigstring
|
||||
, alcotest
|
||||
, hex
|
||||
}:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "secp256k1-internal";
|
||||
version = "0.2";
|
||||
src = fetchFromGitLab {
|
||||
owner = "nomadic-labs";
|
||||
repo = "ocaml-secp256k1-internal";
|
||||
rev = "v${version}";
|
||||
sha256 = "1g9fyi78nmmm19l2cggwj14m4n80rz7gmnh1gq376zids71s6qxv";
|
||||
};
|
||||
|
||||
useDune2 = true;
|
||||
|
||||
minimalOCamlVersion = "4.08";
|
||||
|
||||
propagatedBuildInputs = [
|
||||
gmp
|
||||
cstruct
|
||||
bigstring
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
dune-configurator
|
||||
];
|
||||
|
||||
checkInputs = [
|
||||
alcotest
|
||||
hex
|
||||
];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
meta = {
|
||||
description = "Bindings to secp256k1 internal functions (generic operations on the curve)";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = [ lib.maintainers.ulrikstrid ];
|
||||
};
|
||||
}
|
@ -6,12 +6,12 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "adafruit-platformdetect";
|
||||
version = "3.14.2";
|
||||
version = "3.15.1";
|
||||
|
||||
src = fetchPypi {
|
||||
pname = "Adafruit-PlatformDetect";
|
||||
inherit version;
|
||||
sha256 = "sha256-SFqSTNKZMETRf9RxSD6skzAVpxepmW+JG/gqZgFX06A=";
|
||||
sha256 = "sha256-aUYerhg5iqKsZ5SW3dI6EpFnaB7dRGjXpIDVsjwS7vY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ setuptools-scm ];
|
||||
|
38
pkgs/development/python-modules/opensimplex/default.nix
Normal file
38
pkgs/development/python-modules/opensimplex/default.nix
Normal file
@ -0,0 +1,38 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, autopep8
|
||||
, nose
|
||||
, pycodestyle
|
||||
, twine
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "opensimplex";
|
||||
version = "0.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "lmas";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "idF5JQGnAye6z3c3YU9rsHaebB3rlHJfA8vSpjDnFeM=";
|
||||
};
|
||||
|
||||
checkInputs = [ autopep8 nose pycodestyle twine ];
|
||||
checkPhase = ''
|
||||
nosetests tests/
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "OpenSimplex Noise functions for 2D, 3D and 4D";
|
||||
longDescription = ''
|
||||
OpenSimplex noise is an n-dimensional gradient noise function that was
|
||||
developed in order to overcome the patent-related issues surrounding
|
||||
Simplex noise, while continuing to also avoid the visually-significant
|
||||
directional artifacts characteristic of Perlin noise.
|
||||
'';
|
||||
homepage = "https://github.com/lmas/opensimplex";
|
||||
license = with licenses; [ mit ];
|
||||
maintainers = with maintainers; [ angustrau ];
|
||||
};
|
||||
}
|
@ -1,4 +1,5 @@
|
||||
{ lib
|
||||
, appdirs
|
||||
, buildPythonPackage
|
||||
, defusedxml
|
||||
, fetchFromGitHub
|
||||
@ -17,13 +18,13 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pytenable";
|
||||
version = "1.3.1";
|
||||
version = "1.3.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tenable";
|
||||
repo = "pyTenable";
|
||||
rev = version;
|
||||
sha256 = "sha256-9qkNQ3+yDplPHIXDwlghpJP1f+UoDYObWpPhl6UVtHU=";
|
||||
sha256 = "sha256-S39rl8bJsxYAmTcaZk9+s9G45lOvREjlGVBk1m30tJo=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
@ -31,6 +32,7 @@ buildPythonPackage rec {
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
appdirs
|
||||
defusedxml
|
||||
marshmallow
|
||||
python-box
|
||||
|
@ -19,6 +19,7 @@
|
||||
, python-lsp-jsonrpc
|
||||
, pythonOlder
|
||||
, rope
|
||||
, setuptools
|
||||
, ujson
|
||||
, yapf
|
||||
}:
|
||||
@ -47,6 +48,7 @@ buildPythonPackage rec {
|
||||
pylint
|
||||
python-lsp-jsonrpc
|
||||
rope
|
||||
setuptools
|
||||
ujson
|
||||
yapf
|
||||
];
|
||||
|
@ -11,9 +11,7 @@
|
||||
, isPy3k
|
||||
, psutil
|
||||
, pytest-asyncio
|
||||
, pytest-cov
|
||||
, pytestCheckHook
|
||||
, pytestrunner
|
||||
, sqlalchemy
|
||||
, websocket-client
|
||||
, websockets
|
||||
@ -21,14 +19,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "slack-sdk";
|
||||
version = "3.7.0";
|
||||
version = "3.8.0";
|
||||
disabled = !isPy3k;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "slackapi";
|
||||
repo = "python-slack-sdk";
|
||||
rev = "v${version}";
|
||||
sha256 = "0bc52v5n8r3b2fy1c90w253r1abl752kaqdk6bgzkwsvbhgcxf2s";
|
||||
sha256 = "sha256-r3GgcU4K2jj+4aIytpY2HiVqHzChynn2BCn1VNTL2t0=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
@ -47,20 +45,23 @@ buildPythonPackage rec {
|
||||
flask-sockets
|
||||
psutil
|
||||
pytest-asyncio
|
||||
pytest-cov
|
||||
pytestCheckHook
|
||||
pytestrunner
|
||||
];
|
||||
|
||||
preCheck = ''
|
||||
export HOME=$(mktemp -d)
|
||||
'';
|
||||
|
||||
# Exclude tests that requires network features
|
||||
pytestFlagsArray = [ "--ignore=integration_tests" ];
|
||||
disabledTestPaths = [
|
||||
# Exclude tests that requires network features
|
||||
"integration_tests"
|
||||
];
|
||||
|
||||
disabledTests = [
|
||||
# Requires network features
|
||||
"test_start_raises_an_error_if_rtm_ws_url_is_not_returned"
|
||||
"test_org_installation"
|
||||
"test_interactions"
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "slack_sdk" ];
|
||||
|
@ -5,7 +5,7 @@ let
|
||||
in appimageTools.wrapType2 rec {
|
||||
name = "unityhub";
|
||||
|
||||
extraPkgs = (pkgs: with pkgs; with xorg; [ gtk2 gdk_pixbuf glib libGL libGLU nss nspr
|
||||
extraPkgs = (pkgs: with pkgs; with xorg; [ gtk2 gdk-pixbuf glib libGL libGLU nss nspr
|
||||
alsa-lib cups gnome2.GConf libcap fontconfig freetype pango
|
||||
cairo dbus dbus-glib libdbusmenu libdbusmenu-gtk2 expat zlib libpng12 udev tbb
|
||||
libpqxx gtk3 libsecret lsb-release openssl nodejs ncurses5
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, lib, python, kernel, makeWrapper, writeText
|
||||
{ stdenv, lib, python2, python3, kernel, makeWrapper, writeText
|
||||
, gawk, iproute2 }:
|
||||
|
||||
let
|
||||
@ -9,6 +9,7 @@ let
|
||||
inherit (kernel) src version;
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
buildInputs = [ (if lib.versionOlder version "4.19" then python2 else python3) ];
|
||||
|
||||
# as of 4.9 compilation will fail due to -Werror=format-security
|
||||
hardeningDisable = [ "format" ];
|
||||
@ -33,10 +34,6 @@ let
|
||||
install -Dm755 hv_get_dhcp_info.sh $out/${libexec}/hv_get_dhcp_info
|
||||
install -Dm755 hv_get_dns_info.sh $out/${libexec}/hv_get_dns_info
|
||||
|
||||
# I don't know why this isn't being handled automatically by fixupPhase
|
||||
substituteInPlace $out/bin/lsvmbus \
|
||||
--replace '/usr/bin/env python' ${python.interpreter}
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
@ -86,7 +83,7 @@ in stdenv.mkDerivation {
|
||||
Wants=hv-fcopy.service hv-kvp.service hv-vss.service
|
||||
EOF
|
||||
|
||||
for f in $lib/lib/systemd/system/* ; do
|
||||
for f in $lib/lib/systemd/system/*.service ; do
|
||||
substituteInPlace $f --replace @out@ ${daemons}/bin
|
||||
done
|
||||
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "tailscale";
|
||||
version = "1.10.1";
|
||||
version = "1.10.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tailscale";
|
||||
repo = "tailscale";
|
||||
rev = "v${version}";
|
||||
sha256 = "1s4qpz4jwar3lcqyzkgyvgm4bghzass974lq1pw4fziqlsblh0vm";
|
||||
sha256 = "sha256-bAWQTdpqDF7ERQzNY1k0NtxdA9M9bIyfHtvX0nKfIQY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
@ -1,25 +1,16 @@
|
||||
{ lib, rustPlatform, fetchFromGitHub }:
|
||||
{ lib, rustPlatform, fetchCrate }:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "svgbob";
|
||||
version = "0.4.2";
|
||||
version = "0.5.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ivanceras";
|
||||
repo = pname;
|
||||
rev = "0febc4377134a2ea3b3cd43ebdf5ea688a0e7432";
|
||||
sha256 = "1n0w5b3fjgbczy1iw52172x1p3y1bvw1qpz77fkaxkhrkgfd7vwr";
|
||||
src = fetchCrate {
|
||||
inherit version;
|
||||
crateName = "svgbob_cli";
|
||||
sha256 = "1gi8h4wzpi477y1gwi4708pn2kr65934a4dmphbhwppxbw447qiw";
|
||||
};
|
||||
sourceRoot = "source/svgbob_cli";
|
||||
postPatch = ''
|
||||
substituteInPlace ../svgbob/src/lib.rs \
|
||||
--replace '#![deny(warnings)]' ""
|
||||
'';
|
||||
|
||||
cargoSha256 = "1jyycr95gjginx6bzmay9b5dbpnbwdqbv13w1qy58znicsmh3v8a";
|
||||
|
||||
# Test tries to build outdated examples
|
||||
doCheck = false;
|
||||
cargoSha256 = "1x8phpllwm12igaachghwq6wgxl7nl8bhh7xybfrmn447viwxhq2";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Convert your ascii diagram scribbles into happy little SVG";
|
||||
|
43
pkgs/tools/networking/ookla-speedtest/default.nix
Normal file
43
pkgs/tools/networking/ookla-speedtest/default.nix
Normal file
@ -0,0 +1,43 @@
|
||||
{ lib, stdenv, fetchurl }:
|
||||
|
||||
let
|
||||
pname = "ookla-speedtest";
|
||||
version = "1.0.0";
|
||||
|
||||
srcs = {
|
||||
x86_64-linux = fetchurl {
|
||||
url = "https://install.speedtest.net/app/cli/${pname}-${version}-x86_64-linux.tgz";
|
||||
sha256 = "sha256-X+ICjw1EJ+T0Ix2fnPcOZpG7iQpwY211Iy/k2XBjMWg=";
|
||||
};
|
||||
aarch64-linux = fetchurl {
|
||||
url = "https://install.speedtest.net/app/cli/${pname}-${version}-aarch64-linux.tgz";
|
||||
sha256 = "sha256-BzaE3DSQUIygGwTFhV4Ez9eX/tM/bqam7cJt+8b2qp4=";
|
||||
};
|
||||
};
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
inherit pname version;
|
||||
|
||||
src = srcs.${stdenv.hostPlatform.system};
|
||||
|
||||
setSourceRoot = ''
|
||||
sourceRoot=$PWD
|
||||
'';
|
||||
|
||||
dontBuild = true;
|
||||
dontConfigure = true;
|
||||
|
||||
installPhase = ''
|
||||
install -D speedtest $out/bin/speedtest
|
||||
install -D speedtest.5 $out/share/man/man5/speedtest.5
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Command line internet speedtest tool by Ookla";
|
||||
homepage = "https://www.speedtest.net/apps/cli";
|
||||
license = licenses.unfree;
|
||||
maintainers = with maintainers; [ kranzes ];
|
||||
platforms = lib.attrNames srcs;
|
||||
};
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
# frozen_string_literal: true
|
||||
source "https://rubygems.org"
|
||||
|
||||
gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.0.52"
|
||||
gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.0.53"
|
||||
|
@ -1,9 +1,9 @@
|
||||
GIT
|
||||
remote: https://github.com/rapid7/metasploit-framework
|
||||
revision: f376002331f03483d56ade1c19134dbf02ef2cff
|
||||
ref: refs/tags/6.0.52
|
||||
revision: b7cef30d11f0509b7e27334030dae6b8cb34e7f2
|
||||
ref: refs/tags/6.0.53
|
||||
specs:
|
||||
metasploit-framework (6.0.52)
|
||||
metasploit-framework (6.0.53)
|
||||
actionpack (~> 5.2.2)
|
||||
activerecord (~> 5.2.2)
|
||||
activesupport (~> 5.2.2)
|
||||
@ -85,6 +85,7 @@ GIT
|
||||
thin
|
||||
tzinfo
|
||||
tzinfo-data
|
||||
unix-crypt
|
||||
warden
|
||||
windows_error
|
||||
xdr
|
||||
@ -126,13 +127,13 @@ GEM
|
||||
arel-helpers (2.12.0)
|
||||
activerecord (>= 3.1.0, < 7)
|
||||
aws-eventstream (1.1.1)
|
||||
aws-partitions (1.475.0)
|
||||
aws-sdk-core (3.116.0)
|
||||
aws-partitions (1.478.0)
|
||||
aws-sdk-core (3.117.0)
|
||||
aws-eventstream (~> 1, >= 1.0.2)
|
||||
aws-partitions (~> 1, >= 1.239.0)
|
||||
aws-sigv4 (~> 1.1)
|
||||
jmespath (~> 1.0)
|
||||
aws-sdk-ec2 (1.248.0)
|
||||
aws-sdk-ec2 (1.249.0)
|
||||
aws-sdk-core (~> 3, >= 3.112.0)
|
||||
aws-sigv4 (~> 1.1)
|
||||
aws-sdk-iam (1.56.0)
|
||||
@ -173,7 +174,7 @@ GEM
|
||||
eventmachine (1.2.7)
|
||||
faker (2.18.0)
|
||||
i18n (>= 1.6, < 2)
|
||||
faraday (1.5.0)
|
||||
faraday (1.5.1)
|
||||
faraday-em_http (~> 1.0)
|
||||
faraday-em_synchrony (~> 1.0)
|
||||
faraday-excon (~> 1.1)
|
||||
@ -188,7 +189,7 @@ GEM
|
||||
faraday-excon (1.1.0)
|
||||
faraday-httpclient (1.0.1)
|
||||
faraday-net_http (1.0.1)
|
||||
faraday-net_http_persistent (1.1.0)
|
||||
faraday-net_http_persistent (1.2.0)
|
||||
faraday-patron (1.0.0)
|
||||
faye-websocket (0.11.1)
|
||||
eventmachine (>= 0.12.0)
|
||||
@ -312,7 +313,7 @@ GEM
|
||||
rex-core
|
||||
rex-struct2
|
||||
rex-text
|
||||
rex-core (0.1.16)
|
||||
rex-core (0.1.17)
|
||||
rex-encoder (0.1.5)
|
||||
metasm
|
||||
rex-arch
|
||||
@ -331,7 +332,7 @@ GEM
|
||||
rex-arch
|
||||
rex-ole (0.1.7)
|
||||
rex-text
|
||||
rex-powershell (0.1.90)
|
||||
rex-powershell (0.1.91)
|
||||
rex-random_identifier
|
||||
rex-text
|
||||
ruby-rc4
|
||||
@ -356,7 +357,7 @@ GEM
|
||||
rkelly-remix (0.0.7)
|
||||
ruby-macho (2.5.1)
|
||||
ruby-rc4 (0.1.5)
|
||||
ruby2_keywords (0.0.4)
|
||||
ruby2_keywords (0.0.5)
|
||||
ruby_smb (2.0.10)
|
||||
bindata
|
||||
openssl-ccm
|
||||
@ -393,6 +394,7 @@ GEM
|
||||
unf (0.1.4)
|
||||
unf_ext
|
||||
unf_ext (0.0.7.7)
|
||||
unix-crypt (1.3.0)
|
||||
warden (1.2.9)
|
||||
rack (>= 2.0.9)
|
||||
webrick (1.7.0)
|
||||
|
@ -8,13 +8,13 @@ let
|
||||
};
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "metasploit-framework";
|
||||
version = "6.0.52";
|
||||
version = "6.0.53";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "rapid7";
|
||||
repo = "metasploit-framework";
|
||||
rev = version;
|
||||
sha256 = "sha256-JN+ulGd47xZFSR7AdxfvviR5mwCHdfBmFkaAJPdaLJ8=";
|
||||
sha256 = "sha256-0tg2FSRtwo1LRxA5jNQ1Pxx54TPs3ZwErXim8uj24VI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
@ -114,30 +114,30 @@
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0x9d0awfm8s9y025iwn7d5an476f6xq9v99lnynj2vvj1kgya79s";
|
||||
sha256 = "0vsxqayzh04gxxan5i8vvfxh0n238dc9305bc89xs2mx2x1pw167";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.475.0";
|
||||
version = "1.478.0";
|
||||
};
|
||||
aws-sdk-core = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0vjr1lzddm1pcs5vkpxns1gmrv0l0wb53kcxhh1xdznb7hm8h5km";
|
||||
sha256 = "1mcagbyzy7l39lxm9g85frvjwlv3yfd9x8jddd1pfc0xsy9y0rax";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.116.0";
|
||||
version = "3.117.0";
|
||||
};
|
||||
aws-sdk-ec2 = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1s0r1vk39sjxkc5km2ldvcm1l5ac2c4w5z9bvz18jgqis98j6zd5";
|
||||
sha256 = "1n6yl7qbzmjlxp3rzm3a62vinzdg9a8rqspq7xdaa9sxrf4zsamf";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.248.0";
|
||||
version = "1.249.0";
|
||||
};
|
||||
aws-sdk-iam = {
|
||||
groups = ["default"];
|
||||
@ -354,10 +354,10 @@
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0gwbii45plm9bljk22bwzhzxrc5xid8qx24f54vrm74q3zaz00ah";
|
||||
sha256 = "1xpq9w46alagszx2mx82mqxxmsmyni2bpxd08gygzpl03zwbpr63";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.5.0";
|
||||
version = "1.5.1";
|
||||
};
|
||||
faraday-em_http = {
|
||||
groups = ["default"];
|
||||
@ -414,10 +414,10 @@
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0l2c835wl7gv34xp49fhd1bl4czkpw2g3ahqsak2251iqv5589ka";
|
||||
sha256 = "0dc36ih95qw3rlccffcb0vgxjhmipsvxhn6cw71l7ffs0f7vq30b";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.1.0";
|
||||
version = "1.2.0";
|
||||
};
|
||||
faraday-patron = {
|
||||
groups = ["default"];
|
||||
@ -594,12 +594,12 @@
|
||||
platforms = [];
|
||||
source = {
|
||||
fetchSubmodules = false;
|
||||
rev = "f376002331f03483d56ade1c19134dbf02ef2cff";
|
||||
sha256 = "17rcbbvj90262rkg0xc702dpj95yxwbpgh0y952idvvqcyaaxpr4";
|
||||
rev = "b7cef30d11f0509b7e27334030dae6b8cb34e7f2";
|
||||
sha256 = "0lp1yvlg59kqml29rpgc6ghpj71z6pa8qf8h8x5qvhkd4hakdn6j";
|
||||
type = "git";
|
||||
url = "https://github.com/rapid7/metasploit-framework";
|
||||
};
|
||||
version = "6.0.52";
|
||||
version = "6.0.53";
|
||||
};
|
||||
metasploit-model = {
|
||||
groups = ["default"];
|
||||
@ -1036,10 +1036,10 @@
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "08krnf05mbq6x2d92fv34bl8xdz1d3yq2m0mp8bfbq5kd6a13l2w";
|
||||
sha256 = "0b0f9s18d2ax2k1xmwrvr97gxh8gfm79kfibv55fqmv846vgkkvk";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.1.16";
|
||||
version = "0.1.17";
|
||||
};
|
||||
rex-encoder = {
|
||||
groups = ["default"];
|
||||
@ -1106,10 +1106,10 @@
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "08a9s82y4bv2bis0szasrrqvz6imwx94ckg259f7w39ng1fbc7b1";
|
||||
sha256 = "0zrc0pr1pla0amw6hagllj82hyq8pyy6wb38xry2cxg7q70ghfq7";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.1.90";
|
||||
version = "0.1.91";
|
||||
};
|
||||
rex-random_identifier = {
|
||||
groups = ["default"];
|
||||
@ -1236,10 +1236,10 @@
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "15wfcqxyfgka05v2a7kpg64x57gl1y4xzvnc9lh60bqx5sf1iqrs";
|
||||
sha256 = "1vz322p8n39hz3b4a9gkmz9y7a5jaz41zrm2ywf31dvkqm03glgz";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.0.4";
|
||||
version = "0.0.5";
|
||||
};
|
||||
ruby_smb = {
|
||||
groups = ["default"];
|
||||
@ -1421,6 +1421,16 @@
|
||||
};
|
||||
version = "0.0.7.7";
|
||||
};
|
||||
unix-crypt = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1wflipsmmicmgvqilp9pml4x19b337kh6p6jgrzqrzpkq2z52gdq";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.3.0";
|
||||
};
|
||||
warden = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
|
@ -12,20 +12,20 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "mdcat";
|
||||
version = "0.23.0";
|
||||
version = "0.23.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "lunaryorn";
|
||||
repo = pname;
|
||||
rev = "mdcat-${version}";
|
||||
hash = "sha256-bGXuYGQyrXa9gUEQfB7BF9K04z88r1UoM8R5gpL2nRM=";
|
||||
sha256 = "sha256-aJ7rL+EKa5zWmCmekVuRmdeOwTmVo0IQ+GJ8Ga4iTI0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config asciidoctor installShellFiles ];
|
||||
buildInputs = [ openssl ]
|
||||
++ lib.optional stdenv.isDarwin Security;
|
||||
|
||||
cargoSha256 = "sha256-hmv4LNk7NEYjT/5XXUpMd+xGS19KHOW+HIgsiFEWeig=";
|
||||
cargoSha256 = "sha256-r0dJ/lDOfRzEdwySR/eEvsrO8qn4g7ZIfpekiirUp3Q=";
|
||||
|
||||
checkInputs = [ ansi2html ];
|
||||
# Skip tests that use the network and that include files.
|
||||
|
@ -11,17 +11,17 @@
|
||||
}:
|
||||
|
||||
let
|
||||
specVersion = "4.96.0"; # Version taken from: https://www.linode.com/docs/api/openapi.yaml at `info.version`.
|
||||
specVersion = "4.98.0"; # Version taken from: https://www.linode.com/docs/api/openapi.yaml at `info.version`.
|
||||
spec = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/linode/linode-api-docs/v${specVersion}/openapi.yaml";
|
||||
sha256 = "sha256-4+j5BBTOFLLiA+n0YEUH/ICK4Iuxr6nNB7ZRrYACW2I=";
|
||||
sha256 = "sha256-3SweDMfgq2+QQIdeb6EjL7A2Grd/7KQzsbMNZKPtXts=";
|
||||
};
|
||||
|
||||
in
|
||||
|
||||
buildPythonApplication rec {
|
||||
pname = "linode-cli";
|
||||
version = "5.4.3";
|
||||
version = "5.5.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linode";
|
||||
|
30
pkgs/tools/wayland/swayr/default.nix
Normal file
30
pkgs/tools/wayland/swayr/default.nix
Normal file
@ -0,0 +1,30 @@
|
||||
{ lib, fetchFromSourcehut, rustPlatform }:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "swayr";
|
||||
version = "0.6.1";
|
||||
|
||||
src = fetchFromSourcehut {
|
||||
owner = "~tsdh";
|
||||
repo = "swayr";
|
||||
rev = "v${version}";
|
||||
sha256 = "1865064q8jb75nfb0hbx4swbbijpibm0n7m4cid8qgylzp4bxvs2";
|
||||
};
|
||||
|
||||
cargoSha256 = "0w6zjnywifdlaw01xz2824lwm4b6r1b7r99wi3p12vgbrmks4jcr";
|
||||
|
||||
patches = [
|
||||
./icon-paths.patch
|
||||
];
|
||||
|
||||
preCheck = ''
|
||||
export HOME=$TMPDIR
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A window switcher (and more) for sway";
|
||||
homepage = "https://git.sr.ht/~tsdh/swayr";
|
||||
license = with licenses; [ gpl3Plus ];
|
||||
maintainers = with maintainers; [ artturin ];
|
||||
};
|
||||
}
|
17
pkgs/tools/wayland/swayr/icon-paths.patch
Normal file
17
pkgs/tools/wayland/swayr/icon-paths.patch
Normal file
@ -0,0 +1,17 @@
|
||||
diff --git a/src/config.rs b/src/config.rs
|
||||
index de7d04b..291114b 100644
|
||||
--- a/src/config.rs
|
||||
+++ b/src/config.rs
|
||||
@@ -197,6 +197,12 @@ impl Default for Format {
|
||||
),
|
||||
urgency_end: Some("</span>".to_string()),
|
||||
icon_dirs: Some(vec![
|
||||
+ "/run/current-system/sw/share/icons/hicolor/scalable/apps".to_string(),
|
||||
+ "/run/current-system/sw/share/icons/hicolor/48x48/apps".to_string(),
|
||||
+ "/run/current-system/sw/share/pixmaps".to_string(),
|
||||
+ "~/.nix-profile/share/icons/hicolor/scalable/apps".to_string(),
|
||||
+ "~/.nix-profile/share/icons/hicolor/48x48/apps".to_string(),
|
||||
+ "~/.nix-profile/share/pixmaps".to_string(),
|
||||
"/usr/share/icons/hicolor/scalable/apps".to_string(),
|
||||
"/usr/share/icons/hicolor/48x48/apps".to_string(),
|
||||
"/usr/share/pixmaps".to_string(),
|
@ -2313,6 +2313,8 @@ in
|
||||
|
||||
swaycwd = callPackage ../tools/wayland/swaycwd { };
|
||||
|
||||
swayr = callPackage ../tools/wayland/swayr { };
|
||||
|
||||
wayland-utils = callPackage ../tools/wayland/wayland-utils { };
|
||||
|
||||
wayland-proxy-virtwl = callPackage ../tools/wayland/wayland-proxy-virtwl { };
|
||||
@ -17674,6 +17676,8 @@ in
|
||||
|
||||
oobicpl = callPackage ../development/libraries/science/biology/oobicpl { };
|
||||
|
||||
ookla-speedtest = callPackage ../tools/networking/ookla-speedtest { };
|
||||
|
||||
openalSoft = callPackage ../development/libraries/openal-soft {
|
||||
inherit (darwin.apple_sdk.frameworks) CoreServices AudioUnit AudioToolbox;
|
||||
};
|
||||
|
@ -1031,6 +1031,8 @@ let
|
||||
inherit (pkgs) secp256k1;
|
||||
};
|
||||
|
||||
secp256k1-internal = callPackage ../development/ocaml-modules/secp256k1-internal { };
|
||||
|
||||
seq = callPackage ../development/ocaml-modules/seq { };
|
||||
|
||||
sosa = callPackage ../development/ocaml-modules/sosa { };
|
||||
|
@ -4989,6 +4989,8 @@ in {
|
||||
|
||||
openshift = callPackage ../development/python-modules/openshift { };
|
||||
|
||||
opensimplex = callPackage ../development/python-modules/opensimplex { };
|
||||
|
||||
opentimestamps = callPackage ../development/python-modules/opentimestamps { };
|
||||
|
||||
opentracing = callPackage ../development/python-modules/opentracing { };
|
||||
|
Loading…
Reference in New Issue
Block a user