Improve Nix Flake (#48)

* Improve nix flake

* Go back to unstable

* Update flake

* Update README.md
This commit is contained in:
Gokul Swaminathan 2022-11-15 19:47:04 -08:00 committed by GitHub
parent 546f56f873
commit fa6164f8fb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 111 additions and 43 deletions

106
flake.nix
View file

@ -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
];
};
});
};
}