{ inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; flake-utils.url = "github:numtide/flake-utils"; crane = { url = "github:ipetkov/crane"; inputs = { flake-utils.follows = "flake-utils"; nixpkgs.follows = "nixpkgs"; }; }; fenix = { url = "github:nix-community/fenix"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = inputs: with inputs; flake-utils.lib.eachDefaultSystem ( system: let pkgs = import nixpkgs { inherit system; }; libPath = with pkgs; lib.makeLibraryPath [ wayland libxkbcommon libGL ]; craneLib = (crane.mkLib pkgs).overrideToolchain fenix.packages.${system}.beta.toolchain; bsky-iced = craneLib.buildPackage { src = ./.; buildInputs = [ # Add additional build inputs here pkgs.wayland ] ++ pkgs.lib.optionals pkgs.stdenv.isDarwin [ # Additional darwin specific inputs can be set here ]; LD_LIBRARY_PATH = "${libPath}"; }; in { devShells = { default = pkgs.mkShell { packages = with pkgs; [ fenix.packages.${system}.beta.toolchain wayland ]; LD_LIBRARY_PATH = "${libPath}"; }; }; packages = { default = bsky-iced; }; } ); }