{ description = "NoiDB"; inputs = { # nixpkgs.url = "github:NixOS/nixpkgs/unstable"; nixpkgs.url = "github:NixOS/nixpkgs/23.11"; utils.url = "github:numtide/flake-utils"; utils.inputs.nixpkgs.follows = "nixpkgs"; }; outputs = { self, nixpkgs, ... }@inputs: inputs.utils.lib.eachSystem [ "x86_64-linux" "i686-linux" "aarch64-linux" "x86_64-darwin" ] (system: let pkgs = import nixpkgs { inherit system; overlays = []; config.allowUnfree = true; }; in { devShell = pkgs.mkShell rec { name = "noidb"; packages = with pkgs; [ ccache clang cmake cmakeCurses gdb lldb neovim ninja pkg-config ripgrep valgrind # Build time and Run time dependencies boost cryptopp c-ares fmt gnutls hwloc libsystemtap liburing libxfs lksctp-tools lz4 numactl protobuf ragel yaml-cpp zlib ]; shellHook = let icon = "f121"; in '' export PS1="$(echo -e '\u${icon}') {\[$(tput sgr0)\]\[\033[38;5;228m\]\w\[$(tput sgr0)\]\[\033[38;5;15m\]} (${name}) \\$ \[$(tput sgr0)\]" export CMAKE_GENERATOR=Ninja export CMAKE_MAKE_PROGRAM=Ninja export CC=clang export CXX=clang++ ''; }; }); }