forked from Duckonaut/split-monitor-workspaces
-
Notifications
You must be signed in to change notification settings - Fork 0
/
flake.nix
67 lines (58 loc) · 1.77 KB
/
flake.nix
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
{
inputs = {
hyprland.url = "github:hyprwm/Hyprland";
nix-filter.url = "github:numtide/nix-filter";
};
outputs = {
self,
hyprland,
nix-filter,
...
}: let
inherit (hyprland.inputs) nixpkgs;
forHyprlandSystems = fn: nixpkgs.lib.genAttrs (builtins.attrNames hyprland.packages) (system: fn system nixpkgs.legacyPackages.${system});
in {
packages = forHyprlandSystems (system: pkgs: rec {
split-monitor-workspaces = hyprland.packages.${system}.hyprland.stdenv.mkDerivation {
pname = "split-monitor-workspaces";
version = "0.1";
src = nix-filter.lib {
root = ./.;
include = [
"src"
"include"
./Makefile
./meson.build
];
};
# allow overriding xwayland support
BUILT_WITH_NOXWAYLAND = false;
nativeBuildInputs = with pkgs; [meson ninja pkg-config];
buildInputs = with pkgs;
[
hyprland.packages.${system}.hyprland.dev
pango
cairo
]
++ hyprland.packages.${system}.hyprland.buildInputs;
meta = with pkgs.lib; {
homepage = "https://github.com/Duckonaut/split-monitor-workspaces";
description = "A small Hyprland plugin to provide awesome-like workspace behavior";
license = licenses.bsd3;
platforms = platforms.linux;
};
};
default = split-monitor-workspaces;
});
devShells = forHyprlandSystems (system: pkgs: {
default = pkgs.mkShell {
name = "split-monitor-workspaces";
nativeBuildInputs = with pkgs; [
clang-tools_16
bear
];
inputsFrom = [self.packages.${system}.split-monitor-workspaces];
};
});
};
}