2019-12-09 06:50:11 +01:00
|
|
|
* NixOS Server
|
|
|
|
|
|
|
|
Configuration files for my personal server, powered by [[https://nixos.org/][NixOS]].
|
|
|
|
|
|
|
|
** Modules
|
|
|
|
|
2019-12-09 06:52:28 +01:00
|
|
|
The configuration is sliced into different files, per category:
|
2019-12-09 06:50:11 +01:00
|
|
|
|
|
|
|
- ZFS pool configuration: hardware-configuration.nix
|
|
|
|
- Network configuration: networking.nix
|
2020-09-06 00:39:40 +02:00
|
|
|
- Synchronization and backup services: datasync.nix
|
|
|
|
- Web services and reverse proxy: webstack.nix
|
|
|
|
- Development tools: devops.nix
|
|
|
|
- Smartd: monitoring.nix
|
2020-11-30 02:03:58 +01:00
|
|
|
- Systemd services and timers: periodic.nix
|
2021-01-19 00:14:57 +01:00
|
|
|
- Curated articles: information.nix
|
2019-12-09 06:52:28 +01:00
|
|
|
|
|
|
|
All the modules are imported in *configuration.nix*
|
2022-07-12 21:02:43 +02:00
|
|
|
|
|
|
|
** Installation
|
|
|
|
|
|
|
|
1. Download the sdcard image
|
|
|
|
2. Connect a keyboard to the Raspberry Pi and set the password
|
|
|
|
|
|
|
|
#+begin_src shell
|
|
|
|
passwd
|
|
|
|
sudo su
|
|
|
|
passwd
|
|
|
|
#+end_src
|
|
|
|
|
|
|
|
The default user is nixos
|
|
|
|
|
|
|
|
3. Move the repo to the server and the agenix key
|
|
|
|
|
|
|
|
#+begin_src shell
|
|
|
|
scp -R Projects/zion zion:/home/nixos/system
|
|
|
|
scp .ssh/zion root@zion:/etc/ssh/id_ed25519
|
|
|
|
#+end_src
|
|
|
|
|
|
|
|
4. Increase the size of tmpfs
|
|
|
|
|
|
|
|
#+begin_src shell
|
|
|
|
sudo mount -o remount,size=4G /run/user/0
|
|
|
|
sudo mount -o remount,size=2G /run/user/1000
|
|
|
|
#+end_src
|
|
|
|
|
|
|
|
5. Rebuild the system using Flakes
|
|
|
|
|
|
|
|
#+begin_src shell
|
|
|
|
nix-shell -p git
|
|
|
|
sudo nixos-rebuild switch --flake /home/nixos/system#zion --impure
|
|
|
|
#+end_src
|
|
|
|
|
|
|
|
6. Restore the SQL databases
|
|
|
|
|
|
|
|
#+begin_src shell
|
|
|
|
psql -U postgres -f /vault/backups/zion/databases/all.sql
|
|
|
|
#+end_src
|