diff options
| author | Winter <winter@winter.cafe> | 2022-07-29 20:49:08 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-07-29 20:49:08 -0400 |
| commit | 38c98c2d8c8405f09e859266fc23a187d248d9ba (patch) | |
| tree | 799719bad683d9c9566d25b8ec3e3c78ef1754ad | |
| parent | Merge pull request #183824 from NixOS/backport-183741-to-release-22.05 (diff) | |
| parent | fvwm3: nixos module (diff) | |
| download | nixpkgs-38c98c2d8c8405f09e859266fc23a187d248d9ba.tar.gz | |
Merge pull request #183863 from NixOS/backport-183209-to-release-22.05
| -rw-r--r-- | nixos/modules/services/x11/window-managers/default.nix | 3 | ||||
| -rw-r--r-- | nixos/modules/services/x11/window-managers/fvwm.nix | 41 | ||||
| -rw-r--r-- | nixos/modules/services/x11/window-managers/fvwm2.nix | 47 | ||||
| -rw-r--r-- | nixos/modules/services/x11/window-managers/fvwm3.nix | 35 | ||||
| -rw-r--r-- | pkgs/applications/window-managers/fvwm/2.6.nix (renamed from pkgs/applications/window-managers/fvwm/default.nix) | 49 | ||||
| -rw-r--r-- | pkgs/applications/window-managers/fvwm/3.nix | 88 | ||||
| -rw-r--r-- | pkgs/top-level/all-packages.nix | 4 |
7 files changed, 211 insertions, 56 deletions
diff --git a/nixos/modules/services/x11/window-managers/default.nix b/nixos/modules/services/x11/window-managers/default.nix index d71738ea633f..4e56b393e2e5 100644 --- a/nixos/modules/services/x11/window-managers/default.nix +++ b/nixos/modules/services/x11/window-managers/default.nix @@ -19,7 +19,8 @@ in ./evilwm.nix ./exwm.nix ./fluxbox.nix - ./fvwm.nix + ./fvwm2.nix + ./fvwm3.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 ]; + }; +} 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 ]; + }; +} diff --git a/pkgs/applications/window-managers/fvwm/default.nix b/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/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 e6fcc6eea02d..e73b55b492b8 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -26321,7 +26321,9 @@ 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 { }; + fvwm3 = callPackage ../applications/window-managers/fvwm/3.nix { }; ganttproject-bin = callPackage ../applications/misc/ganttproject-bin { }; |
