summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWinter <winter@winter.cafe>2022-07-29 20:49:08 -0400
committerGitHub <noreply@github.com>2022-07-29 20:49:08 -0400
commit38c98c2d8c8405f09e859266fc23a187d248d9ba (patch)
tree799719bad683d9c9566d25b8ec3e3c78ef1754ad
parentMerge pull request #183824 from NixOS/backport-183741-to-release-22.05 (diff)
parentfvwm3: nixos module (diff)
downloadnixpkgs-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.nix3
-rw-r--r--nixos/modules/services/x11/window-managers/fvwm.nix41
-rw-r--r--nixos/modules/services/x11/window-managers/fvwm2.nix47
-rw-r--r--nixos/modules/services/x11/window-managers/fvwm3.nix35
-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.nix88
-rw-r--r--pkgs/top-level/all-packages.nix4
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 { };