Skip to content

krisfur/mise-setup

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Mise Development Setup

This repo is the portable userland layer for my development environment.

It keeps the OS-specific setup intentionally thin and puts the reusable tooling in mise, while Neovim keeps using Mason for editor-only LSPs, formatters, and related tooling.

Update submodules

Upon cloning pull latest submodules with:

git submodule update --init --remote --recursive

Prerequisites

Get a decent terminal emulator before doing anything else.

  • Linux and macOS: use ghostty
  • Windows: use wezterm

The default Windows path in this repo is still wezterm plus WSL, but native Windows also works for the shared mise and Neovim setup below.

Linux and WSL

Install these with your distro package manager:

  • curl or wget
  • git
  • gzip
  • make
  • tar
  • unzip

Clipboard integration is assumed to be handled by the host OS.

Windows

Install these first:

  • git for Windows
  • Git Bash
  • wezterm
  • Visual Studio community edition: just the C++ development components

Using Git Bash keeps the shell setup close to the Linux and WSL instructions. You can run it directly, or launch it inside wezterm.

Example wezterm config:

config.default_prog = { "C:/Program Files/Git/bin/bash.exe", "-l" }

macOS

Install Xcode Command Line Tools first:

xcode-select --install

That covers the usual git, tar, and make requirements.

Install Mise

Install mise:

Linux and macOS

curl https://mise.run | sh

Windows

Use either:

scoop install mise

or:

winget install jdx.mise

Activate it in your shell.

Bash

echo 'eval "$(~/.local/bin/mise activate bash)"' >> ~/.bashrc

Zsh

echo 'eval "$(~/.local/bin/mise activate zsh)"' >> ~/.zshrc

Fish

echo '~/.local/bin/mise activate fish | source' >> ~/.config/fish/config.fish

Git Bash on Windows

echo 'eval "$(mise activate bash)"' >> ~/.bashrc

Open a new shell afterwards.

Install The Toolchain

Copy the config into place:

mkdir -p ~/.config/mise
cp mise/config.toml ~/.config/mise/config.toml

On native Windows from Git Bash, ~/.config/mise is fine too. Run mise config if you want to confirm the exact resolved path on your machine.

Then install everything:

mise install

This config manages:

  • bun
  • cmake
  • clang
  • fex
  • github-cli
  • go
  • neovim
  • ninja
  • node
  • odin
  • opencode
  • python
  • ripgrep
  • rust
  • swift
  • tree-sitter
  • typst
  • uv
  • zig

On Windows need to add the shims to path via PowerShell:

$shim = "$env:LOCALAPPDATA\mise\shims"
 [Environment]::SetEnvironmentVariable(
   "Path",
   $env:Path + ";" + $shim,
   "User"
 )

Neovim Setup

Copy the Neovim config:

mkdir -p ~/.config
cp -r nvim ~/.config/

On Windows the location is instead:

cp -r nvim/ ~/AppData/Local/

Launch it to install:

nvim

On native Windows, Neovim itself still uses its normal Windows config location under %LOCALAPPDATA%\nvim, so treat the ~/.config copy step above as the Git Bash equivalent path rather than a guarantee about where stdpath("config") resolves.

Note: the current neovim config only looks for python interpreters in unix locations, so the Scripts/python.exe location in windows may not work without a future fix

Docker Notes

Linux and WSL

For Docker, use your distro package manager. That usually installs the matching CLI together with the engine.

macOS

For Docker without Docker Desktop:

brew install colima docker
colima start

About

Mise config and setup instructions for a portable dev environment.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages