105 lines
2.6 KiB
Nix
105 lines
2.6 KiB
Nix
{
|
|
inputs = {
|
|
nixpkgs = {
|
|
url = "nixpkgs/nixos-unstable";
|
|
};
|
|
flake-utils = {
|
|
url = "github:numtide/flake-utils";
|
|
};
|
|
};
|
|
|
|
outputs = {
|
|
nixpkgs,
|
|
flake-utils,
|
|
...
|
|
}:
|
|
flake-utils.lib.eachDefaultSystem (
|
|
system: let
|
|
pkgs = import nixpkgs {
|
|
inherit system;
|
|
};
|
|
in {
|
|
devShells = {
|
|
default = pkgs.mkShell {
|
|
nativeBuildInputs = [
|
|
pkgs.zig_0_13
|
|
pkgs.glib
|
|
pkgs.pkg-config
|
|
pkgs.river
|
|
pkgs.wayland-protocols
|
|
pkgs.wayland-scanner
|
|
];
|
|
buildInputs = [
|
|
pkgs.wayland
|
|
];
|
|
shellHook = ''
|
|
export name=river-init
|
|
'';
|
|
};
|
|
};
|
|
packages = {
|
|
river-init = let
|
|
cache = src:
|
|
pkgs.stdenv.mkDerivation {
|
|
inherit src;
|
|
|
|
name = "river-init-cache";
|
|
|
|
nativeBuildInputs = [
|
|
pkgs.git
|
|
pkgs.zig_0_13.hook
|
|
];
|
|
|
|
dontConfigure = true;
|
|
dontUseZigBuild = true;
|
|
dontUseZigInstall = true;
|
|
dontFixup = true;
|
|
|
|
buildPhase = ''
|
|
runHook preBuild
|
|
zig build --fetch
|
|
runHook postBuild
|
|
'';
|
|
|
|
installPhase = ''
|
|
runHook preInstall
|
|
cp -r --reflink=auto $ZIG_GLOBAL_CACHE_DIR $out
|
|
runHook postInstall
|
|
'';
|
|
|
|
outputHashMode = "recursive";
|
|
outputHash = pkgs.lib.fakeHash;
|
|
};
|
|
in
|
|
pkgs.stdenv.mkDerivation (final: {
|
|
pname = "river-init";
|
|
version = "0.0.0";
|
|
src = ./.;
|
|
nativeBuildInputs = [
|
|
pkgs.pkg-config
|
|
pkgs.wayland-protocols
|
|
pkgs.wayland-scanner
|
|
pkgs.zig_0_13.hook
|
|
];
|
|
|
|
buildInputs = [
|
|
pkgs.glib
|
|
pkgs.river
|
|
pkgs.wayland
|
|
];
|
|
|
|
zigBuildFlags = [
|
|
"-Drivertile=${pkgs.river}/bin/rivertile"
|
|
"-Dgdbus=${pkgs.glib}/bin/gdbus"
|
|
];
|
|
|
|
preBuild = ''
|
|
rm -rf $ZIG_GLOBAL_CACHE_DIR
|
|
cp -r --reflink=auto ${cache final.src} $ZIG_GLOBAL_CACHE_DIR
|
|
chmod u+rwX -R $ZIG_GLOBAL_CACHE_DIR
|
|
'';
|
|
});
|
|
};
|
|
}
|
|
);
|
|
}
|