Skip to content

Development Environment

This page documents Naomi’s local development environment. The information here is provided to allow contributors to mirror the environment as closely as possible, ensuring the smoothest developer experience.

1. System Information

Naomi’s local environment runs on the Arch Linux kernel.

1.1. hyfetch

This is the current diagnostic report from hyfetch.

Expand Information
Terminal window
naomi@technomancer
------------------
OS: Arch Linux x86_64
├─Kernel: 6.12.10-arch1-1
├─Locale: en_GB.UTF-8
├─Shell: /usr/bin/zsh 5.9
├─Terminal: ghostty
Host: MS-7B86 4.0
├─CPU: AMD Ryzen 5 3600X (12) @ 3.8GHz [72.8°on]
├─GPU: NVIDIA GeForce GTX 1070 Ti
├───GPU Driver: NVIDIA 565.77
├─Disk: /home: 350G/412G (90%)
├───Root: /: 43G/45G (99%)
├───Boot: /boot: 402M/1022M (40%)
└─Memory: 16.18GiB / 31.29GiB (51%)
Programming Languages
---------------------
Bash: 5.2.37
Clang: 19.1.7
C++: 14.2.1
Dart: 3.6.1
└─Flutter: 3.27.2
Dotnet: 8.0.111
└─C-sharp Compiler: 3.9.0-6.21124.20
Go: 1.23.5
Haskell: 9.2.8
└─Cabal: 3.6.2
Java: 17.0.13
├─Gradle
└─Kotlin: 2.1.0-release
Lua: 5.4.7
PHP: 8.3.15
Python: 3.13.1
└─PIP: 24.3.1
Node: v23.4.0
├─NPM: 11.0.0
├─Yarn: 1.22.22
└─PNPM: 10.0.0
Ruby: 3.3.5
Rust: 1.80.1
├─Rustup: 1.27.1
└─Cargo: 1.80.1
TypeScript: 5.7.3
Zig: 0.13.0
Databases
---------
MongoDB: 7.0.15
└─Mongo Shell: 7.0.15
MySQL: 9.0.1
PostgreSQL: 17.2
Tools
-----
Browser: Zen
Editor: VSCodium 1.96.4
├─Emacs: 29.4
└─Nano: 8.3

2. Packages

Naomi uses the following packages.

2.1. Foreign Packages

These packages come from unofficial repositories, such as the AUR. This list is generated with yay -Qm.

Expand List
1password-cli 2.30.3-1
amor 15.08.3-11
amor-debug 15.08.3-11
apg 2.2.3-5
asciiquarium-transparent-git r24.cfe288e-1
aws-cli-v2-bin 2:2.22.15-1
cbonsai 1.3.1-3
ccze 0.2.1-13
chafa-git 1.14.5.r112.g9aa862e-1
crowdin-cli 4.5.1-1
dependency-check-cli 11.1.0-1
dreamweb 1.1-1
electron25-bin 25.9.8-3
electron29 1:29.4.6-2
espanso-gui 24.7-1
espanso-wayland 2.2.1-4
faudio 25.01-1
faudio-debug 25.01-1
flyctl 0.3.65-1
flyctl-debug 0.3.65-1
ghostty-git 1.0.1.r418.g5081e65-1
ghostty-git-debug 1.0.1.r418.g5081e65-1
google-chat-linux 5.29.23_1-5
gpu-usage-waybar-git 0.1.12.r17.g61ebe61-1
grimshot 1.10-1
gwenview-no-purpose 24.12.1-1
gwenview-no-purpose-debug 24.12.1-1
hollywood 1.21-7
hyprshade 3.2.1-1
insomnium 0.2.3_a-8
libelectron 2024.30-1
libretro-beetle-psx-git 2747.80d3eba2-1
libretro-beetle-psx-git-debug 2747.80d3eba2-1
libscanmem-git 0.17.1103.0def8b2-1
lrexlib-pcre5.1 2.9.0-2
lua-yajl 2.0-2
lua51-lcf 5.1-3
lua51-sql-sqlite 2.3.0-4
luazip5.1 1.2.7-1
mommy 1.5.1-1
mongodb-tools-bin 100.10.0-3
mongosh-bin 2.3.8-1
mongosh-bin-debug 2.3.8-1
neverwinter.nim-bin 2.0.1-1
notepad++ 8.7.4-1
noto-fonts-emoji-flags 20200120-1
obs-retro-effects 1.0.0-1
obs-retro-effects-debug 1.0.0-1
otf-compagnon 1.000-1
pipes.sh 1.3.0-1
play.it-git 2.29.1.r1.g03ba243f-1
proton-mail-bin 1.6.1-1
redact-bin 0.18.0-1
renovate-git-debug 39.83.2.r0.g68c05cf-1
roam 144.0.0.beta001-1
shellspec 0.28.1-3
snyk 1.1294.3-1
sonar-scanner 6.2.1.4610-1
speedometer 2.9-2
vercel 39.2.2-1
vercel-debug 39.2.2-1
wofi-emoji 1.2-3
wxhexeditor 0.24-4

2.2. Explicit Installations

These are all of the packages Naomi has specifically installed. This list is generated with yay -Qe.

Expand List
1password 8.10.54-22.4
1password-cli 2.30.3-1
7zip 24.09-3
act 0.2.71-1
alacarte 1:3.54.1-1
alacritty 0.15.0-1
alsa-utils 1.2.13-2
amd-ucode 20250109.7673dffd-1
amor 15.08.3-11
anime-games-launcher-bin 1.0.2-1
appimagelauncher 2.2.0-8.7
asciiquarium-transparent-git r24.cfe288e-1
aspell 0.60.8.1-2
aws-cli-v2-bin 2:2.22.15-1
baobab 47.0-1
base 3-2
base-devel 1-2
bind 9.20.4-2
brave-bin 1:1.74.48-1
btop 1.4.0-4
cabal-install 3.6.2.0-50
calc 2.15.1.0-1
cbonsai 1.3.1-3
ccls 0.20241108-1
chafa-git 1.14.5.r112.g9aa862e-1
chaotic-keyring 20230616-1
chaotic-mirrorlist 20240724-2
cheese 44.1-3
cinny-desktop 4.2.3-1.3
cliphist 1:0.6.1-1
cloc 2.02-1
cloudflared 2025.1.0-1
cmake 3.31.4-1
cmatrix 2.0-3
crowdin-cli 4.5.1-1
dependency-check-cli 11.1.0-1
discord 0.0.80-1
dkms 3.1.4-1
docker 1:27.3.1-1
doctl 1.120.2-1
dolphin 24.12.1-1
dosbox-x 2025.01.01-1.1
dosfstools 4.2-5
dotnet-sdk 8.0.11.sdk111-1
downgrade 11.4.3-1
dreamweb 1.1-1
duckstation 0.1.7465-1.4
dunst 1.12.1-1
efibootmgr 18-3
emacs 29.4-3
espanso-gui 24.7-1
espanso-wayland 2.2.1-4
eza 0.20.15-1
firefox 134.0.1-1
flameshot 12.1.0-5
fluffychat 1.23.0-2.1
flyctl 0.3.65-1
freetube 0.22.1-1
gameconqueror 0.17-10
ghc 9.2.8-1
ghostty-git 1.0.1.r418.g5081e65-1
gimp 2.10.38-5
git 2.48.1-1
github-cli 2.65.0-1
gitleaks 8.23.1-1
gnome-clocks 47.0-1
gnome-keyring 1:46.2-1
gnu-netcat 0.7.1-10
google-chat-linux 5.29.23_1-5
gpu-usage-waybar-git 0.1.12.r17.g61ebe61-1
gradle 8.12-1
grim 1.4.1-2
grimshot 1.10-1
grype-bin 0.86.1-1
gst-plugin-pipewire 1:1.2.7-1
gwenview-no-purpose 24.12.1-1
hexchat 2.16.2-4
hexedit 1.6-2
hollywood 1.21-7
htop 3.3.0-3
hyfetch 1.99.0-2
hypridle 0.1.5-2
hyprland 0.46.2-7
hyprlock 0.6.1-1
hyprpaper 0.7.3-4
hyprshade 3.2.1-1
hyprshot 1.3.0-2
icoutils 0.32.3-3
inetutils 2.5-1
innoextract 1.9-11
insomnium 0.2.3_a-8
iwd 3.3-1
kitty 0.39.0-1
kotlin 2.1.0-1
lazygit 0.45.2-1
lib32-gnutls 3.8.8-1
lib32-libpulse 17.0+r43+g3e2bb8a1e-1
lib32-openal 1.24.2-1
libgnome-keyring 1:3.12.0+r14+g23438cc-1
libpulse 17.0+r43+g3e2bb8a1e-1
libqalculate 5.5.0-1
libredefender 0.7.0-2
libreoffice-fresh 24.8.4-2
libretro-beetle-psx-git 2747.80d3eba2-1
libretro-core-info 1.19.0-1
libretro-genesis-plus-gx 2199-1
libretro-mesen 2903-3
libretro-mesen-s 916-4
libretro-mgba 9298-2
libretro-picodrive 2618-1
libretro-sameboy 1720-3
libretro-shaders-slang 1587-1
libscanmem-git 0.17.1103.0def8b2-1
linux 6.12.10.arch1-1
linux-firmware 20250109.7673dffd-1
linux-headers 6.12.10.arch1-1
lrzip 0.651-3
luanti 5.10.0-1
lutris 0.5.18-2
man-db 2.13.0-1
mari0 1.6.2-4
mommy 1.5.1-1
mongodb 7.0.15-1
mongodb-tools-bin 100.10.0-3
mongosh-bin 2.3.8-1
mysql 9.0.1-1.1
nano 8.3-1
nasm 2.16.03-1
ncurses5-compat-libs 6.5-1.1
neofetch 7.1.0-2
net-tools 2.10-3
network-manager-applet 1.36.0-1
networkmanager 1.50.1-2
neverwinter.nim-bin 2.0.1-1
nmap 7.95-1
notepad++ 8.7.4-1
notepadnext 0.10-1.2
noto-fonts 1:2025.01.01-1
noto-fonts-cjk 20230817-2
noto-fonts-emoji 1:2.047-1
noto-fonts-emoji-flags 20200120-1
npm-check-updates 17.1.8-1
nvidia-dkms 565.77-3
nvm 0.40.1-1
nvtop 3.1.0-1
obs-retro-effects 1.0.0-1
obs-studio-git 31.0.1.r50.g0014f9f-1
oneko 1.2.5-5.1
opendoas 6.8.2-3
orca 47.3-1
otf-compagnon 1.000-1
otf-font-awesome 6.7.2-1
otf-opendyslexic-nerd 3.3.0-1
pavucontrol 1:6.1-1
pcsx2-avx-git 2.3.119.r0.g31497c2-1
perl-net-telnet 3.05-6
php 8.3.15-1
picom-git 12.5.r84.gfcb4a2d-1.2
pipes.sh 1.3.0-1
pipewire 1:1.2.7-1
pipewire-alsa 1:1.2.7-1
pipewire-jack 1:1.2.7-1
pipewire-pulse 1:1.2.7-1
pnpm 10.0.0-2
pokemon-colorscripts-git r114.5802ff67-1
polkit-gnome 0.105-11
polkit-kde-agent 6.2.5-1
postgresql 17.2-1
proton-ge-custom 2:GE.Proton9.22-1.11
proton-mail-bin 1.6.1-1
proton-vpn-gtk-app 4.8.2-1
pyright 1.1.391-1
python-pipenv 2024.4.0-2
python-pipx 1.7.1-2
python-pyquery 2.0.0-6
python-virtualenv 20.28.0-1
qt5-wayland 5.15.16+kde+r59-3
qt6-wayland 6.8.1-1
redact-bin 0.18.0-1
reflector 2023-3
retroarch 1.19.1-3
retroarch-assets-xmb 1:522-1
roam 144.0.0.beta001-1
rofimoji 6.5.0-2
rsync 3.4.1-1
ruby 3.3.5-2
scanmem 0.17-10
sddm 0.21.0-6
ser2net 4.6.2-1
signal-desktop 7.38.0-1
slack-desktop 4.41.105-1.2
slurp 1.5.0-1
smartmontools 7.4-2
snyk 1.1294.3-1
sonar-scanner 6.2.1.4610-1
speedtest-cli 2.1.3-9
spicetify-cli 2.38.7-1
spotify 1:1.2.53.440-1.4
steam 1.0.0.81-2
strace 6.12-1
sublime-text-4 4.4192-1
swappy 1.5.1-2
swaylock-effects 1.7.0.0-4.4
syft 1.9.0-1
tailscale 1.78.1-1
thefuck 3.32-11
thunar 4.20.1-1
transmission-cli 4.0.6-3
trayscale 0.14.1-1.8
trivy 0.58.2-1
ttf-firacode-nerd 3.3.0-1
ttf-font-awesome 6.7.2-1
ttf-jetbrains-mono-nerd 3.3.0-1
ttf-joypixels 8.0.0-2
ttf-symbola 14.00-2
ttf-twemoji 15.1.0-1
typescript 5.7.3-1
typescript-language-server 4.3.3-1
unrar 1:7.1.3-1
v4l2loopback-dkms 0.13.2-1
valgrind 3.24.0-1
vercel 39.2.2-1
vi 1:070224-6
vim 9.1.1043-1
vosk-api 0.3.50-5
vscodium 1.96.4.25017-1.3
vscodium-marketplace 1.65.0-1.4
w3m 0.5.3.git20230713_1-1
waybar 0.11.0-6
waybar-module-pacman-updates-git 0.2.7-1
websocat 1.14.0-1
wev 1.0.0-13
wget 1.25.0-1
whatsapp-for-linux 1.7.0-1.3
wine 9.22-1
wireless_tools 30.pre9-4
wireplumber 0.5.7-1
wlogout 1.2.2-0.3
wofi 1.4.1-1
wofi-emoji 1.2-3
wxhexeditor 0.24-4
xdg-desktop-portal-hyprland 1.3.9-3
xdg-utils 1.2.1-1
xorg-server 21.1.15-1
xorg-xcursorgen 1.0.8-2
xorg-xhost 1.0.9-2
xorg-xinit 1.4.3-1
yay 12.4.2-1.1
zen-browser-bin 1.7.1b-1
zig 0.13.0-2
zoom 6.3.6-1.11
zsh 5.9-5

2.3. Pinned Packages

These packages have updates ignored, due to incompatibility issues. This list is generated with grep "^IgnorePkg" /etc/pacman.conf.

IgnorePkg =

2.4. All Packages

This is a complete list of all packages on the machine. This list is generated with yay -Q.

Expand List
1password 8.10.54-22.4
1password-cli 2.30.3-1
7zip 24.09-3
a52dec 0.8.0-2
aalib 1.4rc5-18
abseil-cpp 20240722.0-1
acl 2.3.2-1
act 0.2.71-1
adobe-source-code-pro-fonts 2.042u+1.062i+1.026vf-2
adwaita-cursors 47.0-1
adwaita-icon-theme 47.0-1
adwaita-icon-theme-legacy 46.2-3
alacarte 1:3.54.1-1
alacritty 0.15.0-1
alsa-card-profiles 1:1.2.7-1
alsa-lib 1.2.13-1
alsa-plugins 1:1.2.12-4
alsa-topology-conf 1.2.5.1-4
alsa-ucm-conf 1.2.13-2
alsa-utils 1.2.13-2
amd-ucode 20250109.7673dffd-1
amor 15.08.3-11
amor-debug 15.08.3-11
anime-games-launcher-bin 1.0.2-1
aom 3.11.0-1
apg 2.2.3-5
appimagelauncher 2.2.0-8.7
appmenu-gtk-module 24.05-1
appstream 1.0.4-1
aquamarine 0.7.1-1
archlinux-keyring 20241203-1
argon2 20190702-6
aribb24 1.0.3-4
asciiquarium-transparent-git r24.cfe288e-1
aspell 0.60.8.1-2
at-spi2-core 2.54.1-1
atkmm 2.28.4-1
attica 6.10.0-1
attr 2.5.2-1
audit 4.0.3-1
autoconf 2.72-1
automake 1.17-1
avahi 1:0.8+r194+g3f79789-3
aws-cli-v2-bin 2:2.22.15-1
ayatana-ido 0.10.4-1
babl 0.1.110-1
baloo 6.10.0-1
baloo-widgets 24.12.1-1
baobab 47.0-1
base 3-2
base-devel 1-2
bash 5.2.037-1
bind 9.20.4-2
binutils 2.43_1+r171+g01da089627be-1
bison 3.8.2-8
blas 3.12.1-2
bluez-libs 5.79-1
bmon 4.0-5
boost 1.86.0-6
boost-libs 1.86.0-6
brave-bin 1:1.74.48-1
breeze-icons 6.10.0-1
bridge-utils 1.7.1-2
brltty 6.7-3
brotli 1.1.0-3
btop 1.4.0-4
bubblewrap 0.11.0-1
byobu 6.12-1
bzip2 1.0.8-6
c-ares 1.34.4-1
ca-certificates 20240618-1
ca-certificates-mozilla 3.107-1
ca-certificates-utils 20240618-1
cabal-install 3.6.2.0-50
cabextract 1.11-2
cairo 1.18.2-2
cairomm 1.14.5-1
cairomm-1.16 1.18.0-1
calc 2.15.1.0-1
cantarell-fonts 1:0.303.1-2
cblas 3.12.1-2
cbonsai 1.3.1-3
ccls 0.20241108-1
ccze 0.2.1-13
cdparanoia 10.2-9
cfitsio 1:4.5.0-1
chafa-git 1.14.5.r112.g9aa862e-1
chaotic-keyring 20230616-1
chaotic-mirrorlist 20240724-2
cheese 44.1-3
chromaprint 1.5.1-9
cifs-utils 7.1-1
cinny-desktop 4.2.3-1.3
cjson 1.7.18-1
clamav 1.4.1-1
clang 19.1.7-1
clang18 18.1.8-1
cliphist 1:0.6.1-1
cloc 2.02-1
cloudflared 2025.1.0-1
clucene 2.3.3.4-15
clutter 1.26.4-3
clutter-gst 3.0.27-5
clutter-gtk 1.8.4-4
cmake 3.31.4-1
cmatrix 2.0-3
cogl 1.22.8-3
compiler-rt 19.1.7-1
compiler-rt18 18.1.8-1
confuse 3.3-4
containerd 2.0.2-1
convertlit 1.8-12
coreutils 9.5-2
cppdap 1.58.0-2
crowdin-cli 4.5.1-1
cryptsetup 2.7.5-2
curl 8.11.1-3
dav1d 1.5.1-1
db5.3 5.3.28-5
dbus 1.16.0-1
dbus-broker 36-4
dbus-broker-units 36-4
dbus-glib 0.112-4
dconf 0.40.0-3
debugedit 5.1-1
debuginfod 0.192-2
default-cursors 3-1
dependency-check-cli 11.1.0-1
desktop-file-utils 0.28-1
device-mapper 2.03.30-1
diffutils 3.10-1
discord 0.0.80-1
dkms 3.1.4-1
dnssec-anchors 20190629-4
docbook-xml 4.5-10
docbook-xsl 1.79.2-9
docker 1:27.3.1-1
doctl 1.120.2-1
dolphin 24.12.1-1
dosbox-x 2025.01.01-1.1
dosfstools 4.2-5
dotconf 1.4.1-1
dotnet-host 8.0.11.sdk111-1
dotnet-runtime 8.0.11.sdk111-1
dotnet-sdk 8.0.11.sdk111-1
dotnet-targeting-pack 8.0.11.sdk111-1
double-conversion 3.3.0-2
downgrade 11.4.3-1
dreamweb 1.1-1
duckstation 0.1.7465-1.4
duktape 2.7.0-7
dunst 1.12.1-1
e2fsprogs 1.47.2-1
ebook-tools 0.2.2-8
efibootmgr 18-3
efivar 39-1
egl-gbm 1.1.2-1
egl-wayland 4:1.1.17-1
egl-x11 1.0.0-1
eglexternalplatform 1.2-2
electron25-bin 25.9.8-3
electron29 1:29.4.6-2
electron32 32.2.8-3
ell 0.71-1
emacs 29.4-3
enchant 2.8.2-1
enet 1.3.18-1
espanso-gui 24.7-1
espanso-wayland 2.2.1-4
exiv2 0.28.3-1
exo 4.20.0-2
expat 2.6.4-1
extra-cmake-modules 6.10.0-1
eza 0.20.15-1
faac 1.30-5
faad2 2.11.1-1
fakeroot 1.36.2-1
faudio 25.01-1
faudio-debug 25.01-1
feh 3.10.3-1
ffmpeg 2:7.1-6
ffmpeg4.4 4.4.5-2
fftw 3.3.10-7
file 5.46-3
filesystem 2024.11.21-1
findutils 4.10.0-2
firefox 134.0.1-1
flac 1.4.3-2
flameshot 12.1.0-5
flatbuffers 24.12.23-1
flex 2.6.4-5
fluffychat 1.23.0-2.1
fluidsynth 2.4.2-1
flutter-bin 3.27.2-1
flyctl 0.3.65-1
flyctl-debug 0.3.65-1
fmt 11.1.2-1
fontconfig 2:2.16.0-1
freeglut 3.6.0-1
freetube 0.22.1-1
freetype2 2.13.3-1
frei0r-plugins 2.3.3-3
fribidi 1.0.16-1
fuse-common 3.16.2-1
fuse-overlayfs 1.14-1
fuse2 2.9.9-5
fuse3 3.16.2-1
fzf 0.57.0-1
gameconqueror 0.17-10
gawk 5.3.1-1
gc 8.2.8-2
gcc 14.2.1+r134+gab884fffe3fc-2
gcc-libs 14.2.1+r134+gab884fffe3fc-2
gcr 3.41.2-2
gcr-4 4.3.0-1
gd 2.3.3-8
gdbm 1.24-1
gdk-pixbuf2 2.42.12-2
gegl 0.4.52-1
gensio 2.8.10-1
geoclue 2.7.2-1
geocode-glib-2 3.26.4-4
geocode-glib-common 3.26.4-4
gettext 0.23.1-2
ghc 9.2.8-1
ghc-libs 9.2.8-1
ghostty-git 1.0.1.r418.g5081e65-1
ghostty-git-debug 1.0.1.r418.g5081e65-1
giflib 5.2.2-1
gimp 2.10.38-5
git 2.48.1-1
git-lfs 3.6.0-1
github-cli 2.65.0-1
gitleaks 8.23.1-1
glew 2.2.0-7
glew1.10 1.10.0-4
glib-networking 1:2.80.1-1
glib2 2.82.4-2
glibc 2.40+r16+gaa533d58ff-2
glibmm 2.66.7-1
glibmm-2.68 2.82.0-1
gloox 1.0.27-2
glslang 15.1.0-1
glu 9.0.3-2
gmp 6.3.0-2
gnome-clocks 47.0-1
gnome-desktop 1:44.1-1
gnome-desktop-4 1:44.1-1
gnome-desktop-common 1:44.1-1
gnome-keyring 1:46.2-1
gnome-menus 3.36.0-3
gnome-video-effects 1:0.6.0-2
gnu-free-fonts 20120503-8
gnu-netcat 0.7.1-10
gnulib-l10n 20241231-1
gnupg 2.4.7-1
gnutls 3.8.8-1
go 2:1.23.5-1
gobject-introspection 1.82.0-2
gobject-introspection-runtime 1.82.0-2
google-chat-linux 5.29.23_1-5
gperftools 2.16-1
gpgme 1.24.1-3
gpm 1.20.7.r38.ge82d1a6-6
gpu-usage-waybar-git 0.1.12.r17.g61ebe61-1
gradle 8.12-1
graphene 1.10.8-2
graphite 1:1.3.14-4
grep 3.11-1
grim 1.4.1-2
grimshot 1.10-1
groff 1.23.0-7
grype-bin 0.86.1-1
gsettings-desktop-schemas 47.1-1
gsettings-system-schemas 47.1-1
gsfonts 20200910-4
gsm 1.0.22-2
gssdp 1.6.3-2
gst-libav 1.24.11-2
gst-plugin-pipewire 1:1.2.7-1
gst-plugins-bad 1.24.11-2
gst-plugins-bad-libs 1.24.11-2
gst-plugins-base 1.24.11-2
gst-plugins-base-libs 1.24.11-2
gst-plugins-good 1.24.11-2
gstreamer 1.24.11-2
gtest 1.15.2-1
gtk-layer-shell 0.9.0-1
gtk-update-icon-cache 1:4.16.12-1
gtk2 2.24.33-5
gtk3 1:3.24.43-4
gtk4 1:4.16.12-1
gtkmm-4.0 4.16.0-1
gtkmm3 3.24.9-1
gtksourceview3 1:3.24.11+r28+g73e57b57-2
guile 3.0.10-1
gulp 5.0.0-1
gupnp 1:1.6.8-1
gupnp-igd 1.6.0-1
gvfs 1.56.1-1
gwenview-no-purpose 24.12.1-1
gwenview-no-purpose-debug 24.12.1-1
gzip 1.13-4
harfbuzz 10.2.0-1
harfbuzz-icu 10.2.0-1
haskell-async 2.2.5-53
haskell-base-orphans 0.8.8.2-31
haskell-base16-bytestring 1.0.2.0-89
haskell-base64-bytestring 1.2.1.0-113
haskell-cryptohash-sha256 0.11.102.1-100
haskell-data-array-byte 0.1.0.1-72
haskell-echo 0.1.4-5
haskell-ed25519 0.0.5.0-25
haskell-edit-distance 0.2.2.1-216
haskell-ghc-bignum-orphans 0.1.1-2
haskell-hackage-security 0.6.2.6-10
haskell-hashable 1.4.4.0-29
haskell-http 4000.4.1-224
haskell-lukko 0.1.1.3-199
haskell-network 3.1.4.0-29
haskell-network-uri 2.6.4.2-40
haskell-os-string 2.0.6-17
haskell-random 1.2.1.2-34
haskell-regex-base 0.94.0.2-3
haskell-regex-posix 0.96.0.1-4
haskell-resolv 0.2.0.2-210
haskell-splitmix 0.1.0.5-41
haskell-tar 0.5.1.1-181
haskell-th-compat 0.1.5-11
haskell-zlib 0.6.3.0-69
hexchat 2.16.2-4
hexedit 1.6-2
hicolor-icon-theme 0.18-1
hidapi 0.14.0-3
highway 1.2.0-1
hollywood 1.21-7
htop 3.3.0-3
http-parser 2.9.4-2
hunspell 1.7.2-2
hwdata 0.391-1
hyfetch 1.99.0-2
hyphen 2.8.8-6
hyprcursor 0.1.11-1
hyprgraphics 0.1.1-3
hypridle 0.1.5-2
hyprland 0.46.2-7
hyprland-qt-support 0.1.0-2
hyprland-qtutils 0.1.3-2
hyprlang 0.6.0-3
hyprlock 0.6.1-1
hyprpaper 0.7.3-4
hyprshade 3.2.1-1
hyprshot 1.3.0-2
hyprutils 0.3.3-1
hyprwayland-scanner 0.4.4-1
iana-etc 20241206-1
icoutils 0.32.3-3
icu 75.1-2
imagemagick 7.1.1.43-1
imath 3.1.12-2
imlib2 1.12.3-2
inetutils 2.5-1
innoextract 1.9-11
insomnium 0.2.3_a-8
intltool 0.51.0-6
iproute2 6.12.0-1
iptables 1:1.8.10-2
iputils 20240905-1
iso-codes 4.17.0-1
iwd 3.3-1
jansson 2.14-4
jasper 4.2.4-2
java-environment-common 3-6
java-runtime-common 3-6
jbigkit 2.1-8
jdk17-openjdk 17.0.13.u11-1
jdk21-openjdk 21.0.5.u11-1
jemalloc 1:5.3.0-5
jp2a 1.3.2-1
jq 1.7.1-2
json-c 0.18-1
json-glib 1.10.6-1
jsoncpp 1.9.6-3
karchive 6.10.0-1
karchive5 5.116.0-1
kauth 6.10.0-1
kauth5 5.116.0-1
kbd 2.7.1-1
kbookmarks 6.10.0-1
kcmutils 6.10.0-1
kcodecs 6.10.0-1
kcodecs5 5.116.0-1
kcolorpicker 0.3.1-4
kcolorscheme 6.10.0-1
kcompletion 6.10.0-1
kconfig 6.10.0-1
kconfig5 5.116.0-1
kconfigwidgets 6.10.0-1
kconfigwidgets5 5.116.0-1
kcoreaddons 6.10.0-1
kcoreaddons5 5.116.0-1
kcrash 6.10.0-1
kdbusaddons 6.10.0-1
kdbusaddons5 5.116.0-1
kdnssd 6.10.0-1
kdoctools5 5.116.0-1
kdsoap-qt6 2.2.0-1
kdsoap-ws-discovery-client 0.4.0-1
keyutils 1.6.3-3
kfilemetadata 6.10.0-1
kglobalaccel 6.10.0-1
kglobalaccel5 5.116.0-1
kguiaddons 6.10.0-1
kguiaddons5 5.116.0-1
ki18n 6.10.0-1
ki18n5 5.116.0-1
kiconthemes 6.10.0-1
kiconthemes5 5.116.0-1
kidletime 6.10.0-1
kimageannotator 0.7.1-3
kio 6.10.0-1
kio-extras 24.12.1-1
kirigami 6.10.0-1
kitemmodels 6.10.0-1
kitemviews 6.10.0-1
kitemviews5 5.116.0-1
kitty 0.39.0-1
kitty-shell-integration 0.39.0-1
kitty-terminfo 0.39.0-1
kjobwidgets 6.10.0-1
kmod 33-3
knewstuff 6.10.0-1
knotifications 6.10.0-1
kotlin 2.1.0-1
kpackage 6.10.0-1
kparts 6.10.0-1
krb5 1.21.3-1
kservice 6.10.0-1
ktextwidgets 6.10.0-1
kuserfeedback 6.10.0-1
kwallet 6.10.0-1
kwidgetsaddons 6.10.0-1
kwidgetsaddons5 5.116.0-1
kwindowsystem 6.10.0-1
kwindowsystem5 5.116.0-1
kxmlgui 6.10.0-1
kxmlgui5 5.116.0-1
l-smash 2.14.5-4
lame 3.100-5
lapack 3.12.1-2
lazygit 0.45.2-1
lcms2 2.16-1
ldb 2:4.21.3-1
lensfun 1:0.3.4-5
less 1:668-1
lib32-acl 2.3.2-1
lib32-alsa-lib 1.2.13-1
lib32-alsa-plugins 1.2.12-1
lib32-at-spi2-core 2.54.1-1
lib32-attr 2.5.2-1
lib32-brotli 1.1.0-1
lib32-bzip2 1.0.8-4
lib32-cairo 1.18.2-2
lib32-curl 8.11.1-3
lib32-dbus 1.16.0-1
lib32-dbus-glib 0.112-3
lib32-duktape 2.7.0-7
lib32-e2fsprogs 1.47.2-1
lib32-expat 2.6.4-1
lib32-flac 1.4.3-2
lib32-fontconfig 2:2.16.0-1
lib32-freeglut 3.6.0-1
lib32-freetype2 2.13.3-2
lib32-fribidi 1.0.16-1
lib32-gcc-libs 14.2.1+r134+gab884fffe3fc-2
lib32-gdk-pixbuf2 2.42.12-2
lib32-gettext 0.22.5-1
lib32-giflib 5.2.2-1
lib32-glew1.10 1.10.0-6
lib32-glib-networking 1:2.80.1-1
lib32-glib2 2.82.4-1
lib32-glibc 2.40+r16+gaa533d58ff-2
lib32-glu 9.0.3-2
lib32-gmp 6.3.0-2
lib32-gnutls 3.8.8-1
lib32-gtk2 2.24.33-5
lib32-harfbuzz 10.2.0-1
lib32-icu 75.1-1
lib32-imlib2 1.12.3-1
lib32-json-c 0.18-1
lib32-keyutils 1.6.3-2
lib32-krb5 1.21.3-1
lib32-libappindicator-gtk2 12.10.0.r298-2
lib32-libasyncns 1:0.8+r3+g68cd5af-3
lib32-libcaca 0.99.beta20-2
lib32-libcanberra 1:0.30+r2+gc0620e4-3
lib32-libcap 2.71-1
lib32-libcups 2.4.11-1
lib32-libcurl-compat 8.11.1-3
lib32-libcurl-gnutls 8.11.1-3
lib32-libdatrie 0.2.13-3
lib32-libdbusmenu-glib 16.04.0-6
lib32-libdbusmenu-gtk2 16.04.0-6
lib32-libdrm 2.4.124-1
lib32-libelf 0.192-2
lib32-libffi 3.4.6-1
lib32-libgcrypt 1.11.0-1
lib32-libgcrypt15 1.5.6-8
lib32-libglvnd 1.7.0-1
lib32-libgpg-error 1.51-1
lib32-libgudev 238-2
lib32-libice 1.1.1-2
lib32-libidn11 1.33-3
lib32-libidn2 2.3.7-1
lib32-libindicator-gtk2 12.10.1-10
lib32-libjpeg-turbo 3.1.0-1
lib32-libjpeg6-turbo 1.5.3-3
lib32-libldap 2.6.9-1
lib32-libltdl 2.5.4+r1+gbaa1fe41-1
lib32-libmikmod 3.3.12-1
lib32-libmodplug 0.8.9.0-5
lib32-libnghttp2 1.64.0-1
lib32-libnghttp3 1.7.0-1
lib32-libnl 3.11.0-1
lib32-libnm 1.50.1-1
lib32-libnsl 2.0.1-1
lib32-libogg 1.3.5-2
lib32-libpcap 1.10.5-2
lib32-libpciaccess 0.18.1-1
lib32-libpipewire 1:1.2.7-1
lib32-libpng 1.6.45-1
lib32-libpng12 1.2.59-3
lib32-libproxy 0.5.9-1
lib32-libpsl 0.21.5-1
lib32-libpulse 17.0+r43+g3e2bb8a1e-1
lib32-librsvg 2:2.59.2-1
lib32-librtmp0 2.4-6
lib32-libsm 1.2.4-2
lib32-libsndfile 1.2.2-2
lib32-libsoup 2.74.3-2
lib32-libssh2 1.11.0-2
lib32-libtasn1 4.19.0-2
lib32-libthai 0.1.29-3
lib32-libtheora 1.1.1-14
lib32-libtiff 4.7.0-1
lib32-libtiff4 3.9.7-6
lib32-libtirpc 1.3.6-1
lib32-libudev0-shim 2-1
lib32-libunistring 1.2-1
lib32-libunwind 1.8.1-1
lib32-libusb 1.0.27-1
lib32-libva 2.22.0-1
lib32-libvdpau 1.5-3
lib32-libvorbis 1.3.7-2
lib32-libvpx 1.15.0-1
lib32-libvpx1.3 1.3.0-4
lib32-libwebp 1.5.0-1
lib32-libx11 1.8.10-1
lib32-libxau 1.0.11-2
lib32-libxcb 1.17.0-1
lib32-libxcomposite 0.4.6-2
lib32-libxcrypt 4.4.38-1
lib32-libxcrypt-compat 4.4.38-1
lib32-libxcursor 1.2.3-1
lib32-libxdamage 1.1.6-2
lib32-libxdmcp 1.1.5-1
lib32-libxext 1.3.6-1
lib32-libxfixes 6.0.1-2
lib32-libxft 2.3.8-2
lib32-libxi 1.8.2-1
lib32-libxinerama 1.1.5-2
lib32-libxkbcommon 1.7.0-2
lib32-libxml2 2.13.5-1
lib32-libxmu 1.2.1-1
lib32-libxrandr 1.5.4-1
lib32-libxrender 0.9.11-2
lib32-libxshmfence 1.3.2-2
lib32-libxss 1.2.4-2
lib32-libxt 1.3.1-1
lib32-libxtst 1.2.5-2
lib32-libxxf86vm 1.1.5-2
lib32-llvm-libs 1:19.1.7-1
lib32-lm_sensors 1:3.6.0.r41.g31d1f125-3
lib32-lzo 2.10-2
lib32-mesa 1:24.3.3-2
lib32-mpg123 1.32.10-1
lib32-ncurses 6.5-1
lib32-nettle 3.10.1-1
lib32-nspr 4.36-1
lib32-nss 3.107-1
lib32-nvidia-utils 565.77-1
lib32-openal 1.24.2-1
lib32-openssl 1:3.4.0-1
lib32-openssl-1.1 1.1.1.w-2
lib32-opus 1.5.2-1
lib32-p11-kit 0.25.5-1
lib32-pam 1.6.1-1
lib32-pango 1:1.56.1-1
lib32-pcre2 10.44-1
lib32-pipewire 1:1.2.7-1
lib32-pixman 0.44.2-1
lib32-sdl12-compat 1.2.68-2
lib32-sdl2 2.30.11-1
lib32-sdl2_image 2.8.4-1
lib32-sdl2_mixer 2.8.0-1
lib32-sdl2_ttf 2.24.0-1
lib32-sdl_image 1.2.12-9
lib32-sdl_mixer 1.2.12-6
lib32-sdl_ttf 2.0.11-9
lib32-speex 1.2.1-2
lib32-spirv-tools 2024.4.rc2-1
lib32-sqlite 3.47.2-1
lib32-systemd 257.2-1
lib32-tdb 1.4.12-1
lib32-util-linux 2.40.4-1
lib32-vulkan-icd-loader 1.4.303-1
lib32-wayland 1.23.1-1
lib32-xz 5.6.3-1
lib32-zlib 1.3.1-2
lib32-zstd 1.5.6-1
libabw 0.1.3-4
libaccounts-glib 1.27-2
libadwaita 1:1.6.3-1
libaio 0.3.113-3
libao 1.2.2-6
libappimage 1.0.4.5-7
libappindicator-gtk3 12.10.0.r298-4
libarchive 3.7.7-1
libass 0.17.3-1
libassuan 3.0.0-1
libasyncns 1:0.8+r3+g68cd5af-3
libatasmart 0.19-6
libatomic_ops 7.8.2-1
libavc1394 0.5.4-6
libavif 1.1.1-2
libavtp 0.2.0-3
libayatana-appindicator 0.5.93-1
libayatana-indicator 0.9.4-1
libb2 0.98.1-3
libb64 1.2.1-5
libbacktrace 1.0.git1-1
libblockdev 3.2.1-3
libblockdev-crypto 3.2.1-3
libblockdev-fs 3.2.1-3
libblockdev-loop 3.2.1-3
libblockdev-mdraid 3.2.1-3
libblockdev-nvme 3.2.1-3
libblockdev-part 3.2.1-3
libblockdev-swap 3.2.1-3
libbluray 1.3.4-2
libbpf 1.5.0-1
libbs2b 3.1.0-9
libbsd 0.12.2-2
libbytesize 2.11-1
libcaca 0.99.beta20-5
libcamera 0.3.2-2
libcamera-ipa 0.3.2-2
libcanberra 1:0.30+r2+gc0620e4-4
libcap 2.71-1
libcap-ng 0.8.5-3
libcbor 0.11.0-1
libcdio 2.2.0-1
libcdio-paranoia 10.2+2.0.2-1
libcdr 0.1.8-1
libcgif 0.4.1-1
libcheese 44.1-3
libcloudproviders 0.3.6-1
libcmis 0.6.2-2
libcolord 1.4.7-2
libconfig 1.7.3-3
libcups 2:2.4.11-2
libcurl-compat 8.11.1-3
libcurl-gnutls 8.11.1-3
libdaemon 0.14-6
libdatrie 0.2.13-4
libdbusmenu-glib 16.04.0.r498-2
libdbusmenu-gtk2 16.04.0.r498-2
libdbusmenu-gtk3 16.04.0.r498-2
libdc1394 2.2.7-1
libdca 0.0.7-2
libde265 1.0.15-3
libdecor 0.2.2-1
libdeflate 1.23-1
libdisplay-info 0.2.0-2
libdovi 3.3.1-1
libdrm 2.4.124-1
libdv 1.0.0-11
libdvbpsi 1:1.3.3-3
libdvdnav 6.1.1-2
libdvdread 6.1.3-2
libe-book 0.1.3-16
libebml 1.4.5-1
libedit 20240808_3.1-1
libei 1.3.0-1
libelectron 2024.30-1
libelf 0.192-2
libepoxy 1.5.10-3
libepubgen 0.1.1-5
libetonyek 0.1.12-1
libev 4.33-3
libevdev 1.13.3-1
libevent 2.1.12-4
libexif 0.6.25-1
libexttextcat 3.4.7-1
libfdk-aac 2.0.3-1
libffi 3.4.6-1
libfido2 1.15.0-1
libfontenc 1.1.8-1
libfreeaptx 0.1.1-2
libfreehand 0.1.2-5
libgcrypt 1.11.0-2
libgcrypt15 1.5.6-6
libgdiplus 6.1-2
libgexiv2 0.14.3-2
libgirepository 1.82.0-2
libgit2 1:1.8.4-1
libglvnd 1.7.0-1
libgme 0.6.3-5
libgnome-keyring 1:3.12.0+r14+g23438cc-1
libgpg-error 1.51-1
libgtop 2.41.3-2
libgudev 238-1
libgweather-4 4.4.4-1
libheif 1.19.5-1
libibus 1.5.31-2
libice 1.1.2-1
libidn 1.42-1
libidn11 1.33-2
libidn2 2.3.7-1
libiec61883 1.2.0-8
libimagequant 4.3.3-1
libimobiledevice 1.3.0-15
libimobiledevice-glue 1.3.1-1
libindicator-gtk2 12.10.1-10
libinih 58-1
libinput 1.27.1-1
libinstpatch 1.1.6-3
libisl 0.27-1
libixion 0.19.0-6
libjpeg-turbo 3.1.0-1
libjpeg6-turbo 1.5.3-2
libjxl 0.11.1-1
libkdcraw 24.12.1-1
libkexiv2 24.12.1-1
libksba 1.6.7-1
liblangtag 0.6.7-1
liblc3 1.1.1-1
libldac 2.0.2.3-2
libldap 2.6.9-1
libliftoff 0.5.0-1
liblouis 3.32.0-2
liblqr 0.4.3-1
liblrdf 0.6.1-5
libltc 1.3.2-2
libmad 0.15.1b-10
libmanette 0.2.9-2
libmatroska 1.7.1-2
libmaxminddb 1.12.2-1
libmd 1.1.0-2
libmfx 23.2.2-3
libmicrodns 0.2.0-2
libmicrohttpd 1.0.1-1
libmikmod 3.3.12-1
libmm-glib 1.22.0-1
libmng 2.0.3-4
libmnl 1.0.5-2
libmodplug 0.8.9.0-6
libmpc 1.3.1-2
libmpcdec 1:0.1+r475-6
libmpdclient 2.22-1
libmpeg2 0.5.1-10
libmspack 1:1.11-1
libmspub 0.1.4-16
libmtp 1.1.22-1
libmwaw 0.3.22-3
libmypaint 1.6.1-2
libmysofa 1.3.3-1
libmysqlclient 9.0.1-1.1
libnatpmp 20230423-3
libndp 1.9-1
libnet 2:1.3-1
libnetfilter_conntrack 1.0.9-2
libnewt 0.52.24-3
libnfnetlink 1.0.2-2
libnftnl 1.2.8-1
libnghttp2 1.64.0-1
libnghttp3 1.7.0-1
libngtcp2 1.10.0-1
libnice 0.1.22-1
libnl 3.11.0-1
libnm 1.50.1-2
libnma 1.10.6-3
libnma-common 1.10.6-3
libnoise 1.0.0-7
libnotify 0.8.3-1
libnsl 2.0.1-1
libnumbertext 1.0.11-2
libnvme 1.11.1-2
libodfgen 0.1.8-3
libogg 1.3.5-2
libolm 3.2.16-5
libomxil-bellagio 0.9.3-5
libopenmpt 0.7.13-1
liborcus 0.19.2-4
libotf 0.9.16-5
libp11-kit 0.25.5-1
libpagemaker 0.0.4-4
libpcap 1.10.5-2
libpciaccess 0.18.1-2
libpgm 5.3.128-3
libpipeline 1.5.8-1
libpipewire 1:1.2.7-1
libplacebo 7.349.0-4
libplist 2.6.0-2
libpng 1.6.45-1
libpng12 1.2.59-2
libproxy 0.5.9-1
libpsl 0.21.5-2
libpulse 17.0+r43+g3e2bb8a1e-1
libqalculate 5.5.0-1
libqxp 0.0.2-12
libraqm 0.10.2-1
libraw 0.21.3-1
libraw1394 2.1.2-4
libredefender 0.7.0-2
libreoffice-fresh 24.8.4-2
libretro-beetle-psx-git 2747.80d3eba2-1
libretro-beetle-psx-git-debug 2747.80d3eba2-1
libretro-core-info 1.19.0-1
libretro-genesis-plus-gx 2199-1
libretro-mesen 2903-3
libretro-mesen-s 916-4
libretro-mgba 9298-2
libretro-picodrive 2618-1
libretro-sameboy 1720-3
libretro-shaders-slang 1587-1
librevenge 0.0.5-3
librist 0.2.11-1
librsvg 2:2.59.2-1
librsync 1:2.3.4-2
librtmp0 2.4-6
libsamplerate 0.2.2-3
libsasl 2.1.28-5
libscanmem-git 0.17.1103.0def8b2-1
libseccomp 2.5.5-4
libsecret 0.21.6-1
libshout 1:2.4.6-3
libsigc++ 2.12.1-1
libsigc++-3.0 3.6.0-1
libslirp 4.8.0-1
libsm 1.2.5-1
libsndfile 1.2.2-2
libsodium 1.0.20-1
libsoup 2.74.3-1
libsoup3 3.6.4-1
libsoxr 0.1.3-4
libspeechd 0.11.5-3
libspiro 1:20240903-1
libspng 0.7.4-2
libsrtp 1:2.6.0-1
libssh 0.11.1-1
libssh2 1.11.1-1
libstaroffice 0.0.7-4
libstemmer 2.2.0-2
libsysprof-capture 47.2-1
libtar 1.2.20-7
libtasn1 4.19.0-2
libteam 1.32-2
libthai 0.1.29-3
libtheora 1.1.1-6
libtiff 4.7.0-1
libtiff4 3.9.7-6
libtirpc 1.3.6-1
libtommath 1.3.0-1
libtool 2.5.4+r1+gbaa1fe41-1
libudev0-shim 2-1
libunibreak 6.1-1
libunistring 1.3-1
libunwind 1.8.1-3
libupnp 1.14.20-2
liburcu 0.15.0-1
liburing 2.8-1
libusb 1.0.27-1
libusbmuxd 2.1.0-1
libutempter 1.2.1-4
libuv 1.50.0-1
libva 2.22.0-1
libvdpau 1.5-3
libverto 0.3.2-5
libvips 8.16.0-2
libvisio 0.1.8-1
libvlc 3.0.21-11
libvorbis 1.3.7-3
libvpl 2.14.0-1
libvpx 1.15.0-1
libvpx1.3 1.3.0-3
libwacom 2.14.0-1
libwbclient 2:4.21.3-1
libwebp 1.5.0-1
libwireplumber 0.5.7-1
libwmf 0.2.13-4
libwnck3 43.2-1
libwpd 0.10.3-5
libwps 0.4.14-2
libx11 1.8.10-1
libxau 1.0.12-1
libxaw 1.0.16-1
libxcb 1.17.0-1
libxcomposite 0.4.6-2
libxcrypt 4.4.38-1
libxcrypt-compat 4.4.38-1
libxcursor 1.2.3-1
libxcvt 0.1.3-1
libxdamage 1.1.6-2
libxdmcp 1.1.5-1
libxext 1.3.6-1
libxfce4ui 4.20.0-3
libxfce4util 4.20.0-2
libxfixes 6.0.1-2
libxfont2 2.0.7-1
libxft 2.3.8-2
libxi 1.8.2-1
libxinerama 1.1.5-2
libxkbcommon 1.7.0-2
libxkbcommon-x11 1.7.0-2
libxkbfile 1.1.3-1
libxml2 2.13.5-2
libxmlb 0.3.21-1
libxmu 1.2.1-1
libxpm 3.5.17-2
libxrandr 1.5.4-1
libxrender 0.9.12-1
libxres 1.2.2-2
libxshmfence 1.3.3-1
libxslt 1.1.42-2
libxss 1.2.4-2
libxt 1.3.1-1
libxtst 1.2.5-1
libxv 1.0.13-1
libxxf86vm 1.1.6-1
libyaml 0.2.5-3
libyuv r2426+464c51a03-1
libzip 1.11.2-1
libzmf 0.0.2-16
licenses 20240728-1
lilv 0.24.24-3
linux 6.12.10.arch1-1
linux-api-headers 6.10-1
linux-firmware 20250109.7673dffd-1
linux-firmware-whence 20250109.7673dffd-1
linux-headers 6.12.10.arch1-1
lld 19.1.7-1
lld18 18.1.6-2
llvm 19.1.7-1
llvm-libs 19.1.7-1
llvm18-libs 18.1.8-1
lm_sensors 1:3.6.0.r41.g31d1f125-3
lmdb 0.9.33-1
love 11.5-1
lpsolve 5.5.2.11-3
lrexlib-pcre5.1 2.9.0-2
lrzip 0.651-3
lsb-release 2.0.r55.a25a4fc-1
lsof 4.99.4-1
lua 5.4.7-1
lua-yajl 2.0-2
lua51 5.1.5-12
lua51-filesystem 1.8.0-5
lua51-lcf 5.1-3
lua51-luautf8 0.1.6-1
lua51-sql-sqlite 2.3.0-4
luajit 2.1.1731601260-1
luanti 5.10.0-1
luanti-common 5.10.0-1
luarocks 3.11.1-2
luazip5.1 1.2.7-1
lutris 0.5.18-2
lv2 1.18.10-1
lz4 1:1.10.0-2
lzo 2.10-5
m17n-db 1.8.8-1
m17n-lib 1.8.4-3
m4 1.4.19-3
mailcap 2.1.54-2
make 4.4.1-2
man-db 2.13.0-1
mari0 1.6.2-4
mbedtls 3.6.2-1
mbedtls2 2.28.9-1
md4c 0.5.2-1
mdadm 4.4-1
media-player-info 26-1
mesa 1:24.3.3-2
mesa-utils 9.0.0-5
miniupnpc 2.2.8-2
minizip 1:1.3.1-2
mjpegtools 2.2.1-2
mkinitcpio 39.2-3
mkinitcpio-busybox 1.36.1-1
mobile-broadband-provider-info 20240407-1
mommy 1.5.1-1
mongodb 7.0.15-1
mongodb-tools-bin 100.10.0-3
mongosh-bin 2.3.8-1
mongosh-bin-debug 2.3.8-1
mono 6.12.0.206-1
mono-msbuild 16.10.1.xamarinxplat.2021.05.26.14.00-5
moreutils 0.70-1
mpdecimal 4.0.0-2
mpfr 4.2.1-4
mpg123 1.32.10-1
mtdev 1.1.7-1
mypaint-brushes1 1.3.1-2
mysql 9.0.1-1.1
mysql-clients 9.0.1-1.1
nano 8.3-1
nasm 2.16.03-1
ncompress 5.0-3
ncurses 6.5-3
ncurses5-compat-libs 6.5-1.1
neofetch 7.1.0-2
neon 0.34.0-1
net-tools 2.10-3
netstandard-targeting-pack 8.0.11.sdk111-1
nettle 3.10.1-1
network-manager-applet 1.36.0-1
networkmanager 1.50.1-2
networkmanager-openvpn 1.12.0-1
neverwinter.nim-bin 2.0.1-1
ninja 1.12.1-2
nm-connection-editor 1.36.0-1
nmap 7.95-1
node-gyp 11.0.0-1
nodejs 23.4.0-1
nodejs-nopt 7.2.1-1
notepad++ 8.7.4-1
notepadnext 0.10-1.2
noto-fonts 1:2025.01.01-1
noto-fonts-cjk 20230817-2
noto-fonts-emoji 1:2.047-1
noto-fonts-emoji-flags 20200120-1
npm 11.0.0-1
npm-check-updates 17.1.8-1
npth 1.8-1
nspr 4.36-1
nss 3.107-1
numactl 2.0.19-1
nvidia-dkms 565.77-3
nvidia-utils 565.77-3
nvm 0.40.1-1
nvtop 3.1.0-1
obs-retro-effects 1.0.0-1
obs-retro-effects-debug 1.0.0-1
obs-studio-git 31.0.1.r50.g0014f9f-1
ocl-icd 2.3.2-2
oneko 1.2.5-5.1
oniguruma 6.9.10-1
openal 1.24.2-1
opencore-amr 0.1.6-2
opendoas 6.8.2-3
openexr 3.3.2-1
openh264 2.5.0-1
openjpeg2 2.5.3-1
openssh 9.9p1-2
openssl 3.4.0-1
openssl-1.0 1.0.2.u-6
openssl-1.1 1.1.1.w-2
openvpn 2.6.13-1
opus 1.5.2-1
opusfile 0.12-4
orc 0.4.40-1
orca 47.3-1
otf-compagnon 1.000-1
otf-font-awesome 6.7.2-1
otf-opendyslexic-nerd 3.3.0-1
p11-kit 0.25.5-1
pacman 7.0.0.r6.gc685ae6-1
pacman-contrib 1.10.6-2
pacman-mirrorlist 20250101-1
pahole 1:1.28-3
pam 1.7.0-1
pambase 20230918-2
pango 1:1.56.1-1
pangomm 2.46.4-1
pangomm-2.48 2.56.1-1
parted 3.6-2
patch 2.7.6-10
patchelf 0.18.0-3
patchutils 0.4.2-3
pavucontrol 1:6.1-1
pciutils 3.13.0-2
pcre 8.45-4
pcre2 10.44-1
pcsclite 2.3.1-1
pcsx2-avx-git 2.3.119.r0.g31497c2-1
perl 5.40.0-1
perl-algorithm-diff 1:1.201-6
perl-class-method-modifiers 2.15-4
perl-clone 0.47-1
perl-curses 1.45-2
perl-data-optlist 0.114-4
perl-devel-globaldestruction 0.14-11
perl-encode-locale 1.05-13
perl-error 0.17029-7
perl-file-listing 6.16-4
perl-html-parser 3.83-1
perl-html-tagset 3.24-2
perl-http-cookiejar 0.014-3
perl-http-cookies 6.11-2
perl-http-daemon 6.16-4
perl-http-date 6.06-3
perl-http-message 7.00-1
perl-http-negotiate 6.01-14
perl-import-into 1.002005-11
perl-io-html 1.004-6
perl-io-tty 1.20-2
perl-ipc-run 20231003.0-2
perl-libwww 6.77-2
perl-lwp-mediatypes 6.04-6
perl-mailtools 2.22-1
perl-module-runtime 0.016-4
perl-moo 2.005005-4
perl-net-http 6.23-4
perl-net-telnet 3.05-6
perl-parallel-forkmanager 2.03-2
perl-params-util 1.102-6
perl-regexp-common 2024080801-2
perl-role-tiny 2.002004-6
perl-sub-exporter 0.991-2
perl-sub-exporter-progressive 0.001013-11
perl-sub-install 0.929-2
perl-sub-quote 1:2.006008-4
perl-term-animation 2.6-12
perl-time-duration 1:1.21-2
perl-timedate 2.33-7
perl-try-tiny 0.32-2
perl-uri 5.31-1
perl-www-robotrules 6.02-14
perl-xml-parser 2.47-2
phonon-qt6 4.12.0-4
phonon-qt6-vlc 0.12.0-2
php 8.3.15-1
physfs 3.2.0-2
picom-git 12.5.r84.gfcb4a2d-1.2
pinentry 1.3.1-5
pipes.sh 1.3.0-1
pipewire 1:1.2.7-1
pipewire-alsa 1:1.2.7-1
pipewire-audio 1:1.2.7-1
pipewire-jack 1:1.2.7-1
pipewire-pulse 1:1.2.7-1
pixman 0.44.2-1
pkcs11-helper 1.30.0-1
pkgconf 2.3.0-1
plasma-activities 6.2.5-1
play.it-git 2.29.1.r1.g03ba243f-1
playerctl 2.4.1-4
plocate 1.1.23-1
pnpm 10.0.0-2
pokemon-colorscripts-git r114.5802ff67-1
polkit 126-2
polkit-gnome 0.105-11
polkit-kde-agent 6.2.5-1
polkit-qt5 0.200.0-1
polkit-qt6 0.200.0-1
poppler 25.01.0-1
poppler-data 0.4.12-2
poppler-glib 25.01.0-1
poppler-qt6 25.01.0-1
popt 1.19-2
portaudio 1:19.7.0-3
postgresql 17.2-1
postgresql-libs 17.2-1
procps-ng 4.0.5-1
proton-ge-custom 2:GE.Proton9.22-1.11
proton-mail-bin 1.6.1-1
proton-vpn-gtk-app 4.8.2-1
psmisc 23.7-1
pugixml 1.15-1
pyright 1.1.391-1
python 3.13.1-1
python-aiohappyeyeballs 2.4.4-1
python-aiohttp 3.10.5-2
python-aiosignal 1.3.1-8
python-argcomplete 3.4.0-2
python-attrs 23.2.0-4
python-autocommand 2.2.2-7
python-bcrypt 4.2.1-2
python-beautifulsoup4 4.12.3-3
python-cairo 1.27.0-2
python-certifi 2024.12.14-1
python-cffi 1.17.1-2
python-charset-normalizer 3.4.1-1
python-click 8.1.7-4
python-colorama 0.4.6-5
python-configargparse 1.5.5-3
python-cryptography 44.0.0-1
python-cssselect 1.2.0-8
python-dbus 1.3.2-5
python-decorator 5.1.1-5
python-distlib 0.3.9-2
python-distro 1.9.0-3
python-distutils-extra 2.39-14
python-evdev 1.7.1-2
python-fastjsonschema 2.21.1-1
python-filelock 3.16.1-2
python-frozenlist 1.4.1-4
python-gnupg 0.5.4-2
python-gobject 3.50.0-2
python-idna 3.10-2
python-importlib-metadata 7.2.1-4
python-inflect 7.5.0-1
python-jaraco.classes 3.4.0-2
python-jaraco.collections 5.1.0-1
python-jaraco.context 6.0.1-1
python-jaraco.functools 4.1.0-1
python-jaraco.text 4.0.0-2
python-jeepney 0.8.0-4
python-jinja 1:3.1.5-1
python-keyring 25.5.0-3
python-lxml 5.3.0-2
python-magic 1:0.4.27-5
python-mako 1.3.8-1
python-markdown 3.7-2
python-markupsafe 2.1.5-3
python-moddb 0.12.0-1
python-more-itertools 10.5.0-1
python-multidict 6.0.5-4
python-numpy 2.2.2-1
python-ordered-set 4.1.0-7
python-packaging 24.2-3
python-pillow 11.0.0-3
python-pip 24.3.1-3
python-pipenv 2024.4.0-2
python-pipx 1.7.1-2
python-platformdirs 4.3.6-2
python-proton-core 0.4.0-4
python-proton-keyring-linux 0.2.0-4
python-proton-vpn-api-core 0.39.0-2
python-proton-vpn-local-agent 1.2.0-4
python-proton-vpn-network-manager 0.10.2-2
python-psutil 6.1.1-1
python-pycparser 2.22-3
python-pyinotify 0.9.6-15
python-pynacl 1.5.0-3
python-pyopenssl 24.3.0-1
python-pyquery 2.0.0-6
python-pyte 0.8.2-4
python-pyxdg 0.28-4
python-requests 2.32.3-4
python-scrap_engine-git 1.4.1-1.2
python-secretstorage 3.3.3-6
python-sentry_sdk 2.20.0-1
python-setproctitle 1.3.4-1
python-setuptools 1:75.2.0-4
python-six 1.17.0-1
python-soupsieve 2.6-2
python-tomli 2.0.1-5
python-trove-classifiers 2025.1.6.15-1
python-typeguard 4.4.1-1
python-typing_extensions 4.12.2-3
python-urllib3 2.3.0-1
python-urwid 2.6.15-2
python-userpath 1.9.2-3
python-validate-pyproject 0.23-1
python-virtualenv 20.28.0-1
python-virtualenv-clone 0.5.7-6
python-wand 0.6.11-5
python-wcwidth 0.2.13-3
python-wheel 0.45.0-3
python-xlib 0.33-4
python-yaml 6.0.2-2
python-yarl 1.9.4-4
python-zipp 3.21.0-2
qca-qt6 2.3.9-3
qqc2-desktop-style 6.10.0-1
qrcodegencpp-cmake 1:1.8.0-3
qrencode 4.1.1-3
qt5-base 5.15.16+kde+r130-3
qt5-declarative 5.15.16+kde+r22-3
qt5-gamepad 5.15.16-2
qt5-location 5.15.16+kde+r7-3
qt5-multimedia 5.15.16+kde+r2-3
qt5-remoteobjects 5.15.16-3
qt5-svg 5.15.16+kde+r5-3
qt5-tools 5.15.16+kde+r3-4
qt5-translations 5.15.16-3
qt5-wayland 5.15.16+kde+r59-3
qt5-webchannel 5.15.16+kde+r3-3
qt5-webengine 5.15.18-5
qt5-x11extras 5.15.16-3
qt6-5compat 6.8.1-1
qt6-base 6.8.1-1
qt6-declarative 6.8.1-3
qt6-multimedia 6.8.1-2
qt6-multimedia-ffmpeg 6.8.1-2
qt6-shadertools 6.8.1-1
qt6-speech 6.8.1-1
qt6-svg 6.8.1-1
qt6-tools 6.8.1-2
qt6-translations 6.8.1-1
qt6-wayland 6.8.1-1
qtkeychain-qt5 0.15.0-1
rapidjson 1.1.0-6
raptor 2.0.16-5
rasqal 1:0.9.33-7
rav1e 0.7.1-1
re2 1:20240702-2
readline 8.2.013-1
redact-bin 0.18.0-1
redland 1:1.0.17-9
reflector 2023-3
renovate-git-debug 39.83.2.r0.g68c05cf-1
retroarch 1.19.1-3
retroarch-assets-xmb 1:522-1
rhash 1.4.4-1
ripgrep 14.1.1-1
ripgrep-all 0.10.6-3
rnnoise 1:0.2-1
roam 144.0.0.beta001-1
rofimoji 6.5.0-2
rpcsvc-proto 1.4.4-2
rsync 3.4.1-1
rtkit 0.13-3
rtmpdump 1:2.4.r105.6f6bb13-1
rubberband 4.0.0-1
ruby 3.3.5-2
rubygems 3.5.16-1
runc 1.2.4-1
sbc 2.0-2
scanmem 0.17-10
scummvm 2.9.0-1
sdbus-cpp 2.1.0-2
sddm 0.21.0-6
sdl12-compat 1.2.68-2
sdl2 2.30.11-1
sdl2_image 2.8.4-1
sdl2_mixer 2.8.0-1
sdl2_net 1:2.2.0-2
sdl2_ttf 2.24.0-1
sdl_gfx 2.0.27-1
sdl_image 1.2.12-9
sdl_mixer 1.2.12-12
sdl_ttf 2.0.11-7
seatd 0.9.1-1
sed 4.9-3
semver 7.6.3-1
ser2net 4.6.2-1
serd 0.32.4-1
sfml 2.6.2-1
shaderc 2024.4-1
shadow 4.16.0-1
shared-mime-info 2.4-1
shellspec 0.28.1-3
signal-desktop 7.38.0-1
slack-desktop 4.41.105-1.2
slang 2.3.3-3
slurp 1.5.0-1
smartmontools 7.4-2
smbclient 2:4.21.3-1
snappy 1.2.1-2
sndio 1.10.0-1
snyk 1.1294.3-1
solid 6.10.0-1
sonar-scanner 6.2.1.4610-1
sonnet 6.10.0-1
sord 0.16.18-1
sound-theme-freedesktop 0.8-6
soundtouch 2.3.3-1
spandsp 0.0.6-5
spatialindex 2.0.0-1
spdlog 1.15.0-2
speech-dispatcher 0.11.5-3
speedometer 2.9-2
speedtest-cli 2.1.3-9
speex 1.2.1-2
speexdsp 1.2.1-2
spicetify-cli 2.38.7-1
spirv-headers 1:1.4.304.0-1
spirv-tools 2024.4.rc2-1
spotify 1:1.2.53.440-1.4
sqlite 3.48.0-2
squashfuse 0.5.2-1
sratom 0.6.16-1
srt 1.5.4-1
startup-notification 0.12-8
steam 1.0.0.81-2
steam-native-runtime 1.0.0.75-4
strace 6.12-1
sublime-text-4 4.4192-1
sudo 1.9.16.p2-2
suitesparse 7.8.3-1
svt-av1 2.3.0-1
svt-hevc 1.5.1-3
swappy 1.5.1-2
swaylock-effects 1.7.0.0-4.4
syft 1.9.0-1
syndication 6.10.0-1
syntax-highlighting 6.10.0-1
systemd 257.2-2
systemd-libs 257.2-2
systemd-sysvcompat 257.2-2
taglib 2.0.2-1
tailscale 1.78.1-1
talloc 2.4.2-4
tar 1.35-2
tdb 1.4.12-2
tevent 1:0.16.1-4
texinfo 7.1.1-1
thefuck 3.32-11
thunar 4.20.1-1
tinysparql 3.8.2-2
tmux 3.5_a-1
tomlplusplus 3.4.0-1
tpm2-tss 4.1.3-1
transmission-cli 4.0.6-3
trayscale 0.14.1-1.8
tree 2.2.1-1
tree-sitter 0.24.7-1
trivy 0.58.2-1
tslib 1.23-1
ttf-dejavu 2.37+18+g9b5d1b2f-7
ttf-firacode-nerd 3.3.0-1
ttf-font-awesome 6.7.2-1
ttf-jetbrains-mono-nerd 3.3.0-1
ttf-joypixels 8.0.0-2
ttf-symbola 14.00-2
ttf-twemoji 15.1.0-1
twolame 0.4.0-4
typescript 5.7.3-1
typescript-language-server 4.3.3-1
tzdata 2025a-1
udisks2 2.10.1-5
unionfs-fuse 3.6-1
unrar 1:7.1.3-1
unzip 6.0-21
upower 1.90.7-1
usbutils 018-1
util-linux 2.40.4-1
util-linux-libs 2.40.4-1
v4l-utils 1.28.1-2
v4l2loopback-dkms 0.13.2-1
valgrind 3.24.0-1
vapoursynth R70-2
vercel 39.2.2-1
vercel-debug 39.2.2-1
vi 1:070224-6
vid.stab 1.1.1-2
vim 9.1.1043-1
vim-runtime 9.1.1043-1
vlc 3.0.21-11
vmaf 3.0.0-1
volume_key 0.3.12-10
vosk-api 0.3.50-5
vscodium 1.96.4.25017-1.3
vscodium-marketplace 1.65.0-1.4
vulkan-headers 1:1.4.303-1
vulkan-icd-loader 1.4.303-1
vulkan-tools 1.4.303-2
vulkan-validation-layers 1.3.296.0-1
w3m 0.5.3.git20230713_1-1
wavpack 5.7.0-1
waybar 0.11.0-6
waybar-module-pacman-updates-git 0.2.7-1
wayland 1.23.1-1
wayland-protocols 1.39-1
webkit2gtk 2.46.5-1
webkit2gtk-4.1 2.46.5-1
webrtc-audio-processing-1 1.3-3
websocat 1.14.0-1
wev 1.0.0-13
wget 1.25.0-1
whatsapp-for-linux 1.7.0-1.3
which 2.21-6
wildmidi 0.4.6-1
wine 9.22-1
wireless_tools 30.pre9-4
wireplumber 0.5.7-1
wl-clipboard 1:2.2.1-2
wlogout 1.2.2-0.3
wlroots0.17 0.17.4-3
wmctrl 1.07-6
woff2 1.0.2-5
wofi 1.4.1-1
wofi-emoji 1.2-3
wpa_supplicant 2:2.11-2
wtype 0.4-2
wxhexeditor 0.24-4
wxwidgets-common 3.2.6-1
wxwidgets-gtk3 3.2.6-1
x264 3:0.164.r3108.31e19f9-2
x265 4.0-1
xautomation 1.09-6
xcb-proto 1.17.0-3
xcb-util 0.4.1-2
xcb-util-cursor 0.1.5-1
xcb-util-errors 1.0.1-2
xcb-util-image 0.4.1-3
xcb-util-keysyms 0.4.1-5
xcb-util-renderutil 0.3.10-2
xcb-util-wm 0.4.2-2
xcb-util-xrm 1.3-3
xdelta3 3.1.0-5
xdg-dbus-proxy 0.1.6-1
xdg-desktop-portal 1.18.4-2
xdg-desktop-portal-hyprland 1.3.9-3
xdg-user-dirs 0.18-2
xdg-utils 1.2.1-1
xf86-input-libinput 1.5.0-1
xfconf 4.20.0-2
xkeyboard-config 2.43-1
xmlsec 1.3.6-1
xorg-fonts-alias-misc 1.0.5-1
xorg-fonts-encodings 1.1.0-1
xorg-fonts-misc 1.0.4-2
xorg-mkfontscale 1.2.3-1
xorg-server 21.1.15-1
xorg-server-common 21.1.15-1
xorg-setxkbmap 1.3.4-2
xorg-xauth 1.1.3-1
xorg-xcursorgen 1.0.8-2
xorg-xdpyinfo 1.3.4-2
xorg-xhost 1.0.9-2
xorg-xinit 1.4.3-1
xorg-xinput 1.6.4-2
xorg-xkbcomp 1.4.7-1
xorg-xmodmap 1.0.11-2
xorg-xprop 1.2.8-1
xorg-xrandr 1.5.3-1
xorg-xrdb 1.2.2-2
xorg-xset 1.2.5-2
xorg-xwayland 24.1.4-1
xorg-xwd 1.0.9-2
xorgproto 2024.1-2
xvidcore 1.3.7-3
xxhash 0.8.3-1
xz 5.6.3-1
yajl 2.1.0-6
yaml-cpp 0.8.0-2
yarn 1.22.22-2
yay 12.4.2-1.1
zbar 0.23.93-4
zen-browser-bin 1.7.1b-1
zenity 4.0.3-1
zeromq 4.3.5-2
zig 0.13.0-2
zimg 3.0.5-1
zip 3.0-11
zix 0.6.2-1
zlib 1:1.3.1-2
zoom 6.3.6-1.11
zsh 5.9-5
zstd 1.5.6-1
zvbi 0.2.42-1
zxing-cpp 2.3.0-4
zycore-c 1.5.0-1
zydis 4.1.0-1
zziplib 0.13.78-1

2.5. AppImages

These are portable applications Naomi has installed locally.

<none>

3. Configuration

Naomi’s specific application configurations are noted here for posterity.

3.1. git

The global gitconfig goes in ~/.gitconfig.

The most important thing to note is that Naomi signs her commits with her SSH key, not a GPG key.

[gpg]
format = ssh
[gpg "ssh"]
program = /opt/1Password/op-ssh-sign
[commit]
gpgsign = true
[user]
signingkey = ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDFObmWsDIA2Y95uY8PVmepbTkjG2EFp36PTcnHCi/MYlaBlVPT8c0ixLj6XMwGaTWiiw+SaoSds1zf/WFRfkd8KujWWLQg0xE9Nh0oThF07HwoRIvi1YuAa69TmOSaNaT1YjX5uCIp7QNck5AkLckMK6v5Vhb5XPwZktEp96IBCQqdBcV2F6wX6Oro73iqGCoiAcUZRzeA9dzLtNCg77n3hFKrSeNpuXzX/3SiVOx9x2+3vZdyLlCXogQvH29LU8exPaYOor2h+ijPLVRivlO+yyt6s11iArrVhgINRpTEDbHde7GtNzQeLRNdnFyFSwkj1KPVpbfvAWDTbzteCawic0OP5swQ0rFLtjSnQI+K2GqFFu+Nvypz3YX5ozqTBSFudyI5XZgLObIsR/Lug6zEdRnvoKDnHcBqRxnZeHOD5Mq+oHrHSyA8KROLH+XmtFwdtyakw1NnuwLrFM08HOHKFBj66zgU1SSNjUiUkv3lBIhlDIVAWDk7XG5yRJx0GzcNLA4vvIKhS3SVOqZezRVrfB60SglOIPOgxjvWJuY9jCTcN5aKBT46+Hjam3dF754dx3rG103Azvn0/b3Hicf30+LpRNtxi4k+QdD4q/LlRmsrSl00S4wcfaKeza7L8WAAUNmfCqeApJ06U1O+TopJikzT5bT5ObHyDeUgHdB1jw==
name = Naomi Carrigan
[core]
editor = emacs -nw
[push]
autoSetupRemote = true
[init]
defaultBranch = main

3.2. zsh

The zsh config goes in ~/.zshrc.

Naomi uses Oh My ZSH instead of bash.

Terminal window
# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc.
# Initialization code that may require console input (password prompts, [y/n]
# confirmations, etc.) must go above this block; everything else may go below.
if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
fi
####################
# Dotfile for Oh My Zsh.
# Installs on top of zsh,
# so install that first.
####################
# SYSTEM
####################
# Path to your Oh My Zsh installation.
export ZSH="$HOME/.oh-my-zsh"
# Theme
ZSH_THEME="powerlevel10k/powerlevel10k"
# Plugins
plugins=(git zsh-256color zsh-autosuggestions zsh-syntax-highlighting)
source $ZSH/oh-my-zsh.sh
# User configuration
####################
# Load nvm on arch
source /usr/share/nvm/init-nvm.sh
# Load spicetify
export PATH=$PATH:/home/naomi/.spicetify
##################
# Aliases
#################
# We're lazy. :3
alias zshrc="source ~/.zshrc"
alias hyprconf="emacs -nw ~/.config/hypr/hyprland.conf"
# We hate nano
alias nano="emacs -nw"
alias code="emacs -nw ."
# We hate sudo more
# alias sudo="doas"
# Listing files
alias ls="eza -ahl --extended --octal-permissions --git -g"
# More details on which thing to run
alias which="type -a"
# Untar
alias untar="tar -xvzf"
# Packages
alias yay-list="yay -Qs"
alias yay-clean="yay -Scc"
alias yay-update="yay -Syu"
alias yay-new="yay -Syuu"
alias yay-install="yay" # Just for consistency.
alias yay-uninstall="yay -R"
# File System
alias .2="cd ../.."
alias .3="cd ../../.."
alias .4="cd ../../../.."
alias .5="cd ../../../../.."
alias delete="rm -rf"
alias cp="cp -i"
alias mkdir="mkdir -p"
# git
alias clone="git clone"
alias comm="git add -A && git commit"
alias commv="git add -A && git commit --no-verify"
alias push="git push"
alias pull="git pull"
alias upmain="git checkout main && git fetch upstream && git merge upstream/main"
alias co="git checkout"
alias cob="git checkout -b"
alias fcc="cd ~/code/freecodecamp"
alias ridm="cd ~/code/rythm"
alias sc="cd ~/code/streamcord"
alias dg="cd ~/code/deepgram"
alias naomi="cd ~/code/naomi"
alias hug="curl -L https://api.github.com/octocat\?s\=You%20deserve%20a%20hug"
alias obs="~/obs/usr/bin/obs"
alias tunnel2="cloudflared tunnel --config ~/.cloudflared/local2.yml run local2"
alias tunnel1="cloudflared tunnel --config ~/.cloudflared/local.yml run local"
# Silly
alias tree="cbonsai -S"
alias poke="pokemon-colorscripts --no-title -r"
alias fish="asciiquarium --transparent"
alias matrix="cmatrix -r"
alias pipe="pipes.sh"
alias hacker="hollywood"
# Run this on terminal load, because it's pretty.
hyfetch
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
# THE FUCK
eval $(thefuck --alias)
# pnpm
export PNPM_HOME="/home/naomi/.local/share/pnpm"
case ":$PATH:" in
*":$PNPM_HOME:"*) ;;
*) export PATH="$PNPM_HOME:$PATH" ;;
esac
# pnpm end
export PATH=$HOME/.local/bin:$PATH
# sonarqube
export SONAR_SCANNER_HOME="/opt/sonar-scanner"
export PATH=${SONAR_SCANNER_HOME}/bin:${PATH}
# dotnet tools
export PATH="$PATH:/home/naomi/.dotnet/tools"

3.3. pacman

The pacman config goes in /etc/pacman.conf.

Naomi’s package manager configuration.

[options]
HoldPkg = pacman glibc
Architecture = auto
CheckSpace
SigLevel = Required DatabaseOptional
LocalFileSigLevel = Optional
[core]
Include = /etc/pacman.d/mirrorlist
[extra]
Include = /etc/pacman.d/mirrorlist
[multilib]
Include = /etc/pacman.d/mirrorlist
[chaotic-aur]
Include = /etc/pacman.d/chaotic-mirrorlist
[sublime-text]
Server = https://download.sublimetext.com/arch/stable/x86_64

3.4. Hexchat

Naomi’s IRC config, mostly so she doesn’t lose it.

Her channel list goes in ~/.config/hexchat/servlist.conf.

Terminal window
N=Libera.Chat
P=<you wish i was putting my password here>
L=6
E=UTF-8 (Unicode)
F=95
D=29
S=irc.libera.chat
J=#nhcarrigan
J=##chat
J=##programming
J=#archlinux
J=#archlinux-offtopic
J=#archlinux-women
J=#codeberg
J=#nhcarrigan-announcements
J=#nhcarrigan-chat
J=#nhcarrigan-socials

3.5 hyprland

This is Naomi’s hyprland config, which goes in ~/.config/hypr/hyprland.conf.

################
### MONITORS ###
################
monitor=HDMI-A-1,1920x1080,0x0,1
monitor=DP-3,1920x1080,3840x0,1
monitor=DP-2,1920x1080,1920x0,1
###################
### MY PROGRAMS ###
###################
$terminal = ghostty
$fileManager = thunar
$menu = wofi --show=drun --allow-images
#################
### AUTOSTART ###
#################
# Clipboard manager
exec-once = wl-paste --watch cliphist store
# This creates the GUI for apps to ask for sudo perms
exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
exec-once = hyprpaper
exec-once = hypridle
exec-once = waybar
# Dark theming
exec-once = gsettings set org.gnome.desktop.interface gtk-theme "Sweet-Ambar-Blue-Dark-v40"
exec-once = gsettings set org.gnome.desktop.interface color-scheme prefer-dark
exec-once = gsettings set org.gnome.desktop.interface font-name 'OpenDyslexicMono 10'
# Cursors
exec-once = gsettings set org.gnome.desktop.interface cursor-theme miku-cursor-linux
exec-once = hyprctl setcursor miku-cursor-linux 24
exec-once = echo "Xcursor.theme: miku-cursor-linux" | xrdb -merge
#############################
### ENVIRONMENT VARIABLES ###
#############################
env = XCURSOR_SIZE,32
env = HYPRCURSOR_SIZE,32
env = LIBVA_DRIVER_NAME,nvidia
env = XDG_SESSION_TYPE,wayland
env = GBM_BACKEND,nvidia-drm
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
env = WLR_NO_HARDWARE_CURSORS,1
env = WLR_RENDERER,gles2
debug {
disable_logs = false
}
#####################
### LOOK AND FEEL ###
#####################
general {
gaps_in = 5
gaps_out = 10
border_size = 2
col.active_border = rgba(ff0000ee) rgba(ff7f00ee) rgba(ffff00ee) rgba(00ff00ee) rgba(0000ffee) rgba(4b0082ee) rgba(9400d3ee) 270deg
col.inactive_border = rgba(ff0000ee) rgba(ff7f00ee) rgba(ffff00ee) rgba(00ff00ee) rgba(0000ffee) rgba(4b0082ee) rgba(9400d3ee) 270deg
resize_on_border = true
allow_tearing = false
layout = dwindle
}
decoration {
rounding = 10
active_opacity = 1
inactive_opacity = 0.6
shadow {
enabled = true
range = 10
render_power = 1
color = rgba(00c7a9ee)
color_inactive = rgba(00806cff)
}
blur {
enabled = true
size = 8
passes = 1
vibrancy = 0.1696
}
}
animations {
enabled = true
bezier = borders, 0.0, 0.0, 1.0, 1.0
animation = windows, 1, 20, default, popin 0%
animation = windowsOut, 1, 20, default, popin 0%
animation = border, 1, 60, default
animation = borderangle, 1, 60, borders, loop
animation = fadeIn, 1, 20, default
animation = fadeDim, 1, 20, default
animation = fadeOut, 1, 20, default
animation = workspaces, 1, 20, default, fade
}
dwindle {
pseudotile = true
preserve_split = true
}
master {
new_status = master
}
misc {
force_default_wallpaper = 0
disable_hyprland_logo = true
disable_splash_rendering = true
font_family = "OpenDyslexicM Nerd Font"
}
#############
### INPUT ###
#############
input {
kb_layout = us
numlock_by_default = true
follow_mouse = 1
sensitivity = 0
}
####################
### KEYBINDINGSS ###
####################
$mainMod = SUPER # Sets "Windows" key as main modifier
# Screenshots
bind = ,Print, exec, grimshot --notify --cursor copy area
bind = CTRL, Print, exec, grimshot --notify --cursor --wait 5 copy area
bind = $mainMod, Q, exec, $terminal
bind = $mainMod, C, killactive,
bind = $mainMod, E, exec, $fileManager
bind = $mainMod, V, togglefloating,
bind = $mainMod, R, exec, $menu
bind = $mainMod, X, exec, cliphist list | wofi --dmenu | cliphist decode | wl-copy
# Move focus with mainMod + arrow keys
bind = $mainMod, left, movefocus, l
bind = $mainMod, right, movefocus, r
bind = $mainMod, up, movefocus, u
bind = $mainMod, down, movefocus, d
# Switch workspaces with mainMod + [0-9]
bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2
bind = $mainMod, 3, workspace, 3
bind = $mainMod, 4, workspace, 4
bind = $mainMod, 5, workspace, 5
bind = $mainMod, 6, workspace, 6
bind = $mainMod, 7, workspace, 7
bind = $mainMod, 8, workspace, 8
bind = $mainMod, 9, workspace, 9
bind = $mainMod, 0, workspace, 10
bind = $mainMod SHIFT, 1, workspace, 11
bind = $mainMod SHIFT, 2, workspace, 12
bind = $mainMod SHIFT, 3, workspace, 13
bind = $mainMod SHIFT, 4, workspace, 14
bind = $mainMod SHIFT, 5, workspace, 15
bind = $mainMod SHIFT, 6, workspace, 16
bind = $mainMod SHIFT, 7, workspace, 17
bind = $mainMod SHIFT, 8, workspace, 18
bind = $mainMod SHIFT, 9, workspace, 19
bind = $mainMod SHIFT, 0, workspace, 20
bind = $mainMod CTRL, 1, workspace, 21
bind = $mainMod CTRL, 2, workspace, 22
bind = $mainMod CTRL, 3, workspace, 23
bind = $mainMod CTRL, 4, workspace, 24
bind = $mainMod CTRL, 5, workspace, 25
bind = $mainMod CTRL, 6, workspace, 26
bind = $mainMod CTRL, 7, workspace, 27
bind = $mainMod CTRL, 8, workspace, 28
bind = $mainMod CTRL, 9, workspace, 29
bind = $mainMod CTRL, 0, workspace, 30
# Scroll through existing workspaces with mainMod + scroll
bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up, workspace, e-1
# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow
# Move windows with arrow keys
bind = $mainMod SHIFT, left, movewindow, l
bind = $mainMod SHIFT, right, movewindow, r
bind = $mainMod SHIFT, down, movewindow, d
bind = $mainMod SHIFT, up, movewindow, u
# Lockscreen
bind = $mainMod, L, exec, hyprlock
# Emoji Picker
bind = CTRL $mainMod, code:60, exec, rofimoji -f all -a copy --skin-tone light
bind = $mainMod, code:60, exec, rofimoji -a copy --skin-tone light
# Volume
bind = , XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +1%
bind = , XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -1%
bind = , XF86AudioMute, exec, pactl set-sink-mute @DEFAULT_SINK@ toggle
# Media controls
bind = , XF86AudioPlay, exec, playerctl play-pause
bind = , XF86AudioNext, exec, playerctl next
bind = , XF86AudioPrev, exec, playerctl previous
##############################
### WINDOWS AND WORKSPACES ###
##############################
workspace=1,monitor:HDMI-A-1,default:true,persistent:false,defaultName:disc
workspace=2,monitor:DP-3,default:true,persistent:false,defaultName:web
workspace=3,monitor:DP-2,default:true,persistent:false,defaultName:main
workspace=4,monitor:HDMI-A-1,default:false,persistent:false,defaultName:gchat
workspace=5,monitor:HDMI-A-1,default:false,persistent:false,defaultName:slack
workspace=6,monitor:HDMI-A-1,default:false,persistent:false,defaultName:roam
workspace=7,monitor:HDMI-A-1,default:false,persistent:false,defaultName:wapp
workspace=8,monitor:HDMI-A-1,default:false,persistent:false,defaultName:mtrx
workspace=9,monitor:HDMI-A-1,default:false,persistent:false,defaultName:irc
workspace=10,monitor:DP-3,default:false,persistent:false,defaultName:music
workspace=11,monitor:DP-2,default:false,persistent:false,defaultName:subl
workspace=12,monitor:DP-2,default:false,persistent:false,defaultName:mail
workspace=13,monitor:DP-2,default:false,persistent:false,defaultName:pass
workspace=14,monitor:DP-2,default:false,persistent:false,defaultName:esp
workspace=15,monitor:DP-2,default:false,persistent:false,defaultName:steam
workspace=16,monitor:DP-3,default:false,persistent:false,defaultName:tube
windowrulev2 = workspace 1, title:.*Discord.*
windowrulev2 = workspace 2, title:.*Zen Browser.*
windowrulev2 = workspace 4, title:.*Google Chat.*
windowrulev2 = workspace 5, title:.*Slack.*
windowrulev2 = workspace 6, title:.*Roam.*
windowrulev2 = workspace 7, title:.*WasIstLos.*
windowrulev2 = workspace 8, title:.*Cinny.*
windowrulev2 = workspace 9, title:.*HexChat.*
windowrulev2 = workspace 10, title:.*Spotify.*
windowrulev2 = workspace 11, title:.*Sublime Text.*
windowrulev2 = workspace 12, title:.*Proton Mail.*
windowrulev2 = workspace 13, title:.*1Password.*
windowrulev2 = workspace 14, title:.*Espanso.*
windowrulev2 = workspace 15, title:.*Steam.*
windowrulev2 = workspace 16, title:.*FreeTube.*
windowrulev2 = opacity 1.0 override, title:.*FreeTube.*
#################
### AUTOSTART ###
#################
# Applications
exec-once = discord
exec-once = zen-browser
exec-once = google-chat-linux
exec-once = slack
exec-once = roam
exec-once = wasistlos
exec-once = cinny
exec-once = hexchat
exec-once = spotify
exec-once = subl
exec-once = proton-mail
exec-once = 1password
exec-once = steam
exec-once = freetube
exec-once = hyprshade toggle ~/.config/hypr/shaders/retro.glsl

This file goes in ~/.config/hypr/shaders/retro.glsl:

precision mediump float;
varying vec2 v_texcoord;
uniform sampler2D tex;
void main() {
vec2 tc = vec2(v_texcoord.x, v_texcoord.y);
// Distance from the center
float dx = abs(0.5-tc.x);
float dy = abs(0.5-tc.y);
// Square it to smooth the edges
dx *= dx;
dy *= dy;
// Barrel distortion
tc.x -= 0.5;
tc.x *= 1.0 + (dy * 0.05);
tc.x += 0.5;
tc.y -= 0.5;
tc.y *= 1.0 + (dx * 0.18);
tc.y += 0.5;
// Get texel and add scanline effect
vec4 cta = texture2D(tex, vec2(tc.x, tc.y));
cta.rgb += sin(tc.y * 1250.0) * 0.02;
// Cutoff for edges
if(tc.y > 1.0 || tc.x < 0.0 || tc.x > 1.0 || tc.y < 0.0)
cta = vec4(0.0);
gl_FragColor = cta;
}

3.5.1. hyprpaper

This goes in ~/.config/hypr/hyprpaper.conf.

preload=/home/naomi/pics/wall.jpg
wallpaper=DP-2,/home/naomi/pics/wall.jpg
wallpaper=DP-3,/home/naomi/pics/wall.jpg
wallpaper=HDMI-A-1,/home/naomi/pics/wall.jpg

3.5.2. hyprlock

This goes in ~/.config/hypr/hyprlock.conf.

background {
monitor =
path = /home/naomi/pics/lock.png
blur_passes = 2
}
# INPUT FIELD
input-field {
monitor =
size = 250, 60
outline_thickness = 2
dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8
dots_spacing = 0.35 # Scale of dots' absolute size, 0.0 - 1.0
dots_center = true
outer_color = rgb(4, 98, 79)
inner_color = rgb(4, 98, 79)
font_color = rgb(171, 252, 236)
fade_on_empty = false
rounding = -1
check_color = rgb(204, 136, 34)
placeholder_text = <i><span foreground="##abfcec">Input Password...</span></i>
hide_input = false
position = 0, -200
halign = center
valign = center
}
# DATE
label {
monitor =
text = cmd[update:1000] echo "$(dat//;'.;"?.;e +"%A, %B %d")"
color = rgb(171, 252, 236)
font_size = 22
font_family = OpenDyslexicMono
position = 0, 300
halign = center
valign = center
}
# TIME
label {
monitor =
text = cmd[update:1000] echo "$(date +"%-I:%M")"
color = rgb(171, 252, 236)
font_size = 95
font_family = OpenDyslexicMono
position = 0, 200
halign = center
valign = center
}

3.5.3. hypridle

This goes in ~/.config/hypr/hypridle.conf.

listener {
timeout = 240
on-timeout = notify-send "Locking screen due to inactivity"
}
listener {
timeout = 300
on-timeout = hyprlock
}

3.6 Waybar

These manage Naomi’s waybar instance.

All of these files go in ~/.config/waybar.

config.jsonc

{
"layer": "top",
"position": "top",
"mode": "dock",
"height": 35,
"exclusive": true,
"passthrough": false,
"gtk-layer-shell": true,
"reload_style_on_change": true,
"modules-left": ["custom/ws", "hyprland/workspaces", "hyprland/window"],
"modules-center": [
"custom/storage",
"custom/cpuinfo",
"memory",
"cpu",
"custom/gpu-usage",
"custom/arch",
"clock#time",
"clock#date",
"custom/weather"
],
"modules-right": [
"pulseaudio",
"custom/updates",
"tray",
"custom/notifs",
"custom/power"
],
"custom/notifs": {
"exec": "~/.config/waybar/scripts/dunst.sh",
"return-type": "json",
"interval": 1,
"tooltip": false,
"on-click": "dunstctl history-pop",
"on-click-right": "dunstctl set-paused toggle"
},
"custom/ws": {
"format": "",
"tooltip": false,
"on-click": "wofi --show=drun --allow-images"
},
"custom/gpu-usage": {
"format": "{icon} {0}",
"exec": "gpu-usage-waybar",
"return-type": "json",
"format-icons": "󰾲",
"on-click": "kitty nvtop",
"min-length": 8,
"max-length": 10
},
"custom/weather": {
"exec": "python ~/.config/waybar/scripts/weather.py",
"restart-interval": 300,
"return-type": "json",
"on-click": "zen-browser https://weather.com/weather/today/l/f1fc8cc5233b6f8620dda922b1cb97b5cc8781f508c572de2f969ff79c7b293a"
},
"custom/updates": {
"format": "{} {icon}",
"return-type": "json",
"format-icons": {
"has-updates": "<span foreground='#cc0099'>󱍷</span>",
"updated": "<span foreground='#00b300'>󰂪</span>"
},
"exec-if": "which waybar-module-pacman-updates",
"exec": "waybar-module-pacman-updates --interval-seconds 5 --network-interval-seconds 300",
"min-length": 4,
"max-length": 8,
"on-click": "kitty yay -Syu"
},
"hyprland/workspaces": {
"all-outputs": false,
"active-only": false,
"on-click": "activate",
"disable-scroll": true,
"sort-by-number": true
},
"hyprland/window": {
"format": "{}",
"separate-outputs": true,
"rewrite": {
"naomi@technomancer:(.*)": " $1",
"(.*)naomi@technomancer:~": " naomi@technomancer",
"(.*) - Visual Studio Code": "<span foreground='#89b4fa'>󰨞</span> $1",
"(.*) - VSCodium": "<span foreground='#89b4fa'>󰨞</span> $1",
"(.*) - Sublime Text(.*)": "<span foreground='#f9e2af'>󰘦</span> $1",
"(.*)Zen Browser": "<span foreground='#94e2d5'>󰇧</span> $1",
"(.*) — 1Password": "<span foreground='#89b4fa'>󰢁</span> $1",
"(.*) - Slack": "<span foreground='#f38ba8'>󰒱</span> $1",
"Chat": "<span foreground='#a6e3a1'>󰊭</span> Google Chat",
"(.*) - Roam": "<span foreground='#cba6f7'></span> $1",
"Proton Mail": "<span foreground='#fab387'>󰊫</span> Mail",
"(.*)Steam": "<span foreground='#89b4fa'>󰓓</span> Steam",
"(.*) - Discord": "<span foreground='#5865F2'></span> $1",
"(.*)GNU Image Manipulation Program": "<span foreground='#a6adc8'></span> $1",
"(.*)GIMP": "<span foreground='#a6adc8'></span> $1",
"OBS(.*)": "<span foreground='#a6adc8'></span> OBS Studio",
"(.*).jpg": " $1.jpg",
"(.*).png": " $1.png",
"(.*).svg": " $1.svg",
"(.*)Thunar": " $1",
"": "<span foreground='#cba6f7'></span> Naomi 󰅂 Technomancer"
}
},
"custom/cpuinfo": {
"exec": "~/.config/waybar/scripts/cpuinfo.sh",
"return-type": "json",
"format": "{}",
"tooltip": true,
"interval": 5,
"on-click": "kitty watch sensors"
},
"memory": {
"states": { "c": 90 },
"format": "󰘚 {percentage}%",
"format-c": "<span foreground='#cc0000'>󰀪</span> {percentage}%",
"tooltip": true,
"tooltip-format": "{used:0.1f}GB / {total:0.1f}GB",
"interval": 20,
"on-click": "kitty btop"
},
"cpu": {
"format": "󰻠 {usage}%",
"tooltip": true,
"interval": 5,
"on-click": "kitty htop"
},
"custom/arch": {
"format": "",
"tooltip": true,
"tooltip-format": "Arch Version: {}",
"interval": 86400,
"exec": "uname -r",
"on-click": "kitty"
},
"clock#time": {
"format": "󱑂 {:%H:%M:%S (%Z)} ",
"tooltip": true,
"tooltip-format": "{tz_list}",
"interval": 1,
"on-click": "gnome-clocks",
"timezones": [
"America/Los_Angeles",
"America/Chicago",
"Europe/London",
"Europe/Berlin",
"Asia/Tel_Aviv",
"Asia/Tokyo"
]
},
"clock#date": {
"format": "󱨴 {:L%A, %d %B}",
"tooltip-format": "<tt>{calendar}</tt>",
"calendar": {
"mode": "month",
"mode-mon-col": 3,
"on-click": "proton-mail",
"on-click-right": "mode",
"format": {
"months": "<span color='#f5e0dc'><b>{}</b></span>",
"weekdays": "<span color='#f9e2af'><b>{}</b></span>",
"today": "<span color='#f38ba8'><b>{}</b></span>"
}
},
"actions": { "on-click-right": "mode" }
},
"pulseaudio": {
"format": "<span foreground='#00b300'>{icon}</span> {volume}%",
"format-muted": "<span foreground='#cc0099'></span> {volume}%",
"format-icons": {
"headphone": "󰋋",
"default": ["󰖀", "󰕾"]
},
"on-click": "pactl set-sink-mute @DEFAULT_SINK@ toggle",
"on-click-right": "pavucontrol -t 3",
"on-scroll-up": "pactl set-sink-volume @DEFAULT_SINK@ +1%",
"on-scroll-down": "pactl set-sink-volume @DEFAULT_SINK@ -1%",
"scroll-step": 10
},
"custom/power": {
"format": "<span foreground='#cc0000'></span>",
"tooltip": false,
"on-click": "hyprlock",
"on-click-right": "shutdown now",
"interval": 86400
},
"tray": {
"icon-size": 15,
"spacing": 5,
"show-passive-items": true
},
"custom/storage": {
"format": "{}",
"return-type": "json",
"tooltip": true,
"interval": 10,
"exec": "~/.config/waybar/scripts/disk-use.sh",
"on-click": "baobab"
}
}

style.css

* {
border: none;
font-family: "OpenDyslexicM Nerd Font";
font-weight: bold;
font-size: 12px;
color: #00ebc7;
text-shadow: 0px 0px 5px;
}
window#waybar {
background: rgba(0, 0, 0, 0);
}
#workspaces button {
padding: 3px;
}
#workspaces button:hover {
background-color: rgba(0, 71, 60, 0.6);
padding: 2px 0px;
}
tooltip {
color: #00ebc7;
border: solid;
border-radius: 7px;
border-width: 1px;
border-color: #00ebc7;
background-color: rgba(0, 71, 60, 0.6);
}
.module {
background-color: rgba(0, 71, 60, 0.6);
border: solid;
border-radius: 10px;
border-width: 1px;
border-color: #00ebc7;
padding: 0px 4px;
margin: 0px 0px 6px 0px;
}
.modules-left .module {
margin-right: 6px;
box-shadow: 2px 2px 3px #00ebc777;
}
.modules-right .module {
margin-left: 6px;
box-shadow: -2px 2px 3px #00ebc777;
}
.modules-center .module {
margin-left: 5px;
margin-right: 5px;
box-shadow: 0px 2px 3px #00ebc777;
}
#custom-arch,
#custom-ws {
padding-left: 8px;
padding-right: 12px;
}
#custom-notifs,
#custom-power {
padding-left: 8px;
padding-right: 10px;
}

Scripts

There are a few scripts necessary for waybar to work. These all go in ~/.config/waybar/scripts:

disk-use.sh
#!/usr/bin/env sh
home_use=$(df -h /home | tail -1);
read -ra home_array <<< "$home_use"
boot_use=$(df -h /boot | tail -1);
read -ra boot_array <<< "$boot_use"
root_use=$(df -h / | tail -1);
read -ra root_array <<< "$root_use"
text=" ${home_array[2]} / ${home_array[1]}";
tooltip="Home: ${home_array[2]} / ${home_array[1]} (${home_array[4]})\nBoot: ${boot_array[2]} / ${boot_array[1]} (${boot_array[4]})\nRoot: ${root_array[2]} / ${root_array[1]} (${root_array[4]})";
echo "{\"text\":\"${text}\", \"tooltip\":\"${tooltip}\"}";
cpuinfo.sh
#!/usr/bin/env sh
model=$(cat /proc/cpuinfo | grep 'model name' | head -n 1 | awk -F ': ' '{print $2}')
utilization=$(top -bn1 | awk '/^%Cpu/ {print 100 - $8}')
freqlist=$(cat /proc/cpuinfo | grep "cpu MHz" | awk '{ print $4 }')
maxfreq=$(cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq | sed 's/...$//')
frequency=$(echo $freqlist | tr ' ' '\n' | awk "{ sum+=\$1 } END {printf \"%.0f/$maxfreq MHz\", sum/NR}")
temp=$(sensors | awk '/Package id 0/ {print $4}' | awk -F '[+.]' '{print $2}')
if [ -z "$temp" ]; then
temp=$(sensors | awk '/Tctl/ {print $2}' | tr -d '+°C')
fi
if [ -z "$temp" ]; then
temp="N/A"
fi
set_ico="{\"thermo\":{\"0\":\"󱃃\",\"45\":\"󰔏\",\"65\":\"󱃂\",\"85\":\"<span foreground='#cc0000'>󰸁</span>\"},\"util\":{\"0\":\"󰾆\",\"30\":\"󰾅\",\"60\":\"󰓅\",\"90\":\"<span foreground='#cc0000'>󰀪</span>\"}}"
eval_ico() {
map_ico=$(echo "${set_ico}" | jq -r --arg aky "$1" --argjson avl "$2" '.[$aky] | keys_unsorted | map(tonumber) | map(select(. <= $avl)) | max')
echo "${set_ico}" | jq -r --arg aky "$1" --arg avl "$map_ico" '.[$aky] | .[$avl]'
}
thermo=$(eval_ico thermo $temp)
speedo=$(eval_ico util $utilization)
echo "{\"text\":\"${thermo} ${temp}°C\", \"tooltip\":\"${model}\n${thermo} Temperature: ${temp}°C\n${speedo} Utilization: ${utilization}%\n󰘚 Clock Speed: ${frequency}\"}"
dunst.sh
#!/bin/bash
if dunstctl is-paused | grep -q "true"; then
echo '{"text": "<span foreground=\"#cc0099\"></span>", "class": "paused"}'
else
echo '{"text": "<span foreground=\"#00b300\"></span>", "class": "active"}'
fi
weather.py
#!/usr/bin/env python
import subprocess
from pyquery import PyQuery
import json
weather_icons = {
"sunnyDay": "<span foreground='#dbd402'>滛</span>",
"clearNight": "<span foreground='#3239fc'>望</span>",
"cloudyFoggyDay": "<span foreground='#e0dc62'></span>",
"cloudyFoggyNight": "<span foreground='#6368f9'></span>",
"rainyDay": "<span foreground='#dddba1'></span>",
"rainyNight": "<span foreground='#6c71fc'></span>",
"snowyIcyDay": "<span foreground='#cccbb7'></span>",
"snowyIcyNight": "<span foreground='#9c9ffc'></span>",
"severe": "<span foreground='#db0202'></span>",
"default": "",
}
location_id = "f1fc8cc5233b6f8620dda922b1cb97b5cc8781f508c572de2f969ff79c7b293a"
url = "https://weather.com/weather/today/l/" + location_id
html_data = PyQuery(url=url)
temp = html_data("span[data-testid='TemperatureValue']").eq(0).text()
status = html_data("div[data-testid='wxPhrase']").text()
status = f"{status[:16]}.." if len(status) > 17 else status
status_code = html_data("#regionHeader").attr("class").split(" ")[2].split("-")[2]
icon = (
weather_icons[status_code]
if status_code in weather_icons
else weather_icons["default"]
)
temp_feel = html_data(
"div[data-testid='FeelsLikeSection'] > span > span[data-testid='TemperatureValue']"
).text()
temp_feel_text = f"Feels like {temp_feel}F"
temp_min = (
html_data("div[data-testid='wxData'] > span[data-testid='TemperatureValue']")
.eq(0)
.text()
)
temp_max = (
html_data("div[data-testid='wxData'] > span[data-testid='TemperatureValue']")
.eq(1)
.text()
)
temp_min_max = f" {temp_min}\t\t{temp_max}"
wind_speed = html_data("span[data-testid='Wind']").text().split("\n")[1]
wind_text = f"煮 {wind_speed}"
humidity = html_data("span[data-testid='PercentageValue']").text()
humidity_text = f" {humidity}"
visbility = html_data("span[data-testid='VisibilityValue']").text()
visbility_text = f" {visbility}"
air_quality_index = html_data("text[data-testid='DonutChartValue']").text()
prediction = html_data("section[aria-label='Hourly Forecast']")(
"div[data-testid='SegmentPrecipPercentage'] > span"
).text()
prediction = prediction.replace("Chance of Rain", "")
prediction = f"\n\n  (hourly) {prediction}" if len(prediction) > 0 else prediction
tooltip_text = str.format(
"\t\t{}\t\t\n{}\n{}\n{}\n\n{}\n{}\n{}{}",
f'<span size="xx-large">{temp}</span>',
f"<big>{icon}</big>",
f"<big>{status}</big>",
f"<small>{temp_feel_text}</small>",
f"<big>{temp_min_max}</big>",
f"{wind_text}\t{humidity_text}",
f"{visbility_text}\tAQI {air_quality_index}",
f"<i>{prediction}</i>",
)
out_data = {
"text": f"{icon} {temp}",
"alt": status,
"tooltip": tooltip_text,
"class": status_code,
}
print(json.dumps(out_data))

3.7 Ghostty

This goes in ~/.config/ghostty/config (without a file extension).

font-family="OpenDyslexicM Nerd Font"
theme="OceanBreeze"
background-opacity=0.7

And this goes in ~/.config/ghostty/themes/OceanBreeze.

palette = 0=#022b23
palette = 1=#ff6b6b
palette = 2=#4ddbba
palette = 3=#ffd93d
palette = 4=#6bc5ff
palette = 5=#ff92df
palette = 6=#89ffea
palette = 7=#c4fcf2
palette = 8=#044a3c
palette = 9=#ff8585
palette = 10=#6bedcc
palette = 11=#ffe074
palette = 12=#92d5ff
palette = 13=#ffb2e7
palette = 14=#a9fff0
palette = 15=#e2fcf8
background = #012a22
background-blur-radius = 20
foreground = #abfcec
selection-background = #1a7765
selection-foreground = #d2fcf4
cursor-color = #abfcec
cursor-text = #04624f

3.8 Discord

This file goes in ~/.config/discord/settings.json.

{
"chromiumSwitches": {},
"IS_MAXIMIZED": false,
"IS_MINIMIZED": false,
"WINDOW_BOUNDS": {
"x": 22,
"y": 42,
"width": 1876,
"height": 1016
},
"SKIP_HOST_UPDATE": true,
"DANGEROUS_ENABLE_DEVTOOLS_ONLY_ENABLE_IF_YOU_KNOW_WHAT_YOURE_DOING": true,
"MINIMIZE_TO_TRAY": true
}

3.9 Hyfetch

There are two config files here. The first is for hyfetch itself, and goes in ~/.config/hyfetch.json.

{
"preset": "transfeminine",
"mode": "rgb",
"light_dark": "dark",
"lightness": 0.81,
"color_align": {
"mode": "vertical",
"custom_colors": [],
"fore_back": []
},
"backend": "neofetch",
"args": null,
"distro": null,
"pride_month_shown": [],
"pride_month_disable": false,
"image": "/home/naomi/pics/profile.png"
}

The second goes in ~/.config/neofetch/config.conf.

home_disk_info() {
df -h | grep '/home$' | awk '{printf "%s: %s/%s (%s)", $NF, $3, $2, $5}'
}
boot_disk_info() {
df -h | grep '/boot$' | awk '{printf "%s: %s/%s (%s)", $NF, $3, $2, $5}'
}
root_disk_info() {
df -h | grep '/$' | awk '{printf "%s: %s/%s (%s)", $NF, $3, $2, $5}'
}
print_info() {
info title
info underline
info "OS" distro
info "├─Kernel" kernel
info "├─Locale" locale
info "├─Shell" shell
print "├─WM" "$(hyprland --version | head -n1)"
info "├─Terminal" term
info "└───Terminal Font" term_font
info "Host" model
info "├─BIOS" bios
info "├─CPU" cpu
info "├─GPU" gpu
info "├───GPU Driver" gpu_driver
prin "├─Disk" "$(home_disk_info)"
prin "├───Root" "$(root_disk_info)"
prin "├───Boot" "$(boot_disk_info)"
info "└─Memory" memory
prin ""
prin "Programming Languages"
info underline
prin "Bash" "$(bash --version | head -n1 | grep -o "version [0-9]\+\.[0-9]\+\.[0-9]\+" | cut -d' ' -f2)"
prin "Clang" "$(clang --version | head -n1 | grep -o "[0-9]\+\.[0-9]\+\.[0-9]\+")"
prin "C++" "$(cpp --version | head -n1 | grep -o "[0-9]\+\.[0-9]\+\.[0-9]\+")"
prin "Dart" "$(dart --version | grep -o "SDK version: [0-9]\+\.[0-9]\+\.[0-9]\+" | cut -d' ' -f3)"
prin "└─Flutter" "$(flutter --version | grep -o "Flutter [0-9]\+\.[0-9]\+\.[0-9]\+" | cut -d' ' -f2)"
prin "Dotnet" "$(dotnet --version)"
prin "└─C-sharp Compiler" "$(csc -v | head -n1 | grep -o "[0-9]\+\.[0-9]\+\.[0-9]\+-[0-9]\+\.[0-9]\+[0-9]\+\.[0-9]\+")"
prin "Go" "$(go version | grep -o "go[0-9]\+\.[0-9]\+\.[0-9]\+" | sed 's/go//')"
prin "Haskell" "$(ghc --version | head -n1 | grep -o "version [0-9]\+\.[0-9]\+\.[0-9]\+" | cut -d' ' -f2)"
prin "└─Cabal" "$(cabal --version | head -n1 | grep -o "[0-9]\+\.[0-9]\+\.[0-9]\+")"
prin "Java" "$(java -version 2>&1 | head -n1 | grep -o "[0-9]\+\.[0-9]\+\.[0-9]\+" | cut -d' ' -f2)"
prin "├─Gradle" "$(gradle -v | head -n3 | tail -n1 | grep -o "Gradle [0-9]\+\.[0-9]\+\.[0-9]\+" | cut -d' ' -f2)"
prin "└─Kotlin" "$(kotlin -version | grep -o "[0-9]\+\.[0-9]\+\.[0-9]\+-release")"
prin "Lua" "$(lua -v | grep -o "[0-9]\+\.[0-9]\+\.[0-9]\+")"
prin "PHP" "$(php -v | head -n1 | grep -o "[0-9]\+\.[0-9]\+\.[0-9]\+")"
prin "Python" "$(python --version | grep -o "[0-9]\+\.[0-9]\+\.[0-9]\+" | head -n1)"
prin "└─PIP" "$(pip --version | grep -o "[0-9]\+\.[0-9]\+\.[0-9]\+" | head -n1)"
prin "Node" "$(node -v)"
prin "├─NPM" "$(npm -v)"
prin "├─Yarn" "$(yarn -v)"
prin "└─PNPM" "$(pnpm -v)"
prin "Ruby" "$(ruby -v | grep -o "[0-9]\+\.[0-9]\+\.[0-9]\+")"
prin "Rust" "$(rustc --version | grep -o "[0-9]\+\.[0-9]\+\.[0-9]\+")"
prin "├─Rustup" "$(rustup -V | grep -o "[0-9]\+\.[0-9]\+\.[0-9]\+")"
prin "└─Cargo" "$(cargo version | grep -o "[0-9]\+\.[0-9]\+\.[0-9]\+")"
prin "TypeScript" "$(tsc -v | grep -o "[0-9]\+\.[0-9]\+\.[0-9]\+")"
prin "Zig" "$(zig version)"
prin ""
prin "Databases"
info underline
prin "MongoDB" "$(mongod --version | head -n1 | grep -o "[0-9]\+\.[0-9]\+\.[0-9]\+")"
prin "└─Mongo Shell" "$(mongo --version | head -n1 | grep -o "[0-9]\+\.[0-9]\+\.[0-9]\+")"
prin "MySQL" "$(mysql --version | grep -o "[0-9]\+\.[0-9]\+\.[0-9]\+")"
prin "PostgreSQL" "$(psql --version | grep -o "[0-9]\+\.[0-9]\+")"
prin ""
prin "Tools"
info underline
prin "Browser" "Zen $(zen-browser --version | grep -o "[0-9]\+\.[0-9]\+\.[0-9]\+-[a-z]\+\.[0-9]\+")"
prin "Editor" "VSCodium $(codium --version | head -n1)"
prin "├─Emacs" "$(emacs --version | head -n1 | grep -o "[0-9]\+\.[0-9]\+")"
prin "└─Nano" "$(nano --version | grep -o "[0-9]\+\.[0-9]\+")"
}
title_fqdn="on"
kernel_shorthand="on"
distro_shorthand="off"
os_arch="on"
memory_percent="on"
memory_unit="gib"
mem_precision=2
shell_path="on"
shell_version="on"
speed_type="bios_limit"
speed_shorthand="on"
cpu_brand="on"
cpu_speed="on"
cpu_cores="logical"
cpu_temp="on"
gpu_brand="on"
gpu_type="all"
refresh_rate="on"
gtk3="on"
bold="on"
underline_enabled="on"
underline_char="-"
separator=":"
block_range=(0 15)
color_blocks="on"
block_width=3
block_height=1
col_offset="auto"
bar_char_elapsed="-"
bar_char_total="="
bar_border="on"
bar_length=15
bar_color_elapsed="distro"
bar_color_total="distro"
memory_display="on"
disk_display="on"
image_backend="kitty"
image_source="/home/naomi/pics/profile.png"
image_loop="off"
thumbnail_dir="${XDG_CACHE_HOME:-${HOME}/.cache}/thumbnails/neofetch"
crop_mode="normal"
crop_offset="center"
image_size="auto"
catimg_size="2"
gap=3
yoffset=0
xoffset=0
background_color=
stdout="off"

3.10 Wofi

This file goes in ~/.config/wofi/style.css.

#window {
background-color: rgba(4, 98, 79, 0.33);
box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
border-radius: 1rem;
font-size: 1.2rem;
font-family: "OpenDyslexicM Nerd Font";
}
#window #outer-box #input {
background-color: rgba(4, 98, 79, 0.33);
color: #abfcec;
border: none;
border-bottom: 1px solid rgba(24, 24, 24, 0.2);
padding: 0.8rem 1rem;
font-size: 1.5rem;
border-radius: 1rem 1rem 0 0;
}
#window #outer-box #input:focus,
#window #outer-box #input:focus-visible,
#window #outer-box #input:active {
border: none;
outline: 2px solid transparent;
outline-offset: 2px;
}
#window #outer-box #scroll #inner-box #entry {
color: #fff;
background-color: rgba(24, 24, 24, 0.1);
padding: 0.6rem 1rem;
}
#window #outer-box #scroll #inner-box #entry #img {
width: 1rem;
margin-right: 0.5rem;
}
#window #outer-box #scroll #inner-box #entry:selected {
color: #fff;
background-color: rgba(255, 255, 255, 0.1);
outline: none;
}

3.11 Dunst

dunst manages Naomi’s system notifications, and (like many other aspects of her environment) has been highly customised. This file goes in ~/.config/dunst/dunstrc.

[global]
follow=mouse
width=(0, 750)
height=(0, 1000)
notification_limit=10
origin=center
icon_corner_radius=10
sort=update
layer=overlay
show_age_threshold=-1
stack_duplicates=false
corner_radius=10
mouse_left_click=close_current
mouse_right_click=do_action, close_current
mouse_middle_click=none
font=OpenDyslexicMono 12
format="<b>%a - %s</b>\n<big>%b</big>"
background="#00473c99"
foreground="#abfcec"
max_icon_size=32
icon_corner_radius=10
frame_color="#abfcec"

4. Code Editor

Naomi uses Emacs as her current code editor.

4.1. Settings

This is Naomi’s configuration. It goes in ~/.config/emacs/init.el.

;; Initialize package system
(require 'package)
(setq package-archives '(("melpa" . "https://melpa.org/packages/")
("org" . "https://orgmode.org/elpa/")
("elpa" . "https://elpa.gnu.org/packages/")))
(package-initialize)
;; Bootstrap use-package
(unless (package-installed-p 'use-package)
(package-install 'use-package))
(require 'use-package)
(setq use-package-always-ensure t)
;; Terminal-specific settings
(xterm-mouse-mode 1) ; Enable mouse support
(global-set-key (kbd "<mouse-4>") 'scroll-down-line)
(global-set-key (kbd "<mouse-5>") 'scroll-up-line)
(menu-bar-mode -1) ; Disable menu bar in terminal
;; Better terminal colors
(use-package eterm-256color
:hook (term-mode . eterm-256color-mode))
;; Line numbers configuration
(global-display-line-numbers-mode 1) ; Enable line numbers globally
(setq display-line-numbers-type t)
;; Make line numbers stand out a bit
(set-face-background 'line-number-current-line nil)
(set-face-foreground 'line-number-current-line "yellow")
;; Optional: Customize line number format
(setq display-line-numbers-width 4) ; Reserve space for line numbers
(setq display-line-numbers-widen t) ; Expand line number space as needed
;; Disable line numbers for some modes where they don't make sense
(dolist (mode '(term-mode-hook
shell-mode-hook
treemacs-mode-hook
eshell-mode-hook))
(add-hook mode (lambda () (display-line-numbers-mode 0))))
;; Project management
(use-package projectile
:config
(projectile-mode +1)
:bind-keymap ("C-c p" . projectile-command-map))
;; File tree with treemacs
(use-package treemacs
:bind
(:map global-map
("C-c t" . treemacs))
:config
(treemacs-follow-mode t)
(treemacs-project-follow-mode t))
(use-package treemacs-projectile
:after (treemacs projectile))
;; LSP Mode base configuration
(use-package lsp-mode
:init
(setq lsp-keymap-prefix "C-c l"
lsp-enable-symbol-highlighting t
lsp-enable-snippet t
lsp-enable-indentation t)
:hook
((typescript-mode . lsp)
(js2-mode . lsp)
(web-mode . lsp)
(python-mode . lsp)
(java-mode . lsp)
(c++-mode . lsp)
(c-mode . lsp)
(csharp-mode . lsp))
:commands lsp)
;; LSP UI enhancements
(use-package lsp-ui
:commands lsp-ui-mode
:config
(setq lsp-ui-doc-enable t
lsp-ui-doc-position 'at-point))
;; Company mode for completion
(use-package company
:config
(global-company-mode)
(setq company-idle-delay 0.1
company-minimum-prefix-length 1))
(use-package typescript-mode)
(use-package web-mode
:mode (("\\.tsx\\'" . web-mode)
("\\.jsx\\'" . web-mode))
:config
(setq web-mode-markup-indent-offset 2
web-mode-css-indent-offset 2
web-mode-code-indent-offset 2))
;; JavaScript better syntax highlighting
(use-package js2-mode
:mode "\\.js\\'")
(use-package csharp-mode
:config
(add-to-list 'auto-mode-alist '("\\.cs\\'" . csharp-mode)))
(use-package ccls
:hook ((c-mode c++-mode) . (lambda () (require 'ccls) (lsp))))
(use-package lsp-java
:config (add-hook 'java-mode-hook 'lsp))
(use-package kotlin-mode)
(use-package python-mode
:hook (python-mode . (lambda ()
(require 'lsp-pyright)
(lsp))))
(use-package lsp-pyright
:ensure t)
(use-package markdown-mode
:mode (("README\\.md\\'" . gfm-mode)
("\\.md\\'" . markdown-mode)
("\\.mdx\\'" . markdown-mode))
:init (setq markdown-command "multimarkdown"))
(use-package git-gutter
:config
(global-git-gutter-mode +1))
;; Real-time spell checking
(use-package flyspell
:config
(setq ispell-program-name "aspell" ; Use aspell instead of ispell
ispell-extra-args '("--sug-mode=ultra"))
:hook
((text-mode . flyspell-mode)
(prog-mode . flyspell-prog-mode))) ; Check comments and strings in code
;; Pop-up corrections menu
(use-package flyspell-correct
:after flyspell
:bind ("C-;" . flyspell-correct-wrapper))
;; Code-specific spell checking
(use-package spell-fu
:hook (prog-mode . spell-fu-mode))
;; Flycheck for error checking
(use-package flycheck
:init (global-flycheck-mode)
:config
(setq flycheck-check-syntax-automatically '(save mode-enabled))
(setq flycheck-display-errors-delay 0.1))
;; Error display in margins (similar to error lens)
(use-package flycheck-inline
:after flycheck
:config
(global-flycheck-inline-mode))
;; Enhanced error display
(use-package flymake-diagnostic-at-point
:after flymake
:config
(add-hook 'flymake-mode-hook #'flymake-diagnostic-at-point-mode))
;; Quick fix suggestions
(use-package flycheck-popup-tip
:after flycheck
:config
(add-hook 'flycheck-mode-hook 'flycheck-popup-tip-mode))
(use-package format-all
:bind ("C-c f" . format-all-buffer))
(use-package hl-todo
:config
(setq hl-todo-keyword-faces
'(("TODO" . "#FF0000")
("FIXME" . "#FF0000")
("DEBUG" . "#A020F0")
("GOTCHA" . "#FF4500")
("STUB" . "#1E90FF")))
(global-hl-todo-mode))
(use-package elcord)
(elcord-mode)
(custom-set-variables
;; custom-set-variables was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(package-selected-packages
'(hl-todo format-all flycheck git-gutter lsp-pyright python-mode kotlin-mode lsp-java ccls js2-mode web-mode typescript-mode company lsp-ui lsp-mode treemacs-projectile treemacs projectile eterm-256color)))
(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
)
(add-to-list 'custom-theme-load-path "/home/naomi/.config/emacs/themes/")
(load-theme 'ocean-breeze t)

4.2. Theme

This is Naomi’s custom emacs theme. It goes in ~/.config/emacs/themes/ocean-breeze-theme.el.

(deftheme ocean-breeze
"Naomi's custom emacs theme.")
;; Set frame transparency
(set-frame-parameter nil 'alpha-background 0)
(add-to-list 'default-frame-alist '(alpha-background . 0))
(let ((class '((class color) (min-colors 89)))
;; Core colors
(bg "unspecified-bg")
(bg-dark "#022b23")
(bg-darker "#044a3c")
(fg "#abfcec")
(fg-light "#e2fcf8")
(selection-bg "#1a7765")
(selection-fg "#d2fcf4")
(cursor "#abfcec")
;; ANSI color palette
(black "#022b23")
(red "#ff6b6b")
(green "#4ddbba")
(yellow "#ffd93d")
(blue "#6bc5ff")
(magenta "#ff92df")
(cyan "#89ffea")
(white "#c4fcf2")
;; Bright ANSI colors
(bright-black "#044a3c")
(bright-red "#ff8585")
(bright-green "#6bedcc")
(bright-yellow "#ffe074")
(bright-blue "#92d5ff")
(bright-magenta "#ffb2e7")
(bright-cyan "#a9fff0")
(bright-white "#e2fcf8"))
(custom-theme-set-faces
'ocean-breeze
;; Basic faces
`(default ((,class (:foreground ,fg :background ,bg))))
`(cursor ((,class (:background ,cursor))))
`(region ((,class (:background ,selection-bg :foreground ,selection-fg))))
`(highlight ((,class (:background ,selection-bg))))
`(hl-line ((,class (:background ,bg-dark))))
`(fringe ((,class (:background ,bg))))
`(vertical-border ((,class (:foreground ,bg-darker))))
;; Font-lock faces
`(font-lock-builtin-face ((,class (:foreground ,magenta))))
`(font-lock-comment-face ((,class (:foreground ,bright-black))))
`(font-lock-constant-face ((,class (:foreground ,cyan))))
`(font-lock-doc-face ((,class (:foreground ,green))))
`(font-lock-function-name-face ((,class (:foreground ,blue))))
`(font-lock-keyword-face ((,class (:foreground ,magenta))))
`(font-lock-string-face ((,class (:foreground ,green))))
`(font-lock-type-face ((,class (:foreground ,yellow))))
`(font-lock-variable-name-face ((,class (:foreground ,white))))
`(font-lock-warning-face ((,class (:foreground ,red))))
;; Mode line
`(mode-line ((,class (:background ,bg-darker :foreground ,fg))))
`(mode-line-inactive ((,class (:background ,bg-dark :foreground ,bright-black))))
;; Search
`(isearch ((,class (:background ,yellow :foreground ,bg))))
`(lazy-highlight ((,class (:background ,bright-yellow :foreground ,bg))))
;; Others
`(minibuffer-prompt ((,class (:foreground ,blue))))
`(link ((,class (:foreground ,bright-blue :underline t))))
`(show-paren-match ((,class (:background ,selection-bg :foreground ,bright-cyan))))
`(show-paren-mismatch ((,class (:background ,red :foreground ,white))))))
;;;###autoload
(when load-file-name
(add-to-list 'custom-theme-load-path
(file-name-as-directory (file-name-directory load-file-name))))
(provide-theme 'ocean-breeze)