constkolesnyak / dotfiles

Configs, aliases, functions, etc.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

My Dotfiles

Screenshot

About

Built With

Tool Description
GNU Stow Symlink farm manager
Cstow My GNU Stow wrapper
Homebrew Package manager
Mas App Store CLI
Warp Terminal
VS Code Editor
VSCodeVim Vim emulator
Neovim Additional editor
Packer Neovim plugin manager
Zsh Shell
Antidote Zsh plugin manager
Starship Prompt
Defaults macOS settings CLI

How It Works

Cstow passes dirs and targets from cstow.toml to GNU Stow.

Installation

1) Preparation

  1. Clone the repo.

    gh repo clone constkolesnyak/dotfiles ~/dotfiles
    
  2. Source aliases and environment variables.

    Run where some_alias to understand aliases before executing them.

    . ~/dotfiles/zsh/.aliases.zsh ~/dotfiles/zsh/.zvars.env
    

2) Brew

  1. Check what apps are missing.

    Delete the ones you don't need from Brewfile.

    brcheck
    
  2. Install apps.

    brbundle
    

3) Stow

  1. Symlink .stow-global-ignore.

    ln -s ~/dotfiles/.stow-global-ignore ~/.stow-global-ignore
    
  2. Install and configure Cstow.

  3. Run Cstow in simulation mode.

    nostow
    
  4. Run Cstow for real.

    ststow
    

3) Finally

  • Source ~/.zshrc.

    reload
    

4) Additionally

  • Install apps listed in some_cli_apps.txt.

  • Sync VS Code UI state. Unfortunately, it can't be version controlled.

  • Add SSH keys for GitHub and/or GitLab to ~/.ssh.

  • Sync macOS settings with defaults scripts.

    1. On Mac-1 with desired settings.

      zsh ~/dotfiles/bin/defaults_export.zsh
      
    2. Copy directory with settings from Mac-1 to Mac-2.

    3. On Mac-2.

      xonsh ~/dotfiles/bin/defaults_import.xsh
      

Uninstall

destow
/bin/rm -rf ~/dotfiles ~/.stow-global-ignore

About

Configs, aliases, functions, etc.

License:MIT License


Languages

Language:Shell 55.9%Language:Ruby 34.3%Language:Lua 7.8%Language:Xonsh 2.0%