diff --git a/.github/workflows/install-ci.yml b/.github/workflows/install-ci.yml index 985f315..586c420 100644 --- a/.github/workflows/install-ci.yml +++ b/.github/workflows/install-ci.yml @@ -3,6 +3,7 @@ on: push: branches: - main + - devcontainer jobs: install: runs-on: ${{ matrix.os }} @@ -15,6 +16,6 @@ jobs: with: ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }} - name: install - run: ./install.sh 1 + run: ./install.sh env: CI: true diff --git a/install.sh b/install.sh index 18dbb07..a7492b9 100755 --- a/install.sh +++ b/install.sh @@ -10,11 +10,12 @@ codename=`lsb_release -a 2>/dev/null | grep Codename | awk -F ' ' '{print $2}'` release=`lsb_release -a 2>/dev/null | grep Release | awk -F ' ' '{print $2}'` DOTFILES_DIR=$(pwd) +echo "$DOTFILES_DIR" ############################# grab dotfiles #################################### # dotfiles already exist since I am running this script! # git clone git@github.com:erichlf/dotfiles.git -(cd $DOTFILES_DIR && git submodule update --init --recursive) +git submodule update --init --recursive cmd=( \ dialog \ @@ -62,6 +63,7 @@ function no_ppa_exists(){ function add_ppa(){ sudo add-apt-repository ppa:$1 -y + apt_update return 0 } @@ -108,23 +110,38 @@ function sym_links(){ ############################# my base system ################################### #bikeshed contains utilities such as purge-old-kernels function base_sys(){ - cd $HOME + sudo add-apt-repository universe + + echo "Setting up shell" + if no_ppa_exists linuxuprising + then + add_ppa linuxuprising/guake + fi apt_install \ btop \ cifs-utils \ curl \ + dconf-cli \ + dconf-editor \ fzf \ gnome-tweaks \ + guake \ iftop \ nfs-common \ tmux \ wget \ zsh + guake --restore-preferences $DOTFILES_DIR/guake.conf + + sudo chsh -s $(which zsh) $(whoami) + + # memory for cd curl -sS https://raw.githubusercontent.com/ajeetdsouza/zoxide/main/install.sh | bash - chsh -s /usr/bin/zsh + # zsh plugin manager + [ ! -d $HOME/.zgen ] && git clone https://github.com/tarjoilija/zgen.git ${HOME}/.zgen # tool to figure out why my last command didn't work snap_install thefuck --beta --classic @@ -142,35 +159,39 @@ function base_sys(){ ./starship.sh --bin-dir $HOME/.local/bin/ -y rm -f starship.sh + echo "Setting up networking" apt_install \ network-manager-openvpn \ network-manager-openvpn-gnome \ - network-manager-vpnc - # sudo /etc/init.d/networking restart - - cd $DOTFILES_DIR + network-manager-vpnc \ + openssh-server + echo "Installing developer tools" if [ ! -d "$HOME/workspace" ]; then mkdir "$HOME/workspace" fi apt_install \ build-essential \ - clang \ + clang \ clang-format \ clang-tools \ cmake \ g++ \ gcc \ + git-completion \ + global \ + libtool-bin \ + meld \ python3-dev \ python3-ipython \ python3-matplotlib \ python3-numpy \ - python3-pip - python3-scipy \ - python3-setuptools \ + python3-pip \ + python3-scipy \ + python3-setuptools - # need dnspython and unrar are needed by calibre + echo "Installing python linters" pip3_install \ autoflake \ black \ @@ -181,29 +202,25 @@ function base_sys(){ wheel \ yapf - if no_ppa_exists linuxuprising - then - add_ppa linuxuprising/guake - fi - if no_ppa_exists ppa-verse then add_ppa ppa-verse/neovim fi + echo "Install viM" apt_install \ - freeglut3-dev \ - git-completion - global \ - guake \ - libtool-bin \ - meld \ + git-lfs \ + golang-go \ neovim \ - openssh-server \ + nodejs \ + python3-git \ + python3-venv \ + python3-yaml \ xclip - - # install zgen - [ ! -d $HOME/.zgen ] && git clone https://github.com/tarjoilija/zgen.git ${HOME}/.zgen + + # treesitter for vim + npm install -g neovim tree-sitter + snap_install --edge chafa # needed by telescope-media-files # install lunarvim curl -sSL https://raw.githubusercontent.com/LunarVim/LunarVim/release-1.3/neovim-0.9/utils/installer/install.sh | LV_BRANCH='release-1.3/neovim-0.9' bash -s -- -y @@ -216,12 +233,10 @@ function base_sys(){ install lazygit $HOME/.local/bin cd - - # restore guake config - guake --restore-preferences guake.conf - sudo update-alternatives --config editor - apt_install \ + echo "Setting up docker" + apt_install \ gnupg \ ca-certificates @@ -229,26 +244,16 @@ function base_sys(){ apt_install \ docker-compose \ docker.io \ - git-lfs \ - golang-go \ # used by gitlab nvim plugin - nodejs \ - python3-git \ - python3-venv \ - python3-yaml - snap_install --edge chafa # needed by telescope-media-files sudo usermod -a -G docker $USER sudo systemctl daemon-reload sudo systemctl restart docker newgrp docker - - # devcontainer cli + + echo "Installing vscode" npm install -g @devcontainers/cli - # treesitter for vim - npm install -g neovim tree-sitter - # install vscode apt_install \ apt-transport-https \ software-properties-common @@ -266,6 +271,7 @@ function base_sys(){ cd /tmp + echo "Installing extras" apt_update apt_install chrome-gnome-shell