If you're like me, every once in a while you have to undergo the menial task of
reinstalling the system from scratch on a new work laptop, personal desktop or
whatever. While installing the OS itself should be relatively straightforward
(I'm assuming a relatively standard Ubuntu distribution or one of its
variations), a lot is left to do, such as installing basic packages such as
vim
, tmux
and openssh-server
, setting up a new fancy shell with zsh
and
its plugins, installing anaconda
and creating standard virtual environments
etc.
Here is where this set of scripts and resources comes in handy!
This repository consists of several (theoretically) idependent scripts which take care of different parts: installing base packages, setting up a powerful yet readable shell prompt, installing anaconda and creating standard environments and so on.
"But hey! How do I clone a repository if the system is brand new and I don't even
have git
installed?" - Everyone, panicking.
Don't panic, I got you covered: use the following code snippet to just install git and clone this repo. Come on, it's just one line, I'm pretty sure you can remember it :)
wget git.io/hexe_kickstart -O kickstart-qol.sh
Then, just make it executable, run it (you will be asked your password for
sudo
, since you still need to install stuff) et voilà.
Here is the code if you're that lazy:
chmod +x kickstart-qol.sh && ./kickstart-qol.sh
You now have a new folder repo
in your home containing just this repo.
Now the real stuff begins.
Inside folder setup-scripts
you will find the script setup_ubuntu.sh
which
will begin the installation process for all components.
Just execute it with ./setup_ubuntu.sh
and a menu will allow you to select
which components you want to install.
Include a shell script which installs most common packages such as git
,
tmux
, google chrome
etc.
Install zsh and set it as default shell (might require logging back in/rebooting for changes to take place).
Moreover, configure it to use antigen
to manage the various plugins (mainly
the powerlevel9k
theme for the oh-my-zsh
bundle and the
zsh-syntax-highlight
plugin).
Since the powerlevel9k
theme requires the installation of fonts with special
glyphs which are not available normally (nerdfonts
), also take care of
properly installing them (also recreating font cache).
The effect of such changes is shown in the screenshot below (note: uses the
color materialshell-dark
color scheme, also included in this repository and
installed by the terminal
component.).
Here is how your prompt will look like after running this component of the setup:
Install xfce4-terminal
and copy in the local configuration folder (the default
location is ~/.local/share/xfce4/terminal/colorschemes
) the two colorschemes
included in this repository, materialshell-oceanic
and materialshell-dark
,
from https://github.com/carloscuesta/materialshell.
Install Vim
and the Vundle
plugin manager (from
https://github.com/VundleVim/Vundle.vim) , plus create a symbolik link to
the .vimrc
file included in this repo in order to include many useful plugins
in your configuration.
Install packages suckless-tools
(include the dmenu
program), xcompmgr
and
docky
.
Install the latest miniconda
version and create two standard virtual
environments (one for python 2.*
and the other one for python 3.*
) that can
later be cloned.
Note: this component should be installed after the shell component has been
configured, so that the correct .*rc
is properly altered by the installation
to include the path to anaconda
binaries in the $PATH
environment variable.
The virtual enviromnents include the following packages:
numpy
scikit-learn
jupyter
seaborn
Moreover, create an alias for jupyter notebook
so that it can be accessed
remotely.