{
  description = "A flake for developing in a clojure environment with vscode";

  inputs = {
    nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11";
  };

  outputs = { nixpkgs, ... }:
  let system = "x86_64-linux"; in
  {
    devShells."${system}".default =
    let
      pkgs = nixpkgs.legacyPackages."${system}";
    in
      pkgs.mkShellNoCC {
        packages = with pkgs; [
          clojure
          clojure-lsp
          leiningen
          (vscode-with-extensions.override {
            vscode = vscodium;
            vscodeExtensions = pkgs.vscode-utils.extensionsFromVscodeMarketplace [
              {
                name = "calva";
                publisher = "betterthantomorrow";
                version = "v2.0.486";
                sha256 = "sha256-pL+OgJvIK5eqE5Kr/wDeJ+2BGUT9Uj42coWSHtbPolk=";
              }
            ];
          })
        ];
        shellHook = ''
          echo "starting codium"
          codium .
        '';
      };
  };
}
