Skip to content

jhwohlgemuth/my-shell-setup

Repository files navigation

🐚 My Shell Setup

This project codifies how I configure my development environment across Windows, Linux, and OSX, using Windows Terminal1, Powerlevel10k2, Neovim3, and more.

🚀 Quick Start

Run this in a Linux (or Mac) terminal

curl -fsSL https://shell.jasonwohlgemuth.me/install.sh | bash

Tip

You can also pass package names to the script with curl -fsSL https://shell.jasonwohlgemuth.me/install.sh | bash -s -- <packages> where the list of packages can include any listed in the install packages section

🤓 Manual Setup

Make sure you have these things

  • Git - easiest way to get the files within this project
  • Stow - primary technology for configuration

Tip

For a given application configuration to be useful, the associated software must be installed

Clone this project

git clone https://github.com/jhwohlgemuth/my-shell-setup "${HOME}/.dotfiles"

Install packages

stow --dir "${HOME}/.dotfiles" --target "${HOME}" --stow git neovim ohmyposh powerlevel10k powershell

Remove packages

stow --delete <package names> --target <target>

Docker rootless install

The gold/install_docker script now supports configuring Docker rootless mode for a non-root user.

  • ROOTLESS_USER: Target Linux user for rootless Docker setup. Defaults to nonroot when omitted.
  • ROOTLESS_ONLY: Defaults to 1 (rootless/client components only). Set to 0 to also install and start rootful Docker (docker.service).

Examples:

# Install rootless/client components only (default behavior)
ROOTLESS_USER=jason ./gold/install_docker

# Install rootful Docker and also configure rootless mode for user jason
ROOTLESS_USER=jason ROOTLESS_ONLY=0 ./gold/install_docker

After setup, use the rootless socket for that user session:

export DOCKER_HOST=unix:///run/user/$(id -u)/docker.sock

Update packages

cd "${HOME}/.dotfiles"
git pull origin main
stow --target <target> --restow <package>

🔮 What Next?!

Add or improve some packages and/or try developing with containers!


Footnotes

1

Windows Terminal is an open source terminal for the modern developer. Combined with Powershell, anyone can easily enjoy a comfortable and truly robust developer experience on Windows. #cantBelieveItsNotLinux

2

powerlevel10k is a theme for Zsh

3

Example Neovim configuration

Neovim in action!

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors