Merge master into staging-next

This commit is contained in:
github-actions[bot] 2021-03-05 00:39:15 +00:00 committed by GitHub
commit 75d6dd33bf
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
14 changed files with 425 additions and 119 deletions

View file

@ -4,8 +4,7 @@ with lib;
let let
inherit (pkgs) plymouth; inherit (pkgs) plymouth nixos-icons;
inherit (pkgs) nixos-icons;
cfg = config.boot.plymouth; cfg = config.boot.plymouth;
@ -16,14 +15,37 @@ let
osVersion = config.system.nixos.release; osVersion = config.system.nixos.release;
}; };
plymouthLogos = pkgs.runCommand "plymouth-logos" { inherit (cfg) logo; } ''
mkdir -p $out
# For themes that are compiled with PLYMOUTH_LOGO_FILE
mkdir -p $out/etc/plymouth
ln -s $logo $out/etc/plymouth/logo.png
# Logo for bgrt theme
# Note this is technically an abuse of watermark for the bgrt theme
# See: https://gitlab.freedesktop.org/plymouth/plymouth/-/issues/95#note_813768
mkdir -p $out/share/plymouth/themes/spinner
ln -s $logo $out/share/plymouth/themes/spinner/watermark.png
# Logo for spinfinity theme
# See: https://gitlab.freedesktop.org/plymouth/plymouth/-/issues/106
mkdir -p $out/share/plymouth/themes/spinfinity
ln -s $logo $out/share/plymouth/themes/spinfinity/header-image.png
'';
themesEnv = pkgs.buildEnv { themesEnv = pkgs.buildEnv {
name = "plymouth-themes"; name = "plymouth-themes";
paths = [ plymouth ] ++ cfg.themePackages; paths = [
plymouth
plymouthLogos
] ++ cfg.themePackages;
}; };
configFile = pkgs.writeText "plymouthd.conf" '' configFile = pkgs.writeText "plymouthd.conf" ''
[Daemon] [Daemon]
ShowDelay=0 ShowDelay=0
DeviceTimeout=8
Theme=${cfg.theme} Theme=${cfg.theme}
${cfg.extraConfig} ${cfg.extraConfig}
''; '';
@ -47,7 +69,7 @@ in
}; };
themePackages = mkOption { themePackages = mkOption {
default = [ nixosBreezePlymouth ]; default = lib.optional (cfg.theme == "breeze") nixosBreezePlymouth;
type = types.listOf types.package; type = types.listOf types.package;
description = '' description = ''
Extra theme packages for plymouth. Extra theme packages for plymouth.
@ -55,7 +77,7 @@ in
}; };
theme = mkOption { theme = mkOption {
default = "breeze"; default = "bgrt";
type = types.str; type = types.str;
description = '' description = ''
Splash screen theme. Splash screen theme.
@ -64,7 +86,8 @@ in
logo = mkOption { logo = mkOption {
type = types.path; type = types.path;
default = "${nixos-icons}/share/icons/hicolor/128x128/apps/nix-snowflake.png"; # Dimensions are 48x48 to match GDM logo
default = "${nixos-icons}/share/icons/hicolor/48x48/apps/nix-snowflake-white.png";
defaultText = ''pkgs.fetchurl { defaultText = ''pkgs.fetchurl {
url = "https://nixos.org/logo/nixos-hires.png"; url = "https://nixos.org/logo/nixos-hires.png";
sha256 = "1ivzgd7iz0i06y36p8m5w48fd8pjqwxhdaavc0pxs7w1g7mcy5si"; sha256 = "1ivzgd7iz0i06y36p8m5w48fd8pjqwxhdaavc0pxs7w1g7mcy5si";
@ -110,12 +133,18 @@ in
systemd.services.plymouth-poweroff.wantedBy = [ "poweroff.target" ]; systemd.services.plymouth-poweroff.wantedBy = [ "poweroff.target" ];
systemd.services.plymouth-reboot.wantedBy = [ "reboot.target" ]; systemd.services.plymouth-reboot.wantedBy = [ "reboot.target" ];
systemd.services.plymouth-read-write.wantedBy = [ "sysinit.target" ]; systemd.services.plymouth-read-write.wantedBy = [ "sysinit.target" ];
systemd.services.systemd-ask-password-plymouth.wantedBy = ["multi-user.target"]; systemd.services.systemd-ask-password-plymouth.wantedBy = [ "multi-user.target" ];
systemd.paths.systemd-ask-password-plymouth.wantedBy = ["multi-user.target"]; systemd.paths.systemd-ask-password-plymouth.wantedBy = [ "multi-user.target" ];
boot.initrd.extraUtilsCommands = '' boot.initrd.extraUtilsCommands = ''
copy_bin_and_libs ${pkgs.plymouth}/bin/plymouthd copy_bin_and_libs ${plymouth}/bin/plymouth
copy_bin_and_libs ${pkgs.plymouth}/bin/plymouth copy_bin_and_libs ${plymouth}/bin/plymouthd
# Check if the actual requested theme is here
if [[ ! -d ${themesEnv}/share/plymouth/themes/${cfg.theme} ]]; then
echo "The requested theme: ${cfg.theme} is not provided by any of the packages in boot.plymouth.themePackages"
exit 1
fi
moduleName="$(sed -n 's,ModuleName *= *,,p' ${themesEnv}/share/plymouth/themes/${cfg.theme}/${cfg.theme}.plymouth)" moduleName="$(sed -n 's,ModuleName *= *,,p' ${themesEnv}/share/plymouth/themes/${cfg.theme}/${cfg.theme}.plymouth)"
@ -127,21 +156,29 @@ in
mkdir -p $out/share/plymouth/themes mkdir -p $out/share/plymouth/themes
cp ${plymouth}/share/plymouth/plymouthd.defaults $out/share/plymouth cp ${plymouth}/share/plymouth/plymouthd.defaults $out/share/plymouth
# copy themes into working directory for patching # Copy themes into working directory for patching
mkdir themes mkdir themes
# use -L to copy the directories proper, not the symlinks to them
cp -r -L ${themesEnv}/share/plymouth/themes/{text,details,${cfg.theme}} themes
# patch out any attempted references to the theme or plymouth's themes directory # Use -L to copy the directories proper, not the symlinks to them.
# Copy all themes because they're not large assets, and bgrt depends on the ImageDir of
# the spinner theme.
cp -r -L ${themesEnv}/share/plymouth/themes/* themes
# Patch out any attempted references to the theme or plymouth's themes directory
chmod -R +w themes chmod -R +w themes
find themes -type f | while read file find themes -type f | while read file
do do
sed -i "s,/nix/.*/share/plymouth/themes,$out/share/plymouth/themes,g" $file sed -i "s,/nix/.*/share/plymouth/themes,$out/share/plymouth/themes,g" $file
done done
# Install themes
cp -r themes/* $out/share/plymouth/themes cp -r themes/* $out/share/plymouth/themes
cp ${cfg.logo} $out/share/plymouth/logo.png
# Install logo
mkdir -p $out/etc/plymouth
cp -r -L ${themesEnv}/etc/plymouth $out
# Setup font
mkdir -p $out/share/fonts mkdir -p $out/share/fonts
cp ${cfg.font} $out/share/fonts cp ${cfg.font} $out/share/fonts
mkdir -p $out/etc/fonts mkdir -p $out/etc/fonts

View file

@ -1,8 +1,8 @@
{ lib, stdenv { lib
, stdenv
, fetchFromGitHub , fetchFromGitHub
, cmake , cmake
, pkg-config , pkg-config
, perl
, asciidoc , asciidoc
, expat , expat
, fontconfig , fontconfig
@ -34,21 +34,26 @@
, libxcb , libxcb
, mkfontdir , mkfontdir
, pcre , pcre
, perl
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "icewm"; pname = "icewm";
version = "2.1.2"; version = "2.2.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "bbidulock"; owner = "bbidulock";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "sha256-n9mLD1WrHsO9W1rxopFQENxQEHp/sxuixV3PxLp2vOY="; hash = "sha256-STM8t311lf0xIqs2Onmwg48xgE7V9VZrUfJrUzYRxL4=";
}; };
nativeBuildInputs = [ cmake pkg-config perl asciidoc ]; nativeBuildInputs = [
asciidoc
cmake
perl
pkg-config
];
buildInputs = [ buildInputs = [
expat expat
fontconfig fontconfig
@ -90,6 +95,7 @@ stdenv.mkDerivation rec {
''; '';
meta = with lib; { meta = with lib; {
homepage = "https://www.ice-wm.org/";
description = "A simple, lightweight X window manager"; description = "A simple, lightweight X window manager";
longDescription = '' longDescription = ''
IceWM is a window manager for the X Window System. The goal of IceWM is IceWM is a window manager for the X Window System. The goal of IceWM is
@ -104,8 +110,7 @@ stdenv.mkDerivation rec {
includes an optional external background wallpaper manager with includes an optional external background wallpaper manager with
transparency support, a simple session manager and a system tray. transparency support, a simple session manager and a system tray.
''; '';
homepage = "https://www.ice-wm.org/"; license = licenses.lgpl2Only;
license = licenses.lgpl2;
maintainers = [ maintainers.AndersonTorres ]; maintainers = [ maintainers.AndersonTorres ];
platforms = platforms.linux; platforms = platforms.linux;
}; };

View file

@ -1,20 +1,23 @@
{ lib, stdenv { lib
, stdenv
, fetchurl , fetchurl
, pkg-config
, which
, autoreconfHook , autoreconfHook
, rep-gtk
, pango
, gdk-pixbuf-xlib , gdk-pixbuf-xlib
, imlib
, gettext , gettext
, texinfo , gtk2
, imlib
, libICE
, libSM
, libXinerama , libXinerama
, libXrandr , libXrandr
, libXtst , libXtst
, libICE , librep
, libSM
, makeWrapper , makeWrapper
, pango
, pkg-config
, rep-gtk
, texinfo
, which
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -26,20 +29,42 @@ stdenv.mkDerivation rec {
sha256 = "18p8srqqj9vjffg13qhspfz2gr1h4vfs10qzlv89g76r289iam31"; sha256 = "18p8srqqj9vjffg13qhspfz2gr1h4vfs10qzlv89g76r289iam31";
}; };
nativeBuildInputs = [ autoreconfHook pkg-config ]; nativeBuildInputs = [
buildInputs = [ which autoreconfHook
rep-gtk pango gdk-pixbuf-xlib imlib gettext texinfo gettext
libXinerama libXrandr libXtst libICE libSM librep
makeWrapper ]; makeWrapper
pkg-config
texinfo
which
];
buildInputs = [
gdk-pixbuf-xlib
gtk2
imlib
libICE
libSM
libXinerama
libXrandr
libXtst
librep
pango
rep-gtk
];
patchPhase = '' postPatch = ''
sed -e 's|REP_DL_LOAD_PATH=|REP_DL_LOAD_PATH=$(REP_DL_LOAD_PATH):|g' -i Makedefs.in sed -e 's|REP_DL_LOAD_PATH=|REP_DL_LOAD_PATH=$(REP_DL_LOAD_PATH):|g' -i Makedefs.in
sed -e 's|$(repexecdir)|$(libdir)/rep|g' -i src/Makefile.in sed -e 's|$(repexecdir)|$(libdir)/rep|g' -i src/Makefile.in
''; '';
strictDeps = true;
postInstall = '' postInstall = ''
for i in $out/lib/sawfish/sawfish-menu $out/bin/sawfish-about \ for i in $out/lib/sawfish/sawfish-menu \
$out/bin/sawfish-client $out/bin/sawfish-config $out/bin/sawfish; do $out/bin/sawfish-about \
$out/bin/sawfish-client \
$out/bin/sawfish-config \
$out/bin/sawfish; do
wrapProgram $i \ wrapProgram $i \
--prefix REP_DL_LOAD_PATH : "$out/lib/rep" \ --prefix REP_DL_LOAD_PATH : "$out/lib/rep" \
--set REP_LOAD_PATH "$out/share/sawfish/lisp" --set REP_LOAD_PATH "$out/share/sawfish/lisp"
@ -47,16 +72,17 @@ stdenv.mkDerivation rec {
''; '';
meta = with lib; { meta = with lib; {
homepage = "http://sawfish.tuxfamily.org/";
description = "An extensible, Lisp-based window manager"; description = "An extensible, Lisp-based window manager";
longDescription = '' longDescription = ''
Sawfish is an extensible window manager using a Lisp-based scripting language. Sawfish is an extensible window manager using a Lisp-based scripting
Its policy is very minimal compared to most window managers. Its aim is simply language. Its policy is very minimal compared to most window managers. Its
to manage windows in the most flexible and attractive manner possible. aim is simply to manage windows in the most flexible and attractive manner
All high-level WM functions are implemented in Lisp for future extensibility possible. All high-level WM functions are implemented in Lisp for future
or redefinition. extensibility or redefinition.
''; '';
homepage = "https://sawfish.fandom.com/wiki/Main_Page"; license = licenses.gpl2Plus;
license = licenses.gpl2; maintainers = with maintainers; [ AndersonTorres ];
maintainers = [ maintainers.AndersonTorres ]; platforms = platforms.unix;
}; };
} }

View file

@ -1,37 +1,49 @@
{ lib, stdenv, fetchurl { lib
, pkg-config, autoreconfHook , stdenv
, readline, texinfo , fetchurl
, gdbm, gmp, libffi }: , autoreconfHook
, gdbm
with lib; , gmp
, libffi
, pkg-config
, readline
, texinfo
}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "librep"; pname = "librep";
version = "0.92.7"; version = "0.92.7";
sourceName = "librep_${version}";
src = fetchurl { src = fetchurl {
url = "https://download.tuxfamily.org/librep/${sourceName}.tar.xz"; url = "https://download.tuxfamily.org/${pname}/${pname}_${version}.tar.xz";
sha256 = "1bmcjl1x1rdh514q9z3hzyjmjmwwwkziipjpjsl301bwmiwrd8a8"; sha256 = "1bmcjl1x1rdh514q9z3hzyjmjmwwwkziipjpjsl301bwmiwrd8a8";
}; };
nativeBuildInputs = [ autoreconfHook pkg-config ]; nativeBuildInputs = [
buildInputs = [ readline texinfo ]; autoreconfHook
propagatedBuildInputs = [ gdbm gmp libffi ]; pkg-config
texinfo
];
buildInputs = [
gdbm
gmp
libffi
readline
];
setupHook = ./setup-hook.sh; setupHook = ./setup-hook.sh;
meta = { meta = with lib;{
homepage = "http://sawfish.tuxfamily.org/";
description = "Fast, lightweight, and versatile Lisp environment"; description = "Fast, lightweight, and versatile Lisp environment";
longDescription = '' longDescription = ''
librep is a Lisp system for UNIX, comprising an librep is a Lisp system for UNIX, comprising an interpreter, a byte-code
interpreter, a byte-code compiler, and a virtual compiler, and a virtual machine. It can serve as an application extension
machine. It can serve as an application extension language language but is also suitable for standalone scripts.
but is also suitable for standalone scripts. '';
''; license = licenses.gpl2Plus;
homepage = "http://sawfish.wikia.com";
license = licenses.gpl2;
maintainers = [ maintainers.AndersonTorres ]; maintainers = [ maintainers.AndersonTorres ];
platforms = platforms.unix;
}; };
} }
# TODO: investigate fetchFromGithub # TODO: investigate fetchFromGithub

View file

@ -1,30 +1,40 @@
{ lib, stdenv, fetchurl, pkg-config, autoreconfHook, librep, gtk2 }: { lib
, stdenv
, fetchurl
, autoreconfHook
, gtk2
, librep
, pkg-config
}:
with lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "rep-gtk"; pname = "rep-gtk";
version = "0.90.8.3"; version = "0.90.8.3";
sourceName = "rep-gtk_${version}";
src = fetchurl { src = fetchurl {
url = "https://download.tuxfamily.org/librep/rep-gtk/${sourceName}.tar.xz"; url = "https://download.tuxfamily.org/librep/${pname}/${pname}_${version}.tar.xz";
sha256 = "0hgkkywm8zczir3lqr727bn7ybgg71x9cwj1av8fykkr8pdpard9"; sha256 = "0hgkkywm8zczir3lqr727bn7ybgg71x9cwj1av8fykkr8pdpard9";
}; };
nativeBuildInputs = [ autoreconfHook pkg-config ]; nativeBuildInputs = [
buildInputs = [ ]; autoreconfHook
propagatedBuildInputs = [ librep gtk2 ]; pkg-config
];
buildInputs = [
gtk2
librep
];
patchPhase = '' patchPhase = ''
sed -e 's|installdir=$(repexecdir)|installdir=$(libdir)/rep|g' -i Makefile.in sed -e 's|installdir=$(repexecdir)|installdir=$(libdir)/rep|g' -i Makefile.in
''; '';
meta = { meta = with lib; {
homepage = "http://sawfish.tuxfamily.org";
description = "GTK bindings for librep"; description = "GTK bindings for librep";
homepage = "http://sawfish.wikia.com"; license = licenses.gpl2Plus;
license = licenses.gpl2;
maintainers = [ maintainers.AndersonTorres ]; maintainers = [ maintainers.AndersonTorres ];
platforms = platforms.unix;
}; };
} }
# TODO: investigate fetchFromGithub # TODO: investigate fetchFromGithub

View file

@ -0,0 +1,30 @@
{ lib
, aiohttp
, buildPythonPackage
, fetchPypi
, pythonOlder
}:
buildPythonPackage rec {
pname = "faadelays";
version = "0.0.6";
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
sha256 = "02z8p0n9d6n4l6v1m969009gxwmy5v14z108r4f3swd6yrk0h2xd";
};
propagatedBuildInputs = [ aiohttp ];
# Project has no tests
doCheck = false;
pythonImportsCheck = [ "faadelays" ];
meta = with lib; {
description = "Python package to retrieve FAA airport status";
homepage = "https://github.com/ntilley905/faadelays";
license = licenses.mit;
maintainers = with maintainers; [ fab ];
};
}

View file

@ -0,0 +1,31 @@
{ lib
, aiohttp
, buildPythonPackage
, fetchPypi
, pycryptodome
, pythonOlder
}:
buildPythonPackage rec {
pname = "pymazda";
version = "0.0.9";
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
sha256 = "15kygabjlxmy3g5kj48ixqdwaz8qrfzxj8ii27cidsp2fq8ph165";
};
propagatedBuildInputs = [ aiohttp pycryptodome ];
# Project has no tests
doCheck = false;
pythonImportsCheck = [ "pymazda" ];
meta = with lib; {
description = "Python client for interacting with the MyMazda API";
homepage = "https://github.com/bdr99/pymazda";
license = licenses.mit;
maintainers = with maintainers; [ fab ];
};
}

View file

@ -0,0 +1,47 @@
{ lib
, aiohttp
, aresponses
, buildPythonPackage
, fetchFromGitHub
, inflection
, pyjwt
, pytest-asyncio
, pytestCheckHook
, python-dateutil
, pythonOlder
}:
buildPythonPackage rec {
pname = "python-smarttub";
version = "0.0.19";
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "mdz";
repo = pname;
rev = "v${version}";
sha256 = "01i4pvgvpl7inwhy53c6b34pi5zvfiv2scn507j8jdg5cjs04g80";
};
propagatedBuildInputs = [
aiohttp
inflection
pyjwt
python-dateutil
];
checkInputs = [
aresponses
pytest-asyncio
pytestCheckHook
];
pythonImportsCheck = [ "smarttub" ];
meta = with lib; {
description = "Python API for SmartTub enabled hot tubs";
homepage = "https://github.com/mdz/python-smarttub";
license = with licenses; [ mit ];
maintainers = with maintainers; [ fab ];
};
}

View file

@ -14,6 +14,7 @@
, mesa , mesa
, libxkbcommon , libxkbcommon
, libappindicator-gtk3 , libappindicator-gtk3
, libxshmfence
}@args: }@args:
let let
@ -21,7 +22,7 @@ let
in in
rec { rec {
electron = electron_11; electron = electron_12;
electron_3 = mkElectron "3.1.13" { electron_3 = mkElectron "3.1.13" {
x86_64-linux = "1psmbplz6jhnnf6hmfhxbmmhn4n1dpnhzbc12pxn645xhfpk9ark"; x86_64-linux = "1psmbplz6jhnnf6hmfhxbmmhn4n1dpnhzbc12pxn645xhfpk9ark";
@ -76,13 +77,13 @@ rec {
headers = "18frb1z5qkyff5z1w44mf4iz9aw9j4lq0h9yxgfnp33zf7sl9qb5"; headers = "18frb1z5qkyff5z1w44mf4iz9aw9j4lq0h9yxgfnp33zf7sl9qb5";
}; };
electron_9 = mkElectron "9.4.3" { electron_9 = mkElectron "9.4.4" {
x86_64-linux = "7744ec8af6512e569d600d7fd8e9105d3ca5ac7b6f54390dd553edbd7816289f"; x86_64-linux = "781d6ca834d415c71078e1c2c198faba926d6fce19e31448bbf4450869135450";
x86_64-darwin = "68c67a32f149618d629eb4a8a8044b98dc6ceedc16d46ff20782fcccad72fc44"; x86_64-darwin = "f41c0bf874ddbba00c3d6989d07f74155a236e2d5a3eaf3d1d19ef8d3eb2256c";
i686-linux = "904955ee8365b95439fb4643844ac868b59525ed230a76c8e0395c0aa5719813"; i686-linux = "40e37f8f908a81c9fac1073fe22309cd6df2d68e685f83274c6d2f0959004187";
armv7l-linux = "5cfb3ae97a75d33d4b102d75944610dd56a566ee98186a030eb5bdbbd3d76323"; armv7l-linux = "2dfe3e21d30526688cc3d3215d06dfddca597a2cb62ff0c9d0d5f33d3e464a33";
aarch64-linux = "8afa647e4b5b1e290d5d852c7420e82916ba740e3e5576599076dc139cd1d556"; aarch64-linux = "f1145e9a1feb5f2955e5f5565962423ac3c52ffe45ccc3b96c6ca485fa35bf27";
headers = "0712160j1yvl9fmj2vm9lznkwnmji1hjzyicb4vis52lbrwx820l"; headers = "0yx8mkrm15ha977hzh7g2sc5fab9sdvlk1bk3yxignhxrqqbw885";
}; };
electron_10 = mkElectron "10.4.0" { electron_10 = mkElectron "10.4.0" {
@ -102,4 +103,13 @@ rec {
aarch64-linux = "fad31c6fba7aba54db19a2aaedb03b514c51dd58bf301afab5265126833feb15"; aarch64-linux = "fad31c6fba7aba54db19a2aaedb03b514c51dd58bf301afab5265126833feb15";
headers = "123g3dgsb4vp8w1bm4apbp973ppzx4i4y35lhhmqjbp51jhrm9f0"; headers = "123g3dgsb4vp8w1bm4apbp973ppzx4i4y35lhhmqjbp51jhrm9f0";
}; };
electron_12 = mkElectron "12.0.0" {
x86_64-linux = "d132a80e08500e783e36a25cb72bc2555ec388798326c22348e3d9ff57fa91f1";
x86_64-darwin = "18546dec0ecc63d1a679762e00bc85fbb820e08f7ca205924681379bb0a7afc2";
i686-linux = "79651836e857f8c860c6ad053346f7e2cf38351160845687b199faba113b9483";
armv7l-linux = "e98eb2df69f240806e283018d4e0349a45b4cb5b6635d1e1c11d869e50cc60cb";
aarch64-linux = "ea26777ffea5e788bb708814c8707e8ac3529146e7738729aa8bd49d0d74bcd1";
headers = "0h7mkz7wmcf0jq8gmq21ag2ax5ivy2wlz0ykw7rv2r4l5686xdjr";
};
} }

View file

@ -14,6 +14,7 @@
, mesa , mesa
, libxkbcommon , libxkbcommon
, libappindicator-gtk3 , libappindicator-gtk3
, libxshmfence
}: }:
version: hashes: version: hashes:
@ -60,6 +61,7 @@ let
[ libuuid at-spi2-atk at-spi2-core libappindicator-gtk3 ] [ libuuid at-spi2-atk at-spi2-core libappindicator-gtk3 ]
++ optionals (! versionOlder version "9.0.0") [ libdrm mesa ] ++ optionals (! versionOlder version "9.0.0") [ libdrm mesa ]
++ optionals (! versionOlder version "11.0.0") [ libxkbcommon ] ++ optionals (! versionOlder version "11.0.0") [ libxkbcommon ]
++ optionals (! versionOlder version "12.0.0") [ libxshmfence ]
); );
linux = { linux = {

View file

@ -1,64 +1,111 @@
{ stdenv, fetchurl, autoreconfHook, pkg-config, libxslt, docbook_xsl { lib
, gtk3, udev, systemd, lib , stdenv
, fetchpatch
, fetchFromGitLab
, pkg-config
, autoreconfHook
, libxslt
, docbook-xsl-nons
, gettext
, gtk3
, systemd
, pango
, cairo
, libdrm
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "plymouth"; pname = "plymouth-unstable";
version = "0.9.4"; version = "2020-12-07";
src = fetchurl { outputs = [
url = "https://www.freedesktop.org/software/plymouth/releases/${pname}-${version}.tar.xz"; "out"
sha256 = "0l8kg7b2vfxgz9gnrn0v2w4jvysj2cirp0nxads5sy05397pl6aa"; "dev"
];
src = fetchFromGitLab {
domain = "gitlab.freedesktop.org";
owner = "plymouth";
repo = "plymouth";
rev = "c4ced2a2d70edea7fbb95274aa1d01d95928df1b";
sha256 = "7CPuKMA0fTt8DBsaA4Td74kHT/O7PW8N3awP04nUnOI=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
autoreconfHook pkg-config libxslt docbook_xsl autoreconfHook
docbook-xsl-nons
gettext
libxslt
pkg-config
]; ];
buildInputs = [ buildInputs = [
gtk3 udev systemd cairo
gtk3
libdrm
pango
systemd
];
patches = [
# KillMode=none is deprecated
# https://gitlab.freedesktop.org/plymouth/plymouth/-/issues/123
(fetchpatch {
url = "https://gitlab.freedesktop.org/plymouth/plymouth/-/commit/b406b0895a95949db2adfedaeda451f36f2b51c3.patch";
sha256 = "/UBImNuFO0G/oxlttjGIXon8YXMXlc9XU8uVuR9QuxY=";
})
]; ];
postPatch = '' postPatch = ''
sed -i \ sed -i \
-e "s#\$(\$PKG_CONFIG --variable=systemdsystemunitdir systemd)#$out/etc/systemd/system#g" \
-e "s#plymouthplugindir=.*#plymouthplugindir=/etc/plymouth/plugins/#" \ -e "s#plymouthplugindir=.*#plymouthplugindir=/etc/plymouth/plugins/#" \
-e "s#plymouththemedir=.*#plymouththemedir=/etc/plymouth/themes#" \ -e "s#plymouththemedir=.*#plymouththemedir=/etc/plymouth/themes#" \
-e "s#plymouthpolicydir=.*#plymouthpolicydir=/etc/plymouth/#" \ -e "s#plymouthpolicydir=.*#plymouthpolicydir=/etc/plymouth/#" \
-e "s#plymouthconfdir=.*#plymouthconfdir=/etc/plymouth/#" \
configure.ac configure.ac
''; '';
configurePlatforms = [ "host" ];
configureFlags = [ configureFlags = [
"--sysconfdir=/etc" "--enable-documentation"
"--with-systemdunitdir=${placeholder "out"}/etc/systemd/system" "--enable-drm"
"--localstatedir=/var"
"--with-logo=/etc/plymouth/logo.png"
"--with-background-color=0x000000"
"--with-background-start-color-stop=0x000000"
"--with-background-end-color-stop=0x000000"
"--with-release-file=/etc/os-release"
"--without-system-root-install"
"--without-rhgb-compat-link"
"--enable-tracing"
"--enable-systemd-integration"
"--enable-pango"
"--enable-gdm-transition"
"--enable-gtk" "--enable-gtk"
"--enable-pango"
"--enable-systemd-integration"
"--enable-tracing"
"--localstatedir=/var"
"--sysconfdir=/etc"
"--with-background-color=0x000000"
"--with-background-end-color-stop=0x000000"
"--with-background-start-color-stop=0x000000"
"--with-logo=/etc/plymouth/logo.png"
"--with-release-file=/etc/os-release"
"--with-runtimedir=/run"
"--with-systemdunitdir=${placeholder "out"}/etc/systemd/system"
"--without-rhgb-compat-link"
"--without-system-root-install"
"ac_cv_path_SYSTEMD_ASK_PASSWORD_AGENT=${lib.getBin systemd}/bin/systemd-tty-ask-password-agent" "ac_cv_path_SYSTEMD_ASK_PASSWORD_AGENT=${lib.getBin systemd}/bin/systemd-tty-ask-password-agent"
]; ];
configurePlatforms = [ "host" ];
installFlags = [ installFlags = [
"plymouthd_defaultsdir=$(out)/share/plymouth" "localstatedir=\${TMPDIR}"
"plymouthd_confdir=$(out)/etc/plymouth" "plymouthd_confdir=${placeholder "out"}/etc/plymouth"
"plymouthd_defaultsdir=${placeholder "out"}/share/plymouth"
"sysconfdir=${placeholder "out"}/etc"
]; ];
postInstall = ''
# Makes a symlink to /usr/share/pixmaps/system-logo-white.png
# We'll handle it in the nixos module.
rm $out/share/plymouth/themes/spinfinity/header-image.png
'';
meta = with lib; { meta = with lib; {
homepage = "http://www.freedesktop.org/wiki/Software/Plymouth"; homepage = "https://www.freedesktop.org/wiki/Software/Plymouth/";
description = "A graphical boot animation"; description = "Boot splash and boot logger";
license = licenses.gpl2; license = licenses.gpl2Plus;
maintainers = [ maintainers.goibhniu ]; maintainers = [ maintainers.goibhniu teams.gnome.members ];
platforms = platforms.linux; platforms = platforms.linux;
}; };
} }

View file

@ -0,0 +1,41 @@
{ bash
, coreutils
, fetchurl
, gnugrep
, lib
, makeWrapper
, moreutils
, stdenv
}:
stdenv.mkDerivation rec {
pname = "zstxtns-utils";
version = "0.0.3";
src = fetchurl {
url = "https://ytrizja.de/distfiles/zstxtns-utils-${version}.tar.gz";
sha256 = "I/Gm7vHUr29NClYWQ1kwu8HrNZpdLXfE/nutTNoqcdU=";
};
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ bash coreutils gnugrep moreutils ];
installPhase = ''
runHook preInstall
install -D -t $out/bin zstxtns-merge zstxtns-unmerge
runHook postInstall
'';
postInstall = ''
wrapProgram $out/bin/zstxtns-merge --prefix PATH ":" "${lib.makeBinPath [coreutils gnugrep moreutils]}"
wrapProgram $out/bin/zstxtns-unmerge --prefix PATH ":" "${lib.makeBinPath [coreutils gnugrep]}"
'';
meta = with lib; {
description = "utilities to deal with text based name service databases";
homepage = "https://ytrizja.de/";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ zseri ];
platforms = platforms.all;
};
}

View file

@ -9393,6 +9393,8 @@ in
zs-apc-spdu-ctl = callPackage ../tools/networking/zs-apc-spdu-ctl { }; zs-apc-spdu-ctl = callPackage ../tools/networking/zs-apc-spdu-ctl { };
zstxtns-utils = callPackage ../tools/text/zstxtns-utils { };
zsh-autoenv = callPackage ../tools/misc/zsh-autoenv { }; zsh-autoenv = callPackage ../tools/misc/zsh-autoenv { };
zsh-autopair = callPackage ../shells/zsh/zsh-autopair { }; zsh-autopair = callPackage ../shells/zsh/zsh-autopair { };
@ -11850,7 +11852,7 @@ in
aws-adfs = with python3Packages; toPythonApplication aws-adfs; aws-adfs = with python3Packages; toPythonApplication aws-adfs;
inherit (callPackages ../development/tools/electron { }) inherit (callPackages ../development/tools/electron { })
electron electron_3 electron_4 electron_5 electron_6 electron_7 electron_8 electron_9 electron_10 electron_11; electron electron_3 electron_4 electron_5 electron_6 electron_7 electron_8 electron_9 electron_10 electron_11 electron_12;
autobuild = callPackage ../development/tools/misc/autobuild { }; autobuild = callPackage ../development/tools/misc/autobuild { };

View file

@ -2173,6 +2173,8 @@ in {
Fabric = callPackage ../development/python-modules/Fabric { }; Fabric = callPackage ../development/python-modules/Fabric { };
faadelays = callPackage ../development/python-modules/faadelays { };
fabulous = callPackage ../development/python-modules/fabulous { }; fabulous = callPackage ../development/python-modules/fabulous { };
facebook-sdk = callPackage ../development/python-modules/facebook-sdk { }; facebook-sdk = callPackage ../development/python-modules/facebook-sdk { };
@ -5722,6 +5724,8 @@ in {
pymavlink = callPackage ../development/python-modules/pymavlink { }; pymavlink = callPackage ../development/python-modules/pymavlink { };
pymazda = callPackage ../development/python-modules/pymazda { };
pymbolic = callPackage ../development/python-modules/pymbolic { }; pymbolic = callPackage ../development/python-modules/pymbolic { };
pymc3 = callPackage ../development/python-modules/pymc3 { }; pymc3 = callPackage ../development/python-modules/pymc3 { };
@ -6523,6 +6527,8 @@ in {
python-slugify = callPackage ../development/python-modules/python-slugify { }; python-slugify = callPackage ../development/python-modules/python-slugify { };
python-smarttub = callPackage ../development/python-modules/python-smarttub { };
python-snap7 = callPackage ../development/python-modules/python-snap7 { python-snap7 = callPackage ../development/python-modules/python-snap7 {
inherit (pkgs) snap7; inherit (pkgs) snap7;
}; };