monorepo/flake.nix

108 lines
3.4 KiB
Nix
Raw Normal View History

2022-12-31 17:07:58 +00:00
{
description = "Lumenescent Dreams Tools";
inputs = {
nixpkgs.url = "nixpkgs/nixos-24.05";
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
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 = [
pkgs.cargo-nextest
pkgs.clang
pkgs.crate2nix
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.gst_all_1.gstreamer.dev
pkgs.gst_all_1.gst-libav
pkgs.gst_all_1.gst-vaapi
2023-02-06 14:36:02 +00:00
pkgs.gtk4
pkgs.libadwaita
2024-01-25 14:03:17 +00:00
pkgs.librsvg
pkgs.nodejs
2022-12-31 17:07:58 +00:00
pkgs.openssl
pkgs.pipewire
2023-02-06 14:36:02 +00:00
pkgs.pkg-config
pkgs.rustup
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
pkgs.udev
pkgs.wasm-pack
2023-04-21 02:50:48 +00:00
typeshare.packages."x86_64-linux".default
2024-08-20 01:52:17 +00:00
pkgs.nodePackages_latest.typescript-language-server
2022-12-31 17:07:58 +00:00
];
LIBCLANG_PATH="${pkgs.llvmPackages.libclang.lib}/lib";
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
pkgs.wrapGAppsHook4
2024-01-10 15:34:41 +00:00
];
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; };
2024-02-10 17:28:12 +00:00
fitnesstrax = import ./fitnesstrax/app/override.nix { gtkNativeInputs = gtkNativeInputs; };
2024-03-22 03:48:48 +00:00
otg-gtk = import ./otg/gtk/override.nix { gtkNativeInputs = gtkNativeInputs; };
2024-01-10 15:34:41 +00:00
};
};
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;
2024-03-22 03:48:48 +00:00
otg-gtk = cargo_nix.workspaceMembers.otg-gtk.build;
2024-01-10 15:34:41 +00:00
all = pkgs.symlinkJoin {
name = "all";
paths = [
cyberpunk-splash
dashboard
file-service
fitnesstrax
2024-03-22 03:48:48 +00:00
otg-gtk
2024-01-10 15:34:41 +00:00
];
};
default = all;
};
2022-12-31 17:07:58 +00:00
};
}