RSSBase#
First, install tools
Developer environment#
The developer environment is handled by:
- devenv is a tool for a fast, declarative, reproducible and composable developer environments using Nix
- nix is a package manager, but also a programming language, used by devenv
Step by step commands#
# Install nix
curl -fsSL https://install.determinate.systems/nix | sh -s -- install --determinate
# Nix optimisation
gh auth status || gh auth login
mkdir -p ~/.config/nix && echo "access-tokens = github.com=$(gh auth token)" >> ~/.config/nix/nix.conf
sudo sh -c 'echo "trusted-users = root ${SUDO_USER:-$USER}" >> /etc/nix/nix.custom.conf'
sudo sh -c 'echo "extra-substituters = https://devenv.cachix.org" >> /etc/nix/nix.custom.conf'
sudo sh -c 'echo "extra-trusted-public-keys = devenv.cachix.org-1:w1cLUi8dv3hnoSPGAuibQv+f9TZLr6cv/Hm9XgU50cw=" >> /etc/nix/nix.custom.conf'
sudo systemctl restart nix-daemon
# Enable devenv auto activation
if [[ "$SHELL" == */bash ]]; then
grep -qF 'devenv hook bash' ~/.bashrc || echo 'eval "$(devenv hook bash)"' >> ~/.bashrc
elif [[ "$SHELL" == */zsh ]]; then
grep -qF 'devenv hook zsh' ~/.zshrc || echo 'eval "$(devenv hook zsh)"' >> ~/.zshrc
elif [[ "$SHELL" == */fish ]]; then
grep -qF 'devenv hook fish' ~/.config/fish/config.fish || echo 'devenv hook fish | source' >> ~/.config/fish/config.fish
else
open https://devenv.sh/auto-activation/
fi
# Get the codebase
git clone git@tangled.org:mykiwi.dev/rssbase.io && cd rssbase.io
devenv allow
# Your developer environment is ready 👨🚀🚀
Devenv maintainer#
Push the current devenv closure to the RSSBase Cachix cache when Nix/devenv inputs change.
Do not keep cachix.push enabled in devenv.local.nix: it slows normal shell entry.
CACHIX_AUTH_TOKEN=... devenv shell cachix-push
Roadmap (project in very early stages)#
- deployed
- add feeds
- list feeds