EN rotten-guy

QUICK SETTINGS · whoami

JOSHUA GILLET

rotten_guy

Networks & telecoms student at the IUT of Montbéliard (BUT R&T). I like taking systems apart until I understand them, then putting them back together exactly the way I want: Linux desktops, wireless keyboards and the networks they run on. Next target: security challenges.

kitty · ~
USR
rotten_guy
HN
Joshua Gillet
EDU
BUT Networks & Telecoms
OS
Arch Linux x86_64
DE
Hyprland (Lua config)
SH
zsh + starship
ED
LazyVim
KB
Lily58 · ZMK · wireless
CPU
coffee @ 4.60 GHz
❯

~/projects

PROJECTS

rotten_dotfiles · personalfeatured

🌌 rotten_dotfiles

A neon cyan / magenta Hyprland rice, set against a nebula.

My daily-driver Arch Linux desktop, versioned and reproducible on two machines (a ThinkPad P53 with an NVIDIA GPU and an AMD desktop). It started as a backup script and grew into a full theme, with its own login screen, scripts and documentation.

  • Fingerprint login on the SDDM greeter and the lock screen, with a pulsing ring animation (PAM + fprintd)
  • Animated window borders: cyan → magenta gradient, constant-speed rotation (the one around this card)
  • Backup & restore tooling: save-all.sh syncs both machines, check-rice.sh repairs what updates reset
  • NVIDIA sleep fix: systemd units pause Hyprland during suspend so the driver wakes up cleanly
  • PipeWire audio chain replacing Voicemeeter: RNNoise, high-pass and EQ on the microphone
  • Generated cheatsheet: every shortcut rendered from the Lua config by a Python script
146commits
49pull requests
11scripts
2machines
Arch LinuxHyprland · LuaBashPythonQMLsystemdPAMPipeWire
OPEN REPOSITORY
rotten_lily58 · personalfirmware

⌨️ rotten Lily58

Wireless split keyboard, custom ZMK firmware and screens.

A Lily58 (two nice!nano v2, two nice!view e-paper screens, Choc hotswap) running my own ZMK configuration. I wrote a custom display shield in C on top of Zephyr: the stock WPM graph is replaced by an animated bongo cat that types along with me.

  • Left screen: bongo cat with glasses, mirrored paws, hold detection on modifiers and a 60 ms lift on repeated keys
  • Right screen: Arch Linux logo, spinning wireframe cube and an atom, paused when the display sleeps
  • Easter egg: Esc + both inner keys swap to thug glasses, saved across reboots, nothing sent to the computer
  • Sprite pipeline: Python tools turn ASCII pixel art into C arrays and render a preview GIF
  • 4 Bluetooth profiles (desktop, laptop, work, phone), firmware built by GitHub Actions
CZephyr RTOSZMKDevicetreePythonGitHub ActionsBluetooth LE
OPEN REPOSITORY

~/.config/skills

SKILLS

Magenta keys = the ones I use every day.

Networks & systems

LinuxArchsystemdSSH TCP/IPVPN · IKEv2NetworkManagerBluetooth · BlueZ PAMApacheDockerWSL · Kali

Languages

BashPythonLuaC C++PHPSQLHTML CSSJavaScriptTypeScriptQML

Tools

GitGitHubNeovimGitHub Actions MySQLNode.jskitty · zshClaude Code

Hardware

ZMKZephyr RTOSnice!nanoe-paper ArduinoSplit keyboards

git log --graph --oneline

HISTORY

  1. 808efa0feat(lily58): custom nice!view screens, bongo cat with glasses, thug-glasses easter egg
  2. 0a72831feat(dotfiles): per-host configs for a second machine (AMD desktop)
  3. 486925ainit(dotfiles): a backup script that turned into the Nebula rice
  4. ·······start: BUT Networks & Telecoms, IUT of Montbéliard
  5. ·······root: git init · first GitHub account
CONTACT· now

Let's build something.

Internship, project, question about the rice or the keyboard: my inbox is the GitHub one.

CONNECTION REQUIRED
ROTTEN_GUY GITHUB