From 180366625998e84eb76c078780beb6404e232bda Mon Sep 17 00:00:00 2001 From: lassulus Date: Thu, 30 Jan 2020 03:48:54 +0100 Subject: l: rename iso to wizard --- lass/1systems/wizard/config.nix | 286 +++++++++++++++++++++++++++++++++++ lass/1systems/wizard/generate-iso.sh | 7 + lass/1systems/wizard/test.nix | 10 ++ 3 files changed, 303 insertions(+) create mode 100644 lass/1systems/wizard/config.nix create mode 100755 lass/1systems/wizard/generate-iso.sh create mode 100644 lass/1systems/wizard/test.nix (limited to 'lass/1systems/wizard') diff --git a/lass/1systems/wizard/config.nix b/lass/1systems/wizard/config.nix new file mode 100644 index 000000000..8f9db7d3c --- /dev/null +++ b/lass/1systems/wizard/config.nix @@ -0,0 +1,286 @@ +{ config, lib, pkgs, ... }: +with import ; + +let + + icon = pkgs.writeText "icon" '' + // + // + _ // + .' . // '. + '_ '_\/_' `_ + . . \\ . . + .==. ` \\' .' + .\| //bd\\ \, + \_'`._\\__//_.'`.; + `.__ __,' \\ + | | \\ + | | ` + | | + | | + |____| + l42 ==' '== + ''; + + messenger = pkgs.writeText "message" '' + . + | \/| + (\ _ ) )|/| + (/ _----. /.'.' + .-._________.. .' @ _\ .' + '.._______. '. / (_| .') + '._____. / '-/ | _.' + '.______ ( ) ) \ + '..____ '._ ) ) + .' __.--\ , , // (( + '.' mrf| \/ (_.'( + ' \ .' + \ ( + \ '. + \ \ '.) + '-'-' + ''; + + waiting = pkgs.writeText "waiting" '' + Z + Z + z + z + * ' + / \ + /___\ + ( - - ) + ) L ( .--------------. + __()(-)()__ | \ | + .~~ )()()() ~. | . : + / )()() ` | `-.__________) + | )() ~ | : : + | ) | : | + | _ | | [ ## : + \ ~~-. | , oo_______.' + `_ ( \) _____/~~~~ `--___ + | ~`-) ) `-. `--- ( - a:f - + | '///` | `-. + | | | | `-. + | | | | `-. + | | |\ | + | | | \| + `-. | | | + `-| ' + ''; + + wizard = pkgs.writers.writeDash "wizard" '' + cat ${icon} + + echo -n '${'' + welcome to the computer wizard + first we will check for internet connectivity + + ''}' + + read -p '(press enter to continue...)' key + until ping -c1 8.8.8.8; do + ${pkgs.nm-dmenu}/bin/nm-dmenu + done + + mode=$(echo -n '${'' + 1. Help of the wizard + 2. Install NixOS + 3. I know what I need to do + ''}' | ${pkgs.fzf}/bin/fzf --reverse) + case "$mode" in + 1*) + echo 'mode_1' > /tmp/mode + clear + echo 'waiting for the messenger to reach the wizard' + cat ${messenger} + + # get pubkeys + mkdir -p /root/.ssh/ + touch /root/.ssh/authorized_keys + curl -Ss 'https://lassul.us/mors.pub' >> /root/.ssh/authorized_keys + curl -Ss 'https://lassul.us/blue.pub' >> /root/.ssh/authorized_keys + curl -Ss 'https://lassul.us/yubi.pub' >> /root/.ssh/authorized_keys + + # write via irc + systemctl start hidden-ssh-announce.service + tmux new-session -s help ${pkgs.writers.writeDash "waiting" '' + cat ${waiting} + read -p 'waiting for the wizard to wake up' key + ${pkgs.bashInteractive}/bin/bash + ''} + ;; + 2*) + echo 'mode_2' > /tmp/mode + ${pkgs.nixos-installer}/bin/nixos-installer + ;; + 3*) + echo 'mode_3' > /tmp/mode + ;; + *) + echo 'no mode selected' + ;; + esac + ''; + +in { + imports = [ + + + + # + { + nixpkgs.config.packageOverrides = import pkgs; + krebs.enable = true; + krebs.build.user = config.krebs.users.lass; + krebs.build.host = {}; + } + # { + # systemd.services.wizard = { + # description = "Computer Wizard"; + # wantedBy = [ "multi-user.target" ]; + # serviceConfig = { + # ExecStart = pkgs.writers.writeDash "wizard" '' + # set -efu + # cat <