diff options
Diffstat (limited to 'spec.org')
| -rw-r--r-- | spec.org | 103 |
1 files changed, 0 insertions, 103 deletions
diff --git a/spec.org b/spec.org deleted file mode 100644 index 9cbaf11..0000000 --- a/spec.org +++ /dev/null @@ -1,103 +0,0 @@ - -ArchSetup Specification - -This setup should allow the user to: -- run a command from the live iso to start installation -- run a command from the live iso to setup the ssh server for remote install - -- tools to manage their dotfiles - - see what's changed and reject or commit changes to the repository - - easily adopt new dotfiles into the setup - -* Workflows / Use Cases -** Install Arch Linux -*** Kick off the init file via curl -To create a new arch linux workstation, - -boot from any Arch Linux iso burned on a flash drive. - -issue the command -"curl -s https://cjennings.net/archsetup/init | sh" -... and have the process should begin. -**** TODO Figure out what needs to occur for this to happen. - -*** Init -- ask the user if they wish to setup archlinux or setup ssh -- if response not "arch" or "ssh", error and stop. - -#+begin_src shell - echo "Do you wish to setup archlinux or setup ssh? " - read setup - - if [ "$setup" = "arch" ]; then - echo "Setting up Arch Linux..." - # Call arch setup script - sh /path/to/archlinux_setup_script.sh - - elif [ "$setup" = "ssh" ]; then - setup_ssh # function below - - else - echo "Error: Unknown setup option. Please choose 'arch' or 'ssh'." - exit 1 - fi - -#+end_src - -*** Prepare SSH -- change root user password to welcome -- make sure ssh server is setup -- find the hostname -- report back to the user with the root@ip and root@hostname prompt to use. - -#+begin_src shell - setup_ssh () { - systemctl start sshd - - echo "root:welcome" | chpasswd - hostname=$(</etc/hostname) - ipaddress=$(ip addr show wlan0 | grep 'inet ' | awk '{print $2}' | cut -d/ -f1) - - echo ""; echo ""; echo "init complete. " - echo "you may ssh root@$hostname or ssh root@$ipaddress using the password 'welcome'" - } -#+end_src - -*** Installation -- -- ask user which drive to install on - - display all the drives and have the user choose one - - report the partitions and sizes, and confirm. - - use wipe and discard to make sure the - - -** Updating Dotfiles - - -** Makefile - -I need a GNU Makefile that does the following: - -when "make stow" is called: -- delete the file at $HOME/.zshrc_history -- run the command "stow --restow --no-folding system" - -when "make t-export" is called: -- run the command "tar -jcvf thunderbird-email-profile.tar.bz2 $HOME/.thunderbird" -- verify that thunderbird-email-profile.tar.bz2 exists. halt with an error if it doesn't exist. -- copy thunderbird-email-profile.tar.bz2 to the current directory. -- run the command "gpg -c thunderbird-email-profile.tar.bz2" -- run the command "rm thunderbird-email-profile.tar.bz2" - -when "make t-restore" is called: -- verify that thunderbird-email-profile.tar.bz2 exists. halt with an error if it doesn't exist. -- run the command gpg thunderbird-email-profile.tar.bz2.gpg -- - - -when "make arch" is called: -- run "git pull origin main" -- run "sh $(pwd)archsetup" - -when make "make commit" is called -- run |
