---
title: "The Omakub Manual"
author: "DHH"
url: "https://learn.omacom.io/1/read"
---

The Basics

# Getting Started

All it takes to run Omakub is these two steps:

1. [Install a fresh copy of Ubuntu 24.04](https://ubuntu.com/tutorials/install-ubuntu-desktop) (or 25.10) on your computer.
2. Run `wget -qO- https://omakub.org/install | bash` in a terminal (start one with Ctrl+alt+T).

You should be able to complete the whole process in less than 30 minutes, depending on your internet connection. (Note that Omakub is only tested on fresh installations of Ubuntu 24.04 and 25.10. If you already have an installation, use a different version, or even a different distribution, you'll be on your own.)

It's highly recommended that you encrypt the drive when you're installing Ubuntu. When you see this screen during the 24.04 install:

 ![select-encryption-1.png](https://manual.omakub.org/u/select-encryption-1-VBxKVM.png) 

Select "Advanced Options", then: 

![select-encryption-2.png](https://manual.omakub.org/u/select-encryption-2-LZJop9.png) 

Remember that to install Ubuntu on your computer, you'll need a USB thumb drive to serve as the installation media. It needs to be at least 12GB.

If you don't already have a computer for running Omakub, the [Framework 13](https://frame.work/) is a great laptop for the purpose. An awesome configuration would be the AMD 7640U with 32GB RAM and 1TB SSD. If you prefer a desktop machine, the Minisforum UM870 or Beelink SER8 are both good bargains too.

You can also find desktops and laptops optimized for Linux from [System76](https://system76.com), [Tuxedo Computers](https://www.tuxedocomputers.com/), and [Slimbook](https://slimbook.com/en/). The vast majority of mini PCs from makers like Beelink, Minisforum, and the like work great too. And, of course, from mainstream vendors like Dell, Lenovo, HP, and others (but then you have to make sure you get something well supported).

Now that Omakub is installed on your computer, let's learn all about it.


# Navigation

Omakub is designed to be used with the keyboard. There are a lot of hotkeys to learn, though, so don't worry if you have to reach for the mouse a few times in the beginning. But by the end of your training, you'll be flying through workspaces, tiling windows, and starting apps exclusively with the keyboard. It's really fast and really fun.

Note: You'll see a lot of references to the `Super` key. That's the general name for the Windows key or the Command key. Some keyboards have the Windows logo on it, some have CMD, some have the Apple command sign. It's all the same.

## Workspaces

There are six preconfigured workspaces. On a small laptop screen, you're recommended to keep only one application, or two at the most, visible on each workspace. Then you navigate between them using the `Super + 1/2/3/4/5/6` hotkeys. Since Omakub has no animations, the switching is instant.

You should get in the habit of leaving the same application on the same workspace, so you can build up muscle memory for quick navigation. For example, here's how you could do it:

| # | Purpose | Program(s) | Hotkey |
|---|----------------|------------------|-------------|
| 1 | Browsing | Chrome | `Super + 1` |
| 2 | Programming | Terminal | `Super + 2` |
| 3 | Communication | Signal + WhatsApp | `Super + 3` |
| 4 | Music | Spotify | `Super + 4` |
| 5 | Writing | Typora | `Super + 5` |
| 6 | Misc | Whatever | `Super + 6` |

If you're running a program on one workspace, but want to move it to another, you press `Shift + Super + N` where N is the number of the destination workspace.

## Applications

There are three ways to start or focus an application in Omakub:

1. Press `Alt + 1` to start the first application in the dock (Chrome, by default), `Alt + 2` to start the second (Terminal), and so on. If the application is already open, it'll receive focus.
2. Launch any application using Ulauncher by pressing `Super + Space` and typing the name of the application. Once found, press return.
3. Press `Super` to reveal the dock, then use the mouse to start the application. You can see every application installed on the system by clicking on the Show Apps icon at the very right.

You can always close an application using `Super + W`.

If you already have Chrome running on one workspace, but want to add a new instance on another workspace, press `Shift + Alt + 1`. You can do the same with the terminal using `Shift + Alt + 2`.

This is what Ulauncher looks like in action:

 ![ulauncher.png](https://manual.omakub.org/u/ulauncher-qs7l3s.png) 

This is what the revealed dock looks like:

 ![dock-launcher.png](https://manual.omakub.org/u/dock-launcher-0N3wrZ.png) 

## Chrome

The best way to run Chrome on a small laptop display, as with most applications, is in full-screen mode. You do that by pressing `Shift + F11`. Pressing that again will take it out of full-screen mode. You can navigate between your tabs using `Ctrl + Pgup/Pgdown` or jump directly to a tab, counting from the left, using `Ctrl + 1/2/3/...`.


# Tiling

Gnome comes with a simple two-way tiling setup that works great for small laptop screens that can't fit more than a pair of apps side by side anyway. While on an active app, press `Super + Left Arrow` to fill up the left half of the screen, and `Super + Right Arrow` to fill up the right. You can use `Super + Up Arrow` to fill the entire desktop (without hiding the top panel showing the clock).

Here's an example of aligning a browser and a terminal side by side. Depending on the aspect ratio of your laptop, this can definitely work too, if you don't like the one-app-per-workspace regime: 

 ![two-way-tiling.png](https://manual.omakub.org/u/two-way-tiling-dOaMCs.png) 

## Advanced tiling with Tactile

On bigger screens, you'll likely want more than just two applications side by side. That's where Tactile comes in. It splits the screen into 6 different regions by default. A center with two large slots, and two wings, each with two smaller slots. You can place any window in any slot or span it across multiple slots. It's really simple and powerful.

To activate Tactile, press `Super + T`. You'll see the grid outlined:

 ![tactile-corner.png](https://manual.omakub.org/u/tactile-corner-RBAfyz.png) 

In that example, there's only one application, the Terminal, and it's assigned to the E slot. Let's expand it to fill both center slots using `Super + T W S`:

 ![tactile-center.png](https://manual.omakub.org/u/tactile-center-Uxqg33.png) 

And finally, here's an example using two terminals of varying height, and a browser in the center:

 ![tactile-multiple.png](https://manual.omakub.org/u/tactile-multiple-cTSxw9.png) 

## Moving windows manually

While you should get into the habit of moving most of your windows around with the keyboard most of the time, there are occasions where a little manual action is needed. For windows with a title bar, you just click and hold there to move. But for windows without one, like the Alacritty terminal, you can hold `Super` down, click and hold anywhere inside the window, and then move it with the mouse. (This also works on windows with title bars!). 

# Themes

Omakub is dressed in the Tokyo Night theme by default. It's a beautiful, moody blue'n'purple hued theme that goes great with some 80s synth wave music for those IN THE ZONE programming sessions. It's my favorite.

But sometimes you just need to shake things up a little. Maybe the weather is misty and grey, and it just doesn't feel much like a Tokyo Night kinda day. I recommend Everforest in that instance. Soothing, misty pale greens. Yep, that'll do the trick!

Or how about some light mode for a summery change? Rose Pine might just hit the spot. Imagine the breeze. The wine with some ice cubes. You could do it.

In total, there are seven carefully curated themes available in Omakub. Here's a look at all of them:

 ![tokyo-night.png](https://manual.omakub.org/u/tokyo-night-zhRPLb.png) 
_Tokyo Night_

 ![catppuccin.png](https://manual.omakub.org/u/catppuccin-WVj6CR.png) 
_Catppuccin_

 ![nord.png](https://manual.omakub.org/u/nord-0SBZXs.png) 
_Nord_

 ![everforest.png](https://manual.omakub.org/u/everforest-cKwMhV.png) 
_Everforest_

 ![gruvbox.png](https://manual.omakub.org/u/gruvbox-WuShPx.png) 
_Gruvbox_

 ![kanagawa.png](https://manual.omakub.org/u/kanagawa-5iSKIo.png) 
_Kanagawa_

 ![rosepine.png](https://manual.omakub.org/u/rosepine-ZCctXc.png) 
_Rose Pine_

 ![osaka-jade.png](https://learn.omacom.io/u/osaka-jade-j7mTMV.png) 
_Osaka Jade_

## Changing to a different theme

You can easily change between the seven themes by running the Omakub application. Pick Theme, then you'll see this selector:

![omakub-theme-selector.png](https://manual.omakub.org/u/omakub-theme-selector-gbJ8tW.png) 

After you select your theme in the terminal, it'll be applied immediately. It's now applied across Gnome, Alacritty, Zellij, Neovim, and VSCode. Pretty neat!

# Fonts

Omakub uses the beautiful [Cascadia Mono font](https://github.com/microsoft/cascadia-code) by default, but in a version that's been modified to include the Nerd Font symbols, which are used in the terminal, Neovim, and other TUIs (Terminal User Interfaces) to provide iconography.

But we also include three other options that can easily be configured for both terminal, Neovim, and even VSCode. Run the Omakub application, pick Font, and you'll be able to choose between Fira Mono, JetBrains Mono, and Meslo.

If none of these options suit your eye, checkout [the full Nerd Font selection](https://www.nerdfonts.com/font-downloads). There's also [GitHub's new Monaspace font](https://github.com/githubnext/monaspace) and, if you're a high roller, the $75 [Berkeley Mono](https://berkeleygraphics.com/typefaces/berkeley-mono/).

You can change the size of the font in the Omakub application under Font/Change size. This just affects the terminal and all the applications that run in it. VSCode, and other applications, have their own settings.

# Clipboard

Copy/paste is surprisingly complicated in Linux, if you're used to something like the Mac where everything uses the same clipboard and the same hotkeys everywhere. The complexity mainly comes from the fact that `Ctrl + C/V` does not work in the Linux terminal, since these keys are used for other purposes by various terminal applications. (And if you dive into Neovim, there's further complications!)

Anyway, for starters, know that in the terminal, you copy with `Shift + Ctrl + C` and paste with `Shift + Ctrl + V`. If you forget, you'll get a control character that you first have to delete before you can paste. It'll take a while to muscle memorize this change if you're not used to it!

To make matters worse, Zellij requires that you hold down `Shift` when you select a line in the terminal that you wish to copy to the system clipboard. And again, you have to press `Shift + Ctrl + C` to actually copy. And this mouse selection is even a bit finicky in terms of positioning. But you'll get the hang of it in no time. Don't worry.

# Filling out PDFs

Ubuntu ships with a nice, basic PDF viewer called Document Viewer. This is the program that'll open any PDFs you just double click on.

But you can only use Document Viewer to fill out PDFs that have been setup as forms. If you need to fill out PDFs that haven't, or you need to sign a PDF, you'll have to right-click the file, select _Open With..._, and pick Xournal++.

Xournal++ will let you write anywhere on a PDF using the T tool. If you need to sign a document, you'll need an image of your signature, and you can use the Image tool to insert this signature and resize it.

When you're done filling out the PDF, use _File > Export as PDF_ to save the final version.

# Hotkeys

The joy of Linux flows from the keyboard. Training yourself to navigate and command as much of the operating system through hotkeys is the path to mastery of your machine.

## Navigating

| Hotkey                  | Function              |
| ----------------------- | --------------------- |
| `Super + Space`           | Type app to launch    |
| `Super + A`               | See all apps          |
| `Super + W`               | Close app             |
| `Super + 1/2/3/4`         | Jump to workspace     |
| `Shift + Super + 1/2/3/4` | Move app to workspace |
| `Alt + 1/2/3/..`          | Jump to dock app      |
| `Ctrl + 1/2/3/..`         | Jump to browser tab   |

## Tiling

| Hotkey              | Function                    |
| ------------------- | --------------------------- |
| `F11`                 | Go full screen              |
| `Shift + F11`         | Go full screen w/ title bar |
| `Super + Left arrow`  | Fill left half              |
| `Super + Right arrow` | Fill right half             |
| `Super + Up arrow`    | Fill full screen            |
| `Super + T`           | Tiling overlay              |
| `Super + Shift + T`   | Tiling settings |
| `Super + T W S`       | Fill center vertical        |
| `Super + T Q A`       | Fill left vertical          |
| `Super + T E D`       | Fill right vertical         |
| `Super + T Q Q`       | Fill upper left             |
| `Super + T A A`       | Fill lower left             |

## Application windows

| Hotkey              | Function                    |
| ------------------- | --------------------------- |
| `Super + W`                 | Close window/application              |
| `Alt + Space`         | Reveal options (including Undecorate to remove title bar) |

## Terminal

| Hotkey              | Function                    |
| ------------------- | --------------------------- |
| `Ctrl + G P R`          | New vertical pane           |
| `Ctrl + G P D`          | New horizontal pane         |
| `Alt + Arrow`         | Navigate panes (and tabs)   |
| `Alt + =`             | Expand pane                 |
| `Alt + -`             | Shrink pane                 |
| `Ctrl + G T N`          | New tab                     |
| `Ctrl + G T R`          | Rename tab                  |
| `Ctrl + G O D`          | Suspend session             |
| `Ctrl + G O W`          | Resume a session             |
| `Ctrl + G S E`            | Edit scroll history |
| `Ctrl + R`            | Reveal command history      |

See the [Zellij manual](https://zellij.dev/documentation/keybinding-presets) to learn all the keybindings.

## File Manager

| Hotkey              | Function                       |
| ------------------- | ------------------------------ |
| `Ctrl + L`            | Go to path                     |
| `Space`               | Preview file (arrows navigate) |
| `Backspace`      | Go back one folder             |

## Apple Display Brightness Control

When the optional ASDControl is installed:

| Hotkey              | Function                       |
| ------------------- | ------------------------------ |
| `Ctrl + F1` | Turn down brightness |
| `Ctrl + F2` | Turn up brightness |
| `Ctrl + Shift + F2` | Turn up brightness to maximum |

## Neovim (w/ lazyvim)

### Navigation

| Hotkey                   | Function                        |
| ------------------------ | ------------------------------- |
| `Space`                    | Show command options            |
| `Space Space`              | Open file via fuzzy search      |
| `Space E`                  | Toggle sidebar                  |
| `Space G G`                | Show git controls               |
| `Space S G`                | Search file content             |
| `Ctrl + W W`               | Jump between sidebar and editor |
| `Ctrl + Left/right arrow`  | Change size of sidebar          |
| `Shift + H`                      | Go to left file tab             |
| `Shift + L`                      | Go to right file tab            |
| `Space B D`                | Close file tab                  |

### While in sidebar

| Hotkey                   | Function                        |
| ------------------------ | ------------------------------- |
| `A`                        | Add new file in parent dir      |
| `Shift + A`                | Add new subdir in parent dir    |
| `D`                        | Delete highlighted file/dir     |
| `M`                        | Move highlighted file/dir       |
| `R`                        | Rename highlighted file/dir     |
| `?`                        | Show help for all commands      |

[See all the Neovim hotkeys configured by LazyVim](https://www.lazyvim.org/keymaps).

## Quick Emojis

| Hotkey       | EM | Clue       |
| ------------ | -- | ---------- |
| `CapsLock M S` | 😄 | smile      |
| `CapsLock M C` | 😂 | cry        |
| `CapsLock M L` | 😍 | love       |
| `CapsLock M V` | ✌️ | victory    |
| `CapsLock M H` | ❤️ | heart      |
| `CapsLock M Y` | 👍 | yes        |
| `CapsLock M N` | 👎 | no         |
| `CapsLock M F` | 🖕 | fuck       |
| `CapsLock M W` | 🤞 | wish       |
| `CapsLock M R` | 🤘 | rock       |
| `CapsLock M K` | 😘 | kiss       |
| `CapsLock M E` | 🙄 | eyeroll    |
| `CapsLock M P` | 🙏 | pray |
| `CapsLock M D` | 🤤 | drool      |
| `CapsLock M M` | 💰 | money      |
| `CapsLock M X` | 🎉 | xellebrate |
| `CapsLock M 1` | 💯 | 100%       |
| `CapsLock M T` | 🥂 | toast      |
| `CapsLock M O` |👌 | ok |
| `CapsLock M G` |👋 | greeting |
| `CapsLock M A` |💪 | arm |
| `CapsLock M B` |🤯 | blowing |

The Applications

# Terminal

Omakub's default terminal is called Alacritty. It's GPU-accelerated, so it's really fast, and it's highly configurable. Inside this terminal, we run Zellij, which is what's called a "terminal multiplexer". That's a fancy word for a tool that gives you panes, tabs, and persistent sessions inside your terminal.

 ![zellij.png](https://manual.omakub.org/u/zellij-Ju8nLc.png) 

## Alacritty

You can change the font and size using the `Omakub` application or by editing `~/.config/alacritty/alacritty.toml`. But leave the referenced imports in place, if you want Omakub to be able to theme Alacritty together with the rest of the system.

If you want to further tweak the terminal, see the [Alacritty configuration documentation](https://alacritty.org/config-alacritty.html).

Note: [Alacritty](https://alacritty.org/) is configured without Gnome decoration, that is, without the normal system title bar. That makes it look a lot better, especially when color-coordinated with the beautiful themes in Omakub. But it also means you don't have the standard handle to drag the window around with. Instead, hold down super, then click and drag anywhere in the window. To resize, press `Super + Backspace`, and you can resize the window with the mouse.

## Zellij

You create a new tab in Zellij using `Ctrl + G T N`. This tab can be renamed using `Ctrl + G T R`. You move between tabs (and panes) with `Alt + Arrows`.

Tabs can have multiple panes, splitting it into vertical and horizontal chunks. Press `Ctrl + G P R` to create a new pane on the right side of the tab. Press `Ctrl + G P D` to create one on the bottom of the tab. Again, use `Alt + Arrows` to move between these panes.

You can even create a floating pane with `Ctrl + G P W`. This is especially nice when you just need to run a quick command without losing your place. Hide the floating pane by pressing `Ctrl + G P W` again.

When you have a nicely running Zellij session with multiple tabs and panes, it's helpful to save this as a session you can return to later. Press `Ctrl + G O D` to save and quit the current session. When you open the terminal again, press `Ctrl + G O W` to see the list of sessions, and press enter to revive the one you want.

When learning Zellij, it can be nice to see the command hints at the bottom of the screen. Edit `~/.config/zellij/config.kdl` and remove the line that sets the default_layout to "compact". Then you'll see this at the bottom of the terminal:

See the [Zellij documentation](https://zellij.dev/documentation/) for more details.

## Scrolling

You can scroll back in the terminal history using your mouse scroll wheel or trackpad as you expect. But if you want to search or copy or manipulate the history, you can press `Ctrl + S E` to enter "scroll edit mode", which takes you inside your editor to see the history. By default, this happens in Neovim. Remember it's `:q` to quit!

# Neovim

[Neovim](https://neovim.io/) is a modern implementation of [the vi editor](<https://en.wikipedia.org/wiki/Vi_(text_editor)>) created by Bill Joy all the way back in 1976. It's a modal editor where insert mode and command mode are separated, and it's a bit of a superpower once you learn even just a subset of the incredibly deep key command set. But it's also quite the learning curve!

If you're totally new to vim-style editing, I recommend you checkout [ThePrimeagen's Vim As Your Editor series](https://www.youtube.com/watch?v=X6AR2RMB5tE&list=PLm323Lc7iSW_wuxqmKx_xxNtJC_hJbQ7R) on YouTube. That'll teach you the basics. Just know that unlike more similar mainstream editors, it's going to take you longer to get basic proficiency with vim. But once you do, the payoff is also larger.

Now Neovim is basically infinitely configurable. If you really want to go nuts, you can create your own Neovim configuration from scratch. There's a great course from [Typecraft on setting up Neovim from scratch](https://www.youtube.com/watch?v=zHTeCSVAFNY). And [ThePrimegean has one as well](https://www.youtube.com/watch?v=w7i4amO_zaE).

But Omakub ships with a complete Neovim setup that's been lovingly tuned to showcase the best of what's possible out of the box. Without you having to write a single line of configuration! It's called [LazyVim](https://www.lazyvim.org/), and it's a distribution of Neovim plugins and configurations. It's awesome.

## LazyVim Basics

As mentioned, I'm not going to teach you vim in this short introduction, but I can show you a few basics of LazyVim, and how to get around.

First, Neovim has the idea of the leader key. That's basically the gateway to all the commands. LazyVim has set that to `Space`. So just press that, wait a second, and you'll see a bunch of options explained inline like this:

Here are some basic commands I use all the time:

- `Space Space` - Fuzzy-find any file in the current directory.
- `Space S G` - Search all files using grep with a preview.
- `Space E` - Toggle the file tree on/off.
- `Ctrl + W W` - Hop from the file tree to the editor and back.
- `Shift + H` - Move left between the open tabs (vim calls them buffers).
- `Shift + L` - Move right between the open tabs.
- `Space B D` - Close a tab.
- `Space B O` - Close all other tabs but the current.
- `Space G G` - Launch LazyGit in a floating pane from the current directory.
- `Space U W` - Toggle soft wrap.

While you're in the file tree (`Space E` to reveal, `Ctrl + W W` to hop over there), you can add a new file with `a` or a new directory with `A`. Press `?` while in the tree to see all commands.

If you want to pickup the basic vim language, I've written about [the three-part syntax](https://world.hey.com/dhh/wonderful-vi-a1d034d3) and how to pull off those sick combo moves!

You can see all the possible commands on [the LazyVim Keymaps page](https://www.lazyvim.org/keymaps).

## Starting Neovim

You can start Neovim using the application shortcut in the dock, like you would any editor, but it's usually easier to drive it from the terminal by navigating to the directory you wish to work in and typing `n .`. The `n` is the alias for `nvim` and `.` is the present directory.

# Shell Tools

## fzf

[fzf](https://junegunn.github.io/fzf/) gives you fuzzy finding of files via the `ff` alias. Go to any directory, type `ff`, and you'll be able to fuzzy find your way to any file in that tree, while seeing a preview of the files you're narrowing down on the right-hand side.

You can use `Ctrl + R` to use fzf to fuzzy find through your command history.

You can use `**<tab>` to fuzzy find file arguments to any command, like `n **<tab>`, to select files to open in Neovim. When you're in that mode, press tab in front of every file you want to add to the set of files to open.

This tool is also used by Neovim when you type `Space Space`.

 ![fzf.png](https://manual.omakub.org/u/fzf-wxaGu5.png) 

## Zoxide

[Zoxide](https://github.com/ajeetdsouza/zoxide) is a replacement for cd. It remembers the directories you've been in, so you can more easily jump to them next time. Say you do `cd ~/.local/share/omakub` once. Next time, you can just do `cd omakub`, and Zoxide will take you directly there.

## ripgrep

[ripgrep](https://github.com/BurntSushi/ripgrep) searches the contents of files by using `rg <pattern> <path>`, like `rg Controller app/` to find all mentions of `Controller` in the directory app.

This tool is also used by Neovim when you type `Space S G`.

 ![ripgrip.png](https://manual.omakub.org/u/ripgrip-us3qcN.png) 

## eza

[eza](https://eza.rocks/) is a replacement for ls. It gives you directory listings with more information, color, and icons. By default, eza has been aliased as ls. You can also use `lt` to get a listing of two-deep levels of nesting. `lsa` gives you a listing including hidden files. And `lta` a nested listing with hidden files.

## fd

[fd](https://github.com/sharkdp/fd) is an easier to use replacement for `find`. Use `fd person.rb` to find a file called `person.rb` within the current tree. `fd person.rb /` will search the entire file system. `fd person.rb / -H` searches the entire file system, including hidden directories.

# Shell Functions

Omakub comes with a set of shell functions to simplify common tasks and encapsulate convoluted parameter calls.

- `compress [file.tar.gz]` / `decompress [file.tar.gz]`: Create or expand a tar.gz file.
- `webm2mp4 [movie.webm]`: Turn the .webm movie recordings produced by Gnome's screen recording tool into a mp4 file that's easier to share online using ffmpeg.
- `iso2sd [image.iso] [/path/to/sdcard]`: Create a bootable drive on an SD card using the referenced iso file.
- `web2app [Name] [URL] [URL to PNG icon]`: Create a .desktop file for a web app that can then be started with Ulauncher easily.
- `web2app-remove [Name]`: Remove the .desktop file you've previously created for a web app.
- `app2folder [app.desktop] [folder name]`: Move an app to a named folder.
- `app2folder-remove [app.desktop] [folder name]`: Remove an app to a named folder.
- `fix_fkeys`: Use F-keys instead of built-in functions for keyboards like the Lofree Flow84.
- `fix_spotify_window_size`: The default Spotify window is too big to fit nicely on a lot of screens in a multi-window layout. Shrink it down a tad to better fit. (Note: Must be rerun whenever Spotify is updated).

# TUIs

## Lazygit

[Lazygit](https://github.com/jesseduffield/lazygit) is a delightful alternative to something like the GitHub Desktop application, and it runs inside the terminal. 

You can run it directly, by going to any directory managed by git and running `lzg`. Or you can run it inside Neovim where it can be started with `Space G G`.

You hop between the different panes using `Tab`. In the Files pane, you select files for staging using `Space`, and then you can create a new commit using `c`. You can see all the commands available using `?`.

 ![lazygit.png](https://manual.omakub.org/u/lazygit-r1sdzd.png) 

## Lazydocker

[Lazydocker](https://github.com/jesseduffield/lazydocker) is made in the same spirit like Lazygit, and also gives you a terminal interface for managing your containers and images. 

You can start it yourself in the terminal using `lzd` or you can use the Docker application that Omakub creates in the dock for it.

You stop a container using `s` or start/restart it using `r`. See all commands using `?`.

 ![lazydocker.png](https://manual.omakub.org/u/lazydocker-RfTdXd.png) 

## Btop

[Btop](https://github.com/aristocratos/btop) is a beautiful resource manager that shows memory, CPU, disk, and network usage. It also lists all active processes, and allows you to manage them.

Omakub has added a dock app for it called Activity, which you can start from the dock or via Ulauncher. You can also start it in your own terminal by running `btop`.

 ![btop.png](https://manual.omakub.org/u/btop-sDEnIw.png) 

## Fastfetch

[Fastfetch](https://github.com/fastfetch-cli/fastfetch) shows system information, like kernel version, uptime, theme, CPU, memory, and more. It's a successor to the popular neofetch tool.

Omakub has packaged this as the About application, which you can find on the app grid (`Super + A`) or via Ulauncher.

 ![fastfetch.png](https://manual.omakub.org/u/fastfetch-5vryLS.png) 

## Ollama

[Ollama](https://ollama.com/) lets you run large language models, like Meta's Llama3, locally. Once installed, you can run `ollama run llama3` in a terminal to start a conversation with the llama3 model. It also supports Mistral and other models. And it'll automatically install GPU drivers for Nvidia or AMD graphics cards. 

 ![ollama.png](https://manual.omakub.org/u/ollama-EoteQO.png) 

# GUIs

## Obsidian

[Obsidian](https://obsidian.md/) is a free and highly extensible note taking application that uses simple Markdown files for storage.

It offers a [commercial add-on for syncing](https://obsidian.md/sync) with mobile apps on iOS and Android, but if you don't need that, it's free for personal use (and [$50/year for commercial use](https://obsidian.md/pricing)).

 ![obsidian.png](https://manual.omakub.org/u/obsidian-5rz6wn.png) 

## Pinta

[Pinta](https://www.pinta-project.com/) is a basic image editing tool that's great for cropping, resizing, and other basic manipulations. Just don't expect a Photoshop alternative. But it's still got a Magic Wand and layers!

 ![pinta.png](https://manual.omakub.org/u/pinta-Uk2VRB.png) 

## LibreOffice

[LibreOffice](https://www.libreoffice.org/) is a complete office package with word processor, spreadsheet, presentations, drawing application, and more. It's compatible with files from Microsoft Office, so this is a great way to be able to open those Word documents.

![omakub-libreoffice-document.png](https://manual.omakub.org/u/omakub-libreoffice-document-PYmfzQ.png) 

## LocalSend

[LocalSend](https://localsend.org/) lets you send files to other devices on the same network running the app, like Apple's AirDrop. It's cross-platform, though, so you can send files to and from Windows, macOS, Android, iOS, and of course Linux.

 ![localsend.png](https://manual.omakub.org/u/localsend-0dVapJ.png) 

## Signal

[Signal](https://signal.org/) is the pioneer of E2E encrypted messaging, and a great communication option for anyone who'd prefer not to go through one of the big tech conglomerates.

## Flameshot

Gnome's built-in screenshot tool is fine. You trigger it on `Print Screen` button by default (but you can change this in Settings > Keyboard > View and Customize Shortcuts > Screenshots, if your keyboard doesn't have a Print Screen button). But it doesn't have a lot of tools for manipulating those screenshots.

Flameshoot does. It has arrows, pixelation, and a bunch of other manipulations. By default, Omakub has it mapped to `Ctrl + Print Screen`.

## VLC

[VLC](https://www.videolan.org/) is a media player that'll play almost anything from any source. Great for watching videos or even converting them. 

 
--- 

## Optional

These optional GUI applications can be installed by launching the Omakub app and hitting Install.

### Audacity

[Audacity](https://www.audacityteam.org/) is for recording and editing audio. Whether you're making music or a podcast, Audacity has all the tools for making it sound great.

### ASDControl

[ASDControl](https://github.com/nikosdion/asdcontrol) let's you control the brightness of Apple Studio and XDR displays using `Ctrl+F1` for down and `Ctrl+F2` for up.

### Brave

[Brave](https://brave.com/) is a privacy-focused browser built on the Chromium rendering engine. It ships with a host of built-in ad blockers. Good alternative if you don't want to run Chrome.

### Cursor

[Cursor](https://www.cursor.com/) is a popular AI-enhanced code editor based on VSCode.

### Doom Emacs

[Doom Emacs](https://github.com/doomemacs/doomemacs) is a modern incarnation of the classical Emacs editor.

### Mainline Kernels

Mainline Kernels allows you to easily install and use the latest Linux kernel ahead of its inclusion in Ubuntu. This can be particularly helpful when using the latest hardware where driver support might only be available in the latest kernel.

### OBS Studio

[OBS Studio](https://obsproject.com/) lets you record or stream video from multiple inputs. You can mix a screencast with a webcam with a microphone input. It's what was used to record the Omakub screencasts.

### Ollama

[Ollama](https://ollama.com/) allows you to easily run the latest LLMs on your local hardware.

### Retroarch

[RetroArch](https://www.retroarch.com/) let's you play all the classic arcade and home console games. You'll have to find the ROMs yourself, but RetroArch is the engine to play them.

### Zed

[Zed](https://zed.dev/) is an editor focused on collaborative workflows and AI integration.

### Windsurf

[WindSurf](https://windsurf.com/) is another powerful AI editor based on VSCode that's owned by OpenAI.

# Commercial GUIs

Omakub is mostly focused on providing free, open source software, but it's not religious about it. Sometimes the best solution is a commercial offering, and that's just fine. Here are some of the options we provide an easy installation for.

## 1Password

Keeping your passwords in a password manager is a best practice. Doubly so if you're working with a team. And [1password](https://1password.com/) is a great solution, which also comes with a command line tool for integrating key lookups in scripts.

## Typora

[Typora](https://typora.io/) is a minimal, distraction-free writing tool in the same spirit as iA Writer for the Mac and Windows. Like Obsidian, it uses Markdown for formatting, but in a way that's focused on writing individual pieces or essays and very little else.

Best used in full screen mode (F11) for that totally immersive nothing-but-words look.

It comes with a 15-day free trial, and is then a $15 one-time cost.

---

## Optional

### Dropbox

[Dropbox](https://www.dropbox.com/) is a great way to sync files between machines while keeping a backup in the cloud.

### Spotify

[Spotify](https://spotify.com/) is the world's most popular streaming music service. And the Linux application provides everything you'd expect, including offline playing.

### Steam

[Steam](https://store.steampowered.com/) is the most popular PC gaming store, and thanks to Valve's investment in Linux through the Steam Deck, a ton of great games run perfectly on the platform. This is an optional installation.

### RubyMine

[RubyMine](https://www.jetbrains.com/ruby/) is a dedicated Ruby IDE built by JetBrains.

### Zoom

[Zoom](https://zoom.us/) is the most popular video chat system used in the US. Great connections across the world. And 40-minute meetings can be held without a paying account.

# Development Tools

## Mise

[Mise](https://mise.jdx.dev/) lets you install and run multiple versions of a programming language on the same machine. It's like rbenv or rvm for Ruby or virtualenv for Python, but it works for a bunch of different environments.

To install, say, Ruby 3.3, you'd run `mise install ruby@3.3`. Or, if your project has a .ruby-version file, you can just run `mise i` in the root of that project.

Mise works for Ruby, Python, Go, Java, Elixir, Node.js.

If you need to install PHP or Rust, you can do so via the Omakub command, which also runs as a front-end for mise, via the Install > Dev Language menu.

## GitHub CLI

[The GitHub CLI](https://cli.github.com/) let's you authenticate with your GitHub account and clone private repositories using it. To authenticate, run `gh auth login`. Then you can checkout private repositories using `gh repo clone org/repo`.

You can also perform a bunch of other GitHub operations using this command. Just run `gh` to see everything that's possible.

## Docker

[Docker](https://www.docker.com/) hardly needs any introduction. It allows you to run isolated containers, and Omakub installs everything needed to run it well. This includes Docker itself, [Docker Compose](https://docs.docker.com/compose/), and the user group changes needed for you to run Docker as the normal user and not as root.

Remember to checkout the Lazydocker command to manage your containers in a cool TUI.

## VirtualBox

[VirtualBox](https://www.virtualbox.org/) lets you run virtual machines for Linux or Windows. It's great for testing out new distros or software that requires a clean installation. It's what we use to verify Omakub for release!

It's not installed by default, but run Omakub, pick Install, and then VirtualBox to add it.

## VSCode

[VSCode](https://code.visualstudio.com/) is perhaps the most popular IDE in use today. And in Omakub, it's synced with the theme changes, just like Neovim.

# Web Apps

These web apps live in `~/.local/share/applications`. They're just `.desktop` text files. You can make your own or remove the default ones by cloning or deleting these files.

## WhatsApp

[WhatsApp](https://www.whatsapp.com/) is one of the most popular messaging services in the world, and the web version is a great option for Linux.

## HEY

[HEY](https://www.hey.com/) is an email and calendar service that serves as a great alternative to people tired of Gmail, Outlook, or Apple Mail. It's made by [37signals](https://37signals.com/) where Omakub originated.

## Basecamp

[Basecamp](https://basecamp.com/) is a project management service that helps small teams move faster and make more progress. Instead of patching together a mishmash of Trello, Slack, Asana, Notion, or whatever, you can have it all in one place with Basecamp. It's made by [37signals](https://37signals.com/) where Omakub originated.

## Add more...

You can easily add new web apps using the `web2app` terminal command by passing a name, url, and link to an icon. 

Example:
`web2app 'Google Photos' https://photos.google.com https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/google-photos.png`

That'll download the icon straight from [Dashboard Icons](https://dashboardicons.com) and create the new web app, which you as always can launch with `Super + Space` and writing `Google Photos` or find under the `Web Apps` application folder.

There's a handful of web apps that I often use available for easy install using the Omakub application, then Install > Web Apps, and you can select from there. It just calls `web2app` under the hood.

If you wish to remove a web app, you can use `web2app-remove NAME`.

The Rest

# Updating

Omakub itself can be updated using the `Omakub` application. Just start it up, select Update, and pick Omakub. That'll pull the latest files from git, and run any migrations that might be needed to bring the system up to the most current state.

 ![omakub-update.png](https://manual.omakub.org/u/omakub-update-THOppD.png) 

From the Update menu, you can also update the applications that have to be installed manually, and thus aren't updated automatically through Ubuntu's own package managing system. By running the update, you'll simply download the latest version, and overwrite whatever version you have installed.