4k monitor + fix xdg portal

This commit is contained in:
Buliway 2026-02-07 07:50:34 +03:00
parent 1a3bd7a855
commit cfa2db3267
12 changed files with 99 additions and 67 deletions

View file

@ -27,7 +27,7 @@
- GPU: AMD RX6600 - GPU: AMD RX6600
- RAM: 32gb (2x16) ddr4 3200 - RAM: 32gb (2x16) ddr4 3200
- Motherboard: MSI Z590-A PRO - Motherboard: MSI Z590-A PRO
- Два монитора 1920x1080 на 165 и 100 герц - Один монитор 4к на 160 герц
Основной набор софта Основной набор софта

24
flake.lock generated
View file

@ -147,11 +147,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1768770171, "lastModified": 1769813945,
"narHash": "sha256-JPmLGZgdWa8QcQbbtBqyZhpmxIHZ3lUO48laERjw+4k=", "narHash": "sha256-9ABv9Lo9t6MrFjlnRnU8Zw1C6LVj2+R8PipQ/rxGLHk=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "521d5ea1a229ba315dd1cceaf869946ddcc83d36", "rev": "475921375def3eb930e1f8883f619ff8609accb6",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -162,11 +162,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1768564909, "lastModified": 1769461804,
"narHash": "sha256-Kell/SpJYVkHWMvnhqJz/8DqQg2b6PguxVWOuadbHCc=", "narHash": "sha256-msG8SU5WsBUfVVa/9RPLaymvi5bI8edTavbIq3vRlhI=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "e4bae1bd10c9c57b2cf517953ab70060a828ee6f", "rev": "bfc1b8a4574108ceef22f02bafcf6611380c100d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -194,11 +194,11 @@
}, },
"nixpkgs2": { "nixpkgs2": {
"locked": { "locked": {
"lastModified": 1768564909, "lastModified": 1769461804,
"narHash": "sha256-Kell/SpJYVkHWMvnhqJz/8DqQg2b6PguxVWOuadbHCc=", "narHash": "sha256-msG8SU5WsBUfVVa/9RPLaymvi5bI8edTavbIq3vRlhI=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "e4bae1bd10c9c57b2cf517953ab70060a828ee6f", "rev": "bfc1b8a4574108ceef22f02bafcf6611380c100d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -263,11 +263,11 @@
"tinted-zed": "tinted-zed" "tinted-zed": "tinted-zed"
}, },
"locked": { "locked": {
"lastModified": 1768744881, "lastModified": 1769819994,
"narHash": "sha256-3+h7OxqfrPIB/tRsiZXWE9sCbTm7NQN5Ie428p+S6BA=", "narHash": "sha256-AJB2hcg1OgocLGuVdot9HyCD+Kv+a6znhY2i3XqcZYU=",
"owner": "nix-community", "owner": "nix-community",
"repo": "stylix", "repo": "stylix",
"rev": "06684f00cfbee14da96fd4307b966884de272d3a", "rev": "8b14679c0e1570b0e137f0f7997717be0fdf2cf2",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -7,9 +7,12 @@
# Как я понял, эти команды выполняются в начале bspwmrc # Как я понял, эти команды выполняются в начале bspwmrc
# Ниже настройки для основного монитора. Мб вместе с --primary надо # Ниже настройки для основного монитора. Мб вместе с --primary надо
# И настройки для второго (правого) монитора # И настройки для второго (правого) монитора
# extraConfigEarly = ''
# xrandr --output DisplayPort-2 --mode 1920x1080 --rate 165
# xrandr --output HDMI-A-0 --mode 1920x1080 --rate 60 --right-of DisplayPort-2
# '';
extraConfigEarly = '' extraConfigEarly = ''
xrandr --output DisplayPort-2 --mode 1920x1080 --rate 165 xrandr --output DP-3 --mode 3840x2160 --rate 160
xrandr --output HDMI-A-0 --mode 1920x1080 --rate 60 --right-of DisplayPort-2
''; '';
# Эти команды выполняются в конце bspwmrc # Эти команды выполняются в конце bspwmrc
@ -24,10 +27,10 @@
"sxhkd" "sxhkd"
"nm-applet" # Нетворк манагер "nm-applet" # Нетворк манагер
# "blueman-applet" # Блютуз в трее # "blueman-applet" # Блютуз в трее
"ksnip" # "ksnip"
"xset s off -dpms" # Отменить затухание экрана через X минут "xset s off -dpms" # Отменить затухание экрана через X минут
"spice-vdagent" # Для виртуалки "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" "systemctl --user restart xdg-desktop-portal xdg-desktop-portal-gtk"
]; ];
@ -43,19 +46,22 @@
state = "floating"; state = "floating";
center = true; center = true;
focus = true; focus = true;
rectangle = "1600x900+0+0"; # rectangle = "1600x900+0+0";
rectangle = "3200x1800+0+0";
}; };
floating1200x800 = { floating1200x800 = {
state = "floating"; state = "floating";
center = true; center = true;
focus = true; focus = true;
rectangle = "1200x800+0+0"; # rectangle = "1200x800+0+0";
rectangle = "2400x1600+0+0";
}; };
floating900x600 = { floating900x600 = {
state = "floating"; state = "floating";
center = true; center = true;
focus = true; focus = true;
rectangle = "900x600+0+0"; # rectangle = "900x600+0+0";
rectangle = "1800x1200+0+0";
}; };
floating = { floating = {
state = "floating"; state = "floating";

View file

@ -18,17 +18,22 @@
rofiDir = "${config.home.homeDirectory}/.config/rofi"; rofiDir = "${config.home.homeDirectory}/.config/rofi";
in { in {
home.packages = with pkgs; [ sxhkd ]; home.packages = with pkgs; [ sxhkd ];
services.sxhkd = {
enable = true;
extraOptions = [ "-m" "-2" ]; # Игнор 2 lock-модов (NumLock + CapsLock)
# };
xdg.configFile."sxhkd/sxhkdrc" = { # xdg.configFile."sxhkd/sxhkdrc" = {
# executable = true; # # executable = true;
text = '' # text = ''
extraConfig = ''
######################################################### #########################################################
## bspwm (описание параметров есть в файле "bspwm.md") ## ## bspwm (описание параметров есть в файле "bspwm.md") ##
######################################################### #########################################################
# Make sxhkd reload its config files # Make sxhkd reload its config files
super + shift + ctrl + r super + shift + ctrl + r
pkill -USR1 -x sxhkd; dunstify "t2" -a "󰑓 Sxhkd reloaded" pkill -USR1 -x sxhkd; dunstify "󰑓 Sxhkd reloaded"
# Quit/Restart bspwm # Quit/Restart bspwm
super + shift + ctrl + alt + {q,r} super + shift + ctrl + alt + {q,r}
@ -122,11 +127,11 @@ in {
# Applications. Запускатор софта # Applications. Запускатор софта
super + a 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%`. # Calculator имбовый. Можно даже написать `5600 USD to BTC` или `500 + 25%`.
super + c 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 # Passwords. Пароли из утилиты pass
super + p super + p
@ -134,15 +139,15 @@ in {
# История буфера обмена. Как ctrl+v, но через win. # История буфера обмена. Как ctrl+v, но через win.
super + v super + v
clipmenu clipmenu -dpi 192
# Как alt+tab, переключение окон. На нужный воркспейс само перекинет # Как alt+tab, переключение окон. На нужный воркспейс само перекинет
super + Tab super + Tab
rofi -show window -theme ${rofiDir}/launcher.rasi rofi -dpi 192 -show window -theme ${rofiDir}/launcher.rasi
# PowerMenu. Выключение пк # PowerMenu. Выключение пк
super + BackSpace 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 # Timer. Думаю сделать через утилиту timer
# super + alt + t # super + alt + t
@ -184,6 +189,17 @@ in {
super + ctrl + c super + ctrl + c
xcolor -s -f rgb xcolor -s -f rgb
# Select region
Print
flameshot gui
# Active monitor
Print + ctrl
flameshot screen
# All monitors
Print + alt
flameshot full
############## ##############
## terminal ## ## terminal ##

View file

@ -46,7 +46,7 @@ window {
location: center; location: center;
anchor: center; anchor: center;
fullscreen: false; fullscreen: false;
width: 800px; width: 1600px;
x-offset: 0px; x-offset: 0px;
y-offset: 0px; y-offset: 0px;
@ -54,7 +54,7 @@ window {
enabled: true; enabled: true;
margin: 0px; margin: 0px;
padding: 0px; padding: 0px;
border: 1px solid; border: 2px solid;
border-radius: 0px; border-radius: 0px;
border-color: @border-colour; border-color: @border-colour;
cursor: "default"; cursor: "default";
@ -64,9 +64,9 @@ window {
/*****----- Main Box -----*****/ /*****----- Main Box -----*****/
mainbox { mainbox {
enabled: true; enabled: true;
spacing: 10px; spacing: 20px;
margin: 0px; margin: 0px;
padding: 30px; padding: 60px;
border: 0px solid; border: 0px solid;
border-radius: 0px 0px 0px 0px; border-radius: 0px 0px 0px 0px;
border-color: @border-colour; border-color: @border-colour;
@ -77,9 +77,9 @@ mainbox {
/*****----- Inputbar -----*****/ /*****----- Inputbar -----*****/
inputbar { inputbar {
enabled: true; enabled: true;
spacing: 10px; spacing: 20px;
margin: 0px; margin: 0px;
padding: 0px 0px 10px 10px; padding: 0px 0px 20px 20px;
border: 0px; border: 0px;
border-radius: 0px; border-radius: 0px;
border-color: @border-colour; border-color: @border-colour;
@ -133,7 +133,7 @@ listview {
cursor: "default"; cursor: "default";
} }
scrollbar { scrollbar {
handle-width: 5px ; handle-width: 10px ;
handle-color: @handle-colour; handle-color: @handle-colour;
border-radius: 0px; border-radius: 0px;
background-color: @alternate-background; background-color: @alternate-background;
@ -142,9 +142,9 @@ scrollbar {
/*****----- Elements -----*****/ /*****----- Elements -----*****/
element { element {
enabled: true; enabled: true;
spacing: 10px; spacing: 20px;
margin: 0px; margin: 0px;
padding: 5px; padding: 10px;
border: 0px solid; border: 0px solid;
border-radius: 0px; border-radius: 0px;
border-color: @border-colour; border-color: @border-colour;
@ -191,7 +191,7 @@ element alternate.active {
element-icon { element-icon {
background-color: transparent; background-color: transparent;
text-color: inherit; text-color: inherit;
size: 24px; size: 48px;
cursor: inherit; cursor: inherit;
} }
element-text { element-text {
@ -206,7 +206,7 @@ element-text {
/*****----- Mode Switcher -----*****/ /*****----- Mode Switcher -----*****/
mode-switcher{ mode-switcher{
enabled: true; enabled: true;
spacing: 10px; spacing: 20px;
margin: 0px; margin: 0px;
padding: 0px; padding: 0px;
border: 0px solid; border: 0px solid;
@ -216,7 +216,7 @@ mode-switcher{
text-color: @foreground-colour; text-color: @foreground-colour;
} }
button { button {
padding: 10px; padding: 20px;
border: 0px solid; border: 0px solid;
border-radius: 0px; border-radius: 0px;
border-color: @border-colour; border-color: @border-colour;
@ -241,7 +241,7 @@ message {
text-color: @foreground-colour; text-color: @foreground-colour;
} }
textbox { textbox {
padding: 10px; padding: 20px;
border: 0px solid; border: 0px solid;
border-radius: 0px; border-radius: 0px;
border-color: @border-colour; border-color: @border-colour;
@ -255,7 +255,7 @@ textbox {
markup: true; markup: true;
} }
error-message { error-message {
padding: 10px; padding: 20px;
border: 0px solid; border: 0px solid;
border-radius: 0px; border-radius: 0px;
border-color: @border-colour; border-color: @border-colour;

View file

@ -13,7 +13,7 @@ window {
location: center; location: center;
anchor: center; anchor: center;
fullscreen: false; fullscreen: false;
width: 350px; width: 700px;
x-offset: 0px; x-offset: 0px;
y-offset: 0px; y-offset: 0px;
@ -21,7 +21,7 @@ window {
enabled: true; enabled: true;
margin: 0px; margin: 0px;
padding: 0px; padding: 0px;
border: 1px solid; border: 2px solid;
border-radius: 0px; border-radius: 0px;
border-color: @selected; border-color: @selected;
cursor: "default"; cursor: "default";
@ -31,9 +31,9 @@ window {
/*****----- Main Box -----*****/ /*****----- Main Box -----*****/
mainbox { mainbox {
enabled: true; enabled: true;
spacing: 8px; spacing: 16px;
margin: 0px; margin: 0px;
padding: 8px; padding: 16px;
border: 0px solid; border: 0px solid;
border-radius: 0px; border-radius: 0px;
border-color: @selected; border-color: @selected;
@ -44,7 +44,7 @@ mainbox {
/*****----- Inputbar -----*****/ /*****----- Inputbar -----*****/
inputbar { inputbar {
enabled: true; enabled: true;
spacing: 8px; spacing: 16px;
margin: 0px; margin: 0px;
padding: 0px; padding: 0px;
border: 0px; border: 0px;
@ -59,14 +59,14 @@ textbox-prompt-colon {
enabled: true; enabled: true;
expand: false; expand: false;
str: ""; str: "";
padding: 8px 12px; padding: 16px 24px;
border-radius: 0px; border-radius: 0px;
background-color: @urgent; background-color: @urgent;
text-color: @background; text-color: @background;
} }
prompt { prompt {
enabled: true; enabled: true;
padding: 8px; padding: 16px;
border-radius: 0px; border-radius: 0px;
background-color: @active; background-color: @active;
text-color: @background; text-color: @background;
@ -76,7 +76,7 @@ prompt {
message { message {
enabled: true; enabled: true;
margin: 0px; margin: 0px;
padding: 8px; padding: 16px;
border: 0px solid; border: 0px solid;
border-radius: 0px; border-radius: 0px;
border-color: @selected; border-color: @selected;
@ -93,7 +93,7 @@ textbox {
markup: true; markup: true;
} }
error-message { error-message {
padding: 8px; padding: 16px;
border: 0px solid; border: 0px solid;
border-radius: 0px; border-radius: 0px;
border-color: @selected; border-color: @selected;
@ -114,7 +114,7 @@ listview {
fixed-height: true; fixed-height: true;
fixed-columns: true; fixed-columns: true;
spacing: 5px; spacing: 10px;
margin: 0px; margin: 0px;
padding: 0px; padding: 0px;
border: 0px solid; border: 0px solid;
@ -130,7 +130,7 @@ element {
enabled: true; enabled: true;
spacing: 0px; spacing: 0px;
margin: 0px; margin: 0px;
padding: 8px; padding: 16px;
border: 0px solid; border: 0px solid;
border-radius: 0px; border-radius: 0px;
border-color: @selected; border-color: @selected;

View file

@ -18,7 +18,7 @@
enable = true; # https://github.com/carnager/rofi-pass enable = true; # https://github.com/carnager/rofi-pass
extraConfig = '' extraConfig = ''
_rofi () { _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 "$@"
} }
''; '';
}; };

View file

@ -20,7 +20,7 @@
enable = true; enable = true;
tunMode = { tunMode = {
enable = true; enable = true;
# setuid = true; # Если не работает tun мод setuid = true; # Если не работает tun мод
}; };
}; };
}; };

View file

@ -16,7 +16,7 @@
cursor = { cursor = {
package = pkgs.bibata-cursors; package = pkgs.bibata-cursors;
name = "Bibata-Modern-Ice"; name = "Bibata-Modern-Ice";
size = 24; # default = 32 size = 48; # default = 32, 24 for FullHD, 48 for 4K
}; };
fonts = { fonts = {

View file

@ -28,6 +28,7 @@
services.xserver = { services.xserver = {
enable = true; enable = true;
dpi = 192; # или 163200, подбери под себя (для 27" 4K чаще всего 192)
windowManager = { windowManager = {
bspwm.enable = true; bspwm.enable = true;
# i3.enable = true; # i3-gaps доступен в стоке в новых версиях # i3.enable = true; # i3-gaps доступен в стоке в новых версиях
@ -48,6 +49,6 @@
# videoDrivers = [ "nvidia" ]; # https://nixos.wiki/wiki/Nvidia # videoDrivers = [ "nvidia" ]; # https://nixos.wiki/wiki/Nvidia
videoDrivers = [ "amdgpu" ]; # https://nixos.wiki/wiki/AMD_GPU videoDrivers = [ "amdgpu" ]; # https://nixos.wiki/wiki/AMD_GPU
deviceSection = ''Option "TearFree" "True"''; deviceSection = ''Option "TearFree" "true"'';
}; };
} }

View file

@ -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. # Define a user account. Don't forget to set a password with passwd.
users = { users = {
defaultUserShell = pkgs.zsh; defaultUserShell = pkgs.zsh;
@ -31,7 +37,7 @@ in {
users.${username} = { users.${username} = {
isNormalUser = true; isNormalUser = true;
description = username; description = username;
extraGroups = [ "networkmanager" "wheel" "input" "libvirtd" "storage" "docker" "video" ]; extraGroups = [ "networkmanager" "wheel" "input" "libvirtd" "storage" "docker" "video" "render" ];
}; };
}; };

View file

@ -153,6 +153,7 @@
ruff # Linter ruff # Linter
# C/C++ # C/C++
gcc
clang-tools # Clangd? LSP clang-tools # Clangd? LSP
# Rust # Rust
@ -297,7 +298,8 @@
## GUI ## ## GUI ##
######### #########
ksnip # Скрины. Аналог - Flameshot # ksnip # Скрины. Аналог - Flameshot
flameshot
# kdePackages.ark # Архиватор от KDE # kdePackages.ark # Архиватор от KDE
file-roller # Архиватор от gnome file-roller # Архиватор от gnome
qbittorrent # Торренты качать qbittorrent # Торренты качать
@ -315,7 +317,7 @@
librewolf librewolf
firefox firefox
chromium chromium
ungoogled-chromium floorp-bin
########## ##########
## Docs ## ## Docs ##
@ -382,15 +384,16 @@
spek # Спектрограмма аудио spek # Спектрограмма аудио
mpv # Смотреть видео mpv # Смотреть видео
qview # Смотреть картинки. Умеет открывать всё, включая анимированный webp и avif qview # Смотреть картинки. Умеет открывать всё, включая анимированный webp и avif
feh
############ ############
## Social ## ## Social ##
############ ############
(pkgs2.discord.override { # (pkgs2.discord.override {
withVencord = true; # withVencord = true;
}) # })
# pkgs2.discord pkgs2.discord
pkgs2.vesktop pkgs2.vesktop
pkgs2.telegram-desktop pkgs2.telegram-desktop
@ -418,7 +421,7 @@
# inputs.affinity-nix.packages.${pkgs.system}.v3 # Бесплатная замена photoshop через wine # inputs.affinity-nix.packages.${pkgs.system}.v3 # Бесплатная замена photoshop через wine
krita # Рисовать krita # Рисовать
davinci-resolve # Рендер видео. Проприетарное, бесплатная версия davinci-resolve # Рендер видео. Проприетарное, бесплатная версия
blender-hip # 3д графика и рендер видео blender # 3д графика и рендер видео
gcolor3 # GUI color picker gcolor3 # GUI color picker
xcolor # CLI color picker https://github.com/Soft/xcolor xcolor # CLI color picker https://github.com/Soft/xcolor