web-animation-design
Design and implement web animations that feel natural and purposeful. Use this skill proactively whenever the user asks questions about animations, motion, easing, timing, duration, springs, transitions, or animation performance. This includes questions about how to animate specific UI elements, which easing to use, animation best practices, or accessibility considerations for motion. Triggers on: easing, ease-out, ease-in, ease-in-out, cubic-bezier, bounce, spring physics, keyframes, transform, opacity, fade, slide, scale, hover effects, microinteractions, Framer Motion, React Spring, GSAP, CSS transitions, entrance/exit animations, page transitions, stagger, will-change, GPU acceleration, prefers-reduced-motion, modal/dropdown/tooltip/popover/drawer animations, gesture animations, drag interactions, button press feel, "feels janky", "make it smooth".
SKILL.md
| Name | web-animation-design |
| Description | Design and implement web animations that feel natural and purposeful. Use this skill proactively whenever the user asks questions about animations, motion, easing, timing, duration, springs, transitions, or animation performance. This includes questions about how to animate specific UI elements, which easing to use, animation best practices, or accessibility considerations for motion. Triggers on: easing, ease-out, ease-in, ease-in-out, cubic-bezier, bounce, spring physics, keyframes, transform, opacity, fade, slide, scale, hover effects, microinteractions, Framer Motion, React Spring, GSAP, CSS transitions, entrance/exit animations, page transitions, stagger, will-change, GPU acceleration, prefers-reduced-motion, modal/dropdown/tooltip/popover/drawer animations, gesture animations, drag interactions, button press feel, "feels janky", "make it smooth". |
dotfiles
Personal configuration for a productive and aesthetic development environment, focused on Linux (Hyprland) and macOS.

✨ Highlights
🖥️ Desktop (Linux)
- Window Manager: Hyprland - A dynamic tiling Wayland compositor.
- Status Bar: Waybar with custom modules for Spotify, Tailscale, and Tunnelbear.
- Widgets: Eww for interactive desktop elements like calendars.
- Launcher: Wofi with a collection of custom utility scripts.
- Notifications: Dunst for lightweight system alerts.
⌨️ Editor
- Neovim: A modern Lua-based configuration using lazy.nvim.
- Built-in LSP, Treesitter, and snacks.nvim integration.
- Optimized for performance and a seamless coding experience.
- Custom UI components and statuslines.
🛠️ Shell & Tools
- Terminal: Kitty and Alacritty support.
- Shell: Zsh with Starship prompt.
- File Manager: yazi - Blazing fast terminal file manager.
- Multiplexer: Tmux for robust session management.
- Productivity: Raycast scripts for macOS automation.
📂 Structure
| Folder | Description |
|---|---|
hyprland/ | Hyprland, Waybar, Wofi, and Eww configurations |
nvim/ | Neovim configuration (Lua) |
shell/ | Shell environment (Zsh, Starship, Tmux, Git) |
sddm/ | macOS-inspired login theme |
wallpapers/ | A collection of curated high-resolution backgrounds |
🚀 Setup
1. Clone the repository
git clone https://github.com/princejoogie/dotfiles.git ~/dotfiles
cd ~/dotfiles
2. Install GNU Stow
Ensure stow is installed on your system:
- Arch Linux:
sudo pacman -S stow - macOS:
brew install stow
3. Symlink configurations
Use stow to link the configurations to your home directory:
# Link core configurations
stow hyprland
stow nvim
stow shell
[!NOTE] For SDDM theme installation, refer to the scripts within the
sddm/directory.
🖱️ Scyrox Mouse Battery (Waybar)
This Waybar module reads the Scyrox mouse battery via HID and displays it with a custom icon.
1. Install dependencies
bun(runtime for the script)node-hid(HID access)
bun add -g node-hid
2. Allow user access to the HID device
sudo cp ~/dotfiles/system/udev/99-scyrox-hidraw.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules && sudo udevadm trigger
sudo usermod -aG input $USER
Log out and back in (or reboot) so the group change takes effect.
3. Verify
scyrox-battery --device=scyrox --json --no-sudo
If that returns JSON, restart Waybar and the module will appear between the mic input and Tailscale.