{ description = "Luminescent Dreams Tools"; inputs = { nixpkgs.url = "nixpkgs/nixos-22.11"; unstable.url = "nixpkgs/nixos-unstable"; oxalica.url = "https://github.com/oxalica/rust-overlay/archive/master.tar.gz"; pkgs-cargo2nix.url = "github:cargo2nix/cargo2nix"; crane.url = "github:ipetkov/crane"; }; outputs = { self, nixpkgs, unstable, oxalica, pkgs-cargo2nix, crane, ... }: let version = builtins.string 0 8 self.lastModifiedDate; supportedSystems = [ "x86_64-linux" ]; craneLib = crane.lib."x86_64-linux"; in { devShell."x86_64-linux" = let rust_overlay = import oxalica; pkgs = import nixpkgs { system = "x86_64-linux"; overlays = [ rust_overlay ]; }; pkgs-unstable = import unstable { system = "x86_64-linux"; overlays = [ rust_overlay ]; }; rust = pkgs.rust-bin.stable."1.65.0".default.override { extensions = [ "rust-src" ]; }; cargo2nix = pkgs-cargo2nix.packages."x86_64-linux"; in pkgs.mkShell { name = "ld-tools-devshell"; buildInputs = [ pkgs.clang pkgs.entr pkgs.glade pkgs.glib pkgs.gst_all_1.gst-plugins-bad pkgs.gst_all_1.gst-plugins-base pkgs.gst_all_1.gst-plugins-good pkgs.gst_all_1.gst-plugins-ugly pkgs.gst_all_1.gstreamer pkgs.gtk4 pkgs.nodejs pkgs.openssl pkgs.pipewire pkgs.pkg-config pkgs.sqlite rust ]; LIBCLANG_PATH="${pkgs.llvmPackages.libclang.lib}/lib"; }; packages."x86_64-linux" = { kifu-core = craneLib.buildPackage { src = craneLib.cleanCargoSource (craneLib.path ./kifu/kifu-core); }; kifu-gtk = craneLib.buildPackage { src = craneLib.cleanCargoSource (craneLib.path ./kifu/kifu-gtk); }; }; }; }