smooooth/README.md
2025-05-25 16:04:54 +10:00

37 lines
1.3 KiB
Markdown

# man, it's a hot one
`smooooth` is a service to "hot reload" flake-based nixos configurations.
## like seven inches from a midday sun
`smooooth` will detect changes to the specified flake, 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
they are started via a .desktop shortcut.
#### a brief disclaimer
`smooooth` is in an early but entirely functional state.
it may be subject to changes, ~full rewrites,~ or unending neglect.
enjoy !
## i hear you whispering the words
### to melt everyone, but you stay so cold
simply add `smooooth.url = git+https://git.atagen.co/atagen/smooooth.git` to your
flake inputs, and the reciprocal `{ smooooth }` entry to your output function.
now you can import `smooooth.nixosModules.smooooth` in your config modules, and
utilise the [supplied module options](https://atagen.co/docs/smooooth) to get started !