Javier Olmedo53 downloadsHacker-style theme for Obsidian based on the hackpuntes.com blog: teal accent, glowing headings, JetBrains Mono, dark and light modes.
A hacker-style theme for Obsidian, based on the look of hackpuntes.com: teal accent, glowing headings and JetBrains Mono everywhere, with dark and light modes. Made for pentest notes, cheatsheets and writeups full of commands.

#0d1117, accent #00e5be, text #adbac7, GitHub-style syntax colors.<kbd> keys.theme.css.| Dark | Light |
|---|---|
![]() |
![]() |

From Obsidian: Settings > Appearance > Themes > Manage, search for Hackpuntes and select Install and use.
Manually: download theme.css and manifest.json from the latest release into <your vault>/.obsidian/themes/Hackpuntes/, then pick Hackpuntes in Settings > Appearance > Themes.
With the Style Settings plugin installed, go to Settings > Style Settings > Hackpuntes:
| Option | Default |
|---|---|
| Sans-serif note text | Off (everything in JetBrains Mono) |
| Sans-serif interface | Off |
| Disable heading glow | Off |
| Disable the blinking cursor after the note title (needs Show inline title) | Off |
| CRT scanlines | Off |
| Minimum left / right sidebar width | 0 (no minimum) |
The theme works fine without Style Settings; you just get the defaults.
theme.css is generated: edit src/theme.src.css and rebuild.
python src/build.py
build.py appends JetBrains Mono (src/fonts/*.woff2) to the end of theme.css as base64. Those fonts are a subset of the official ones (Latin, punctuation, arrows and box drawing, no ligatures) made with src/subset_fonts.py, which keeps theme.css around 100 KB.
To publish a new version:
version in manifest.json (for example 1.0.1).python src/build.py and commit.git tag 1.0.1 and git push origin 1.0.1.The release workflow checks that the tag matches manifest.json and that theme.css is up to date, then creates the GitHub release with manifest.json and theme.css, which is what Obsidian downloads.
If Hackpuntes makes your notes nicer, you can buy me a coffee: