diff --git a/README.md b/README.md new file mode 100644 index 0000000..608d8e9 --- /dev/null +++ b/README.md @@ -0,0 +1,49 @@ +# dotnix + +## Prerequisites + +You need to prepare a couple things before installation due to the way secrets are managed. + +### Prepare secrets repo + +1. Ensure all required dependencies are present +```sh +# If you're already using Nix you can simply run this +nix-shell -p sops age +``` + +2. Initialize your secrets repo. You can do this anywhere on your system except this repository. +```sh +mkdir secrets +cd secrets +git init +``` + +3. Create your gitignore. You want this to make sure that you do not accidentally push your private key. +```sh +echo "keys.txt" > .gitignore +``` + +4. Generate your private key. +```sh +age-keygen -o ./keys.txt +``` + +5. Create your sops configuration file +```sh +cat < .sops.yaml +keys: + - &master $(age-keygen -y ./keys.txt) +creation_rules: + - path_regex: .*\.(yaml|json|env|ini)$ + key_groups: + - age: + - *master +EOF +``` + +?. Update the submodule to use your repo +```sh +git submodule set-url -- secrets +``` + diff --git a/build.sh b/build.sh deleted file mode 100755 index e2d122d..0000000 --- a/build.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env sh - -nix build .#nixosConfigurations.puter.config.system.build.toplevel "$@" diff --git a/install.sh b/install.sh index 0b3db8f..2600781 100755 --- a/install.sh +++ b/install.sh @@ -65,7 +65,9 @@ args() { DOTNIX_DO_ONLY_BUILD=1 shift 1 ;; - + "-k" | "--key") + shift 2 + ;; *) >&2 echo "Unrecognized argument '$1'. Run with --help to view accepted arguments." exit 1