Skip to content

mirai-toto/linux-setup

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

6 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

linux-setup

Linux system provisioner β€” sets up a fresh machine and bootstraps dotfiles.

This repo handles everything that requires distro-level knowledge, leaving the dotfiles repo focused purely on configuration.

This repo sets up:

  • 🐧 Distro dependencies β€” build tools and locale per distro
  • 🍺 Homebrew β€” installs and initializes Homebrew
  • 🐚 dotfiles β€” clones and runs dotfiles/install.sh
  • πŸ¦€ Rust β€” toolchain via rustup
  • πŸ“¦ npm globals β€” commitlint
  • πŸͺŸ Windows Terminal β€” auto-configured when running under WSL

πŸš€ Usage

First install

git clone https://github.com/mirai-toto/linux-setup.git ~/linux-setup
cd ~/linux-setup
./install.sh

install.sh does the following:

  1. Detects the distro and installs build dependencies
  2. Configures locale (en_US.UTF-8)
  3. Installs Homebrew
  4. Clones dotfiles to ~/dotfiles and runs its install.sh
  5. Installs npm global packages
  6. Installs Rust toolchain via rustup
  7. (WSL only) Installs and configures Windows Terminal via wt-settings

After install, restart your terminal or run exec zsh.


🐧 Supported distros

Distro Script
Debian / Ubuntu distro/debian/setup.sh
Fedora / RHEL distro/fedora/setup.sh

Distro detection reads /etc/os-release. If your distro is not recognized, distro-specific steps are skipped with a warning and the rest of the install continues.


🐳 Test in a container

Each distro has its own Dockerfile for isolated testing:

./test-install.sh          # defaults to debian
./test-install.sh debian
./test-install.sh fedora

This builds the image for the target distro and drops you into an interactive shell after install.sh completes.


πŸͺŸ Windows Terminal

Auto-configured during install when running under WSL, via wt-settings. Color scheme files live in themes/.


⚠️ After install checklist

These files are created by dotfiles/install.sh with empty values β€” don't forget to fill them in:

File What to fill in
~/.gitconfig.local name and email for git commits
~/.secrets API keys and other secrets

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors