The purr-fect dotfiles management system that sets up your development environment with a single meow.
meow
was born from the desire to eliminate the repetitive and time-consuming task of setting up a development environment from scratch. Instead of manually installing packages, cloning repositories, and symlinking configuration files for hours, meow
lets you do it all with a single command.
It uses a powerful preset system to deploy a complete, tailored environment, so you can get straight to coding. Whether you're setting up a new personal laptop, a corporate workstation, or a disposable development container, meow
has a purr-fect setup for you.
- ๐ผ๏ธ Screenshots
- โจ Features
- ๐ Prerequisites
- ๐ Getting Started
- ๐ก Usage
- ๐จ Customization
- ๐งฉ Components
- ๐ง Troubleshooting
- ๐ค Contributing
- ๐ License
- ๐ Acknowledgments
meow
provides a comprehensive development-environment setup with these key capabilities.
Preset | Description | File |
---|---|---|
Personal | Environment focused on development of pet projects and entertainment | personal.yaml |
Corporate | Work-focused Go development environment | corporate.yaml |
Litterbox Essential | Minimal base setup, ideal for containers | litterbox-essential.yaml |
Litterbox Go | Container-friendly Go environment | litterbox-go.yaml |
- Go Development โ language server, debugger, and tooling
- JavaScript/TypeScript โ Node.js tool-chain, language servers, formatters
- Kotlin Development โ Kotlin compiler and tooling
- .NET Development โ .NET SDK and CLI tools
- React Development โ React-specific extensions to JS setup
- Web Development โ CSS frameworks, build tools, HTTP testing
- Game Development โ tooling and engines, including Godot
- Markdown โ technical-writing helpers, linters, presenters
- Automatic Configuration โ dotfile linking and application setup
- One-Command Installation โ simple script-based deployment
- Modular Components โ mix-and-match to build a custom setup
- Dependency Resolution โ automatic component-dependency handling
Requirement | Supported |
---|---|
OS | macOS ยท Alpine ยท Debian/Ubuntu ยท Arch |
Shell | Bash โฅ 3.2 |
Internet | Needed to download packages & tools |
Git | For cloning the repository and submodules |
Bash compatibility:
meow
works with the default Bash 3.2 that ships with macOS, avoiding the chicken-and-egg problem of needing a newer shell to install a newer shell.
- Choose your preset โ e.g.
personal
,corporate
. - Run the one-command setup โ copy/paste the snippet below.
- Restart your shell โ open a new terminal window.
git clone --recursive https://github.com/retran/meow.git ~/.meow && cd ~/.meow && ./bin/install.sh personal
git clone --recursive https://github.com/retran/meow.git ~/.meow && cd ~/.meow && ./bin/install.sh corporate
Your environment is ready to use as soon as the installer finishes.
cd ~/.meow
./bin/update.sh
The updater pulls the latest changes and reapplies the installation logic for your preset, keeping packages and dependencies fresh.
While meow
ships with handy presets, its true power is modularity.
- Create
presets/my-setup.yaml
. - List your desired components.
- Install with:
cd ~/.meow
./bin/install.sh my-setup
meow
uses a layered component system; each component can depend on others.
- ๐
shell-essential
โ Git, Tmux, Starship, Neovim, fzf, ripgrep, zoxide - ๐ง
shell-development
โ shellcheck, shfmt, bash-language-server, yamllint - ๐จ
fonts
โ JetBrains Mono, Nerd Fonts - ๐ฅ๏ธ
desktop-essential
โ GUI foundation (fonts, browser, terminal, VS Code) - ๐ ๏ธ
core-development
โ GitHub CLI, LSPs, formatters, go-task - ๐ฆ
node
โ Node.js runtime & npm - ๐
pipx
โ Python app isolation & launch
- ๐ณ
docker-cli
โ Docker CLI tooling - ๐
docker-desktop
โ Docker Desktop (macOS) - ๐น
go-development
โ gopls, delve, staticcheck, air, templ, swag - โก
js-development
โ JS/TS tool-chain - โ๏ธ
react-development
โ React extensions to JS setup - ๐
web-development
โ advanced web stack (extends React) - ๐ฆ
rust-development
โ Rust compiler & tooling - ๐พ
kotlin-development
โ Kotlin tool-chain - ๐ฆ
dotnet-development
โ .NET SDK & tools - ๐
lua-development
โ Lua runtime & tools - ๐
python-development
โ Python dev-stack - ๐ฎ
game-development
โ development tools for Godot - ๐
markdown
โ writing & presentation helpers
- ๐ผ
corporate-communication
โ professional comms tools - ๐ฅ
personal-communication
โ personal messaging apps - ๐
productivity
โ productivity & workflow helpers
- ๐ฎ
gaming
โ Steam, NVIDIA GeForce Now - ๐จ
media
โ OBS
# Check if Git is installed
git --version
# Ensure submodules are initialised
cd ~/.meow
git submodule update --init --recursive
# Retry installation
./bin/install.sh <PRESET_NAME>
# Homebrew (macOS)
brew doctor
# npm
npm cache clean --force
npm install -g npm@latest
# pipx
python3 -m pip install --user --upgrade pipx
pipx ensurepath
- Check the Issues page.
- Review preset files in
presets/
. - Examine component definitions in
presets/components/
.
Contributions are welcome to help improve meow
! Here's how you can help:
- ๐ Report bugs & issues
- ๐ก Suggest features or presets
- ๐ Improve documentation
- ๐ง Submit pull requests
- ๐จ Enhance configurations
- ๐ฆ Add new package integrations
Licensed under the MIT License. See LICENSE
for details.
meow
builds on the excellent work of the open-source community. Huge thanks to:
- Homebrew โข Git โข GitHub CLI
- tmux โข Starship โข Neovim
- Visual Studio Code โข fzf
- ripgrep โข zoxide
- Go โข Node.js โข Rust
- Raycast โข Hammerspoon
- Nerd Fonts
- โฆand the many other projects that make development enjoyable.
meow
is developed by Andrew Vasilyev with help from GitHub Copilot and feline assistants Sonya Blade, Mila, and Marcus Fenix.
Happy coding with project meow
! ๐ฑ
Made with โค๏ธ by Andrew Vasilyev and feline assistants