2022-12-31 17:07:58 +00:00
|
|
|
{
|
|
|
|
description = "Lumenescent Dreams Tools";
|
|
|
|
|
|
|
|
inputs = {
|
2023-12-25 06:09:31 +00:00
|
|
|
nixpkgs.url = "nixpkgs/nixos-23.11";
|
2023-02-11 17:59:15 +00:00
|
|
|
unstable.url = "nixpkgs/nixos-unstable";
|
2023-04-21 02:50:48 +00:00
|
|
|
typeshare.url = "github:1Password/typeshare";
|
2022-12-31 17:07:58 +00:00
|
|
|
};
|
|
|
|
|
2024-01-10 15:34:41 +00:00
|
|
|
outputs = { self, nixpkgs, unstable, typeshare, ... }:
|
2022-12-31 17:07:58 +00:00
|
|
|
let
|
|
|
|
version = builtins.string 0 8 self.lastModifiedDate;
|
|
|
|
supportedSystems = [ "x86_64-linux" ];
|
|
|
|
in
|
|
|
|
{
|
|
|
|
devShell."x86_64-linux" =
|
|
|
|
let
|
2023-03-31 02:52:59 +00:00
|
|
|
pkgs = import nixpkgs { system = "x86_64-linux"; };
|
|
|
|
pkgs-unstable = import unstable { system = "x86_64-linux"; };
|
2022-12-31 17:07:58 +00:00
|
|
|
in
|
|
|
|
pkgs.mkShell {
|
|
|
|
name = "ld-tools-devshell";
|
|
|
|
buildInputs = [
|
2023-11-05 20:51:32 +00:00
|
|
|
pkgs.cargo-nextest
|
2023-02-11 17:59:15 +00:00
|
|
|
pkgs.clang
|
2023-11-05 20:51:32 +00:00
|
|
|
pkgs.crate2nix
|
2023-02-11 17:59:15 +00:00
|
|
|
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
|
2023-02-06 14:36:02 +00:00
|
|
|
pkgs.gtk4
|
2023-11-05 20:51:32 +00:00
|
|
|
pkgs.libadwaita
|
2023-02-11 17:59:15 +00:00
|
|
|
pkgs.nodejs
|
2022-12-31 17:07:58 +00:00
|
|
|
pkgs.openssl
|
2023-02-11 17:59:15 +00:00
|
|
|
pkgs.pipewire
|
2023-02-06 14:36:02 +00:00
|
|
|
pkgs.pkg-config
|
2023-03-31 02:52:59 +00:00
|
|
|
pkgs.rustup
|
2023-11-05 20:51:32 +00:00
|
|
|
pkgs.sqlite
|
2024-01-10 15:34:41 +00:00
|
|
|
pkgs.cargo-nextest
|
|
|
|
pkgs.wasm-pack
|
2023-10-03 17:31:43 +00:00
|
|
|
pkgs.sqlx-cli
|
2023-11-05 20:51:32 +00:00
|
|
|
pkgs.udev
|
|
|
|
pkgs.wasm-pack
|
2023-04-21 02:50:48 +00:00
|
|
|
typeshare.packages."x86_64-linux".default
|
2022-12-31 17:07:58 +00:00
|
|
|
];
|
2023-02-11 17:59:15 +00:00
|
|
|
LIBCLANG_PATH="${pkgs.llvmPackages.libclang.lib}/lib";
|
2023-12-07 14:56:10 +00:00
|
|
|
ENV = "dev";
|
2022-12-31 17:07:58 +00:00
|
|
|
};
|
2024-01-10 15:34:41 +00:00
|
|
|
|
|
|
|
packages."x86_64-linux" =
|
|
|
|
let
|
|
|
|
pkgs = import nixpkgs { system = "x86_64-linux"; };
|
|
|
|
|
|
|
|
gtkNativeInputs = [
|
|
|
|
pkgs.pkg-config
|
|
|
|
pkgs.gtk4
|
|
|
|
pkgs.libadwaita
|
|
|
|
];
|
|
|
|
|
|
|
|
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 = attrs: { nativeBuildInputs = gtkNativeInputs; };
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
cargo_nix = pkgs.callPackage ./Cargo.nix {
|
|
|
|
nixpkgs = nixpkgs;
|
|
|
|
buildRustCrateForPkgs = cargoOverrides;
|
|
|
|
};
|
|
|
|
|
|
|
|
in rec {
|
|
|
|
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;
|
|
|
|
|
|
|
|
all = pkgs.symlinkJoin {
|
|
|
|
name = "all";
|
|
|
|
paths = [
|
|
|
|
cyberpunk-splash
|
|
|
|
dashboard
|
|
|
|
file-service
|
|
|
|
fitnesstrax
|
|
|
|
];
|
|
|
|
};
|
|
|
|
|
|
|
|
default = all;
|
|
|
|
};
|
2022-12-31 17:07:58 +00:00
|
|
|
};
|
|
|
|
}
|