A standalone Nix flake for the official
VSCodium Insiders binaries.
It uses Nixpkgs's shared VS Code builder and exposes the installed command as
codium-insiders without adding a conflicting code alias.
This is an unofficial packaging project and is not maintained by VSCodium.
| Nix system | Upstream archive |
|---|---|
aarch64-darwin |
Darwin arm64 zip |
aarch64-linux |
Linux arm64 tarball |
x86_64-linux |
Linux x64 tarball |
These commands require Nix with flakes enabled.
Run without installing:
nix run github:escidmore/vscodium-insiders-nixInstall into your Nix profile:
nix profile install github:escidmore/vscodium-insiders-nix
codium-insidersIf GitHub's unauthenticated API rate-limits the github: shorthand, use the
equivalent Git URL instead:
nix run git+https://github.com/escidmore/vscodium-insiders-nix.gitAdd the input:
inputs.vscodium-insiders.url = "github:escidmore/vscodium-insiders-nix";Then add the package to a NixOS or nix-darwin package list:
environment.systemPackages = [
vscodium-insiders.packages.${pkgs.stdenv.hostPlatform.system}.default
];For Home Manager, use the same package under home.packages:
home.packages = [
vscodium-insiders.packages.${pkgs.stdenv.hostPlatform.system}.default
];The named package is also available as
packages.<system>.vscodium-insiders.
To consume it through the overlay instead:
nixpkgs.overlays = [ vscodium-insiders.overlays.default ];
environment.systemPackages = [ pkgs.vscodium-insiders ];In these examples, vscodium-insiders is the flake input bound in your
outputs function or passed into the module that uses it.
From a clone of this repository, run the updater exposed by the package's standard Nix update interface:
"$(nix eval --raw .#vscodium-insiders.updateScript)"The updater discovers GitHub's latest release, validates all three supported
assets and their SHA-256 digests, converts the hashes to Nix SRI form, and
atomically updates release.nix. It makes no change when the recorded release
is already current. Set GITHUB_TOKEN if unauthenticated GitHub API rate limits
are too restrictive.
Run the test suite after an update:
for test in tests/*.sh; do "$test"; doneTests evaluate every public package output and build artifacts when a compatible local or remote builder is available.