{ description = "Lumenescent Dreams Tools"; inputs = { nixpkgs.url = "nixpkgs/nixos-24.11"; unstable.url = "nixpkgs/nixos-unstable"; typeshare.url = "github:1Password/typeshare"; crane.url = "github:ipetkov/crane"; }; outputs = { self, nixpkgs, unstable, typeshare, crane, ... }: let version = builtins.string 0 8 self.lastModifiedDate; supportedSystems = [ "x86_64-linux" ]; in { devShell."x86_64-linux" = let pkgs = import nixpkgs { system = "x86_64-linux"; }; pkgs-unstable = import unstable { system = "x86_64-linux"; }; in pkgs.mkShell { name = "ld-tools-devshell"; buildInputs = [ pkgs.cargo-nextest pkgs.cargo-watch pkgs.clang pkgs.crate2nix pkgs.trunk 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.libadwaita pkgs.librsvg pkgs.nodejs pkgs.openssl pkgs.pipewire pkgs.pkg-config pkgs.rustup pkgs.sqlite pkgs.cargo-nextest pkgs.wasm-pack pkgs.sqlx-cli pkgs.udev pkgs.wasm-pack pkgs.go-task pkgs.nixfmt-rfc-style typeshare.packages."x86_64-linux".default pkgs.nodePackages_latest.typescript-language-server ]; LIBCLANG_PATH = "${pkgs.llvmPackages.libclang.lib}/lib"; ENV = "dev"; }; packages."x86_64-linux" = let pkgs = import nixpkgs { system = "x86_64-linux"; }; craneLib = crane.mkLib pkgs; # gtkNativeInputs = [ # pkgs.pkg-config # pkgs.gtk4 # pkgs.libadwaita # pkgs.wrapGAppsHook4 # ]; # cargoOverrides = # pkgs: # pkgs.buildRustCrate.override { # defaultCrateOverrides = pkgs.defaultCrateOverrides // { # gobject-sys = attrs: { nativeBuildInputs = gtkNativeInputs; }; # gio-sys = attrs: { nativeBuildInputs = gtkNativeInputs; }; # gdk-pixbuf-sys = attrs: { nativeBuildInputs = gtkNativeInputs; }; # libadwaita-sys = attrs: { nativeBuildInputs = gtkNativeInputs; }; # dashboard = attrs: { nativeBuildInputs = gtkNativeInputs; }; # fitnesstrax = import ./fitnesstrax/app/override.nix { gtkNativeInputs = gtkNativeInputs; }; # otg-gtk = import ./otg/gtk/override.nix { gtkNativeInputs = gtkNativeInputs; }; # }; # }; # cargo_nix = pkgs.callPackage ./Cargo.nix { # nixpkgs = nixpkgs; # buildRustCrateForPkgs = cargoOverrides; # }; in rec { # cyber-slides = cargo_nix.workspaceMembers.cyber-slides.build; # cyberpunk-splash = cargo_nix.workspaceMembers.cyberpunk-splash.build; # dashboard = cargo_nix.workspaceMembers.dashboard.build; # file-service = cargo_nix.workspaceMembers.file-service.build; # fitnesstrax = cargo_nix.workspaceMembers.fitnesstrax.build; # otg-gtk = cargo_nix.workspaceMembers.otg-gtk.build; l10n-db = (import ./rust.nix { pkgs = pkgs; craneLib = craneLib; }).l10n-db; all = pkgs.symlinkJoin { name = "all"; paths = [ # cyber-slides # cyberpunk-splash # dashboard # file-service # fitnesstrax l10n-db # otg-gtk ]; }; default = all; }; }; }