3
0
Fork 0
forked from mirrors/nixpkgs

Add the CLFSWM window manager

This commit is contained in:
Robert Glossop 2015-11-04 09:15:52 -05:00
parent 6fa6ff9e25
commit 5623e1b145
5 changed files with 90 additions and 0 deletions

View file

@ -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 ];
};
}

View file

@ -10,6 +10,7 @@ in
imports = [
./afterstep.nix
./bspwm.nix
./clfswm.nix
./compiz.nix
./fluxbox.nix
./herbstluftwm.nix

View file

@ -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;
};
}

View file

@ -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)

View file

@ -11095,6 +11095,8 @@ let
enableNetworkManager = config.networking.networkmanager.enable or false;
};
clfswm = callPackage ../applications/window-managers/clfswm { };
clipgrab = callPackage ../applications/video/clipgrab { };
clipit = callPackage ../applications/misc/clipit { };