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/iso/default.nix | 211 -------------------------- lass/1systems/iso/generate-iso.sh | 7 - lass/1systems/wizard/config.nix | 286 +++++++++++++++++++++++++++++++++++ lass/1systems/wizard/generate-iso.sh | 7 + lass/1systems/wizard/test.nix | 10 ++ 5 files changed, 303 insertions(+), 218 deletions(-) delete mode 100644 lass/1systems/iso/default.nix delete mode 100755 lass/1systems/iso/generate-iso.sh 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') diff --git a/lass/1systems/iso/default.nix b/lass/1systems/iso/default.nix deleted file mode 100644 index a77a74fbe..000000000 --- a/lass/1systems/iso/default.nix +++ /dev/null @@ -1,211 +0,0 @@ -{ config, pkgs, ... }: -with import ; - -let - - wizard = pkgs.writers.writeBash "wizard" '' - shopt -s extglob - - echo -n ' - welcome to the computer wizard - first we will check for internet connectivity - (press enter to continue) - ' - read -n 1 -s - if ! ping -c1 lassul.us; then - echo 'no internet detectio, you will have to provide credentials' - read -n 1 -s - nmtui - fi - - # ping -c1 lassuls.us || ${pkgs.writeDash "nm-dmenu" '' - # set -x - # export PATH=$PATH:${pkgs.dmenu}/bin:${pkgs.networkmanagerapplet}/bin - # exec ${pkgs.networkmanager_dmenu}/bin/networkmanager_dmenu "$@" - # ''} - - mode=$(echo -n ' - 1. help of the wizard - 2. let the wizard watch and help if needed - 3. I will do it alone - ' | ${pkgs.fzf}/bin/fzf --reverse) - case "$mode" in - 1*) - echo 'mode_1' > /tmp/mode - systemctl start hidden-ssh-announce.service - tmux new -s help - ;; - 2*) - echo 'mode_2' > /tmp/mode - ;; - 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 <; + +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 <