From 376174ecc2d3b240c5b624b733a0f6ce7649f195 Mon Sep 17 00:00:00 2001 From: Sonny Bakker Date: Sat, 8 Jul 2017 21:30:16 +0200 Subject: [PATCH] container script changes --- scripts/create_container | 85 +++++++++++++++++++++++----------------- vim/.vimrc | 2 +- 2 files changed, 49 insertions(+), 38 deletions(-) diff --git a/scripts/create_container b/scripts/create_container index be1625c..4fbc8ab 100755 --- a/scripts/create_container +++ b/scripts/create_container @@ -1,64 +1,75 @@ #!/bin/bash # Debian containers only -function add_ssh { +PACKAGES="vim git dbus " +REPO=https://github.com/SonnyBA/dotfiles.git + +run() { + systemd-nspawn -D $CONTAINER_PATH $@ +} + +add_ssh() { sed -i 's/^#Port .*/Port '"$PORT"'/' $CONTAINER_PATH/etc/ssh/sshd_config sed -i 's/^#PermitRootLogin .*/PermitRootLogin yes/' $CONTAINER_PATH/etc/ssh/sshd_config - # Restart ssh in order to load changes - systemd-nspawn -D $CONTAINER_PATH systemctl restart ssh + + # Restart ssh in order to load changes + run systemctl restart ssh + + touch $CONTAINER_PATH/root/.bash_profile + cat $CONTAINER_PATH/root/.bash_profile < $ENV + source $ENV + for key in $KEYS; + do + ssh-add ~/.ssh/$key + done + echo 'Agent started' + else + source $ENV + echo 'Agent started already, good to go' + fi +EOF } -function install_packages { - echo $PACKAGES - systemd-nspawn -D $CONTAINER_PATH apt-get -y install $PACKAGES +dotfiles() { + run git clone $REPO $CONTAINER_PATH/root/dotfiles + run $CONTAINER_PATH/root/dotfiles/initialize_script } -function dotfiles { - systemd-nspawn -D $CONTAINER_PATH git clone https://www.github.com/SonnyBA/dotfiles.git $CONTAINER_PATH/root/dotfiles - systemd-nspawn -D $CONTAINER_PATH $CONTAINER_PATH/root/dotfiles/initialize_script -} - -PACKAGES="vim git " -echo -n "Enter the path of the container (including container root): " - read -e CONTAINER_PATH - -echo -n "Enter debian release channel: " - read CHANNEL - -echo -n "Enter (private) ssh key for git (absolute path): " - read -e KEY - -echo -n "Start a ssh server? [y/n]: " - read SSH_SERVER +read -e -p "Enter the path of the container (including container root): " CONTAINER_PATH +read -p "Enter debian release channel: " CHANNEL +read -e -p "Enter (private) ssh key for git (absolute path): " KEY +read -p "Start a ssh server? [y/n]: " SSH_SERVER if [ "$SSH_SERVER" == "y" ];then - echo -n "Enter ssh listening port: " - read PORT + read -p "Enter ssh listening port: " PORT + PACKAGES+=" ssh " fi -echo "Enter additional packages (space separated) to install or leave blank: " - read EXTRA +echo "Current packages: $PACKAGES" +read -p "Enter additional packages (space separated) to install or leave blank: " EXTRA PACKAGES+=$EXTRA -echo -n "Add dotfiles? [y/n]: " - read DOTFILES +# Seperate packages with a comma for debootstrap's include flag +PACKAGES=$(echo $PACKAGES | sed 's/\ /,/g;s/,$//') + +read -p "Add dotfiles? [y/n]: " DOTFILES echo "Creating container.." -debootstrap $CHANNEL $CONTAINER_PATH +debootstrap --include=$PACKAGES $CHANNEL $CONTAINER_PATH mkdir $CONTAINER_PATH/root/.bin/ echo "Copying key.." mkdir $CONTAINER_PATH/root/.ssh cp $KEY $KEY.pub $CONTAINER_PATH/root/.ssh/ - if [ "$SSH_SERVER" == "y" ] ;then - PACKAGES+=" ssh" - echo $PACKAGES - install_packages $CONTAINER_PATH $PACKAGES add_ssh $CONTAINER_PATH $PORT -else - install_packages $CONTAINER_PATH $PACKAGES fi if [ "$DOTFILES" == "y" ] ;then @@ -66,4 +77,4 @@ if [ "$DOTFILES" == "y" ] ;then fi echo "Starting container first time, enter root pass" -systemd-nspawn -D $CONTAINER_PATH passwd +run passwd diff --git a/vim/.vimrc b/vim/.vimrc index fb540c2..ba3c62b 100755 --- a/vim/.vimrc +++ b/vim/.vimrc @@ -45,7 +45,7 @@ set backspace=2 set t_ut= " Light colorscheme by default -colorscheme greygull +colorscheme seagull " Terminal colors set termguicolors