summary refs log tree commit diff
diff options
context:
space:
mode:
authorAndersonTorres <torres.anderson.85@protonmail.com>2020-05-11 23:53:02 -0300
committerAndersonTorres <torres.anderson.85@protonmail.com>2020-05-13 21:32:54 -0300
commit58a93ee62d9cd318934993e7d88660ef1ad61490 (patch)
tree20bcaf9e5e54d33336e526e707b3ce9a503d779d
parent35c089a6e209b0f96e3d56fdc1cfa10386d6ce10 (diff)
downloadnixpkgs-58a93ee62d9cd318934993e7d88660ef1ad61490.tar
nixpkgs-58a93ee62d9cd318934993e7d88660ef1ad61490.tar.gz
nixpkgs-58a93ee62d9cd318934993e7d88660ef1ad61490.tar.bz2
nixpkgs-58a93ee62d9cd318934993e7d88660ef1ad61490.tar.lz
nixpkgs-58a93ee62d9cd318934993e7d88660ef1ad61490.tar.xz
nixpkgs-58a93ee62d9cd318934993e7d88660ef1ad61490.tar.zst
nixpkgs-58a93ee62d9cd318934993e7d88660ef1ad61490.zip
smallwm: init at 2020-02-28
-rw-r--r--nixos/modules/services/x11/window-managers/default.nix1
-rw-r--r--nixos/modules/services/x11/window-managers/smallwm.nix25
-rw-r--r--pkgs/applications/window-managers/smallwm/default.nix38
-rw-r--r--pkgs/top-level/all-packages.nix2
4 files changed, 66 insertions, 0 deletions
diff --git a/nixos/modules/services/x11/window-managers/default.nix b/nixos/modules/services/x11/window-managers/default.nix
index b815c5f16a1..51096d80498 100644
--- a/nixos/modules/services/x11/window-managers/default.nix
+++ b/nixos/modules/services/x11/window-managers/default.nix
@@ -28,6 +28,7 @@ in
     ./notion.nix
     ./ratpoison.nix
     ./sawfish.nix
+    ./smallwm.nix
     ./stumpwm.nix
     ./spectrwm.nix
     ./tinywm.nix
diff --git a/nixos/modules/services/x11/window-managers/smallwm.nix b/nixos/modules/services/x11/window-managers/smallwm.nix
new file mode 100644
index 00000000000..091ba4f92b9
--- /dev/null
+++ b/nixos/modules/services/x11/window-managers/smallwm.nix
@@ -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 ];
+  };
+}
diff --git a/pkgs/applications/window-managers/smallwm/default.nix b/pkgs/applications/window-managers/smallwm/default.nix
new file mode 100644
index 00000000000..b6d3821e8d0
--- /dev/null
+++ b/pkgs/applications/window-managers/smallwm/default.nix
@@ -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;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 9f21ed5b6dc..6e394097bd6 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -19997,6 +19997,8 @@ in
 
   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 { };