Skip to content

duplolab/devbox

Repository files navigation

Development Box

Introduction

This guide is for setting up a complete development environment using an Ansible Playbook. It's designed for developers.

How to Use

The "Development Box" is a ready-to-use environment for developers.

You need ansible on your computer.

It uses Open Source software like:

  • Fedora
  • Homebrew on Linux
  • Docker and Docker Compose
  • Flatpak
  • dotfiles
  • tilix

It also includes client apps for app development:

  • sdkman
  • nvm
  • tfenv

How to Install

Follow the next steps to customize and set up your "Development Box".

Customize Your Playbook

---
##### role geerlingguy.docker
docker_users:
  - "{{ ansible_user_id }}"

##### role gantsign.sdkman
sdkman_users:
  - "{{ ansible_user_id }}"

##### role homebrew
homebrew_taps:
  - homebrew/core
  - aws/tap
homebrew_installed_packages:
  - jq
  - yq

##### dotfiles
dotfiles_repo:
  url: https://github.com/thoughtbot/dotfiles.git
  version: main
  accept_hostkey: false

##### role: unarchive_packages
unarchive_packages:
  - package_binary_dir: "{{ ansible_env.HOME }}/.local/lib/openshift-v4/clients/ocp/4.12.0/openshift-client"
    package_archive: openshift-client-linux-4.12.0.tar.gz
    package_url: https://mirror.openshift.com/pub/openshift-v4/clients/ocp/4.12.0/openshift-client-linux-4.12.0.tar.gz
    package_checksum: sha256:4523129522a89cc2c0d18e4e4c794b2409ec67b465de378616902dcacfc27860
    exclude: []
    force_install: false
    link_dir: "{{ ansible_env.HOME }}/.local/bin"
    package_bins:
      - kubectl
      - oc

##### role: flatpaks
flatpak_packages:
  - com.google.Chrome

##### tigervnc
tigervnc_username: "{{ ansible_user_id }}"
tigervnc_groupname: "{{ ansible_user_id }}"

# Connecting to tigervnc-server requires a password.
tigervnc_password: vncpass

# Use existing user's vnc paswword
tigervnc_user_exists: false

# Desktop session xstartup should connect to e.g. gnome-session, mate-session
tigervnc_desktop_session: gnome-session

Quick Install Steps

To install the latest version:

On Fedora, run:

dnf -y install git ansible make findutils binutils nano distribution-gpg-keys

Clone the repository:

git clone https://github.com/duplolab/devbox.git

Install Ansible Galaxy dependencies:

ansible-galaxy install -r requirements.yml
ansible-galaxy collection install -r requirements.yml

To execute: For workstation, desktop:

ansible-playbook -i hosts.yaml playbook-devbox-gui.yaml --ask-become-pass

Or for WSL, CLI only:

ansible-playbook -i hosts.yaml playbook-devbox-cli.yaml --ask-become-pass

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published