-
Notifications
You must be signed in to change notification settings - Fork 0
/
shell.nix
53 lines (53 loc) · 1.43 KB
/
shell.nix
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
let
nixpkgs = fetchTarball "https://github.com/NixOS/nixpkgs/tarball/nixos-24.05";
rust-overlay = (import (builtins.fetchGit {
url = "https://github.com/oxalica/rust-overlay";
ref = "master";
}));
pkgs = import nixpkgs { config = {}; overlays = [ rust-overlay ]; };
system = builtins.currentSystem;
extensions =
(import (builtins.fetchGit {
url = "https://github.com/nix-community/nix-vscode-extensions";
ref = "master";
rev = "a6df283f4762b079b4d09b25acb1d9bd95f6a472";
})).extensions.${system};
extensionsList = with extensions.vscode-marketplace; [
rust-lang.rust-analyzer
tamasfe.even-better-toml
usernamehw.errorlens
serayuzgur.crates
vadimcn.vscode-lldb
ms-vscode.hexeditor
];
buildInputs = with pkgs; [
udev
alsa-lib
libglvnd
vulkan-loader
xorg.libX11
xorg.libXcursor
xorg.libXi
xorg.libXrandr
libxkbcommon
wayland
lldb
];
in
pkgs.mkShell {
nativeBuildInputs = with pkgs; [
pkg-config
];
inherit buildInputs;
packages = with pkgs; [
git
(rust-bin.stable.latest.default.override { extensions = ["rust-src"]; })
(vscode-with-extensions.override {
vscode = vscodium;
vscodeExtensions = extensionsList;
})
];
LD_LIBRARY_PATH = pkgs.lib.makeLibraryPath buildInputs;
LLDB_DEBUGSERVER_PATH = "${pkgs.lldb}/bin/lldb-server";
NIXOS_OZONE_WL=1;
}