summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeschli <jeschli@gmail.com>2020-02-18 21:13:06 +0100
committerJeschli <jeschli@gmail.com>2020-02-18 21:13:06 +0100
commit6959379330a61d166e37feea1c6e648d4873388e (patch)
tree6487ba188a0c31a53327d4c715cbb6cb8c6aad3b
parent5e33a13f3a7f10431cc3a29a1070f4ecbce44563 (diff)
parente82a2561e0a1884f5596a1f093daf27e4ba7e471 (diff)
Merge branch 'master' of https://cgit.lassul.us/stockholm
-rw-r--r--krebs/nixpkgs.json6
-rw-r--r--lass/1systems/hilum/config.nix9
-rw-r--r--lass/1systems/wizard/config.nix (renamed from lass/1systems/iso/default.nix)155
-rwxr-xr-xlass/1systems/wizard/generate-iso.sh (renamed from lass/1systems/iso/generate-iso.sh)2
-rw-r--r--lass/1systems/wizard/test.nix10
5 files changed, 137 insertions, 45 deletions
diff --git a/krebs/nixpkgs.json b/krebs/nixpkgs.json
index 4ab0e86d..769bacbe 100644
--- a/krebs/nixpkgs.json
+++ b/krebs/nixpkgs.json
@@ -1,7 +1,7 @@
{
"url": "https://github.com/NixOS/nixpkgs-channels",
- "rev": "eb65d1dae626f4b149566c4cbccdad7ec24af189",
- "date": "2020-01-13T10:34:45+00:00",
- "sha256": "0zl4zakmw2s7gnkc2bmnjl71xg55n0kqrcm834kjq49lwwmdk225",
+ "rev": "c49da6435f314e04fc58ca29807221817ac2ac6b",
+ "date": "2020-02-07T12:52:16+01:00",
+ "sha256": "17zsqhaf098bvcfarnq0h9601z6smkfd1kz1px6xfg6xqfmr80r7",
"fetchSubmodules": false
}
diff --git a/lass/1systems/hilum/config.nix b/lass/1systems/hilum/config.nix
index 470dd3af..7a506591 100644
--- a/lass/1systems/hilum/config.nix
+++ b/lass/1systems/hilum/config.nix
@@ -21,7 +21,14 @@
source /grub/autoiso.cfg
}
'';
- extraFiles."/grub/autoiso.cfg" = "${pkgs.grub2.src}/docs/autoiso.cfg";
+ extraFiles."/grub/autoiso.cfg" = (pkgs.stdenv.mkDerivation {
+ name = "autoiso.cfg";
+ src = pkgs.grub2.src;
+ phases = [ "unpackPhase" "installPhase" ];
+ installPhase = ''
+ cp docs/autoiso.cfg $out
+ '';
+ });
};
services.logind.lidSwitch = "ignore";
diff --git a/lass/1systems/iso/default.nix b/lass/1systems/wizard/config.nix
index a77a74fb..8f9db7d3 100644
--- a/lass/1systems/iso/default.nix
+++ b/lass/1systems/wizard/config.nix
@@ -1,42 +1,118 @@
-{ config, pkgs, ... }:
+{ config, lib, pkgs, ... }:
with import <stockholm/lib>;
let
- wizard = pkgs.writers.writeBash "wizard" ''
- shopt -s extglob
+ icon = pkgs.writeText "icon" ''
+ //
+ //
+ _ //
+ .' . // '.
+ '_ '_\/_' `_
+ . . \\ . .
+ .==. ` \\' .'
+ .\| //bd\\ \,
+ \_'`._\\__//_.'`.;
+ `.__ __,' \\
+ | | \\
+ | | `
+ | |
+ | |
+ |____|
+ l42 ==' '==
+ '';
+
+ messenger = pkgs.writeText "message" ''
+ .
+ | \/|
+ (\ _ ) )|/|
+ (/ _----. /.'.'
+ .-._________.. .' @ _\ .'
+ '.._______. '. / (_| .')
+ '._____. / '-/ | _.'
+ '.______ ( ) ) \
+ '..____ '._ ) )
+ .' __.--\ , , // ((
+ '.' mrf| \/ (_.'(
+ ' \ .'
+ \ (
+ \ '.
+ \ \ '.)
+ '-'-'
+ '';
- echo -n '
+ 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
- (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)
+
+ ''}'
+
+ 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 -s help
+ 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
@@ -52,6 +128,7 @@ in {
<stockholm/krebs>
<stockholm/lass/3modules>
<stockholm/lass/2configs/vim.nix>
+ # <nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-base.nix>
{
nixpkgs.config.packageOverrides = import <stockholm/lass/5pkgs> pkgs;
krebs.enable = true;
@@ -86,14 +163,14 @@ in {
networking.hostName = "wizard";
nixpkgs.config.allowUnfree = true;
- users.extraUsers = {
- root = {
- openssh.authorizedKeys.keys = [
- config.krebs.users.lass.pubkey
- config.krebs.users.lass-mors.pubkey
- ];
- };
- };
+ # users.extraUsers = {
+ # root = {
+ # openssh.authorizedKeys.keys = [
+ # config.krebs.users.lass.pubkey
+ # config.krebs.users.lass-mors.pubkey
+ # ];
+ # };
+ # };
environment.systemPackages = with pkgs; [
#stockholm
@@ -120,16 +197,12 @@ in {
aria2
#neat utils
- dmenu
+ chntpw
hashPassword
krebspaste
pciutils
- pop
psmisc
- q
- rs
tmux
- untilport
usbutils
#unpack stuff
@@ -141,6 +214,8 @@ in {
ddrescue
ntfs3g
dosfstools
+
+ nixos-installer
];
environment.extraInit = ''
@@ -193,10 +268,10 @@ in {
krebs.hidden-ssh = {
enable = true;
channel = "##lassulus-wizard";
-
+ message = "lassulus: torify sshn root@";
};
systemd.services.hidden-ssh-announce.wantedBy = mkForce [];
- services.mingetty.autologinUser = "root";
+ services.mingetty.autologinUser = lib.mkForce "root";
nixpkgs.config.packageOverrides = super: {
dmenu = pkgs.writeDashBin "dmenu" ''
diff --git a/lass/1systems/iso/generate-iso.sh b/lass/1systems/wizard/generate-iso.sh
index 3179b31c..6c8f1532 100755
--- a/lass/1systems/iso/generate-iso.sh
+++ b/lass/1systems/wizard/generate-iso.sh
@@ -4,4 +4,4 @@
set -xefu
WD=$(dirname "$0")
-nixos-generate -I stockholm="$WD"/../../.. -c "$WD"/default.nix -f install-iso
+nixos-generate -I stockholm="$WD"/../../.. -c "$WD"/config.nix -f install-iso
diff --git a/lass/1systems/wizard/test.nix b/lass/1systems/wizard/test.nix
new file mode 100644
index 00000000..c7a27102
--- /dev/null
+++ b/lass/1systems/wizard/test.nix
@@ -0,0 +1,10 @@
+{ config, lib, pkgs, ... }:
+{
+ imports = [
+ ./default.nix
+ ];
+ virtualisation.emptyDiskImages = [
+ 8000
+ ];
+ virtualisation.memorySize = 1024;
+}