# To learn more about how to use Nix to configure your environment # see: https://developers.google.com/idx/guides/customize-idx-env { pkgs, ... }: { # Which nixpkgs channel to use. channel = "stable-23.11"; # or "unstable" # Use https://search.nixos.org/packages to find packages packages = with pkgs; [ act autoconf clang clang-tools ed gcc gdb gettext graphviz-nox libtool lldb m4 gnumake neovim perl pkg-config python3 ripgrep libbacktrace glibc.out glibc.static # pkgs.python311 # pkgs.python311Packages.pip ]; # Sets environment variables in the workspace env = { }; idx = { # Search for the extensions you want on https://open-vsx.org/ and use "publisher.id" extensions = [ "vscodevim.vim" "asvetliakov.vscode-neovim" "coolbear.systemd-unit-file" "dotjoshjohnson.xml" "eamodio.gitlens" "editorconfig.editorconfig" "esbenp.prettier-vscode" "github.copilot" "github.vscode-github-actions" "golang.go" #"jnoortheen.nix-ide" "mads-hartmann.bash-ide-vscode" "ms-azuretools.vscode-docker" "ms-python.python" "ms-python.vscode-pylance" "ms-vscode.cmake-tools" "ms-vscode.cpptools" "ms-vscode.cpptools-extension-pack" "ms-vscode.makefile-tools" "ms-vsliveshare.vsliveshare" "redhat.vscode-yaml" "ryu1kn.partial-diff" "scala-lang.scala" "scalameta.metals" "streetsidesoftware.code-spell-checker" "timonwong.shellcheck" "tuttieee.emacs-mcx" "vscode-icons-team.vscode-icons" "yzhang.markdown-all-in-one" "rogalmic.bash-debug" "znck.grammarly" "twxs.cmake" "mspython.debugpy" ]; # Enable previews previews = { enable = true; previews = { # web = { # # Example: run "npm run dev" with PORT set to IDX's defined port for previews, # # and show it in IDX's web preview panel # command = ["npm" "run" "dev"]; # manager = "web"; # env = { # # Environment variables to set for your server # PORT = "$PORT"; # }; # }; }; }; # Workspace lifecycle hooks workspace = { # Runs when a workspace is first created onCreate = { # Example: install JS dependencies from NPM # npm-install = 'npm install'; }; onStart = { # Example: start a background task to watch and re-build backend code # watch-backend = "npm run watch-backend"; }; }; }; }