From 4d57b6b6f48a8412e9ed375d32d21d89812481a8 Mon Sep 17 00:00:00 2001 From: Buliway Date: Wed, 7 Aug 2024 19:12:33 +0300 Subject: [PATCH] ready1 --- README.md | 84 ++++- modules/home-manager/bundle.nix | 5 +- modules/home-manager/gui/vscode.nix | 34 +- modules/home-manager/mangohud.nix | 67 ++++ modules/home-manager/symlinks.nix | 2 +- modules/home-manager/terminal/fish.nix | 2 + modules/home-manager/terminal/zsh.nix | 5 +- modules/home-manager/wm/bspwm/bspwmrc | 3 + modules/home-manager/wm/polybar.nix | 456 ++++++++++++++++++++++++- modules/home-manager/wm/rofi/rofi.nix | 10 +- modules/home-manager/wm/sxhkd.nix | 29 +- modules/nixos/bundle.nix | 1 + modules/nixos/hardware.nix | 70 ++++ modules/nixos/xserver.nix | 56 ++- nixos/configuration.nix | 2 +- nixos/home.nix | 4 + nixos/packages.nix | 168 +++++++-- 17 files changed, 915 insertions(+), 83 deletions(-) create mode 100644 modules/home-manager/mangohud.nix create mode 100644 modules/nixos/hardware.nix diff --git a/README.md b/README.md index 3691adc..4e26610 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,15 @@ Это мои приватные дотсы -Искать иконки для nerd шрифта можно [тут](https://www.nerdfonts.com/cheat-sheet). +Железо, на котором это работает: +- CPU: i5 10400f +- GPU: AMD RX6600 +- RAM: 32gb (2x16) ddr4 3200 +- Motherboard: MSI Z590-A PRO + +Чтоб узнать sha256 для гитхаб репы, пишем в терминал эту команду: +```sh +nix-prefetch-git link-to-git-repo +``` ## Бинды @@ -16,7 +25,6 @@ | `Super + Esc` | Прошлый воркспейс. Желательно внутри одного монитора | | `Super + ЛКМ` | Переместить окно | | `Super + ПКМ` | Ресайзить окно | -| `Super + Scroll` | Скролишь колесо вверх = +1 воркспейс. Если вниз, то -1 | | `Super + Arrows` | Менять фокус приложения в указанном направлении | | `Super + 0-9` | Переключить воркспейс на 1-10. Если они общие на все моники, то добавить F1-F12 для 11-22 | | `Super + Shift + 0-9` | Перекинуть активное окно на воркспейс. Желательно silent, чтоб меня не перекидывало к проге | @@ -91,22 +99,38 @@ ## Иконки +Искать иконки для nerd шрифта можно [тут](https://www.nerdfonts.com/cheat-sheet). + Соберу сюда список nerd иконок, которые могут пригодиться - - CPU (мб не юзать, а писать текстом и cpu и gpu) - - RAM -󰪛 - CapsLock - или 󰌌 - Клавиатура -   - Громкость -󰃟 󰃞 󰃝 - Яркость -  󰸗 - Календарь -⏻ 󰐥  - Выключение пк - 󰀻  󰵆 - Приложения - 󰂯 󰂲 󰥰 󰦋 󰏳 󰦢 󰗾 󰗿 - Блютуз -󰈀  󰒍 - Network -  󱉧  - Clipboard -󰀦  󰀧 󰀨 󰅉 󰨱 󰵙  󰂚     - Оповещения (bell) -󰑓 󱄋 - Reload +CPU (мб не юзать, а писать текстом и cpu и gpu) -  + +RAM -  + +CapsLock - 󰪛 + +Клавиатура -  или 󰌌 + +Громкость -    + +Яркость - 󰃟 󰃞 󰃝 + +Календарь -   󰸗 + +Выключение пк - ⏻ 󰐥  + +Приложения -  󰀻  󰵆 + +Блютуз -  󰂯 󰂲 󰥰 󰦋 󰏳 󰦢 󰗾 󰗿 + +Network - 󰈀  󰒍 + +Clipboard -   󱉧  + +Оповещения (bell) - 󰀦  󰀧 󰀨 󰅉 󰨱 󰵙  󰂚     + +Reload - 󰑓 󱄋 + Wifi  󰖩 󱚵 󱚽 󱚼 󰖪 󱛄 @@ -131,3 +155,31 @@ Wifi 󰔄 - Температура по цельсию        + + +## Темы + +У меня в vscode цвета отображаются. Так что я для себя сохраню цвета разных вариантов gruvbox + +Цвет это название цвета. Потом идёт название gruvbox-имя + +Я использую gruvbox-dark-medium + +|Цвет |dark-hard|dark-medium|dark-pale|dark-soft|material-dark-hard|material-dark-medium|material-dark-soft| +|------|---------|-----------|---------|---------|------------------|--------------------|------------------| +|base00| #1d2021 | #282828 | #262626 | #32302f | #202020 | #292828 | #32302f | +|base01| #3c3836 | #3c3836 | #3a3a3a | #3c3836 | #2a2827 | #32302f | #3c3836 | +|base02| #504945 | #504945 | #4e4e4e | #504945 | #504945 | #504945 | #5a524c | +|base03| #665c54 | #665c54 | #8a8a8a | #665c54 | #5a524c | #665c54 | #7c6f64 | +|base04| #bdae93 | #bdae93 | #949494 | #bdae93 | #bdae93 | #bdae93 | #bdae93 | +|base05| #d5c4a1 | #d5c4a1 | #dab997 | #d5c4a1 | #ddc7a1 | #ddc7a1 | #ddc7a1 | +|base06| #ebdbb2 | #ebdbb2 | #d5c4a1 | #ebdbb2 | #ebdbb2 | #ebdbb2 | #ebdbb2 | +|base07| #fbf1c7 | #fbf1c7 | #ebdbb2 | #fbf1c7 | #fbf1c7 | #fbf1c7 | #fbf1c7 | +|base08| #fb4934 | #fb4934 | #d75f5f | #fb4934 | #ea6962 | #ea6962 | #ea6962 | +|base09| #fe8019 | #fe8019 | #ff8700 | #fe8019 | #e78a4e | #e78a4e | #e78a4e | +|base0A| #fabd2f | #fabd2f | #ffaf00 | #fabd2f | #d8a657 | #d8a657 | #d8a657 | +|base0B| #b8bb26 | #b8bb26 | #afaf00 | #b8bb26 | #a9b665 | #a9b665 | #a9b665 | +|base0C| #8ec07c | #8ec07c | #85ad85 | #8ec07c | #89b482 | #89b482 | #89b482 | +|base0D| #83a598 | #83a598 | #83adad | #83a598 | #7daea3 | #7daea3 | #7daea3 | +|base0E| #d3869b | #d3869b | #d485ad | #d3869b | #d3869b | #d3869b | #d3869b | +|base0F| #d65d0e | #d65d0e | #d65d0e | #d65d0e | #bd6f3e | #bd6f3e | #bd6f3e | diff --git a/modules/home-manager/bundle.nix b/modules/home-manager/bundle.nix index b46ed48..1bd011c 100644 --- a/modules/home-manager/bundle.nix +++ b/modules/home-manager/bundle.nix @@ -7,7 +7,7 @@ ./file-managers/ranger/ranger.nix ./file-managers/thunar/thunar.nix - ./file-managers/yazi/yazi.nix + # ./file-managers/yazi/yazi.nix ./gui/vscode.nix @@ -16,7 +16,7 @@ ./obs/obs.nix ./terminal/alacritty.nix - ./terminal/fish.nix + # ./terminal/fish.nix ./terminal/git.nix ./terminal/kitty.nix ./terminal/starship.nix @@ -32,5 +32,6 @@ ./default-apps.nix ./symlinks.nix + ./mangohud.nix ]; } \ No newline at end of file diff --git a/modules/home-manager/gui/vscode.nix b/modules/home-manager/gui/vscode.nix index a7bbc0e..18d7564 100644 --- a/modules/home-manager/gui/vscode.nix +++ b/modules/home-manager/gui/vscode.nix @@ -1,13 +1,43 @@ -{ +{ pkgs, ... }: { # https://nixos.wiki/wiki/Visual_Studio_Code programs.vscode = { enable = true; + # package = pkgs.vscode.fhs; # Почему в вики написано ".fhs", если пакет называется "-fhs"? + # package = pkgs.vscode-with-extensions; # Мб это надо? - extensions = [ + # Чтоб узнать sha256, я скачал расширение напрямую с сайта маркетплейса + # А потом в терминале написал "sha256sum filename" + # В оф репе юзают такой скрипт для установки расширений, не знаю поможет ли + # https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vscode/extensions/update_installed_exts.sh#L34 + # Имя и паблишер берутся из ссылки. После "?itemName" идёт паблишер.нейм + extensions = with pkgs.vscode-extensions; [ + eamodio.gitlens # GitLens - Git supercharged + jnoortheen.nix-ide # Nix language support - syntax highlighting, formatting, and error reporting. + sumneko.lua # Lua language server + naumovs.color-highlight # Highlight web colors in your editor + tamasfe.even-better-toml # Fully-featured TOML support + ms-python.python # Python language support + golang.go # Rich Go language support + ] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [ # Руками с гита ставить + { # https://marketplace.visualstudio.com/items?itemName=budparr.language-hugo-vscode + name = "language-hugo-vscode"; + publisher = "budparr"; + version = "1.3.1"; + sha256 = "f5da7cfe02c06fc3899e6b0b55b380280619e7085abcf5b6024f9684ba846c99"; + } + { # https://marketplace.visualstudio.com/items?itemName=Codeium.codeium + name = "codeium"; + publisher = "Codeium"; + version = "1.11.9"; + sha256 = "0e07e78e487418d0c5289eeb2c530dd7dd18f82612e46c8b177f2a1f95acb730"; + } ]; userSettings = { + # "workbench.colorTheme" = "Gruvbox Dark Medium"; "editor.fontFamily" = "JetBrainsMono Nerd Font"; + "telemetry.telemetryLevel" = "off"; + "update.showReleaseNotes" = false; }; globalSnippets = {}; diff --git a/modules/home-manager/mangohud.nix b/modules/home-manager/mangohud.nix new file mode 100644 index 0000000..dcda649 --- /dev/null +++ b/modules/home-manager/mangohud.nix @@ -0,0 +1,67 @@ +# Vulkan and OpenGL overlay for monitoring FPS, temperatures, CPU/GPU load and more +# https://github.com/flightlessmango/MangoHud/blob/master/data/MangoHud.conf + +# To enable the MangoHud overlay layer for Vulkan and OpenGL, run: `mangohud /path/to/app` +# For Lutris games, go to the System options in Lutris (make sure that advanced options are enabled) +# and add this to the Command prefix setting: `mangohud` +# For Steam games, you can add this as a launch option: `mangohud %command%` +# Or alternatively, add `MANGOHUD=1` to your shell profile (Vulkan only). +# OpenGL games may also need dlsym hooking. Add `--dlsym` to your command like `mangohud --dlsym %command%` for Steam. +# To enable mangohud with gamescope you need to install mangoapp. gamescope --mangoapp %command% +# Using normal mangohud with gamescope is not support. + +# Затестить можно в терминале через команду MANGOHUD=1 vkcube + +{ + programs.mangohud = { + enable = true; + # enableSessionWide = true; # Sets environment variables so that MangoHud is started on any application that supports it. + }; + + home.file.".config/MangoHud/MangoHud.conf".text = '' + ### pre defined presets + # -1 = default + # 0 = no display + # 1 = fps only + # 2 = horizontal view + # 3 = extended + # 4 = high detailed information + # preset=-1 + + cpu_temp + gpu_temp + gpu_mem_temp + swap + + toggle_hud=Shift_R+F12 + toggle_hud_position=Shift_R+F11 + toggle_preset=Shift_R+F10 + # toggle_fps_limit=Shift_L+F1 + # toggle_logging=Shift_L+F2 + # reload_cfg=Shift_L+F4 + # upload_log=Shift_L+F3 + + background_alpha=0.0 # Hud transparency + alpha=0.8 # Hud alpfa + log_duration=300 # Set amount of time the logging will run for (in seconds) + + # gamemode # Display GameMode running status + # vkbasalt # Display vkBasalt running status + # fsr # Display the status of FSR (only works in gamescope) + # throttling_status # Display GPU throttling status. Only shows if throttling is currently happening + # no_display # Disable / hide the hud by deafult + # battery = true; + + ### Limit the application FPS. Comma-separated list of one or more FPS values (e.g. 0,30,60). 0 means unlimited (unless VSynced) + # fps_limit=0 + + ### early = wait before present, late = wait after present + # fps_limit_method= + + ### VSync [0-3] 0 = adaptive; 1 = off; 2 = mailbox; 3 = on + # vsync=-1 + + ### OpenGL VSync [0-N] 0 = off; >=1 = wait for N v-blanks, N > 1 acts as a FPS limiter (FPS = display refresh rate / N) + # gl_vsync=-2 + ''; +} diff --git a/modules/home-manager/symlinks.nix b/modules/home-manager/symlinks.nix index 05bc01a..3e7814b 100644 --- a/modules/home-manager/symlinks.nix +++ b/modules/home-manager/symlinks.nix @@ -16,6 +16,6 @@ in { # ".local/share/osu-wine/osu!/collection.db" = "~/${dir}/Games/osu!/collection.db"; # ".local/share/osu-wine/osu!/osu!.buliway.cfg" = "~/${dir}/Games/osu!/osu!.buliway.cfg"; - # Не знаю на счёт strawberry, obs, chatbox, planify, calibre и браузеров + # Не знаю на счёт strawberry, obs, chatbox, planify, calibre, discord и браузеров }; } \ No newline at end of file diff --git a/modules/home-manager/terminal/fish.nix b/modules/home-manager/terminal/fish.nix index 7c507be..9c0883a 100644 --- a/modules/home-manager/terminal/fish.nix +++ b/modules/home-manager/terminal/fish.nix @@ -16,12 +16,14 @@ pkgs = "nvim ${flakeDir}/nixos/packages.nix"; v = "nvim"; + t = "timer"; r = "ranger"; ff = "fastfetch"; yt = "cd /mnt/backups/Media/yt-dlp"; # Бекапить YouTube qb = "cd /mnt/backups/Media/Music/Qobux/qdl"; # Бекапить музыку с Qobuz }; + # Всё, что в комментах ниже, лишнее. Я нашёл норм способ. Пишем "nix-prefetch-git link" и получаем всю инфу # Узнать rev - git ls-remote https://github.com/{owner}/{repo}.git HEAD # На гитхабе вроде можно просто на странице коммитов нажать ... и copy full SHA # Узнать sha256 - sudo nix-prefetch-url --unpack https://github.com/{owner}/{repo}/archive/{rev}.tar.gz diff --git a/modules/home-manager/terminal/zsh.nix b/modules/home-manager/terminal/zsh.nix index b9c0eb4..282aa2f 100644 --- a/modules/home-manager/terminal/zsh.nix +++ b/modules/home-manager/terminal/zsh.nix @@ -4,8 +4,8 @@ enableCompletion = true; autosuggestion = { enable = true; - strategy = [ # Выбери только один из них - #"history" # Chooses the most recent match from history. + strategy = [ # Выбери только один из них (а мб нет, сначала ищет историю, если пусто, то комплитит) + "history" # Chooses the most recent match from history. "completion" # Chooses a suggestion based on what tab-completion would suggest. (requires Zsh 3.1 or later) ]; }; @@ -26,6 +26,7 @@ pkgs = "nvim ${flakeDir}/nixos/packages.nix"; v = "nvim"; + t = "timer"; r = ". ranger"; # Зайти в ranger и чтоб при выходе я cd в каталог, из которого выходил ff = "fastfetch"; yt = "cd /mnt/backups/Media/yt-dlp"; # Конфиги для бекапа YouTube diff --git a/modules/home-manager/wm/bspwm/bspwmrc b/modules/home-manager/wm/bspwm/bspwmrc index 36f644b..d388712 100644 --- a/modules/home-manager/wm/bspwm/bspwmrc +++ b/modules/home-manager/wm/bspwm/bspwmrc @@ -23,6 +23,9 @@ # obsidian & # planify & +# Я ебал рот видеть инет в трее. Замени эту ёбань на rofi и отдельную кнопку в polybar +# nm-applet & + ######################### ## Настройки мониторов ## ######################### diff --git a/modules/home-manager/wm/polybar.nix b/modules/home-manager/wm/polybar.nix index 0338f2f..459cb9a 100644 --- a/modules/home-manager/wm/polybar.nix +++ b/modules/home-manager/wm/polybar.nix @@ -1,7 +1,459 @@ -{ # Статус бар внизу +# Про единицы измерения +# Если просто написать число, то это будет количество пробелом в прямом смысле. Размер зависит от шрифта +# Если указать pt (points), то это 1/72 часть дюйма, которая преобразуется в количество пикселей в зависимости от DPI монитора +# Если указывать px, то это пиксели, логично +# Интересные готовые скрипты для polybar https://github.com/polybar/polybar-scripts + +# Указание цветов из темы stylix +# color0 = "${config.lib.stylix.colors.base00}"; +# В случае с gruvbox это будет цвет "#282828" +# Ниже цвета просто dark-meduim, после него material-dark-medium +# base00: "#282828" "#292828" +# base01: "#3c3836" "#32302f" +# base02: "#504945" "#504945" +# base03: "#665c54" "#665c54" +# base04: "#bdae93" "#bdae93" +# base05: "#d5c4a1" "#ddc7a1" +# base06: "#ebdbb2" "#ebdbb2" +# base07: "#fbf1c7" "#fbf1c7" +# base08: "#fb4934" "#ea6962" +# base09: "#fe8019" "#e78a4e" +# base0A: "#fabd2f" "#d8a657" +# base0B: "#b8bb26" "#a9b665" +# base0C: "#8ec07c" "#89b482" +# base0D: "#83a598" "#7daea3" +# base0E: "#d3869b" "#d3869b" +# base0F: "#d65d0e" "#bd6f3e" + +# Если в коммент коде цвет указан напрямую, то это дотсы zproger с левой темой + +# Варианты кликов мыши +# click-left +# click-middle +# click-right +# scroll-up +# scroll-down +# double-click-left +# double-click-middle +# double-click-right + +{ config, ... }: let + gruvbox = { + black = "#000000"; + dark = "#1d1d1d"; + disabled = "${config.lib.stylix.colors.base00}"; # #282828 + red = "${config.lib.stylix.colors.base08}"; # #fb4934 + red-alt = "#b22222"; + orange = "${config.lib.stylix.colors.base09}"; # #fe8019 + orange-mat = "#e78a4e"; + yellow = "${config.lib.stylix.colors.base0A}"; # #fabd2f + yellow-mat = "#d8a657"; + green = "${config.lib.stylix.colors.base0B}"; # #b8bb26 + green-alt = "#98971a"; + aqua = "${config.lib.stylix.colors.base0C}"; # #8ec07c + aqua-alt = "#689d6a"; + blue = "#458588"; + blue-alt = "${config.lib.stylix.colors.base0D}"; # #83a598 + grey = "#313131"; + dark-grey = "#222222"; + cream = "${config.lib.stylix.colors.base07}"; # #fbf1c7 + white = "#FFFFFF"; + transparent = "#00000000"; + Stransparent = "#CC000000"; + }; +in { # Статус бар внизу services.polybar = { enable = true; + settings = { # Или переимоневать в "config"? Не понял в чём разница + # "colors" = {}; + + "global/wm" = { + margin-bottom = 0; + }; + + # bottom это просто имя, это не говорит бару быть внизу, можно написать что угодно + "bar/bottom" = { + monitor = "polybar -M | cut -d ':' -f 1"; # содержит список мониторов + monitor-strict = false; # Require the monitor to be in connected state + monitor-exact = true; # Зачем? Нечёткий поиск мониторов, если они называются по разному с разными драйверами + bottom = true; # Put the bar at the bottom of the screen + fixed-center = true; # Мидл модуль будет по центру экрана. При false будет между левым и правым модулями + width = "100%"; # Ширина относительно ширины монитора + height = "20pt"; # Высота относительно высоты монитора. Не ебу что значит pt + offset-x = 0; # Offset the bar window in the x and/or y direction. + offset-y = 0; # Supports any percentage with offset relative to the monitor width or height + padding = 0; # Padding to add at the beginning/end of the bar. Можно юзать padding-{left,right} + enable-ipc = true; # Enable support for inter-process messaging + double-click-interval = 400; # If two clicks are received within this interval (ms), they are recognized as a double click. + + module-margin = 1; # Margin to add before/after each module. Можно юзать module-margin-{left,right} + # separator = " "; # The separator will be inserted between the output of each module + # separator-foreground = gruvbox.transparent; + + # background = gruvbox.transparent; # Фон бара + # foreground = gruvbox.cream; # Передний план + # border-color = gruvbox.transparent; # Цвет контура + # border-size = "3pt"; # Размер контура + # line-color = "#f00"; # Under-/overline argb color. Может быть {overline,underline}-color + # line-size = 0; # Under-/overline pixel size. Может быть {overline,underline}-size + + # If you don't explicitly set the font-index for a tag, + # the bar will iterate the font list and pick the first one that is able to draw the character + font-0 = "JetBrainsMono Nerd Font"; + + modules-left = "bspwm title"; + modules-center = "time"; + modules-right = "cpu cpu-temp gpu-temp battery memory pulseaudio tray xkeyboard rofi"; + + # Restack the bar window and put it above the selected window manager's root + # Fixes the issue where the bar is being drawn on top of fullscreen window's + # Currently supported values: + # generic (Tries the ewmh strategy and falls back to the bottom strategy. + # This is a best-effort strategy and may change and be tweaked in + # the future, the individual strategies are available on their own) + # (New in version 3.6.0) + # (Changed in version 3.7.0: Tries the ewmh strategy instead of just the bottom strategy) + # bspwm (Moves the bar window above all bspwm root windows) + # bottom (Moves the bar window above the first window in the window stack. + # Works in xmonad, may not work on other WMs + # New in version 3.7.0) + # ewmh (Moves the bar above the window specified in _NET_SUPPORTING_WM_CHECK, if it is set + # New in version 3.7.0) + # i3 (requires `override-redirect = true`) + wm-restack = "bspwm"; + }; + + "module/rofi" = { + type = "custom/text"; + click-left = "exec rofi -show drun"; + label = " "; + }; + + "module/bspwm" = { # Воркспейсы bspwm + type = "internal/bspwm"; + pin-workspaces = true; # Only show workspaces defined on the same output as the bar + inline-mode = true; # Output mode flags after focused state label. Не понял что значит + enable-click = true; # Create click handler used to focus workspace + enable-scroll = false; # Create scroll handlers used to cycle workspaces + reverse-scroll = false; # Set the scroll cycle direction + occupied-scroll = true; # Only scroll through occupied workspaces + + ws-icon-0 = "0;0"; + ws-icon-1 = "1;1"; + ws-icon-2 = "2;2"; + ws-icon-3 = "3;3"; + ws-icon-4 = "4;4"; + ws-icon-5 = "5;5"; + ws-icon-6 = "6;6"; + ws-icon-7 = "7;7"; + ws-icon-8 = "8;8"; + ws-icon-9 = "9;9"; + ws-icon-10 = "10;10"; + + format = " "; # Это невозможно описать. Я сам не до конца понял + + # label-mode = "%mode%"; + # label-mode-padding = 1; + # label-mode-background = gruvbox.red-alt; + # label-mode-foreground = gruvbox.white; + + # label-separator = ""; + # label-separator-padding = 0; + # label-separator-foreground = gruvbox.transparen; + + # label-focused = "%icon% %name%"; + # label-focused-font = 5; + # label-focused-foreground = gruvbox.yellow; + # label-focused-underline = "#565c64"; + # label-focused-padding = 1; + # label-focused-background = gruvbox.black; + + # label-occupied = "%icon%"; + # label-occupied-foreground = "#646870"; + # label-occupied-background = "#2b2f37"; + # label-occupied-padding = 1; + + # label-empty = "%icon%"; + # label-empty-foreground = gruvbox.yellow; + # label-empty-padding = 1; + # label-empty-background = "#2b2f37"; + + # label-unfocused = "%icon%"; + # label-unfocused-font = 5; + # label-unfocused-foreground = gruvbox.cream; + # label-unfocused-background= gruvbox.black; + # label-unfocused-padding = 2; + + # label-visible = "%icon%"; + # label-visible-padding = 2; + + # label-urgent = "%icon%"; + # label-urgent-font = 5 + # label-urgent-foreground = gruvbox.red-alt; + # label-urgent-background = gruvbox.black; + # label-urgent-padding = 2; + }; + + "module/title" = { # Отображение имени окна + type = internal/xwindow; + format-prefix = "  "; + # format-prefix-foreground = gruvbox.yellow-mat; + # format-prefix-background = gruvbox.black; + # format-background = "#f00"; + # format-foreground = "#000"; + # format-padding = 4; + + # label = "%title%"; + label = "%class%"; + label-maxlen = 60; + # label-foreground = gruvbox.cream; + # label-background = gruvbox.dark; + label-padding-left = 2; + label-padding-right = 2; + }; + + # %A: Полное название дня недели (например, "Monday") + # %d: День месяца в формате двух цифр (например, "01") + # %b или %B: Сокращённое или полное название месяца ("Jan", "January") + # %m: Месяц в формате двух цифр (например, "01" для января) + "module/time" = { + type = "internal/date"; + interval = 1; + # format = "🕓