Zaszi's collection of personal dotfiles.
This repository contains my dotfiles. Included in the documentation below is a list of dependencies per configuration. These are not dependencies of the software in question but rather the binaries and libraries that my particular configuration expects. The color scheme used in most configurations is Gruvbox (Dark mode - Hard contrast) and the font is Iosevka Nerd Font.
I deploy these files to my machines using Ansible (my Ansible dotfiles role can be found here). Only the latest stable upstream releases of all respective software is supported.
- Homepage: https://github.com/alacritty/alacritty
- Description: A cross-platform, GPU-accelerated terminal emulator.
- Config location:
~/.config/alacritty
- Dependencies: Iosevka Nerd Font
Alacritty is fast, lightweight and comes with Wayland support out-of-the-box. My particular setup comes with slight transparency, the gruvbox
color scheme and the Iosevka Nerd Font
.
- Homepage: https://www.gnu.org/software/bash/
- Description: The classic, tried-and-true Bourne Again Shell.
- Config location:
~/.bashrc
and~/.bash_profile
- Dependencies: All dependencies are optional: bash-completion, bat, curl, exa, fzf, git, gnupg, neovim, openssh, pkgfile, rustup, starship, yay
Bash is the default shell for the majority of distributions and environments. As such, there is significant value in sticking to POSIX as much as possible so my workflow is applicable to most environments where daily work takes me. In a similar vein, you won't find many aliases in here, either. Most reasons for using zsh
or fish
(such as a nice prompt) disappear with the use of starship
. I do use some modern replacements of existing tooling here, but they are set up in such a way they do not depend on learning new shortcuts or flags. Dependencies on commands are checked so nothing should fail if certain binaries are missing.
- Homepage: https://github.com/emersion/mako
- Description: A lightweight notification daemon for Wayland.
- Config location:
~/.config/mako/config
- Dependencies: None
Mako is a lightweight notification daemon that works on Sway. It has been styled to fit in with the rest of my setup and I've added a timeout so notifications don't have to be clicked away.
- Homepage: https://neovim.io/
- Description: A hyperextensible Vim-based text editor.
- Config location:
~/.config/nvim/
- Dependencies: Almost all are for LSP and formatting languages that I personally use: ansible-lint, bash-language-server, glow, lua-language-server, prettier, rust-analyzer, shfmt, stylua, wl-clipboard, yamllint, yaml-language-server.
Since I spend a lot of my days on environments with no graphical interface, (Neo)vim is my bread and butter. As I kept struggling with trying to make various IDEs more Vim-like, I ended up going the other way around and making Neovim more like an IDE. This lets me keep all the benefits and workflows of a vim-like editor, yet also have the few IDE-specific tools (such as a project drawer and linting) when I need them. Despite the size of this configuration, I try to keep custom keybindings and plugins to a minimum and mostly try to improve what is already there.
I made a full lua-based configuration. Additional plugins are installed with Packer, along with their respective dependencies. Simply run the :PackerSync
command from within Neovim to download and initialize everything after dotfile installation.
- Homepage: https://qutebrowser.org/
- Description: Qutebrowser is a keyboard-focused browser with a minimal GUI.
- Config location:
~/.config/qutebrowser/config.py
- Dependencies: pdfjs
While I've used Firefox for years, there's no denying that there's been questionable decisions on Mozilla's part and the browser itself is not without its fair share of controversy today. Furthermore, Mozilla's lay-offs of 25% of its workforce [1], raising executive pay 400% as their market share declined 85% [2] and doubling down on a losing strategy [3][4] were enough to make me consider an alternative before that ship sinks completely.
Qutebrowser is open-source, lightweight, hackable browser that has vim-like keybindings. It's pretty great. This configuration enforces Qutebrowser's Qt backend to use the Wayland platform. As per usual, there's also the Gruvbox color scheme, Neovim integration, some saner defaults and dark mode.
- Homepage: https://swaywm.org/
- Description: An i3-compatible Wayland compositor.
- Config location:
~/.config/sway/config
- Dependencies: alacritty, fzf, grim, playerctl, pulseaudio-ctl, qutebrowser, slurp, waybar, swaybg, swayidle, swaylock
I prefer using a tiling window manager. Sway being essentially i3 for Wayland, it's been my daily driver ever since I made the switch to a Wayland setup. The configuration file holds a significant amount of shortcuts and utilizes several external tools, so keep in mind my configuration will most likely not work as a drop-in replacement for you unless you install all of the above dependencies.
- Homepage: https://github.com/tmux/tmux
- Description: A terminal multiplexer.
- Config location:
~/.tmux.conf
- Dependencies: None
While I dislike overengineered tmux setups, having a terminal multiplexer at my disposal for detaching sessions and window management in SSH sessions is invaluable. I use a minimal configuration, so there's not much going on here beyond some quality-of-life keybindings and saner defaults.
- Homepage: https://github.com/Alexays/Waybar
- Description: A Highly customizable Wayland bar for Sway and Wlroots based compositors.
- Config location:
~/.config/waybar/config
and~/.config/waybar/style.css
- Dependencies: playerctl, pulseaudio, sway
This is a lightweight yet highly customizable status bar that works perfectly with Sway. My configuration comes with the usual suspects that you'd want in a status bar. From left-to-right: workspaces, current music track, window name, RAM usage, CPU usage, volume, network, battery, program tray and clock.
Found a problem or have a suggestion? Feel free to open an issue.
Dotfiles is licensed under the MIT license.