Add the CLFSWM window manager
This commit is contained in:
parent
6fa6ff9e25
commit
5623e1b145
|
@ -0,0 +1,31 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.services.xserver.windowManager.clfswm;
|
||||||
|
in
|
||||||
|
|
||||||
|
{
|
||||||
|
options = {
|
||||||
|
services.xserver.windowManager.clfswm = {
|
||||||
|
enable = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
example = true;
|
||||||
|
description = "Enable the clfswm tiling window manager.";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
services.xserver.windowManager.session = singleton {
|
||||||
|
name = "clfswm";
|
||||||
|
start = ''
|
||||||
|
${pkgs.clfswm}/bin/clfswm &
|
||||||
|
waitPID=$!
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
environment.systemPackages = [ pkgs.clfswm ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -10,6 +10,7 @@ in
|
||||||
imports = [
|
imports = [
|
||||||
./afterstep.nix
|
./afterstep.nix
|
||||||
./bspwm.nix
|
./bspwm.nix
|
||||||
|
./clfswm.nix
|
||||||
./compiz.nix
|
./compiz.nix
|
||||||
./fluxbox.nix
|
./fluxbox.nix
|
||||||
./herbstluftwm.nix
|
./herbstluftwm.nix
|
||||||
|
|
|
@ -0,0 +1,43 @@
|
||||||
|
{ stdenv, pkgs, fetchgit, autoconf, sbcl, lispPackages, xdpyinfo, texinfo4
|
||||||
|
, makeWrapper , rlwrap, gnused, gnugrep, coreutils, xprop
|
||||||
|
, extraModulePaths ? [] }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "clfswm";
|
||||||
|
|
||||||
|
src = fetchgit {
|
||||||
|
url = "https://gitlab.common-lisp.net/clfswm/clfswm.git";
|
||||||
|
rev = "refs/heads/master";
|
||||||
|
sha256 = "1hkm6bn5xww932w34l13bg87m5hsnwnd0i1lka6sw0cq8whndya0";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
texinfo4 makeWrapper autoconf
|
||||||
|
sbcl
|
||||||
|
lispPackages.clx
|
||||||
|
lispPackages.cl-ppcre
|
||||||
|
xdpyinfo
|
||||||
|
];
|
||||||
|
|
||||||
|
patches = [ ./require-clx.patch ];
|
||||||
|
|
||||||
|
# Stripping destroys the generated SBCL image
|
||||||
|
dontStrip = true;
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -pv $out/bin
|
||||||
|
make DESTDIR=$out install
|
||||||
|
|
||||||
|
# Paths in the compressed image $out/bin/clfswm are not
|
||||||
|
# recognized by Nix. Add explicit reference here.
|
||||||
|
mkdir $out/nix-support
|
||||||
|
echo ${xdpyinfo} ${lispPackages.clx} ${lispPackages.cl-ppcre} > $out/nix-support/depends
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "A(nother) Common Lisp FullScreen Window Manager";
|
||||||
|
homepage = https://common-lisp.net/project/clfswm/;
|
||||||
|
license = licenses.gpl3;
|
||||||
|
platforms = platforms.linux;
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,13 @@
|
||||||
|
diff --git a/load.lisp b/load.lisp
|
||||||
|
index c8c4cf0..8c9ca2e 100644
|
||||||
|
--- a/load.lisp
|
||||||
|
+++ b/load.lisp
|
||||||
|
@@ -111,6 +111,8 @@ from $XDG_CONFIG_HOME/clfswm/clfswmrc")
|
||||||
|
;;;------------------
|
||||||
|
(load-info "Requiring CLX")
|
||||||
|
|
||||||
|
+(require 'clx)
|
||||||
|
+
|
||||||
|
;;; Loading clisp dynamic module. This part needs clisp >= 2.50
|
||||||
|
;;#+(AND CLISP (not CLX))
|
||||||
|
;;(when (fboundp 'require)
|
|
@ -11095,6 +11095,8 @@ let
|
||||||
enableNetworkManager = config.networking.networkmanager.enable or false;
|
enableNetworkManager = config.networking.networkmanager.enable or false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
clfswm = callPackage ../applications/window-managers/clfswm { };
|
||||||
|
|
||||||
clipgrab = callPackage ../applications/video/clipgrab { };
|
clipgrab = callPackage ../applications/video/clipgrab { };
|
||||||
|
|
||||||
clipit = callPackage ../applications/misc/clipit { };
|
clipit = callPackage ../applications/misc/clipit { };
|
||||||
|
|
Loading…
Reference in New Issue