nix: modernize devshell
Signed-off-by: NotAShelf <raf@notashelf.dev> Change-Id: I3ff191ec1477db9a61dfc9aeb63258406a6a6964
This commit is contained in:
parent
cd1161ee5d
commit
97a1df9b84
1 changed files with 48 additions and 55 deletions
|
|
@ -1,4 +1,5 @@
|
||||||
{
|
{
|
||||||
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
rust-bin,
|
rust-bin,
|
||||||
# rust-overlay params
|
# rust-overlay params
|
||||||
|
|
@ -6,14 +7,35 @@
|
||||||
extraTargets ? [],
|
extraTargets ? [],
|
||||||
}: let
|
}: let
|
||||||
inherit (pkgs.rustc) llvmPackages;
|
inherit (pkgs.rustc) llvmPackages;
|
||||||
|
|
||||||
|
# Dioxus desktop dependencies (GTK/WebKit)
|
||||||
|
runtimeDeps = [
|
||||||
|
pkgs.pkg-config
|
||||||
|
pkgs.glib
|
||||||
|
pkgs.gtk3
|
||||||
|
pkgs.webkitgtk_4_1
|
||||||
|
pkgs.libsoup_3
|
||||||
|
pkgs.cairo
|
||||||
|
pkgs.pango
|
||||||
|
pkgs.gdk-pixbuf
|
||||||
|
pkgs.atk
|
||||||
|
pkgs.xdotool # provides libxdo
|
||||||
|
pkgs.openssl
|
||||||
|
pkgs.kdePackages.wayland
|
||||||
|
pkgs.libiconv
|
||||||
|
];
|
||||||
in
|
in
|
||||||
pkgs.mkShell {
|
pkgs.mkShell {
|
||||||
name = "pinakes-dev";
|
name = "pinakes-dev";
|
||||||
packages = [
|
packages =
|
||||||
|
[
|
||||||
pkgs.taplo # TOML formatter
|
pkgs.taplo # TOML formatter
|
||||||
pkgs.lldb # debugger
|
pkgs.lldb # debugger
|
||||||
pkgs.llvm
|
pkgs.llvm
|
||||||
pkgs.libiconv
|
|
||||||
|
# Modern, LLVM based linking pipelime
|
||||||
|
llvmPackages.lld
|
||||||
|
llvmPackages.clang
|
||||||
|
|
||||||
# Additional Cargo Tooling
|
# Additional Cargo Tooling
|
||||||
pkgs.cargo-nextest
|
pkgs.cargo-nextest
|
||||||
|
|
@ -32,27 +54,10 @@ in
|
||||||
++ extraTargets;
|
++ extraTargets;
|
||||||
})
|
})
|
||||||
|
|
||||||
# Link with Clang & lld
|
|
||||||
pkgs.clang
|
|
||||||
pkgs.lld
|
|
||||||
|
|
||||||
# Handy CLI for packaging Dioxus apps and such
|
# Handy CLI for packaging Dioxus apps and such
|
||||||
pkgs.dioxus-cli
|
pkgs.dioxus-cli
|
||||||
|
]
|
||||||
# Dioxus desktop dependencies (GTK/WebKit)
|
++ runtimeDeps;
|
||||||
pkgs.pkg-config
|
|
||||||
pkgs.glib
|
|
||||||
pkgs.gtk3
|
|
||||||
pkgs.webkitgtk_4_1
|
|
||||||
pkgs.libsoup_3
|
|
||||||
pkgs.cairo
|
|
||||||
pkgs.pango
|
|
||||||
pkgs.gdk-pixbuf
|
|
||||||
pkgs.atk
|
|
||||||
pkgs.xdotool # provides libxdo
|
|
||||||
pkgs.openssl
|
|
||||||
pkgs.kdePackages.wayland
|
|
||||||
];
|
|
||||||
|
|
||||||
env = {
|
env = {
|
||||||
# Allow Cargo to use lld and clang properly
|
# Allow Cargo to use lld and clang properly
|
||||||
|
|
@ -61,22 +66,10 @@ in
|
||||||
|
|
||||||
# 'cargo llvm-cov' reads these environment variables to find these
|
# 'cargo llvm-cov' reads these environment variables to find these
|
||||||
# binaries, which are needed to run the tests.
|
# binaries, which are needed to run the tests.
|
||||||
LLVM_COV = "${pkgs.llvm}/bin/llvm-cov";
|
LLVM_COV = "${llvmPackages.llvm}/bin/llvm-cov";
|
||||||
LLVM_PROFDATA = "${pkgs.llvm}/bin/llvm-profdata";
|
LLVM_PROFDATA = "${llvmPackages.llvm}/bin/llvm-profdata";
|
||||||
|
|
||||||
# Runtime library path for GTK/WebKit/xdotool
|
# Runtime library path for GTK/WebKit/xdotool
|
||||||
LD_LIBRARY_PATH = "${pkgs.lib.makeLibraryPath [
|
LD_LIBRARY_PATH = "${lib.makeLibraryPath runtimeDeps}";
|
||||||
pkgs.xdotool
|
|
||||||
pkgs.gtk3
|
|
||||||
pkgs.webkitgtk_4_1
|
|
||||||
pkgs.glib
|
|
||||||
pkgs.cairo
|
|
||||||
pkgs.pango
|
|
||||||
pkgs.gdk-pixbuf
|
|
||||||
pkgs.atk
|
|
||||||
pkgs.libsoup_3
|
|
||||||
pkgs.openssl
|
|
||||||
pkgs.kdePackages.wayland
|
|
||||||
]}";
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue