Files
docs/src/content/docs/dev/environment.md
2024-12-26 20:48:21 +00:00

78 KiB

title
title
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
naomi@technomancer
------------------
OS: Arch Linux x86_64
├─Kernel: 6.12.6-arch1-1
├─Locale: en_GB.UTF-8
├─Shell: /usr/bin/zsh 5.9
├─Terminal: kitty
Host: MS-7B86 4.0
├─CPU: AMD Ryzen 5 3600X (12) @ 3.8GHz [63.3°on]
├─GPU: NVIDIA GeForce GTX 1070 Ti
├───GPU Driver: NVIDIA 565.77
├─Disk: /home: 351G/412G (90%)
├───Root: /: 42G/45G (98%)
├───Boot: /boot: 402M/1022M (40%)
└─Memory: 2.51GiB / 31.29GiB (8%)

Programming Languages
---------------------
Bash: 5.2.37
Clang: 18.1.8
C++: 14.2.1
Dart: 3.6.0
└─Flutter: 3.27.1
Dotnet: 8.0.111
└─C-sharp Compiler: 3.9.0-6.21124.20
Go: 1.23.4
├─Gradle: 8.10.2
└─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: 9.15.1
Ruby: 3.3.5
Rust: 1.80.1
├─Rustup: 1.27.1
└─Cargo: 1.80.1
TypeScript: 5.7.2

Databases
---------
MongoDB: 7.0.15
└─Mongo Shell: 7.0.15
MySQL: 9.0.1
PostgreSQL: 16.6

Tools
-----
Browser: Zen 1.0.2-b.5
Editor: VSCodium 1.96.2
├─Emacs: 29.4
└─Nano: 8.2

1.2. Steam

This is the current system report from Steam.

Expand Information
Computer Information:
  Manufacturer: Micro-Star International Co., Ltd
  Model: B450-A PRO MAX (MS-7B86)
  Form Factor: Desktop
  No Touch Input Detected
Processor Information:
  CPU Vendor: AuthenticAMD
  CPU Brand: AMD Ryzen 5 3600X 6-Core Processor
  CPU Family: 0x17
  CPU Model: 0x71
  CPU Stepping: 0x0
  CPU Type: 0x0
  Speed: 4408 MHz
  12 logical processors
  6 physical processors
  Hyper-threading: Supported
  FCMOV: Supported
  SSE2: Supported
  SSE3: Supported
  SSSE3: Supported
  SSE4a: Supported
  SSE41: Supported
  SSE42: Supported
  AES: Supported
  AVX: Supported
  AVX2: Supported
  AVX512F: Unsupported
  AVX512PF: Unsupported
  AVX512ER: Unsupported
  AVX512CD: Unsupported
  AVX512VNNI: Unsupported
  SHA: Supported
  CMPXCHG16B: Supported
  LAHF/SAHF: Supported
  PrefetchW: Unsupported
  BMI1: Supported
  BMI2: Supported
  F16C: Supported
  FMA: Supported
Operating System Version:
  "Arch Linux" (64 bit)
  Kernel Name: Linux
  Kernel Version: 6.12.6-arch1-1
  X Server Vendor: The X.Org Foundation
  X Server Release: 12401004
  X Window Manager: Hyprland :D
  Steam Runtime Version: <Runtime disabled>
Client Information:
  Version: 1733265492
  Browser GPU Acceleration Status: Disabled
  Browser Canvas: Unavailable
  Browser Canvas out-of-process rasterization: Disabled
  Browser Direct Rendering Display Compositor: Disabled
  Browser Compositing: Disabled
  Browser Multiple Raster Threads: Enabled
  Browser OpenGL: Disabled
  Browser Rasterization: Disabled
  Browser Raw Draw: Disabled
  Browser Skia Graphite: Disabled
  Browser Video Decode: Disabled
  Browser Video Encode: Disabled
  Browser Vulkan: Disabled
  Browser WebGL: Unavailable
  Browser WebGL2: Unavailable
  Browser WebGPU: Disabled
  Browser WebNN: Disabled
Video Card:
  Driver: NVIDIA Corporation NVIDIA GeForce GTX 1070 Ti/PCIe/SSE2
  Driver Version: 4.6.0 NVIDIA 565.77
  Desktop Color Depth: 24 bits per pixel
  Monitor Refresh Rate: 59 Hz
  VendorID: 0x10de
  DeviceID: 0x1b82
  Revision Not Detected
  Number of Monitors: 3
  Number of Logical Video Cards: 1
  Primary Display Resolution: 1920 x 1080
  Desktop Resolution: 5760 x 1080
  Primary Display Size: 20.47" x 12.60" (24.02" diag), 52.0cm x 32.0cm (61.0cm diag)
  Primary VRAM: 8192 MB
Sound card:
  Audio device: Nvidia GPU 83 HDMI/DP
Memory:
  RAM: 32043 Mb
VR Hardware:
  VR Headset: None detected
Miscellaneous:
  UI Language: English
  LANG: en_GB.UTF-8
  Total Hard Disk Space Available: 420968 MB
  Largest Free Hard Disk Block: 40408 MB
Storage:
  Number of SSDs: 1
  SSD sizes: 500G
  Number of HDDs: 0
  Number of removable drives: 0

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
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.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
flyctl 0.3.54-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.0-1
hollywood 1.21-7
insomnium 0.2.3_a-8
libelectron 2024.30-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.6-1
neverwinter.nim-bin 2.0.1-1
notepad++ 8.7.4-1
noto-fonts-emoji-flags 20200120-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
proton-vpn-gtk-app 4.8.1-2
python-proton-core 0.4.0-2
python-proton-keyring-linux 0.2.0-2
python-proton-vpn-api-core 0.38.2-2
python-proton-vpn-network-manager 0.10.1-2
redact-bin 0.18.0-1
roam 141.0.0.beta001-1
shellspec 0.28.1-3
speedometer 2.9-2
wofi-emoji 1.2-3
wxhexeditor 0.24-

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.3
1password-cli 2.30.3-1
7zip 24.09-3
act 0.2.70-1
alacarte 1:3.54.0-2
alacritty 0.14.0-1
alsa-utils 1.2.13-2
amd-ucode 20241210.b00a7f7e-1
anime-games-launcher-bin 1.0.2-1
appimagelauncher 2.2.0-8.4
asciiquarium-transparent-git r24.cfe288e-1
aws-cli-v2-bin 2:2.22.15-1
baobab 47.0-1
base 3-2
base-devel 1-2
bind 9.20.4-1
btop 1.4.0-4
calc 2.15.1.0-1
cbonsai 1.3.1-3
chafa-git 1.14.5.r112.g9aa862e-1
chaotic-keyring 20230616-1
chaotic-mirrorlist 20240724-1
cheese 44.1-3
cloc 2.02-1
cloudflared 2024.12.2-1
cmake 3.31.3-1
cmatrix 2.0-3
crowdin-cli 4.5.0-1
discord 0.0.78-1
dkms 3.1.3-1
docker 1:27.3.1-1
doctl 1.120.0-1
dolphin 24.12.0.1-1
dotnet-sdk 8.0.11.sdk111-1
downgrade 11.4.2-1
dreamweb 1.1-1
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.13-1
firefox 133.0.3-2
flameshot 12.1.0-5
fluffychat 1.23.0-1.4
flyctl 0.3.54-1
freetube 0.22.1-1
gimp 2.10.38-5
git 2.47.1-1
github-cli 2.64.0-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.10.2-1
grim 1.4.1-2
grimshot 1.10-1
gst-plugin-pipewire 1:1.2.7-1
gwenview-no-purpose 24.12.0-1
hexchat 2.16.2-4
hexedit 1.6-2
hollywood 1.21-7
htop 3.3.0-3
hyfetch 1.99.0-2
hyprland 0.46.2-4
hyprlock 0.6.0-3
hyprpaper 0.7.3-4
hyprshot 1.3.0-1
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.38.1-1
kotlin 2.1.0-1
lazygit 0.44.1-1
lib32-gnutls 3.8.8-1
lib32-libpulse 17.0+r43+g3e2bb8a1e-1
lib32-openal 1.24.1-1
libgnome-keyring 1:3.12.0+r14+g23438cc-1
libpulse 17.0+r43+g3e2bb8a1e-1
libqalculate 5.4.0.1-1
libredefender 0.7.0-2
libreoffice-fresh 24.8.4-1
libscanmem-git 0.17.1103.0def8b2-1
linux 6.12.6.arch1-1
linux-firmware 20241210.b00a7f7e-1
linux-headers 6.12.6.arch1-1
lrzip 0.651-3
luanti 5.10.0-1
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.6-1
mysql 9.0.1-1
nano 8.2-1
nasm 2.16.03-1
ncurses5-compat-libs 6.5-1
neofetch 7.1.0-2
net-tools 2.10-3
network-manager-applet 1.36.0-1
networkmanager 1.50.1-1
neverwinter.nim-bin 2.0.1-1
nmap 7.95-1
notepad++ 8.7.4-1
notepadnext 0.9-1.1
noto-fonts 1:2024.12.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.5-1
nvidia-dkms 565.77-2
nvm 0.40.1-1
nvtop 3.1.0-1
obs-studio-git 31.0.0.r9.ga0e4e37-1.4
opendoas 6.8.2-3
orca 47.2-2
otf-compagnon 1.000-1
otf-font-awesome 6.7.2-1
otf-opendyslexic-nerd 3.3.0-1
pavucontrol 1:6.1-1
perl-net-telnet 3.05-6
php 8.3.15-1
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 9.15.1-1
pokemon-colorscripts-git r114.5802ff67-1
polkit-gnome 0.105-11
polkit-kde-agent 6.2.4-1
postgresql 16.6-1
proton-ge-custom 2:GE.Proton9.20-1.9
proton-mail-bin 1.6.1-1
proton-vpn-gtk-app 4.8.1-2
python-pipenv 2024.4.0-2
python-pyquery 2.0.0-6
python-virtualenv 20.27.1-4
qt5-wayland 5.15.16+kde+r59-3
qt6-wayland 6.8.1-1
redact-bin 0.18.0-1
reflector 2023-3
roam 141.0.0.beta001-1
rofimoji 6.5.0-2
ruby 3.3.5-2
sddm 0.21.0-4
ser2net 4.6.2-1
signal-desktop 7.36.1-1
slack-desktop 4.41.105-1.1
slurp 1.5.0-1
smartmontools 7.4-2
speedtest-cli 2.1.3-9
spicetify-cli 2.38.7-1
spotify 1:1.2.52.442-1.3
steam 1.0.0.81-2
strace 6.12-1
sublime-text-4 4.4189-1
swappy 1.5.1-2
swaylock-effects 1.7.0.0-4.3
tailscale 1.78.1-1
thefuck 3.32-11
thunar 4.20.0-2
trayscale 0.14.1-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-1
ttf-twemoji 15.1.0-1
typescript 5.7.2-1
unrar 1:7.1.2-1
v4l2loopback-dkms 0.13.2-1
valgrind 3.24.0-1
vi 1:070224-6
vim 9.1.0954-1
vosk-api 0.3.50-5
vscodium 1.96.2.24355-1.2
vscodium-marketplace 1.65.0-1.3
w3m 0.5.3.git20230713_1-1
waybar 0.11.0-4
waybar-module-pacman-updates-git 0.2.7-1
websocat 1.14.0-1
wev 1.0.0-13
wget 1.25.0-1
wine 9.22-1
wireless_tools 30.pre9-4
wireplumber 0.5.7-1
wlogout 1.2.2-0.2
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.2-2
yay 12.4.2-1.1
zen-browser-bin 1.0.2.b.5-1
zoom 6.3.1-1
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.

:::caution This list is quite large. :::

Expand List
1password 8.10.54-22.3
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.70-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.0-2
alacritty 0.14.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 20241210.b00a7f7e-1
anime-games-launcher-bin 1.0.2-1
aom 3.11.0-1
apg 2.2.3-5
appimagelauncher 2.2.0-8.4
appstream 1.0.4-1
aquamarine 0.5.1-3
archlinux-keyring 20241203-1
argon2 20190702-6
aribb24 1.0.3-4
asciiquarium-transparent-git r24.cfe288e-1
at-spi2-core 2.54.0-2
atkmm 2.28.4-1
attica 6.9.0-1
attr 2.5.2-1
audit 4.0.2-3
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.9.0-1
baloo-widgets 24.12.0-1
baobab 47.0-1
base 3-2
base-devel 1-2
bash 5.2.037-1
bind 9.20.4-1
binutils 2.43+r4+g7999dae6961-1
bison 3.8.2-8
blas 3.12.0-5
bluez-libs 5.79-1
bmon 4.0-5
boost 1.86.0-4
boost-libs 1.86.0-4
breeze-icons 6.9.0-1
bridge-utils 1.7.1-2
brltty 6.7-2
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
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.0-5
cbonsai 1.3.1-3
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-1
cheese 44.1-3
chromaprint 1.5.1-9
cifs-utils 7.1-1
cjson 1.7.18-1
clamav 1.4.1-1
clang 18.1.8-5
cloc 2.02-1
cloudflared 2024.12.2-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.3-1
cmatrix 2.0-3
cogl 1.22.8-3
compiler-rt 18.1.8-1
confuse 3.3-4
containerd 2.0.1-1
convertlit 1.8-12
coreutils 9.5-2
cppdap 1.58.0-2
crowdin-cli 4.5.0-1
cryptsetup 2.7.5-1
curl 8.11.1-3
dav1d 1.5.0-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
desktop-file-utils 0.28-1
device-mapper 2.03.29-1
diffutils 3.10-1
discord 0.0.78-1
dkms 3.1.3-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.0-1
dolphin 24.12.0.1-1
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.2-1
dreamweb 1.1-1
duktape 2.7.0-7
dunst 1.12.1-1
e2fsprogs 1.47.1-4
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.7-1
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.9.0-1
eza 0.20.13-1
faac 1.30-5
faad2 2.11.1-1
fakeroot 1.36.2-1
feh 3.10.3-1
ffmpeg 2:7.1-5
ffmpeg4.4 4.4.5-2
fftw 3.3.10-7
file 5.46-2
filesystem 2024.11.21-1
findutils 4.10.0-2
firefox 133.0.3-2
flac 1.4.3-2
flameshot 12.1.0-5
flex 2.6.4-5
fluffychat 1.23.0-1.4
fluidsynth 2.4.1-1
flutter-bin 3.27.1-1
flyctl 0.3.54-1
fmt 11.0.2-1
fontconfig 2:2.15.0-2
freeglut 3.6.0-1
freetube 0.22.1-1
freetype2 2.13.3-1
frei0r-plugins 2.3.3-2
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
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.50-3
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.22.5-2
giflib 5.2.2-1
gimp 2.10.38-5
git 2.47.1-1
git-lfs 3.6.0-1
github-cli 2.64.0-1
glew 2.2.0-7
glew1.10 1.10.0-4
glib-networking 1:2.80.0-3
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.0.0-2
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
gnupg 2.4.7-1
gnutls 3.8.8-1
go 2:1.23.4-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.10.2-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
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-plugin-pipewire 1:1.2.7-1
gst-plugins-bad 1.24.10-2
gst-plugins-bad-libs 1.24.10-2
gst-plugins-base 1.24.10-2
gst-plugins-base-libs 1.24.10-2
gst-plugins-good 1.24.10-2
gstreamer 1.24.10-2
gtest 1.15.2-1
gtk-layer-shell 0.9.0-1
gtk-update-icon-cache 1:4.16.7-3
gtk2 2.24.33-5
gtk3 1:3.24.43-4
gtk4 1:4.16.7-3
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.7-1
gupnp-igd 1.6.0-1
gvfs 1.56.1-1
gwenview-no-purpose 24.12.0-1
gzip 1.13-4
harfbuzz 10.1.0-1
harfbuzz-icu 10.1.0-1
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.390-1
hyfetch 1.99.0-2
hyphen 2.8.8-6
hyprcursor 0.1.11-1
hyprgraphics 0.1.1-3
hyprland 0.46.2-4
hyprland-qtutils 0.1.1-5
hyprlang 0.6.0-3
hyprlock 0.6.0-3
hyprpaper 0.7.3-4
hyprshot 1.3.0-1
hyprutils 0.3.0-1
hyprwayland-scanner 0.4.2-1
iana-etc 20241206-1
icoutils 0.32.3-3
icu 75.1-1
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-5
java-runtime-common 3-5
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.9.0-1
karchive5 5.116.0-1
kauth 6.9.0-1
kbd 2.7.1-1
kbookmarks 6.9.0-1
kcmutils 6.9.0-1
kcodecs 6.9.0-1
kcolorpicker 0.3.1-4
kcolorscheme 6.9.0-1
kcompletion 6.9.0-1
kconfig 6.9.0-1
kconfigwidgets 6.9.0-1
kcoreaddons 6.9.0-3
kcrash 6.9.0-1
kdbusaddons 6.9.0-1
kdnssd 6.9.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.9.0-1
kglobalaccel 6.9.0-1
kguiaddons 6.9.0-3
kguiaddons5 5.116.0-1
ki18n 6.9.0-2
kiconthemes 6.9.0-1
kidletime 6.9.0-1
kimageannotator 0.7.1-3
kio 6.9.0-1
kio-extras 24.12.0-1
kirigami 6.9.0-1
kitemmodels 6.9.0-1
kitemviews 6.9.0-1
kitty 0.38.1-1
kitty-shell-integration 0.38.1-1
kitty-terminfo 0.38.1-1
kjobwidgets 6.9.0-1
kmod 33-3
knewstuff 6.9.0-1
knotifications 6.9.0-3
kotlin 2.1.0-1
kpackage 6.9.0-1
kparts 6.9.0-1
krb5 1.21.3-1
kservice 6.9.0-1
ktextwidgets 6.9.0-1
kuserfeedback 6.9.0-1
kwallet 6.9.0-1
kwidgetsaddons 6.9.0-4
kwindowsystem 6.9.0-1
kxmlgui 6.9.0-3
l-smash 2.14.5-4
lame 3.100-5
lapack 3.12.0-5
lazygit 0.44.1-1
lcms2 2.16-1
ldb 2:4.21.2-3
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.0-2
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.1-1
lib32-expat 2.6.4-1
lib32-flac 1.4.3-2
lib32-fontconfig 2:2.15.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.0-3
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.1.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.0.4-2
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.11.1-7
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.44-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.36-2
lib32-libxcrypt-compat 4.4.36-2
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 18.1.8-1
lib32-lm_sensors 1:3.6.0.r41.g31d1f125-3
lib32-lzo 2.10-2
lib32-mesa 1:24.3.2-1
lib32-mpg123 1.32.10-1
lib32-ncurses 6.5-1
lib32-nettle 3.10-1
lib32-nspr 4.36-1
lib32-nss 3.107-1
lib32-nvidia-utils 565.77-1
lib32-openal 1.24.1-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.54.0-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.10-1
lib32-sdl2_image 2.8.2-2
lib32-sdl2_mixer 2.8.0-1
lib32-sdl2_ttf 2.22.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.rc1-1
lib32-sqlite 3.47.2-1
lib32-systemd 257.1-1
lib32-tdb 1.4.12-1
lib32-util-linux 2.40.2-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.2-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
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.8-4
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.1.0-4
libcdio-paranoia 10.2+2.0.2-1
libcdr 0.1.8-1
libcheese 44.1-3
libcloudproviders 0.3.6-1
libcmis 0.6.2-2
libcolord 1.4.7-2
libcups 2:2.4.11-1
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.22-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 20240517_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.24-3
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
libimobiledevice 1.3.0-15
libimobiledevice-glue 1.3.1-1
libindicator-gtk2 12.10.1-10
libinih 58-1
libinput 1.27.0-1
libinstpatch 1.1.6-3
libisl 0.27-1
libixion 0.19.0-4
libjpeg-turbo 3.0.4-1
libjpeg6-turbo 1.5.3-2
libjxl 0.11.1-1
libkdcraw 24.12.0-1
libkexiv2 24.12.0-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.11.0-1
libmd 1.1.0-2
libmfx 23.2.2-3
libmicrodns 0.2.0-2
libmicrohttpd 1.0.1-1
libmikmod 3.3.11.1-7
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
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-1
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.11-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-3
libplist 2.6.0-2
libpng 1.6.44-1
libpng12 1.2.59-2
libproxy 0.5.9-1
libpsl 0.21.5-2
libpulse 17.0+r43+g3e2bb8a1e-1
libqalculate 5.4.0.1-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-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.4-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.1-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.0-1
libstaroffice 0.0.7-3
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.2-1
libunwind 1.8.1-3
libupnp 1.14.20-1
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.49.2-1
libva 2.22.0-1
libvdpau 1.5-3
libverto 0.3.2-5
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.2-3
libwebp 1.5.0-1
libwireplumber 0.5.7-1
libwmf 0.2.13-4
libwnck3 43.1-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.36-2
libxcrypt-compat 4.4.36-2
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.6.arch1-1
linux-api-headers 6.10-1
linux-firmware 20241210.b00a7f7e-1
linux-firmware-whence 20241210.b00a7f7e-1
linux-headers 6.12.6.arch1-1
lld 18.1.8-1
llvm 18.1.8-5
llvm-libs 18.1.8-5
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.5-3
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
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.1-1
mbedtls2 2.28.9-1
md4c 0.5.2-1
mdadm 4.3-2
media-player-info 26-1
mesa 1:24.3.2-1
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.6-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
mysql-clients 9.0.1-1
nano 8.2-1
nasm 2.16.03-1
ncompress 5.0-3
ncurses 6.5-3
ncurses5-compat-libs 6.5-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
network-manager-applet 1.36.0-1
networkmanager 1.50.1-1
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.9-1.1
noto-fonts 1:2024.12.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.5-1
npth 1.8-1
nspr 4.36-1
nss 3.107-1
nvidia-dkms 565.77-2
nvidia-utils 565.77-2
nvm 0.40.1-1
nvtop 3.1.0-1
obs-studio-git 31.0.0.r9.ga0e4e37-1.4
ocl-icd 2.3.2-2
oniguruma 6.9.9-1
openal 1.24.1-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.12-2
opus 1.5.2-1
opusfile 0.12-4
orc 0.4.40-1
orca 47.2-2
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 20240717-1
pahole 1:1.28-3
pam 1.7.0-1
pambase 20230918-2
pango 1:1.54.0-1
pangomm 2.46.4-1
pangomm-2.48 2.54.0-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.0-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
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.4-1
play.it-git 2.29.1.r1.g03ba243f-1
playerctl 2.4.1-4
plocate 1.1.23-1
pnpm 9.15.1-1
pokemon-colorscripts-git r114.5802ff67-1
polkit 125-1
polkit-gnome 0.105-11
polkit-kde-agent 6.2.4-1
polkit-qt6 0.200.0-1
poppler 24.12.0-1
poppler-data 0.4.12-2
poppler-glib 24.12.0-1
poppler-qt6 24.12.0-1
popt 1.19-2
portaudio 1:19.7.0-3
postgresql 16.6-1
postgresql-libs 16.6-1
procps-ng 4.0.5-1
proton-ge-custom 2:GE.Proton9.20-1.9
proton-mail-bin 1.6.1-1
proton-vpn-gtk-app 4.8.1-2
psmisc 23.7-1
pugixml 1.14-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-attrs 23.2.0-4
python-autocommand 2.2.2-7
python-bcrypt 4.2.1-2
python-cairo 1.27.0-2
python-certifi 2024.12.14-1
python-cffi 1.17.1-2
python-charset-normalizer 3.4.0-5
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-fastjsonschema 2.21.1-1
python-filelock 3.16.1-2
python-frozenlist 1.4.1-4
python-gnupg 0.5.3-2
python-gobject 3.50.0-2
python-idna 3.10-2
python-inflect 7.4.0-2
python-jaraco.classes 3.4.0-2
python-jaraco.collections 5.0.1-2
python-jaraco.context 5.3.0-3
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-more-itertools 10.5.0-1
python-multidict 6.0.5-4
python-numpy 2.2.1-2
python-ordered-set 4.1.0-7
python-packaging 24.2-3
python-pip 24.3.1-2
python-pipenv 2024.4.0-2
python-platformdirs 4.3.6-2
python-proton-core 0.4.0-2
python-proton-keyring-linux 0.2.0-2
python-proton-vpn-api-core 0.38.2-2
python-proton-vpn-network-manager 0.10.1-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.19.2-2
python-setproctitle 1.3.4-1
python-setuptools 1:75.2.0-4
python-six 1.16.0-10
python-tomli 2.0.1-5
python-trove-classifiers 2024.10.21.16-3
python-typeguard 4.4.1-1
python-typing_extensions 4.12.2-3
python-urllib3 1.26.20-4
python-urwid 2.6.15-2
python-validate-pyproject 0.22-2
python-virtualenv 20.27.1-4
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-yarl 1.9.4-4
qca-qt6 2.3.9-3
qqc2-desktop-style 6.9.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-3
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-1
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-1
qt6-translations 6.8.1-1
qt6-wayland 6.8.1-1
qtkeychain-qt5 0.14.3-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
rhash 1.4.4-1
ripgrep 14.1.1-1
ripgrep-all 0.10.6-3
rnnoise 1:0.2-1
roam 141.0.0.beta001-1
rofimoji 6.5.0-2
rpcsvc-proto 1.4.4-2
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.3-1
sbc 2.0-2
scummvm 2.9.0-1
sdbus-cpp 2.1.0-2
sddm 0.21.0-4
sdl12-compat 1.2.68-2
sdl2 2.30.10-1
sdl2_image 2.8.2-6
sdl2_mixer 2.8.0-1
sdl2_net 1:2.2.0-2
sdl2_ttf 2.22.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.2-1
sfml 2.6.2-1
shaderc 2024.3-2
shadow 4.16.0-1
shared-mime-info 2.4-1
shellspec 0.28.1-3
signal-desktop 7.36.1-1
slack-desktop 4.41.105-1.1
slang 2.3.3-3
slurp 1.5.0-1
smartmontools 7.4-2
smbclient 2:4.21.2-3
snappy 1.2.1-2
sndio 1.10.0-1
solid 6.9.1-2
sonnet 6.9.0-1
sord 0.16.16-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-1
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.3.296.0-1
spirv-tools 2024.4.rc1-1
spotify 1:1.2.52.442-1.3
sqlite 3.47.2-1
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.4189-1
sudo 1.9.16.p2-2
suitesparse 7.8.3-1
svt-av1 2.2.1-1
svt-hevc 1.5.1-3
swappy 1.5.1-2
swaylock-effects 1.7.0.0-4.3
syndication 6.9.0-1
syntax-highlighting 6.9.0-1
systemd 257.1-1
systemd-libs 257.1-1
systemd-sysvcompat 257.1-1
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.0-2
tinysparql 3.8.2-2
tmux 3.5_a-1
tomlplusplus 3.4.0-1
tpm2-tss 4.1.3-1
trayscale 0.14.1-1
tree 2.1.3-1
tree-sitter 0.24.3-2
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-1
ttf-twemoji 15.1.0-1
twolame 0.4.0-4
typescript 5.7.2-1
tzdata 2024b-2
udisks2 2.10.1-5
unionfs-fuse 3.5-1
unrar 1:7.1.2-1
unzip 6.0-21
upower 1.90.6-1
usbutils 018-1
util-linux 2.40.2-2
util-linux-libs 2.40.2-2
v4l-utils 1.28.1-2
v4l2loopback-dkms 0.13.2-1
valgrind 3.24.0-1
vapoursynth R70-2
vi 1:070224-6
vid.stab 1.1.1-2
vim 9.1.0954-1
vim-runtime 9.1.0954-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.2.24355-1.2
vscodium-marketplace 1.65.0-1.3
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-4
waybar-module-pacman-updates-git 0.2.7-1
wayland 1.23.1-1
wayland-protocols 1.39-1
webkit2gtk 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
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.2
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.2-2
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.2-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.0.2.b.5-1
zenity 4.0.3-1
zeromq 4.3.5-2
zimg 3.0.5-1
zip 3.0-11
zix 0.4.2-2
zlib 1:1.3.1-2
zoom 6.3.1-1
zsh 5.9-5
zstd 1.5.6-1
zvbi 0.2.42-1
zxing-cpp 2.2.1-1
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.

 0ad-0.0.26-alpha-2210110407-x86_64.AppImage
 AAAAXY-x86_64.AppImage
 AisleRiot-Solitaire_3.22.33-1-archimage3.4.4-2-x86_64.AppImage
 beeper-3.109.1x86_64_fc727a2698ebd782f65a2a2977ab44df.AppImage
 Beyond-All-Reason-1.2988.0.AppImage
 BillyFrontier-1.1.1-linux-x86_64.AppImage
 Bugdom-1.3.4-linux-x86_64.AppImage
 CoilsOfHate.amd64.AppImage
 Colobot-0.2.1-alpha-x86_64.AppImage
 CombinedArms-1.04-x86_64_2c10dc26e60015fb1babab18c6aa56d6.AppImage
 CroMagRally-3.0.1-linux-x86_64.AppImage
 DIVINEDESPAIRDEVIANCE-1.04-linux
 DownAmongTheDeadMen.amd64.AppImage
 EternalLands-Linux-x86_64_1.9.6.1.AppImage
 Farmhand-1.18.20.AppImage
 flare-linux64-v1.14_49e5a1c98482592388d1b351cff374a3.AppImage
'Fractured Realms-release-v1.2_20230723-x86_64.AppImage'
 GeneralsAlpha-gen-20230927-x86_64.AppImage
 GreenBlood.amd64.AppImage
 HeartOfIce.amd64.AppImage
 kdenlive-24.08.2-x86_64_f8cac1289b089f843b4691a933ec138c.AppImage
 legendary-kingdoms.amd64.AppImage
 MightyMike-3.0.2-linux-x86_64.AppImage
 Nanosaur-1.4.4-linux-x86_64.AppImage
 Nanosaur2-2.1.0-linux-x86_64.AppImage
 NecklaceOfSkulls.amd64.AppImage
 OpenHV-20240401-x86_64.AppImage
 OpenRA-Dune-2000-x86_64.AppImage
 OpenRA-Red-Alert-x86_64.AppImage
 OpenRA-Tiberian-Dawn-x86_64.AppImage
 OpenSA-20230905-x86_64.AppImage
 OttoMatic-4.0.1-linux-x86_64.AppImage
 pcsx2-v2.0.2-linux-appimage-x64-Qt_bd4d6d955f1a28147d7af390be1f551e.AppImage
 redeclipse-stable-x86_64.AppImage
 Romanovs.Vengeance-playtest-20240218-x86_64.AppImage
 ShatteredParadise-playtest-20240921-x86_64.AppImage
 ShatteredParadise-release-20220529-x86_64_d419ac9883174b451216d57abe352b64.AppImage
 synthein-v0.2.1.AppImage
 trader-latest-x86_64.AppImage
 TwistOfFate.amd64.AppImage
 Widelands-1.2-x86_64.AppImage

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
    email = commits@nhcarrigan.com
[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.

# 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="codium ."

# 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

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.

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-chat
J=#nhcarrigan
J=##chat
J=##programming
J=#javascript
J=#idlerpg
J=#archlinux
J=#archlinux-offtopic
J=#archlinux-women
J=#wesnoth
J=#wesnoth-offtopic
J=#xonotic
J=#linux
J=#protondb
J=#nethack
J=#cataclysmDDA
J=#crawl
J=##brogue
J=#freedroid
J=#widelands
J=#freeciv
J=#freeorion
J=#pioneer
J=#endeavouros
J=#hexchat
J=#node.js
J=#zsh
J=#codeberg
J=#idlerpg-discuss
J=#idlerpg-ng

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 = kitty
$fileManager = thunar
$menu = wofi --show=drun --allow-images

#################
### AUTOSTART ###
#################

# 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 = 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

# 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, swaylock

# 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

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": "swaylock",
    "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 Kitty

This one goes in ~/.config/kitty/kitty.conf.

font_family      family="OpenDyslexicM Nerd Font"
bold_font        auto
italic_font      auto
bold_italic_font auto
background_opacity 0.7
background_blur 8
background            #012a22
foreground            #abfcec
selection_background  #1a7765
selection_foreground  #d2fcf4
cursor               #abfcec
cursor_text_color    #04624f

url_color            #7fedd6

# Normal colors (color0-7)
color0  #022b23
color1  #ff6b6b
color2  #4ddbba
color3  #ffd93d
color4  #6bc5ff
color5  #ff92df
color6  #89ffea
color7  #c4fcf2

# Bright colors (color8-15)
color8  #044a3c
color9  #ff8585
color10 #6bedcc
color11 #ffe074
color12 #92d5ff
color13 #ffb2e7
color14 #a9fff0
color15 #e2fcf8
selection_foreground #002240

3.8 Swaylock

This configuration powers Naomi's lock screen. It goes in ~/.config/swaylock/config.

image=/home/naomi/pics/banner.png
indicator-radius=100
indicator-thickness=7
effect-blur=7x5
effect-vignette=0.5:0.5
ring-color=bb00cc
key-hl-color=880033
line-color=00000000
inside-color=00000088
separator-color=00000000
grace=2
fade-in=0.2
clock
timestr=%H:%M:%S
datestr=%a, %B %e

3.9 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.10 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//')"
    info "Java" java_ver
    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 ""
    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.11 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.12 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 VSCode as her current code editor.

4.1. Settings

This is Naomi's settings.json file. This goes in ~/.config/VSCodium/User/settings.json.

{
  "workbench.iconTheme": "vscode-icons",
  "[typescript]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[json]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[jsonc]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[typescriptreact]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "javascript.preferences.importModuleSpecifierEnding": "js",
  "javascript.updateImportsOnFileMove.enabled": "always",
  "typescript.preferences.importModuleSpecifierEnding": "js",
  "typescript.preferences.preferTypeOnlyAutoImports": true,
  "[javascript]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "typescript.updateImportsOnFileMove.enabled": "always",
  "powermode.presets": "exploding-rift",
  "powermode.combo.location": "statusbar",
  "powermode.combo.counterEnabled": "show",
  "powermode.combo.timeout": 60,
  "powermode.combo.timerEnabled": "show",
  "powermode.explosions.frequency": 1,
  "powermode.enabled": true,
  "powermode.shake.enabled": false,
  "[html]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "editor.fontFamily": "'OpenDyslexicM Nerd Font'",
  "files.exclude": {
    "**/node_modules/": true
  },
  "editor.fontLigatures": true,
  "editor.codeLensFontFamily": "'OpenDyslexicM Nerd Font'",
  "editor.inlineSuggest.fontFamily": "'OpenDyslexicM Nerd Font'",
  "editor.inlayHints.fontFamily": "'OpenDyslexicM Nerd Font'",
  "editor.experimentalInlineEdit.fontFamily": "'Fira Code 11'",
  "terminal.integrated.fontFamily": "'OpenDyslexicM Nerd Font'",
  "notebook.output.fontFamily": "'OpenDyslexicM Nerd Font'",
  "chat.editor.fontFamily": "'OpenDyslexicM Nerd Font'",
  "markdown.preview.fontFamily": "'OpenDyslexicM Nerd Font'",
  "vscode-pets.petSize": "medium",
  "vscode-pets.position": "explorer",
  "vscode-pets.petColor": "black",
  "vscode-pets.theme": "forest",
  "colorize.languages": [
    "html",
    "javascript",
    "typescript",
    "json",
    "typescriptreact",
    "css",
    "sass",
    "scss",
    "less",
    "postcss",
    "sss",
    "stylus",
    "xml",
    "svg"
  ],
  "cSpell.language": "en-GB",
  "http.proxyAuthorization": null,
  "github.copilot.enable": {
    "*": true
  },
  "discord.detailsIdling": "She's not editing a file...",
  "discord.detailsEditing": "{file_name}:L{current_line}:{current_column}",
  "discord.lowerDetailsEditing": "{workspace}/{git_branch}",
  "discord.largeImageIdling": "Nothing to see here...",
  "discord.lowerDetailsIdling": "Off in lala land...",
  "editor.inlayHints.enabled": "off",
  "workbench.colorCustomizations": {
    "editor.lineHighlightBackground": "#1073cf2d",
    "editor.lineHighlightBorder": "#9fced11f"
  },
  "editor.wordWrap": "off",
  "diffEditor.wordWrap": "off",
  "editor.guides.indentation": false,
  "editor.guides.bracketPairs": false,
  "sonarlint.connectedMode.connections.sonarcloud": [
    {
      "organizationKey": "nhcarrigan-1",
      "connectionId": "nhcarrigan-1"
    }
  ],
  "synthwave84.brightness": 1,
  "sonarlint.rules": {
    "typescript:S5843": {
      "level": "on"
    },
    "typescript:S3776": {
      "level": "on"
    }
  },
  "glassit.alpha": 150,
  "glassit.force_sway": true,
  "workbench.colorTheme": "Ocean Breeze",
  "terminal.integrated.lineHeight": 1,
  "[css]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "debug.console.fontFamily": "'OpenDyslexicM Nerd Font'",
  "scm.inputFontFamily": "'OpenDyslexicM Nerd Font'",
  "errorLens.fontFamily": "'OpenDyslexicM Nerd Font'",
  "gitlens.currentLine.fontFamily": "'OpenDyslexicM Nerd Font'",
  "gitlens.blame.fontFamily": "'OpenDyslexicM Nerd Font'"
}

4.2. Extensions

This is Naomi's current list of extensions. This is generated with codium --list-extensions.

1password.op-vscode
aaron-bond.better-comments
adpyke.codesnap
astro-build.astro-vscode
bmewburn.vscode-intelephense-client
bungcip.better-toml
chrmarti.regex
dbaeumer.vscode-eslint
donjayamanne.githistory
eamodio.gitlens
esbenp.prettier-vscode
firefox-devtools.vscode-firefox-debug
github.copilot
github.copilot-chat
icrawl.discord-vscode
ionide.ionide-fsharp
jzmstrjp.color-the-tag-name
leodevbro.blockman
ms-dotnettools.csdevkit
ms-dotnettools.csharp
ms-dotnettools.dotnet-interactive-vscode
ms-dotnettools.vscode-dotnet-pack
ms-dotnettools.vscode-dotnet-runtime
ms-dotnettools.vscodeintellicode-csharp
ms-toolsai.jupyter
ms-toolsai.jupyter-keymap
ms-toolsai.jupyter-renderers
ms-toolsai.vscode-jupyter-cell-tags
ms-toolsai.vscode-jupyter-slideshow
ms-vscode.cmake-tools
ms-vscode.cpptools
ms-vscode.cpptools-extension-pack
ms-vscode.cpptools-themes
nhcarrigan.ocean-breeze
oderwat.indent-rainbow
oracle.oracle-java
prisma.prisma
redhat.java
rust-lang.rust-analyzer
streetsidesoftware.code-spell-checker
twxs.cmake
usernamehw.errorlens
visualstudioexptteam.intellicode-api-usage-examples
visualstudioexptteam.vscodeintellicode
vitest.explorer
vscjava.vscode-gradle
vscjava.vscode-java-debug
vscjava.vscode-java-dependency
vscjava.vscode-java-pack
vscjava.vscode-java-test
vscjava.vscode-maven
vscode-icons-team.vscode-icons
xdebug.php-debug
yandeu.five-server
yoavbls.pretty-ts-errors
yutengjing.vscode-colorize-plus
yzane.markdown-pdf