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

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 using Arch Linux, install package dependencies using pacman and AUR helper. Supports paru and yay.
    • If using Debian/Ubuntu, install package dependencies using Homebrew.
  • 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 Fira Code and Source Code Pro fonts.
  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.
  • bat-extras: Bash scripts that integrate bat with various command line tools.
  • bottom: A customizable cross-platform graphical process/system monitor for the terminal.
  • duf: Disk usage utility, a better df alternative.
  • dust: A more intuitive version of du written in Rust.
  • eza: A modern, maintained replacement for ls and exa.
  • fd: A simple, fast and user-friendly alternative to find.
  • fzf: Command-line fuzzy finder.
  • Git: Version control system (VCS).
  • procs: A modern replacement for ps written in Rust.
  • ripgrep: Replacement for the classic grep command written in Rust.
  • Vim: Terminal text editor.
  • vivid: A themeable LS_COLORS generator with a rich filetype datebase.
  • zoxide: A smarter cd command.
  • Zsh: Preferred shell.

๐Ÿš Zsh

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

Preview of my Zsh configuration

Plugin Manager - Antidote

Antidote is a fast Zsh plugin manager that performes actions concurrently.

Update Antidote & Plugins

Update plugin manager including plugin bundles.

$ antidote update

Zsh Plugins

See zsh_plugins.txt for a current list of plugins that will be installed.

Most Valuable Plugins

Prompt & Themes

Two types of prompts will be automatically installed:

  • Starship: A minimal, blazing-fast, and infinitely customizable prompt.
  • Oh My Posh: Customisable and low-latency cross platform/shell prompt.

Prompt and theme is configured using zstyle.

Starship:

zstyle ':zrc:prompt'  theme  "starship cockpit"

Oh My Posh:

zstyle ':zrc:prompt'  theme  "oh-my-posh pure"

Themes are located in a dedicated themes directory. Available themes can be listed with the following custom functions.

$ list-themes-starship
Available Starship themes in '/home/user/.config/zsh/themes':
- cockpit

$ list-themes-omp
Available Oh My Posh themes in '/home/user/.config/zsh/themes':
- 1_shell
- catppuccin_mocha
- emodipt-extend
- pure
- star
- tokyonight_storm
- uew

๐Ÿ“ 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

Most Valuable Vim Plugins

โค๏ธ Credits

๐Ÿ“ƒ 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