It's a cli tool to manage work times.
It uses the current timestamp as start date and lists worked intervals.
worktimers startIt closes the current interval with the current date and lists worked intervals.
worktimers stopworktimers listThe output will look like this:
┌─────────────────────┬─────────────────────┬──────────┬───────────────────────────┐
│ start │ stop │ duration │ duration_with_lunch_break │
├─────────────────────┼─────────────────────┼──────────┼───────────────────────────┤
│ 1970-01-01 00:00:00 │ 1970-01-01 02:00:00 │ 02:00:00 │ 01:30:00 │
├─────────────────────┼─────────────────────┼──────────┼───────────────────────────┤
│ 2023-01-09 10:25:39 │ │ 08:00:00 │ 07:30:00 │
└─────────────────────┴─────────────────────┴──────────┴───────────────────────────┘
bash -c "$(curl -fsSL https://raw.githubusercontent.com/sejoharp/worktimers/refs/heads/main/scripts/install.sh)"# install rust
brew install rustup-init
# build and install worktimers
make installnix build# move to home-manager config. e.g.:
cd ~/.config/home-manager
# add this as input;
worktimers_pkg = {
url = "github:sejoharp/worktimers";
};
# optional: update index
nix flake lock --update-input worktimers_pkg
# add this to packages:
inputs.worktimers_pkg.packages.${pkgs.stdenv.system}.default
# build generation
nh home build .
# switch generation
nh home switch .add .worktimers.json to your home directory and adjust the following content:
{
"absolute_persistence_path": "/Users/joscha/workingtimes.json",
"lunch_break_in_mins": 50
}# bump version (patch by default)
make version-update
# create a git commit
git add ...
git commit ...
# tag the commit
make tag-release
# push commit and tag
make push-release