commit
99fe362cf1
@ -26,6 +26,7 @@ in
|
||||
./leftwm.nix
|
||||
./lwm.nix
|
||||
./metacity.nix
|
||||
./mlvwm.nix
|
||||
./mwm.nix
|
||||
./openbox.nix
|
||||
./pekwm.nix
|
||||
|
41
nixos/modules/services/x11/window-managers/mlvwm.nix
Normal file
41
nixos/modules/services/x11/window-managers/mlvwm.nix
Normal file
@ -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 ];
|
||||
};
|
||||
}
|
53
pkgs/applications/window-managers/mlvwm/default.nix
Normal file
53
pkgs/applications/window-managers/mlvwm/default.nix
Normal file
@ -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 ];
|
||||
};
|
||||
}
|
@ -25858,6 +25858,8 @@ in
|
||||
ocamlPackages = ocaml-ng.ocamlPackages_4_08;
|
||||
};
|
||||
|
||||
mlvwm = callPackage ../applications/window-managers/mlvwm { };
|
||||
|
||||
MMA = callPackage ../applications/audio/MMA { };
|
||||
|
||||
mmex = callPackage ../applications/office/mmex {
|
||||
|
Loading…
Reference in New Issue
Block a user