smooooth/README.md
2025-05-21 20:50:57 +10:00

1.4 KiB

man, it's a hot one

smooooth is a service to "hot reload" flake-based nixos configurations.

it will detect changes to the specified path, wait for blockers to resolve, then trigger build + activation of the new config.

blockers can be specified as any executable name. they will prevent reloads until they disappear or change their working directory - this way, smooooth can wait for your current editor/shell/you-name-it session to conclude before rebuilding anything.

the only strict requirement is that said executable handles its cwd properly, so it can be read from the procfs. this may conflict with behaviour of some editors (ie. vscode), particularly if started via a .desktop, instead of in situ.

disclaimer: smooooth is in a very early but entirely functional state. it may be subject to changes, full rewrites, or unending neglect.

enjoy !

module documentation

services.smooooth.enable

bool

Enable the smooooth nixos hot reloader.

services.smooooth.blockers

listOf str

A list of executable names that are allowed to block the reload.

services.smooooth.path

str

The full path to the root of your flake.

services.smooooth.pollingRate

int

How frequently to poll when waiting on a blocked reload.

services.smooooth.nixPackage

package

Your preferred package providing a nix executable.

services.smooooth.package

package

Your preferred smooooth package.