(R)age encrypted note-taking CLI app
  • Python 99.1%
  • Makefile 0.9%
Find a file
2023-07-22 13:29:46 +02:00
halig feat: update to pydantic v2 and refactor accordingly 2023-07-22 13:29:46 +02:00
tests feat: update to pydantic v2 and refactor accordingly 2023-07-22 13:29:46 +02:00
.flake8 feat: add basic functionality 2022-08-10 18:34:41 +02:00
.gitignore feat: prettify errors 2023-04-06 17:30:21 +02:00
.pre-commit-config.yaml feat: update to pydantic v2 and refactor accordingly 2023-07-22 13:29:46 +02:00
LICENSE Initial commit 2022-08-10 16:12:59 +00:00
Makefile feat: prettify errors 2023-04-06 17:30:21 +02:00
noxfile.py feat: prettify errors 2023-04-06 17:30:21 +02:00
pdm.lock feat: update to pydantic v2 and refactor accordingly 2023-07-22 13:29:46 +02:00
pyproject.toml feat: update to pydantic v2 and refactor accordingly 2023-07-22 13:29:46 +02:00
README.md chore: typo 2023-05-17 17:02:47 +00:00
sample.env feat: move project from poetry to pdm, rewrite from scratch and add 2023-04-01 12:37:10 +02:00

halig

PyPI PyPI - License PyPI - Python Version pdm-managed

(R)age encrypted note-taking CLI app.

halig opens, using your favorite $EDITOR, an in-memory copy of a file and upon save-and-exit, it encrypts the new contents into an age file that you can store, relatively safe, anywhere.

Features

  • Simple notebooks management with paths autocompletion
  • Passphrase-less, fully-encrypted notes, compatible with existing SSH keys
  • No external age binary needed
  • Almost all age advantages, like having multiple keys for encryption and decryption
  • Remote (HTTP) public keys import: e.g: github.com/<username>.keys

Install

pipx install halig # or pip

Setup TLDR

set -e
ssh-keygen -t ed25519
mkdir -p "${XDG_CONFIG_HOME:-$HOME/.config}/halig"
cat << EOF > "${XDG_CONFIG_HOME:-$HOME/.config}/halig/halig.yml"
---
notebooks_root_path: ~/Documents/Notebooks
identity_paths: 
  - ~/.ssh/id_ed25519
recipient_paths:
  - ~/.ssh/id_ed25519.pub
  - https://github.com/<username>.keys
  - https://gitlab.com/<username>.keys
EOF

Usage TLDR

halig edit some_notebook     # edit today's note relative to <notebooks_root_path>/some_notebook
halig edit some_notebook/foo # edit  <notebooks_root_path>/some_notebook/foo.age
halig notebooks              # list current notebooks