Configure Feed
Select the types of activity you want to include in your feed.
Configure Feed
Select the types of activity you want to include in your feed.
hacking on tangled#
We highly recommend installing nix (the package manager) before working on the codebase. The nix flake provides a lot of helpers to get started and most importantly, builds and dev shells are entirely deterministic.
To set up your dev environment:
nix develop
Non-nix users can look at the devShell attribute in the
flake.nix file to determine necessary dependencies.
running the appview#
The nix flake also exposes a few app attributes (run nix flake show to see a full list of what the flake provides),
one of the apps runs the appview with the air
live-reloader:
TANGLED_DEV=true nix run .#watch-appview
# TANGLED_DB_PATH might be of interest to point to
# different sqlite DBs
# in a separate shell, you can live-reload tailwind
nix run .#watch-tailwind
running a knotserver#
An end-to-end knotserver setup requires setting up a machine
with sshd, repoguard, keyfetch, a git user, which is
quite cumbersome and so the nix flake provides a
nixosConfiguration to do so.
To begin, head to http://localhost:3000 in the browser and
generate a knotserver secret. Replace the existing secret in
flake.nix with the newly generated secret.
You can now start a lightweight NixOS VM using
nixos-shell like so:
QEMU_NET_OPTS="hostfwd=tcp::6000-:6000,hostfwd=tcp::2222-:22" nixos-shell --flake .#knotVM
# hit Ctrl-a + c + q to exit the VM
This starts a knotserver on port 6000 with ssh exposed on
port 2222. You can push repositories to this VM with this
ssh config block on your main machine:
Host nixos-shell
Hostname localhost
Port 2222
User git
IdentityFile ~/.ssh/my_tangled_key
Set up a remote called local-dev on a git repo:
git remote add local-dev git@nixos-shell:user/repo
git push local-dev main