Skip to content

About

My dev environment for MacOs and Ubuntu Servers

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Dotfiles

Personal dotfiles configuration for Zsh, Tmux, Neovim, and Git.

Required: Install Nerd Fonts

To see icons in tmux/neovim, install a Nerd Font:

macOS:

# Option 1: Via Homebrew
brew install font-sf-mono

# Option 2: Hack Nerd Font
brew install --cask font-hack-nerd-font

Linux:

# Option 1: Via apt
sudo apt install fonts-firacode

# Option 2: Download manually
# Go to: https://www.nerdfonts.com/font-downloads

Set in iTerm2 (macOS):

  1. Open iTerm2 → Preferences (Cmd+,)
  2. Go to Profiles → Text tab
  3. Click Change Font
  4. Select Hack Nerd Font or SF Mono

Set in Tilix/Terminal (Linux):

  1. Open Preferences → Profile → Custom Font
  2. Select FiraCode Nerd Font or Hack Nerd Font

Quick Install

One-command install on macOS or Linux:

curl -sS https://raw.githubusercontent.com/toomij99/dev-environment-files/main/install.sh | bash

Options

Command Description
curl ... | bash Fresh install (default)
curl ... | bash -s -- --update Update dotfiles
curl ... | bash -s -- --fix Re-stow configurations
curl ... | bash -s -- --help Show help

Manual Install

  1. Clone repository:

    git clone --recurse-submodules git@github.com:toomij99/dev-environment-files.git ~/.dotfiles
    cd ~/.dotfiles
  2. Stow configurations:

    stow .
  3. Restart terminal.

  4. Start tmux.

  5. Install tmux plugins with Ctrl-a I.

  6. Reload tmux config with Ctrl-a r.

Features

  • Zsh: Oh My Zsh with Powerlevel10k theme, plugins for git, docker, python, etc.
  • Tmux: Custom keybindings, plugins for navigation, session persistence, and Tokyo Night theme.
  • Neovim: Lua-based configuration with various plugins.
  • Git: Basic user configuration.

Quick Commands

General

Command Description
y Open yazi file manager
vim Open neovim
fk Fix last command (thefuck)

Neovim - File Explorer

Command Description
<leader>ee Toggle file explorer
<leader>ef Toggle explorer on current file
<leader>ec Collapse explorer
<leader>er Refresh explorer

Neovim - Telescope

Command Description
<leader>ff Find files
<leader>fr Find recent files
<leader>fs Find string in cwd
<leader>fc Find string under cursor
<leader>ft Find todos
<leader>fk Find keymaps

Neovim - LSP

Command Description
gd Go to definition
gR Show references
gD Go to declaration
gi Show implementations
gt Show type definitions
K Show documentation
<leader>ca Code actions
<leader>rn Smart rename
<leader>rs Restart LSP

Neovim - Git

Command Description
]h / [h Next/Prev hunk
<leader>hs Stage hunk
<leader>hr Reset hunk
<leader>hp Preview hunk
<leader>hd Diff this

Neovim - Misc

Command Description
<leader>r Substitute motion
<leader>rr Substitute line
<leader>wr Restore session
<leader>ws Save session
<leader>l Show linting

Tmux

Command Description
Ctrl-a I Install plugins
`Ctrl-a `
Ctrl-a - Split vertical
Ctrl-a h/j/k/l Navigate panes
Ctrl-a r Reload config

Tmux Session Persistence

This setup includes tmux-resurrect and tmux-continuum.

install.sh installs TPM, but tmux plugins are installed by TPM from inside a tmux session.

  • Start tmux and run Ctrl-a I once to install the configured plugins.
  • Reload the config with Ctrl-a r, or restart tmux.
  • tmux-continuum then autosaves tmux state in the background.
  • To restore a saved session manually, use prefix + Ctrl-r from tmux-resurrect.

By default, automatic restore is disabled in tmux.conf:

set -g @continuum-restore 'off'

To enable automatic restore when tmux starts, change it to:

set -g @continuum-restore 'on'

After changing the setting, reload tmux with Ctrl-a r.

Navigation

Command Description
z + directory zoxide (cd alternative)
cdf cd to git repo root

Update & Fix

# Pull latest dotfiles
cd ~/.dotfiles && git pull && git submodule update --init --recursive

# Re-stow configurations
cd ~/.dotfiles && stow .

Requirements

  • Zsh
  • Oh My Zsh
  • Tmux
  • Neovim
  • GNU Stow
  • Various tools like fzf, bat, zoxide, etc. (see .zshrc for details)

About

My dev environment for MacOs and Ubuntu Servers

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages