From 439696441e4d1e221fcee3f9289890e5f704f737 Mon Sep 17 00:00:00 2001 From: AndersonTorres Date: Thu, 28 Jul 2022 01:29:46 -0300 Subject: [PATCH 1/4] fvwm: move-rename to fvwm2 In order to introduce fvwm3, since 2.6.x is now in maintenance mode, with the new development occurring in a new repository. --- .../fvwm/{default.nix => 2.6.nix} | 49 ++++++++++++++----- pkgs/top-level/all-packages.nix | 3 +- 2 files changed, 38 insertions(+), 14 deletions(-) rename pkgs/applications/window-managers/fvwm/{default.nix => 2.6.nix} (51%) diff --git a/pkgs/applications/window-managers/fvwm/default.nix b/pkgs/applications/window-managers/fvwm/2.6.nix similarity index 51% rename from pkgs/applications/window-managers/fvwm/default.nix rename to pkgs/applications/window-managers/fvwm/2.6.nix index 07c3573fb2a7..2cecb81ea04b 100644 --- a/pkgs/applications/window-managers/fvwm/default.nix +++ b/pkgs/applications/window-managers/fvwm/2.6.nix @@ -1,6 +1,25 @@ -{ autoreconfHook, enableGestures ? false, lib, stdenv, fetchFromGitHub -, pkg-config, cairo, fontconfig, freetype, libXft, libXcursor, libXinerama -, libXpm, libXt, librsvg, libpng, fribidi, perl, libstroke, readline, libxslt }: +{ lib +, stdenv +, fetchFromGitHub +, autoreconfHook +, cairo +, fontconfig +, freetype +, fribidi +, libXcursor +, libXft +, libXinerama +, libXpm +, libXt +, libpng +, librsvg +, libstroke +, libxslt +, perl +, pkg-config +, readline +, enableGestures ? false +}: stdenv.mkDerivation rec { pname = "fvwm"; @@ -10,34 +29,38 @@ stdenv.mkDerivation rec { owner = "fvwmorg"; repo = pname; rev = version; - sha256 = "14jwckhikc9n4h93m00pzjs7xm2j0dcsyzv3q5vbcnknp6p4w5dh"; + hash = "sha256-sBVOrrl2WrZ2wWN/r1kDUtR+tPwXgDoSJDaxGeFkXJI="; }; nativeBuildInputs = [ autoreconfHook pkg-config ]; + buildInputs = [ cairo fontconfig freetype - libXft + fribidi libXcursor + libXft libXinerama libXpm libXt - librsvg libpng - fribidi + librsvg + libxslt perl readline - libxslt ] ++ lib.optional enableGestures libstroke; - configureFlags = [ "--enable-mandoc" "--disable-htmldoc" ]; + configureFlags = [ + "--enable-mandoc" + "--disable-htmldoc" + ]; - meta = { + meta = with lib; { homepage = "http://fvwm.org"; description = "A multiple large virtual desktop window manager"; - license = lib.licenses.gpl2Plus; - platforms = lib.platforms.linux; - maintainers = with lib.maintainers; [ edanaher ]; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ edanaher ]; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 2f60e268fc2e..10616d121cd6 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -26931,7 +26931,8 @@ with pkgs; inherit (darwin.apple_sdk.frameworks) CoreAudio CoreMIDI CoreServices Cocoa; }; - fvwm = callPackage ../applications/window-managers/fvwm { }; + fvwm = fvwm2; + fvwm2 = callPackage ../applications/window-managers/fvwm/2.6.nix { }; ganttproject-bin = callPackage ../applications/misc/ganttproject-bin { }; From 2617a006997e27275b85f7b6bb3e0f40a9305b23 Mon Sep 17 00:00:00 2001 From: AndersonTorres Date: Thu, 28 Jul 2022 01:42:45 -0300 Subject: [PATCH 2/4] fvwm: rename nixos module to fvwm2 --- .../services/x11/window-managers/default.nix | 2 +- .../services/x11/window-managers/fvwm.nix | 41 ---------------- .../services/x11/window-managers/fvwm2.nix | 47 +++++++++++++++++++ 3 files changed, 48 insertions(+), 42 deletions(-) delete mode 100644 nixos/modules/services/x11/window-managers/fvwm.nix create mode 100644 nixos/modules/services/x11/window-managers/fvwm2.nix diff --git a/nixos/modules/services/x11/window-managers/default.nix b/nixos/modules/services/x11/window-managers/default.nix index d71738ea633f..5d4ddf0c2804 100644 --- a/nixos/modules/services/x11/window-managers/default.nix +++ b/nixos/modules/services/x11/window-managers/default.nix @@ -19,7 +19,7 @@ in ./evilwm.nix ./exwm.nix ./fluxbox.nix - ./fvwm.nix + ./fvwm2.nix ./herbstluftwm.nix ./i3.nix ./jwm.nix diff --git a/nixos/modules/services/x11/window-managers/fvwm.nix b/nixos/modules/services/x11/window-managers/fvwm.nix deleted file mode 100644 index e283886ecc40..000000000000 --- a/nixos/modules/services/x11/window-managers/fvwm.nix +++ /dev/null @@ -1,41 +0,0 @@ -{ config, lib, pkgs, ... }: - -with lib; - -let - cfg = config.services.xserver.windowManager.fvwm; - fvwm = pkgs.fvwm.override { enableGestures = cfg.gestures; }; -in - -{ - - ###### interface - - options = { - services.xserver.windowManager.fvwm = { - enable = mkEnableOption "Fvwm window manager"; - - gestures = mkOption { - default = false; - type = types.bool; - description = "Whether or not to enable libstroke for gesture support"; - }; - }; - }; - - - ###### implementation - - config = mkIf cfg.enable { - services.xserver.windowManager.session = singleton - { name = "fvwm"; - start = - '' - ${fvwm}/bin/fvwm & - waitPID=$! - ''; - }; - - environment.systemPackages = [ fvwm ]; - }; -} diff --git a/nixos/modules/services/x11/window-managers/fvwm2.nix b/nixos/modules/services/x11/window-managers/fvwm2.nix new file mode 100644 index 000000000000..909b3a475a9c --- /dev/null +++ b/nixos/modules/services/x11/window-managers/fvwm2.nix @@ -0,0 +1,47 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.xserver.windowManager.fvwm2; + fvwm2 = pkgs.fvwm2.override { enableGestures = cfg.gestures; }; +in + +{ + + imports = [ + (mkRenamedOptionModule + [ "services" "xserver" "windowManager" "fvwm" ] + [ "services" "xserver" "windowManager" "fvwm2" ]) + ]; + + ###### interface + + options = { + services.xserver.windowManager.fvwm2 = { + enable = mkEnableOption "Fvwm2 window manager"; + + gestures = mkOption { + default = false; + type = types.bool; + description = "Whether or not to enable libstroke for gesture support"; + }; + }; + }; + + + ###### implementation + + config = mkIf cfg.enable { + services.xserver.windowManager.session = singleton + { name = "fvwm2"; + start = + '' + ${fvwm2}/bin/fvwm & + waitPID=$! + ''; + }; + + environment.systemPackages = [ fvwm2 ]; + }; +} From cd43f8b8bd9217f2effa4f475ade3809f26e76d4 Mon Sep 17 00:00:00 2001 From: AndersonTorres Date: Thu, 28 Jul 2022 01:31:22 -0300 Subject: [PATCH 3/4] fvwm3: init at 1.0.4 --- pkgs/applications/window-managers/fvwm/3.nix | 88 ++++++++++++++++++++ pkgs/top-level/all-packages.nix | 1 + 2 files changed, 89 insertions(+) create mode 100644 pkgs/applications/window-managers/fvwm/3.nix diff --git a/pkgs/applications/window-managers/fvwm/3.nix b/pkgs/applications/window-managers/fvwm/3.nix new file mode 100644 index 000000000000..f3862f9ac0d8 --- /dev/null +++ b/pkgs/applications/window-managers/fvwm/3.nix @@ -0,0 +1,88 @@ +{ lib +, stdenv +, fetchFromGitHub +, asciidoctor +, autoreconfHook +, cairo +, fontconfig +, freetype +, fribidi +, imlib +, libSM +, libX11 +, libXcursor +, libXft +, libXi +, libXinerama +, libXpm +, libXrandr +, libXt +, libevent +, libintl +, libpng +, librsvg +, libstroke +, libxslt +, perl +, pkg-config +, python3 +, readline +, sharutils +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "fvwm3"; + version = "1.0.4"; + + src = fetchFromGitHub { + owner = "fvwmorg"; + repo = "fvwm3"; + rev = finalAttrs.version; + hash = "sha256-ByMSX4nwXkp+ly39C2+cYy3e9B0vnGcJlyIiS7V6zoI="; + }; + + nativeBuildInputs = [ + autoreconfHook + asciidoctor + pkg-config + ]; + + buildInputs = [ + cairo + fontconfig + freetype + fribidi + imlib + libSM + libX11 + libXcursor + libXft + libXi + libXinerama + libXpm + libXrandr + libXt + libevent + libintl + libpng + librsvg + libstroke + libxslt + perl + python3 + readline + sharutils + ]; + + configureFlags = [ + "--enable-mandoc" + ]; + + meta = with lib; { + homepage = "http://fvwm.org"; + description = "A multiple large virtual desktop window manager - Version 3"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ AndersonTorres ]; + inherit (libX11.meta) platforms; + }; +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 10616d121cd6..7fab5af06d94 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -26933,6 +26933,7 @@ with pkgs; fvwm = fvwm2; fvwm2 = callPackage ../applications/window-managers/fvwm/2.6.nix { }; + fvwm3 = callPackage ../applications/window-managers/fvwm/3.nix { }; ganttproject-bin = callPackage ../applications/misc/ganttproject-bin { }; From bef8e4df1dcd3382e71d0ab512e05eaf0fb8559f Mon Sep 17 00:00:00 2001 From: AndersonTorres Date: Thu, 28 Jul 2022 01:43:28 -0300 Subject: [PATCH 4/4] fvwm3: nixos module --- .../services/x11/window-managers/default.nix | 1 + .../services/x11/window-managers/fvwm3.nix | 35 +++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 nixos/modules/services/x11/window-managers/fvwm3.nix diff --git a/nixos/modules/services/x11/window-managers/default.nix b/nixos/modules/services/x11/window-managers/default.nix index 5d4ddf0c2804..4e56b393e2e5 100644 --- a/nixos/modules/services/x11/window-managers/default.nix +++ b/nixos/modules/services/x11/window-managers/default.nix @@ -20,6 +20,7 @@ in ./exwm.nix ./fluxbox.nix ./fvwm2.nix + ./fvwm3.nix ./herbstluftwm.nix ./i3.nix ./jwm.nix diff --git a/nixos/modules/services/x11/window-managers/fvwm3.nix b/nixos/modules/services/x11/window-managers/fvwm3.nix new file mode 100644 index 000000000000..43111f917d49 --- /dev/null +++ b/nixos/modules/services/x11/window-managers/fvwm3.nix @@ -0,0 +1,35 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.xserver.windowManager.fvwm3; + inherit (pkgs) fvwm3; +in + +{ + + ###### interface + + options = { + services.xserver.windowManager.fvwm3 = { + enable = mkEnableOption "Fvwm3 window manager"; + }; + }; + + + ###### implementation + + config = mkIf cfg.enable { + services.xserver.windowManager.session = singleton + { name = "fvwm3"; + start = + '' + ${fvwm3}/bin/fvwm3 & + waitPID=$! + ''; + }; + + environment.systemPackages = [ fvwm3 ]; + }; +}