wthiel revised this gist 4 months ago. Go to revision
1 file changed, 3 insertions
bootstrap.sh
| @@ -4,6 +4,9 @@ | |||
| 4 | 4 | sudo apt update | |
| 5 | 5 | sudo apt install -y build-essential git zsh htop tmux | |
| 6 | 6 | ||
| 7 | + | # Enable mouse scrolling in tmux | |
| 8 | + | echo "setw -g mouse on" >> ~/.tmux.conf | |
| 9 | + | ||
| 7 | 10 | # Install: oh-my-zsh | |
| 8 | 11 | sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" | |
| 9 | 12 | ||
wthiel revised this gist 4 months ago. Go to revision
1 file changed, 36 insertions, 4 deletions
README.md
| @@ -1,13 +1,45 @@ | |||
| 1 | - | # Installation | |
| 1 | + | # **Ubuntu Development Environment Setup Script** | |
| 2 | 2 | ||
| 3 | - | ## Curl | |
| 3 | + | This bash script automatically configures a comprehensive development environment on Ubuntu/Debian systems. Here's what it accomplishes: | |
| 4 | + | ||
| 5 | + | ## Installation | |
| 6 | + | ||
| 7 | + | ### Curl | |
| 4 | 8 | ||
| 5 | 9 | ```sh | |
| 6 | 10 | curl -fsSL https://opengist.internal.willithiel.net/wthiel/032ceca594884fce86ed8a6a32726bd2/raw/HEAD/bootstrap.sh | bash | |
| 7 | 11 | ``` | |
| 8 | 12 | ||
| 9 | - | ## wget | |
| 13 | + | ### wget | |
| 10 | 14 | ||
| 11 | 15 | ```sh | |
| 12 | 16 | wget -qO- https://opengist.internal.willithiel.net/wthiel/032ceca594884fce86ed8a6a32726bd2/raw/HEAD/bootstrap.sh | bash | |
| 13 | - | ``` | |
| 17 | + | ``` | |
| 18 | + | ||
| 19 | + | ## **System Updates & Essential Tools** | |
| 20 | + | - Updates package repositories | |
| 21 | + | - Installs core development tools: `build-essential`, `git`, `zsh`, `htop`, `tmux` | |
| 22 | + | ||
| 23 | + | ## **Advanced Shell Configuration** | |
| 24 | + | | Component | Purpose | Configuration | | |
| 25 | + | |-----------|---------|---------------| | |
| 26 | + | | **Oh My Zsh** | Enhanced Zsh framework | Installs from official repository | | |
| 27 | + | | **Powerlevel10k** | Advanced shell theme | Custom prompt with host, directory, git status, virtualenv | | |
| 28 | + | | **Syntax Highlighting** | Command syntax coloring | System package installation | | |
| 29 | + | | **Auto-suggestions** | Command completion | Plugin integration | | |
| 30 | + | ||
| 31 | + | ## **Vim Editor Enhancement** | |
| 32 | + | - Installs Vim with `exuberant-ctags` support | |
| 33 | + | - Deploys `timss/vimconf` configuration for enhanced editing experience | |
| 34 | + | - Creates symbolic links for configuration files | |
| 35 | + | ||
| 36 | + | ## **Security & Access Configuration** | |
| 37 | + | - **Passwordless Sudo**: Grants the current user unrestricted sudo access without password prompts | |
| 38 | + | - **SSH Key Installation**: Adds a predefined Ed25519 public key to `authorized_keys` for remote access | |
| 39 | + | - Sets appropriate file permissions (700 for `.ssh`, 600 for `authorized_keys`) | |
| 40 | + | ||
| 41 | + | ## **Key Features** | |
| 42 | + | - **Automated Setup**: Complete hands-off installation | |
| 43 | + | - **Developer-Focused**: Tools optimized for coding and system administration | |
| 44 | + | - **Security Integration**: SSH key deployment for remote access | |
| 45 | + | - **Shell Customization**: Modern, feature-rich terminal experience | |
wthiel revised this gist 4 months ago. Go to revision
1 file changed, 13 insertions
README.md(file created)
| @@ -0,0 +1,13 @@ | |||
| 1 | + | # Installation | |
| 2 | + | ||
| 3 | + | ## Curl | |
| 4 | + | ||
| 5 | + | ```sh | |
| 6 | + | curl -fsSL https://opengist.internal.willithiel.net/wthiel/032ceca594884fce86ed8a6a32726bd2/raw/HEAD/bootstrap.sh | bash | |
| 7 | + | ``` | |
| 8 | + | ||
| 9 | + | ## wget | |
| 10 | + | ||
| 11 | + | ```sh | |
| 12 | + | wget -qO- https://opengist.internal.willithiel.net/wthiel/032ceca594884fce86ed8a6a32726bd2/raw/HEAD/bootstrap.sh | bash | |
| 13 | + | ``` | |
wthiel revised this gist 4 months ago. Go to revision
1 file changed, 9 insertions, 1 deletion
bootstrap.sh
| @@ -23,4 +23,12 @@ sed -i -- 's/^plugins=(/plugins=(\n zsh-autosuggestions\n/g' ~/.zshrc | |||
| 23 | 23 | sudo apt install -y vim exuberant-ctags | |
| 24 | 24 | mkdir -p ~/.vim/vimconf | |
| 25 | 25 | git clone https://github.com/timss/vimconf.git ~/.vim/vimconf | |
| 26 | - | ln -s ~/.vim/vimconf/.vimrc ~/.vimrc | |
| 26 | + | ln -s ~/.vim/vimconf/.vimrc ~/.vimrc | |
| 27 | + | ||
| 28 | + | # Add user to sudoers with no password | |
| 29 | + | echo "$USER ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/$USER | |
| 30 | + | sudo chmod 440 /etc/sudoers.d/$USER | |
| 31 | + | ||
| 32 | + | # Install public key | |
| 33 | + | KEY="ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILB5bVuBHYwgtCL+ppoOkKSpu/+wmSOt80yVE/S2qU0F" | |
| 34 | + | mkdir -p ~/.ssh && chmod 700 ~/.ssh && echo "$KEY" >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys | |
wthiel revised this gist 4 months ago. Go to revision
1 file changed, 1 insertion, 1 deletion
bootstrap.sh
| @@ -2,7 +2,7 @@ | |||
| 2 | 2 | ||
| 3 | 3 | # Update packages, install essentials | |
| 4 | 4 | sudo apt update | |
| 5 | - | sudo apt install -y build-essential git zsh htop | |
| 5 | + | sudo apt install -y build-essential git zsh htop tmux | |
| 6 | 6 | ||
| 7 | 7 | # Install: oh-my-zsh | |
| 8 | 8 | sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" | |
wthiel revised this gist 4 months ago. Go to revision
1 file changed, 26 insertions
bootstrap.sh(file created)
| @@ -0,0 +1,26 @@ | |||
| 1 | + | #!/bin/bash | |
| 2 | + | ||
| 3 | + | # Update packages, install essentials | |
| 4 | + | sudo apt update | |
| 5 | + | sudo apt install -y build-essential git zsh htop | |
| 6 | + | ||
| 7 | + | # Install: oh-my-zsh | |
| 8 | + | sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" | |
| 9 | + | ||
| 10 | + | # Install Powerlevel10k | |
| 11 | + | git clone --depth=1 https://github.com/romkatv/powerlevel10k.git "${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k" | |
| 12 | + | sed -i -- 's/ZSH_THEME="robbyrussell"/plugins=(virtualenv)\nPOWERLEVEL9K_CUSTOM_LIVE_BACKGROUND="red"\nPOWERLEVEL9K_CUSTOM_LIVE_FOREGROUND="white"\nPOWERLEVEL9K_MODE="nerdfont-complete"\nPOWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(custom_live host dir vcs virtualenv)\nPOWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(status root_indicator background_jobs load ram disk_usage time)\nZSH_THEME="powerlevel10k\/powerlevel10k"\n/g' ~/.zshrc | |
| 13 | + | ||
| 14 | + | # zsh-syntax-highlighting | |
| 15 | + | sudo apt install zsh-syntax-highlighting | |
| 16 | + | echo "source /usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ${ZDOTDIR:-$HOME}/.zshrc | |
| 17 | + | ||
| 18 | + | # zsh-autosuggestions | |
| 19 | + | git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions | |
| 20 | + | sed -i -- 's/^plugins=(/plugins=(\n zsh-autosuggestions\n/g' ~/.zshrc | |
| 21 | + | ||
| 22 | + | # Install: timss/vimconf (https://github.com/timss/vimconf#installation) | |
| 23 | + | sudo apt install -y vim exuberant-ctags | |
| 24 | + | mkdir -p ~/.vim/vimconf | |
| 25 | + | git clone https://github.com/timss/vimconf.git ~/.vim/vimconf | |
| 26 | + | ln -s ~/.vim/vimconf/.vimrc ~/.vimrc | |