{ inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; rust-overlay.url = "github:oxalica/rust-overlay"; rust-overlay.inputs.nixpkgs.follows = "nixpkgs"; basecamp.url = "github:plul/basecamp"; basecamp.inputs.nixpkgs.follows = "nixpkgs"; basecamp.inputs.rust-overlay.follows = "rust-overlay"; }; outputs = { basecamp, nixpkgs, ... }: { devShells."x86_64-linux".default = let pkgs = import nixpkgs { system = "x86_64-linux"; config.allowUnfree = true; }; in basecamp.mkShell pkgs { rust.enable = true; packages = [ pkgs.godot_4 pkgs.watchexec pkgs.mdbook pkgs.mdbook-katex (pkgs.python3.withPackages (python-pkgs: [ python-pkgs.drawsvg python-pkgs.ruff python-pkgs.jedi-language-server ])) # Audio pkgs.yt-dlp # Assets/Textures pkgs.krita pkgs.texturepacker pkgs.imagemagick # Worldbuilding pkgs.ldtk ]; }; }; }