generated from nhcarrigan/template
Reviewed-on: https://codeberg.org/nhcarrigan/docs/pulls/45 Co-authored-by: Naomi Carrigan <commits@nhcarrigan.com> Co-committed-by: Naomi Carrigan <commits@nhcarrigan.com>
4021 lines
92 KiB
Markdown
4021 lines
92 KiB
Markdown
---
|
|
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`.
|
|
|
|
<details>
|
|
<summary>Expand Information</summary>
|
|
|
|
```bash
|
|
naomi@technomancer
|
|
------------------
|
|
OS: Arch Linux x86_64
|
|
├─Kernel: 6.12.4-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 [71.5°on]
|
|
├─GPU: NVIDIA GeForce GTX 1070 Ti
|
|
├───GPU Driver: NVIDIA 565.77
|
|
├─Disk: /home: 344G/412G (89%)
|
|
├───Root: /: 38G/45G (88%)
|
|
├───Boot: /boot: 401M/1022M (40%)
|
|
└─Memory: 3.37GiB / 31.29GiB (10%)
|
|
|
|
Programming Languages
|
|
---------------------
|
|
Bash: 5.2.37
|
|
Clang: 18.1.8
|
|
C++: 14.2.1
|
|
Dart: 3.6.0
|
|
└─Flutter: 3.27.0
|
|
Dotnet: 8.0.110
|
|
└─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.14
|
|
Python: 3.12.7
|
|
└─PIP: 24.3.1
|
|
Node: v23.4.0
|
|
├─NPM: 10.9.2
|
|
├─Yarn: 1.22.22
|
|
└─PNPM: 9.15.0
|
|
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.3
|
|
|
|
Tools
|
|
-----
|
|
Browser: Zen 1.0.2-b.2
|
|
Editor: VSCodium 1.96.0
|
|
├─Emacs: 29.4
|
|
└─Nano: 8.2
|
|
```
|
|
|
|
</details>
|
|
|
|
### 1.2. Steam
|
|
|
|
This is the current system report from Steam.
|
|
|
|
<details>
|
|
<summary>Expand Information</summary>
|
|
|
|
```txt
|
|
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.4-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: USB Mixer
|
|
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: 47088 MB
|
|
Storage:
|
|
Number of SSDs: 1
|
|
SSD sizes: 500G
|
|
Number of HDDs: 0
|
|
Number of removable drives: 0
|
|
```
|
|
|
|
</details>
|
|
|
|
## 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`.
|
|
|
|
<details>
|
|
<summary>Expand List</summary>
|
|
|
|
```txt
|
|
1password-cli 2.30.3-1
|
|
apg 2.2.3-5
|
|
apg-debug 2.2.3-5
|
|
asciiquarium-transparent-git r24.cfe288e-1
|
|
aws-cli-v2-bin 2:2.22.15-1
|
|
bizhawk-bin 2.9.1-1
|
|
bizhawk-bin-debug 2.9.1-1
|
|
cbonsai 1.3.1-3
|
|
ccze 0.2.1-13
|
|
ccze-debug 0.2.1-13
|
|
ceserver 7.5-9
|
|
ceserver-debug 7.5-9
|
|
chafa-git 1.14.5.r112.g9aa862e-1
|
|
chafa-git-debug 1.14.5.r112.g9aa862e-1
|
|
citra-debug 1:r10111.608383e-1
|
|
crowdin-cli 4.5.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
|
|
flyctl 0.3.50-1
|
|
flyctl-debug 0.3.50-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.12.0-1
|
|
gwenview-no-purpose-debug 24.12.0-1
|
|
hollywood 1.21-7
|
|
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 2024.30-1
|
|
libelectron-debug 2024.30-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.6-1
|
|
mongosh-bin-debug 2.3.6-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.4-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
|
|
pipes.sh 1.3.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.6.0-1
|
|
proton-mail-bin-debug 1.6.0-1
|
|
proton-vpn-gtk-app 4.8.1-1
|
|
python-proton-core 0.4.0-1
|
|
python-proton-keyring-linux 0.2.0-1
|
|
python-proton-vpn-api-core 0.38.2-1
|
|
python-proton-vpn-network-manager 0.10.1-1
|
|
qt5-gamepad-debug 5.15.15-2
|
|
redact-bin 0.18.0-1
|
|
redact-bin-debug 0.18.0-1
|
|
roam 139.0.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
|
|
speedometer 2.9-2
|
|
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.96.0.24347-1
|
|
vscodium-bin-debug 1.96.0.24347-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
|
|
```
|
|
|
|
</details>
|
|
|
|
### 2.2. Explicit Installations
|
|
|
|
These are all of the packages Naomi has specifically installed. This list is generated with `yay -Qe`.
|
|
|
|
<details>
|
|
<summary>Expand List</summary>
|
|
|
|
```txt
|
|
1password 8.10.54-22.2
|
|
1password-cli 2.30.3-1
|
|
act 0.2.70-1
|
|
alacarte 1:3.54.0-1
|
|
alacritty 0.14.0-1
|
|
alsa-utils 1.2.13-2
|
|
amd-ucode 20241210.b00a7f7e-1
|
|
angband 4.2.5-3
|
|
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
|
|
bizhawk-bin 2.9.1-1
|
|
calc 2.15.1.0-1
|
|
cataclysm-dda-tiles 0.H-2
|
|
cbonsai 1.3.1-3
|
|
ceserver 7.5-9
|
|
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.11.0-1
|
|
cmake 3.31.2-1
|
|
cmatrix 2.0-3
|
|
crowdin-cli 4.5.0-1
|
|
discord 0.0.77-1
|
|
dkms 3.1.3-1
|
|
docker 1:27.3.1-1
|
|
doctl 1.120.0-1
|
|
dolphin 24.12.0-1
|
|
dolphin-emu 1:2409-2
|
|
dosbox-x 2024.12.04-1
|
|
dotnet-sdk 8.0.10.sdk110-1
|
|
downgrade 11.4.2-1
|
|
dreamweb 1.1-1
|
|
duckstation 0.1.7465-1.2
|
|
dunst 1.12.0-1
|
|
efibootmgr 18-3
|
|
emacs 29.4-3
|
|
espanso-gui 24.7-1
|
|
espanso-wayland 2.2.1-4
|
|
eza 0.20.12-1
|
|
firefox 133.0.3-2
|
|
flameshot 12.1.0-5
|
|
fluffychat 1.23.0-1.4
|
|
flyctl 0.3.50-1
|
|
freetube 0.22.1-1
|
|
gameconqueror-git 0.17.1104.0375cc0-1
|
|
gamemode 1.8.2-1
|
|
gargoyle 2023.1-2
|
|
gimp 2.10.38-5
|
|
git 2.47.1-1
|
|
github-cli 2.63.2-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.7-1
|
|
gwenview-no-purpose 24.12.0-1
|
|
hexchat 2.16.2-3
|
|
hexedit 1.6-2
|
|
hollywood 1.21-7
|
|
htop 3.3.0-3
|
|
hyfetch 1.99.0-1
|
|
hyprland 0.45.2-3
|
|
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.2-1
|
|
kitty 0.37.0-1
|
|
kotlin 2.1.0-1
|
|
krabby-gotchi 1.1-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.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.12.4.arch1-1
|
|
linux-firmware 20241210.b00a7f7e-1
|
|
linux-headers 6.12.4.arch1-1
|
|
lrzip 0.651-3
|
|
luanti 5.10.0-1
|
|
man-db 2.13.0-1
|
|
mari0 1.6.2-4
|
|
mindustry 7.0.146-3
|
|
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
|
|
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.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.4-1
|
|
nvidia-dkms 565.77-2
|
|
nvm 0.40.1-1
|
|
obs-studio-git 31.0.0.r6.gf03280c-1.3
|
|
opendoas 6.8.2-3
|
|
orca 47.2-1
|
|
otf-compagnon 1.000-1
|
|
otf-font-awesome 6.7.1-1
|
|
otf-opendyslexic-nerd 3.3.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.14-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.0-1
|
|
pokemon-colorscripts-git r114.5802ff67-1
|
|
pokete 0.9.2-1
|
|
polkit-gnome 0.105-11
|
|
polkit-kde-agent 6.2.4-1
|
|
postgresql 16.3-4
|
|
proton-ge-custom 2:GE.Proton9.20-1.7
|
|
proton-mail-bin 1.6.0-1
|
|
proton-vpn-gtk-app 4.8.1-1
|
|
puzzles 20240103-1
|
|
python-pipenv 2024.4.0-1
|
|
python-virtualenv 20.27.1-2
|
|
qt5-wayland 5.15.16+kde+r59-3
|
|
qt6-wayland 6.8.1-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 139.0.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.98-1
|
|
slurp 1.5.0-1
|
|
smartmontools 7.4-2
|
|
speedtest-cli 2.1.3-8
|
|
spicetify-cli 2.38.5-1
|
|
spotify 1:1.2.50.335-1.2
|
|
steam 1.0.0.81-2
|
|
stone-soup-tiles-git 0.33.a0.r322.g559d583a2e-1
|
|
strace 6.12-1
|
|
sublime-text-4 4.4180-1.2
|
|
swappy 1.5.1-2
|
|
swaylock-effects 1.7.0.0-4.3
|
|
tailscale 1.78.1-1
|
|
thefuck 3.32-10
|
|
thunar 4.18.11-3
|
|
trayscale 0.14.0-1.7
|
|
ttf-firacode-nerd 3.3.0-1
|
|
ttf-font-awesome 6.7.1-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
|
|
twitter 1.0.5-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.0866-1
|
|
vosk-api 0.3.50-4
|
|
vscodium-bin 1.96.0.24347-1
|
|
vscodium-bin-marketplace 1.76.0-1
|
|
w3m 0.5.3.git20230713_1-1
|
|
waybar 0.11.0-4
|
|
websocat 1.14.0-1
|
|
wev 1.0.0-13
|
|
wget 1.25.0-1
|
|
widelands 1:1.2.1-1
|
|
win2xcur 0.1.2-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.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.1
|
|
zen-browser-bin 1.0.2.b.2-1
|
|
zoom 6.2.11-1.8
|
|
zsh 5.9-5
|
|
```
|
|
|
|
</details>
|
|
|
|
### 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.
|
|
:::
|
|
|
|
<details>
|
|
<summary>Expand List</summary>
|
|
|
|
```txt
|
|
1password 8.10.54-22.2
|
|
1password-cli 2.30.3-1
|
|
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-1
|
|
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
|
|
angband 4.2.5-3
|
|
anime-games-launcher-bin 1.0.2-1
|
|
aom 3.11.0-1
|
|
apg 2.2.3-5
|
|
apg-debug 2.2.3-5
|
|
appimagelauncher 2.2.0-8.4
|
|
appstream 1.0.4-1
|
|
aquamarine 0.5.1-1
|
|
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-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.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
|
|
bc 1.07.1-5
|
|
bind 9.20.4-1
|
|
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
|
|
bmon 4.0-5
|
|
boost 1.86.0-3
|
|
boost-libs 1.86.0-3
|
|
box2d 3.0.0-1
|
|
breeze-icons 6.9.0-1
|
|
bridge-utils 1.7.1-2
|
|
brltty 6.7-1
|
|
brotli 1.1.0-2
|
|
bubblewrap 0.11.0-1
|
|
byobu 6.12-1
|
|
bzip2 1.0.8-6
|
|
c-ares 1.34.3-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
|
|
cataclysm-dda 0.H-2
|
|
cataclysm-dda-tiles 0.H-2
|
|
cblas 3.12.0-5
|
|
cbonsai 1.3.1-3
|
|
ccze 0.2.1-13
|
|
ccze-debug 0.2.1-13
|
|
cdparanoia 10.2-9
|
|
ceserver 7.5-9
|
|
ceserver-debug 7.5-9
|
|
cfitsio 1:4.5.0-1
|
|
chafa-git 1.14.5.r112.g9aa862e-1
|
|
chafa-git-debug 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
|
|
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.2-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
|
|
crawl-data 0.32.1-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.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.29-1
|
|
diffutils 3.10-1
|
|
discord 0.0.77-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
|
|
dolphin-emu 1:2409-2
|
|
dos2unix 7.5.2-2
|
|
dosbox-x 2024.12.04-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.2
|
|
duktape 2.7.0-7
|
|
dunst 1.12.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.17-1
|
|
egl-x11 1.0.0-1
|
|
eglexternalplatform 1.2-2
|
|
electron25-bin 25.9.8-3
|
|
electron29 1:29.4.6-2
|
|
electron31 31.7.6-1
|
|
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-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.9.0-1
|
|
eza 0.20.12-1
|
|
faac 1.30-5
|
|
faad2 2.11.1-1
|
|
fakeroot 1.36-1
|
|
feh 3.10.3-1
|
|
ffmpeg 2:7.1-3
|
|
ffmpeg4.4 4.4.5-1
|
|
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
|
|
flare-engine 1.14-1.3
|
|
flex 2.6.4-5
|
|
fluffychat 1.23.0-1.4
|
|
fluidsynth 2.4.1-1
|
|
flutter-bin 3.27.0-1
|
|
flyctl 0.3.50-1
|
|
flyctl-debug 0.3.50-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
|
|
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.56.3-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.1-1
|
|
git-lfs 3.6.0-1
|
|
github-cli 2.63.2-1
|
|
glew 2.2.0-7
|
|
glew1.10 1.10.0-4
|
|
glib-networking 1:2.80.0-3
|
|
glib2 2.82.4-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 15.0.0-2
|
|
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.7-1
|
|
gnutls 3.8.8-1
|
|
go 2:1.23.4-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.1-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.7-1
|
|
gst-plugins-bad 1.24.10-1
|
|
gst-plugins-bad-libs 1.24.10-1
|
|
gst-plugins-base 1.24.10-1
|
|
gst-plugins-base-libs 1.24.10-1
|
|
gst-plugins-good 1.24.10-1
|
|
gstreamer 1.24.10-1
|
|
gtest 1.15.2-1
|
|
gtk-layer-shell 0.9.0-1
|
|
gtk-update-icon-cache 1:4.16.7-1
|
|
gtk2 2.24.33-5
|
|
gtk3 1:3.24.43-4
|
|
gtk4 1:4.16.7-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.12.0-1
|
|
gwenview-no-purpose-debug 24.12.0-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
|
|
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-1
|
|
hyphen 2.8.8-6
|
|
hyprcursor 0.1.10-1
|
|
hyprland 0.45.2-3
|
|
hyprlang 0.6.0-1
|
|
hyprlock 0.5.0-1
|
|
hyprpaper 0.7.1-3
|
|
hyprshot 1.3.0-1
|
|
hyprutils 0.2.6-1
|
|
hyprwayland-scanner 0.4.2-1
|
|
iana-etc 20241206-1
|
|
icoutils 0.32.3-3
|
|
icu 75.1-1
|
|
imagemagick 7.1.1.41-1
|
|
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.12.0-1
|
|
iptables 1:1.8.10-2
|
|
iputils 20240905-1
|
|
iso-codes 4.17.0-1
|
|
iwd 3.2-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
|
|
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
|
|
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-2
|
|
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-2
|
|
kguiaddons5 5.116.0-1
|
|
ki18n 6.9.0-1
|
|
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.37.0-1
|
|
kitty-shell-integration 0.37.0-1
|
|
kitty-terminfo 0.37.0-1
|
|
kjobwidgets 6.9.0-1
|
|
kmod 33-3
|
|
knewstuff 6.9.0-1
|
|
knotifications 6.9.0-2
|
|
kotlin 2.1.0-1
|
|
kpackage 6.9.0-1
|
|
kparts 6.9.0-1
|
|
krabby-gotchi 1.1-1
|
|
krabby-gotchi-debug 1.1-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-2
|
|
kwindowsystem 6.9.0-1
|
|
kxmlgui 6.9.0-2
|
|
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-1
|
|
lensfun 1:0.3.4-4
|
|
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.14.10-2
|
|
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-1
|
|
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.6.0-1
|
|
lib32-libnl 3.11.0-1
|
|
lib32-libnm 1.50.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-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.14.1-1
|
|
lib32-libvpx1.3 1.3.0-4
|
|
lib32-libwebp 1.4.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.0-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-lzo 2.10-2
|
|
lib32-mesa 1:24.3.1-3
|
|
lib32-mpg123 1.32.9-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
|
|
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
|
|
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
|
|
libbacktrace 1.0.git1-1
|
|
libblockdev 3.2.1-2
|
|
libblockdev-crypto 3.2.1-2
|
|
libblockdev-fs 3.2.1-2
|
|
libblockdev-loop 3.2.1-2
|
|
libblockdev-mdraid 3.2.1-2
|
|
libblockdev-nvme 3.2.1-2
|
|
libblockdev-part 3.2.1-2
|
|
libblockdev-swap 3.2.1-2
|
|
libbluray 1.3.4-2
|
|
libbpf 1.5.0-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.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
|
|
libelectron-debug 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-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.5-1
|
|
libibus 1.5.31-1
|
|
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-14
|
|
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-3
|
|
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-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.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-2
|
|
libnfnetlink 1.0.2-2
|
|
libnftnl 1.2.8-1
|
|
libnghttp2 1.64.0-1
|
|
libnghttp3 1.6.0-1
|
|
libngtcp2 1.9.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.11.1-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.7-1
|
|
libplacebo 7.349.0-3
|
|
libplist 2.6.0-1
|
|
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.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.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-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.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-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.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.14.1-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-9
|
|
libvorbis 1.3.7-3
|
|
libvpl 2.13.0-1
|
|
libvpx 1.14.1-1
|
|
libvpx1.3 1.3.0-3
|
|
libwacom 2.14.0-1
|
|
libwbclient 2:4.21.2-1
|
|
libwebp 1.4.0-3
|
|
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.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.12-1
|
|
libxres 1.2.2-2
|
|
libxshmfence 1.3.3-1
|
|
libxslt 1.1.42-1
|
|
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-2
|
|
linux 6.12.4.arch1-1
|
|
linux-api-headers 6.10-1
|
|
linux-firmware 20241210.b00a7f7e-1
|
|
linux-firmware-whence 20241210.b00a7f7e-1
|
|
linux-headers 6.12.4.arch1-1
|
|
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.4-1
|
|
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-5
|
|
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.1731601260-1
|
|
luanti 5.10.0-1
|
|
luanti-common 5.10.0-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.3.1-3
|
|
mindustry 7.0.146-3
|
|
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.15-1
|
|
mongodb-tools-bin 100.10.0-3
|
|
mongodb-tools-bin-debug 100.10.0-3
|
|
mongosh-bin 2.3.6-1
|
|
mongosh-bin-debug 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.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
|
|
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
|
|
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 11.0.0-1
|
|
nodejs 23.4.0-1
|
|
nodejs-nativefier 52.0.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 10.9.2-1
|
|
npm-check-updates 17.1.4-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
|
|
obs-studio-git 31.0.0.r6.gf03280c-1.3
|
|
obs-studio-liberty-debug 30.2.3-1
|
|
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
|
|
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.2-1
|
|
otf-compagnon 1.000-1
|
|
otf-font-awesome 6.7.1-1
|
|
otf-opendyslexic-nerd 3.3.0-1
|
|
p11-kit 0.25.5-1
|
|
p7zip 1:17.05-2
|
|
pacman 7.0.0.r6.gc685ae6-1
|
|
pacman-contrib 1.10.6-2
|
|
pacman-mirrorlist 20240717-1
|
|
pahole 1:1.27-2
|
|
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
|
|
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-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 6.46-2
|
|
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.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-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.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.14-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.0-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.4-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-ge-custom 2:GE.Proton9.20-1.7
|
|
proton-mail-bin 1.6.0-1
|
|
proton-mail-bin-debug 1.6.0-1
|
|
proton-vpn-gtk-app 4.8.1-1
|
|
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.2.1-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 43.0.3-1
|
|
python-dbus 1.3.2-4
|
|
python-decorator 5.1.1-4
|
|
python-distlib 0.3.9-1
|
|
python-distro 1.9.0-2
|
|
python-distutils-extra 2.39-13
|
|
python-fastjsonschema 2.20.0-1
|
|
python-filelock 3.16.1-1
|
|
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.5.0-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.2.0-1
|
|
python-ordered-set 4.1.0-5
|
|
python-packaging 24.2-1
|
|
python-pip 24.3.1-1
|
|
python-pipenv 2024.4.0-1
|
|
python-platformdirs 4.3.6-1
|
|
python-proton-core 0.4.0-1
|
|
python-proton-keyring-linux 0.2.0-1
|
|
python-proton-vpn-api-core 0.38.2-1
|
|
python-proton-vpn-network-manager 0.10.1-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-2
|
|
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.19.2-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-3
|
|
python-urwid 2.6.15-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.45.0-1
|
|
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.16+kde+r130-3
|
|
qt5-declarative 5.15.16+kde+r22-3
|
|
qt5-gamepad 5.15.16-2
|
|
qt5-gamepad-debug 5.15.15-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
|
|
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
|
|
ripgrep 14.1.1-1
|
|
ripgrep-all 0.10.6-3
|
|
rnnoise 1:0.2-1
|
|
roam 139.0.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.3-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.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.3.13-2
|
|
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
|
|
simutrans 124.2.1-1
|
|
simutrans-pak64 124.1-1
|
|
slack-desktop 4.41.98-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.2-1
|
|
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-2
|
|
speedometer 2.9-2
|
|
speedtest-cli 2.1.3-8
|
|
speex 1.2.1-2
|
|
speexdsp 1.2.1-2
|
|
spicetify-cli 2.38.5-1
|
|
spicetify-cli-debug 2.36.15-1
|
|
spirv-headers 1:1.3.296.0-1
|
|
spirv-tools 2024.4.rc1-1
|
|
spotify 1:1.2.50.335-1.2
|
|
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
|
|
stone-soup-tiles-git 0.33.a0.r322.g559d583a2e-1
|
|
stone-soup-tiles-git-debug 0.33.a0.r322.g559d583a2e-1
|
|
strace 6.12-1
|
|
sublime-text-4 4.4180-1.2
|
|
sudo 1.9.16.p2-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.3
|
|
swaylock-effects-debug 1.7.0.0-4
|
|
syndication 6.9.0-1
|
|
syntax-highlighting 6.9.0-1
|
|
systemd 257-1
|
|
systemd-libs 257-1
|
|
systemd-sysvcompat 257-1
|
|
taglib 2.0.2-1
|
|
tailscale 1.78.1-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.2-1
|
|
tmux 3.5_a-1
|
|
tomlplusplus 3.4.0-1
|
|
tpm2-tss 4.1.3-1
|
|
trayscale 0.14.0-1.7
|
|
tree 2.1.3-1
|
|
tree-sitter 0.24.3-1
|
|
tslib 1.23-1
|
|
ttf-dejavu 2.37+18+g9b5d1b2f-7
|
|
ttf-firacode-nerd 3.3.0-1
|
|
ttf-font-awesome 6.7.1-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
|
|
twitter 1.0.5-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-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.96.0.24347-1
|
|
vscodium-bin-debug 1.96.0.24347-1
|
|
vscodium-bin-marketplace 1.76.0-1
|
|
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
|
|
wayland 1.23.1-1
|
|
wayland-protocols 1.38-1
|
|
webkit2gtk 2.46.4-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
|
|
widelands 1:1.2.1-1
|
|
wildmidi 0.4.6-1
|
|
win2xcur 0.1.2-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
|
|
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
|
|
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.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.1
|
|
zbar 0.23.93-3
|
|
zen-browser-bin 1.0.2.b.2-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.11-1.8
|
|
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
|
|
```
|
|
|
|
</details>
|
|
|
|
### 2.5. AppImages
|
|
|
|
These are portable applications Naomi has installed locally.
|
|
|
|
```txt
|
|
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.
|
|
|
|
```ini
|
|
[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.
|
|
|
|
```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.
|
|
|
|
```ini
|
|
[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`.
|
|
|
|
```shell
|
|
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`.
|
|
|
|
```ini
|
|
################
|
|
### MONITORS ###
|
|
################
|
|
|
|
monitor=HDMI-A-1,1920x1080,0x0,1
|
|
monitor=DP-3,1920x1080,1920x0,1
|
|
monitor=DP-2,1920x1080,3840x0,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
|
|
# 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 '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
|
|
# 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 =
|
|
numlock_by_default = true
|
|
|
|
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.
|
|
|
|
```sh
|
|
#!/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](https://github.com/Sejjy/MechaBar).
|
|
|
|
All of these files go in `~/.config/waybar`.
|
|
|
|
#### `config.jsonc`
|
|
|
|
```json
|
|
{
|
|
"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/ws", // window icon
|
|
|
|
"hyprland/workspaces", // workspaces
|
|
|
|
"hyprland/window" // window title
|
|
],
|
|
"modules-center": [
|
|
"custom/cpuinfo", // temperature
|
|
|
|
"memory", // memory
|
|
|
|
"cpu", // cpu
|
|
|
|
"custom/arch", // arch logo
|
|
|
|
"clock#time", // time
|
|
|
|
"clock#date", // date
|
|
|
|
"custom/wifi" // connection
|
|
],
|
|
"modules-right": [
|
|
"custom/media", // media info
|
|
|
|
"pulseaudio", // output device
|
|
|
|
"tray", // brightness
|
|
|
|
"custom/notifs",
|
|
|
|
"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
|
|
}
|
|
}
|
|
```
|
|
|
|
#### `style.css`
|
|
|
|
```css
|
|
* {
|
|
border: none;
|
|
font-family: "OpenDyslexicMono";
|
|
font-weight: bold;
|
|
font-size: 10px;
|
|
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(0.55, -0.68, 0.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(0.55, -0.68, 0.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`
|
|
|
|
```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`:
|
|
|
|
<details>
|
|
<summary><code>cpuinfo.sh</code></summary>
|
|
|
|
```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}\"}"
|
|
```
|
|
|
|
</details>
|
|
|
|
<details>
|
|
<summary><code>mediaplayer.py</code></summary>
|
|
|
|
```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("&", "&")
|
|
|
|
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()
|
|
```
|
|
|
|
</details>
|
|
|
|
<details>
|
|
<summary><code>network-menu.sh</code></summary>
|
|
|
|
```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
|
|
```
|
|
|
|
</details>
|
|
|
|
<details>
|
|
<summary><code>network-status.sh</code></summary>
|
|
|
|
```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}"
|
|
```
|
|
|
|
</details>
|
|
|
|
### 3.7 Kitty
|
|
|
|
This one goes in `~/.config/kitty/kitty.conf`.
|
|
|
|
```conf
|
|
font_family family="OpenDyslexicMono"
|
|
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`.
|
|
|
|
```conf
|
|
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`.
|
|
|
|
```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`.
|
|
|
|
```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`.
|
|
|
|
```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`.
|
|
|
|
```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: "OpenDyslexicMono";
|
|
}
|
|
#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`.
|
|
|
|
```toml
|
|
[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`.
|
|
|
|
```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": "'OpenDyslexicMono'",
|
|
"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": "'OpenDyslexicMono'",
|
|
"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
|
|
},
|
|
"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
|
|
}
|
|
```
|
|
|
|
### 4.2. Extensions
|
|
|
|
This is Naomi's current list of extensions. This is generated with `codium --list-extensions`.
|
|
|
|
```txt
|
|
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
|
|
```
|