- Nix 77.3%
- Shell 22.7%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .forgejo/workflows | ||
| .gitignore | ||
| alejandra.toml | ||
| flake.lock | ||
| flake.nix | ||
| package.nix | ||
| README.md | ||
| sources.json | ||
| update.sh | ||
futo-notes 1.9.2
A Nix flake packaging FUTO Notes, a fast, private, local-first note taking app.
Upstream publishes a prebuilt amd64 .deb and nothing else, so this unpacks
that, patches the ELF against nixpkgs' libraries and installs the binary, its
icons and a fixed-up desktop entry. x86_64-linux only.
FUTO Notes is under the Source First License, which nixpkgs classes as unfree.
This flake sets allowUnfree for its own outputs; consumers using
overlays.default build against their own nixpkgs and have to allow it there.
Usage
{
inputs.futo-notes.url = "git+https://git.cumsek.com/flakes/futo-notes";
}
Then either take the package directly:
environment.systemPackages = [inputs.futo-notes.packages.${pkgs.system}.default];
or add the overlay and use pkgs.futo-notes:
nixpkgs.overlays = [inputs.futo-notes.overlays.default];
Updating
.forgejo/workflows/update.yml runs daily (and on demand from the Actions
tab): it updates flake.lock, points sources.json at the latest upstream
release with update.sh (rewriting the version in this title to match), and
pushes to main only if nix flake check still passes, which builds the
package. The lock and the FUTO Notes bump land as separate commits.
By hand, the same thing is:
nix flake update
nix shell --inputs-from . nixpkgs#curl nixpkgs#jq -c ./update.sh
nix flake check -L
Version and hash live in sources.json; the .deb URL follows from the
version. Releases are listed at
https://gitlab.futo.org/futo-notes/futo-notes/-/releases.
Checks
nix flake check -L
Builds the package and runs alejandra, deadnix, statix and
shellcheck. CI runs the same command and nothing else.
Licence
The packaging is trivial; FUTO Notes itself is under the Source First License,
as recorded in meta.license.