1
2
Fork
You've already forked dotfiles
1
all kinds of configs
  • HolyC 100%
2026年07月08日 11:48:38 +02:00
.github/workflows ci: bump ruff version 2025年12月09日 14:58:28 +01:00
alacritty feat: map shift+enter to esc+enter 2026年06月08日 11:13:49 +02:00
assets/images docs: update readme screenshots 2025年12月20日 15:15:37 +01:00
browser feat: firefox dont autofill 2026年06月16日 11:24:47 +02:00
dev docs: js snippet for identifying problematic elements 2026年03月19日 17:26:46 +01:00
eza chore: fix missing documents start in eza theme to silence yamllint 2025年06月04日 15:38:27 +02:00
fuzzel feat: update fuzzel configs for version 1.12.0 from 1.8.2 2025年07月07日 00:02:13 +02:00
git feat: remove tools depending on a github account 2026年06月30日 17:35:46 +02:00
helix feat: helix workspace trust configuration 2026年06月24日 13:41:06 +02:00
i3blocks chore: use XDG_RUNTIME_DIR instead of tmp when available 2026年01月09日 17:42:17 +01:00
imv feat: imv set scaling to crop keybind 2026年01月20日 23:31:44 +01:00
keyd feat: global bind ctrl alt hjkl to alt arrows 2026年04月11日 18:12:38 +02:00
kitty feat: remove kitty grab submodule 2025年07月03日 14:42:25 +02:00
ly feat: enable numlock by default on ly start 2025年10月26日 12:11:48 +01:00
macchina chore: format toml files with taplo 2025年09月02日 18:59:34 +02:00
mako fix: mako notifications not visible when in fullscreen 2026年02月19日 14:22:43 +01:00
mpv feat: mpv input config with sub binds 2026年06月30日 20:55:23 +02:00
ptpython chore: fix formatting error in ptpython config 2025年09月28日 21:27:05 +02:00
scripts chore: remove copilot wrapper 2026年07月08日 11:45:04 +02:00
starship feat: show hash and tag in detach head state 2026年01月29日 15:54:50 +01:00
sway feat: alacritty daemon 2026年07月08日 11:48:38 +02:00
swaync feat: increase notification visibility 2025年07月13日 14:16:22 +02:00
tealdeer feat: add tealdeer config with color from eza 2025年07月14日 21:58:28 +02:00
tmux fix: alias name conflict 2026年05月13日 13:31:21 +02:00
wallpapers feat: f16 wallpaper 2026年07月06日 23:01:46 +02:00
waybar feat: togglable waybar block with output name 2026年01月09日 17:35:59 +01:00
xdg-desktop-portal-wlr feat: notification on screencast start 2025年12月18日 15:44:19 +01:00
yazi fix: yazi theme after schema change 2025年12月30日 11:23:05 +01:00
zathura feat: wip zathura config 2026年01月20日 23:32:48 +01:00
zsh docs: update zsh highlighting comment 2026年07月06日 15:26:15 +02:00
.git-blame-ignore-revs chore: ignore runtime dir instead of tmp commit from blame 2026年01月09日 17:44:35 +01:00
.gitattributes feat: very important 2025年09月30日 22:27:29 +02:00
.gitignore chore: add root gitignore 2025年06月28日 12:35:08 +02:00
.pre-commit-config.yaml fix: taplo lint failing on valid alacritty toml 2025年09月28日 21:27:05 +02:00
LICENSE docs: add license 2025年05月19日 19:12:39 +02:00
README.md chore: remove copilot wrapper 2026年07月08日 11:45:04 +02:00
ruff.toml chore: ensure all python scripts use the .py extension 2025年12月29日 18:29:52 +01:00
setup.sh feat: mpv input config with sub binds 2026年06月30日 20:55:23 +02:00

My dotfiles

Sway without any windows open Alacritty, yazi and helix open

Key Components

  • Sway
  • Alacritty
  • Zsh (without Oh My Zsh)
  • Helix (hx)

Target Operating Systems

Primarily used and tested on:

  • Debian
  • Ubuntu

Usage

Clone this repo and run the setup.sh script

Requirements

Terminal

  • alacritty
  • kitty

Shell

  • zsh

Editors

  • helix

Python

  • pipx
  • ptpython

Window managers

  • sway

Tools

  • tealdeer
  • eza
  • git
  • ripgrep
  • htop
  • batcat
  • fzf
  • fd-find
  • wl-clipboard
  • pulseaudio-utils
  • grimshot
  • delta pager
  • tmux
  • yazi
  • slurp
  • imagemagick
  • batcat
  • docker

Other

  • cargo
  • fuzzel
  • i3blocks
  • macchina
  • mako
  • network manager
  • keepassxc

Browsers

  • firefox

Fonts

JetBrains Mono NL Nerd Font.

To install the required styles (Bold, Regular, Italic), run: ./dev/font_download.sh

Prevent Accidental Pushes of Sensitive Data

To avoid pushing sensitive data, always create a separate branch for such changes. The hook below blocks pushes from a specific branch (<branch-name>):

Place it in .git/hooks/pre-push

#!/bin/sh

FORBIDDEN_BRANCH="<branch-name>"
while read local_ref local_sha remote_ref remote_sha; do
 if [ "$local_ref" = "refs/heads/$FORBIDDEN_BRANCH" ]; then
 echo "Pushing branch '$FORBIDDEN_BRANCH' is blocked!"
 exit 1
 fi
done
exit 0

Repository structure

.
├── alacritty
│ └── alacritty.toml
├── assets
│ └── images
│ ├── sway_alacritty_screenshot.png
│ └── sway_screenshot.png
├── browser
│ ├── README.md
│ ├── userChrome.css
│ ├── vimium-c-style.css
│ └── vimium-options.json
├── dev
│ ├── font_download.sh
│ ├── mako_runner.sh
│ ├── README.md
│ ├── vimium_c_hints_exclude_generator.py
│ ├── waybar_runner.sh
│ └── zsh_startup_benchmark.sh
├── eza
│ └── theme.yml
├── fuzzel
│ ├── fuzzel.ini
│ ├── fuzzel.ini.blue
│ ├── fuzzel.ini.green
│ └── fuzzel.ini.white
├── git
│ └── config
├── helix
│ ├── config.toml
│ ├── languages.toml
│ ├── snippets
│ │ └── python.json
│ └── themes
│ └── ayu_dark_custom.toml
├── i3blocks
│ ├── config
│ └── scripts
│ ├── battery.sh
│ ├── custom.sh
│ ├── load.sh
│ ├── mic.sh
│ ├── mic_and_touchpad.sh
│ ├── recording.sh
│ ├── temp.sh
│ ├── time.sh
│ ├── volume.sh
│ └── wifi.sh
├── imv
│ └── config
├── installation_playbook
├── keyd
│ └── default.conf
├── kitty
│ ├── kitty.conf
│ └── theme.conf
├── LICENSE
├── ly
│ └── config.ini
├── macchina
│ ├── macchina.toml
│ └── themes
│ └── Hydrogen.toml
├── mako
│ └── config
├── ptpython
│ └── config.py
├── README.md
├── ruff.toml
├── scripts
│ ├── attempt_switch_to_empty_workspace_sway
│ ├── brightness_notification.sh
│ ├── convert_git_remotes_ssh_to_http
│ ├── delta_features_toggle.py
│ ├── emoji_picker
│ ├── extract
│ ├── focus_or_open_firefox_sway
│ ├── format_json.py
│ ├── fzf_regex_open
│ ├── get_empty_workspace_sway
│ ├── gh_accept_invitation
│ ├── gh_collaborator_repo
│ ├── git-user-stats
│ ├── git_commit_formatter.py
│ ├── helix_blame_info.sh
│ ├── helix_git_log.sh
│ ├── keepassxc_select_and_copy_password
│ ├── koleo
│ ├── move_window_to_empty_workspace
│ ├── open_git_remote_browser
│ ├── open_google_service_with_account
│ ├── remove_changes_from_head
│ ├── remove_changes_merge_branch
│ ├── screencast_notify.sh
│ ├── screenshot_with_notification.sh
│ ├── sway_workspace_compact.py
│ ├── toggle_old
│ ├── toggle_screenrecording
│ ├── volume_notification.sh
│ ├── wait_for_wifi_network
│ ├── waybar_output_block_toggle.sh
│ └── zsh_history_fix
├── setup.sh
├── starship
│ └── config.toml
├── sway
│ ├── config
│ ├── config.d
│ │ ├── io_devices
│ │ └── keybinds
│ ├── doc
│ │ └── sway_cheat_sheet
│ └── themes
│ ├── blue
│ ├── green
│ └── white
├── swaync
│ ├── config.json
│ └── style.css
├── tealdeer
│ └── config.toml
├── tmux
│ └── tmux.conf
├── wallpapers
│ ├── 05_blue.jpg
│ ├── black_mountain.jpg
│ └── geo_pattern_even_darker.png
├── waybar
│ ├── config.jsonc
│ ├── style.css
│ └── themes
│ └── white.css
├── xdg-desktop-portal-wlr
│ └── config
├── yazi
│ ├── keymap.toml
│ ├── theme.toml
│ └── yazi.toml
├── zathura
│ └── zathurarc
└── zsh
 ├── before_ohmyzsh.zsh
 ├── entry.zsh
 └── zsh_custom
 ├── 05.env_variables.zsh
 ├── 05.zsh.zsh
 ├── 08.plugins.zsh
 ├── 10.hooks.zsh
 ├── 10.tool_init.zsh
 ├── 15.highlighter_styles.zsh
 ├── 20.aliases.zsh
 ├── 20.completions.zsh
 ├── 25.wsl_aliases.zsh.old
 ├── 40.x11_aliases.zsh
 ├── 50.keymap.zsh
 ├── 99.bootstrap.zsh
 ├── completions
 │ ├── _gh
 │ ├── _open_file_in_zathura
 │ ├── _remove_changes_merge_branch
 │ ├── _start_typst_preview
 │ └── _zathura
 └── plugins
 └── zsh-ssh
 ├── zsh-ssh.plugin.zsh -> zsh-ssh.zsh
 ├── zsh-ssh.zsh
 └── zsh-ssh.zsh.zwc