{ inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; flake-utils.url = "github:numtide/flake-utils"; }; outputs = { self, nixpkgs, flake-utils, ... }: flake-utils.lib.eachDefaultSystem (system: let pkgs = import nixpkgs { inherit system; config.allowUnfree = true; }; in { devShell = pkgs.mkShell rec { packages = with pkgs; [ gcc libtool gnumake cmake gdb pkg-config # jetbrains.clion xorg.xorgproto xorg.libX11 xorg.libX11.dev xorg.libxcb xorg.libxcb.dev xorg.libXext xorg.libXft xorg.libXinerama xorg.libXpm xorg.libXrandr xorg.libXrender xorg.libXau xorg.libXcursor xorg.libXi xorg.libXi.dev xorg.libXfixes xorg.libXxf86vm xorg.xinput xorg.libICE xorg.libXScrnSaver libdrm libGL libGL.dev libGLU libglvnd libglvnd.dev libxkbcommon mesa egl-wayland egl-wayland.dev wayland wayland-scanner alsa-lib audiofile dbus libdecor pipewire udev renderdoc vulkan-headers vulkan-helper vulkan-loader vulkan-tools vulkan-volk ]; # This envvar would be huge shellHook = '' export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${ with pkgs; lib.makeLibraryPath packages }" ''; }; } ); }