- OS: Arch Linux - Manjaro
- WM: i3
- Shell: zsh with Oh My Zsh and powerlevel10k theme
- Terminal: alacritty
- Editor: neovim (with Lua config)
- Session manager: tmux
- File manager: ranger
- Music player: mpd ncmpcpp
- Dotfile manager: Custom scripts via GNU Stow
This repository contains my personal dotfiles, QOL scripts and binaries, as well as installation scripts for quick setup of Linux systems (primarily for Arch and Ubuntu, since I use them at the moment for my local/cloud machines). Setup can be done by invoking setup
, a powerful all-in-one setup and maintenance script.
My custom (additional) features:
- Integration with tmux, nvim, fzf...
- Automatic alias expansion
- QOL aliases and functions
- Custom shell library
- Theming
My custom (additional features):
- Custom tmux layouting scripts
See the themes directory for more information
This repository contains:
- my personal dotfiles symlinked to the home directory (
dotfiles/
directory) - binaries and scripts added to the
PATH
for quick invocation (bin/
directory) - package install lists (
lists/
directory) - custom package install scripts (
install/
directory) - patches for global configuration files (
patches/
directory) - a small shell scripting library (
shlib/
directory) - containers for sandboxing and testing (
containers/
directory) - custom
systemd
services (systemd/
directory)
Each directory has a README with more details.
Notable scripts:
setup
- front-end setup script, can be used for package installations, dotfiles management, etc..link.force
- set of paths to be forcefully overwritten when symlinking
pull
- pulls latest changes from the remote, stashing and re-applying custom changes if they exist
bin/
directory is placed on the PATH
automatically if this dotfiles directory is found in user's home directory.
setup
script can (see setup --help
):
- install packages from the provided list or command line
- link dotfiles to provided user's home directory
- perform patches to global configuration files
- install custom systemd services
Also check out:
lists/
directory for more information on the mass package installation listsinstall/
directory for more information on how to use the scripts for custom package installationspatches/
directory for more information on how to use the automatic config patching systemsystemd/
directory for more information on how to create customsystemd
services