fazlearefin / ubuntu-dev-machine-setup

Configure your Ubuntu 18.04, 20.04, 22.04, 24.04 Desktop as a development workstation for DevOps or DevSecOps
148 stars 72 forks source link
ansible ansible-playbooks devops devsecops linux-mint lts mint noble pop-os tmux ubuntu wilma zsh zsh-theme

ubuntu-dev-machine-setup | Ubuntu 24.04 | Linux Mint 22

Description

This repo contains Ansible playbooks to configure your system as a development machine upon a clean install.

The playbooks should run in Debian based system with minor modifications but was only tested with:

For other versions of Ubuntu, change to the other branches of this git repo. Other versions include Ubuntu 18.04 LTS, 20.04 LTS, 22.04 LTS.

bullet-train-zsh-theme

Screenshot above is using bullet-train zsh theme

pure-zsh-theme

Screenshot above is using pure zsh theme

p10k-zsh-theme-tmux

Screenshot above is using p10k zsh theme with tmux


What gets installed and cofigured?

I am a DevSecOps Engineer and my daily job include working with AWS, docker, ansible, terraform, etc. So if you are in a similar profession the installed system will suit your needs. It is also easy to extend using Ansible roles.

Summary of packages that get installed and configured based on roles:


Step 0 | Pre-requisites for running the ansible playbooks

On the system which you are going to setup using Ansible, perform these steps.

You need to install ansible and git before running the playbooks. You can either install it using pip or apt.

/usr/bin/sudo apt update
/usr/bin/sudo apt full-upgrade -y
/usr/bin/sudo apt install ansible git -y

And clone this repo (do not clone in /tmp as this dir is cleaned and mounted in tmpfs)

git clone https://github.com/fazlearefin/ubuntu-dev-machine-setup.git
cd ubuntu-dev-machine-setup

Step 1 | Running the playbooks to configure your system

Invoke the following as yourself, the primary user of the system. Do not run as root.

ansible-playbook main.yml -vv -e "{ laptop_mode: True }" -e "local_username=$(id -un)" -K

Enter the sudo password when asked for BECOME password:.

The main.yml playbook will take anything from 15 minutes to an hour to complete.

After all is done, give your laptop a new life by rebooting.

What is this laptop_mode?

Setting this to True

Setting this to False


Known Issues


Pull Requests and Forks

You are more than welcome to send any pull requests. However, the intention of this repo is to suit my development needs. So it might be better if you fork this repo instead for your own needs and personalization.


Donations

If you think my work helped you in some way saving you time and effort, I am happy to receive any amount of donation. However, the code in this repo is completely free; absolutely no strings attached.

Bitcoin (BTC): bc1qzlhpm94vtk2ht67etdutzcy2g5an5v6g36tp0m