rpcfetch/flake.nix

57 lines
1.9 KiB
Nix

{
description = "Fyne build script";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/24.05";
};
outputs = { self, nixpkgs }:
let
supportedSystems = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ];
forAllSystems = f: nixpkgs.lib.genAttrs supportedSystems (system: f system);
in
{
devShells = forAllSystems
(system:
let
pkgs = import nixpkgs {
inherit system;
};
in
{
default = with pkgs; mkShell
({
packages = [
clang
] ++ (if stdenv.isLinux then [
(pkgs.writeShellScriptBin "build" ''
go build -v -ldflags '-s -w -X main.Version=flake' -o /tmp/rpcfetch ./fetch
# wayland support is partially broken at the moment
#go build -v -ldflags '-s -w -X main.Version=flake' -tags wayland -o /tmp/wl-rpcfetch ./fetch
'')
vulkan-headers
libxkbcommon
wayland
xorg.libX11
xorg.libXcursor
xorg.libXfixes
xorg.libXrandr
xorg.libXinerama
xorg.libXi
xorg.libXxf86vm
glfw-wayland
pkg-config
] else if stdenv.isDarwin then [
darwin.apple_sdk_11_0.frameworks.Foundation
darwin.apple_sdk_11_0.frameworks.Metal
darwin.apple_sdk_11_0.frameworks.QuartzCore
darwin.apple_sdk_11_0.frameworks.AppKit
darwin.apple_sdk_11_0.MacOSX-SDK
] else [ ]);
} // (if stdenv.isLinux then {
LD_LIBRARY_PATH = "${vulkan-loader}/lib";
} else { }));
}
);
};
}