lol
1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 makeWrapper,
6 git,
7 bc,
8 bspwm,
9}:
10
11stdenv.mkDerivation {
12 pname = "bsp-layout";
13 version = "unstable-2022-06-19";
14
15 src = fetchFromGitHub {
16 owner = "phenax";
17 repo = "bsp-layout";
18 rev = "9d60fc271454ea1bfca598575207a06d8d172d3e";
19 sha256 = "sha256-7bBVWJdgAnXLWzjQGZxVqhku2rsxX2kMxU4xkI9/DHE=";
20 };
21
22 nativeBuildInputs = [
23 makeWrapper
24 git
25 bc
26 ];
27 buildInputs = [ bspwm ];
28
29 makeFlags = [ "PREFIX=$(out)" ];
30
31 postInstall = ''
32 substituteInPlace $out/lib/bsp-layout/layout.sh --replace 'bc ' '${bc}/bin/bc '
33 for layout in tall rtall wide rwide
34 do
35 substituteInPlace "$out/lib/bsp-layout/layouts/$layout.sh" --replace 'bc ' '${bc}/bin/bc '
36 done
37 '';
38
39 meta = with lib; {
40 description = "Manage layouts in bspwm";
41 longDescription = ''
42 bsp-layout is a dynamic layout manager for bspwm, written in bash.
43 It provides layout options to fit most workflows.
44 '';
45 homepage = "https://github.com/phenax/bsp-layout";
46 license = licenses.mit;
47 maintainers = with maintainers; [ totoroot ];
48 platforms = platforms.linux;
49 mainProgram = "bsp-layout";
50 };
51}