summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorseraphim <18ycm9tx@anonaddy.me>2026-08-17 18:52:02 +0700
committerseraphim <18ycm9tx@anonaddy.me>2026-08-17 18:52:02 +0700
commite13ebf6b7a090732470dbc963ac08bacd305a5f7 (patch)
tree454637be98f98a36dc3d1fea2ff16c7a87e96a2d
parentd34389e561b45a1f24271988cbfca26aa3fba825 (diff)
.
-rw-r--r--niri/.config/niri/config.kdl2
-rwxr-xr-xniri/.config/niri/theme-switcher.sh7
-rw-r--r--nvim/.config/nvim/.gitignore8
-rw-r--r--nvim/.config/nvim/lazy-lock.json34
-rw-r--r--portage/etc/portage/make.conf59
-rw-r--r--portage/var/lib/portage/world3
-rw-r--r--rmpc/.config/rmpc/config.ron2
-rw-r--r--waybar/.config/waybar/config.jsonc7
-rwxr-xr-xwaybar/.config/waybar/kbd-layout.sh42
-rw-r--r--waybar/.config/waybar/style.css1
-rw-r--r--zshrc/.zshrc3
11 files changed, 125 insertions, 43 deletions
diff --git a/niri/.config/niri/config.kdl b/niri/.config/niri/config.kdl
index ee872de..6f573ca 100644
--- a/niri/.config/niri/config.kdl
+++ b/niri/.config/niri/config.kdl
@@ -8,6 +8,8 @@ spawn-at-startup "/usr/libexec/hyprpolkitagent"
spawn-at-startup "dbus-update-activation-environment" "WAYLAND_DISPLAY" "DISPLAY" "XDG_CURRENT_DESKTOP"
spawn-at-startup "/home/seraphim/dotfiles-gentoo/niri/.config/niri/theme-switcher.sh"
spawn-at-startup "sh" "-c" "NO_AT_BRIDGE=1 waybar"
+spawn-at-startup "/usr/bin/Throne"
+spawn-at-startup "mpd"
prefer-no-csd
screenshot-path "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png"
diff --git a/niri/.config/niri/theme-switcher.sh b/niri/.config/niri/theme-switcher.sh
index 6a22b0a..0ab25af 100755
--- a/niri/.config/niri/theme-switcher.sh
+++ b/niri/.config/niri/theme-switcher.sh
@@ -27,14 +27,19 @@ while true; do
wal -n -l -i "$LIGHT_WALLPAPER"
awww img "$LIGHT_WALLPAPER"
awww -n backdrop img "$LIGHT_BLUR_WALLPAPER"
+
+ # Сообщаем системе, что включилась светлая тема
+ darkman set light
else
wal -n -i "$DARK_WALLPAPER"
awww img "$DARK_WALLPAPER"
awww -n backdrop img "$DARK_BLUR_WALLPAPER"
+
+ # Сообщаем системе, что включилась тёмная тема
+ darkman set dark
fi
killall -SIGUSR2 waybar
-
killall -USR1 foot
echo "$TARGET_STATE" >"$STATE_FILE"
diff --git a/nvim/.config/nvim/.gitignore b/nvim/.config/nvim/.gitignore
new file mode 100644
index 0000000..cc5457a
--- /dev/null
+++ b/nvim/.config/nvim/.gitignore
@@ -0,0 +1,8 @@
+tt.*
+.tests
+doc/tags
+debug
+.repro
+foo.*
+*.log
+data
diff --git a/nvim/.config/nvim/lazy-lock.json b/nvim/.config/nvim/lazy-lock.json
deleted file mode 100644
index 4bb05d4..0000000
--- a/nvim/.config/nvim/lazy-lock.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- "LazyVim": { "branch": "main", "commit": "459a4c3b1059671e766a46c7cc223827dc67e3d0" },
- "blink.cmp": { "branch": "main", "commit": "78336bc89ee5365633bcf754d93df01678b5c08f" },
- "bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" },
- "catppuccin": { "branch": "main", "commit": "edefef779ab08ce1a4a404713e3012b0d202bd35" },
- "conform.nvim": { "branch": "master", "commit": "016802de402556da54c36bd7359b441266b01cdd" },
- "flash.nvim": { "branch": "main", "commit": "b6346946d10d07998efee029fb0f7a593806d0cd" },
- "friendly-snippets": { "branch": "main", "commit": "6cd7280adead7f586db6fccbd15d2cac7e2188b9" },
- "gitsigns.nvim": { "branch": "main", "commit": "5be654f2232c10ddcad19c1607a67b6b4b78fc29" },
- "grug-far.nvim": { "branch": "main", "commit": "11595bf747edc270bce2069d1020502ad4ae56cf" },
- "lazy.nvim": { "branch": "main", "commit": "85c7ff3711b730b4030d03144f6db6375044ae82" },
- "lazydev.nvim": { "branch": "main", "commit": "ff2cbcba459b637ec3fd165a2be59b7bbaeedf0d" },
- "lualine.nvim": { "branch": "master", "commit": "221ce6b2d999187044529f49da6554a92f740a96" },
- "mason-lspconfig.nvim": { "branch": "main", "commit": "67029ccdac1ef8941e13b826417bc0ffac24cc86" },
- "mason.nvim": { "branch": "main", "commit": "2a6940af80375532e5e9e7c1f2fc6319a1b7a69d" },
- "mini.ai": { "branch": "main", "commit": "25248c6aa002391936a6200f12d1466015987133" },
- "mini.icons": { "branch": "main", "commit": "98faae31e9be1cc054ae63485e58ceb185efcad0" },
- "mini.pairs": { "branch": "main", "commit": "b1c5a726921b7a8c9321e9a7a208aa0571de5810" },
- "noice.nvim": { "branch": "main", "commit": "7bfd942445fb63089b59f97ca487d605e715f155" },
- "nui.nvim": { "branch": "main", "commit": "5959922693a785a0e1624b45c968c844822f1ca1" },
- "nvim-lint": { "branch": "master", "commit": "9b99aad869102ac01775187abd8d49017b148612" },
- "nvim-lspconfig": { "branch": "master", "commit": "51dbf5359da86721662c87ca10eb73add973737b" },
- "nvim-treesitter": { "branch": "main", "commit": "7caec274fd19c12b55902a5b795100d21531391f" },
- "nvim-treesitter-textobjects": { "branch": "main", "commit": "898ee307df58f854d11cd7edd06472574d48014e" },
- "nvim-ts-autotag": { "branch": "main", "commit": "88c1453db4ba7dd24131086fe51fdf74e587d275" },
- "persistence.nvim": { "branch": "main", "commit": "b20b2a7887bd39c1a356980b45e03250f3dce49c" },
- "plenary.nvim": { "branch": "master", "commit": "74b06c6c75e4eeb3108ec01852001636d85a932b" },
- "snacks.nvim": { "branch": "main", "commit": "882c996cf28183f4d63640de0b4c02ec886d01f2" },
- "todo-comments.nvim": { "branch": "main", "commit": "31e3c38ce9b29781e4422fc0322eb0a21f4e8668" },
- "tokyonight.nvim": { "branch": "main", "commit": "cdc07ac78467a233fd62c493de29a17e0cf2b2b6" },
- "trouble.nvim": { "branch": "main", "commit": "bd67efe408d4816e25e8491cc5ad4088e708a69a" },
- "ts-comments.nvim": { "branch": "main", "commit": "a59d6092213447450191122c9346f309161504cb" },
- "which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" }
-}
diff --git a/portage/etc/portage/make.conf b/portage/etc/portage/make.conf
index 91453ba..33359cb 100644
--- a/portage/etc/portage/make.conf
+++ b/portage/etc/portage/make.conf
@@ -1,20 +1,65 @@
+# =========================================================================
+# COMPILER FLAGS
+# =========================================================================
+# Optimization flags for AMD Ryzen 5 5600X (Zen 3 architecture)
COMMON_FLAGS="-O2 -pipe -march=znver3"
-MAKEOPTS="-j12"
-ACCEPT_LICENSE="*"
-VIDE_CARDS="nvidia"
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
FCFLAGS="${COMMON_FLAGS}"
FFLAGS="${COMMON_FLAGS}"
-GENTOO_MIRRORS="https://gentoo-mirror.alexxy.name/"
+# Linker flags to optimize binaries and drop unused dependencies
+LDFLAGS="-Wl,-O1 -Wl,--as-needed"
+
+# =========================================================================
+# HARDWARE & MULTITHREADING
+# =========================================================================
+# Set to 12 threads for AMD Ryzen 5 5600X and limit system load average
+MAKEOPTS="-j12 -l12"
+
+# CPU instruction sets tailored for Zen 3
+CPU_FLAGS_X86="aes avx avx2 bmi1 bmi2 f16c fma3 mmx mmxext pclmul popcnt rdrand sha sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 vpclmulqdq"
+
+# Graphics card drivers (NVIDIA GTX 1650)
+VIDEO_CARDS="nvidia"
+
+# =========================================================================
+# GLOBAL USE FLAGS
+# =========================================================================
+# Hardware/Graphics: wayland, X, opengl, egl, vulkan
+# System: dbus, udev, polkit, elogind, btrfs, zstd, lz4
+# Audio: alsa, pipewire, pulseaudio, sound-server
+# Toolkits & Misc: screencast, gtk, qt5, qt6
+# Disabled (-): systemd, kde, gnome, xfce, test, telemetry
+USE="wayland X opengl egl vulkan dbus udev alsa pipewire pulseaudio sound-server btrfs zstd lz4 polkit elogind -systemd -kde -gnome -xfce -test -telemetry screencast gtk qt5 qt6"
+
+# Accept all software licenses
+ACCEPT_LICENSE="*"
-# NOTE: This stage was built with the bindist USE flag enabled
+# =========================================================================
+# PORTAGE CONFIGURATION
+# =========================================================================
+# Default emerge options: ask for confirmation, verbose output, show tree
+EMERGE_DEFAULT_OPTS="--ask --verbose --tree"
+
+# Enable parallel fetching of source code and parallel installation
+FEATURES="parallel-fetch parallel-install"
+
+# Gentoo source mirrors
+GENTOO_MIRRORS="https://gentoo-mirror.alexxy.name/"
# This sets the language of build output to English.
# Please keep this setting intact when reporting bugs.
LC_MESSAGES=C.UTF-8
-CPU_FLAGS_X86="aes avx avx2 bmi1 bmi2 f16c fma3 mmx mmxext pclmul popcnt rdrand sha sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 vpclmulqdq"
-GRUB_PLATFORMS="efi-64"
+
+# =========================================================================
+# SYSTEM & MISCELLANEOUS
+# =========================================================================
+# Support for 64-bit and 32-bit applications (needed for Steam, Wine, etc.)
ABI_X86="64 32"
+
+# Target platform for GRUB bootloader
+GRUB_PLATFORMS="efi-64"
+
+# Specific Nerd Fonts to install
NERDFONTS="jetbrainsmono"
diff --git a/portage/var/lib/portage/world b/portage/var/lib/portage/world
index cfcc6ae..f2a1564 100644
--- a/portage/var/lib/portage/world
+++ b/portage/var/lib/portage/world
@@ -24,6 +24,7 @@ dev-vcs/git
games-util/steam-launcher
gnome-extra/polkit-gnome
gui-apps/awww
+gui-apps/darkman
gui-apps/foot
gui-apps/swaybg
gui-apps/tuigreet
@@ -45,6 +46,8 @@ media-fonts/noto-emoji
media-fonts/unifont
media-gfx/imagemagick
media-libs/mesa
+media-sound/mpc
+media-sound/mpd
media-sound/pavucontrol
media-sound/playerctl
media-sound/rmpc
diff --git a/rmpc/.config/rmpc/config.ron b/rmpc/.config/rmpc/config.ron
index bf8bf65..765d13b 100644
--- a/rmpc/.config/rmpc/config.ron
+++ b/rmpc/.config/rmpc/config.ron
@@ -7,7 +7,7 @@
max_fps: 180,
music_dir: "/mnt/giga/music",
- lyrics_dir: "/mnt/giga/music", //
+ lyrics_dir: "/mnt/giga/music",
theme: "~/.config/rmpc/theme.ron",
album_art: (
diff --git a/waybar/.config/waybar/config.jsonc b/waybar/.config/waybar/config.jsonc
index 8fe5464..bba0757 100644
--- a/waybar/.config/waybar/config.jsonc
+++ b/waybar/.config/waybar/config.jsonc
@@ -19,6 +19,8 @@
"modules-right": [
"custom/separator",
"custom/separator3",
+ "custom/kbd",
+ "custom/separator3",
"pulseaudio",
"custom/separator3",
"memory",
@@ -62,6 +64,11 @@
"critical": 80
}
},
+ "custom/kbd": {
+ "exec": "/home/seraphim/dotfiles-gentoo/waybar/.config/waybar/kbd-layout.sh",
+ "restart-interval": 5,
+ "tooltip": false
+ },
"custom/clock": {
"exec": "date +'%H:%M %p - %A, %b %d' | tr '[:upper:]' '[:lower:]'",
"interval": 60,
diff --git a/waybar/.config/waybar/kbd-layout.sh b/waybar/.config/waybar/kbd-layout.sh
new file mode 100755
index 0000000..e81462a
--- /dev/null
+++ b/waybar/.config/waybar/kbd-layout.sh
@@ -0,0 +1,42 @@
+#!/bin/sh
+
+# Kill any leftover instances so reloads don't pile up.
+for p in $(pgrep -f "kbd-layout.sh"); do
+ [ "$p" != "$$" ] && kill "$p" 2>/dev/null
+done
+
+STATE="${XDG_RUNTIME_DIR:-/tmp}/waybar-kbd.state"
+rm -f "$STATE"
+
+# Index of the Russian layout (from configured layouts), so we don't hardcode order.
+RUS_IDX=$(niri msg keyboard-layouts 2>/dev/null | grep -i russian | grep -oE '^[ *]*[0-9]+' | tr -d ' *' | head -1)
+
+kbd_query() {
+ niri msg keyboard-layouts 2>/dev/null | grep -Fm1 '*' | grep -qi russian && echo Ru || echo En
+}
+
+# Parse a "Keyboard layout switched: N" or "...current_idx: N" event line.
+kbd_event() {
+ idx=$(printf '%s' "$1" | grep -oE '[0-9]+' | tail -1)
+ [ "$idx" = "$RUS_IDX" ] && echo Ru || echo En
+}
+
+emit() {
+ v="$1"; src="$2"
+ echo "$v"
+ echo "$v" > "$STATE"
+}
+
+# Instant path: react to niri's layout-change events.
+niri msg event-stream 2>/dev/null | {
+ while true; do
+ if IFS= read -r -t 0.2 line; then
+ case "$line" in
+ *"Keyboard layout switched"*|*"Keyboard layouts changed"*) emit "$(kbd_event "$line")" event ;;
+ esac
+ else
+ v=$(kbd_query)
+ [ "$(cat "$STATE" 2>/dev/null)" != "$v" ] && emit "$v" poll
+ fi
+ done
+}
diff --git a/waybar/.config/waybar/style.css b/waybar/.config/waybar/style.css
index 17fc256..196a1f7 100644
--- a/waybar/.config/waybar/style.css
+++ b/waybar/.config/waybar/style.css
@@ -81,6 +81,7 @@ window#waybar {
#memory,
#custom-media,
+#custom-kbd,
#tray,
#cpu,
#custom-clock,
diff --git a/zshrc/.zshrc b/zshrc/.zshrc
index 0782e72..be47620 100644
--- a/zshrc/.zshrc
+++ b/zshrc/.zshrc
@@ -114,3 +114,6 @@ alias la="eza -lha --icons"
alias tree="eza --tree --icons"
eval "$(starship init zsh)"
+
+# Swing Music installation
+export PATH="/home/seraphim/.local/bin:$PATH"