diff --git a/home/i3/default.nix b/home/i3/default.nix index 80198d9..bb73770 100644 --- a/home/i3/default.nix +++ b/home/i3/default.nix @@ -61,6 +61,7 @@ playerctl = lib.getExe' pkgs.playerctl "playerctl"; dmenu = lib.getExe' pkgs.dmenu "dmenu_run"; refresh_i3status = "killall -SIGUSR1 i3status"; + boomer = lib.getExe' pkgs.custom.boomer "boomer"; # config = pkgs.substituteAll { # inherit term second_term; # src = ./config; @@ -128,8 +129,9 @@ "${modifier}+o" = "exec --no-startup-id ${maim} -s ~/Pictures/screenshots/$(date +%Y-%m-%d-%H-%M-%S).png"; "${modifier}+Shift+o" = "exec --no-startup-id ${maim} -s | ${clipboard} -selection clipboard -t image/png"; # others - "${modifier}+space" = "exec --no-startup-id ${dmenu}"; - "${modifier}+b" = "exec --no-startup-id ${yazi}"; + "${modifier}+space" = "exec --no-startup-id ${dmenu}"; + "${modifier}+b" = "exec --no-startup-id ${terminal} -e ${yazi}"; + "${modifier}+z" = "exec --no-startup-id ${boomer}"; # tsoding's zoom # "${modifier}+Shift+Return" = "exec ${second_terminal}"; # reset "${modifier}+Shift+e" = null; diff --git a/packages/boomer/default.nix b/packages/boomer/default.nix new file mode 100644 index 0000000..6c1f57f --- /dev/null +++ b/packages/boomer/default.nix @@ -0,0 +1,32 @@ +{ lib, stdenv, fetchFromGitHub, nim, libX11, libXrandr, libGL, nim-1_0 }: + +let + x11-nim = fetchFromGitHub { + owner = "nim-lang"; + repo = "x11"; + rev = "29aca5e519ebf5d833f63a6a2769e62ec7bfb83a"; + sha256 = "sha256-jBNsv8meDvF2ySKewbA+rF2XS+gqydZUl1xhEevD15o="; + }; + opengl-nim = fetchFromGitHub { + owner = "nim-lang"; + repo = "opengl"; + rev = "8e2e098f82dc5eefd874488c37b5830233cd18f4"; + sha256 = "sha256-v3bMDobYQZqX0anBFIUfZx5q5/vxTHO6PDtKQlf5mgU="; + }; +in stdenv.mkDerivation rec { + pname = "boomer"; + version = "unstable-2024-02-08"; + src = fetchFromGitHub { + owner = "tsoding"; + repo = "boomer"; + rev = "dfd4e1f5514e2a9d7c7a6429c1c0642c2021e792"; + sha256 = "sha256-o65/VVxttriA5Qqt35lLKkWIZYS7T4VBBuYdAIGUmx8="; + }; + buildInputs = [ nim-1_0 libX11 libXrandr libGL ]; + buildPhase = '' + HOME=$TMPDIR + nim -p:${x11-nim}/ -p:${opengl-nim}/src c -d:release src/boomer.nim + ''; + installPhase = "install -Dt $out/bin src/boomer"; + fixupPhase = "patchelf --set-rpath ${lib.makeLibraryPath [stdenv.cc.cc libX11 libXrandr libGL]} $out/bin/boomer"; +} diff --git a/packages/default.nix b/packages/default.nix index 8fcee4e..7bdeeb1 100644 --- a/packages/default.nix +++ b/packages/default.nix @@ -7,4 +7,5 @@ let inherit (pkgs) lib callPackage; in rec { minimal-emacs-d = callPackage ./minimal-emacs-d { }; + boomer = callPackage ./boomer { }; }