- Clone the repo into your home directory, for example:
git clone git@github.com:jade-tea-h/dotfiles.git .dotfiles
- Stow
common
andgeneric
cd .dotfiles && stow common generic
- If you want to add a local configuration for a single device, add a new directory for your device and stow that instead of generic. See [Local Settings](#local settings) for more details.
- I am using
hyprland-nvidia-git
from the AUR because I have an nvidia GPU but the configuration here ought to work with the main branch fine. - Vim-ish keybinds (working on adding modal system) mostly relying on Super
- I use the default settings so no config is included here
- To change notification daemon find
exec-once dunst
in~/.config/hypr/hyprland.conf
and change it to your desired program
- Haven't done this yet
- Only have a colorscheme set (won't work until you run neovim to install all the plugins)
- Most shell stuff is done in Zellij or Zsh configs
- Basic config with vimified keybinds, colorscheme and a startup layout
- Tmux config with vimified keybinds also included
- Vi mode
- Prompt similar to Ubuntu default bash prompt but shows git repo and right side prompt has date and time
- Plugins in
~/.config/nvim/lua/plugins
- Adding a language server and its settings to
M.language_servers
inlsp/language_server.lua
will automatically install it with Mason before configuring - Adding a tool to
M.null_packages
inlsp/null.lua
will have Mason install it automatically - Currently fixing organization -- will explain here when finished
- n.b. if using any local neovim plugins, lazy.nvim will get confused unless you
run
stow
with the flag--no-folding
To add local settings for a single device, add another directory to the repo with
local files and stow it instead of generic
.
-
Zsh
- All shells:
[device]/.config/zsh/env.local
- Login shells:
[device]/.config/zsh/profile.local
- Any files named
env
in all directories in[device]/.config/
named anything besideszsh
shell
bash
sh
(e.g.[device]/.config/myprogram/env
)
- Interactive shells:
[device]/.config/zsh/rc.local
- Any functions in
[device]/.config/zsh/funcs
- All shells:
-
Hyprland
[device]/.config/monitor.conf
- First thing sourced by
hyprland.conf
- First thing sourced by
[device]/.config/local.conf
- Last thing sourced by
hyprland.conf
- Last thing sourced by
- n.b. Hyprland will complain if these files don't exist. If you don't want to use them, just add blank files in these locations.
-
Neovim
- Any lua file in
[device]/.config/nvim/lua/plugins/
will be checked by [lazy.nvim](#Lazy Plugin Manager) for plugins. Check for collisions with filenames incommon
- Any lua file in
-
Zellij
- Any layouts in
[device]/.config/zellij/layouts/
will be recognized
- Any layouts in
-
Other
~/.local/sbin
and~/.local/bin
are in the path, so executables in[device]/.local/sbin
or[device]/.local/bin
will be as well.