diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index f012c1b4495d..a514d31dc84c 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -13893,6 +13893,12 @@ github = "wamserma"; githubId = 60148; }; + water-sucks = { + email = "varun@cvte.org"; + name = "Varun Narravula"; + github = "water-sucks"; + githubId = 68445574; + }; waynr = { name = "Wayne Warren"; email = "wayne.warren.s@gmail.com"; diff --git a/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml index 059abceb69f9..b2bdd171cf00 100644 --- a/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml +++ b/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml @@ -125,7 +125,9 @@ - Cinnamon has been updated to 5.4. + Cinnamon has been updated to 5.4. While at it, the cinnamon + module now defaults to blueman as bluetooth manager and + slick-greeter as lightdm greeter to match upstream. diff --git a/nixos/doc/manual/release-notes/rl-2211.section.md b/nixos/doc/manual/release-notes/rl-2211.section.md index 4708fd535965..6107d1f6c705 100644 --- a/nixos/doc/manual/release-notes/rl-2211.section.md +++ b/nixos/doc/manual/release-notes/rl-2211.section.md @@ -50,7 +50,8 @@ In addition to numerous new and upgraded packages, this release has the followin - PHP now defaults to PHP 8.1, updated from 8.0. -- Cinnamon has been updated to 5.4. +- Cinnamon has been updated to 5.4. While at it, the cinnamon module now defaults to + blueman as bluetooth manager and slick-greeter as lightdm greeter to match upstream. - OpenSSL now defaults to OpenSSL 3, updated from 1.1.1. diff --git a/nixos/modules/services/x11/desktop-managers/cinnamon.nix b/nixos/modules/services/x11/desktop-managers/cinnamon.nix index 26a5191761d6..a8e0bf9dddb6 100644 --- a/nixos/modules/services/x11/desktop-managers/cinnamon.nix +++ b/nixos/modules/services/x11/desktop-managers/cinnamon.nix @@ -58,13 +58,18 @@ in }; config = mkMerge [ - (mkIf (cfg.enable && config.services.xserver.displayManager.lightdm.enable && config.services.xserver.displayManager.lightdm.greeters.gtk.enable) { - services.xserver.displayManager.lightdm.greeters.gtk.extraConfig = mkDefault (builtins.readFile "${pkgs.cinnamon.mint-artwork}/etc/lightdm/lightdm-gtk-greeter.conf.d/99_linuxmint.conf"); - }) - (mkIf cfg.enable { services.xserver.displayManager.sessionPackages = [ pkgs.cinnamon.cinnamon-common ]; + services.xserver.displayManager.lightdm.greeters.slick = { + enable = mkDefault true; + + # Taken from mint-artwork.gschema.override + theme.name = mkDefault "Mint-X"; + theme.package = mkDefault pkgs.cinnamon.mint-themes; + iconTheme.name = mkDefault "Mint-X-Dark"; + iconTheme.package = mkDefault pkgs.cinnamon.mint-x-icons; + }; services.xserver.displayManager.sessionCommands = '' if test "$XDG_CURRENT_DESKTOP" = "Cinnamon"; then true diff --git a/nixos/modules/services/x11/display-managers/lightdm-greeters/slick.nix b/nixos/modules/services/x11/display-managers/lightdm-greeters/slick.nix new file mode 100644 index 000000000000..5199f33c0611 --- /dev/null +++ b/nixos/modules/services/x11/display-managers/lightdm-greeters/slick.nix @@ -0,0 +1,124 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + ldmcfg = config.services.xserver.displayManager.lightdm; + cfg = ldmcfg.greeters.slick; + + inherit (pkgs) writeText; + + theme = cfg.theme.package; + icons = cfg.iconTheme.package; + font = cfg.font.package; + + slickGreeterConf = writeText "slick-greeter.conf" '' + [Greeter] + background=${ldmcfg.background} + theme-name=${cfg.theme.name} + icon-theme-name=${cfg.iconTheme.name} + font-name=${cfg.font.name} + draw-user-backgrounds=${boolToString cfg.draw-user-backgrounds} + ${cfg.extraConfig} + ''; +in +{ + options = { + services.xserver.displayManager.lightdm.greeters.slick = { + enable = mkOption { + type = types.bool; + default = true; + description = lib.mdDoc '' + Whether to enable lightdm-slick-greeter as the lightdm greeter. + ''; + }; + + theme = { + package = mkOption { + type = types.package; + default = pkgs.gnome.gnome-themes-extra; + defaultText = literalExpression "pkgs.gnome.gnome-themes-extra"; + description = lib.mdDoc '' + The package path that contains the theme given in the name option. + ''; + }; + + name = mkOption { + type = types.str; + default = "Adwaita"; + description = lib.mdDoc '' + Name of the theme to use for the lightdm-slick-greeter. + ''; + }; + }; + + iconTheme = { + package = mkOption { + type = types.package; + default = pkgs.gnome.adwaita-icon-theme; + defaultText = literalExpression "pkgs.gnome.adwaita-icon-theme"; + description = lib.mdDoc '' + The package path that contains the icon theme given in the name option. + ''; + }; + + name = mkOption { + type = types.str; + default = "Adwaita"; + description = lib.mdDoc '' + Name of the icon theme to use for the lightdm-slick-greeter. + ''; + }; + }; + + font = { + package = mkOption { + type = types.package; + default = pkgs.ubuntu_font_family; + defaultText = literalExpression "pkgs.ubuntu_font_family"; + description = lib.mdDoc '' + The package path that contains the font given in the name option. + ''; + }; + + name = mkOption { + type = types.str; + default = "Ubuntu 11"; + description = lib.mdDoc '' + Name of the font to use. + ''; + }; + }; + + draw-user-backgrounds = mkEnableOption "draw user backgrounds"; + + extraConfig = mkOption { + type = types.lines; + default = ""; + description = lib.mdDoc '' + Extra configuration that should be put in the lightdm-slick-greeter.conf + configuration file. + ''; + }; + }; + }; + + config = mkIf (ldmcfg.enable && cfg.enable) { + services.xserver.displayManager.lightdm = { + greeters.gtk.enable = false; + greeter = mkDefault { + package = pkgs.lightdm-slick-greeter.xgreeters; + name = "lightdm-slick-greeter"; + }; + }; + + environment.systemPackages = [ + icons + theme + ]; + + fonts.fonts = [ font ]; + + environment.etc."lightdm/slick-greeter.conf".source = slickGreeterConf; + }; +} diff --git a/nixos/modules/services/x11/display-managers/lightdm.nix b/nixos/modules/services/x11/display-managers/lightdm.nix index 2d1ae0ed0a36..1d557fb5f33d 100644 --- a/nixos/modules/services/x11/display-managers/lightdm.nix +++ b/nixos/modules/services/x11/display-managers/lightdm.nix @@ -82,6 +82,7 @@ in ./lightdm-greeters/enso-os.nix ./lightdm-greeters/pantheon.nix ./lightdm-greeters/tiny.nix + ./lightdm-greeters/slick.nix (mkRenamedOptionModule [ "services" "xserver" "displayManager" "lightdm" "autoLogin" "enable" ] [ "services" "xserver" diff --git a/pkgs/applications/display-managers/lightdm-slick-greeter/default.nix b/pkgs/applications/display-managers/lightdm-slick-greeter/default.nix new file mode 100644 index 000000000000..fe8132fb1b46 --- /dev/null +++ b/pkgs/applications/display-managers/lightdm-slick-greeter/default.nix @@ -0,0 +1,110 @@ +{ lib +, stdenv +, fetchFromGitHub +, pkg-config +, python3 +, vala +, intltool +, autoreconfHook +, wrapGAppsHook +, lightdm +, gtk3 +, pixman +, libcanberra +, libX11 +, libXext +, linkFarm +, lightdm-slick-greeter +, numlockx +}: + +stdenv.mkDerivation rec { + pname = "lightdm-slick-greeter"; + version = "1.5.9"; + + src = fetchFromGitHub { + owner = "linuxmint"; + repo = "slick-greeter"; + rev = version; + sha256 = "sha256-UEzidH4ZWggcOWHHuAclHbbgATDBdogL99Ze0PlwRoc="; + }; + + nativeBuildInputs = [ + pkg-config + vala + intltool + autoreconfHook + wrapGAppsHook + python3 + python3.pkgs.wrapPython + ]; + + buildInputs = [ + lightdm + gtk3 + pixman + libcanberra + libX11 + libXext + ]; + + pythonPath = [ + python3.pkgs.pygobject3 # for slick-greeter-check-hidpi + ]; + + postPatch = '' + substituteInPlace src/slick-greeter.vala \ + --replace "/usr/bin/numlockx" "${numlockx}/bin/numlockx" \ + --replace "/usr/share/xsessions/" "/run/current-system/sw/share/xsessions/" \ + --replace "/usr/bin/slick-greeter" "${placeholder "out"}/bin/slick-greeter" + + substituteInPlace src/session-list.vala \ + --replace "/usr/share" "${placeholder "out"}/share" + + patchShebangs files/usr/bin/* + ''; + + preAutoreconf = '' + # intltoolize fails during autoreconfPhase unless this + # directory is created manually. + mkdir m4 + ''; + + configureFlags = [ + "--localstatedir=/var" + "--sysconfdir=/etc" + "--sbindir=${placeholder "out"}/bin" + ]; + + installFlags = [ + "localstatedir=\${TMPDIR}" + "sysconfdir=${placeholder "out"}/etc" + ]; + + postInstall = '' + substituteInPlace "$out/share/xgreeters/slick-greeter.desktop" \ + --replace "Exec=slick-greeter" "Exec=$out/bin/slick-greeter" + + cp -r files/usr/* $out + ''; + + preFixup = '' + buildPythonPath "$out $pythonPath" + gappsWrapperArgs+=( + --prefix PYTHONPATH : "$program_PYTHONPATH" + ) + ''; + + passthru.xgreeters = linkFarm "lightdm-slick-greeter-xgreeters" [{ + path = "${lightdm-slick-greeter}/share/xgreeters/slick-greeter.desktop"; + name = "lightdm-slick-greeter.desktop"; + }]; + + meta = with lib; { + description = "A slick-looking LightDM greeter"; + homepage = "https://github.com/linuxmint/slick-greeter"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ water-sucks ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/misc/variety/default.nix b/pkgs/applications/misc/variety/default.nix index 40a6366f87c9..42c2a429de96 100644 --- a/pkgs/applications/misc/variety/default.nix +++ b/pkgs/applications/misc/variety/default.nix @@ -17,13 +17,13 @@ python3.pkgs.buildPythonApplication rec { pname = "variety"; - version = "0.8.7"; + version = "0.8.9"; src = fetchFromGitHub { owner = "varietywalls"; repo = "variety"; - rev = version; - hash = "sha256-OFQiZe8G5v4F8HUJPeEM3ggVWHaALT1txy/aymHZ+jc="; + rev = "refs/tags/${version}"; + hash = "sha256-Tm8RXn2S/NDUD3JWeCHKqSFkxZPJdNMojPGnU4WEpr0="; }; nativeBuildInputs = [ diff --git a/pkgs/applications/networking/browsers/dillo/default.nix b/pkgs/applications/networking/browsers/dillo/default.nix index 72a1601d1872..9c409c29818c 100644 --- a/pkgs/applications/networking/browsers/dillo/default.nix +++ b/pkgs/applications/networking/browsers/dillo/default.nix @@ -1,37 +1,63 @@ -{ lib, stdenv, fetchurl +{ lib +, stdenv +, fetchhg +, autoreconfHook , fltk +, libXcursor +, libXi +, libXinerama +, libjpeg +, libpng +, mbedtls , openssl -, libjpeg, libpng , perl -, libXcursor, libXi, libXinerama }: +, pkg-config +, which +}: -stdenv.mkDerivation rec { - version = "3.0.5"; +stdenv.mkDerivation { pname = "dillo"; + version = "unstable-2021-02-09"; - src = fetchurl { - url = "https://www.dillo.org/download/${pname}-${version}.tar.bz2"; - sha256 = "12ql8n1lypv3k5zqgwjxlw1md90ixz3ag6j1gghfnhjq3inf26yv"; + src = fetchhg { + url = "https://hg.sr.ht/~seirdy/dillo-mirror"; + rev = "67b70f024568b505633524be61fcfbde5337849f"; + sha256 = "sha256-lbn5u9oEL0zt9yBhznBS9Dz9/6kSwRDJeNXKEojty1g="; }; - buildInputs = with lib; - [ perl fltk openssl libjpeg libpng libXcursor libXi libXinerama ]; + nativeBuildInputs = [ + autoreconfHook + pkg-config + which + ]; + + buildInputs = [ + fltk + libXcursor + libXi + libXinerama + libjpeg + libpng + mbedtls + openssl + perl + ]; # Workaround build failure on -fno-common toolchains: # ld: main.o:/build/dillo-3.0.5/dpid/dpid.h:64: multiple definition of `sock_set'; # dpid.o:/build/dillo-3.0.5/dpid/dpid.h:64: first defined here NIX_CFLAGS_COMPILE = "-fcommon"; - configureFlags = [ "--enable-ssl" ]; + configureFlags = [ "--enable-ssl=yes" ]; meta = with lib; { - homepage = "https://www.dillo.org/"; + homepage = "https://hg.sr.ht/~seirdy/dillo-mirror"; description = "A fast graphical web browser with a small footprint"; longDescription = '' Dillo is a small, fast web browser, tailored for older machines. ''; maintainers = [ maintainers.AndersonTorres ]; platforms = platforms.linux; - license = licenses.gpl3; + license = licenses.gpl3Plus; }; } diff --git a/pkgs/applications/networking/cluster/werf/default.nix b/pkgs/applications/networking/cluster/werf/default.nix index 43c7b6b1396e..747d06cdd7a3 100644 --- a/pkgs/applications/networking/cluster/werf/default.nix +++ b/pkgs/applications/networking/cluster/werf/default.nix @@ -11,13 +11,13 @@ buildGoModule rec { pname = "werf"; - version = "1.2.160"; + version = "1.2.163"; src = fetchFromGitHub { owner = "werf"; repo = "werf"; rev = "v${version}"; - sha256 = "sha256-UeZpH6A/N+frShOOVeRCsIXdBKiI0chsxQvsGJF5JwE="; + sha256 = "sha256-TgXJ5l/vWHIlAEMmPWM50AOMHU9crsmjtxJdmGzPM+w="; }; vendorSha256 = "sha256-XpSAFiweD2oUKleD6ztDp1+3PpfUWXfGaaE/9mzRrUQ="; diff --git a/pkgs/data/misc/v2ray-geoip/default.nix b/pkgs/data/misc/v2ray-geoip/default.nix index 0788bff7f368..d71a50ecb68c 100644 --- a/pkgs/data/misc/v2ray-geoip/default.nix +++ b/pkgs/data/misc/v2ray-geoip/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "v2ray-geoip"; - version = "202208040058"; + version = "202208180100"; src = fetchFromGitHub { owner = "v2fly"; repo = "geoip"; - rev = "97174fe0eeb28838b0e5e805687d230df773e661"; - sha256 = "sha256-hodJ4HQHbv9voSS847pAHd3YSmfkV7fKyJhEUApVN+w="; + rev = "005c33be4dd95339596ddd5ce792e8f97dd168a3"; + sha256 = "sha256-KvEmgtbelZOauE2WBTzJkwJkaUVW2x8ezgmTE+Gbwu8="; }; installPhase = '' diff --git a/pkgs/desktops/cinnamon/mint-artwork/default.nix b/pkgs/desktops/cinnamon/mint-artwork/default.nix index 16ad17294071..833a28967b4d 100644 --- a/pkgs/desktops/cinnamon/mint-artwork/default.nix +++ b/pkgs/desktops/cinnamon/mint-artwork/default.nix @@ -28,7 +28,6 @@ stdenv.mkDerivation rec { -e s,DMZ-White,Vanilla-DMZ,g \ -e s,DMZ-Black,Vanilla-DMZ-AA,g \ -e s,linuxmint-logo-5,cinnamon-symbolic,g \ - -e s,^theme-name=Mint-X$,theme-name=Mint-X-Dark,g \ {} + # fixup broken symlink diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 62905581c896..70af7d9e898a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -30714,6 +30714,8 @@ with pkgs; inherit (xfce) xfce4-dev-tools; }; + lightdm-slick-greeter = callPackage ../applications/display-managers/lightdm-slick-greeter { }; + lightdm-mini-greeter = callPackage ../applications/display-managers/lightdm-mini-greeter { }; lightdm-tiny-greeter = callPackage ../applications/display-managers/lightdm-tiny-greeter {