{ pkgs, lib, ... }: rec { # https://devenv.sh/processes/ processes.lspmux.exec = "lspmux server"; processes.spacetimedb_start.exec = "spacetime start"; processes.spacetimedb_generate_bindings = { exec = "spacetime dev --module-bindings-path jong/src/stdb jongline --delete-data=always"; # notify.enable = true; # TODO features not yet supp??? # restart = "always"; # watch = { # paths = [./jong]; # }; }; # https://devenv.sh/packages/ packages = with pkgs; [ lspmux pkg-config # spacetimedb openssl binaryen spacetimedb # bevy Linux # Audio (Linux only) alsa-lib # Cross Platform 3D Graphics API vulkan-loader # For debugging around vulkan vulkan-tools # Other dependencies libudev-zero xorg.libX11 xorg.libXcursor xorg.libXi xorg.libXrandr libxkbcommon wayland ]; env.LD_LIBRARY_PATH = lib.makeLibraryPath packages; env.RUST_LOG = "jong=trace"; # https://devenv.sh/languages/ languages.rust = { enable = true; channel = "nightly"; version = "latest"; targets = ["x86_64-unknown-linux-gnu" "wasm32-unknown-unknown"]; components = ["rust-src" "rust-docs" "rustc-codegen-cranelift" "rust-analyzer" "rustfmt"]; }; process.manager.implementation = "mprocs"; process.managers.mprocs.settings = { server = "127.0.0.1:4050"; }; # https://devenv.sh/services/ # https://devenv.sh/scripts/ # https://devenv.sh/basics/ # https://devenv.sh/tasks/ # https://devenv.sh/tests/ # https://devenv.sh/git-hooks/ # See full reference at https://devenv.sh/reference/options/ }