>_ DevTrendsen

Language

Home

Languages

Sections

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embedded Security
Shell

A Ready-to-Use Development Environment Setup Without the Hassle

The lewagon/dotfiles repository has an interesting anomaly. It has noticeably more forks than stars: 28 thousand versus 21 thousand. This is rare in the open source world.

The reason is simple. The international bootcamp Le Wagon uses this repository to set up working machines for thousands of its students on the very first day of studies. Every beginner forks the project, runs a script, and gets a configured terminal, editor, and Git.

If you've ever had to spend half a day transferring configs to a new laptop, you'll understand the value of such a kit.

What the kit contains

There's no attempt to turn the terminal into a spaceship or rewrite everything in Lua. The configuration is extremely practical, focused on web development and team collaboration.

The tool stack is built around three things:

  • Oh My Zsh with a theme and basic plugins
  • Git with a set of working aliases and correct default settings
  • Visual Studio Code with a prepared list of useful extensions

The magic of such setups lies in the details. For example, a global .gitignore file is pre-configured with system-specific exclusions like .DS_Store for macOS, editor temporary files, and memory dumps. It's a small thing, but it prevents beginners from accidentally pushing system files to a shared repository.

Useful Git shortcuts

The most visible part of any dotfiles repository is aliases. Le Wagon's config includes shortcuts that save thousands of keystrokes per day:

# Быстрый статус и коммиты
alias gs='git status'
alias ga='git add'
alias gc='git commit -m'
alias gco='git checkout'

# Красивый вывод истории коммитов
alias gl="git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"

The gl command replaces the standard lengthy log with a compact, color-coded commit tree. You can immediately see who made the changes, when they were made, and how branches evolved.

How the terminal is set up

The authors chose Zsh with the Oh My Zsh framework as the command shell.

Plugins for autocompletion and command syntax highlighting are enabled in .zshrc. If you mistype a command name, the terminal highlights it in red before you press Enter. The current Git branch is displayed in the prompt. The indicator color changes when there are uncommitted changes.

This eliminates the need to constantly type git status before switching branches.

Who this repository is for

If you already have a config for Neovim that's been refined over years and custom scripts, you probably don't need someone else's dotfiles. But the project is useful in two cases:

  1. You're just starting to configure your terminal and don't want to figure out hundreds of Zsh parameters manually.
  2. You need to quickly deploy a decent development environment on a fresh machine or work laptop.

The project's README is intentionally minimal—just a couple of lines with links. The real substance is hidden in the configuration files .zshrc, .gitconfig and the install script install.sh.

The easiest approach is to browse the repository, open .gitconfig or .zshrc, and grab the useful aliases and functions for yourself. Or fork the repository, edit the username and email to suit your needs, and use it as a personal starter template for new machines.

Related projects