The Wayback Machine - https://web.archive.org/web/20200616071735/https://github.com/maximbaz/dotfiles
Skip to content
Configuration for Arch Linux, sway, kitty, kakoune, zsh and more + scripted installation guide
Shell Python CSS JavaScript Other
Branch: master
Clone or download

Latest commit

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.config kakoune: revert setting idle_timeout Jun 9, 2020
.gnupg gpg: show wkd hashes Apr 8, 2020
.local/share nnn: move opts to env var Apr 14, 2020
.mozilla/firefox/profile firefox: undo wayland vsync, causes troubles with popups Mar 18, 2020
.xkb/symbols xkb: add Hyper support for sway Jan 27, 2020
.zsh-plugins zsh: get rid of fzf-tab May 17, 2020
.zsh load az completions only if they are present Jun 9, 2020
bin Support taking screenshot of the entire screen May 26, 2020
etc update journald.conf Jun 9, 2020
packages update packages Jun 3, 2020
.gitconfig.common git: cleanup config Mar 21, 2020
.gitconfig.home gitconfig: refactor per host configs Mar 2, 2020
.gitconfig.work gitconfig: refactor per host configs Mar 2, 2020
.gitignore gitignore: update Jan 28, 2020
.gitmodules zsh: get rid of fzf-tab May 17, 2020
.gtkrc-2.0 gtk: use gruvbox theme Nov 14, 2018
.ignore ignore: remove .local Jan 28, 2020
.magic magic: recognize zsh shell scripts Jul 2, 2019
.mbsyncrc mbsync: preserve arrival date on sync Sep 23, 2019
.notmuch-config email: notify of new mails with closed neomutt Feb 9, 2019
.pylintrc [pylint] Update rules Dec 20, 2017
.taskrc Add taskwarrior config Jul 27, 2018
.zprofile sway: move to tty1 Mar 13, 2020
.zshenv sway: disable DRM modifiers to make dma-buf export work on Intel grap… May 17, 2020
.zshrc zsh: switch to romkatv/archive Mar 21, 2020
LICENSE Add LICENSE Nov 9, 2017
README.md Update screenshot May 26, 2020
install.sh install: preserve stdin to allow pacstrap ask questions interactively May 27, 2020
kinesis.md kinesis: update Feb 24, 2020
setup-system.sh run shfmt May 19, 2020
setup-user.sh replace ksnip with swappy May 22, 2020

README.md

~/.dotfiles

screenshot

Some of the worthy tools that I use, develop or help maintain:

  • sway (window manager) + waybar (status bar)
  • kitty (fast GPU-accelerated terminal)
  • kakoune (modular text editor with multiple cursors)
  • zsh + powerlevel10k and various other plugins
  • yubikey-touch-detector - a tool that can detect when your YubiKey is waiting for a touch.
  • browserpass - browser extension for pass and gopass.
  • wire-desktop - end-to-end encrypted chat app.
  • wluma - automatic brightness adjustment based on screen contents.
  • wl-clipboard-manager - clipboard manager for Wayland.
  • ttf-joypixels - latest JoyPixels font that provides colorful emojis for almost all apps on Linux (formerly EmojiOne).
  • aurutils - the most reasonable AUR helper out there.
  • nnn - extremely fast file manager.
  • grub-btrfs + snap-pac-grub - take btrfs snapshots during system update and add them to GRUB.

Fun things you can find in this repo:

A common color scheme for kakoune, terminal and sway itself.

It is called Gruvbox dark.

Unobtrusive and minimalistic design of sway, waybar and terminal.

Display only actionable items, use color to highlight importance, slightly dim inactive windows.

True Color support everywhere.

Including kitty, kakoune; terminal can even display picture previews.

Almost instant terminal startup.

And yet it is empowered with antigen, prezto, powerlevel10k and other plugins.

More secure gpg and ssh configuration.

Stronger algorithms, more sensible defaults.

gpg-agent configured to act as ssh-agent.

Extremely nicely integrated with YubiKey, with forwarding to selected remote hosts.

sway automatically renames workspaces to show currently opened apps.

Using iconic font to fit a lot of info even on laptop screens.

Automatically change terminal's background color based on the ssh host.

Terminal turns red when you are on production, yellow on staging, etc.

Automatically adjust brightness level based on screen contents and amount of ambient light around.

Useful for working at night, e.g. by dimming screen when switching from a dark terminal to a bright browser.

Automatically backup the list of installed packages (pacman and AUR).

These files are used to bootstrap the new system, all apps are installed in one command.

Setup script that configures user and system dotfiles, systemd services and other little things.

This script is safe to re-run at any time.

Arch Linux installation script.

Fully automated script that installs Arch Linux from scratch and configures it exactly as I like.

btrfs snapshots for easy system recovery.

Snapshots are automatically taken before and after each pacman transaction and added to GRUB.

Usage:

$ git clone https://github.com/maximbaz/dotfiles.git ~/.dotfiles
$ ~/.dotfiles/setup-system.sh
$ ~/.dotfiles/setup-user.sh

System recovery

In case system doesn't boot:

  1. Boot in a recent snapshot that works

  2. Make it the default snapshot

    # cd /mnt/btrfs-root/
    # mv root root-bak
    # btrfs subvolume snapshot snapshots/NN/snapshot root
    
  3. Reboot

You can’t perform that action at this time.