(R)age encrypted note-taking CLI app
  • Python 99.1%
  • Makefile 0.9%
Find a file
cătălin 9dd2405c47
Some checks failed
checks / tests-10 (push) Failing after 2m56s
checks / pre-commit (push) Successful in 4m28s
checks / tests-11 (push) Failing after 4m8s
checks / tests-12 (push) Failing after 2m47s
feat: add git pull subcommand
2024-09-06 20:51:03 +02:00
.forgejo/workflows ci: add pre-commit and tests workflows 2024-08-04 15:23:55 +02:00
halig feat: add git pull subcommand 2024-09-06 20:51:03 +02:00
tests feat: add git pull subcommand 2024-09-06 20:51:03 +02:00
.gitignore feat: prettify errors 2023-04-06 17:30:21 +02:00
.pre-commit-config.yaml feat: add git commit subcommand 2024-09-03 17:29:44 +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 tests: remove pyfakefs due to issues with pathlib and sqlite in favor of a simple tempfolder where to store test files 2023-11-29 18:42:30 +01:00
pdm.lock feat: add git commit subcommand 2024-09-03 17:29:44 +02:00
pyproject.toml feat: add git commit subcommand 2024-09-03 17:29:44 +02:00
README.md feat: add git push subcommand 2024-09-04 18:57:27 +02:00
renovate.json Add renovate.json 2024-09-05 11:27:56 +02:00
sample.env feat: move project from poetry to pdm, rewrite from scratch and add 2023-04-01 12:37:10 +02:00

halig

Build status 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
halig git commit
halig git push