mirror of
https://github.com/danbulant/rshell
synced 2026-05-21 05:18:41 +00:00
77 lines
1.9 KiB
Nix
77 lines
1.9 KiB
Nix
{ inputs, lib, ... }: {
|
|
imports = [
|
|
inputs.devshell.flakeModule
|
|
];
|
|
|
|
config.perSystem =
|
|
{ pkgs
|
|
, ...
|
|
}: let
|
|
packages = with pkgs; [
|
|
libxkbcommon
|
|
libGL
|
|
dbus
|
|
|
|
wayland
|
|
|
|
openssl
|
|
libclang
|
|
glib
|
|
|
|
# data gathering
|
|
pipewire.dev
|
|
networkmanager
|
|
];
|
|
in {
|
|
config.devshells.default = {
|
|
imports = [
|
|
"${inputs.devshell}/extra/language/c.nix"
|
|
# "${inputs.devshell}/extra/language/rust.nix"
|
|
];
|
|
|
|
devshell = {
|
|
name = "rshell devshell";
|
|
|
|
packages = packages ++ (with pkgs;[ pkg-config rustPlatform.bindgenHook rust-cbindgen autoAddDriverRunpath clang ]);
|
|
packagesFrom = with pkgs; [libclang clang libclang.lib];
|
|
};
|
|
|
|
env = [{
|
|
name = "LD_LIBRARY_PATH";
|
|
value = lib.makeLibraryPath packages;
|
|
} {
|
|
name = "LDFLAGS";
|
|
eval = "-L$DEVSHELL_DIR/lib";
|
|
} {
|
|
name = "C_INCLUDE_PATH";
|
|
prefix = "$DEVSHELL_DIR/include";
|
|
} {
|
|
name = "PKG_CONFIG_PATH";
|
|
value = lib.concatStringsSep ":"
|
|
( map
|
|
( pkg: "${pkg.dev}/lib/pkgconfig" )
|
|
( packages )
|
|
);
|
|
#"${pkgs.openssl.dev}/lib/pkgconfig";
|
|
} {
|
|
name = "LIBCLANG_PATH";
|
|
value = "${pkgs.libclang.lib}/lib";
|
|
} {
|
|
# some *-sys crates require additional includes
|
|
name = "CFLAGS";
|
|
# append in case it needs to be modified
|
|
eval = "\"-I $DEVSHELL_DIR/include ${lib.optionalString pkgs.stdenv.isDarwin "-iframework $DEVSHELL_DIR/Library/Frameworks"}\"";
|
|
}];
|
|
|
|
commands = with pkgs; [
|
|
{ package = rust-toolchain; category = "rust"; }
|
|
];
|
|
|
|
language.c = {
|
|
libraries =
|
|
packages ++
|
|
(lib.optional pkgs.stdenv.isDarwin pkgs.libiconv);
|
|
};
|
|
};
|
|
};
|
|
}
|