128 lines
2.5 KiB
Nix
128 lines
2.5 KiB
Nix
{
|
||
lib,
|
||
stdenv,
|
||
fetchFromGitHub,
|
||
cmake,
|
||
expat,
|
||
flac,
|
||
fontconfig,
|
||
freetype,
|
||
fribidi,
|
||
gdk-pixbuf,
|
||
gdk-pixbuf-xlib,
|
||
gettext,
|
||
giflib,
|
||
glib,
|
||
imlib2,
|
||
libICE,
|
||
libSM,
|
||
libX11,
|
||
libXcomposite,
|
||
libXdamage,
|
||
libXdmcp,
|
||
libXext,
|
||
libXfixes,
|
||
libXft,
|
||
libXinerama,
|
||
libXpm,
|
||
libXrandr,
|
||
libjpeg,
|
||
libogg,
|
||
libpng,
|
||
libpthreadstubs,
|
||
libsndfile,
|
||
libtiff,
|
||
libxcb,
|
||
mkfontdir,
|
||
pcre2,
|
||
perl,
|
||
pkg-config,
|
||
}:
|
||
|
||
stdenv.mkDerivation (finalAttrs: {
|
||
pname = "icewm";
|
||
version = "3.6.0";
|
||
|
||
src = fetchFromGitHub {
|
||
owner = "ice-wm";
|
||
repo = "icewm";
|
||
rev = finalAttrs.version;
|
||
hash = "sha256-gxRKLukwdyCvqQ+gRYb4cv/8B52nRAFwdcps6FcKFXk=";
|
||
};
|
||
|
||
strictDeps = true;
|
||
|
||
nativeBuildInputs = [
|
||
cmake
|
||
perl
|
||
pkg-config
|
||
gettext # msgmerge
|
||
];
|
||
|
||
buildInputs = [
|
||
expat
|
||
flac
|
||
fontconfig
|
||
freetype
|
||
fribidi
|
||
gdk-pixbuf
|
||
gdk-pixbuf-xlib
|
||
gettext
|
||
giflib
|
||
glib
|
||
imlib2
|
||
libICE
|
||
libSM
|
||
libX11
|
||
libXcomposite
|
||
libXdamage
|
||
libXdmcp
|
||
libXext
|
||
libXfixes
|
||
libXft
|
||
libXinerama
|
||
libXpm
|
||
libXrandr
|
||
libjpeg
|
||
libogg
|
||
libpng
|
||
libpthreadstubs
|
||
libsndfile
|
||
libtiff
|
||
libxcb
|
||
mkfontdir
|
||
pcre2
|
||
];
|
||
|
||
cmakeFlags = [
|
||
"-DPREFIX=$out"
|
||
"-DCFGDIR=/etc/icewm"
|
||
];
|
||
|
||
# install legacy themes
|
||
postInstall = ''
|
||
cp -r ../lib/themes/{gtk2,Natural,nice,nice2,warp3,warp4,yellowmotif} \
|
||
$out/share/icewm/themes/
|
||
'';
|
||
|
||
meta = with lib; {
|
||
homepage = "https://ice-wm.org/";
|
||
description = "Simple, lightweight X window manager";
|
||
longDescription = ''
|
||
IceWM is a window manager for the X Window System. The goal of IceWM is
|
||
speed, simplicity, and not getting in the user’s way. It comes with a
|
||
taskbar with pager, global and per-window keybindings and a dynamic menu
|
||
system. Application windows can be managed by keyboard and mouse. Windows
|
||
can be iconified to the taskbar, to the tray, to the desktop or be made
|
||
hidden. They are controllable by a quick switch window (Alt+Tab) and in a
|
||
window list. A handful of configurable focus models are menu-selectable.
|
||
Setups with multiple monitors are supported by RandR and Xinerama. IceWM
|
||
is very configurable, themeable and well documented. It includes an
|
||
optional external background wallpaper manager with transparency support,
|
||
a simple session manager and a system tray.
|
||
'';
|
||
license = licenses.lgpl2Only;
|
||
maintainers = [ maintainers.AndersonTorres ];
|
||
platforms = platforms.linux;
|
||
};
|
||
})
|