plugins/aw-watcher: init

This commit is contained in:
Axel Karjalainen 2025-03-17 01:33:22 +02:00 committed by Gaétan Lepage
parent a3b16fa004
commit d81f37256d
2 changed files with 97 additions and 0 deletions

View file

@ -0,0 +1,53 @@
{ lib, ... }:
let
inherit (lib.nixvim) defaultNullOpts;
in
lib.nixvim.plugins.mkNeovimPlugin {
name = "aw-watcher";
moduleName = "aw_watcher";
packPathName = "aw-watcher.nvim";
package = "aw-watcher-nvim";
maintainers = [ lib.maintainers.axka ];
settingsOptions = {
bucket = {
hostname = defaultNullOpts.mkStr { __raw = "vim.uv.os_gethostname()"; } ''
The hostname to be presented to the ActivityWatch server.
Defaults to the hostname of the computer.
'';
name = defaultNullOpts.mkStr { __raw = "'aw-watcher-neovim_' .. bucket.hostname'"; } ''
The name of the bucket in the ActivityWatch server.
'';
};
aw_server = {
host = defaultNullOpts.mkStr "127.0.0.1" ''
Host to connect to.
'';
port = defaultNullOpts.mkUnsignedInt 5600 ''
Port to connect to.
'';
ssl_enable = defaultNullOpts.mkBool false ''
Whether the ActivityWatch server should be connected to using HTTPS.
'';
pulsetime = defaultNullOpts.mkUnsignedInt 30 ''
The maximum amount of time (in seconds) between two consecutive events
(heartbeats) with the same data (e.g. same file path) that will cause
them to be merged into a single event. This is useful for saving on
storage space and disk I/O.
'';
};
};
settingsExample = {
aw_server = {
host = "127.0.0.1";
port = 5600;
pulsetime = 60;
};
};
}

View file

@ -0,0 +1,44 @@
{
empty = {
# don't run tests as they try to access the network.
test.runNvim = false;
plugins.aw-watcher.enable = true;
};
defaults = {
# don't run tests as they try to access the network.
test.runNvim = false;
plugins.aw-watcher = {
enable = true;
settings = {
bucket = {
hostname = "nixvim";
name = "aw-watcher-neovim_nixvim";
};
aw_server = {
host = "127.0.0.1";
port = 5600;
ssl_enable = false;
pulsetime = 30;
};
};
};
};
example = {
# don't run tests as they try to access the network.
test.runNvim = false;
plugins.aw-watcher = {
enable = true;
settings = {
aw_server = {
host = "127.0.0.1";
port = 5600;
pulsetime = 60;
};
};
};
};
}