Web Development

Turn Ubuntu into the Perfect Web Dev Setup in a Single Command


Ubuntu offers a powerful, configurable, and easy-to-use desktop experience out of the box. However, as the saying goes, one size doesn’t fit all.

Customising Ubuntu’s look and layout, installing apps and awesome GNOME Shell extensions, and taking time out to tailor the distro to something in-tune with our own needs is something we all do. The beauty of using Linux is that we can do this.

For most of us, this is not a major task: adding a few apps, setting a nice wallpaper, maybe installing an extension or two, and everything runs smoothly.

But what about those who need more bespoke setups? The choices can be paralysing, the setup process intimidating, and the time required to discover, learn, and fine-tune the various tools and dotfiles considered too great.

Wouldn’t it be great if you could run a command and have someone else set it up for you?

Enter Omakub.

Omakub – One Command Transformation

So what is Omakub? It’s a new bash script that, when run, will transform a fresh Ubuntu 24.04 LTS installation into a system optimised for web development, all by running a single command.

“Omakub was started by me, David Heinemeier Hansson, to streamline my own Linux box bootstrapping, as well as to help our technical employees at 37signals switch to Linux. That’s very much a specific context where Ruby on Rails, web development tooling, and commercial services all intermingle.”

“No need to write bespoke configs for every essential tool just to get started or to be up on all the latest command-line tools,” the website says.

It bills itself “an opinionated take on what Linux can be at its best”.

Nothing Omakub does can’t be done other ways, manually, or using other tools. And the developer notes the choices the script makes aren’t necessarily better than choices made in other distros, setups, or configuration guides.

Rather, it’s just a simple way to get a solid, preconfigured setup easily on a vanilla Ubuntu install.

Why is it only for Ubuntu?

“It’s using vanilla Ubuntu because that’s one of the most widely adopted Linux distributions, and one that is even a pre-install option from many computer vendors,” creator David Heinemeier Hansson explains.

“But while Ubuntu has a great package manager in apt, many of the tools that developers want either haven’t been packaged, need more recent versions than what has been frozen in the LTS, or need actions post-install necessary for the best operation.”

Anyone knee-deep in the world of nixOS, an avowed advocate of Arch, etc., likely doesn’t have much of a need for a script to make bold choices for them. They know these tools, where to get them, how to configure them — probably already have dotfiles for them!

Hence Omakub.

A ‘Mixtape’ of Software & Tools

Omakub is all-in on Alcritty

Omakub isn’t a FOSS nirvana, mind. Those allergic, anti, or otherwise antagonised by the idea of using closed-source and/or commercial software should avoid. The software choices put pragmatism above dogmatism; a mixtape for reality, not a manifesto for ideals.

Notable software it adds:

  • Google Chrome (default browser)
  • Spotify
  • Zoom
  • 1Password
  • VSCode
  • Ulauncher
  • Xournal++
  • Flameshot
  • VLC
  • Pinta

Alacritty terminal is also onboard, which uses Zellij for multiple-pane shenanigans, and preconfigured with tools including exa, fzf, rg, zoxide, and bg.

Command-line and other notable tools:

  • Docker (preconfigured with MySQL + Redis)
  • Lazydocker for fancy Docker control
  • NeoVim
  • gh Github CLI
  • rbenv for Ruby management
  • nodenv for Nodejs management

GNOME Shell remains default (and usable) but some extensions are added to provide a keyboard-driven, window-tiling workflow. Pointer-led interaction is still there but the most compelling UX features that make this what it is require keyboard shortcuts.

Several themes with custom wallpapers are available to switch between, Cascadia Mono is used as the default terminal font, and there are a myriad of other smaller tuneups throughout.

But, just like on any operating system (well, maybe not Windows) Omakub convertees are free to ignore, remove, or disable anything the script does which doesn’t suit their own needs – it’s not set in stone just a preconfigured starting point.

Want to try Omakub?

Omakub with the EverForest theme set

You can check the contents of the Omakub bash script on Github and hit up the (rather epic) website to see the results in action in a comprehensive 25 minute video. That explains more about the “why” behind it — of course, you’ll find the command to run there to.

You MUST run this on a FRESH Ubuntu 24.04 LTS install to which you have not made any major changes. You can run it on an existing setup but keep in mind it’s designed for a fresh one – you’ll be on your own if things go wrong/screw up.

The command will download and execute the script. Everything else is automated save for approval when the 4 GNOME Extensions are installed. Once the scripts completes you should logout so that the new settings can take effect. I recommend a reboot too.

Obviously keep in mind that running scripts from the internet is frowned upon in Linux circles. If you plan to run this PLEASE look at what it does first. The script could have changed since I wrote this article.

Keep in mind that undoing the changes this script makes will require more than a single command!

But, at face value since I lack the bandwidth to try this, Omakub looks to be a terrific transformation tool that delivers a lot of value with little effort. It’s appeal is sure to extend beyond its intended audience of Linux web developers.

Thanks Makhate



Source

Related Articles

Back to top button