noidb/flake.nix
2024-05-01 11:44:32 -04:00

68 lines
1.5 KiB
Nix

{
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++
'';
};
});
}