4.1 KiB
Utilities
Miscellaneous scripts and tools that live at the top level or in the clamav/ directory.
System Update
bash ~/Dotfiles/update.sh
Runs a full system update:
sudo pacman -Syu— official reposyay -Syu --answerdiff None --answerclean All --removemake— AUR packages (no prompts)
For per-package AUR updates with confirmation:
bash ~/Dotfiles/update-aur-onebyone.sh
Package Audit
bash ~/Dotfiles/setup/audit-packages.sh
Audits installed packages — useful for finding orphans or unexpected installations.
Encryption Utilities
Simple OpenSSL wrappers for encrypting/decrypting arbitrary strings. Useful for storing secrets in scripts or config files without plaintext exposure.
Encrypt
bash ~/Dotfiles/encrypt.sh "my secret text" "my-passphrase"
# Output: base64-encoded AES-256-CBC ciphertext
Decrypt
bash ~/Dotfiles/decrypt.sh "<ciphertext>" "my-passphrase"
# Output: original plaintext
Both use AES-256-CBC with PBKDF2 key derivation via OpenSSL.
Credential Storage
Initial Setup
bash ~/Dotfiles/setup-creds-missing.sh
Installs gnome-keyring and seahorse (GUI manager), then sets git's credential helper to store.
Git Credentials
git/ contains .gitconfig with:
[user]
name = The_miro
email = amir@abdelbaki.eu
[credential]
helper = store
[init]
defaultBranch = main
[push]
autoSetupRemote = true
The store helper writes credentials to ~/.git-credentials. For higher security, gnome-keyring intercepts this and stores the credentials in the system keyring instead of plaintext.
Zsh Plugins
bash ~/Dotfiles/zshplugins.sh
Clones (or updates) the two Oh My Zsh community plugins:
zsh-syntax-highlighting— real-time syntax colouring in the promptzsh-autosuggestions— fish-style history-based suggestions
These are referenced in .zshrc and active after the next shell start.
ClamAV On-Access Scanning
Full real-time antivirus scanning via ClamAV's clamonacc daemon.
Installation
bash ~/Dotfiles/clamav/install-clam-onaccess.sh
What it does:
- Installs
clamav - Copies
clamd.confto/etc/clamav/ - Installs
clamav-clamonacc.serviceto/etc/systemd/system/ - Installs the sudoers entry from
clamav-sudoer - Updates virus definitions (
freshclam) - Enables and starts
clamd+clamav-clamonacc
Key Files
| File | Purpose |
|---|---|
clamav/clamd.conf |
Daemon configuration (30 KB, full options) |
clamav/clamav-clamonacc.service |
systemd unit for on-access scanning |
clamav/clamav-sudoer |
sudoers rule for ClamAV processes |
clamav/virus-event.bash |
Handler executed when a virus is detected |
Virus Event Handler
virus-event.bash is called by clamonacc when a threat is found. Customise it to send notifications, quarantine files, or alert an admin.
Shell Configuration
.zshrc
- Framework: Oh My Zsh
- Theme: robbyrussell (overridden visually by Starship)
- Plugins: syntax-highlighting, autosuggestions
- Walk integration:
lkfunction opens thewalkfile navigator WALK_MAIN_COLOR: set to#5018DD(CyberQueer violet)- Sources Starship init at the end
.bashrc
Minimal bash config — sets PS1, loads ~/.bash_profile if present.
Starship Prompt
starship.toml at the repo root is deployed to ~/.config/starship.toml.
Key customisations:
- OS, username, directory, git, language, docker, and time segments
- CyberQueer colours throughout (colour-substitution target)
- Directory abbreviated to 3 levels with
…/truncation - Common directory substitutions (
~/Documents→📄, etc.)
Login Manager (ly)
etc-ly-config.ini is deployed to /etc/ly/config.ini during Hyprland install and kept as a colour-substitution target in apply-theme.sh.
ly is a minimal TUI display manager that runs on tty1:
systemctl enable ly@tty1
Session selection, auto-login, and timeout settings are all in the config.