All Projects β†’ g6ai β†’ dotfiles

g6ai / dotfiles

Licence: other
My dotfiles for Bash/Zsh, Vim/Neovim, Doom Emacs, tmux, Git, terminal emulators, JupyterLab, aria2, mpv, Nix and Homebrew

Programming Languages

Vim Script
2826 projects
emacs lisp
2029 projects
shell
77523 projects
python
139335 projects - #7 most used programming language
Vim Snippet
174 projects
ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to dotfiles

dotfiles
Dotfiles for my NixOS system based on Dracula theme
Stars: ✭ 39 (-73.83%)
Mutual labels:  tmux, nix, doom-emacs
dotfiles
My life's work πŸ”₯πŸ”₯
Stars: ✭ 28 (-81.21%)
Mutual labels:  tmux, mpv, doom-emacs
dotfiles
My arch setup script and dotfiles
Stars: ✭ 37 (-75.17%)
Mutual labels:  tmux, alacritty, chezmoi
dotfiles
πŸ—Ώ dotfilery, configuration, environment settings, automation, etc. πŸ›–
Stars: ✭ 67 (-55.03%)
Mutual labels:  tmux, homebrew, kitty
.dotfiles
πŸ’» My settings for macOS, kitty, zsh, nvim, tmux, and more πŸ› 
Stars: ✭ 44 (-70.47%)
Mutual labels:  tmux, homebrew, kitty
dotfiles
🏠 dotfiles for my macOS environment
Stars: ✭ 17 (-88.59%)
Mutual labels:  tmux, homebrew, alacritty
dotfiles
🏑 Personal dotfiles configuration
Stars: ✭ 73 (-51.01%)
Mutual labels:  tmux, mpv, alacritty
dotfiles
πŸ”§ My dotfiles on ο£Ώ macOS for Neovim, Zsh, kitty, lf, etc
Stars: ✭ 90 (-39.6%)
Mutual labels:  kitty, alacritty
flate
🌈 Colorful dark themes
Stars: ✭ 35 (-76.51%)
Mutual labels:  kitty, alacritty
dotfiles
dotfiles (managed by https://github.com/twpayne/chezmoi/)
Stars: ✭ 40 (-73.15%)
Mutual labels:  tmux, chezmoi
kali-config
Linux colorful dotfiles.
Stars: ✭ 40 (-73.15%)
Mutual labels:  tmux, alacritty
dotfiles
πŸ’Ύ personal configuration files
Stars: ✭ 42 (-71.81%)
Mutual labels:  tmux, alacritty
cfg
my dotfiles
Stars: ✭ 26 (-82.55%)
Mutual labels:  tmux, mpv
dotfiles
My dotfiles, with an out-of-date install-script. Arch, Tiling WM (i3, sway), ZSH, Neovim
Stars: ✭ 20 (-86.58%)
Mutual labels:  tmux, alacritty
dotfiles
Personal dotfiles for macOS and Manjaro.
Stars: ✭ 20 (-86.58%)
Mutual labels:  tmux, alacritty
dots
Code Smell Dotfiles
Stars: ✭ 163 (+9.4%)
Mutual labels:  tmux, alacritty
dotfiles
A cross-platform, modular dotfiles installer for my personal setup
Stars: ✭ 43 (-71.14%)
Mutual labels:  tmux, kitty
dotfiles
Dotfiles for Neovim (0.7+), Fish shell, git, Kitty, tmux, and more.
Stars: ✭ 54 (-63.76%)
Mutual labels:  tmux, homebrew
dotfiles
macOS / Linux / Codespaces dotfiles with 1-line setup script. Tested on Apple Silicon Macs. Supports both zsh and fish. Now managed with https://github.com/twpayne/chezmoi
Stars: ✭ 82 (-44.97%)
Mutual labels:  homebrew, chezmoi
Brewfile-Generator
Generates a Homebrew Brewfile from currently installed formula for easy backup/migration to a new macOS system
Stars: ✭ 20 (-86.58%)
Mutual labels:  homebrew, brewfile

Dotfiles

Latest commit

My dotfiles. Some of my considerations are explained in Wiki.

Deployment β€’ Bash β€’ Zsh β€’ Vim/Neovim β€’ Doom Emacs β€’ tmux β€’ Git β€’ Terminal emulators β€’ Other config

More screenshots here.

Features

Deploy with ease and efficiency

chezmoi is used to bootstrap dotfiles.

  • Deploy with shell one-liner:

    sh -c "$(curl -fsLS git.io/chezmoi)" -- init --apply g6ai
  • Uses text/template syntax from Go extended with text template functions from sprig.

    For instance, here is a typical snippet in one of my dotfiles, init.vim.tmpl, residing in private_dot_config/nvim:

    {{ $x := splitList "_" .chezmoi.sourceFile /* private dot config/nvim/init.vim.tmpl */ -}}
    {{ $y := last $x | dir /* config/nvim */ -}}
    {{ $rtp := list "~/." $y | join "" /* ~/.config/nvim */ -}}
    {{ $vim_flag := .vim_flag -}}
    {{ template "vim/vimrc" dict "rtp" $rtp "os" .chezmoi.os "vim_flag" $vim_flag -}}

    It passes variables rtp, os and vim_flag to a common vimrc template in .chezmoitemplates/vim. This vimrc template contains both the actual config details and the logic operations which check the variables it receives on deployment, so it can generate different config per Vim variants (Vim or Neovim), OS (Linux or macOS) and other user-defined variables.

    Such snippets are extensively used in these dotfiles to manage config files of different environments in one place (.chezmoitemplates), keeping the resource-demanding logical operations at the deployment step rather than the runtime.

Bash

  • shrc.sh template configures terminal color for Linux and macOS respectively. It also configures highlighting of less pager. It is then sourced by bashrc template.
  • run_append_motd is a Bash script to personalise motd, which is run by chezmoi.

Zsh

  • dot_zshrc.tmpl template contains common settings from Bash, while utilising Zim for fancy features.

Vim/Neovim

  • The configs are located in the .chezmoitemplates/vim directory. They are then deployed to Vim and Neovim's runtime path.
    • Vim's vimrc.tmpl template and Neovim's init.vim.tmpl template use the versatile configs in vimrc template, which works for Linux, macOS and Windows! You can set if your system is good enough to enable plugins on chezmoi deployment.
    • Most of the vimrc's functionalities are divided and located in core directory.
  • Neovim-specific config:
    • Adopts the mighty coc.nvim. Its config is coc-settings.json.
    • Some experimetal features in Neovim 0.5+ are also embraced:

Doom Emacs

tmux

  • dot_tmux.conf sources tmuxline.vim configuration if exists. The configuration defines vi key bindings. Access to system clipboard is supported:
    • For macOS, pbcopy is used. pbcopy is installed on macOS by default.
    • For Linux, xclip is used. xclip needs to be installed. Within an SSH session, primary and/or clipboard content on the remote server can be sent to local machine by X11 forwarding.
  • Helper scripts executable_update_display_tmuxline.sh and executable_update_tmuxline.sh update environment variable $DISPLAY and tmuxline for various scenarios.

Git

Global dot_gitignore_global.tmpl per OS template. GitHub’s collection of .gitignore file templates are used.

Terminal emulators

From my experience, there's no perfect terminal emulator. I have tried Terminal.app, iTerm2, Alacritty, kitty and WezTerm. Currently I'm using WezTerm.

  • wezterm folder includes the WezTerm configuration file wezterm.lua.
  • kitty folder includes the kitty configuration file kitty.conf for different OS.
  • alacritty folder includes the Alacritty configuration file alacritty.yml for different OS.

Other config

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].