#+title: Golgi #+begin_quote The Golgi apparatus is responsible for transporting, modifying, and packaging proteins and lipids into vesicles for delivery to targeted destinations. It is located in the cytoplasm next to the endoplasmic reticulum and near the cell nucleus. --- Encyclopedia Britanica #+end_quote This server will be an apparatus for better managing my personal projects. It sits near the idea-generation and idea-translation components of my workflow. It will be responsible for storing my work as a remote repository, transporting the work between local development machines, and as a web server to improve the ease of access of my work, both for myself and anybody curious. Alternatively put, this is an experiment in [[https://bytes.zone/posts/clown-computing/][Clown Computing]] 🤡 Let's hope it works well! * Setup I'm using Hetnezer as a host. Their value for money with VPS offerings is pretty alluring. Additionally I've found a handy [[https://ayats.org/blog/deploy-rs-example/][blog post]] about =deploy-rs= on Hetzner, which is remarkably convenient. They were even kind enough to link to a [[https://github.com/viperML/deploy-rs-example][repo]] which I've shamelessly used as a starting point. Unfortunately, Hetnezer doesn't offer a NixOS image, but they do allow you to mount a NixOS install volume (22.05 as of writing) to your server after creating it. After doing so, starting the VM we can get it set up simply with: #+begin_src shell sudo -s nix-shell -p git git clone https://github.com/tecosaur/golgi cd golgi ./install.sh # wait a bit, then create root password shutdown -h now #+end_src * Deploying Deploying is simply a matter of entering the deploy nix shell =nix develop= and =deploy .#golgi.system=. In order for this image to be built, the sandbox will need to be set to =false= or =relaxed= (for the custom zsh build). This can be done by adding the line ~sandbox = relaxed~ to =/etc/nix/nix.conf=. Just note that the nix-daemon will need to be restarted for this new setting to take full effect.