{ 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 ]; shellHook = '' export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${ with pkgs; lib.makeLibraryPath packages }" ''; }; } ); }