• Stars
    star
    817
  • Rank 55,808 (Top 2 %)
  • Language
    Shell
  • License
    ISC License
  • Created about 9 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Configuration for Arch Linux, Hyprland, kitty, kakoune, zsh and more + scripted installation guide

~/.dotfiles

Explore the repo and incorporate what you like into your own setup. If you have any questions, comments or suggestions, feel free to open an issue or PR!

When you fork, remember to grep for maximbaz and replace with your username.

Installation script is deploying an opinionated Arch Linux setup, but in general can be used by anyone. If you want to learn more, I highly recommend to at least read the installation script first, and maybe modify to your own needs.

If you want to try my entire setup in a VM, make sure to use maximbaz as the username - it will install additional things and my dotfiles.

For daily usage, I recommend forking my repo instead of using it directly, as I am changing things on daily basis 🙂

Enjoy! 🚀

screenshot

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

  • [Hyprland](hyprctl monitors -j) (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.
  • xplr - hackable, minimal and fast file manager.
  • arch-secure-boot + snap-pac - UEFI Secure Boot for Arch Linux + btrfs snapshots during system update.

Fun things you can find in this repo:

☑ A common color scheme for kakoune, terminal and Hyprland itself.

It is called Gruvbox dark.

☑ Unobtrusive and minimalistic design of Hyprland, 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.

☑ Hyprland 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 for easy system recovery.

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

More Repositories

1

wluma

Automatic brightness adjustment based on screen contents and ALS
Rust
643
star
2

yubikey-touch-detector

A tool to detect when your YubiKey is waiting for a touch (to send notification or display a visual indicator on the screen)
Go
412
star
3

lightline-ale

ALE indicator for the lightline vim plugin
Vim Script
248
star
4

rebuild-detector

Detects which Arch Linux packages need to be rebuilt
Shell
213
star
5

arch-secure-boot

UEFI Secure Boot for Arch Linux + btrfs snapshot recovery
Shell
129
star
6

browser-fingerprint-protector

Prevents browser fingerprinting by spoofing your plugins, languages and user agent
JavaScript
71
star
7

docker-arch-build-aur

Build AUR packages (useful for building *-bin packages via Travis / Shippable)
Shell
28
star
8

snap-pac-grub

Pacman hook to update GRUB entries for grub-btrfs after snap-pac made snapshots
Makefile
21
star
9

wl-clipboard-manager

Clipboard manager for Wayland
Shell
16
star
10

cerebro-pass

Cerebro plugin for pass.
JavaScript
14
star
11

restclient.kak

HTTP REST client for Kakoune
KakouneScript
10
star
12

dmenu-term

dmenu as a terminal with fuzzy filter
Shell
9
star
13

lightline-trailing-whitespace

A trailing whitespace component for the lightline vim plugin
Vim Script
7
star
14

docker-joypixels-fonts-build

Build EmojiOne font files (today only Android / Linux)
Python
3
star
15

pkgbuilds

Shell
3
star
16

update-ipsets

Dockerfile
2
star
17

pkgbuild-brave-vaapi

Shell
2
star
18

container-tab-flow

Firefox extension: stay within the current container when closing a tab
JavaScript
1
star
19

maximbaz.github.io

HTML
1
star
20

iptables-exporter

Rust
1
star
21

LegoRobot

Managing LEGO robot via Bluetooth
C#
1
star
22

emacs-smart-home-end

Enables easy navigation with `Home' and `End' keys across wrapped lines (in Visual Line Mode).
Emacs Lisp
1
star
23

helm-echoip

Shell
1
star