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.11.8-arch1-2
├─Locale: en_GB.UTF-8
├─Shell: /usr/bin/zsh 5.9
├─Terminal: alacritty
└───Terminal Font: Fira Code
Host: MS-7B86 4.0
├─BIOS: American Megatrends Inc. 5.14 (11/07/2019)
├─CPU: AMD Ryzen 5 3600X (12) @ 3.8GHz [90.3°on]
├─GPU: NVIDIA GeForce GTX 1070 Ti
├───GPU Driver: NVIDIA 565.57.01
├─Disk: /home: 338G/412G (87%)
├───Root: /: 34G/45G (78%)
├───Boot: /boot: 397M/1022M (39%)
└─Memory: 18.36 GiB / 31.29 GiB (58%)
Programming Languages
---------------------
Bash: 5.2.37
Clang: 18.1.8
C++: 14.2.1
Dart: 3.5.3
└─Flutter: 3.24.3
Dotnet: 8.0.110
└─C-sharp Compiler: 3.9.0-6.21124.20
Go: 1.23.3
Java: 21.0.5
├─Gradle: 8.10.2
└─Kotlin: 2.0.21-release
Lua: 5.4.7
PHP: 8.3.13
Python: 3.12.7
└─PIP: 24.3.1
Node: 23.1.0
├─NPM: 10.9.0
├─Yarn: 1.22.22
└─PNPM: 9.12.3
Ruby: 3.3.5
Rust: 1.80.1
├─Rustup: 1.27.1
└─Cargo: 1.80.1
TypeScript: 5.6.3
Databases
---------
MongoDB: 7.0.14
└─Mongo Shell: 7.0.14
MySQL: 9.0.1
PostgreSQL: 16.3
Tools
-----
Browser: Zen 1.0.1-a.19
Editor: VSCodium 1.95.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.11.8-arch1-2
X Server Vendor: The X.Org Foundation
X Server Release: 12401004
X Window Manager: Hyprland :D
Steam Runtime Version: steam-runtime_0.20241024.105847
Client Information:
Version: 1731433018
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.57.01
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: 32044 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: 58245 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.0-1
aws-cli-v2-bin 2:2.19.3-1
bizhawk-bin 2.9.1-1
bizhawk-bin-debug 2.9.1-1
cbonsai 1.3.1-3
ceserver 7.5-9
ceserver-debug 7.5-9
citra-debug 1:r10111.608383e-1
crowdin-cli 4.3.0-1
dreamweb 1.1-1
electron25-bin 25.9.8-3
espanso-gui 24.7-1
espanso-gui-debug 24.7-1
espanso-wayland 2.2.1-4
flutter 3.24.3-2
flutter-common 3.24.3-2
flutter-devel 3.24.3-2
flutter-engine-android-google-bin 3.24.3-1
flutter-engine-common-google-bin 3.24.3-1
flutter-engine-linux-google-bin 3.24.3-1
flutter-engine-web-google-bin 3.24.3-1
flutter-gradle 3.24.3-2
flutter-intellij-patch 3.24.3-2
flutter-material-fonts-google-bin 3.24.3-1
flutter-sky-engine-google-bin 3.24.3-1
flutter-target-android 3.24.3-2
flutter-target-linux 3.24.3-2
flutter-target-web 3.24.3-2
flutter-tool 3.24.3-2
flyctl 0.3.37-1
flyctl-debug 0.3.37-1
gameconqueror-git 0.17.1104.0375cc0-1
gargoyle 2023.1-2
google-chat-linux 5.29.23_1-5
grimshot 1.10-1
gwenview-no-purpose 24.08.3-1
gwenview-no-purpose-debug 24.08.3-1
insomnium 0.2.3_a-8
krabby-gotchi 1.1-1
krabby-gotchi-debug 1.1-1
libajantv2-debug 1:17.0.1-1
libelectron 1.0.27-1
libelectron-debug 1.0.27-1
libretro-swanstation-git r5882.37cd87e-1
libretro-swanstation-git-debug r5882.37cd87e-1
libscanmem-git 0.17.1103.0def8b2-1
lrexlib-pcre5.1 2.9.0-2
lrexlib-pcre5.1-debug 2.9.0-2
lua-yajl 2.0-2
lua-yajl-debug 2.0-2
lua51-lcf 5.1-3
lua51-sql-sqlite 2.3.0-4
lua51-sql-sqlite-debug 2.3.0-4
luazip5.1 1.2.7-1
luazip5.1-debug 1.2.7-1
mommy 1.5.1-1
mongodb-tools-bin 100.10.0-3
mongodb-tools-bin-debug 100.10.0-3
mongosh-bin 2.3.3-1
mongosh-bin-debug 2.3.3-1
mudlet-debug 4.18.3-1
neverwinter.nim-bin 2.0.1-1
neverwinter.nim-bin-debug 2.0.1-1
notepad++ 8.7-1
noto-fonts-emoji-flags 20200120-1
obs-studio-liberty-debug 30.2.3-1
openstarruler-git-debug r95.c5e3cbb-1
openxcom-debug 1.0-9
otf-compagnon 1.000-1
pcsx2 2.2.0-1
play.it-git 2.29.1.r1.g03ba243f-1
pokete 0.9.2-1
pokete-debug 0.9.2-1
proton-mail-bin 1.2.4-1
proton-mail-bin-debug 1.2.4-1
proton-vpn-gtk-app 4.7.4-2
python-proton-core 0.3.3-1
python-proton-keyring-linux 0.1.0-1
python-proton-vpn-api-core 0.36.6-1
python-proton-vpn-network-manager 0.9.7-1
qt5-gamepad-debug 5.15.15-2
redact-bin 0.18.0-1
redact-bin-debug 0.18.0-1
roam 135.2.0.beta001-1
samrewritten-git r258.39d524a-1
samrewritten-git-debug r258.39d524a-1
shellspec 0.28.1-3
slack-electron-debug 4.40.128-1
spicetify-cli-debug 2.36.15-1
stone-soup-tiles-git 0.33.a0.r322.g559d583a2e-1
stone-soup-tiles-git-debug 0.33.a0.r322.g559d583a2e-1
swaylock-effects-debug 1.7.0.0-4
twitter 1.0.5-1
vscodium-bin 1.95.2.24313-1
vscodium-bin-debug 1.95.2.24313-1
vscodium-bin-marketplace 1.76.0-1
win2xcur 0.1.2-1
wofi-emoji 1.2-3
wxhexeditor 0.24-4
wxhexeditor-debug 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.52-25
1password-cli 2.30.0-1
act 0.2.69-1
alacarte 1:3.54.0-1
alacritty 0.14.0-1
alsa-utils 1.2.12-1
amd-ucode 20241111.b5885ec5-1
angband 4.2.5-3
appimagelauncher 2.2.0-8.1
aws-cli-v2-bin 2:2.19.3-1
baobab 47.0-1
base 3-2
base-devel 1-2
bind 9.20.3-2
bizhawk-bin 2.9.1-1
calc 2.15.1.0-1
cataclysm-dda-tiles 0.G-2
cbonsai 1.3.1-3
ceserver 7.5-9
chaotic-keyring 20230616-1
chaotic-mirrorlist 20240724-1
cheese 44.1-3
cloc 2.02-1
cloudflared 2024.11.0-1
cmake 3.31.0-1
crowdin-cli 4.3.0-1
discord 0.0.74-1
dkms 3.1.1-2
docker 1:27.3.1-1
doctl 1.117.0-1
dolphin 24.08.3-1
dolphin-emu 1:2409-2
dosbox-x 2024.10.01-1
dotnet-sdk 8.0.10.sdk110-1
downgrade 11.4.2-1
dreamweb 1.1-1
duckstation 0.1.7465-1
dunst 1.11.0-1
efibootmgr 18-3
emacs 29.4-3
espanso-gui 24.7-1
espanso-wayland 2.2.1-4
eza 0.20.8-1
firefox 132.0.2-1
flameshot 12.1.0-5
fluffychat 1.22.1-2
flutter 3.24.3-2
flyctl 0.3.37-1
freetube 0.22.0-2
gameconqueror-git 0.17.1104.0375cc0-1
gamemode 1.8.2-1
gargoyle 2023.1-2
gimp 2.10.38-5
git 2.47.0-1
github-cli 2.62.0-1
gnome-keyring 1:46.2-1
gnu-netcat 0.7.1-10
google-chat-linux 5.29.23_1-5
gradle 8.10.2-1
grim 1.4.1-2
grimshot 1.10-1
gst-plugin-pipewire 1:1.2.6-1
gwenview-no-purpose 24.08.3-1
hexchat 2.16.2-3
hexedit 1.6-2
htop 3.3.0-3
hyfetch 1.99.0-1
hyprland 0.45.0-1
hyprlock 0.5.0-1
hyprpaper 0.7.1-3
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.1-1
kitty 0.37.0-1
kotlin 2.0.21-1
krabby-gotchi 1.1-1
lazygit 0.44.1-1
lib32-gnutls 3.8.7-1
lib32-libpulse 17.0-1
lib32-openal 1.23.1-2
libgnome-keyring 1:3.12.0+r14+g23438cc-1
libpulse 17.0-3
libqalculate 5.3.0-1
libredefender 0.7.0-2
libreoffice-fresh 24.8.3-1
libretro-bsnes 1:3167-1
libretro-citra 9304-1
libretro-core-info 1.19.0-1
libretro-desmume 6359-1
libretro-dolphin 33044-2
libretro-flycast 6364-1
libretro-genesis-plus-gx 2199-1
libretro-kronos 7016-2
libretro-mesen 2903-3
libretro-mgba 9298-2
libretro-mupen64plus-next 1:454-1
libretro-pcsx2 17053-2
libretro-ppsspp 40927-1
libretro-sameboy 1720-3
libretro-swanstation-git r5882.37cd87e-1
libscanmem-git 0.17.1103.0def8b2-1
linux 6.11.8.arch1-2
linux-firmware 20241111.b5885ec5-1
linux-headers 6.11.8.arch1-2
lrzip 0.651-3
man-db 2.13.0-1
mari0 1.6.2-4
mindustry 7.0.146-3
minetest 5.9.0-4
mommy 1.5.1-1
mongodb 7.0.14-1.1
mongodb-tools-bin 100.10.0-3
mongosh-bin 2.3.3-1
mysql 9.0.1-1
nano 8.2-1
nasm 2.16.03-1
ncurses5-compat-libs 6.5-1
net-tools 2.10-3
nethack 3.6.7-6
network-manager-applet 1.36.0-1
networkmanager 1.50.0-1
neverwinter.nim-bin 2.0.1-1
nmap 7.95-1
nodejs-nativefier 52.0.0-1
notepad++ 8.7-1
notepadnext 0.8-1
noto-fonts 1:2024.11.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.1-1
nvidia-dkms 565.57.01-1
nvm 0.40.1-1
obs-studio-git 30.2.3.r365.g7979421-1
opendoas 6.8.2-3
orca 47.1-1
otf-compagnon 1.000-1
otf-font-awesome 6.6.0-1
p7zip 1:17.05-2
pavucontrol 1:6.1-1
pcsx2 2.2.0-1
perl-net-telnet 3.05-6
php 8.3.13-1
pipewire 1:1.2.6-1
pipewire-alsa 1:1.2.6-1
pipewire-jack 1:1.2.6-1
pipewire-pulse 1:1.2.6-1
pnpm 9.12.3-1
pokemon-colorscripts-git r114.5802ff67-1
pokete 0.9.2-1
polkit-gnome 0.105-11
polkit-kde-agent 6.2.3-1
postgresql 16.3-4
proton-mail-bin 1.2.4-1
proton-vpn-gtk-app 4.7.4-2
puzzles 20240103-1
python-pipenv 2024.4.0-1
python-virtualenv 20.27.1-2
qt5-wayland 5.15.15+kde+r60-1
qt6-wayland 6.8.0-1
redact-bin 0.18.0-1
reflector 2023-2
retroarch 1.19.1-3
retroarch-assets-glui 1:516-1
retroarch-assets-ozone 1:516-1
retroarch-assets-xmb 1:516-1
roam 135.2.0.beta001-1
rofimoji 6.5.0-1
ruby 3.3.5-2
samrewritten-git r258.39d524a-1
scanmem 0.17-9
sddm 0.21.0-4
ser2net 4.3.13-2
simutrans 124.2.1-1
slack-desktop 4.41.97-1
slurp 1.5.0-1
smartmontools 7.4-2
speedtest-cli 2.1.3-8
spicetify-cli 2.38.4-2
spotify 1:1.2.48.405-1
steam 1.0.0.81-2
stone-soup-tiles-git 0.33.a0.r322.g559d583a2e-1
strace 6.11-1
sublime-text-4 4.4180-1
swappy 1.5.1-2
swaylock-effects 1.7.0.0-4
tailscale 1.76.6-1
thefuck 3.32-10
thunar 4.18.11-3
trayscale 0.14.0-1
ttf-firacode-nerd 3.2.1-2
ttf-font-awesome 6.6.0-1
ttf-jetbrains-mono-nerd 3.2.1-2
ttf-joypixels 8.0.0-2
ttf-symbola 14.00-1
ttf-twemoji 15.1.0-1
twitter 1.0.5-1
typescript 5.6.3-1
unrar 1:7.1.1-1
v4l2loopback-dkms 0.13.2-1
valgrind 3.24.0-1
vi 1:070224-6
vim 9.1.0866-1
vosk-api 0.3.50-4
vscodium-bin 1.95.2.24313-1
vscodium-bin-marketplace 1.76.0-1
waybar 0.11.0-3
websocat 1.13.0-1
wev 1.0.0-13
wget 1.25.0-1
widelands 1:1.2-2
win2xcur 0.1.2-1
wine 9.20-1
wireless_tools 30.pre9-4
wireplumber 0.5.6-1
wlogout 1.2.2-0
wofi 1.4.1-1
wofi-emoji 1.2-3
wxhexeditor 0.24-4
xdg-desktop-portal-hyprland 1.3.8-1
xdg-utils 1.2.1-1
xorg-server 21.1.14-1
xorg-xcursorgen 1.0.8-2
xorg-xhost 1.0.9-2
xorg-xinit 1.4.2-2
yay 12.4.2-1
zen-browser-bin 1.0.1.a.19-1
zoom 6.2.6-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.

Expand List
1password 8.10.52-25
1password-cli 2.30.0-1
a52dec 0.8.0-2
aalib 1.4rc5-18
abseil-cpp 20240722.0-1
acl 2.3.2-1
act 0.2.69-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-1
alacritty 0.14.0-1
alsa-card-profiles 1:1.2.6-1
alsa-lib 1.2.12-1
alsa-plugins 1:1.2.12-4
alsa-topology-conf 1.2.5.1-4
alsa-ucm-conf 1.2.12-1
alsa-utils 1.2.12-1
amd-ucode 20241111.b5885ec5-1
angband 4.2.5-3
aom 3.10.0-1
appimagelauncher 2.2.0-8.1
appstream 1.0.3-1
aquamarine 0.4.5-1
archlinux-keyring 20241015-1
argon2 20190702-6
aribb24 1.0.3-4
at-spi2-core 2.54.0-2
atkmm 2.28.4-1
attica 6.8.0-1
attr 2.5.2-1
audit 4.0.2-2
autoconf 2.72-1
autokey-common 0.96.0-6.2
automake 1.17-1
avahi 1:0.8+r194+g3f79789-2
aws-cli-v2-bin 2:2.19.3-1
ayatana-ido 0.10.4-1
babl 0.1.110-1
baloo 6.8.0-1
baloo-widgets 24.08.3-1
baobab 47.0-1
base 3-2
base-devel 1-2
bash 5.2.037-1
bc 1.07.1-5
bind 9.20.3-2
binutils 2.43+r4+g7999dae6961-1
bison 3.8.2-8
bizhawk-bin 2.9.1-1
bizhawk-bin-debug 2.9.1-1
blas 3.12.0-5
bluez-libs 5.79-1
boost 1.86.0-3
boost-libs 1.86.0-3
box2d 3.0.0-1
breeze-icons 6.8.0-1
bridge-utils 1.7.1-2
brltty 6.7-1
brotli 1.1.0-2
bubblewrap 0.11.0-1
bzip2 1.0.8-6
c-ares 1.34.2-1
ca-certificates 20240618-1
ca-certificates-mozilla 3.106-1
ca-certificates-utils 20240618-1
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
cataclysm-dda 0.G-2
cataclysm-dda-tiles 0.G-2
cblas 3.12.0-5
cbonsai 1.3.1-3
cdparanoia 10.2-9
ceserver 7.5-9
ceserver-debug 7.5-9
cfitsio 1:4.5.0-1
chaotic-keyring 20230616-1
chaotic-mirrorlist 20240724-1
cheese 44.1-3
chromaprint 1.5.1-9
cifs-utils 7.1-1
citra-debug 1:r10111.608383e-1
cjson 1.7.18-1
clamav 1.4.1-1
clang 18.1.8-4
cloc 2.02-1
cloudflared 2024.11.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.0-1
cogl 1.22.8-3
compiler-rt 18.1.8-1
containerd 2.0.0-2
convertlit 1.8-12
coreutils 9.5-2
cppdap 1.58.0-2
crawl-data 0.32.1-1
crowdin-cli 4.3.0-1
cryptsetup 2.7.5-1
curl 8.11.0-3
dart 3.5.3-1
dav1d 1.4.3-1
db5.3 5.3.28-5
dbus 1.14.10-2
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.28-1
diffutils 3.10-1
discord 0.0.74-1
dkms 3.1.1-2
dnssec-anchors 20190629-4
docbook-xml 4.5-10
docbook-xsl 1.79.2-9
docker 1:27.3.1-1
doctl 1.117.0-1
dolphin 24.08.3-1
dolphin-emu 1:2409-2
dos2unix 7.5.2-2
dosbox-x 2024.10.01-1
dotconf 1.4.1-1
dotnet-host 8.0.10.sdk110-1
dotnet-runtime 8.0.10.sdk110-1
dotnet-runtime-6.0 6.0.35.sdk135-1
dotnet-sdk 8.0.10.sdk110-1
dotnet-targeting-pack 8.0.10.sdk110-1
double-conversion 3.3.0-2
downgrade 11.4.2-1
dreamweb 1.1-1
duckstation 0.1.7465-1
duktape 2.7.0-7
dunst 1.11.0-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.16-1
eglexternalplatform 1.2-2
electron25-bin 25.9.8-3
electron29 1:29.4.6-2
electron31 31.7.3-1
electron32 32.2.4-1
ell 0.70-1
emacs 29.4-3
enchant 2.8.2-1
enet 1.3.18-1
espanso-gui 24.7-1
espanso-gui-debug 24.7-1
espanso-wayland 2.2.1-4
exiv2 0.28.3-1
exo 4.18.0-4
expat 2.6.4-1
extra-cmake-modules 6.8.0-1
eza 0.20.8-1
faac 1.30-5
faad2 2.11.1-1
fakeroot 1.36-1
feh 3.10.3-1
ffmpeg 2:7.1-2
ffmpeg4.4 4.4.5-1
fftw 3.3.10-7
file 5.45-1
filesystem 2024.04.07-1
findutils 4.10.0-2
firefox 132.0.2-1
flac 1.4.3-2
flameshot 12.1.0-5
flare-engine 1.14-1.3
flex 2.6.4-5
fluffychat 1.22.1-2
fluidsynth 2.4.0-1
flutter 3.24.3-2
flutter-common 3.24.3-2
flutter-devel 3.24.3-2
flutter-engine-android-google-bin 3.24.3-1
flutter-engine-common-google-bin 3.24.3-1
flutter-engine-linux-google-bin 3.24.3-1
flutter-engine-web-google-bin 3.24.3-1
flutter-gradle 3.24.3-2
flutter-intellij-patch 3.24.3-2
flutter-material-fonts-google-bin 3.24.3-1
flutter-sky-engine-google-bin 3.24.3-1
flutter-target-android 3.24.3-2
flutter-target-linux 3.24.3-2
flutter-target-web 3.24.3-2
flutter-tool 3.24.3-2
flyctl 0.3.37-1
flyctl-debug 0.3.37-1
fmt 11.0.2-1
fontconfig 2:2.15.0-2
freeglut 3.6.0-1
freetube 0.22.0-2
freetype2 2.13.3-1
frei0r-plugins 2.3.3-2
fribidi 1.0.16-1
frotz-ncurses 2.54-1
fuse-common 3.16.2-1
fuse-overlayfs 1.14-1
fuse2 2.9.9-5
fuse3 3.16.2-1
fzf 0.55.0-1
gameconqueror-git 0.17.1104.0375cc0-1
gamemode 1.8.2-1
gargoyle 2023.1-2
gawk 5.3.1-1
gc 8.2.8-2
gcc 14.2.1+r134+gab884fffe3fc-1
gcc-libs 14.2.1+r134+gab884fffe3fc-1
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.6.7-2
geoclue 2.7.2-1
gettext 0.22.5-2
giflib 5.2.2-1
gimp 2.10.38-5
git 2.47.0-1
git-lfs 3.5.1-1
github-cli 2.62.0-1
glew 2.2.0-7
glib-networking 1:2.80.0-3
glib2 2.82.2-1
glibc 2.40+r16+gaa533d58ff-2
glibmm 2.66.7-1
glibmm-2.68 2.82.0-1
gloox 1.0.27-2
glslang 14.3.0-1
glu 9.0.3-2
gmp 6.3.0-2
gnome-desktop 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.6-1
gnutls 3.8.8-1
go 2:1.23.3-1
gobject-introspection 1.82.0-1
gobject-introspection-runtime 1.82.0-1
google-chat-linux 5.29.23_1-5
gperftools 2.16-1
gpgme 1.24.0-1
gpm 1.20.7.r38.ge82d1a6-6
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.6-1
gst-plugins-bad 1.24.9-3
gst-plugins-bad-libs 1.24.9-3
gst-plugins-base 1.24.9-3
gst-plugins-base-libs 1.24.9-3
gst-plugins-good 1.24.9-3
gstreamer 1.24.9-3
gtest 1.15.2-1
gtk-layer-shell 0.9.0-1
gtk-update-icon-cache 1:4.16.5-1
gtk2 2.24.33-5
gtk3 1:3.24.43-4
gtk4 1:4.16.5-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.7-1
gupnp-igd 1.6.0-1
gvfs 1.56.1-1
gwenview-no-purpose 24.08.3-1
gwenview-no-purpose-debug 24.08.3-1
gzip 1.13-4
harfbuzz 10.1.0-1
harfbuzz-icu 10.1.0-1
hexchat 2.16.2-3
hexedit 1.6-2
hicolor-icon-theme 0.18-1
hidapi 0.14.0-3
highway 1.2.0-1
htop 3.3.0-3
http-parser 2.9.4-2
hunspell 1.7.2-2
hwdata 0.389-1
hyfetch 1.99.0-1
hyphen 2.8.8-6
hyprcursor 0.1.10-1
hyprland 0.45.0-1
hyprlang 0.5.3-1
hyprlock 0.5.0-1
hyprpaper 0.7.1-3
hyprshot 1.3.0-1
hyprutils 0.2.5-1
hyprwayland-scanner 0.4.2-1
iana-etc 20241016-1
icoutils 0.32.3-3
icu 75.1-1
imagemagick 7.1.1.40-2
imath 3.1.12-1
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.11.0-1
iptables 1:1.8.10-2
iputils 20240905-1
iso-codes 4.17.0-1
iwd 3.1-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-4
jq 1.7.1-2
json-c 0.18-1
json-glib 1.10.0-1
jsoncpp 1.9.6-3
karchive 6.8.0-1
karchive5 5.116.0-1
kauth 6.8.0-1
kbd 2.6.4-3
kbookmarks 6.8.0-2
kcmutils 6.8.0-1
kcodecs 6.8.0-1
kcolorpicker 0.3.1-4
kcolorscheme 6.8.0-1
kcompletion 6.8.0-1
kconfig 6.8.0-1
kconfigwidgets 6.8.0-1
kcoreaddons 6.8.0-1
kcrash 6.8.0-1
kdbusaddons 6.8.0-1
kdnssd 6.8.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.8.0-1
kglobalaccel 6.8.0-1
kguiaddons 6.8.0-1
kguiaddons5 5.116.0-1
ki18n 6.8.0-1
kiconthemes 6.8.0-2
kidletime 6.8.0-1
kimageannotator 0.7.1-3
kio 6.8.0-2
kio-extras 24.08.3-2
kirigami 6.8.0-1
kitemmodels 6.8.0-1
kitemviews 6.8.0-1
kitty 0.37.0-1
kitty-shell-integration 0.37.0-1
kitty-terminfo 0.37.0-1
kjobwidgets 6.8.0-1
kmod 33-3
knewstuff 6.8.0-1
knotifications 6.8.0-1
kotlin 2.0.21-1
kpackage 6.8.0-1
kparts 6.8.0-1
krabby-gotchi 1.1-1
krabby-gotchi-debug 1.1-1
krb5 1.21.3-1
kservice 6.8.0-1
ktextwidgets 6.8.0-2
kuserfeedback 6.8.0-1
kwallet 6.8.0-1
kwidgetsaddons 6.8.0-1
kwindowsystem 6.8.0-1
kxmlgui 6.8.0-1
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.1-1
lensfun 1:0.3.4-4
less 1:661-1
lib32-acl 2.3.2-1
lib32-alsa-lib 1.2.12-1
lib32-alsa-plugins 1.2.12-1
lib32-brotli 1.1.0-1
lib32-bzip2 1.0.8-4
lib32-curl 8.11.0-1
lib32-dbus 1.14.10-2
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-freetype2 2.13.3-2
lib32-gcc-libs 14.2.1+r134+gab884fffe3fc-1
lib32-gettext 0.22.5-1
lib32-glib2 2.82.2-1
lib32-glibc 2.40+r16+gaa533d58ff-2
lib32-gmp 6.3.0-2
lib32-gnutls 3.8.7-1
lib32-harfbuzz 10.1.0-1
lib32-icu 75.1-1
lib32-json-c 0.18-1
lib32-keyutils 1.6.3-2
lib32-krb5 1.21.3-1
lib32-libasyncns 1:0.8+r3+g68cd5af-3
lib32-libcap 2.71-1
lib32-libdrm 2.4.123-1
lib32-libelf 0.192-1
lib32-libffi 3.4.6-1
lib32-libgcrypt 1.11.0-1
lib32-libglvnd 1.7.0-1
lib32-libgpg-error 1.50-1
lib32-libidn2 2.3.7-1
lib32-libldap 2.6.8-1
lib32-libnghttp2 1.64.0-1
lib32-libnghttp3 1.6.0-1
lib32-libnl 3.11.0-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-libpng 1.6.44-1
lib32-libpsl 0.21.5-1
lib32-libpulse 17.0-1
lib32-libsndfile 1.2.2-2
lib32-libssh2 1.11.0-2
lib32-libtasn1 4.19.0-2
lib32-libtirpc 1.3.5-1
lib32-libunistring 1.2-1
lib32-libunwind 1.8.1-1
lib32-libvorbis 1.3.7-2
lib32-libx11 1.8.10-1
lib32-libxau 1.0.11-2
lib32-libxcb 1.17.0-1
lib32-libxcrypt 4.4.36-2
lib32-libxcrypt-compat 4.4.36-2
lib32-libxcursor 1.2.2-1
lib32-libxdmcp 1.1.5-1
lib32-libxext 1.3.6-1
lib32-libxfixes 6.0.1-2
lib32-libxi 1.8.2-1
lib32-libxkbcommon 1.7.0-2
lib32-libxml2 2.13.5-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-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-mesa 1:24.2.7-1
lib32-ncurses 6.5-1
lib32-nettle 3.10-1
lib32-nspr 4.36-1
lib32-nss 3.106-1
lib32-nvidia-utils 565.57.01-1
lib32-openal 1.23.1-2
lib32-openssl 1:3.4.0-1
lib32-opus 1.5.2-1
lib32-p11-kit 0.25.5-1
lib32-pam 1.6.1-1
lib32-pcre2 10.44-1
lib32-sqlite 3.46.1-1
lib32-systemd 256.8-1
lib32-util-linux 2.40.2-1
lib32-vulkan-icd-loader 1.3.295-1
lib32-wayland 1.23.1-1
lib32-xz 5.6.3-1
lib32-zlib 1.3.1-1
lib32-zstd 1.5.6-1
libabw 0.1.3-4
libaccounts-glib 1.27-2
libadwaita 1:1.6.1-1
libaio 0.3.113-3
libajantv2-debug 1:17.0.1-1
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
libblockdev 3.2.1-1
libblockdev-crypto 3.2.1-1
libblockdev-fs 3.2.1-1
libblockdev-loop 3.2.1-1
libblockdev-mdraid 3.2.1-1
libblockdev-nvme 3.2.1-1
libblockdev-part 3.2.1-1
libblockdev-swap 3.2.1-1
libbluray 1.3.4-2
libbpf 1.4.3-1
libbs2b 3.1.0-9
libbsd 0.12.2-2
libbytesize 2.8-3
libcaca 0.99.beta20-4
libcamera 0.3.2-1
libcamera-ipa 0.3.2-1
libcanberra 1:0.30+r2+gc0620e4-4
libcap 2.71-1
libcap-ng 0.8.5-2
libcbor 0.11.0-1
libcdio 2.1.0-4
libcdio-paranoia 10.2+2.0.2-1
libcdr 0.1.7-8
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.0-3
libcurl-gnutls 8.11.0-3
libdaemon 0.14-6
libdatrie 0.2.13-4
libdbusmenu-glib 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.123-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 1.0.27-1
libelectron-debug 1.0.27-1
libelf 0.192-2
libepoxy 1.5.10-3
libepubgen 0.1.1-5
libetonyek 0.1.11-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
libgdiplus 6.1-2
libgexiv2 0.14.3-1
libgirepository 1.82.0-1
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
libheif 1.19.3-1
libibus 1.5.31-1
libice 1.1.1-3
libidn 1.42-1
libidn2 2.3.7-1
libiec61883 1.2.0-8
libimobiledevice 1.3.0-14
libimobiledevice-glue 1.3.1-1
libinih 58-1
libinput 1.26.2-1
libinstpatch 1.1.6-3
libisl 0.27-1
libixion 0.19.0-3
libjpeg-turbo 3.0.4-1
libjxl 0.11.0-2
libkdcraw 24.08.3-1
libkexiv2 24.08.3-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.8-2
libliftoff 0.5.0-1
liblouis 3.31.0-1
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.21-2
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-2
libnfnetlink 1.0.2-2
libnftnl 1.2.8-1
libnghttp2 1.64.0-1
libnghttp3 1.6.0-1
libngtcp2 1.8.1-1
libnice 0.1.22-1
libnl 3.11.0-1
libnm 1.50.0-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.10-1
libodfgen 0.1.8-3
libogg 1.3.5-2
libolm 3.2.16-4
libomxil-bellagio 0.9.3-5
libopenmpt 0.7.11-1
liborcus 0.19.2-3
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.6-1
libplacebo 7.349.0-2
libplist 2.6.0-1
libpng 1.6.44-1
libproxy 0.5.9-1
libpsl 0.21.5-2
libpulse 17.0-3
libqalculate 5.3.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.3-1
libretro-bsnes 1:3167-1
libretro-citra 9304-1
libretro-core-info 1.19.0-1
libretro-desmume 6359-1
libretro-dolphin 33044-2
libretro-flycast 6364-1
libretro-genesis-plus-gx 2199-1
libretro-kronos 7016-2
libretro-mesen 2903-3
libretro-mgba 9298-2
libretro-mupen64plus-next 1:454-1
libretro-pcsx2 17053-2
libretro-ppsspp 40927-1
libretro-sameboy 1720-3
libretro-swanstation-git r5882.37cd87e-1
libretro-swanstation-git-debug r5882.37cd87e-1
librevenge 0.0.5-3
librist 0.2.10-3
librsvg 2:2.59.2-1
librsync 1:2.3.4-2
libsamplerate 0.2.2-3
libsasl 2.1.28-5
libscanmem-git 0.17.1103.0def8b2-1
libseccomp 2.5.5-3
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.4-2
libsndfile 1.2.2-2
libsodium 1.0.20-1
libsoup 2.74.3-1
libsoup3 3.6.0-1
libsoxr 0.1.3-4
libspeechd 0.11.5-2
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.1-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
libtirpc 1.3.6-1
libtommath 1.3.0-1
libtool 2.5.3-1
libunibreak 6.1-1
libunistring 1.2-1
libunwind 1.8.1-3
libupnp 1.14.20-1
liburcu 0.14.1-1
libusb 1.0.27-1
libusbmuxd 2.1.0-1
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-9
libvorbis 1.3.7-3
libvpl 2.13.0-1
libvpx 1.14.1-1
libwacom 2.13.0-1
libwbclient 2:4.21.1-1
libwebp 1.4.0-3
libwireplumber 0.5.6-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.11-3
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.2-2
libxdamage 1.1.6-2
libxdmcp 1.1.5-1
libxext 1.3.6-1
libxfce4ui 4.18.6-3
libxfce4util 4.18.2-3
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-1
libxmlb 0.3.21-1
libxmu 1.2.1-1
libxpm 3.5.17-2
libxrandr 1.5.4-1
libxrender 0.9.11-2
libxres 1.2.2-2
libxshmfence 1.3.2-2
libxslt 1.1.42-1
libxss 1.2.4-2
libxt 1.3.0-2
libxtst 1.2.5-1
libxv 1.0.12-2
libxxf86vm 1.1.5-2
libyaml 0.2.5-3
libyuv r2426+464c51a03-1
libzip 1.11.1-1
libzmf 0.0.2-16
licenses 20240728-1
lilv 0.24.24-2
linux 6.11.8.arch1-2
linux-api-headers 6.10-1
linux-firmware 20241111.b5885ec5-1
linux-firmware-whence 20241111.b5885ec5-1
linux-headers 6.11.8.arch1-2
lld 18.1.8-1
llvm 18.1.8-4
llvm-libs 18.1.8-4
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
lrexlib-pcre5.1-debug 2.9.0-2
lrzip 0.651-3
lsb-release 2.0.r53.a86f885-2
lsof 4.99.3-2
lua 5.4.7-1
lua-yajl 2.0-2
lua-yajl-debug 2.0-2
lua51 5.1.5-12
lua51-filesystem 1.8.0-4
lua51-lcf 5.1-3
lua51-luautf8 0.1.5-3
lua51-sql-sqlite 2.3.0-4
lua51-sql-sqlite-debug 2.3.0-4
luajit 2.1.1727870382-1
luarocks 3.11.1-2
luazip5.1 1.2.7-1
luazip5.1-debug 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.2.7-1
mindustry 7.0.146-3
minetest 5.9.0-4
minetest-common 5.9.0-4
miniupnpc 2.2.8-1
minizip 1:1.3.1-2
mjpegtools 2.2.1-2
mkinitcpio 39.2-2
mkinitcpio-busybox 1.36.1-1
mobile-broadband-provider-info 20240407-1
mommy 1.5.1-1
mongodb 7.0.14-1.1
mongodb-tools-bin 100.10.0-3
mongodb-tools-bin-debug 100.10.0-3
mongosh-bin 2.3.3-1
mongosh-bin-debug 2.3.3-1
mono 6.12.0.206-1
mono-msbuild 16.10.1.xamarinxplat.2021.05.26.14.00-5
mpdecimal 4.0.0-2
mpfr 4.2.1-4
mpg123 1.32.9-1
mtdev 1.1.7-1
mudlet-debug 4.18.3-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
ncurses 6.5-3
ncurses5-compat-libs 6.5-1
neon 0.33.0-1
net-tools 2.10-3
nethack 3.6.7-6
netstandard-targeting-pack 8.0.10.sdk110-1
nettle 3.10-1
network-manager-applet 1.36.0-1
networkmanager 1.50.0-1
networkmanager-openvpn 1.12.0-1
neverwinter.nim-bin 2.0.1-1
neverwinter.nim-bin-debug 2.0.1-1
ninja 1.12.1-1
nm-connection-editor 1.36.0-1
nmap 7.95-1
node-gyp 10.2.0-1
nodejs 23.1.0-1
nodejs-nativefier 52.0.0-1
nodejs-nopt 7.2.0-2
notepad++ 8.7-1
notepadnext 0.8-1
noto-fonts 1:2024.11.01-1
noto-fonts-cjk 20230817-2
noto-fonts-emoji 1:2.047-1
noto-fonts-emoji-flags 20200120-1
npm 10.9.0-1
npm-check-updates 17.1.1-1
npth 1.7-1
nspr 4.36-1
nss 3.106-1
nvidia-dkms 565.57.01-1
nvidia-utils 565.57.01-1
nvm 0.40.1-1
obs-studio-git 30.2.3.r365.g7979421-1
obs-studio-liberty-debug 30.2.3-1
ocl-icd 2.3.2-2
oniguruma 6.9.9-1
openal 1.23.1-3
opencore-amr 0.1.6-2
opendoas 6.8.2-3
openexr 3.3.2-1
openh264 2.4.1-1
openjpeg2 2.5.2-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
openstarruler-git-debug r95.c5e3cbb-1
openvpn 2.6.12-1
openxcom-debug 1.0-9
opus 1.5.2-1
opusfile 0.12-4
orc 0.4.40-1
orca 47.1-1
otf-compagnon 1.000-1
otf-font-awesome 6.6.0-1
p11-kit 0.25.5-1
p7zip 1:17.05-2
pacman 7.0.0.r3.g7736133-1
pacman-contrib 1.10.6-2
pacman-mirrorlist 20240717-1
pahole 1:1.27-2
pam 1.6.1-3
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
pcsx2 2.2.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-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 6.46-2
perl-http-negotiate 6.01-14
perl-import-into 1.002005-11
perl-io-html 1.004-6
perl-libwww 6.77-2
perl-lwp-mediatypes 6.04-6
perl-mailtools 2.21-9
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-timedate 2.33-7
perl-try-tiny 0.32-2
perl-uri 5.29-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.13-1
physfs 3.2.0-2
pinentry 1.3.1-5
pipewire 1:1.2.6-1
pipewire-alsa 1:1.2.6-1
pipewire-audio 1:1.2.6-1
pipewire-jack 1:1.2.6-1
pipewire-pulse 1:1.2.6-1
pixman 0.44.0-1
pkcs11-helper 1.30.0-1
pkgconf 2.1.1-1
plasma-activities 6.2.3-1
play.it-git 2.29.1.r1.g03ba243f-1
playerctl 2.4.1-4
pnpm 9.12.3-1
pokemon-colorscripts-git r114.5802ff67-1
pokete 0.9.2-1
pokete-debug 0.9.2-1
polkit 125-1
polkit-gnome 0.105-11
polkit-kde-agent 6.2.3-1
polkit-qt6 0.200.0-1
poppler 24.11.0-2
poppler-data 0.4.12-2
poppler-glib 24.11.0-2
poppler-qt6 24.11.0-2
popt 1.19-2
portaudio 1:19.7.0-3
postgresql 16.3-4
postgresql-libs 16.3-4
ppsspp-assets 1.17.1-1
procps-ng 4.0.4-3
proton-mail-bin 1.2.4-1
proton-mail-bin-debug 1.2.4-1
proton-vpn-gtk-app 4.7.4-2
psmisc 23.7-1
pugixml 1.14-1
puzzles 20240103-1
python 3.12.7-1
python-aiohappyeyeballs 2.4.3-1
python-aiohttp 3.10.5-1
python-aiosignal 1.3.1-7
python-attrs 23.2.0-3
python-autocommand 2.2.2-6
python-bcrypt 4.1.3-1
python-cairo 1.27.0-1
python-certifi 2024.08.30-1
python-cffi 1.17.1-1
python-charset-normalizer 3.4.0-1
python-colorama 0.4.6-3
python-configargparse 1.5.5-2
python-cryptography 42.0.8-1
python-dbus 1.3.2-4
python-decorator 5.1.1-4
python-distlib 0.3.8-2
python-distro 1.9.0-2
python-distutils-extra 2.39-13
python-fastjsonschema 2.20.0-1
python-filelock 3.13.3-2
python-frozenlist 1.4.1-3
python-gnupg 0.5.3-1
python-gobject 3.50.0-1
python-idna 3.10-1
python-inflect 7.4.0-1
python-jaraco.classes 3.4.0-1
python-jaraco.collections 5.0.1-1
python-jaraco.context 5.3.0-1
python-jaraco.functools 4.0.2-1
python-jaraco.text 4.0.0-1
python-jeepney 0.8.0-3
python-jinja 1:3.1.4-1
python-keyring 25.2.1-1
python-mako 1.3.6-1
python-markdown 3.7-1
python-markupsafe 2.1.5-2
python-more-itertools 10.3.0-1
python-multidict 6.0.5-3
python-numpy 2.1.3-1
python-ordered-set 4.1.0-5
python-packaging 24.1-1
python-pip 24.3.1-1
python-pipenv 2024.4.0-1
python-platformdirs 4.3.6-1
python-proton-core 0.3.3-1
python-proton-keyring-linux 0.1.0-1
python-proton-vpn-api-core 0.36.6-1
python-proton-vpn-network-manager 0.9.7-1
python-psutil 6.1.0-1
python-pycparser 2.22-2
python-pyinotify 0.9.6-14
python-pynacl 1.5.0-2
python-pyopenssl 24.2.1-1
python-pyte 0.8.2-3
python-pyxdg 0.28-3
python-requests 2.32.3-1
python-scrap_engine-git 1.4.1-1.1
python-secretstorage 3.3.3-5
python-sentry_sdk 2.18.0-1
python-setproctitle 1.3.3-2
python-setuptools 1:75.2.0-2
python-six 1.16.0-9
python-tomli 2.0.1-4
python-trove-classifiers 2024.10.21.16-1
python-typeguard 4.3.0-1
python-typing_extensions 4.12.2-1
python-urllib3 1.26.20-1
python-validate-pyproject 0.22-1
python-virtualenv 20.27.1-2
python-virtualenv-clone 0.5.7-5
python-wand 0.6.11-4
python-wcwidth 0.2.13-2
python-wheel 0.44.0-2
python-xlib 0.33-3
python-yarl 1.9.4-3
qca-qt6 2.3.9-3
qrcodegencpp-cmake 1:1.8.0-3
qrencode 4.1.1-3
qt5-base 5.15.15+kde+r141-1
qt5-declarative 5.15.15+kde+r25-1
qt5-gamepad 5.15.15-2
qt5-gamepad-debug 5.15.15-2
qt5-location 5.15.15+kde+r7-1
qt5-multimedia 5.15.15+kde+r2-1
qt5-remoteobjects 5.15.15-1
qt5-svg 5.15.15+kde+r5-1
qt5-tools 5.15.15+kde+r3-2
qt5-translations 5.15.15-1
qt5-wayland 5.15.15+kde+r60-1
qt5-webchannel 5.15.15+kde+r3-1
qt5-webengine 5.15.18-2
qt5-x11extras 5.15.15-1
qt6-5compat 6.8.0-1
qt6-base 6.8.0-1
qt6-declarative 6.8.0-6
qt6-multimedia 6.8.0-2
qt6-multimedia-ffmpeg 6.8.0-2
qt6-shadertools 6.8.0-1
qt6-speech 6.8.0-1
qt6-svg 6.8.0-1
qt6-tools 6.8.0-1
qt6-translations 6.8.0-1
qt6-wayland 6.8.0-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
redact-bin-debug 0.18.0-1
redland 1:1.0.17-9
reflector 2023-2
retroarch 1.19.1-3
retroarch-assets-glui 1:516-1
retroarch-assets-ozone 1:516-1
retroarch-assets-xmb 1:516-1
rhash 1.4.4-1
rnnoise 1:0.2-1
roam 135.2.0.beta001-1
rofimoji 6.5.0-1
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.1-1
samrewritten-git r258.39d524a-1
samrewritten-git-debug r258.39d524a-1
sbc 2.0-2
scanmem 0.17-9
scummvm 2.8.1-1
sdbus-cpp 2.0.0-1
sddm 0.21.0-4
sdl12-compat 1.2.68-2
sdl2 2.30.9-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.3.13-2
serd 0.32.2-1
sfml 2.6.1-1
shaderc 2024.2-1
shadow 4.16.0-1
shared-mime-info 2.4-1
shellspec 0.28.1-3
simutrans 124.2.1-1
simutrans-pak64 124.1-1
slack-desktop 4.41.97-1
slack-electron-debug 4.40.128-1
slang 2.3.3-3
slurp 1.5.0-1
smartmontools 7.4-2
smbclient 2:4.21.1-1
snappy 1.2.1-2
sndio 1.10.0-1
solid 6.8.0-1
sonnet 6.8.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.14.1-3
speech-dispatcher 0.11.5-2
speedtest-cli 2.1.3-8
speex 1.2.1-2
speexdsp 1.2.1-2
spicetify-cli 2.38.4-2
spicetify-cli-debug 2.36.15-1
spirv-headers 1:1.3.283.0-1
spirv-tools 2024.2-1
spotify 1:1.2.48.405-1
sqlite 3.46.1-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
stone-soup-tiles-git 0.33.a0.r322.g559d583a2e-1
stone-soup-tiles-git-debug 0.33.a0.r322.g559d583a2e-1
strace 6.11-1
sublime-text-4 4.4180-1
sudo 1.9.16-1
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
swaylock-effects-debug 1.7.0.0-4
syndication 6.8.0-1
syntax-highlighting 6.8.0-1
systemd 256.8-1
systemd-libs 256.8-1
systemd-sysvcompat 256.8-1
taglib 2.0.2-1
tailscale 1.76.6-1
talloc 2.4.2-3
tar 1.35-2
tdb 1.4.12-1
tevent 1:0.16.1-3
texinfo 7.1.1-1
thefuck 3.32-10
thunar 4.18.11-3
tinysparql 3.8.0-1
tomlplusplus 3.4.0-1
tpm2-tss 4.1.3-1
trayscale 0.14.0-1
tree-sitter 0.24.3-1
tslib 1.23-1
ttf-dejavu 2.37+18+g9b5d1b2f-7
ttf-firacode-nerd 3.2.1-2
ttf-font-awesome 6.6.0-1
ttf-jetbrains-mono-nerd 3.2.1-2
ttf-joypixels 8.0.0-2
ttf-symbola 14.00-1
ttf-twemoji 15.1.0-1
twitter 1.0.5-1
twolame 0.4.0-4
typescript 5.6.3-1
tzdata 2024b-2
udisks2 2.10.1-5
unrar 1:7.1.1-1
unzip 6.0-21
upower 1.90.6-1
usbutils 018-1
util-linux 2.40.2-1
util-linux-libs 2.40.2-1
v4l-utils 1.28.1-1
v4l2loopback-dkms 0.13.2-1
valgrind 3.24.0-1
vapoursynth R70-1
vi 1:070224-6
vid.stab 1.1.1-2
vim 9.1.0866-1
vim-runtime 9.1.0866-1
vlc 3.0.21-9
vmaf 3.0.0-1
volume_key 0.3.12-9
vosk-api 0.3.50-4
vscodium-bin 1.95.2.24313-1
vscodium-bin-debug 1.95.2.24313-1
vscodium-bin-marketplace 1.76.0-1
vulkan-headers 1:1.3.295-1
vulkan-icd-loader 1.3.295-1
vulkan-tools 1.3.269-1
vulkan-validation-layers 1.3.290-2
wavpack 5.7.0-1
waybar 0.11.0-3
wayland 1.23.1-1
wayland-protocols 1.38-1
webkit2gtk 2.46.3-1
webrtc-audio-processing-1 1.3-3
websocat 1.13.0-1
wev 1.0.0-13
wget 1.25.0-1
which 2.21-6
widelands 1:1.2-2
wildmidi 0.4.6-1
win2xcur 0.1.2-1
wine 9.20-1
wireless_tools 30.pre9-4
wireplumber 0.5.6-1
wl-clipboard 1:2.2.1-2
wlogout 1.2.2-0
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
wxhexeditor-debug 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-2
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
xdg-dbus-proxy 0.1.6-1
xdg-desktop-portal 1.18.4-1
xdg-desktop-portal-hyprland 1.3.8-1
xdg-user-dirs 0.18-2
xdg-utils 1.2.1-1
xf86-input-libinput 1.5.0-1
xfconf 4.18.3-3
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.14-1
xorg-server-common 21.1.14-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
zbar 0.23.93-2
zen-browser-bin 1.0.1.a.19-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.2.6-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
[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="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 obs="~/obs/usr/bin/obs"
# Silly
alias tree="cbonsai -S"
alias poke="pokemon-colorscripts --no-title -r"
# 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.

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-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,1920x0,1
monitor=DP-2,1920x1080,3840x0,1
###################
### MY PROGRAMS ###
###################
$terminal = alacritty
$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
# Wallpaper
exec-once = hyprpaper
# Task bar
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 'Fira Code 11'
# 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
# Execute startup script
exec-once = ~/.config/hypr/startup.sh
#############################
### ENVIRONMENT VARIABLES ###
#############################
env = XCURSOR_SIZE,24
env = HYPRCURSOR_SIZE,24
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_CURSOES,1
env = WLR_RENDERER,gles2
debug {
disable_logs = false
}
#####################
### LOOK AND FEEL ###
#####################
general {
gaps_in = 5
gaps_out = 20
border_size = 2
col.active_border = rgba(00c7a9ee) rgba(00ffd9ee) 45deg
col.inactive_border = rgba(00806cff)
resize_on_border = true
allow_tearing = false
layout = dwindle
}
decoration {
rounding = 10
active_opacity = 1
inactive_opacity = 0.6
shadow {
enabled = true
range = 4
render_power = 3
color = rgba(1a1a1aee)
}
blur {
enabled = true
size = 8
passes = 1
vibrancy = 0.1696
}
}
animations {
enabled = true
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
animation = windows, 1, 7, myBezier
animation = windowsOut, 1, 7, default, popin 80%
animation = border, 1, 10, default
animation = borderangle, 1, 8, default
animation = fade, 1, 7, default
animation = workspaces, 1, 6, default
}
dwindle {
pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
preserve_split = true # You probably want this
}
master {
new_status = master
}
misc {
force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers
disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :(
}
#############
### INPUT ###
#############
input {
kb_layout = us
kb_variant =
kb_model =
kb_options =
kb_rules =
follow_mouse = 1
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
touchpad {
natural_scroll = false
}
}
gestures {
workspace_swipe = false
}
####################
### 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, M, exit,
bind = $mainMod, E, exec, $fileManager
bind = $mainMod, V, togglefloating,
bind = $mainMod, R, exec, $menu
bind = $mainMod, P, pseudo, # dwindle
bind = $mainMod, J, togglesplit, # dwindle
# 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
# 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
##############################
### WINDOWS AND WORKSPACES ###
##############################
windowrulev2 = suppressevent maximize, class:.* # You'll probably like this.
windowrulev2 = opacity 1 override 1,title:FreeTube

startup.sh

This just boots Naomi’s programs.

#!/bin/bash
# Function to launch app with delay
launch_app() {
$2 &
sleep $1
}
# Workspace 1
hyprctl dispatch workspace 1
launch_app 20 discord
launch_app 5 hexchat
# Workspace 2
hyprctl dispatch workspace 2
launch_app 5 zen-browser
# Workspace 3
hyprctl dispatch workspace 3
launch_app alacritty

3.6 Waybar

These manage Naomi’s waybar instance. These are a modification of MechaBar.

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

config.jsonc

{
"layer": "top",
"position": "top",
"mode": "dock",
"height": 20,
"exclusive": true,
"passthrough": false,
"gtk-layer-shell": true,
"reload_style_on_change": true,
// positions
"modules-left": [
"custom/paddl",
"custom/ws", // window icon
"custom/left1",
"hyprland/workspaces", // workspaces
"custom/right1",
"custom/paddw",
"hyprland/window" // window title
],
"modules-center": [
"custom/paddc",
"custom/left2",
"custom/cpuinfo", // temperature
"custom/left3",
"memory", // memory
"custom/left4",
"cpu", // cpu
"custom/leftin1",
"custom/left5",
"custom/arch", // arch logo
"custom/right2",
"custom/rightin1",
"clock#time", // time
"custom/right3",
"clock#date", // date
"custom/right4",
"custom/wifi", // connection
"custom/right5"
],
"modules-right": [
"custom/media", // media info
"custom/left6",
"pulseaudio", // output device
"custom/left7",
"tray", // brightness
"custom/left8",
"custom/notifs",
"custom/leftin2",
"custom/power" // power button
],
// modules
"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"
},
"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",
"(.*) — Mozilla Firefox": "<span foreground='#f38ba8'>󰈹</span> $1",
"(.*)Mozilla Firefox": "<span foreground='#f38ba8'>󰈹</span> Firefox",
"(.*) - Visual Studio Code": "<span foreground='#89b4fa'>󰨞</span> $1",
"(.*)Visual Studio Code": "<span foreground='#89b4fa'>󰨞</span> Visual Studio Code",
"(.*)Spotify Premium": "<span foreground='#a6e3a1'></span> Spotify Premium",
"Discord": "<span foreground='#89b4fa'></span> Discord",
"GNU Image Manipulation Program": "<span foreground='#a6adc8'></span> GNU Image Manipulation Program",
"OBS(.*)": "<span foreground='#a6adc8'>󰐌</span> OBS Studio",
"VLC media player": "<span foreground='#fab387'>󰕼</span> VLC Media Player",
"ONLYOFFICE Desktop Editors": "<span foreground='#f38ba8'></span> OnlyOffice Desktop",
"qView": " qView",
"(.*).jpg": " $1.jpg",
"(.*).png": " $1.png",
"(.*).svg": " $1.svg",
"/": " File Manager",
"": "<span foreground='#cba6f7'></span> Naomi 󰅂 Technomancer"
},
"min-length": 5,
"max-length": 45
},
"custom/cpuinfo": {
"exec": "~/.config/waybar/scripts/cpuinfo.sh",
"return-type": "json",
"format": "{}",
"tooltip": true,
"interval": 5,
"min-length": 8,
"max-length": 8
},
"memory": {
"states": {"c": 90},
"format": "󰘚 {percentage}%",
"format-c": "󰀪 {percentage}%",
"tooltip": true,
"tooltip-format": "{used:0.1f}GB / {total:0.1f}GB",
"interval": 20,
"min-length": 7,
"max-length": 7
},
"cpu": {
"format": "󰻠 {usage}%",
"tooltip": false,
"interval": 5,
"min-length": 6,
"max-length": 6
},
"custom/arch": {
"format": "",
"tooltip": false,
"on-click": "alacritty"
},
"clock#time": {
"format": "󱑂 {:%H:%M}",
"tooltip": false,
"min-length": 8,
"max-length": 8,
"timezone": "America/Los_Angeles"
},
"clock#date": {
"format": "󱨴 {:L%m-%d}",
"tooltip-format": "<tt>{calendar}</tt>",
"calendar": {
"mode": "month",
"mode-mon-col": 3,
"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"},
"min-length": 8,
"max-length": 8
},
"custom/wifi": {
"exec": "~/.config/waybar/scripts/network-status.sh",
"interval": 30,
"format": "󰢾 Internet",
"tooltip": true,
"tooltip-format": "{}",
"on-click": "~/.config/waybar/scripts/network-menu.sh"
},
"custom/media": {
"exec": "/usr/bin/python3 ~/.config/waybar/scripts/mediaplayer.py",
"format": "{}",
"return-type": "json",
"on-click": "playerctl play-pause",
"min-length": 5,
"max-length": 35
},
"pulseaudio": {
"format": "{icon} {volume}%",
"format-muted": "婢 {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,
"min-length": 6,
"max-length": 6
},
"backlight": {
"device": "intel_backlight",
"format": "{icon} {percent}%",
"format-icons": ["", "", "", "", "", "", "", "", ""],
"tooltip": false,
"on-scroll-up": "brightnessctl set 5%+",
"on-scroll-down": "brightnessctl set 5%-",
"min-length": 6,
"max-length": 6
},
"battery": {
"states": {
"good": 95,
"warning": 30,
"critical": 20
},
"format": "{icon} {capacity}%",
// "format-icons": ["", "", "", "", ""],
"format-icons": ["󰂎", "󰁺", "󰁻", "󰁼", "󰁽", "󰁾", "󰁿", "󰂀", "󰂁", "󰂂", "󰁹"],
"format-charging": "󱘖 {capacity}%",
"format-plugged": "󱘖 {capacity}%",
"tooltip-format": "{time}",
"interval": 1,
"min-length": 6,
"max-length": 6
},
"custom/power": {
"format": "",
"tooltip": false,
"on-click": "swaylock",
"on-click-right": "shutdown now",
"interval" : 86400
},
"tray": {
"icon-size": 20,
"spacing": 10,
"show-passive-items": true
},
// padding
"custom/paddl": {
"format": " ",
"tooltip": false
},
"custom/paddw": {
"format": " ",
"tooltip": false
},
"custom/paddc": {
"format": " ",
"tooltip": false
},
"custom/paddr": {
"format": "",
"tooltip": false
},
// LEFT arrows
"custom/left1": {
"format": "",
"tooltip": false
},
"custom/left2": {
"format": "",
"tooltip": false
},
"custom/left3": {
"format": "",
"tooltip": false
},
"custom/left4": {
"format": "",
"tooltip": false
},
"custom/left5": {
"format": "",
"tooltip": false
},
"custom/left6": {
"format": "",
"tooltip": false
},
"custom/left7": {
"format": "",
"tooltip": false
},
"custom/left8": {
"format": "",
"tooltip": false
},
// RIGHT arrows
"custom/right1": {
"format": "",
"tooltip": false
},
"custom/right2": {
"format": "",
"tooltip": false
},
"custom/right3": {
"format": "",
"tooltip": false
},
"custom/right4": {
"format": "",
"tooltip": false
},
"custom/right5": {
"format": "",
"tooltip": false
},
// LEFT inverse
"custom/leftin1": {
"format": "",
"tooltip": false
},
"custom/leftin2": {
"format": "",
"tooltip": false
},
// RIGHT inverse
"custom/rightin1": {
"format": "",
"tooltip": false
}
}

style.css

* {
border: none;
font-family: "Fira Code";
font-weight: bold;
font-size: 12px;
min-height: 11px;
color: @text;
}
@import "theme.css";
window#waybar {
background: @bar-bg;
}
tooltip {
background: @main-bg;
color: @main-fg;
border: solid;
border-radius: 7px;
border-width: 1px;
border-color: @text;
}
/* WORKSPACE BUTTONS */
#workspaces button {
box-shadow: none;
text-shadow: 0px 0px 2px rgba(0, 0, 0, 1);
padding: 0px;
border-radius: 8px;
margin-top: 2px;
margin-bottom: 2px;
margin-left: 0px;
padding-left: 2px;
padding-right: 2px;
margin-right: 0px;
color: @main-fg;
animation: ws_normal 20s ease-in-out 1;
}
#workspaces button.active {
text-shadow: 0px 0px 2px rgba(0, 0, 0, 0.6);
background: @wb-act-bg;
color: @wb-act-fg;
margin-left: 2px;
padding-left: 8px;
padding-right: 8px;
margin-right: 2px;
animation: ws_active 20s ease-in-out 1;
transition: all 0.4s cubic-bezier(.55,-0.68,.48,1.682);
}
#workspaces button:hover {
background: @wb-hvr-bg;
color: @wb-hvr-fg;
animation: ws_hover 20s ease-in-out 1;
transition: all 0.3s cubic-bezier(.55,-0.68,.48,1.682);
}
/* SPACING */
#custom-ws,
#workspaces,
#window,
#custom-cpuinfo
#memory,
#cpu,
#clock,
#pulseaudio,
#backlight,
#battery,
#custom-power,
#mpris,
#custom-notifications {
margin-bottom: 0px;
opacity: 1;
padding-left: 4px;
padding-right: 4px;
}
/* COLORS */
@define-color text #00ffd5;
@define-color workspaces #004452;
@define-color cpuinfo #004452;
@define-color memory #006151;
@define-color cpu #008f77;
@define-color arch #00ffd5;
@define-color time #008f77;
@define-color date #006151;
@define-color wifi #004452;
@define-color pulseaudio #004452;
@define-color backlight #006151;
@define-color battery #008f77;
@define-color power #00ffd5;
/* MODULES */
/* WINDOW ICON */
#custom-paddl {
font-size: 11.5pt;
margin-bottom: -2px;
padding-right: 2px;
background: @main-bg;
}
#custom-ws {
text-shadow: 0px 0px 2px rgba(0, 0, 0, 1);
background: @main-bg;
}
#custom-left1 {
font-size: 11.5pt;
color: @workspaces;
background: @main-bg;
margin-bottom: -2px;
text-shadow: -1px 0px 2px rgba(0, 0, 0, 1);
padding-left: 2px;
}
/* WORKSPACES */
#workspaces {
padding: 0;
background: @workspaces;
}
#custom-right1 {
font-size: 11.5pt;
color: @workspaces;
background: @main-bg;
margin-bottom: -2px;
text-shadow: 1px 0px 2px rgba(0, 0, 0, 1);
padding-right: 3px;
}
/* WINDOW TITLE */
#window {
text-shadow: 0px 0px 2px rgba(0, 0, 0, 1);
}
/* TEMPERATURE */
#custom-paddc {
padding-right: 3px;
}
#custom-left2 {
font-size: 11.5pt;
color: @cpuinfo;
background: @main-bg;
margin-bottom: -2px;
border-radius: 10px;
text-shadow: -1px 0px 2px rgba(0, 0, 0, 1);
padding-left: 3px;
}
#custom-cpuinfo {
padding-left: 1px;
text-shadow: 0px 0px 2px rgba(0, 0, 0, 1);
background: @cpuinfo;
}
/* MEMORY */
#custom-left3 {
font-size: 11.5pt;
color: @memory;
background: @cpuinfo;
margin-bottom: -2px;
text-shadow: -1px 0px 2px rgba(0, 0, 0, 1);
padding-left: 3px;
}
#memory {
padding-left: 1px;
text-shadow: 0px 0px 2px rgba(0, 0, 0, 1);
background: @memory;
}
/* CPU */
#custom-left4 {
font-size: 11.5pt;
color: @cpu;
background: @memory;
margin-bottom: -2px;
text-shadow: -1px 0px 2px rgba(0, 0, 0, 1);
padding-left: 3px;
}
#cpu {
text-shadow: 0px 0px 2px rgba(0, 0, 0, 1);
background: @cpu;
}
#custom-leftin1 {
font-size: 11.5pt;
color: @cpu;
margin-bottom: -2px;
}
/* ARCH LOGO */
#custom-left5 {
font-size: 11.5pt;
color: @arch;
background: @main-bg;
margin-bottom: -2px;
text-shadow: -1px 0px 2px rgba(0, 0, 0, 0.6);
padding-left: 3px;
}
#custom-arch {
text-shadow: none;
color: black;
font-size: 11pt;
padding-left: 4px;
padding-right: 0px;
background: @arch;
margin-bottom: -2px;
text-shadow: 0px 0px 2px rgba(0, 0, 0, 1);
}
#custom-right2 {
font-size: 11.5pt;
color: @arch;
background: @main-bg;
margin-bottom: -2px;
text-shadow: 1px 0px 2px rgba(0, 0, 0, 1);
padding-right: 3px;
}
/* TIME */
#custom-rightin1 {
font-size: 11.5pt;
color: @time;
margin-bottom: -2px;
}
#clock.time {
text-shadow: 0px 0px 2px rgba(0, 0, 0, 1);
background: @time;
}
#custom-right3 {
font-size: 11.5pt;
color: @time;
background: @date;
margin-bottom: -2px;
text-shadow: 1px 0px 2px rgba(0, 0, 0, 1);
padding-right: 3px;
}
/* DATE */
#clock.date {
text-shadow: 0px 0px 2px rgba(0, 0, 0, 1);
background: @date;
}
#custom-right4 {
font-size: 11.5pt;
color: @date;
background: @wifi;
margin-bottom: -2px;
text-shadow: 1px 0px 2px rgba(0, 0, 0, 1);
padding-right: 3px;
}
/* CONNECTION */
#custom-wifi {
padding-left: 4px;
padding-right: 4px;
text-shadow: 0px 0px 2px rgba(0, 0, 0, 1);
background: @wifi;
}
#custom-right5 {
font-size: 11.5pt;
color: @wifi;
background: @main-bg;
margin-bottom: -2px;
text-shadow: 1px 0px 2px rgba(0, 0, 0, 1);
padding-right: 3px;
}
/* MEDIA INFO */
#custom-media {
background-color: @main-bg;
padding-left: 8px;
padding-right: 8px;
}
/* OUTPUT DEVICE */
#custom-left6 {
font-size: 11.5pt;
color: @pulseaudio;
background: @main-bg;
margin-bottom: -2px;
text-shadow: -1px 0px 2px rgba(0, 0, 0, 1);
padding-left: 3px;
}
#pulseaudio {
text-shadow: 0px 0px 2px rgba(0, 0, 0, 1);
background: @pulseaudio;
}
/* BRIGHTNESS */
#custom-left7 {
font-size: 11.5pt;
color: @backlight;
background: @pulseaudio;
margin-bottom: -2px;
text-shadow: -1px 0px 2px rgba(0, 0, 0, 1);
padding-left: 2px;
}
#custom-notifs {
text-shadow: 0px 0px 2px rgba(0, 0, 0, 1);
background: @battery;
padding-left: 2px;
}
#custom-notifs > .paused {
color: #eb4d4b
}
/* TRAY */
#custom-left8 {
font-size: 11.5pt;
color: @battery;
background: @backlight;
margin-bottom: -2px;
text-shadow: -1px 0px 2px rgba(0, 0, 0, 1);
padding-left: 2px;
}
#tray {
text-shadow: 0px 0px 2px rgba(0, 0, 0, 1);
background: @backlight;
padding-left: 2px;
}
#tray > .passive {
-gtk-icon-effect: dim;
}
#tray > .needs-attention {
-gtk-icon-effect: highlight;
background-color: #eb4d4b;
}
/* POWER BUTTON */
#custom-leftin2 {
font-size: 11.5pt;
color: @battery;
background: @main-bg;
margin-bottom: -2px;
}
#custom-power {
color: @main-bg;
background: @power;
text-shadow: 0px 0px 2px rgba(0, 0, 0, 0.6);
border-radius: 20px;
margin-top: 2px;
margin-right: 4px;
margin-bottom: 2px;
padding-left: 10px;
padding-right: 7px;
}
#custom-paddr {
font-size: 11.5pt;
color: @main-bg;
margin-bottom: -2px;
}

theme.css

@define-color bar-bg #00473c;
@define-color main-bg #00473c;
@define-color main-fg #00ebc7;
@define-color wb-act-bg #00ebc7;
@define-color wb-act-fg #00473c;
@define-color wb-hvr-bg #00ebc7;
@define-color wb-hvr-fg #00473c;

Scripts

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

cpuinfo.sh
#!/usr/bin/env sh
# CPU model
model=$(cat /proc/cpuinfo | grep 'model name' | head -n 1 | awk -F ': ' '{print $2}')
# CPU utilization
utilization=$(top -bn1 | awk '/^%Cpu/ {print 100 - $8}')
# Clock speed
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}")
# CPU temp
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
# map icons
set_ico="{\"thermo\":{\"0\":\"󱃃\",\"45\":\"󰔏\",\"65\":\"󱃂\",\"85\":\"󰸁\"},\"util\":{\"0\":\"󰾆\",\"30\":\"󰾅\",\"60\":\"󰓅\",\"90\":\"󰀪\"}}"
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)
# Print cpu info (json)
echo "{\"text\":\"${thermo} ${temp}°C\", \"tooltip\":\"${model}\n${thermo} Temperature: ${temp}°C\n${speedo} Utilization: ${utilization}%\n󰘚 Clock Speed: ${frequency}\"}"
mediaplayer.py
#!/usr/bin/env python3
import gi
gi.require_version("Playerctl", "2.0")
from gi.repository import Playerctl, GLib
from gi.repository.Playerctl import Player
import argparse
import logging
import sys
import signal
import gi
import json
import os
from typing import List
logger = logging.getLogger(__name__)
def signal_handler(sig, frame):
logger.info("Received signal to stop, exiting")
sys.stdout.write("\n")
sys.stdout.flush()
# loop.quit()
sys.exit(0)
class PlayerManager:
def __init__(self, selected_player=None, excluded_player=[]):
self.manager = Playerctl.PlayerManager()
self.loop = GLib.MainLoop()
self.manager.connect(
"name-appeared", lambda *args: self.on_player_appeared(*args))
self.manager.connect(
"player-vanished", lambda *args: self.on_player_vanished(*args))
signal.signal(signal.SIGINT, signal_handler)
signal.signal(signal.SIGTERM, signal_handler)
signal.signal(signal.SIGPIPE, signal.SIG_DFL)
self.selected_player = selected_player
self.excluded_player = excluded_player.split(',') if excluded_player else []
self.init_players()
def init_players(self):
for player in self.manager.props.player_names:
if player.name in self.excluded_player:
continue
if self.selected_player is not None and self.selected_player != player.name:
logger.debug(f"{player.name} is not the filtered player, skipping it")
continue
self.init_player(player)
def run(self):
logger.info("Starting main loop")
self.loop.run()
def init_player(self, player):
logger.info(f"Initialize new player: {player.name}")
player = Playerctl.Player.new_from_name(player)
player.connect("playback-status",
self.on_playback_status_changed, None)
player.connect("metadata", self.on_metadata_changed, None)
self.manager.manage_player(player)
self.on_metadata_changed(player, player.props.metadata)
def get_players(self) -> List[Player]:
return self.manager.props.players
def write_output(self, text, player):
logger.debug(f"Writing output: {text}")
output = {"text": text,
"class": "custom-" + player.props.player_name,
"alt": player.props.player_name}
sys.stdout.write(json.dumps(output) + "\n")
sys.stdout.flush()
def clear_output(self):
sys.stdout.write("\n")
sys.stdout.flush()
def on_playback_status_changed(self, player, status, _=None):
logger.debug(f"Playback status changed for player {player.props.player_name}: {status}")
self.on_metadata_changed(player, player.props.metadata)
def get_first_playing_player(self):
players = self.get_players()
logger.debug(f"Getting first playing player from {len(players)} players")
if len(players) > 0:
# if any are playing, show the first one that is playing
# reverse order, so that the most recently added ones are preferred
for player in players[::-1]:
if player.props.status == "Playing":
return player
# if none are playing, show the first one
return players[0]
else:
logger.debug("No players found")
return None
def show_most_important_player(self):
logger.debug("Showing most important player")
# show the currently playing player
# or else show the first paused player
# or else show nothing
current_player = self.get_first_playing_player()
if current_player is not None:
self.on_metadata_changed(current_player, current_player.props.metadata)
else:
self.clear_output()
def on_metadata_changed(self, player, metadata, _=None):
logger.debug(f"Metadata changed for player {player.props.player_name}")
player_name = player.props.player_name
artist = player.get_artist()
title = player.get_title()
title = title.replace("&", "&amp;")
track_info = ""
if player_name == "spotify" and "mpris:trackid" in metadata.keys() and ":ad:" in player.props.metadata["mpris:trackid"]:
track_info = "Advertisement"
elif artist is not None and title is not None:
track_info = f"{artist} - {title}"
else:
track_info = title
if track_info:
if player.props.status == "Playing" and player_name == "spotify":
track_info = "󰓇 " + track_info
if player.props.status == "Playing" and player_name == "firefox":
track_info = "󰗃 " + track_info
elif player.props.status != "Playing":
track_info = "󰏦 " + track_info
# only print output if no other player is playing
current_playing = self.get_first_playing_player()
if current_playing is None or current_playing.props.player_name == player.props.player_name:
self.write_output(track_info, player)
else:
logger.debug(f"Other player {current_playing.props.player_name} is playing, skipping")
def on_player_appeared(self, _, player):
logger.info(f"Player has appeared: {player.name}")
if player.name in self.excluded_player:
logger.debug(
"New player appeared, but it's in exclude player list, skipping")
return
if player is not None and (self.selected_player is None or player.name == self.selected_player):
self.init_player(player)
else:
logger.debug(
"New player appeared, but it's not the selected player, skipping")
def on_player_vanished(self, _, player):
logger.info(f"Player {player.props.player_name} has vanished")
self.show_most_important_player()
def parse_arguments():
parser = argparse.ArgumentParser()
# Increase verbosity with every occurrence of -v
parser.add_argument("-v", "--verbose", action="count", default=0)
parser.add_argument("-x", "--exclude", "- Comma-separated list of excluded player")
# Define for which player we"re listening
parser.add_argument("--player")
parser.add_argument("--enable-logging", action="store_true")
return parser.parse_args()
def main():
arguments = parse_arguments()
# Initialize logging
if arguments.enable_logging:
logfile = os.path.join(os.path.dirname(
os.path.realpath(__file__)), "media-player.log")
logging.basicConfig(filename=logfile, level=logging.DEBUG,
format="%(asctime)s %(name)s %(levelname)s:%(lineno)d %(message)s")
# Logging is set by default to WARN and higher.
# With every occurrence of -v it's lowered by one
logger.setLevel(max((3 - arguments.verbose) * 10, 0))
logger.info("Creating player manager")
if arguments.player:
logger.info(f"Filtering for player: {arguments.player}")
if arguments.exclude:
logger.info(f"Exclude player {arguments.exclude}")
player = PlayerManager(arguments.player, arguments.exclude)
player.run()
if __name__ == "__main__":
main()
network-menu.sh
#!/bin/bash
# Ensure nmcli is installed
if ! command -v nmcli &> /dev/null
then
echo "nmcli could not be found"
exit 1
fi
# Get the list of available wired connections
connections=$(nmcli -f NAME,TYPE connection show | grep ethernet | awk '{print $1}')
# If no connections are found, exit
if [ -z "$connections" ]; then
echo "No wired connections found"
exit 1
fi
# Show connections in a menu using rofi
selected=$(echo "$connections" | wofi -dmenu -i -p "Select Wired Connection")
# If a connection was selected, activate it
if [ -n "$selected" ]; then
nmcli connection up "$selected"
fi
network-status.sh
#!/bin/bash
# Get the name of the active Ethernet connection
connection=$(nmcli -t -f NAME,TYPE,STATE connection show --active | awk -F: '/ethernet:activated/ {print $1}')
# If no active Ethernet connection is found, check if any Ethernet interface is connected
if [ -z "$connection" ]; then
interface=$(nmcli -t -f DEVICE,TYPE,STATE device status | awk -F: '/ethernet:connected/ {print $1}')
if [ -n "$interface" ]; then
connection="Connected (Unconfigured)"
else
connection="No Connection"
fi
fi
# Output the connection name or status
echo "${connection}"

3.7 Alacritty

This one goes in ~/.config/alacritty/alacritty.toml.

[window]
opacity = 0.5
blur = true
[colors.primary]
foreground = "#ffffff"
background = "#262335"
[colors.normal]
black = "#262335"
red = "#fe4450"
green = "#72f1b8"
yellow = "#f3e70f"
blue = "#03edf9"
magenta = "#ff7edb"
cyan = "#03edf9"
white = "#ffffff"
[colors.bright]
black = "#614d85"
red = "#fe4450"
green = "#72f1b8"
yellow = "#fede5d"
blue = "#03edf9"
magenta = "#ff7edb"
cyan = "#03edf9"
white = "#ffffff"
[font.normal]
family = "Fira Code"

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
}

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)"
info "Node" node_ver
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"
colors=(distro)
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="ascii"
image_source="auto"
ascii_distro="auto"
ascii_colors=(distro)
ascii_bold="on"
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: "Fira Code";
}
#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;
}

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": "'Fira Code 11'",
"files.exclude": {
"**/node_modules/": true
},
"editor.fontLigatures": true,
"editor.codeLensFontFamily": "'Fira Code 11'",
"editor.inlineSuggest.fontFamily": "'Fira Code 11'",
"editor.inlayHints.fontFamily": "'Fira Code 11'",
"editor.experimentalInlineEdit.fontFamily": "'Fira Code 11'",
"terminal.integrated.fontFamily": "'Fira Code 11'",
"notebook.output.fontFamily": "'Fira Code 11'",
"chat.editor.fontFamily": "'Fira Code 11'",
"markdown.preview.fontFamily": "'Fira Code 11'",
"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,
},
"workbench.colorTheme": "SynthWave '84",
"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,
"codegpt.model": "ChatGPT",
"codegpt.apiKey": <redacted>,
"sonarlint.rules": {
"typescript:S5843": {
"level": "on"
},
"typescript:S3776": {
"level": "on"
}
},
"glassit.alpha": 150,
"glassit.force_sway": true
}

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
camilamartinezbedoya.pro-hacker-theme
chrmarti.regex
daylerees.rainglow
dbaeumer.vscode-eslint
donjayamanne.githistory
eamodio.gitlens
emmanuelbeziat.vscode-great-icons
esbenp.prettier-vscode
firefox-devtools.vscode-firefox-debug
github.copilot
github.copilot-chat
hoovercj.vscode-power-mode
icrawl.discord-vscode
ionide.ionide-fsharp
johnpapa.winteriscoming
jzmstrjp.color-the-tag-name
kisstkondoros.vscode-codemetrics
leodevbro.blockman
markwylde.vscode-filesize
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
niv-l-a.vscode-clps2c
oderwat.indent-rainbow
omrigrossman.live-code-metric
oracle.oracle-java
pranaygp.vscode-css-peek
prisma.prisma
redhat.java
robbowen.synthwave-vscode
ruby0b.pride-themes
rust-lang.rust-analyzer
s-nlf-fh.glassit
sonarsource.sonarlint-vscode
streetsidesoftware.code-spell-checker
timkmecl.codegpt3
tonybaloney.vscode-pets
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
wix.vscode-import-cost
xdebug.php-debug
yandeu.five-server
yoavbls.pretty-ts-errors
yutengjing.vscode-colorize-plus
yzane.markdown-pdf