parent
416e83bce2
commit
39f65ee33d
@ -0,0 +1,41 @@ |
||||
{ config, lib, pkgs, ... }: |
||||
|
||||
with lib; |
||||
|
||||
let cfg = config.services.xserver.windowManager.mlvwm; |
||||
|
||||
in |
||||
{ |
||||
|
||||
options.services.xserver.windowManager.mlvwm = { |
||||
enable = mkEnableOption "Macintosh-like Virtual Window Manager"; |
||||
|
||||
configFile = mkOption { |
||||
default = null; |
||||
type = with types; nullOr path; |
||||
description = '' |
||||
Path to the mlvwm configuration file. |
||||
If left at the default value, $HOME/.mlvwmrc will be used. |
||||
''; |
||||
}; |
||||
}; |
||||
|
||||
config = mkIf cfg.enable { |
||||
|
||||
services.xserver.windowManager.session = [{ |
||||
name = "mlvwm"; |
||||
start = '' |
||||
${pkgs.mlvwm}/bin/mlvwm ${optionalString (cfg.configFile != null) |
||||
"-f /etc/mlvwm/mlvwmrc" |
||||
} & |
||||
waitPID=$! |
||||
''; |
||||
}]; |
||||
|
||||
environment.etc."mlvwm/mlvwmrc" = mkIf (cfg.configFile != null) { |
||||
source = cfg.configFile; |
||||
}; |
||||
|
||||
environment.systemPackages = [ pkgs.mlvwm ]; |
||||
}; |
||||
} |
@ -0,0 +1,53 @@ |
||||
{ lib, stdenv, fetchFromGitHub, gccmakedep, libX11, libXext, libXpm, imake, installShellFiles, ... }: |
||||
|
||||
stdenv.mkDerivation rec { |
||||
pname = "mlvwm"; |
||||
version = "0.9.3"; |
||||
|
||||
src = fetchFromGitHub { |
||||
owner = "morgant"; |
||||
repo = pname; |
||||
rev = version; |
||||
sha256 = "sha256-Sps2+XyMTcNuhQTLrW/8vSZIcSzMejoi1m64SK129YI="; |
||||
}; |
||||
|
||||
nativeBuildInputs = [ installShellFiles ]; |
||||
|
||||
buildInputs = [ gccmakedep libX11 libXext libXpm imake ]; |
||||
|
||||
buildPhase = '' |
||||
(cd man && xmkmf) |
||||
(cd sample_rc && xmkmf) |
||||
(cd mlvwm && xmkmf) |
||||
xmkmf |
||||
make |
||||
''; |
||||
|
||||
installPhase = '' |
||||
mkdir -p $out/{bin,etc} |
||||
cp mlvwm/mlvwm $out/bin |
||||
cp sample_rc/Mlvwmrc* $out/etc |
||||
runHook postInstall |
||||
''; |
||||
|
||||
postInstall = '' |
||||
mv man/mlvwm.man man/mlvwm.1 |
||||
installManPage man/mlvwm.1 |
||||
''; |
||||
|
||||
meta = with lib; { |
||||
homepage = "https://github.com/morgant/mlvwm"; |
||||
description = "Macintosh-like Virtual Window Manager"; |
||||
license = licenses.mit; |
||||
longDescription = '' |
||||
MLVWM or Macintosh-Like Virtual Window Manager, |
||||
is an FVWM descendant created by Takashi Hasegawa |
||||
in 1997 while studying at Nagoya University and |
||||
was written entirely in the C programming language. |
||||
As its name implies, it attempts to emulate the |
||||
pre-Mac OS X Macintosh look and feel in its layout and window design. |
||||
''; |
||||
platforms = platforms.linux; |
||||
maintainers = [ maintainers.j0hax ]; |
||||
}; |
||||
} |
Loading…
Reference in new issue