From 7fbeb1e931ccc2f9bee5fa248eb90a1189a5c06e Mon Sep 17 00:00:00 2001 From: atagen Date: Wed, 21 May 2025 20:50:57 +1000 Subject: [PATCH] feat: docs --- README.md | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..9cbab2d --- /dev/null +++ b/README.md @@ -0,0 +1,65 @@ +# 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. +