Skip to content
/ dotfiles Public

My dotfiles managed by yadm (Yet Another Dotfiles Manager).

Notifications You must be signed in to change notification settings

pwyde/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 

Repository files navigation

🏠 Dotfiles

Dotfiles banner

ℹ️ About

Dotfiles repository managed by yadm (Yet Another Dotfiles Manager).

πŸ’Ύ Install Instructions

Install yadm using distribution specific package manager.

Arch Linux/Manjaro

Install from the Arch User Repository (AUR) with an AUR helper, for example yay.

$ yay -S yadm-git

Debian/Ubuntu

Install from the standard package repositories.

# apt install yadm

Manual

Standard package repositories are often behind the official GitHub releases. A manual installation using git clone is therefore preferred.

$ git clone https://github.com/TheLocehiliosan/yadm.git $HOME/.local/share/yadm
$ mkdir -p $HOME/.local/bin; ln -s $HOME/.local/share/yadm/yadm $HOME/.local/bin/yadm

Clone Dotfiles Repository

Clone the dotfiles repository using yadm.

$ yadm clone https://github.com/pwyde/dotfiles.git

Force Overwrite of Local Dotfiles

The clone and pull command may result in warnings because of pre-existing dotfiles. Overwrite the existing files with the commands below.

$ yadm fetch --all
$ yadm reset --hard origin/master

⭐ Features

XDG Base Directory Compliance

Dotfiles are organized to comply with XDG base directory specification as much as possible.

For more information, see this page on the Arch Wiki.

Bootstrap Script

yadm has a built-in bootstrap feature which enables further configuration of dotfiles.

The included bootstrap script will perform the following tasks:

  • Install applications.
    • If Xorg is installed on the system, offer to install GVim instead.
    • If using Debian/Ubuntu, install thefuck using pip instead.
  • Bootstrap Zsh.
    • Prepare Zsh configuration files and directory.
    • Make Zsh the default shell.
    • Add system-wide configuration of $ZDOTDIR in /etc/zsh/zshenv.
  • Bootstrap Vim.
    • Prepare Vim configuration files and directory.
    • Automatically install Vim plugins.
  • Install fonts (optional).
  • Cleanup home directory (optional).

Fonts

Fonts that include glyphs (icons) must be installed on the system to take full advantage of the themed Zsh prompt. Bootstrap script will therefor offer installation of the excellent Nerd Fonts.

Choose between the following font installation options:

  1. None. Do not install any fonts.
  2. Basic. Install only the Source Code Pro font family.
  3. Complete. Install the complete collection of Nerd Fonts.

Fonts will be installed in the ~/.local/share/fonts directory.

Cleanup Home Directory

Bootstrap script will scan the root of the home directory (~/) for known dotfiles. If any are found, the script will prompt them for removal. See XDG base directory compliance for more information.

πŸ“¦ Applications

  • bat: A cat clone with syntax highlighting and Git integration.
  • bottom: A customizable cross-platform graphical process/system monitor for the terminal.
  • exa: A modern replacement for ls.
  • eza: A modern, maintained replacement for ls and exa.
  • fd: A simple, fast and user-friendly alternative to find.
  • The Fuck: Corrects previous console command.
  • fzf: Command-line fuzzy finder.
  • Git: Version control system (VCS).
  • procs: A modern replacement for ps written in Rust.
  • ranger: Terminal file manager.
  • ripgrep: Replacement for the classic grep command written in Rust.
  • Vim: Terminal text editor.
  • Zsh: Preferred shell.

🐚 Zsh

I enjoy working with the command-line and I do it with Zsh.

Preview of my Zsh configuration

Plugin Manager - Zinit

Zinit is a flexible and fast Zsh plugin manager.

Update Plugins

$ zinit update

Zsh Plugins

Oh My Zsh Snippets

  • colored-man-pages: Adds colors to man pages.
  • dirhistory: Adds keyboard shortcuts for navigating directory history and hierarchy.
  • docker-compose: Adds aliases for frequent docker-compose commands.
  • git: Adds many aliases for Git commands.
  • thefuck: Press Esc twice to correct previous command using The Fuck.

Theme

Powerlevel10k is a theme for Zsh. It emphasizes speed, flexibility and out-of-the-box experience.

Custom Zsh Functions

zsh-list-keybindings

Lists configured key bindings in Zsh. See keybindings.zsh, for more information.

πŸ“ Vim

Vim is my preferred terminal text editor.

Preview of my Vim configuration

Plugin Manager - vim-plug

vim-plug is a minimalistic plugin manager for Vim.

Upgrade vim-plug

:PlugUpgrade

Update Plugins

:PlugUpdate

Remove Unlisted Plugins

:PlugClean

Vim Plugins

❀️ Credits

  • Dotfiles Banner: Inspired by zSucrilhos's dotfiles README.md file.
  • Zsh Completion Configuration: Performance tweaking of compinit is based on information from Carlos Alexandro Becker's blog post and ctechols's GitHub Gist.
  • Zsh Keybinding Configuration: Copied and modified from Roman Perepelitsa's dotfiles.

πŸ“ƒ License

Dotfiles made public under the MIT license.

About

My dotfiles managed by yadm (Yet Another Dotfiles Manager).

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published