Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Omakub – A Developer Setup for Ubuntu (omakub.org)
130 points by cal85 on June 5, 2024 | hide | past | favorite | 49 comments


I don't see why anyone would want to use someone else's personal setup, but cool.

Also not a fan of introducing new Linux users to wget | bash ...


Newbies need to be exposed to other people's opinions in order to develop their own.

This solves the discovery problem of knowing what's out there and what's possible. Personally the discovery problem is why I like full featured IDEs: GUIs do a better job of presenting possibilities and they push features to you by default needing to manage them.


Yes, but the issue with opinionated setups is that you don't get a "why". That's all in someone's brain, but if you don't know what you're looking at, you have no idea whether this is a good feature


I would. I hate setting up. I would like to use linux but with good enough defaults.

This is no difference than windows or macOS having the usual defaults.


I just used it on a fresh Ubuntu VM, will be my daily driver moving forward I think.

I like the styles it comes with, the terminal, and the way the workspaces and shortcuts are set up.


Alacritty is not a good terminal. It lacks support for several sensible protocols, such as keyboard disambiguation (guests cannot discern between e.g. ctrl+I and tab). Foot is probably a competent terminal with somewhat similar goals to Alacritty (the VT library is incredibly fast, which seems to make up for the software rendering).


How about Terminator? I've been using it for years and never encountered any issues, but I'm curious how it rates in your ranking of terms... ?


Terminator is built on libvte for the actual terminal emulator bits (as are MANY other Linux GUI terminal apps), so it has pretty mature support for a lot of the not-sexy-but-important features like the ones the parent post mentions by virtue of inheriting them from libvte. In terms of the low level terminal emulation support most of the libvte terminals are semi-interchangeable, at least the ones I have used.


No idea, I have never used it.


Would recommend Wezterm instead.


This setup mangles the standard Win+Space binding (keyboard layout switch) with Ulauncher, which doesn't give you that much over Gnome's native features.

Standard Gnome shortcuts for workspace switching (Win+F1) and dash application activation (Win+1) are replaced for no particular reason, and the new Alt+number mappings likely conflict with mappings in several applications. At least Emacs.

n00b ricers…


Install it with: wget -qO- https://omakub.org/install | bash

No, won't execute scripts from people which know basically nothing about security...


Is " git clone https://github.com/basecamp/omakub.git ~/.local/share/omakub && source ~/.local/share/omakub/install.sh " any better for you?


have you seen the script? It's super intrusive and reconfigures your entire system, including personal config files.

The usual argument against curl|bash scripts is that they don't respect program boundaries, may do unknown system configuration that would affect other programs, and could be impossible to remove.

And "initial system setup" scripts like this one do all those things _on purpose_.


Well, you run it on a fresh install, so it's not like you'll have any data worth keeping.


Nice. Link to the video on YouTube for those interested: https://youtu.be/aXLra-31Jh0?si=WQ0X1pCVLezQh4PF

I'm curious about the choices of Alacritty over Wezterm and Zellij over tmux though. Especially if going with zellij then why not use wezterm as well? Anyone know?


I think he honestly just found Alacritty first.


This follows the same principles as Ruby on Rails. Super opinionated and batteries included.

I'm sure many of these exist but DHH seems to have put a lot of thought and attention into his and it's worth checking out.

I've been following along on Twitter as he documented his transition from OSX / Textmate to Ubuntu / neovim. Fun to see.


Really good idea! I am too lazy to setup my env like that, I think it will be a nice way to try those cool features.

Thanks for sharing


> You shouldn’t be moving windows around with a mouse like a savage when using this setup!

I feel personally attacked. I have a memory of a fish and would hope if I really could remember the thousand shortcut I need to move to rely solely on keyboard.


There are a lot of, "rices" and "dotfiles" on GitHub with attention-grabbing screenshots in the README - this is not quite that, but the sales pitch of what it offers strikes a similar chord. They are a fun way to serendipitously discover new tools and configuration.


for someone new to linux this is helpfull, instead you dont know what exists. just reading omakub docs get me already insight on tools I was not aware of.


The "kub" very much implied that this installs/includes/is based around k8s. It isn't, and that's a poor choice in name due to needless friction.

This is similar to an Ubuntu "spin" so I'm ot sure why someone would go through all the effort but of customization with out releasing a proper remix that just gives you the out of box XP with lower friction.

This clearly isn't meant for containers, maybe folks who dev on windows and use a VM will find it more useful given WSL2


The name is from Omakase (a term DHH likes) & Ubuntu.

For disambiguation, this project is also not implying the following:

Om - this is not a flavour of Linux oriented to Meditation.

Maku - this project is not associated with the city in Iran.

Oma - this project was not created by a German grandmother. DHH is a man from Denmark.


Only none of those have any sort of contextual meaning in tech, let alone the specific context of self hosting and web development.

You don't prove a point by being silly about random tokens out of context.

"kub" in the context of tech, specifically tooling for a developer of web tech, it's better to avoid using names that have similarities to tools they don't touch.

It's good marketing because it's good UX.

You can continue your pedantry if you like, the context of our tooling is what it is, and no sort of absurd reductionist argument is going to change that.


Loved how you went above and beyond in your reply.. I know it's not 100% on-form for HN but it was a great rebuttal to what I also felt was an uncalled-for criticism of the name.


So DHH converted to Linux very recently and has already documented, scripted and advocated his personal config to a level where it almost feels like a new Ubuntu-based distro. :)

Very cool, I'm both impressed and inspired!


I'm very impressed at his productivity. Really one of software influencers worth following


idk what drives him to do all of these, what a beast



I was all wow until I saw installation scripts for Hey and Basecamp. He did what needed to do :)


Cool, let's make one for arch


I wonder how hard it would be to abstract the intent from the particulars of the distro being used. And then implement adapters for Arch, Slackware, Fedora and arrive at the same final polished setup.


Our machine bootstrap script at work supports Arch, Ubuntu, Debian, Pop OS, and more thanks to Homebrew. The only thing that uses the package manager is when installing Docker.

In fact the scripts for Linux and macOS are almost identical.


Opinionated == installs a lot of shit you'll probably never use.


no different than most of what macOS and windows ship with.

Honestly a few app being installed barely does any damage to me. What's your concern?


tldr:

Like every other Linux user, DHH has an opinion on how to set up his OS


> Turn a fresh Ubuntu installation into a fully-configured, beautiful, and modern web development system by running a single command. That’s the one-line pitch for Omakub.

Most webdev tools are written in JS (or at least used to be). Web browsers run JS just fine. Webdevs, then, should be striving to make sure that their JS-based tooling actually runs in the browser—instead of targeting the non-standard, ever-shifting, and unreliable APIs of NodeJS et al.

There's not an especially good reason that you shouldn't be able to build 80% of the projects on GitHub that belong to this milieu by simply:

1. downloading a copy of the source code

2. opening README.html

3. following the instructions in the workspace on the resulting page that says "to build this project, drag and drop the project folder here"

NPM/NodeJS programmers so desperately wanted to be taken seriously that they reimplemented wholesale all of the bad, fiddly things about toolchain installation, configuration, and maintenance that afflicts all other platforms/stacks that didn't have the it-just-sort-of-works-for-everyone strength that browsers have (and is largely the reason why so many webdevs choose to target browsers in order to reach end users in the first place). The perverse irony of this might be amusing if it didn't result in so many pointless excursions and wasted hours of human potential spent nursing the unfortunate status quo associated with `npm install`, yarn, etc.


The creator is the creator of Ruby on Rails so I doubt he is very concerned with nodejs


that person sounds like his fan and maybe they thought this is a good place to rant about JS, with which DHH would agree. Even though the opinion is completely irrelevant to the thread.


You have no idea what you're talking about.


how is this a place to rant about nodejs? Is this not a thread about ricing Linux?


No.


what are you, 3?


> 1. downloading a copy of the source code

> 2. opening README.html

> 3. following the instructions in the workspace on the resulting page that says "to build this project, drag and drop the project folder here"

i don't want to do all this stuff. literally none


... what?


I don’t want to do any building from the source code. I just want the apps on my machine


so how do you automate this?


How do you automate what?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: