One-Click Configuration for Web Development on Ubuntu

24 min read

image-20241023111140280

Hello everyone, today I’m excited to share a web development configuration solution designed specifically for Ubuntu, called Omakub.

Project Overview

Omakub is a meticulously configured Ubuntu environment project tailored for developers. It was initiated by David Heinemeier Hansson (DHH), the creator of Ruby on Rails, to simplify his own Linux system setup process and help the tech team at 37signals transition smoothly to a Linux system.

Key Features

  1. One-Click Setup
    With just a single command, you can transform a fresh Ubuntu installation into a fully configured, aesthetically pleasing, and modern web development system. Developers no longer need to write personalized configuration files for each necessary tool, nor constantly track the latest command-line tools, greatly saving time in setting up their development environment.

  2. Pre-installed Tools
    Omakub comes integrated with a host of popular development tools and applications, including browsers (Chrome, Firefox), terminal emulators (Alacritty with Zellij for multi-pane sessions), editors (Neovim with Lazyvim configuration, Microsoft’s Visual Studio Code), communication tools (WhatsApp, Signal, Spotify, Zoom, 1Password), and more, allowing developers to dive right in without additional setup.

  3. Version Control
    Preloaded with GitHub CLI (gh command) for version control and code management.

  4. Container Management
    Pre-configured containers for MySQL and Redis, with the lazydocker tool available to start/stop them, simplifying container management.

  5. Language Management
    The mise tool manages default installations of Ruby, Node.js, and other languages like Python, Go, and Java, making it easy for developers to switch between languages.

  6. System Optimization & Customization
    The overall UI of Ubuntu is fine-tuned to fit a keyboard-centric, tiling window workflow. Transition animations are minimized to speed up interactions, six default workspaces are set up for managing applications, and useful shortcuts are provided (e.g., Super+1/2/3… to switch workspaces, F11 for full screen, Super+T to tile windows).

Advantages

  1. Customizability
    While Omakub comes with predefined configurations, it allows developers to make personalized adjustments to meet their unique development needs.

  2. Community-Driven
    Users are encouraged to contribute to project documentation, enhancing the experience for the whole community and driving continuous improvements.

  3. Open Source
    Omakub is fully open-source under the MIT license, giving developers the freedom to view, use, and improve the source code, offering learning and expansion opportunities.

Use Cases

  1. New Machine Setup
    When developers get a new Ubuntu system, Omakub quickly sets up the development environment, avoiding the tedious configuration process.

  2. Team Collaboration
    It ensures consistency in the development environments across team members, reducing issues caused by environment differences and improving team collaboration efficiency.

  3. Learning & Teaching
    For beginners, Omakub provides a ready-to-use professional development environment, allowing them to focus on learning programming without spending too much time on environment configuration.

Installation

Using Omakub is simple and involves just two steps:

  1. Install Ubuntu 24.04+ on your computer.
  2. Run the following command in the terminal:
wget -qO- https://omakub.org/install | bash

The installation should be completed in under 30 minutes, depending on your network speed.

Note: Omakub has been tested only on fresh Ubuntu 24.04 installations.