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
|
2023-06-08 18:30:16 +02:00
|
|
|
2. Use initial config file
|
2022-07-12 21:02:43 +02:00
|
|
|
|
|
|
|
#+begin_src shell
|
2023-06-08 18:30:16 +02:00
|
|
|
cp install.nix configuration.nix
|
2022-07-12 21:02:43 +02:00
|
|
|
#+end_src
|
|
|
|
|
|
|
|
3. Move the repo to the server and the agenix key
|
|
|
|
|
|
|
|
#+begin_src shell
|
2023-06-08 18:30:16 +02:00
|
|
|
scp -r Projects/zion zion:/home/nixos/system
|
2022-07-12 21:02:43 +02:00
|
|
|
scp .ssh/zion root@zion:/etc/ssh/id_ed25519
|
|
|
|
#+end_src
|
|
|
|
|
2023-06-08 18:30:16 +02:00
|
|
|
4. Mount the firmware partition
|
|
|
|
|
|
|
|
#+begin_src shell
|
|
|
|
mount /dev/mmcblk1p1 /boot
|
|
|
|
#+end_src
|
|
|
|
|
|
|
|
5. Rebuild the system using Flakes
|
2022-07-12 21:02:43 +02:00
|
|
|
|
|
|
|
#+begin_src shell
|
|
|
|
nix-shell -p git
|
2023-06-08 18:30:16 +02:00
|
|
|
sudo nixos-rebuild switch --flake /home/nixos/system#zion
|
2022-07-12 21:02:43 +02:00
|
|
|
#+end_src
|
|
|
|
|
2023-06-08 18:30:16 +02:00
|
|
|
6. Restore the SQL databases
|
2022-07-12 21:02:43 +02:00
|
|
|
|
|
|
|
#+begin_src shell
|
2023-06-08 18:30:16 +02:00
|
|
|
gunzip -c /vault/backups/zion/databases/all.sql.gz | psql -U postgres
|
2022-07-12 21:02:43 +02:00
|
|
|
#+end_src
|