|
1 | 1 | {
|
2 | 2 | inputs = {
|
3 | 3 | hyprland.url = "github:hyprwm/Hyprland";
|
| 4 | + nix-filter.url = "github:numtide/nix-filter"; |
4 | 5 | };
|
5 | 6 |
|
6 |
| - outputs = { self, hyprland, ... }: let |
| 7 | + outputs = { |
| 8 | + self, |
| 9 | + hyprland, |
| 10 | + nix-filter, |
| 11 | + ... |
| 12 | + }: let |
7 | 13 | inherit (hyprland.inputs) nixpkgs;
|
8 |
| - hyprlandSystems = fn: nixpkgs.lib.genAttrs (builtins.attrNames hyprland.packages) (system: fn system nixpkgs.legacyPackages.${system}); |
| 14 | + forHyprlandSystems = fn: nixpkgs.lib.genAttrs (builtins.attrNames hyprland.packages) (system: fn system nixpkgs.legacyPackages.${system}); |
9 | 15 | in {
|
10 |
| - packages = hyprlandSystems (system: pkgs: rec { |
| 16 | + packages = forHyprlandSystems (system: pkgs: rec { |
11 | 17 | split-monitor-workspaces = pkgs.stdenv.mkDerivation {
|
12 | 18 | pname = "split-monitor-workspaces";
|
13 | 19 | version = "0.1";
|
14 |
| - src = ./.; |
| 20 | + src = nix-filter.lib { |
| 21 | + root = ./.; |
| 22 | + include = [ |
| 23 | + "src" |
| 24 | + "include" |
| 25 | + ./Makefile |
| 26 | + ./meson.build |
| 27 | + ]; |
| 28 | + }; |
| 29 | + |
| 30 | + # allow overriding xwayland support |
| 31 | + BUILT_WITH_NOXWAYLAND = false; |
15 | 32 |
|
16 |
| - nativeBuildInputs = with pkgs; [ meson ninja pkg-config ]; |
| 33 | + nativeBuildInputs = with pkgs; [meson ninja pkg-config]; |
17 | 34 |
|
18 |
| - buildInputs = with pkgs; [ |
19 |
| - hyprland.packages.${system}.hyprland.dev |
20 |
| - pango |
21 |
| - cairo |
22 |
| - ] ++ hyprland.packages.${system}.hyprland.buildInputs; |
| 35 | + buildInputs = with pkgs; |
| 36 | + [ |
| 37 | + hyprland.packages.${system}.hyprland.dev |
| 38 | + pango |
| 39 | + cairo |
| 40 | + ] |
| 41 | + ++ hyprland.packages.${system}.hyprland.buildInputs; |
23 | 42 |
|
24 | 43 | meta = with pkgs.lib; {
|
25 | 44 | homepage = "https://github.com/Duckonaut/split-monitor-workspaces";
|
|
32 | 51 | default = split-monitor-workspaces;
|
33 | 52 | });
|
34 | 53 |
|
35 |
| - devShells = hyprlandSystems (system: pkgs: { |
| 54 | + devShells = forHyprlandSystems (system: pkgs: { |
36 | 55 | default = pkgs.mkShell {
|
37 | 56 | name = "split-monitor-workspaces";
|
38 | 57 |
|
|
41 | 60 | bear
|
42 | 61 | ];
|
43 | 62 |
|
44 |
| - inputsFrom = [ self.packages.${system}.split-monitor-workspaces ]; |
| 63 | + inputsFrom = [self.packages.${system}.split-monitor-workspaces]; |
45 | 64 | };
|
46 | 65 | });
|
47 | 66 | };
|
|
0 commit comments