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.shcontains functions for copying or removing your personal settings. -
programs.shcontains all the installation code for programs. This is where you want to add new installation codes or delete existing ones. -
run.shis 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_pathsarray in therun.shscript.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_namesarray in therun.shscript. 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.shand 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_installationsdictionary inprograms.sh.declare -A available_installations=( # ... ["mongodb"]=install_mongodb )
-
Add the new key to
program_namesarray 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
vagrantuser to login to Ubuntu desktop. The password forvagrantuser isvagrant. See "vagrant" User.
-
If you don't use
zshas 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