diff --git a/nixos/modules/system/boot/plymouth.nix b/nixos/modules/system/boot/plymouth.nix index ef9168999443..2a545e552513 100644 --- a/nixos/modules/system/boot/plymouth.nix +++ b/nixos/modules/system/boot/plymouth.nix @@ -4,8 +4,7 @@ with lib; let - inherit (pkgs) plymouth; - inherit (pkgs) nixos-icons; + inherit (pkgs) plymouth nixos-icons; cfg = config.boot.plymouth; @@ -16,14 +15,37 @@ let 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 { name = "plymouth-themes"; - paths = [ plymouth ] ++ cfg.themePackages; + paths = [ + plymouth + plymouthLogos + ] ++ cfg.themePackages; }; configFile = pkgs.writeText "plymouthd.conf" '' [Daemon] ShowDelay=0 + DeviceTimeout=8 Theme=${cfg.theme} ${cfg.extraConfig} ''; @@ -47,7 +69,7 @@ in }; themePackages = mkOption { - default = [ nixosBreezePlymouth ]; + default = lib.optional (cfg.theme == "breeze") nixosBreezePlymouth; type = types.listOf types.package; description = '' Extra theme packages for plymouth. @@ -55,7 +77,7 @@ in }; theme = mkOption { - default = "breeze"; + default = "bgrt"; type = types.str; description = '' Splash screen theme. @@ -64,7 +86,8 @@ in logo = mkOption { 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 { url = "https://nixos.org/logo/nixos-hires.png"; sha256 = "1ivzgd7iz0i06y36p8m5w48fd8pjqwxhdaavc0pxs7w1g7mcy5si"; @@ -110,12 +133,18 @@ in systemd.services.plymouth-poweroff.wantedBy = [ "poweroff.target" ]; systemd.services.plymouth-reboot.wantedBy = [ "reboot.target" ]; systemd.services.plymouth-read-write.wantedBy = [ "sysinit.target" ]; - systemd.services.systemd-ask-password-plymouth.wantedBy = ["multi-user.target"]; - systemd.paths.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" ]; boot.initrd.extraUtilsCommands = '' - copy_bin_and_libs ${pkgs.plymouth}/bin/plymouthd - copy_bin_and_libs ${pkgs.plymouth}/bin/plymouth + copy_bin_and_libs ${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)" @@ -127,21 +156,29 @@ in mkdir -p $out/share/plymouth/themes 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 - # 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 find themes -type f | while read file do sed -i "s,/nix/.*/share/plymouth/themes,$out/share/plymouth/themes,g" $file done + # Install 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 cp ${cfg.font} $out/share/fonts mkdir -p $out/etc/fonts diff --git a/pkgs/applications/window-managers/icewm/default.nix b/pkgs/applications/window-managers/icewm/default.nix index 571c13e94619..8f1a920296ae 100644 --- a/pkgs/applications/window-managers/icewm/default.nix +++ b/pkgs/applications/window-managers/icewm/default.nix @@ -1,8 +1,8 @@ -{ lib, stdenv +{ lib +, stdenv , fetchFromGitHub , cmake , pkg-config -, perl , asciidoc , expat , fontconfig @@ -34,21 +34,26 @@ , libxcb , mkfontdir , pcre +, perl }: stdenv.mkDerivation rec { pname = "icewm"; - version = "2.1.2"; + version = "2.2.0"; src = fetchFromGitHub { owner = "bbidulock"; repo = pname; rev = version; - sha256 = "sha256-n9mLD1WrHsO9W1rxopFQENxQEHp/sxuixV3PxLp2vOY="; + hash = "sha256-STM8t311lf0xIqs2Onmwg48xgE7V9VZrUfJrUzYRxL4="; }; - nativeBuildInputs = [ cmake pkg-config perl asciidoc ]; - + nativeBuildInputs = [ + asciidoc + cmake + perl + pkg-config + ]; buildInputs = [ expat fontconfig @@ -90,6 +95,7 @@ stdenv.mkDerivation rec { ''; meta = with lib; { + homepage = "https://www.ice-wm.org/"; description = "A simple, lightweight X window manager"; longDescription = '' 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 transparency support, a simple session manager and a system tray. ''; - homepage = "https://www.ice-wm.org/"; - license = licenses.lgpl2; + license = licenses.lgpl2Only; maintainers = [ maintainers.AndersonTorres ]; platforms = platforms.linux; }; diff --git a/pkgs/applications/window-managers/sawfish/default.nix b/pkgs/applications/window-managers/sawfish/default.nix index 7615c6c4bd80..cb76f0c465cc 100644 --- a/pkgs/applications/window-managers/sawfish/default.nix +++ b/pkgs/applications/window-managers/sawfish/default.nix @@ -1,20 +1,23 @@ -{ lib, stdenv +{ lib +, stdenv , fetchurl -, pkg-config -, which , autoreconfHook -, rep-gtk -, pango , gdk-pixbuf-xlib -, imlib , gettext -, texinfo +, gtk2 +, imlib +, libICE +, libSM , libXinerama , libXrandr , libXtst -, libICE -, libSM +, librep , makeWrapper +, pango +, pkg-config +, rep-gtk +, texinfo +, which }: stdenv.mkDerivation rec { @@ -26,20 +29,42 @@ stdenv.mkDerivation rec { sha256 = "18p8srqqj9vjffg13qhspfz2gr1h4vfs10qzlv89g76r289iam31"; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ which - rep-gtk pango gdk-pixbuf-xlib imlib gettext texinfo - libXinerama libXrandr libXtst libICE libSM - makeWrapper ]; + nativeBuildInputs = [ + autoreconfHook + gettext + librep + 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|$(repexecdir)|$(libdir)/rep|g' -i src/Makefile.in ''; + strictDeps = true; + postInstall = '' - for i in $out/lib/sawfish/sawfish-menu $out/bin/sawfish-about \ - $out/bin/sawfish-client $out/bin/sawfish-config $out/bin/sawfish; do + for i in $out/lib/sawfish/sawfish-menu \ + $out/bin/sawfish-about \ + $out/bin/sawfish-client \ + $out/bin/sawfish-config \ + $out/bin/sawfish; do wrapProgram $i \ --prefix REP_DL_LOAD_PATH : "$out/lib/rep" \ --set REP_LOAD_PATH "$out/share/sawfish/lisp" @@ -47,16 +72,17 @@ stdenv.mkDerivation rec { ''; meta = with lib; { + homepage = "http://sawfish.tuxfamily.org/"; description = "An extensible, Lisp-based window manager"; longDescription = '' - Sawfish is an extensible window manager using a Lisp-based scripting language. - Its policy is very minimal compared to most window managers. Its aim is simply - to manage windows in the most flexible and attractive manner possible. - All high-level WM functions are implemented in Lisp for future extensibility - or redefinition. + Sawfish is an extensible window manager using a Lisp-based scripting + language. Its policy is very minimal compared to most window managers. Its + aim is simply to manage windows in the most flexible and attractive manner + possible. All high-level WM functions are implemented in Lisp for future + extensibility or redefinition. ''; - homepage = "https://sawfish.fandom.com/wiki/Main_Page"; - license = licenses.gpl2; - maintainers = [ maintainers.AndersonTorres ]; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ AndersonTorres ]; + platforms = platforms.unix; }; } diff --git a/pkgs/development/libraries/librep/default.nix b/pkgs/development/libraries/librep/default.nix index 74c45f00adcf..cd007c5fe57a 100644 --- a/pkgs/development/libraries/librep/default.nix +++ b/pkgs/development/libraries/librep/default.nix @@ -1,37 +1,49 @@ -{ lib, stdenv, fetchurl -, pkg-config, autoreconfHook -, readline, texinfo -, gdbm, gmp, libffi }: - -with lib; +{ lib +, stdenv +, fetchurl +, autoreconfHook +, gdbm +, gmp +, libffi +, pkg-config +, readline +, texinfo +}: stdenv.mkDerivation rec { pname = "librep"; version = "0.92.7"; - sourceName = "librep_${version}"; src = fetchurl { - url = "https://download.tuxfamily.org/librep/${sourceName}.tar.xz"; + url = "https://download.tuxfamily.org/${pname}/${pname}_${version}.tar.xz"; sha256 = "1bmcjl1x1rdh514q9z3hzyjmjmwwwkziipjpjsl301bwmiwrd8a8"; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ readline texinfo ]; - propagatedBuildInputs = [ gdbm gmp libffi ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + texinfo + ]; + buildInputs = [ + gdbm + gmp + libffi + readline + ]; setupHook = ./setup-hook.sh; - meta = { + meta = with lib;{ + homepage = "http://sawfish.tuxfamily.org/"; description = "Fast, lightweight, and versatile Lisp environment"; longDescription = '' - librep is a Lisp system for UNIX, comprising an - interpreter, a byte-code compiler, and a virtual - machine. It can serve as an application extension language - but is also suitable for standalone scripts. - ''; - homepage = "http://sawfish.wikia.com"; - license = licenses.gpl2; + librep is a Lisp system for UNIX, comprising an interpreter, a byte-code + compiler, and a virtual machine. It can serve as an application extension + language but is also suitable for standalone scripts. + ''; + license = licenses.gpl2Plus; maintainers = [ maintainers.AndersonTorres ]; + platforms = platforms.unix; }; } # TODO: investigate fetchFromGithub diff --git a/pkgs/development/libraries/rep-gtk/default.nix b/pkgs/development/libraries/rep-gtk/default.nix index 618c91421b6a..433da05d088f 100644 --- a/pkgs/development/libraries/rep-gtk/default.nix +++ b/pkgs/development/libraries/rep-gtk/default.nix @@ -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 { - pname = "rep-gtk"; version = "0.90.8.3"; - sourceName = "rep-gtk_${version}"; 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"; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; - buildInputs = [ ]; - propagatedBuildInputs = [ librep gtk2 ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + buildInputs = [ + gtk2 + librep + ]; patchPhase = '' 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"; - homepage = "http://sawfish.wikia.com"; - license = licenses.gpl2; + license = licenses.gpl2Plus; maintainers = [ maintainers.AndersonTorres ]; + platforms = platforms.unix; }; } # TODO: investigate fetchFromGithub diff --git a/pkgs/development/python-modules/faadelays/default.nix b/pkgs/development/python-modules/faadelays/default.nix new file mode 100644 index 000000000000..3175aabcae84 --- /dev/null +++ b/pkgs/development/python-modules/faadelays/default.nix @@ -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 ]; + }; +} diff --git a/pkgs/development/python-modules/pymazda/default.nix b/pkgs/development/python-modules/pymazda/default.nix new file mode 100644 index 000000000000..145b405922d8 --- /dev/null +++ b/pkgs/development/python-modules/pymazda/default.nix @@ -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 ]; + }; +} diff --git a/pkgs/development/python-modules/python-smarttub/default.nix b/pkgs/development/python-modules/python-smarttub/default.nix new file mode 100644 index 000000000000..3e5889b93560 --- /dev/null +++ b/pkgs/development/python-modules/python-smarttub/default.nix @@ -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 ]; + }; +} diff --git a/pkgs/development/tools/electron/default.nix b/pkgs/development/tools/electron/default.nix index 6ea866eb8f5c..e0792fbc36ba 100644 --- a/pkgs/development/tools/electron/default.nix +++ b/pkgs/development/tools/electron/default.nix @@ -14,6 +14,7 @@ , mesa , libxkbcommon , libappindicator-gtk3 +, libxshmfence }@args: let @@ -21,7 +22,7 @@ let in rec { - electron = electron_11; + electron = electron_12; electron_3 = mkElectron "3.1.13" { x86_64-linux = "1psmbplz6jhnnf6hmfhxbmmhn4n1dpnhzbc12pxn645xhfpk9ark"; @@ -76,13 +77,13 @@ rec { headers = "18frb1z5qkyff5z1w44mf4iz9aw9j4lq0h9yxgfnp33zf7sl9qb5"; }; - electron_9 = mkElectron "9.4.3" { - x86_64-linux = "7744ec8af6512e569d600d7fd8e9105d3ca5ac7b6f54390dd553edbd7816289f"; - x86_64-darwin = "68c67a32f149618d629eb4a8a8044b98dc6ceedc16d46ff20782fcccad72fc44"; - i686-linux = "904955ee8365b95439fb4643844ac868b59525ed230a76c8e0395c0aa5719813"; - armv7l-linux = "5cfb3ae97a75d33d4b102d75944610dd56a566ee98186a030eb5bdbbd3d76323"; - aarch64-linux = "8afa647e4b5b1e290d5d852c7420e82916ba740e3e5576599076dc139cd1d556"; - headers = "0712160j1yvl9fmj2vm9lznkwnmji1hjzyicb4vis52lbrwx820l"; + electron_9 = mkElectron "9.4.4" { + x86_64-linux = "781d6ca834d415c71078e1c2c198faba926d6fce19e31448bbf4450869135450"; + x86_64-darwin = "f41c0bf874ddbba00c3d6989d07f74155a236e2d5a3eaf3d1d19ef8d3eb2256c"; + i686-linux = "40e37f8f908a81c9fac1073fe22309cd6df2d68e685f83274c6d2f0959004187"; + armv7l-linux = "2dfe3e21d30526688cc3d3215d06dfddca597a2cb62ff0c9d0d5f33d3e464a33"; + aarch64-linux = "f1145e9a1feb5f2955e5f5565962423ac3c52ffe45ccc3b96c6ca485fa35bf27"; + headers = "0yx8mkrm15ha977hzh7g2sc5fab9sdvlk1bk3yxignhxrqqbw885"; }; electron_10 = mkElectron "10.4.0" { @@ -102,4 +103,13 @@ rec { aarch64-linux = "fad31c6fba7aba54db19a2aaedb03b514c51dd58bf301afab5265126833feb15"; 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"; + }; } diff --git a/pkgs/development/tools/electron/generic.nix b/pkgs/development/tools/electron/generic.nix index e29064e673ad..c60ab738aa45 100644 --- a/pkgs/development/tools/electron/generic.nix +++ b/pkgs/development/tools/electron/generic.nix @@ -14,6 +14,7 @@ , mesa , libxkbcommon , libappindicator-gtk3 +, libxshmfence }: version: hashes: @@ -60,6 +61,7 @@ let [ libuuid at-spi2-atk at-spi2-core libappindicator-gtk3 ] ++ optionals (! versionOlder version "9.0.0") [ libdrm mesa ] ++ optionals (! versionOlder version "11.0.0") [ libxkbcommon ] + ++ optionals (! versionOlder version "12.0.0") [ libxshmfence ] ); linux = { diff --git a/pkgs/os-specific/linux/plymouth/default.nix b/pkgs/os-specific/linux/plymouth/default.nix index c167b202c8d6..8cb2a00987e1 100644 --- a/pkgs/os-specific/linux/plymouth/default.nix +++ b/pkgs/os-specific/linux/plymouth/default.nix @@ -1,64 +1,111 @@ -{ stdenv, fetchurl, autoreconfHook, pkg-config, libxslt, docbook_xsl -, gtk3, udev, systemd, lib +{ lib +, stdenv +, fetchpatch +, fetchFromGitLab +, pkg-config +, autoreconfHook +, libxslt +, docbook-xsl-nons +, gettext +, gtk3 +, systemd +, pango +, cairo +, libdrm }: stdenv.mkDerivation rec { - pname = "plymouth"; - version = "0.9.4"; + pname = "plymouth-unstable"; + version = "2020-12-07"; - src = fetchurl { - url = "https://www.freedesktop.org/software/plymouth/releases/${pname}-${version}.tar.xz"; - sha256 = "0l8kg7b2vfxgz9gnrn0v2w4jvysj2cirp0nxads5sy05397pl6aa"; + outputs = [ + "out" + "dev" + ]; + + src = fetchFromGitLab { + domain = "gitlab.freedesktop.org"; + owner = "plymouth"; + repo = "plymouth"; + rev = "c4ced2a2d70edea7fbb95274aa1d01d95928df1b"; + sha256 = "7CPuKMA0fTt8DBsaA4Td74kHT/O7PW8N3awP04nUnOI="; }; nativeBuildInputs = [ - autoreconfHook pkg-config libxslt docbook_xsl + autoreconfHook + docbook-xsl-nons + gettext + libxslt + pkg-config ]; 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 = '' sed -i \ - -e "s#\$(\$PKG_CONFIG --variable=systemdsystemunitdir systemd)#$out/etc/systemd/system#g" \ -e "s#plymouthplugindir=.*#plymouthplugindir=/etc/plymouth/plugins/#" \ -e "s#plymouththemedir=.*#plymouththemedir=/etc/plymouth/themes#" \ -e "s#plymouthpolicydir=.*#plymouthpolicydir=/etc/plymouth/#" \ + -e "s#plymouthconfdir=.*#plymouthconfdir=/etc/plymouth/#" \ configure.ac ''; + configurePlatforms = [ "host" ]; + configureFlags = [ - "--sysconfdir=/etc" - "--with-systemdunitdir=${placeholder "out"}/etc/systemd/system" - "--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-documentation" + "--enable-drm" "--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" ]; - configurePlatforms = [ "host" ]; - installFlags = [ - "plymouthd_defaultsdir=$(out)/share/plymouth" - "plymouthd_confdir=$(out)/etc/plymouth" + "localstatedir=\${TMPDIR}" + "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; { - homepage = "http://www.freedesktop.org/wiki/Software/Plymouth"; - description = "A graphical boot animation"; - license = licenses.gpl2; - maintainers = [ maintainers.goibhniu ]; + homepage = "https://www.freedesktop.org/wiki/Software/Plymouth/"; + description = "Boot splash and boot logger"; + license = licenses.gpl2Plus; + maintainers = [ maintainers.goibhniu teams.gnome.members ]; platforms = platforms.linux; }; } diff --git a/pkgs/tools/text/zstxtns-utils/default.nix b/pkgs/tools/text/zstxtns-utils/default.nix new file mode 100644 index 000000000000..839a54933742 --- /dev/null +++ b/pkgs/tools/text/zstxtns-utils/default.nix @@ -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; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9b9a68dbb134..97a0e998a24a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9393,6 +9393,8 @@ in 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-autopair = callPackage ../shells/zsh/zsh-autopair { }; @@ -11850,7 +11852,7 @@ in aws-adfs = with python3Packages; toPythonApplication aws-adfs; 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 { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index d937a8bf7e48..e81958726a45 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2173,6 +2173,8 @@ in { Fabric = callPackage ../development/python-modules/Fabric { }; + faadelays = callPackage ../development/python-modules/faadelays { }; + fabulous = callPackage ../development/python-modules/fabulous { }; facebook-sdk = callPackage ../development/python-modules/facebook-sdk { }; @@ -5722,6 +5724,8 @@ in { pymavlink = callPackage ../development/python-modules/pymavlink { }; + pymazda = callPackage ../development/python-modules/pymazda { }; + pymbolic = callPackage ../development/python-modules/pymbolic { }; pymc3 = callPackage ../development/python-modules/pymc3 { }; @@ -6523,6 +6527,8 @@ in { python-slugify = callPackage ../development/python-modules/python-slugify { }; + python-smarttub = callPackage ../development/python-modules/python-smarttub { }; + python-snap7 = callPackage ../development/python-modules/python-snap7 { inherit (pkgs) snap7; };