Repository navigation
DeepWork v2026.11.0
·
144 commits
to main
since this release
The first release of DeepWork: focus sessions enforced at the network layer, and a 3D city that grows with every session and remembers every early quit.
Install
curl -fsSL https://deepwork.sagyamthapa.com.np/get.sh | sh
deepwork start 50mThe script reads /etc/os-release, picks the right file below, checks it against SHA256SUMS and installs it with your package manager. Or install one by hand:
| Distribution | File |
|---|---|
| Debian 12+, Ubuntu 22.04+ | deepwork_2026.11.0-1_{amd64,arm64}.deb |
| Fedora, openSUSE | deepwork-2026.11.0-1.{x86_64,aarch64}.rpm |
| Arch | deepwork-git-…-x86_64.pkg.tar.zst (pacman -U) |
| Other systemd distributions | deepwork-2026.11.0-<arch>-linux.tar.gz, then sudo ./install.sh |
Then sudo systemctl enable --now deepworkd.service and systemctl --user enable --now deepwork-agent.service (the script does both).
What's in it
- Throttling, not blocking: a root daemon feeds nftables sets from its own DNS forwarder and slows listed sites with tc/netem, with SNI inspection for connections DNS misses. DNS-over-TLS through systemd-resolved keeps working.
- Routines that start sessions on their own, with a few skips a week and escalating nudges.
- Hard to get around: sudo, pkexec and
systemctl stopare refused during a session, tampering with the rules is repaired within a second, and loosening the config waits 24 hours. - A way out, never a lockout: surrender takes 10 minutes, sessions cap at 6 hours, the PAM hook fails open, and TTY root always works.
- The city: finished sessions raise buildings; surrendering, tampering or bypassing cracks or levels them.
- Inverted mode, settings and backups in the app, and a bar module for Waybar and the Omarchy shell.
Known limits
- Packages are not signed yet (
zypperneeds--allow-unsigned-rpm). - On Fedora the throttle needs
kernel-modules-extra(pulled in as a weak dependency). - On Ubuntu 22.04, polkit is too old for the JS rule; the PAM hook still guards polkit passwords.
Versions are calendar based: YYYY.M.N.