summary refs log tree commit diff
diff options
context:
space:
mode:
authorAndersonTorres <torres.anderson.85@protonmail.com>2020-05-12 21:53:59 -0300
committerAndersonTorres <torres.anderson.85@protonmail.com>2020-05-13 21:32:54 -0300
commit43ce2a52199100976b18e95c731a2b7879db8091 (patch)
tree71a4f5df60f8ca0b6f0fd0ea00175e7f54d04a95
parent6aeaa1019c5fca8876b8f9ab1845619d15d1ceaf (diff)
downloadnixpkgs-43ce2a52199100976b18e95c731a2b7879db8091.tar
nixpkgs-43ce2a52199100976b18e95c731a2b7879db8091.tar.gz
nixpkgs-43ce2a52199100976b18e95c731a2b7879db8091.tar.bz2
nixpkgs-43ce2a52199100976b18e95c731a2b7879db8091.tar.lz
nixpkgs-43ce2a52199100976b18e95c731a2b7879db8091.tar.xz
nixpkgs-43ce2a52199100976b18e95c731a2b7879db8091.tar.zst
nixpkgs-43ce2a52199100976b18e95c731a2b7879db8091.zip
berry: init at 0.1.5
berry is a small window manager for X11
-rw-r--r--nixos/modules/services/x11/window-managers/berry.nix25
-rw-r--r--nixos/modules/services/x11/window-managers/default.nix1
-rw-r--r--pkgs/applications/window-managers/berry/default.nix47
-rw-r--r--pkgs/top-level/all-packages.nix2
4 files changed, 75 insertions, 0 deletions
diff --git a/nixos/modules/services/x11/window-managers/berry.nix b/nixos/modules/services/x11/window-managers/berry.nix
new file mode 100644
index 00000000000..0d2285e7a60
--- /dev/null
+++ b/nixos/modules/services/x11/window-managers/berry.nix
@@ -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 ];
+  };
+}
diff --git a/nixos/modules/services/x11/window-managers/default.nix b/nixos/modules/services/x11/window-managers/default.nix
index af211e3b534..c8af8fdc29a 100644
--- a/nixos/modules/services/x11/window-managers/default.nix
+++ b/nixos/modules/services/x11/window-managers/default.nix
@@ -10,6 +10,7 @@ in
   imports = [
     ./2bwm.nix
     ./afterstep.nix
+    ./berry.nix
     ./bspwm.nix
     ./cwm.nix
     ./dwm.nix
diff --git a/pkgs/applications/window-managers/berry/default.nix b/pkgs/applications/window-managers/berry/default.nix
new file mode 100644
index 00000000000..2a41a3d3c07
--- /dev/null
+++ b/pkgs/applications/window-managers/berry/default.nix
@@ -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;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 93cc914b583..cdd7d348e49 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -18675,6 +18675,8 @@ in
 
   bb =  callPackage ../applications/misc/bb { };
 
+  berry = callPackage ../applications/window-managers/berry { };
+
   bevelbar = callPackage ../applications/window-managers/bevelbar { };
 
   bibletime = libsForQt5.callPackage ../applications/misc/bibletime { };