Skip to content
/ dotfiles Public

Zaszi's collection of personal dotfiles.

License

Notifications You must be signed in to change notification settings

zaszi/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dotfiles

Zaszi's collection of personal dotfiles.

Usage

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.

Features

Alacritty

Alacrity configuration

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.

Bash

Bash configuration

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.

Mako

Mako configuration

  • 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.

Neovim

Neovim configuration

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.

Qutebrowser

Qutebrowser configuration

  • 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.

Sway

Sway configuration

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.

Tmux

Tmux configuration

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.

Waybar

Waybar configuration

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.

Contribution

Found a problem or have a suggestion? Feel free to open an issue.

License

Dotfiles is licensed under the MIT license.