| .dotfiles/deps | ||
| .shellscripts | ||
| .wallpapers | ||
| dot_config | ||
| dot_local/share/rofi/themes | ||
| private_dot_librewolf | ||
| private_dot_ssh | ||
| readonly_Documents | ||
| source/repositories | ||
| .chezmoi.toml.tmpl | ||
| .chezmoiignore | ||
| .dotfiles-old.tar.xz | ||
| .luarc.json | ||
| applications.yaml | ||
| create_dot_bashrc | ||
| dot_gitconfig | ||
| dot_gitignore | ||
| dot_wezterm.lua.tmpl | ||
| dot_zshrc | ||
| komorebi install.txt | ||
| komorebi.ahk | ||
| komorebi.json | ||
| README.md | ||
Mar's dotfiles
About
Package manager
Mains mise as a local package/dependency manager.
System package manager
Mains paru AUR helper for arch based distro's, which is the only distro where that has a preference.
Editor
I use mostly Neovim, but am liking Helix as well, it's current lack of extensibility is my reason for not transitioning to it.
My Neovim is derived from the LazyVim distrobution, but heavily modified.
I also have configurations for Zed as I use it when I needed too.
Terminal
I use several terminal emulators depending on the system, since my raspberry pi doesn't always play nice with wezterm:
- WezTerm - GPU-accelerated cross-platform terminal
- Alacritty - Cross-platform, GPU-accelerated terminal
For terminal multiplexing, I use Zellij.
System Tools
Various CLI tools that make the experience better:
- Eza - Modern replacement for
ls - Bat - Cat clone with syntax highlighting
- Fzf - Fuzzy finder
- Ripgrep - Fast grep alternative
- Zoxide - Smarter cd command
- Difftastic - Structural diff tool
- Fastfetch - System information tool
- Lazygit - Git TUI
- GitHub CLI - GitHub command line tool
- JJ - Git-compatible VCS
Shell
I main Fish, with Zsh as a fallback option. On Windows pwsh (Powershell 7+) is used, instead of powershell (Powershell 5-) or CMD.
In all shells I use regularly, a bunch of helpers for cli operations is created, as well as a Starship prompt and a Hyfetch-powered landing screen.
Window management
Linux
On Linux, these dotfiles provide configuration for my beloved Hyprland and Niri setups, but I myself have long not used either due to changing hardware and other personal reasons. I keep both configs however, because I'm sure I'll be back for them some day. Currently I'm daily driving both KDE Plasma and GNOME. Cosmic is great too but not as much for me.
Windows
If you've snooped around, you know I have komorebi and ahk files in here to turn Windows 11 into a Hyprland like experience. I don't really often do, as fighting with Windows makes tired. Those files are marked for deletion at some point. I do however use lots of Powertoys when on Windows, making it at least tolerable.
Set-up
Generally
Generally I system-install chezmoi and fish, then do something along the lines of
chezmoi init ssh://git@git.strawmelonjuice.com/strawmelonjuice/dotfiles.git --apply # First round
curl https://mise.run | sh # install mise...
~/.local/bin/mise install # ...mise install!
~/.local/bin/mise x -- bun install -g @bitwarden/cli # Install Bitwarden CLI for secret management
bw login # making sure the vault is logged into before running the auto unlocker
chsh # to fish
fish # continue in fish
y # To set up auto unlock, then enter password, obviously.
# TODO: Need to update this whenever I go with Hyprland/Niri again, because those have a lot of system dependencies I can't think of right now.
# and usually I'd:
reboot now
For arch-based distro's
pacman -S gcc cmake fish chezmoi # chezmoi can be locally installed as well but if we're at it
git clone https://aur.archlinux.org/paru.git
cd paru
makepkg -si --noconfirm
cd
rm -rf ./paru
For Fedora 42 Silverblue
# Add the terra repo
curl -fsSL https://github.com/terrapkg/subatomic-repos/raw/main/terra.repo | pkexec tee /etc/yum.repos.d/terra.repo
# Add the WezTerm nightly repo
sudo curl -o /etc/yum.repos.d/wezfurlong-wezterm-nightly.repo https://copr.fedorainfracloud.org/coprs/wezfurlong/wezterm-nightly/repo/fedora-42/wezfurlong-wezterm-nightly-fedora-42.repo
# Also installs phosh and squeekboard, as Fedora Silverblue is my
rpm-ostree install terra-release fish phosh squeekboard gcc cmake 'g++' 'gcc-c++' zed wezterm
If Spotify doesn't do what it should
Assuming I have toolbox installed:
toolbox create --distro ubuntu --release 24.04 spotify-box
curl -o /home/mar/.local/share/icons/spotify.png https://storage.googleapis.com/pr-newsroom-wp/1/2023/05/Spotify_Primary_Logo_RGB_Green.png
toolbox enter spotify-box
Then inside the spotify box:
curl -sS https://download.spotify.com/debian/pubkey_C85668DF69375001.gpg | sudo gpg --dearmor --yes -o /etc/apt/trusted.gpg.d/spotify.gpg
echo "deb https://repository.spotify.com stable non-free" | sudo tee /etc/apt/sources.list.d/spotify.list
sudo apt-get update && sudo apt-get install spotify-client
And write the .desktop file /home/mar/.local/share/applications/spotify-toolbox.desktop
[Desktop Entry]
Name=Spotify (Toolbox)
Comment=Music streaming service
Exec=toolbox run -c spotify-box spotify
Icon=/home/mar/.local/share/icons/spotify.png
Terminal=false
Type=Application
Categories=AudioVideo;Audio;Music;
Keywords=music;audio;stream;
StartupWMClass=spotify
Old dotfiles
The dotfiles from before my move off github and this cleanup can be found in .dotfiles-old.tar.xz. Unpack that and git clone it and you're able to see the full history of the old dotfiles. They're messy.