Add modular configurations for the four GTK applications
This commit is contained in:
@@ -1,2 +0,0 @@
|
||||
{ pkgs, cargo_nix }:
|
||||
cargo_nix.workspaceMembers.cyberpunk-splash.build
|
||||
32
dashboard/default.nix
Normal file
32
dashboard/default.nix
Normal file
@@ -0,0 +1,32 @@
|
||||
{ pkgs }:
|
||||
let
|
||||
cargoOverrides =
|
||||
pkgs:
|
||||
pkgs.buildRustCrate.override {
|
||||
defaultCrateOverrides = pkgs.defaultCrateOverrides // {
|
||||
libadwaita-sys = attrs: {
|
||||
nativeBuildInputs = [
|
||||
pkgs.pkg-config
|
||||
pkgs.libadwaita
|
||||
];
|
||||
};
|
||||
|
||||
dashboard = attrs: {
|
||||
nativeBuildInputs = [
|
||||
pkgs.pkg-config
|
||||
pkgs.wrapGAppsHook4
|
||||
];
|
||||
postInstall = ''
|
||||
ls -l
|
||||
install -Dt $out/share/applications resources/dashboard.desktop
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
cargo_nix = pkgs.callPackage ../Cargo.nix {
|
||||
nixpkgs = pkgs;
|
||||
buildRustCrateForPkgs = cargoOverrides;
|
||||
};
|
||||
in
|
||||
cargo_nix.workspaceMembers.dashboard.build
|
||||
@@ -1,3 +1,5 @@
|
||||
use std::{fs, process::Command};
|
||||
|
||||
fn main() {
|
||||
glib_build_tools::compile_resources(
|
||||
&["resources"],
|
||||
|
||||
37
fitnesstrax/app/default.nix
Normal file
37
fitnesstrax/app/default.nix
Normal file
@@ -0,0 +1,37 @@
|
||||
{ pkgs }:
|
||||
let
|
||||
cargoOverrides =
|
||||
pkgs:
|
||||
pkgs.buildRustCrate.override {
|
||||
defaultCrateOverrides = pkgs.defaultCrateOverrides // {
|
||||
libadwaita-sys = attrs: {
|
||||
nativeBuildInputs = [
|
||||
pkgs.pkg-config
|
||||
pkgs.libadwaita
|
||||
];
|
||||
};
|
||||
fitnesstrax = attrs: {
|
||||
nativeBuildInputs = [
|
||||
pkgs.pkg-config
|
||||
pkgs.wrapGAppsHook4
|
||||
];
|
||||
postInstall = ''
|
||||
install -Dt $out/share/applications resources/fitnesstrax.desktop
|
||||
install -Dt $out/gsettings-schemas/${attrs.crateName}-${attrs.version}/glib-2.0/schemas resources/com.luminescent-dreams.${attrs.crateName}.gschema.xml
|
||||
glib-compile-schemas $out/gsettings-schemas/${attrs.crateName}-${attrs.version}/glib-2.0/schemas
|
||||
'';
|
||||
preFixup = ''
|
||||
gappsWrapperArgs+=(
|
||||
--prefix XDG_DATA_DIRS : $out/gsettings-schemas/${attrs.crateName}-${attrs.version}
|
||||
)
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
cargo_nix = pkgs.callPackage ../../Cargo.nix {
|
||||
nixpkgs = pkgs;
|
||||
buildRustCrateForPkgs = cargoOverrides;
|
||||
};
|
||||
in
|
||||
cargo_nix.workspaceMembers.fitnesstrax.build
|
||||
@@ -1,14 +0,0 @@
|
||||
{ gtkNativeInputs }:
|
||||
attrs: {
|
||||
nativeBuildInputs = gtkNativeInputs;
|
||||
postInstall = ''
|
||||
install -Dt $out/share/applications resources/fitnesstrax.desktop
|
||||
install -Dt $out/gsettings-schemas/${attrs.crateName}-${attrs.version}/glib-2.0/schemas resources/com.luminescent-dreams.fitnesstrax.gschema.xml
|
||||
glib-compile-schemas $out/gsettings-schemas/${attrs.crateName}-${attrs.version}/glib-2.0/schemas
|
||||
'';
|
||||
preFixup = ''
|
||||
gappsWrapperArgs+=(
|
||||
--prefix XDG_DATA_DIRS : $out/gsettings-schemas/${attrs.crateName}-${attrs.version}
|
||||
)
|
||||
'';
|
||||
}
|
||||
45
flake.nix
45
flake.nix
@@ -6,11 +6,18 @@
|
||||
flake-utils.url = "github:numtide/flake-utils";
|
||||
};
|
||||
|
||||
outputs = { self, nixpkgs, flake-utils }:
|
||||
flake-utils.lib.eachDefaultSystem (system:
|
||||
outputs =
|
||||
{
|
||||
self,
|
||||
nixpkgs,
|
||||
flake-utils,
|
||||
}:
|
||||
flake-utils.lib.eachDefaultSystem (
|
||||
system:
|
||||
let
|
||||
pkgs = import nixpkgs { inherit system; };
|
||||
in {
|
||||
in
|
||||
{
|
||||
devShell = pkgs.mkShell {
|
||||
name = "luminescent-dreams-shell";
|
||||
|
||||
@@ -27,6 +34,7 @@
|
||||
sqlite
|
||||
go-task
|
||||
rustup
|
||||
nixfmt
|
||||
llvmPackages.lld # Add the lld linker
|
||||
];
|
||||
|
||||
@@ -36,11 +44,28 @@
|
||||
'';
|
||||
};
|
||||
|
||||
packages = let
|
||||
cargo_nix = pkgs.callPackage ./Cargo.nix { inherit nixpkgs; };
|
||||
cyberpunk-splash = import ./cyberpunk-splash { inherit pkgs cargo_nix; };
|
||||
in {
|
||||
cyberpunk-splash = cyberpunk-splash;
|
||||
};
|
||||
});
|
||||
packages =
|
||||
let
|
||||
cargo_nix = pkgs.callPackage ./Cargo.nix {
|
||||
inherit nixpkgs;
|
||||
};
|
||||
in
|
||||
rec {
|
||||
cyberpunk-splash = cargo_nix.workspaceMembers.cyberpunk-splash.build;
|
||||
dashboard = import ./dashboard { inherit pkgs; };
|
||||
fitnesstrax = import ./fitnesstrax/app { inherit pkgs; };
|
||||
l10n-db = cargo_nix.workspaceMembers.l10n-db.build;
|
||||
|
||||
default = pkgs.symlinkJoin {
|
||||
name = "luminescent-dreams-apps";
|
||||
paths = [
|
||||
cyberpunk-splash
|
||||
dashboard
|
||||
fitnesstrax
|
||||
l10n-db
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user