mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-07-14 06:00:33 +03:00
Merge pull request #87716 from AndersonTorres/weird-window-mangers-upload
Small window managers: - berry: init at 0.1.5 - smallwm: init at 2020-02-28 - yeahwm: init at 0.3.5 - lwm: init at 1.2.4
This commit is contained in:
commit
0687add56e
10 changed files with 300 additions and 0 deletions
25
nixos/modules/services/x11/window-managers/berry.nix
Normal file
25
nixos/modules/services/x11/window-managers/berry.nix
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.services.xserver.windowManager.berry;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
###### interface
|
||||||
|
options = {
|
||||||
|
services.xserver.windowManager.berry.enable = mkEnableOption "berry";
|
||||||
|
};
|
||||||
|
|
||||||
|
###### implementation
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
services.xserver.windowManager.session = singleton {
|
||||||
|
name = "berry";
|
||||||
|
start = ''
|
||||||
|
${pkgs.berry}/bin/berry &
|
||||||
|
waitPID=$!
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
environment.systemPackages = [ pkgs.berry ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -10,6 +10,7 @@ in
|
||||||
imports = [
|
imports = [
|
||||||
./2bwm.nix
|
./2bwm.nix
|
||||||
./afterstep.nix
|
./afterstep.nix
|
||||||
|
./berry.nix
|
||||||
./bspwm.nix
|
./bspwm.nix
|
||||||
./cwm.nix
|
./cwm.nix
|
||||||
./dwm.nix
|
./dwm.nix
|
||||||
|
@ -21,6 +22,7 @@ in
|
||||||
./i3.nix
|
./i3.nix
|
||||||
./jwm.nix
|
./jwm.nix
|
||||||
./leftwm.nix
|
./leftwm.nix
|
||||||
|
./lwm.nix
|
||||||
./metacity.nix
|
./metacity.nix
|
||||||
./mwm.nix
|
./mwm.nix
|
||||||
./openbox.nix
|
./openbox.nix
|
||||||
|
@ -28,6 +30,7 @@ in
|
||||||
./notion.nix
|
./notion.nix
|
||||||
./ratpoison.nix
|
./ratpoison.nix
|
||||||
./sawfish.nix
|
./sawfish.nix
|
||||||
|
./smallwm.nix
|
||||||
./stumpwm.nix
|
./stumpwm.nix
|
||||||
./spectrwm.nix
|
./spectrwm.nix
|
||||||
./tinywm.nix
|
./tinywm.nix
|
||||||
|
@ -35,6 +38,7 @@ in
|
||||||
./windowmaker.nix
|
./windowmaker.nix
|
||||||
./wmii.nix
|
./wmii.nix
|
||||||
./xmonad.nix
|
./xmonad.nix
|
||||||
|
./yeahwm.nix
|
||||||
./qtile.nix
|
./qtile.nix
|
||||||
./none.nix ];
|
./none.nix ];
|
||||||
|
|
||||||
|
|
25
nixos/modules/services/x11/window-managers/lwm.nix
Normal file
25
nixos/modules/services/x11/window-managers/lwm.nix
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.services.xserver.windowManager.lwm;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
###### interface
|
||||||
|
options = {
|
||||||
|
services.xserver.windowManager.lwm.enable = mkEnableOption "lwm";
|
||||||
|
};
|
||||||
|
|
||||||
|
###### implementation
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
services.xserver.windowManager.session = singleton {
|
||||||
|
name = "lwm";
|
||||||
|
start = ''
|
||||||
|
${pkgs.lwm}/bin/lwm &
|
||||||
|
waitPID=$!
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
environment.systemPackages = [ pkgs.lwm ];
|
||||||
|
};
|
||||||
|
}
|
25
nixos/modules/services/x11/window-managers/smallwm.nix
Normal file
25
nixos/modules/services/x11/window-managers/smallwm.nix
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.services.xserver.windowManager.smallwm;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
###### interface
|
||||||
|
options = {
|
||||||
|
services.xserver.windowManager.smallwm.enable = mkEnableOption "smallwm";
|
||||||
|
};
|
||||||
|
|
||||||
|
###### implementation
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
services.xserver.windowManager.session = singleton {
|
||||||
|
name = "smallwm";
|
||||||
|
start = ''
|
||||||
|
${pkgs.smallwm}/bin/smallwm &
|
||||||
|
waitPID=$!
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
environment.systemPackages = [ pkgs.smallwm ];
|
||||||
|
};
|
||||||
|
}
|
25
nixos/modules/services/x11/window-managers/yeahwm.nix
Normal file
25
nixos/modules/services/x11/window-managers/yeahwm.nix
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.services.xserver.windowManager.yeahwm;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
###### interface
|
||||||
|
options = {
|
||||||
|
services.xserver.windowManager.yeahwm.enable = mkEnableOption "yeahwm";
|
||||||
|
};
|
||||||
|
|
||||||
|
###### implementation
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
services.xserver.windowManager.session = singleton {
|
||||||
|
name = "yeahwm";
|
||||||
|
start = ''
|
||||||
|
${pkgs.yeahwm}/bin/yeahwm &
|
||||||
|
waitPID=$!
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
environment.systemPackages = [ pkgs.yeahwm ];
|
||||||
|
};
|
||||||
|
}
|
47
pkgs/applications/window-managers/berry/default.nix
Normal file
47
pkgs/applications/window-managers/berry/default.nix
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
{ stdenv, fetchFromGitHub
|
||||||
|
, libX11, libXft, libXinerama, fontconfig, freetype }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "berry";
|
||||||
|
version = "0.1.5";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "JLErvin";
|
||||||
|
repo = "berry";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "1wxbjzpwqb9x7vd7kb095fiqj271rki980dnwcxjxpqlmmrmjzyl";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ libX11 libXft libXinerama fontconfig freetype ];
|
||||||
|
|
||||||
|
preBuild = ''
|
||||||
|
makeFlagsArray+=( PREFIX="${placeholder "out"}"
|
||||||
|
X11INC="${libX11.dev}/include"
|
||||||
|
X11LIB="${libX11}/lib"
|
||||||
|
XINERAMALIBS="-lXinerama"
|
||||||
|
XINERAMAFLAGS="-DXINERAMA"
|
||||||
|
FREETYPELIBS="-lfontconfig -lXft"
|
||||||
|
FREETYPEINC="${freetype.dev}/include/freetype2" )
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "A healthy, bite-sized window manager";
|
||||||
|
longDescription = ''
|
||||||
|
berry is a healthy, bite-sized window manager written in C for unix
|
||||||
|
systems. Its main features include:
|
||||||
|
|
||||||
|
- Controlled via a powerful command-line client, allowing users to control
|
||||||
|
windows via a hotkey daemon such as sxhkd or expand functionality via
|
||||||
|
shell scripts.
|
||||||
|
- Small, hackable source code.
|
||||||
|
- Extensible themeing options with double borders, title bars, and window
|
||||||
|
text.
|
||||||
|
- Intuitively place new windows in unoccupied spaces.
|
||||||
|
- Virtual desktops.
|
||||||
|
'';
|
||||||
|
homepage = "https://berrywm.org/";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = [ maintainers.AndersonTorres ];
|
||||||
|
platforms = platforms.linux;
|
||||||
|
};
|
||||||
|
}
|
45
pkgs/applications/window-managers/lwm/default.nix
Normal file
45
pkgs/applications/window-managers/lwm/default.nix
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
{ stdenv, fetchurl
|
||||||
|
, imake, libX11, libSM, libXext, libICE }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "lwm";
|
||||||
|
version = "1.2.4";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "http://www.jfc.org.uk/files/lwm/${pname}-${version}.tar.gz";
|
||||||
|
sha256 = "1bcdr173f0gl61fyl43p3gr145angci7lvjqb8rl00y9f9amvh3y";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ imake ];
|
||||||
|
|
||||||
|
buildInputs = [ libX11 libSM libXext libICE ];
|
||||||
|
|
||||||
|
dontConfigure = true;
|
||||||
|
|
||||||
|
preBuild = ''
|
||||||
|
sed -i 's|^LOCAL_LIBRARIES.*|& $(ICELIB)|' Imakefile
|
||||||
|
xmkmf
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
install -dm755 $out/bin $out/share/man/man1
|
||||||
|
install -m755 lwm $out/bin/lwm
|
||||||
|
install -m644 lwm.man $out/share/man/man1/lwm.1
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "Lightweight Window Manager";
|
||||||
|
longDescription = ''
|
||||||
|
lwm is a window manager for X that tries to keep out of your face. There
|
||||||
|
are no icons, no button bars, no icon docks, no root menus, no nothing: if
|
||||||
|
you want all that, then other programs can provide it. There's no
|
||||||
|
configurability either: if you want that, you want a different window
|
||||||
|
manager; one that helps your operating system in its evil conquest of your
|
||||||
|
disc space and its annexation of your physical memory.
|
||||||
|
'';
|
||||||
|
homepage = "http://www.jfc.org.uk/software/lwm.html";
|
||||||
|
license = licenses.gpl2;
|
||||||
|
maintainers = [ maintainers.AndersonTorres ];
|
||||||
|
platforms = platforms.linux;
|
||||||
|
};
|
||||||
|
}
|
38
pkgs/applications/window-managers/smallwm/default.nix
Normal file
38
pkgs/applications/window-managers/smallwm/default.nix
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
{ stdenv, fetchFromGitHub
|
||||||
|
, doxygen, graphviz, libX11, libXrandr }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
|
||||||
|
pname = "smallwm";
|
||||||
|
version = "2020-02-28";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "adamnew123456";
|
||||||
|
repo = "SmallWM";
|
||||||
|
rev = "c2dc72afa87241bcf7e646630f4aae216ce78613";
|
||||||
|
sha256 = "0cqhy81ymdcdyvgi55a401rr96h2akskcxi9ddzjbln4a71yjlz8";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ doxygen graphviz ];
|
||||||
|
buildInputs = [ libX11 libXrandr ];
|
||||||
|
|
||||||
|
dontConfigure = true;
|
||||||
|
|
||||||
|
makeFlags = [ "CC=${stdenv.cc}/bin/cc" "CXX=${stdenv.cc}/bin/c++" ];
|
||||||
|
|
||||||
|
buildFlags = [ "all" "doc" ];
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
install -dm755 $out/bin $out/share/doc/${pname}-${version}
|
||||||
|
install -m755 bin/smallwm -t $out/bin
|
||||||
|
cp -r README.markdown doc/html doc/latex $out/share/doc/${pname}-${version}
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib;{
|
||||||
|
description = "A small X window manager, extended from tinywm";
|
||||||
|
homepage = "https://github.com/adamnew123456/SmallWM";
|
||||||
|
license = licenses.bsd2;
|
||||||
|
maintainers = [ maintainers.AndersonTorres ];
|
||||||
|
platforms = platforms.linux;
|
||||||
|
};
|
||||||
|
}
|
58
pkgs/applications/window-managers/yeahwm/default.nix
Normal file
58
pkgs/applications/window-managers/yeahwm/default.nix
Normal file
|
@ -0,0 +1,58 @@
|
||||||
|
{ stdenv, fetchurl
|
||||||
|
, lesstif
|
||||||
|
, libX11, libXext, libXmu, libXinerama }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
|
||||||
|
pname = "yeahwm";
|
||||||
|
version = "0.3.5";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "http://phrat.de/${pname}_${version}.tar.gz";
|
||||||
|
sha256 = "01gfzjvb40n16m2ja4238nk08k4l203y6a61cydqvf68924fjb69";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ lesstif libX11 libXext libXinerama libXmu ];
|
||||||
|
|
||||||
|
dontConfigure = true;
|
||||||
|
|
||||||
|
preBuild = ''
|
||||||
|
makeFlagsArray+=( CC="${stdenv.cc}/bin/cc" \
|
||||||
|
XROOT="${libX11}" \
|
||||||
|
INCLUDES="-I${libX11.dev}/include -I${libXext.dev}/include -I${libXinerama.dev}/include -I${libXmu.dev}/include" \
|
||||||
|
LDPATH="-L${libX11}/lib -L${libXext}/lib -L${libXinerama}/lib -L${libXmu}/lib" \
|
||||||
|
prefix="${placeholder "out"}" )
|
||||||
|
'';
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
gzip -9 --stdout yeahwm.1 > yeahwm.1.gz
|
||||||
|
install -m644 yeahwm.1.gz ${placeholder "out"}/share/man/man1/
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib;{
|
||||||
|
description = "An X window manager based on evilwm and aewm";
|
||||||
|
longDescription = ''
|
||||||
|
YeahWM is a h* window manager for X based on evilwm and aewm.
|
||||||
|
|
||||||
|
Features
|
||||||
|
- Sloppy Focus.
|
||||||
|
- BeOS-like tabbed titles, which can be repositioned.
|
||||||
|
- Support for Xinerama.
|
||||||
|
- Simple Appearance.
|
||||||
|
- Good keyboard control.
|
||||||
|
- Creative usage of the mouse.
|
||||||
|
- Respects aspect size hints.
|
||||||
|
- Solid resize and move operations.
|
||||||
|
- Virtual Desktops.
|
||||||
|
- "Magic" Screen edges for desktop switching.
|
||||||
|
- Snapping to other windows and screen borders when moving windows.
|
||||||
|
- Small binary size(ca. 23kb).
|
||||||
|
- Little resource usage.
|
||||||
|
- It's slick.
|
||||||
|
'';
|
||||||
|
homepage = "http://phrat.de/index.html";
|
||||||
|
license = licenses.isc;
|
||||||
|
maintainers = [ maintainers.AndersonTorres ];
|
||||||
|
platforms = libX11.meta.platforms;
|
||||||
|
};
|
||||||
|
}
|
|
@ -18661,6 +18661,8 @@ in
|
||||||
|
|
||||||
bb = callPackage ../applications/misc/bb { };
|
bb = callPackage ../applications/misc/bb { };
|
||||||
|
|
||||||
|
berry = callPackage ../applications/window-managers/berry { };
|
||||||
|
|
||||||
bevelbar = callPackage ../applications/window-managers/bevelbar { };
|
bevelbar = callPackage ../applications/window-managers/bevelbar { };
|
||||||
|
|
||||||
bibletime = libsForQt5.callPackage ../applications/misc/bibletime { };
|
bibletime = libsForQt5.callPackage ../applications/misc/bibletime { };
|
||||||
|
@ -19964,6 +19966,8 @@ in
|
||||||
|
|
||||||
leftwm = callPackage ../applications/window-managers/leftwm { };
|
leftwm = callPackage ../applications/window-managers/leftwm { };
|
||||||
|
|
||||||
|
lwm = callPackage ../applications/window-managers/lwm { };
|
||||||
|
|
||||||
musikcube = callPackage ../applications/audio/musikcube {};
|
musikcube = callPackage ../applications/audio/musikcube {};
|
||||||
|
|
||||||
pinboard-notes-backup = haskell.lib.overrideCabal
|
pinboard-notes-backup = haskell.lib.overrideCabal
|
||||||
|
@ -19985,6 +19989,8 @@ in
|
||||||
|
|
||||||
spectmorph = callPackage ../applications/audio/spectmorph { };
|
spectmorph = callPackage ../applications/audio/spectmorph { };
|
||||||
|
|
||||||
|
smallwm = callPackage ../applications/window-managers/smallwm { };
|
||||||
|
|
||||||
spectrwm = callPackage ../applications/window-managers/spectrwm { };
|
spectrwm = callPackage ../applications/window-managers/spectrwm { };
|
||||||
|
|
||||||
spectral = qt5.callPackage ../applications/networking/instant-messengers/spectral { };
|
spectral = qt5.callPackage ../applications/networking/instant-messengers/spectral { };
|
||||||
|
@ -22522,6 +22528,8 @@ in
|
||||||
|
|
||||||
vwm = callPackage ../applications/window-managers/vwm { };
|
vwm = callPackage ../applications/window-managers/vwm { };
|
||||||
|
|
||||||
|
yeahwm = callPackage ../applications/window-managers/yeahwm { };
|
||||||
|
|
||||||
vym = qt5.callPackage ../applications/misc/vym { };
|
vym = qt5.callPackage ../applications/misc/vym { };
|
||||||
|
|
||||||
waon = callPackage ../applications/audio/waon { };
|
waon = callPackage ../applications/audio/waon { };
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue