All Projects → statico → Dotfiles

statico / Dotfiles

💾 Ian's dotfiles, utils, and Zsh/Vim/tmux configs

Programming Languages

javascript
184084 projects - #8 most used programming language
perl
6916 projects
bash
514 projects

Projects that are alternatives of or similar to Dotfiles

Dotfiles
Get ready for dotfiles. Contains i3, i3blocks, rofi, dunst, picom, vim, tmux, and zsh.
Stars: ✭ 985 (+77.8%)
Mutual labels:  zsh, tmux, zshrc, dotfiles, vimrc
dotfiles
My dotfiles for oh-my-zsh, vim and tmux 📟
Stars: ✭ 23 (-95.85%)
Mutual labels:  dotfiles, zsh, tmux, vimrc, zshrc
Takumi
Takumi, clean and elegant dotfiles
Stars: ✭ 22 (-96.03%)
Mutual labels:  zsh, tmux, dotfiles, vimrc
Dotfiles
My configuration files
Stars: ✭ 89 (-83.94%)
Mutual labels:  tmux, zshrc, dotfiles, vimrc
Dotfiles
⚡️ Awesome configurations for the development environments
Stars: ✭ 137 (-75.27%)
Mutual labels:  tmux, zshrc, dotfiles, vimrc
dotfiles
🏡 My dotfiles
Stars: ✭ 64 (-88.45%)
Mutual labels:  dotfiles, tmux, vimrc, zshrc
Dotfiles
What tools and plugins I use for web development?
Stars: ✭ 73 (-86.82%)
Mutual labels:  zsh, zshrc, dotfiles, vscode
dotfiles
🏡 ~/.*
Stars: ✭ 13 (-97.65%)
Mutual labels:  zsh, tmux, vimrc, zshrc
dotfiles
🚀 tmux, ohmyzsh, powerlevel10k, neovim 🔧
Stars: ✭ 24 (-95.67%)
Mutual labels:  dotfiles, zsh, tmux, zshrc
config-public
Linux/WSL config to optimize ergonomics, security, and productivity: vim/neovim, zsh, tmux, i3, emacs, vscode, ipython, jupyter, ranger, fzf, kitty, xkb, selfquant, firejail, systemd, etc
Stars: ✭ 14 (-97.47%)
Mutual labels:  dotfiles, zsh, tmux, vscode
Zsh Quickstart Kit
Simple ZSH quickstart for using ZSH and zgen
Stars: ✭ 366 (-33.94%)
Mutual labels:  zsh, zshrc, dotfiles
dotfiles
Your dotfiles are how you personalize your system. These are mine.
Stars: ✭ 12 (-97.83%)
Mutual labels:  dotfiles, zsh, tmux
dotfiles
tmux.conf,vimrc,zshrc ....
Stars: ✭ 53 (-90.43%)
Mutual labels:  dotfiles, tmux, vimrc
Mydotfiles
All my dot configuration files.
Stars: ✭ 359 (-35.2%)
Mutual labels:  tmux, zshrc, vimrc
dotfiles
Dotfiles for my current dev environment.
Stars: ✭ 14 (-97.47%)
Mutual labels:  dotfiles, zsh, tmux
dotfiles
🏡 .files, including zsh, tmux, vim, and git. Also macOS setup. Good stuff.
Stars: ✭ 30 (-94.58%)
Mutual labels:  dotfiles, zsh, tmux
dotfiles
🏠 dotfiles for my macOS environment
Stars: ✭ 17 (-96.93%)
Mutual labels:  dotfiles, zsh, tmux
Dotfiles
dotfiles for the developer happiness: macos, zsh, brew, vscode, codespaces, python, node, elixir
Stars: ✭ 408 (-26.35%)
Mutual labels:  zsh, dotfiles, vscode
dotfiles
vim ⌨️ tmux 🖥 git ⑃ zsh 💤
Stars: ✭ 12 (-97.83%)
Mutual labels:  dotfiles, vimrc, zshrc
dotfiles
📑 .dotfiles for Bash (Linux) / ZSH (Linux) / Git Bash (Windows) / Cygwin (Windows) / Bash on Ubuntu on Windows
Stars: ✭ 175 (-68.41%)
Mutual labels:  dotfiles, vimrc, zshrc

💾 Ian's Dotfiles and Vim config

These are my dotfiles. There are many like them, but these are mine.

This started around 2001 or so when I used lots of different machines and environments. Now I mostly use macOS and Linux but still keep the environment in sync.

Installation

  1. curl -sL https://statico.link/zsh | zsh
  2. chsh or otherwise set your shell to use Zsh
  3. Restart your shell

Optionally create a .postinstall with some machine-specific commands, like git config --global user.email "[email protected]"". You can also create a .vimlocal and .gvimlocal for machine-specific Vim customizations.

Customizing

  • Fork this repo
  • Update install.zsh to point at your own
  • Go nuts

Highlights (or, Why I Use This)

My first boss told me that I should have a digital toolkit -- a set of tools that I keep with me that I can use anywhere. In college I used many different kinds of Unix variants, and so it made sense to build a kit that could bootstrap my environment anywhere. Today, I use macOS, Windows, and various distributions of Linux, and this kit has proven invaluable in getting set up quickly on new hardware and VMs.

While this project includes a huge collection of configuration snippets I've collected over the years, a few parts stand out and are things I use daily:

  • My zshrc, which has a minimal, customized prompt that I like the best, as well as many aliases and shortcuts to standardize environments (like making sure Unicode displays properly and ls shows colors) and reduce keystrokes (like with my ~60 or so Git aliases). There are also a few functions that make host-specific customizations easy using a .zshlocal script which never gets checked in. There are tons of tricks in there so it's worth a skim.

  • My vimrc, which many people became interested in after reading my articles about Vim. I also have an update.sh script which installs all of the Vim plugins and themes I like to use, and it gets run as part of the Zsh update process (aliased to ZU). Is my Vim update thing better than Vundle or another plugin manager? Maybe. It's very simple and fast and works everywhere, so I stick with it.

Why Zsh instead of Bash?

Only a few reasons, honestly:

  • Easier completion - I can type /u/l/b/xTab and that completes to /usr/local/bin/x

  • I'm able to hack Ctrl-W to delete to the previous word or slash, so /usr/local/binCtrl-W becomes /usr/local/

  • I've got a thing that shows me five red dots when a completion is in progress, such as when completing files from remote SSH servers.

  • Globbing - The ** recursive operator and qualifiers like (.) and (/) for globbing are essential, like rm **/.DS_Store

  • Legacy - I started using Zsh in 2002 or so when it was edgy.

Common Tricks

Here's what I use the most often on the command line:

  • j foo to cd to the most commonly used directory that fuzzy-matches foo (via autojump)
  • l and ll for long directory listings, ltr for showing the most recent files
  • Other single-character aliases: g for git, d for docker, dc for docker-compose, k for tree, y for yarn
  • Meta-L which appends 2>&1|less to the command and hits Enter, running the command and viewing its output in a pager
  • ZU to update Vim plugins or just ZR to restart Zsh after a .zshrc change
  • Searching with rg (ripgrep), then Ctrl-AvEnter (changing rg to vrg) to edit all of the files that matched in Vim
  • cding to a directory and then using Meta-P to pop to the previous directory (since auto_pushd is enabled and silent)
  • psl to search for processes (since I never remember the pgrep syntax and it's never been consistent across platforms)
  • open and trash commands that work across macOS and Linux
  • If I'm typing a command but realize that I need to do something else first, Meta-Q queues the current command and clears the command line, then pastes it back in after I enter and run another command first.
  • Git commands: st for status, gd for a git diff, gl for a quick log, sci <message> to commit everything with a message, or gap to cherry pick and then gc <message> to commit.
  • Fuzzy history search using Ctrl-R and FZF
  • Each host gets a different colorprompt command in its ~/.zshlocal. I use ansimodes or 256-colors.sh to pick a color. (Both are already in the ~/bin/ directory, which is added to the $PATH.)

Testing

Testing is easy with Docker:

$ docker build . --tag dotfiles
$ docker run --rm -it dotfiles
[email protected]:/
〉

See also

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].