Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dev-env

Portable development environment bootstrap scripts and config files.

Main idea

This repository is the source of truth for my development environment. Files under .config/ and .local/ are copied into my home directory by ./dev-env. Program installation is handled by scripts under runs/ through ./run.

Common commands

Preview config installation without changing files:

./dev-env --dry

Install/copy config files:

./dev-env

Preview one installer script:

./run --dry neovim
./run --dry tmux
./run --dry libs

Run one installer script:

./run neovim
./run tmux
./run libs

Run all installer scripts:

./run

Reload tmux config after changes:

tmux source-file ~/.config/tmux/tmux.conf

Check Neovim startup:

nvim --headless '+quitall'

Local scripts

Scripts in .local/scripts/ are copied to ~/.local/scripts/ by ./dev-env. Make sure this directory is on PATH; this repo expects ~/.zshrc to include:

export PATH="$HOME/.local/scripts:$PATH"

Available scripts:

  • tmux-sessionizer: opens fzf over directories in ~/personal, creates or switches to a tmux session named after the selected directory, starts the session in that directory, then runs ready-tmux inside it.
  • ready-tmux: if the current project has an executable .ready-tmux, run it; otherwise run $HOME/.ready-tmux if present; then clear the screen.

Typical usage:

tmux-sessionizer

Dependencies:

tmux, fzf

Layout

.config/        Shared app config copied to ~/.config
.local/         Shared local scripts copied to ~/.local
runs/           Program install scripts
run             Runs scripts from runs/
dev-env         Copies config and local files into $HOME

Current notes

  • Neovim config currently uses NvChad starter files under .config/nvim.
  • dev-env removes and recopies managed config directories, so edit files in this repo first, then run ./dev-env.
  • Existing Linux install scripts are currently Ubuntu/Debian oriented.

macOS Codex prompt

Use this prompt after cloning the repo on macOS:

Adapt this dev-env repo for macOS while keeping Linux support.

Goals:
- Keep one repo with shared config files.
- Keep the current Linux behavior working.
- Add OS-specific installer scripts for macOS using Homebrew instead of apt.
- Structure runs/ so common scripts, Linux scripts, and macOS scripts are clearly separated.
- Update ./run to detect the OS with uname and run the correct scripts.
- Keep ./dev-env responsible for copying shared config files.
- Verify with ./run --dry, ./dev-env --dry, shell syntax checks, and macOS-local commands like brew --version.
- Do not introduce submodules or auto-updating config repos.

Suggested structure:

runs/
  common/
  linux/
  macos/

Please inspect the current repo first, propose the minimal safe migration, implement it, and test it on this Mac.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages