summaryrefslogtreecommitdiff
path: root/flake.nix
diff options
context:
space:
mode:
Diffstat (limited to 'flake.nix')
-rw-r--r--flake.nix106
1 files changed, 80 insertions, 26 deletions
diff --git a/flake.nix b/flake.nix
index 29fe7727..c0d745fb 100644
--- a/flake.nix
+++ b/flake.nix
@@ -2,33 +2,87 @@
description = "swaywm development environment";
inputs = {
- nixpkgs.url = "nixpkgs/nixpkgs-unstable";
- flake-utils = { url = "github:numtide/flake-utils"; };
+ flake-compat = {
+ url = "github:edolstra/flake-compat";
+ flake = false;
+ };
+
+ nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
};
- outputs = {self, nixpkgs, flake-utils }:
- flake-utils.lib.eachDefaultSystem (system:
- let
- pkgs = import nixpkgs { inherit system; };
-
- in {
- devShell = pkgs.mkShell {
- depsBuildBuild = with pkgs; [
- pkg-config
- ];
-
- nativeBuildInputs = with pkgs; [
- cmake meson ninja pkg-config wayland-scanner scdoc
- ];
-
- buildInputs = with pkgs; [
- wayland libxkbcommon pcre json_c libevdev pango cairo libinput libcap pam gdk-pixbuf librsvg
- wayland-protocols libdrm wlroots dbus xwayland
- # wlroots
- libGL pixman xorg.xcbutilwm xorg.libX11 libcap xorg.xcbutilimage xorg.xcbutilerrors mesa
- libpng ffmpeg xorg.xcbutilrenderutil seatd
- ];
+ outputs = { self, nixpkgs, flake-compat, ... }:
+ let
+ pkgsFor = system:
+ import nixpkgs {
+ inherit system;
+ overlays = [ ];
};
- }
- );
+
+ targetSystems = [ "aarch64-linux" "x86_64-linux" ];
+ in {
+ overlays.default = final: prev: {
+ swayfx = prev.sway.overrideAttrs (old: {
+ version = "999-master";
+ src = builtins.path {
+ name = "swayfx";
+ path = prev.lib.cleanSource ./.;
+ };
+ });
+ };
+
+ packages = nixpkgs.lib.genAttrs targetSystems (system:
+ let pkgs = pkgsFor system;
+ in (self.overlays.default pkgs pkgs) // {
+ default = self.packages.${system}.swayfx;
+ });
+
+ devShells = nixpkgs.lib.genAttrs targetSystems (system:
+ let pkgs = pkgsFor system;
+ in {
+ default = pkgs.mkShell {
+ depsBuildBuild = with pkgs; [ pkg-config ];
+
+ nativeBuildInputs = with pkgs; [
+ cmake
+ meson
+ ninja
+ pkg-config
+ wayland-scanner
+ scdoc
+ ];
+
+ buildInputs = with pkgs; [
+ wayland
+ libxkbcommon
+ pcre
+ json_c
+ libevdev
+ pango
+ cairo
+ libinput
+ libcap
+ pam
+ gdk-pixbuf
+ librsvg
+ wayland-protocols
+ libdrm
+ wlroots
+ dbus
+ xwayland
+ libGL
+ pixman
+ xorg.xcbutilwm
+ xorg.libX11
+ libcap
+ xorg.xcbutilimage
+ xorg.xcbutilerrors
+ mesa
+ libpng
+ ffmpeg
+ xorg.xcbutilrenderutil
+ seatd
+ ];
+ };
+ });
+ };
}