From d2adb05aa6a20cc9e32baca7014b87acacc27ff4 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Mon, 24 Jun 2019 00:58:53 +0200 Subject: [PATCH] i3-layout-manager: init at unstable-2019-06-19 Simple script which is a wrapper for i3's layout persist functionality[1] that automates the manual editing of the exported layout JSON. [1] https://i3wm.org/docs/layout-saving.html --- .../window-managers/i3/layout-manager.nix | 39 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 41 insertions(+) create mode 100644 pkgs/applications/window-managers/i3/layout-manager.nix diff --git a/pkgs/applications/window-managers/i3/layout-manager.nix b/pkgs/applications/window-managers/i3/layout-manager.nix new file mode 100644 index 00000000000..afa14b48451 --- /dev/null +++ b/pkgs/applications/window-managers/i3/layout-manager.nix @@ -0,0 +1,39 @@ +{ stdenv, fetchFromGitHub, vim, makeWrapper, jq, rofi, xrandr, xdotool, i3, gawk, libnotify }: + +let + path = stdenv.lib.makeBinPath [ vim jq rofi xrandr xdotool i3 gawk libnotify ]; +in + +stdenv.mkDerivation rec { + pname = "i3-layout-manager"; + version = "unstable-2019-06-19"; + + src = fetchFromGitHub { + owner = "klaxalk"; + repo = pname; + rev = "80ade872bfd70d9c6039024097ceb8c852a2816a"; + sha256 = "02xhyd737qwni628mjzr9i5v2kga5cq4k8m77bxm1p6kkj84nlmg"; + }; + + nativeBuildInputs = [ makeWrapper ]; + + dontBuild = true; + + installPhase = '' + runHook preInstall + + install -D layout_manager.sh $out/bin/layout_manager + wrapProgram $out/bin/layout_manager \ + --prefix PATH : "${path}" + + runHook postInstall + ''; + + meta = with stdenv.lib; { + homepage = https://github.com/klaxalk/i3-layout-manager; + description = "Saving, loading and managing layouts for i3wm."; + license = licenses.mit; + platforms = platforms.linux; + maintainers = with maintainers; [ ma27 ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f90aa516e56..4344decb632 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -18430,6 +18430,8 @@ in i3-easyfocus = callPackage ../applications/window-managers/i3/easyfocus.nix { }; + i3-layout-manager = callPackage ../applications/window-managers/i3/layout-manager.nix { }; + i3blocks = callPackage ../applications/window-managers/i3/blocks.nix { }; i3blocks-gaps = callPackage ../applications/window-managers/i3/blocks-gaps.nix { };