- Python 44%
- HTML 24%
- JavaScript 9.5%
- Shell 9.3%
- TypeScript 5.5%
- Other 7.7%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .agents | ||
| .config | ||
| .git-filters | ||
| .local | ||
| .pi/agent | ||
| .var/app/com.obsproject.Studio/config/obs-studio | ||
| obs | ||
| python_utils | ||
| .bash_profile | ||
| .bashrc | ||
| .env.example | ||
| .gitattributes | ||
| .gitconfig | ||
| .gitignore | ||
| .python-version | ||
| .stow-local-ignore | ||
| init.sh | ||
| justfile | ||
| LICENSE.md | ||
| pyproject.toml | ||
| README.md | ||
| uv.lock | ||
Dotfiles
Requires the following arch packages:
sudo pacman -S brightnessctl cliphist fd flatpak fzf ghostty grim mako nwg-look \
rofi rofi-calc slurp swappy ttf-nerd-fonts ttf-nerd-fonts-common zoxide \
ttf-nerd-fonts-mono waybar
Requires the following AUR packages:
paru -S catppuccin-cursors-mocha catppuccin-gtk-theme-mocha
The following mise utilities:
mise use -g node@latest uv@latest opencode@latest bun@latest hadolint@latest cargo:bat@latest cargo:fd-find@latest cargo:ripgrep@latest cargo:git-delta@latest cargo:difftastic@latest cargo:zellij@latest zoxide@latest fzf@latest
Requires the following flatpak packages:
flatpak install org.mozilla.firefox
Installation with GNU stow:
cd
git clone git@github.com:BlackHat-Magic/dotfiles
cd dotfiles
stow .
Window Manager (Niri)
This config uses Niri with the following utilities:
- brightnessctl, playerctl, and wireplumber for brightness and media keys and sound.
- Gnome Polkit for authentication
- grim, swappy, and slurp for screenshots.
- Mako for notifications
- Nautilus as a file manager.
- Noto Fonts and Nerd Fonts for fonts
- nwg-look for managing themes.
- Catppuccin as the main color scheme
- cursors
- GTK Theme
- polkit-gnome for polkit
- rofi, rofi-calc, and cliphist as an application launcher and clipboard manager.
- swaybg for background
- Waybar for status bar
- Looking at switching to ewww or a Quickshell-based solution
- wl-clipboard for clipboard history
Terminal Utilities
This config uses ghostty with the following utilities:
- bat
- delta
- difftatic
- fd as a
findreplacement. - fzf as a fuzzy finder.
- kakoune with kak-tree-sitter and kakoune-lsp as a text editor.
- nvm
- OpenCode for agentic coding.
- ripgrep as a
grepreplacement. - tldr for more readable manpages.
- wiremix for volume control.
- zellij as a terminal multiplexer.
- zoxide as a
cdreplacement.
The Rofi emoji picker uses the generated .config/rofi/emoji.txt list. Refresh
it from the pinned Unicode Emoji 17.0 and CLDR 48.2 sources with:
python .config/rofi/generate-emoji-list.py --cache-dir .config/rofi/emoji-source
Python Utilities
This repo contains a bunch of small Python CLI utilities that perform simple tasks that I find useful.
Posterize
A simple Python utility that posterizes a given image and applies any one of a number of dithering algorithms.
# from the project root
uv run posterize [-o OUTPUT] image # to run without installing
uv tool install python_utils/posterize # install to current user's PATH
uv tool uninstall posterize # to uninstall
# over the internet (without cloning repository)
uvx --from git+https://github.com/BlackHat-Magic/dotfiles posterize [-o OUTPUT] image # run w/o install
uv tool install git+github.com/BlackHat-magic/dotfiles --directory python_utils/posterize # install to user's PATH
uv tool uninstall posterize # uninstall
OBS Studio
This repo also contains my configurations for OBS Studio.
Plugins
It expects these plugins to be installed. com.obsproject.Studio.Plugin. is omitted from the start of the flatpak application IDs for brevity.
| Plugin Name | Flatpak Application ID | Arch/AUR Package |
|---|---|---|
| Advanced Masks | AdvancedMasks |
obs-advanced-masks (AUR) |
| Aitum Multistream | AitumMultistream |
obs-aitum-multistream-bin (AUR) |
| Move Transition | MoveTransition |
obs-move-transition (AUR) (Out of date) |
| Scale To Sound | ScaleToSound |
obs-scale-to-sound (AUR) |
| Shaderfiler | Shaderfilter |
obs-shaderfilter-git (AUR) |
| Source Record | SourceRecord |
obs-source-record (AUR) |
| Stroke Glow Shadow | StrokeGlowShadow |
obs-stroke-glow-shadow (AUR) |
| Transition Table | TransitionTable |
obs-transition-table (AUR) |
| Wayland Hotkeys | WaylandHotkeys |
obs-wayland-hotkeys-git (AUR) |
| 3D Effect | _3DEffect |
obs-3d-effect (AUR) |
| Waveform | waveform |
N/A |
TODO
- Icons that don't suck
Acknowledgements
- OBS "Starting Soon," "Be Right Back," and "Ending Stream" screens use a shader based on Base warp fBM cineshader by TrinketMage on ShaderToy.