This is a collection of my dotfiles. I am just starting to build them up in March of 2017. I am currently running an Arch Linux pseudo-server and am using an Apple laptop.
I will update this README with more links, tips, and information as I grow my dotfiles.
I use GNU Stow to manage my dotfiles. This allows me to easily create symlinks on any *nix-based system I am using. I chose Stow because it is easily and universally available on *nix machines. I do use Windows boxes, but I don"t see myself needing the majority of my dotfiles on those machines. One tool I found when looking for Windows alternatives is stow-lite but I have not used it yet. I also chose stow because I would be able to use it to manage config files that are not in ~/. In the future, I can use stow to deploy centralized config files across my system(s).
I ran into a bit of an issue when creating the symlinks on Sierra. I kept getting an error message referencing .DS_Store files. After some Googling, I found that if you run Stow with an --ignore flag for .DS_Store, that error will not pop.
$ stow -v --ignore ".DS_Store" -t ~/ folder
You can also create a .stow-global-ignore file in your home directory and add .DS_Store to that file.
When stowing grub, run as sudo with -Rv flags and --target of /
$ sudo stow -Rv -t / grub
These are some of the links that I found useful when figuring out how to manage dotfiles and when setting up the programs they configure.
- Arch Linux Wiki on dotfiles
- GitHub Dotfiles
- Hacker News - Using GNU Stow to manage your dotfiles
- Hacker News - What do you use to manage dotfiles?
- Hacker News - Managing dotfiles with GNU Stow
- Using GNU Stow to manage your dotfiles
- Managing Dotfiles with GNU Stow
- Stow Your Dotfiles - GNW Stow for Managing Symlinks
- Stow
- Using GNU Stow to Manage Your Dotfiles
- Current iTerm colorscheme: base16 tomorrownight dark 256
- When bootstraping a new machine, change the $HOME in .stowrc to the actual home path of the machine
- Make sure to mark stowrc and newsblur-pass as assume-unchnaged
- Add .scripts to the windows path
- Link to the vim desert theme
- Materia GTK Theme
- Papirus Icon Theme
- I am using paq-nvim as a plugin manager on neovim. I tried lazy.vim, but was unable to get it to work with the pack folder from vim-base.
Install the following fonts:
- gnu-free-fonts
- ttf-liberation
- ttf-dejavu
- noto-fonts-emoji
- otf-commit-mono-nerd
- ttf-nerd-fonts-symbols
- ttf-nerd-fonts-symbols-common
- ttf-nerd-fonts-symbols-mono
- adwaita-fonts
- NerdFont in Repo
- to "install" nerd font from repo, stow it then "fc-cache -f -v"
- gtk font picker: gtk2fontsel
- other gtk settings: lxappearance
- for other systems download fonts from nerdfonts.com
- Pick your font family:
- If you are limited to monospaced fonts (because of your terminal, etc) then pick a font with Nerd Font Mono (or NFM).
- If you want to have bigger icons (usually around 1.5 normal letters wide) pick a font without Mono i.e. Nerd Font (or NF). Most terminals support this, but ymmv.
- If you work in a proportional context (GUI elements or edit a presentation etc) pick a font with Nerd Font Propo (or NFP). This information is from the FiraCode section at this GitHub
- Baskerville El Dorado Dark
- cyberdream
- adwaita gtk
- Currently using Violentmonkey
- Installed Scripts:
- RSS+Atom Feed Subscribe Button Generator
- URL Shortener Unshortener
- Force Dark Mode
- old reddit
-
This article by Paweł Grzybek showed me how to find tweaks I want to set via CLI.
-
macos-defaults.com lists out commands and values
-
To resolve the "permission denied" error when trying to access the Trash in Terminal on macOS, ensure that the Terminal app has Full Disk Access. You can do this by going to System Preferences > Security & Privacy > Privacy tab, unlocking the settings, and adding Terminal to the Full Disk Access list.
- mathiasbynens](https://github.com/mathiasbynens/dotfiles/blob/master/.macos)
- wezterm: terminal
- ghostty
- alacritty
- libqalculate: cli and gui(?) calculator
- zola: static site generator
- keepassxc
- dunst: notificaitons (mako alternative)
- alsa-utils
- htop
- btop
- calibre
- docker
- docker-compose
- xfce
- Hyprland
- digikam
- darktable
- discord
-
aurutils
-
ladybird
-
dropbox
-
base linux linux-firmware base-devel dosfstools exfatprogs f2fs-tools e2fsprogs ntfs-3g reflector stow qtile xorg xorg-init rofi firefox kitty uxrvt keepassxc man-db man-pages texinfo less sudo
libqalculate
zola
wezterm
ghostty
base 3-2 cadaver 0.26-1 calcurse 4.8.1-2 cliphist 1:0.6.1-1 cmus (try mpd and ncmpcpp) dart-sass 1.83.4-1 eza 0.20.24-1 fbida 2.14-6 fcron 3.3.1-2 feh 3.10.3-1 firefox 136.0.3-1 firefox-developer-edition 137.0b10-1 flameshot 12.1.0-6 fuzzel 1.11.1-2 ghostty 1.1.3-1 gimp 3.0.2-2 glow 2.1.0-1 gobject-introspection 1.84.0-1 gptfdisk 1.0.10-1 grub 2:2.12.r226.g56ccc5ed-1 gtk2fontsel 0.1-8 gucharmap 15.1.1-1 hexchat 2.16.2-4 hexyl 0.16.0-1 htop 3.4.0-1 hyprland 0.48.0-1 imv 4.5.0-5 incron 0.5.12-6 inetutils 2.5-1 isync 1.5.0-2 kdiff3 1.12.2-1 keepass-plugin-keeagent 0.12.1-4 keychain 2.8.5-3 khal 0.11.3-5 ksh 2020.0.0-3 libsixel 1.10.5-1 lxappearance-gtk3 0.6.4-1 man-pages 6.13-1 materia-gtk-theme 20210322-3 mediainfo 25.03-1 meld 3.22.3-1 msmtp 1.8.28-1 neomutt 20250113-1 newsboat 2.39-1 notmuch 0.38.3-5 nsxiv 33-1 obsidian 1.8.9-2 opendoas 6.8.2-3 otf-commit-mono-nerd 3.3.0-1 pacman-contrib 1.11.0-1 papirus-icon-theme 20250201-1 pavucontrol 1:6.1-1 picocom 3.1-3 picom 12.5-1 polkit-kde-agent 6.3.3-1 python-dbus-next 0.2.3-6 python-gpgme 1.24.2-1 qalculate-gtk 5.5.1-1 qmk 1.1.6-1 rclone 1.69.1-1 reflector 2023-3 remind 5.2.3-1 ristretto 0.13.4-1 rofi-pass 2.0.2-4 rtorrent 0.15.1-4 rxvt-unicode 9.31-7 sassc 3.6.2-5 slock 1.5-3 stalonetray 0.8.5-2 stow 2.4.1-1 sway 1:1.10.1-2 sxhkd 0.6.2-4 sxiv 26-2 testdisk 7.2-2 thunar-dropbox 0.3.1-1 tiny 0.13.0-1 trayer 1.1.8-4 ttf-0xproto-nerd 3.3.0-1 ttf-jetbrains-mono-nerd 3.3.0-1 ttf-noto-nerd 3.3.0-1 udiskie 2.5.7-1 ueberzug 18.3.1-4 vimiv 0.9.1-9 vivaldi 7.2.3621.71-1 vlc 3.0.21-16 vmware-workstation 16.2.1-2 wezterm 20240203.110809.5046fc22-2 wikiman 2.13.2-2 xdg-user-dirs 0.18-2 xf86-video-vesa 2.6.0-2 xfdesktop 4.20.1-1 xfwm4-themes 4.10.0-6 yazi 25.3.2-1 zola 0.20.0-1
- pomodoro timers?
- https://github.com/SylvanFranklin/omni-preview.nvm
- https://github.com/SylvanFranklin/awesome-typst
- https://github.com/AndrewRadev/id3.vim
- icons for keepass in lf
- https://github.com/artempyanykh/marksman/
- start colors off and toggle on with f4
- SET UP A SEARCH FOR A FILE IN lf WHERE IT NAVIGATES TO THAT DIRECTORY
- clarify vim.bo vs vim.opt_local
- write entire color processing script vivid > lf colors > vidir vim syntax
- fabian dotfiles look at how handles aliases and look at other shell and fzf
- do fd/find -f recursive and such in lf for renaming?
- dotfile management
- lsd vs eza
- glow config
- make autocmd file for nvim?
- look into formatting that is not ALE?
- copy diagnostic to clipboard?
- customize fzf
- Remove wikiman ctrl+f and move tmux to that so fzf can use its keybinds? rename wikiman to wm or something in alias and add that to ignorelist
- wikiman replacement for the arch wiki docs search using just fzf?
- https://github.com/yokoffing/BetterFox --> resetup firefox? user.js and what it entails
- lf https://github.com/atanunq/viu for image viewing?
- see if on-quit of lf can do what lfcd does
- more lf configs including ruler
- vivid setup https://github.com/sharkdp/vivid
- set up sudoedit / sudo -e in lf?
- fd and set it up instead of find
- set up fzf color scheme
- set up a lf for windows -> see pwsh examples
- install and config zathura on macbook
- learn direnv
- move from paru to yay - lib update delay?
- clean up references and make them easier to read/into md make cheatsheets
- css for cheatsheets of my own?
- Fix sessionizer-tmux
- Wezterm Tab Bar
- Opacity in tmux/neovim?
- Set up delta?
- Eza Theme
- LS_COLORS
- how to use blink-cmp with visual/clipboard stuff?
- dircolors - nord
- real vim plugin for pairing characters
- fd
- Brewfile
- update snippets to a different UUID from v4?
- learn and config trash-cli
- learn about editorconfig
- learn vim marks
- treesitter folding vs what i have already in vimrc: https://github.com/nvim-treesitter/nvim-treesitter
- migrate from paru to yay
- how to get the news checked before or back to w3?
- pass and GPG/PGP keys and/or keepass-cli to get secrets
- set satty keybinds
- customize vifm and openers
- make dircolors theme: https://github.com/dracula/dircolors
in the .bashrc
- custom actions to file manager: https://www.youtube.com/watch?v=i28UNDO8Q7E&pp=ygUYZGlzdHJvdHViZSBmaWxlIGV4cGxvcmVy
- thunar vs pcmanfm
- customize mimeapps and lf opener and vifm opener see if you can make icons work for lf, vifm, and eza/lsd same for colors
- implement with vidir and fzf etc: alias f="find . -type f -not -path '/.git/'" alias ff="find . -type f -not -path '/.git/' | vidir -"
- hydra mode in which-key
- set up a way to generate symbols on open of a workspace? https://github.com/axieax/urlview.nvim - not sure on this?
- ctags and neovim
- get learn fugitive and other plugins you have installed
Maria icon implementation also look at her fzf-lua and lsp and settings
- lsp
- bufferline / statusline
- dap
- diffview
- fzf-lua
- gitsigns
- nvim-web-devicons
- settings.lua
- snippet for keys and commands nvim - skels?
- function to copy diagnostic under cursor
- remove comments from newline in nvim: https://superuser.com/questions/271023/can-i-disable-continuation-of-comments-to-the-next-line-in-vim
- plain text dict and thesarus lookup especcialy dict in neovim, see blink docs
to vimrc:
" === Custom commands ===
command! MakeDir !mkdir -p %:h
command! WlCopy w !wl-copy
command! XCopy w !xclip -sel cli
Also, the quality of life improvements like
alias ..='cd ..', or mappinglsuch that it either opens a pager or lists a dir, depending on the argument. I'd never come up with those, and they're beyond useful. - https://github.com/stevearc/conform.nvim
I imagine it's something like:
l() { if [ -d "$1" ] ; then ls -alFh -- "$1" ; else "${PAGER:-pager}" -- "$1" ; fi }
- https://github.com/garymjr/nvim-snippets
- oerride nvim-web-devicons - especially file for the one in ls
- learn more about localleader and neovim mappings
- decide gitsigns.nvim vs vim-gitgutter
- learn and configure gitsigns.nvim
- learn and configure vim-fugitive
- take what I want from unimpared
- tpope commentary vs comment.nvim
- nvim-notify - looks cool, probably an unnecessary thing with messages
- csvview.nvim: an option for csv handling in neovim
- Possible ALE replacements?
vim.keymap.set("n", "", ":move .+1==", { silent = true }) vim.keymap.set("n", "", ":move .-2==", { silent = true }) vim.keymap.set("v", "", ":move '>+1gv=gv", { silent = true }) vim.keymap.set("v", "", ":move '<-2gv=gv", { silent = true })
combine some pickers -> spell and lsp? help and keys? :lua FzfLua.combine({ pickers = "oldfiles;git_files" })
-- or using the FzfLua vim command:
:FzfLua combine pickers=oldfiles;git_files
recommendation: don't put the same on_attach for each server, you can use :h LspAttach instead
the actual problem with your code is that :h vim.lsp.enable does not take the config as a 2nd parameter. you have to pass that config into :h vim.lsp.config before enabling.
also strongly recommend reading :h lsp-config
https://neovim.io/doc/user/lsp.html
THIS ONE PROBABLY BEST: https://stephenvantran.com/posts/2025-10-29-setup-neovim-lsp-011/
https://old.reddit.com/r/neovim/comments/1bljfoi/lspattach_autocommand_vs_on_attach_for_setting/
- moving to builtin plugin manager neovim
- this includes some functions for the new treesitter
OMNI BORDER COLOR: neovim/neovim#25541
- modern unix tools
- mpv vs vlc
- poppler
- websocat
- restish
- lazygit
- trash-cli
- delta
- espanso text expander
- userChrome.css for Firefox? https://github.com/ericmurphyxyz/userchrome.css
- curlie vs httpie
- gowall
I use Cyberdream wherever possible. I may work on a utility to convert Dracula or Catppuccin themes to Cyberdream. For now, I am using the tables below if I have to search and replace.
Notes:
- backgr/bg = background
- foregr/fg = foreground
| Hex | Color |
|---|---|
| #ffffff | bg |
| #eaeaea | bg_alt |
| #acacac | bg_highlight |
| #16181a | fg |
| #7b8496 | gray |
| #0057d1 | blue |
| #008b0c | green |
| #008c99 | cyan |
| #d11500 | red |
| #997b00 | yellow |
| #d100bf | magenta |
| #f40064 | pink |
| #d17c00 | orange |
| #a018ff | purple |
| Hex | Color |
|---|---|
| #16181a | cd-bg |
| #1e2124 | cd-bg_alt |
| #3c4048 | cd-bg_hi |
| #ffffff | cd-fg |
| #7b8496 | cd-gray |
| #5ea1ff | cd-blue |
| #5eff6c | cd-green |
| #5ef1ff | cd-cyan |
| #ff6e5e | cd-red |
| #f1ff5e | cd-yellow |
| #ff5ef1 | cd-magenta |
| #ff5ea0 | cd-pink |
| #ffbd5e | cd-orange |
| #bd5eff | cd-purple |