My personal dotfiles for the Ubuntu desktop environment. Fork the repository to adapt it to your preferences.
config/
git/
vscode/
zsh/
# more personal settings for different programs
configs.sh
programs.sh
run.sh
-
config/
directory is where you put all your personal settings that you use in any development environment. -
configs.sh
contains functions for copying or removing your personal settings. -
programs.sh
contains all the installation code for programs. This is where you want to add new installation codes or delete existing ones. -
run.sh
is script that allows you to install all programs and set configurations with a single command.
./run.sh setup
-
Put the necessary files in config folder.
-
Add them to
config_paths
array in therun.sh
script.declare -a config_paths=( # SOURCE # DEST # ... "<source-path-for-new-config-file> <destination-path-for-new-config-file>" )
-
There are available programs by default. Their names are listed in
program_names
array in therun.sh
script. Remove the name of the program to avoid installing it.declare -a program_names=( # "zsh" # Do not install the zsh "vscode" "nvm" )
-
Create a function in
programs.sh
and add the installation code to it.install_mongodb() { wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add - echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/5.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list sudo apt-get update sudo apt-get install -y mongodb-org }
-
Add this function to
available_installations
dictionary inprograms.sh
.declare -A available_installations=( # ... ["mongodb"]=install_mongodb )
-
Add the new key to
program_names
array inrun.sh
.declare -a program_names=( # ... "mongodb" )
Note: Use this for debugging purposes only.
./run.sh clear
-
Install VirtualBox and Vagrant.
-
Create a virtual machine with Ubuntu desktop installed by using the
Vagrantfile
.vagrant up
-
Use
vagrant
user to login to Ubuntu desktop. The password forvagrant
user isvagrant
. See "vagrant" User.
-
If you don't use
zsh
as the default terminal, you may need to copy some environment variables of installed programs into(~/.bash_profile, ~/.profile, or ~/.bashrc)
. For example:# Add these lines to your .bashrc file. export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 export PATH=$JAVA_HOME/bin:$PATH