Add a README

pull/1/head
Tristan Maat 2019-11-26 23:19:19 +00:00
parent 2e863388c2
commit fca1606f5a
1 changed files with 56 additions and 0 deletions

56
etc/nixos/README.md Normal file
View File

@ -0,0 +1,56 @@
# tlater.net server configuration
This is the NixOS configuration for [tlater.net](https://tlater.net/).
## Testing
### Building
To test locally in a VM, [nix](https://nixos.org/nix/) is
required. Using a properly-configured nix, a qemu-based VM running the
server can be created by first applying the following patch to disable
hardware-specific configuration:
```patch
diff --git a/etc/nixos/configuration.nix b/etc/nixos/configuration.nix
index 387113d..aabee88 100644
--- a/etc/nixos/configuration.nix
+++ b/etc/nixos/configuration.nix
@@ -2,8 +2,8 @@
{
imports = [
- ./hardware-configuration.nix
- ./linode.nix
+ # ./hardware-configuration.nix
+ # ./linode.nix
];
networking = {
```
Then building the VM with:
```
nix-build '<nixpkgs/nixos>' -A vm -k -I nixos-config=./configuration.nix
```
### Running
To invoke the VM, use:
```
QEMU_NET_OPTS="hostfwd=tcp::2222-:2222,hostfwd=tcp::8000-:80" ./result/bin/run-tlater.net-vm
```
This will set up a qemu VM with ports 2222 linked to the ssh port, and
8000 to the http port. If other ports are required, adjust the
environment variable (notably, ssl is provided by the image, although
it should not work since it is unlikely that letsencrypt will supply
any certificates).
Note that other environment variables are available (such as one for
disabling the qt GUI, probably handy for eventual CI). They are listed
under "Building a service as a VM (for testing)"
[here](https://nixos.wiki/wiki/Cheatsheet) (not linked since the page
isn't set up very nicely).