{"id":18356054,"url":"https://github.com/ony/derty-template","last_synced_at":"2025-07-05T18:36:01.095Z","repository":{"id":143061320,"uuid":"430409536","full_name":"ony/derty-template","owner":"ony","description":"Seed for scripting daily workflows like time tracking, mail highlights, build completions.","archived":false,"fork":false,"pushed_at":"2023-01-07T00:57:48.000Z","size":13,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-10T01:57:54.748Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ony.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-11-21T15:48:04.000Z","updated_at":"2023-06-30T20:04:44.000Z","dependencies_parsed_at":"2023-03-21T03:48:07.187Z","dependency_job_id":null,"html_url":"https://github.com/ony/derty-template","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ony/derty-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ony%2Fderty-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ony%2Fderty-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ony%2Fderty-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ony%2Fderty-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ony","download_url":"https://codeload.github.com/ony/derty-template/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ony%2Fderty-template/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263785618,"owners_count":23511138,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-05T22:08:52.197Z","updated_at":"2025-07-05T18:36:01.077Z","avatar_url":"https://github.com/ony.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# derty-template\nSeed for scripting daily workflows like time tracking, mail highlights, build completions.\n\nThis repo is intended as an initial template for building own setup. It is\nstill recommended to track template in order to receive updates if any will\nhappen.\n\n## Motivation\n\nThere are many home automation solutions, but I was not able to find some\nlocal-only solution with simplicity of old hotplug scripts but targeting user\nenvironment.\n\n- Do not spend minutes staring at command output or refreshing web page.\n- Be mindful of working hours on remote.\n- Keep informed about valuable events. Shorten communication loop as if you\n  were in a same room.\n- Evolve your automation rapidly.\n\n## Structure\n\n```\n├── events\n│   ├── trigger.bash\n│   ├── some-event.d\n│   │   └── ...\n│   └── ...\n├── hooks\n│   └── ...\n├── agents\n│   └── ...\n├── actions\n│   └── ...\n└── ...\n```\n\n### `events`\nThis is the heart of all automatic \"reactions\" here. Either create\n`some-event.d` folder or `some-event.bash` script to get it triggered when\n`events/trigger.bash some-event` being called.\n\nRight now it is based on `run-parts` script from `debianutils`.\n\n### `hooks`\nSome basic integrations goes here to trigger events in a form of one-time-fire.\nThink of scripts for handling dekstop notification from dunst, Evolution\nmailbox, or git commit-msg hook.\n\n### `agents`\nIf you cannot get away with just `hooks`, you might need some daemons that\neither listen or monitor something to produce events.\n\n### `actions`\nSet of direct user initiated actions. Intended for discovery by selection UIs.\n\n## What goes into this repo\nIt is subjective choice for mix of specific and generic stuff.\n\n### Trivial\n\nTo get cmd-completion events, prefix your command with `hooks/run-cmd.bash`\nand you'll get back on it. `events/cmd-complete.d/notify.bash` will send\ndesktop notification.\n\nTo get locking/unlocked/awakened wrap your screen lock with `hooks/run-lock.bash`.\n\n### TimeWarrior\n\nIf you track your time using it and have configuration for exclusions\nlike described here https://timewarrior.net/docs/workweek/\n```\n# ~/.timewarrior/timewarrior.cfg\n\ndefine exclusions:\n  monday    = \u003c9:00 12:30-13:00 \u003e17:00\n  tuesday   = \u003c9:00 12:30-13:00 \u003e17:00\n  wednesday = \u003c9:00 12:30-13:00 \u003e17:00\n  thursday  = \u003c9:00 12:30-13:00 \u003e17:00\n  friday    = \u003c9:00 12:30-13:00 \u003e17:00\n  saturday  = \u003e0:00\n  sunday    = \u003e0:00\n\n```\n\nYou can benefit from:\n- `events/awakened.d/timew.bash` auto-pause your intervals\n  saving from doing `timew stop`, `timew cont`.\n- `events/out-of-hours.d/sample.bash` sample notification to shout \"Go home!\".\n- `agents/timew-sampler.py` silly sampler of \"Ho much do I left for today?\"\n  saving from checking `timew summary`.\n  Makes sense to be run on first work login of the day.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fony%2Fderty-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fony%2Fderty-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fony%2Fderty-template/lists"}