52 lines
1.3 KiB
Nix
52 lines
1.3 KiB
Nix
{
|
|
inputs = {
|
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
|
fenix.url = "github:nix-community/fenix";
|
|
fenix.inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
outputs = { nixpkgs, fenix, ... }:
|
|
let
|
|
forAllSystems = nixpkgs.lib.genAttrs nixpkgs.lib.systems.flakeExposed;
|
|
in
|
|
{
|
|
devShells = forAllSystems (system:
|
|
let pkgs = import nixpkgs { inherit system; }; in
|
|
{
|
|
default = pkgs.mkShell {
|
|
packages = with pkgs; [
|
|
zsh
|
|
(fenix.packages.${system}.complete.withComponents [
|
|
"cargo"
|
|
"clippy"
|
|
"rust-src"
|
|
"rustc"
|
|
"rustfmt"
|
|
"rust-analyzer"
|
|
"miri"
|
|
])
|
|
llvm_18
|
|
libffi
|
|
libxml2
|
|
ncurses
|
|
gdb
|
|
valgrind
|
|
];
|
|
LLVM_SYS_181_PREFIX = toString pkgs.llvm_18.dev;
|
|
LD_LIBRARY_PATH = let
|
|
libs = with pkgs; [
|
|
llvm_18.lib
|
|
stdenv.cc.cc.lib
|
|
libffi
|
|
libxml2
|
|
ncurses
|
|
libz
|
|
];
|
|
in
|
|
builtins.concatStringsSep ":" (map (lib: "${lib}/lib") libs)
|
|
;
|
|
};
|
|
}
|
|
);
|
|
};
|
|
}
|