smallwm: init at 2020-02-28

Changed files
+66
nixos
modules
services
x11
window-managers
pkgs
applications
window-managers
smallwm
top-level
+1
nixos/modules/services/x11/window-managers/default.nix
···
./notion.nix
./ratpoison.nix
./sawfish.nix
+
./smallwm.nix
./stumpwm.nix
./spectrwm.nix
./tinywm.nix
+25
nixos/modules/services/x11/window-managers/smallwm.nix
···
+
{ 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 ];
+
};
+
}
+38
pkgs/applications/window-managers/smallwm/default.nix
···
+
{ 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;
+
};
+
}
+2
pkgs/top-level/all-packages.nix
···
spectmorph = callPackage ../applications/audio/spectmorph { };
+
smallwm = callPackage ../applications/window-managers/smallwm { };
+
spectrwm = callPackage ../applications/window-managers/spectrwm { };
spectral = qt5.callPackage ../applications/networking/instant-messengers/spectral { };