We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
2025 / 12 / 05
Omarchy tweaks
Just some little tweaks here and there
After installing Omarchy I usually do:
Configs
DNS
Setup -> DNS -> Cloudflare
Consult your DNS setup with:
resolvectl status
.bashrc
Add to ~/.bashrc:
# CUSTOM
alias la="ls -lahF"
export PATH=~/bin:$PATH
export ERL_AFLAGS="-kernel shell_history enabled"
waybar
I change these defaults in ~/.config/waybar/config.jsonc:
{
// ...
"persistent-workspaces": {
"1": [],
"2": [],
"3": [],
"4": [],
"5": [],
"6": [],
"7": [],
"8": [],
"9": [],
"10": []
},
// ...
"clock": {
"interval": 1,
"format": "☀️ {:L%A W.%V 📅 %Y / %m / %d 🕑 %H:%M:%S}",
// ...
},
// ...
"network": {
// ...
"format-wifi": "{icon} {ipaddr} ({ifname})",
"format-ethernet": " {ipaddr} ({ifname})",
// ...
}
}
To immediately see your changes:
killall waybar && waybar &
Enable fstrim for your encrypted SSD
If you see a fstrim: /: the discard operation is not supported when running:
sudo fstrim / -v
Update your /etc/default/limine file and add :allow-discards just after some-id:root,
like this:
KERNEL_CMDLINE[default]="cryptdevice=PARTUUID=some-large-uuid:root:allow-discards ...
After updating the limine file you should run:
sudo limine-update
Enable it with:
sudo systemctl enable --now fstrim.timer
Restart your system now.
Software
Update system
omarchy-update
Code editor
Zed
Install -> Editor -> Zed
If you have an AMD graphics card, you might need:
sudo pacman -S vulkan-radeon
Extensions:
- Catppuccin
- Catppuccin Icons
- Dockerfile
- Elixir
- Emmet
- Git Firefly
- HTML
- SQL
- Vue
- Zig
My ~/.config/zed/settings.json:
{
"autosave": "on_window_change",
"buffer_font_size": 14,
"buffer_line_height": "comfortable",
"cursor_blink": true,
"cursor_shape": "bar",
"file_types": {
"HTML": ["*.svg"],
},
"icon_theme": "Catppuccin Mocha",
"indent_guides": {
"coloring": "indent_aware",
},
"languages": {
"CSS": {
"language_servers": [
"tailwindcss-intellisense-css",
"!vscode-css-language-server",
"...",
],
},
"Elixir": {
"language_servers": [
"expert",
"!elixir-ls",
"!next-ls",
"!lexical",
"...",
],
},
"HEEX": {
"language_servers": [
"expert",
"!elixir-ls",
"!next-ls",
"!lexical",
"...",
],
},
},
"prettier": {
// "plugins": ["prettier-plugin-tailwindcss"],
"semi": false,
"singleQuote": false,
},
// "lsp": {
// "vscode-css-language-server": {
// "settings": {
// "css": {
// "lint": {
// "unknownAtRules": "ignore",
// },
// },
// },
// },
// },
"show_whitespaces": "all",
"soft_wrap": "editor_width",
"ui_font_size": 15,
"tab_size": 2,
"tabs": {
"file_icons": true,
},
"theme": {
"mode": "dark",
"light": "Catppuccin Latte",
"dark": "Catppuccin Mocha",
},
}
Desktop apps
This is the list of software I usually require at one point or another:
# sudo pacman -S nethogs transmission-gtk nmap \
sudo pacman -S transmission-gtk nmap \
darktable gimp inkscape krita godot \
blender calibre obs-studio shotcut \
colordiff python-gobject python-xdg yt-dlp \
qgis python-gdal python-owslib python-psycopg2 python-pygments \
ansible inotify-tools jq \
simple-scan screen audacity base-devel \
libvips openslide firefox
And these I don’t use:
sudo pacman -Rns opencode 1password-cli 1password-beta
Install erlang, elixir, node with mise
To list which languages are currently installed:
mise ls
Let’s install erlang:
mise ls-remote erlang
# pick a version you want, for example:
mise use erlang@28.3.1 --global
Let’s install elixir:
mise ls-remote elixir
# pick a version you want, for example:
mise use elixir@1.19.5-otp-28 --global
mix local.hex
mix local.rebar
mix archive.install hex phx_new
mix archive.install hex nerves_bootstrap
Let’s install node:
mise ls-remote node
# pick a version you want, for example:
mise use node@25.3.0 --global
npm i -g npm
npm i -g pnpm
Let’s install bun:
mise ls-remote bun
# pick a version you want, for example:
mise use bun@1.3.6 --global
Let’s install go:
mise ls-remote go
# pick a version you want, for example:
mise use go@1.25.6 --global
Install PostgreSQL
sudo pacman -S postgresql postgresql-libs postgis
sudo -i -u postgres
initdb --locale $LANG -E UTF8 -D '/var/lib/postgres/data/'
exit
To run the server on computer start:
sudo systemctl enable --now postgresql.service
Misc
AI tools
OpenCode
Let’s install OpenCode with bun:
bun install -g opencode-ai@latest
Then add the global bin folder to $PATH in ~/.bashrc:
export PATH="~/.cache/.bun/bin:$PATH"
Tweak the default config in ~/.config/opencode/opencode.json
so it doesn’t auto-update, and add a couple of useful MCPs:
{
// ...
"autoupdate": "notify",
"mcp": {
"chrome-devtools": {
"type": "local",
"command": ["npx", "chrome-devtools-mcp@latest", "--executablePath=/usr/bin/chromium", "--isolated=true"],
"enabled": false
},
"context7": {
"type": "local",
"command": ["npx", "-y", "@upstash/context7-mcp@latest"]
},
"playwright": {
"type": "local",
"command": ["npx", "@playwright/mcp@latest", "--executable-path=/usr/bin/chromium"],
"enabled": false
}
}
}
Fabric
Let’s install Fabric:
# Install Fabric directly from the repo
go install github.com/danielmiessler/fabric/cmd/fabric@latest
# Run the setup to set up your directories and keys
fabric --setup
GPU related
For Nvidia:
sudo pacman -S nvtop nvidia-utils
For AMD:
sudo pacman -S vulkan-radeon
ufw
If you’d like to quickly reset UFW rules:
sudo ufw reset
sudo ufw enable
Idle (desktop)
Default values in ~/.config/hypr/hypridle.conf seem too short for a desktop:
listener {
timeout = 1800 # 30 min
on-timeout = pidof hyprlock || omarchy-launch-screensaver # start screensaver (if we haven't locked already)
}
listener {
timeout = 3600 # 1 hr
on-timeout = loginctl lock-session # lock screen when timeout has passed
}
listener {
timeout = 5400 # 1.5 hr
on-timeout = hyprctl dispatch dpms off # screen off when timeout has passed
on-resume = hyprctl dispatch dpms on && brightnessctl -r # screen on when activity is detected
}
Two monitors (desktop)
Check the monitors attached to your computer with:
hyprctl monitors
For my two monitor setup in ~/.config/hypr/monitors.conf:
# ...
# Comment everything above this...
# CUSTOM
monitor=HDMI-A-2,3840x2160@60,0x0,1.5
monitor=HDMI-A-1,3840x2160@60,2560x-720,1.5,transform,3
workspace=1,monitor:HDMI-A-2
workspace=2,monitor:HDMI-A-2
workspace=3,monitor:HDMI-A-2
workspace=4,monitor:HDMI-A-2
workspace=5,monitor:HDMI-A-2
workspace=6,monitor:HDMI-A-1
workspace=7,monitor:HDMI-A-1
workspace=8,monitor:HDMI-A-1
workspace=9,monitor:HDMI-A-1
workspace=10,monitor:HDMI-A-1
Fonts
To add more fonts to your system, drop them in: ~/.local/share/fonts.
Laptop
Let’s upgrade our touchpad functionality a bit.
In ~/.config/hypr/input.conf:
gesture = 3, horizontal, workspace
gesture = 3, up, fullscreen
gestures {
workspace_swipe_invert = false
}