From cfa2db3267bf4388844847dfbd5c01330cdea646 Mon Sep 17 00:00:00 2001 From: Buliway Date: Sat, 7 Feb 2026 07:50:34 +0300 Subject: [PATCH] 4k monitor + fix xdg portal --- NOTES.md | 2 +- flake.lock | 24 +++++++-------- modules/home-manager/wm/bspwm/bspwm.nix | 20 ++++++++----- modules/home-manager/wm/bspwm/sxhkd.nix | 34 ++++++++++++++++------ modules/home-manager/wm/rofi/launcher.rasi | 28 +++++++++--------- modules/home-manager/wm/rofi/power.rasi | 24 +++++++-------- modules/home-manager/wm/rofi/rofi.nix | 2 +- modules/nixos/network.nix | 2 +- modules/nixos/stylix.nix | 2 +- modules/nixos/xserver.nix | 3 +- nixos/configuration.nix | 8 ++++- nixos/packages.nix | 17 ++++++----- 12 files changed, 99 insertions(+), 67 deletions(-) diff --git a/NOTES.md b/NOTES.md index c774c2b..5b8764a 100644 --- a/NOTES.md +++ b/NOTES.md @@ -27,7 +27,7 @@ - GPU: AMD RX6600 - RAM: 32gb (2x16) ddr4 3200 - Motherboard: MSI Z590-A PRO -- Два монитора 1920x1080 на 165 и 100 герц +- Один монитор 4к на 160 герц Основной набор софта diff --git a/flake.lock b/flake.lock index 28cbc72..cd4695c 100644 --- a/flake.lock +++ b/flake.lock @@ -147,11 +147,11 @@ ] }, "locked": { - "lastModified": 1768770171, - "narHash": "sha256-JPmLGZgdWa8QcQbbtBqyZhpmxIHZ3lUO48laERjw+4k=", + "lastModified": 1769813945, + "narHash": "sha256-9ABv9Lo9t6MrFjlnRnU8Zw1C6LVj2+R8PipQ/rxGLHk=", "owner": "nix-community", "repo": "home-manager", - "rev": "521d5ea1a229ba315dd1cceaf869946ddcc83d36", + "rev": "475921375def3eb930e1f8883f619ff8609accb6", "type": "github" }, "original": { @@ -162,11 +162,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1768564909, - "narHash": "sha256-Kell/SpJYVkHWMvnhqJz/8DqQg2b6PguxVWOuadbHCc=", + "lastModified": 1769461804, + "narHash": "sha256-msG8SU5WsBUfVVa/9RPLaymvi5bI8edTavbIq3vRlhI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e4bae1bd10c9c57b2cf517953ab70060a828ee6f", + "rev": "bfc1b8a4574108ceef22f02bafcf6611380c100d", "type": "github" }, "original": { @@ -194,11 +194,11 @@ }, "nixpkgs2": { "locked": { - "lastModified": 1768564909, - "narHash": "sha256-Kell/SpJYVkHWMvnhqJz/8DqQg2b6PguxVWOuadbHCc=", + "lastModified": 1769461804, + "narHash": "sha256-msG8SU5WsBUfVVa/9RPLaymvi5bI8edTavbIq3vRlhI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e4bae1bd10c9c57b2cf517953ab70060a828ee6f", + "rev": "bfc1b8a4574108ceef22f02bafcf6611380c100d", "type": "github" }, "original": { @@ -263,11 +263,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1768744881, - "narHash": "sha256-3+h7OxqfrPIB/tRsiZXWE9sCbTm7NQN5Ie428p+S6BA=", + "lastModified": 1769819994, + "narHash": "sha256-AJB2hcg1OgocLGuVdot9HyCD+Kv+a6znhY2i3XqcZYU=", "owner": "nix-community", "repo": "stylix", - "rev": "06684f00cfbee14da96fd4307b966884de272d3a", + "rev": "8b14679c0e1570b0e137f0f7997717be0fdf2cf2", "type": "github" }, "original": { diff --git a/modules/home-manager/wm/bspwm/bspwm.nix b/modules/home-manager/wm/bspwm/bspwm.nix index 18bc2bc..4e8ee4a 100644 --- a/modules/home-manager/wm/bspwm/bspwm.nix +++ b/modules/home-manager/wm/bspwm/bspwm.nix @@ -7,9 +7,12 @@ # Как я понял, эти команды выполняются в начале bspwmrc # Ниже настройки для основного монитора. Мб вместе с --primary надо # И настройки для второго (правого) монитора + # extraConfigEarly = '' + # xrandr --output DisplayPort-2 --mode 1920x1080 --rate 165 + # xrandr --output HDMI-A-0 --mode 1920x1080 --rate 60 --right-of DisplayPort-2 + # ''; extraConfigEarly = '' - xrandr --output DisplayPort-2 --mode 1920x1080 --rate 165 - xrandr --output HDMI-A-0 --mode 1920x1080 --rate 60 --right-of DisplayPort-2 + xrandr --output DP-3 --mode 3840x2160 --rate 160 ''; # Эти команды выполняются в конце bspwmrc @@ -24,10 +27,10 @@ "sxhkd" "nm-applet" # Нетворк манагер # "blueman-applet" # Блютуз в трее - "ksnip" + # "ksnip" "xset s off -dpms" # Отменить затухание экрана через X минут "spice-vdagent" # Для виртуалки - "systemctl --user import-environment PATH" # Фикс портала, мб надо ребут портала тоже добавить + "systemctl --user import-environment PATH XDG_DATA_DIRS XDG_RUNTIME_DIR DISPLAY" # Фикс порталов "systemctl --user restart xdg-desktop-portal xdg-desktop-portal-gtk" ]; @@ -43,19 +46,22 @@ state = "floating"; center = true; focus = true; - rectangle = "1600x900+0+0"; + # rectangle = "1600x900+0+0"; + rectangle = "3200x1800+0+0"; }; floating1200x800 = { state = "floating"; center = true; focus = true; - rectangle = "1200x800+0+0"; + # rectangle = "1200x800+0+0"; + rectangle = "2400x1600+0+0"; }; floating900x600 = { state = "floating"; center = true; focus = true; - rectangle = "900x600+0+0"; + # rectangle = "900x600+0+0"; + rectangle = "1800x1200+0+0"; }; floating = { state = "floating"; diff --git a/modules/home-manager/wm/bspwm/sxhkd.nix b/modules/home-manager/wm/bspwm/sxhkd.nix index 824ff7b..3698659 100644 --- a/modules/home-manager/wm/bspwm/sxhkd.nix +++ b/modules/home-manager/wm/bspwm/sxhkd.nix @@ -18,17 +18,22 @@ rofiDir = "${config.home.homeDirectory}/.config/rofi"; in { home.packages = with pkgs; [ sxhkd ]; + services.sxhkd = { + enable = true; + extraOptions = [ "-m" "-2" ]; # Игнор 2 lock-модов (NumLock + CapsLock) + # }; - xdg.configFile."sxhkd/sxhkdrc" = { - # executable = true; - text = '' + # xdg.configFile."sxhkd/sxhkdrc" = { + # # executable = true; + # text = '' + extraConfig = '' ######################################################### ## bspwm (описание параметров есть в файле "bspwm.md") ## ######################################################### # Make sxhkd reload its config files super + shift + ctrl + r - pkill -USR1 -x sxhkd; dunstify "t2" -a "󰑓 Sxhkd reloaded" + pkill -USR1 -x sxhkd; dunstify "󰑓 Sxhkd reloaded" # Quit/Restart bspwm super + shift + ctrl + alt + {q,r} @@ -122,11 +127,11 @@ in { # Applications. Запускатор софта super + a - rofi -show drun -theme ${rofiDir}/launcher.rasi + rofi -dpi 192 -show drun -theme ${rofiDir}/launcher.rasi # Calculator имбовый. Можно даже написать `5600 USD to BTC` или `500 + 25%`. super + c - rofi -show calc -modi calc -no-show-match -no-sort -theme ${rofiDir}/launcher.rasi + rofi -dpi 192 -show calc -modi calc -no-show-match -no-sort -theme ${rofiDir}/launcher.rasi # Passwords. Пароли из утилиты pass super + p @@ -134,15 +139,15 @@ in { # История буфера обмена. Как ctrl+v, но через win. super + v - clipmenu + clipmenu -dpi 192 # Как alt+tab, переключение окон. На нужный воркспейс само перекинет super + Tab - rofi -show window -theme ${rofiDir}/launcher.rasi + rofi -dpi 192 -show window -theme ${rofiDir}/launcher.rasi # PowerMenu. Выключение пк super + BackSpace - rofi -show powermenu -modi powermenu:${pkgs.rofi-power-menu}/bin/rofi-power-menu -theme ${rofiDir}/power.rasi + rofi -dpi 192 -show powermenu -modi powermenu:${pkgs.rofi-power-menu}/bin/rofi-power-menu -theme ${rofiDir}/power.rasi # Timer. Думаю сделать через утилиту timer # super + alt + t @@ -184,6 +189,17 @@ in { super + ctrl + c xcolor -s -f rgb + # Select region + Print + flameshot gui + + # Active monitor + Print + ctrl + flameshot screen + + # All monitors + Print + alt + flameshot full ############## ## terminal ## diff --git a/modules/home-manager/wm/rofi/launcher.rasi b/modules/home-manager/wm/rofi/launcher.rasi index dab8e62..abce434 100644 --- a/modules/home-manager/wm/rofi/launcher.rasi +++ b/modules/home-manager/wm/rofi/launcher.rasi @@ -46,7 +46,7 @@ window { location: center; anchor: center; fullscreen: false; - width: 800px; + width: 1600px; x-offset: 0px; y-offset: 0px; @@ -54,7 +54,7 @@ window { enabled: true; margin: 0px; padding: 0px; - border: 1px solid; + border: 2px solid; border-radius: 0px; border-color: @border-colour; cursor: "default"; @@ -64,9 +64,9 @@ window { /*****----- Main Box -----*****/ mainbox { enabled: true; - spacing: 10px; + spacing: 20px; margin: 0px; - padding: 30px; + padding: 60px; border: 0px solid; border-radius: 0px 0px 0px 0px; border-color: @border-colour; @@ -77,9 +77,9 @@ mainbox { /*****----- Inputbar -----*****/ inputbar { enabled: true; - spacing: 10px; + spacing: 20px; margin: 0px; - padding: 0px 0px 10px 10px; + padding: 0px 0px 20px 20px; border: 0px; border-radius: 0px; border-color: @border-colour; @@ -133,7 +133,7 @@ listview { cursor: "default"; } scrollbar { - handle-width: 5px ; + handle-width: 10px ; handle-color: @handle-colour; border-radius: 0px; background-color: @alternate-background; @@ -142,9 +142,9 @@ scrollbar { /*****----- Elements -----*****/ element { enabled: true; - spacing: 10px; + spacing: 20px; margin: 0px; - padding: 5px; + padding: 10px; border: 0px solid; border-radius: 0px; border-color: @border-colour; @@ -191,7 +191,7 @@ element alternate.active { element-icon { background-color: transparent; text-color: inherit; - size: 24px; + size: 48px; cursor: inherit; } element-text { @@ -206,7 +206,7 @@ element-text { /*****----- Mode Switcher -----*****/ mode-switcher{ enabled: true; - spacing: 10px; + spacing: 20px; margin: 0px; padding: 0px; border: 0px solid; @@ -216,7 +216,7 @@ mode-switcher{ text-color: @foreground-colour; } button { - padding: 10px; + padding: 20px; border: 0px solid; border-radius: 0px; border-color: @border-colour; @@ -241,7 +241,7 @@ message { text-color: @foreground-colour; } textbox { - padding: 10px; + padding: 20px; border: 0px solid; border-radius: 0px; border-color: @border-colour; @@ -255,7 +255,7 @@ textbox { markup: true; } error-message { - padding: 10px; + padding: 20px; border: 0px solid; border-radius: 0px; border-color: @border-colour; diff --git a/modules/home-manager/wm/rofi/power.rasi b/modules/home-manager/wm/rofi/power.rasi index 6fe2085..7ec16b4 100644 --- a/modules/home-manager/wm/rofi/power.rasi +++ b/modules/home-manager/wm/rofi/power.rasi @@ -13,7 +13,7 @@ window { location: center; anchor: center; fullscreen: false; - width: 350px; + width: 700px; x-offset: 0px; y-offset: 0px; @@ -21,7 +21,7 @@ window { enabled: true; margin: 0px; padding: 0px; - border: 1px solid; + border: 2px solid; border-radius: 0px; border-color: @selected; cursor: "default"; @@ -31,9 +31,9 @@ window { /*****----- Main Box -----*****/ mainbox { enabled: true; - spacing: 8px; + spacing: 16px; margin: 0px; - padding: 8px; + padding: 16px; border: 0px solid; border-radius: 0px; border-color: @selected; @@ -44,7 +44,7 @@ mainbox { /*****----- Inputbar -----*****/ inputbar { enabled: true; - spacing: 8px; + spacing: 16px; margin: 0px; padding: 0px; border: 0px; @@ -59,14 +59,14 @@ textbox-prompt-colon { enabled: true; expand: false; str: ""; - padding: 8px 12px; + padding: 16px 24px; border-radius: 0px; background-color: @urgent; text-color: @background; } prompt { enabled: true; - padding: 8px; + padding: 16px; border-radius: 0px; background-color: @active; text-color: @background; @@ -76,7 +76,7 @@ prompt { message { enabled: true; margin: 0px; - padding: 8px; + padding: 16px; border: 0px solid; border-radius: 0px; border-color: @selected; @@ -93,7 +93,7 @@ textbox { markup: true; } error-message { - padding: 8px; + padding: 16px; border: 0px solid; border-radius: 0px; border-color: @selected; @@ -114,7 +114,7 @@ listview { fixed-height: true; fixed-columns: true; - spacing: 5px; + spacing: 10px; margin: 0px; padding: 0px; border: 0px solid; @@ -130,7 +130,7 @@ element { enabled: true; spacing: 0px; margin: 0px; - padding: 8px; + padding: 16px; border: 0px solid; border-radius: 0px; border-color: @selected; @@ -148,4 +148,4 @@ element-text { element selected.normal { background-color: var(selected); text-color: var(background); -} \ No newline at end of file +} diff --git a/modules/home-manager/wm/rofi/rofi.nix b/modules/home-manager/wm/rofi/rofi.nix index 26861e0..a1531b6 100644 --- a/modules/home-manager/wm/rofi/rofi.nix +++ b/modules/home-manager/wm/rofi/rofi.nix @@ -18,7 +18,7 @@ enable = true; # https://github.com/carnager/rofi-pass extraConfig = '' _rofi () { - rofi -i -no-auto-select -theme ${config.home.homeDirectory}/.config/rofi/launcher.rasi "$@" + rofi -i -dpi 192 -no-auto-select -theme ${config.home.homeDirectory}/.config/rofi/launcher.rasi "$@" } ''; }; diff --git a/modules/nixos/network.nix b/modules/nixos/network.nix index 79bf97a..e8ef1f3 100644 --- a/modules/nixos/network.nix +++ b/modules/nixos/network.nix @@ -20,7 +20,7 @@ enable = true; tunMode = { enable = true; - # setuid = true; # Если не работает tun мод + setuid = true; # Если не работает tun мод }; }; }; diff --git a/modules/nixos/stylix.nix b/modules/nixos/stylix.nix index c9edaf9..96fe071 100644 --- a/modules/nixos/stylix.nix +++ b/modules/nixos/stylix.nix @@ -16,7 +16,7 @@ cursor = { package = pkgs.bibata-cursors; name = "Bibata-Modern-Ice"; - size = 24; # default = 32 + size = 48; # default = 32, 24 for FullHD, 48 for 4K }; fonts = { diff --git a/modules/nixos/xserver.nix b/modules/nixos/xserver.nix index aaf1534..7791411 100644 --- a/modules/nixos/xserver.nix +++ b/modules/nixos/xserver.nix @@ -28,6 +28,7 @@ services.xserver = { enable = true; + dpi = 192; # или 163–200, подбери под себя (для 27" 4K чаще всего 192) windowManager = { bspwm.enable = true; # i3.enable = true; # i3-gaps доступен в стоке в новых версиях @@ -48,6 +49,6 @@ # videoDrivers = [ "nvidia" ]; # https://nixos.wiki/wiki/Nvidia videoDrivers = [ "amdgpu" ]; # https://nixos.wiki/wiki/AMD_GPU - deviceSection = ''Option "TearFree" "True"''; + deviceSection = ''Option "TearFree" "true"''; }; } diff --git a/nixos/configuration.nix b/nixos/configuration.nix index 6321ed3..cf68401 100644 --- a/nixos/configuration.nix +++ b/nixos/configuration.nix @@ -24,6 +24,12 @@ in { }; }; + environment.variables = { + QT_SCALE_FACTOR = "2"; + STEAM_FORCE_DESKTOPUI_SCALING = "2"; + # GDK_SCALE = "2"; + }; + # Define a user account. Don't forget to set a password with ‘passwd’. users = { defaultUserShell = pkgs.zsh; @@ -31,7 +37,7 @@ in { users.${username} = { isNormalUser = true; description = username; - extraGroups = [ "networkmanager" "wheel" "input" "libvirtd" "storage" "docker" "video" ]; + extraGroups = [ "networkmanager" "wheel" "input" "libvirtd" "storage" "docker" "video" "render" ]; }; }; diff --git a/nixos/packages.nix b/nixos/packages.nix index 5e89b83..8ce73e2 100644 --- a/nixos/packages.nix +++ b/nixos/packages.nix @@ -153,6 +153,7 @@ ruff # Linter # C/C++ + gcc clang-tools # Clangd? LSP # Rust @@ -297,7 +298,8 @@ ## GUI ## ######### - ksnip # Скрины. Аналог - Flameshot + # ksnip # Скрины. Аналог - Flameshot + flameshot # kdePackages.ark # Архиватор от KDE file-roller # Архиватор от gnome qbittorrent # Торренты качать @@ -315,7 +317,7 @@ librewolf firefox chromium - ungoogled-chromium + floorp-bin ########## ## Docs ## @@ -382,15 +384,16 @@ spek # Спектрограмма аудио mpv # Смотреть видео qview # Смотреть картинки. Умеет открывать всё, включая анимированный webp и avif + feh ############ ## Social ## ############ - (pkgs2.discord.override { - withVencord = true; - }) - # pkgs2.discord + # (pkgs2.discord.override { + # withVencord = true; + # }) + pkgs2.discord pkgs2.vesktop pkgs2.telegram-desktop @@ -418,7 +421,7 @@ # inputs.affinity-nix.packages.${pkgs.system}.v3 # Бесплатная замена photoshop через wine krita # Рисовать davinci-resolve # Рендер видео. Проприетарное, бесплатная версия - blender-hip # 3д графика и рендер видео + blender # 3д графика и рендер видео gcolor3 # GUI color picker xcolor # CLI color picker https://github.com/Soft/xcolor