* fix(hm-module,spaces): missing columns when Zen is opened before the spaces table is created
Appearently, opening Zen before the spaces service runs could cause the
table not having the theme columns. Because of this, the CREATE TABLE IF
NOT EXISTS query would not run, but the columns would still not be
present. This commit adds the column via a bash script plus an ALTER
TABLE query, mimicking more what Zen does in it JavaScript code.
* style(hm-module): run nix fmt on hm-module
* refactor(hm-module,spaces): move bash scripts and sql queries directly to service executable
This was made to reduce the amount of derivations being build to just
one per-profile. Also, this helps make all the logic of the spaces
activation be into a single executable for debugging and error handling.
* feat(hm-module,spaces): error handling for locked database
Provide a useful error message to the user if the service fails due to
opened Zen browser instance.
* feat(hm-module,spaces): implement places.sqlite updating via home.file.* script
This fixed the problem of the systemd service being rerun on every
home-manager rebuild. Now the places.sqlite updating script just runs
when something needs to be updated on it. We use home.file.* to store
the script on the home directory and take advantage of the
home.file.*.onChange option to run it.
* feat(hm-module,spaces)!: change type of colors values to integer between 0 and 255
* docs: change bold headers to markdown headers to add support #links
* docs: [work]spaces options documentation and example
* refactor(package): use package fetchers
builtin fetchers are blocking, therefore also slow. for packaging we
should use the package fetchers
* refactor: build the desktop file as a part of the package
* refactor(default.nix): remove redundant args
* refactor(flake.nix): remove duplicated code & rec
* fix(hm-module)!: typo in mkFireFoxmodule
* fix(hm-module): work with nixpkgs config `allowAliases = false;`
* fix: partial revert of 805c8f56e8
the `lib.mkDefault` was being ignored and the policies would never be
set. perhaps a better thing to do here would be to remove them
completly. otherwise this is the next best thing
* refactor(package): use `hash` over `sha256`
Co-authored-by: Seth Flynn <getchoo@tuta.io>