4k monitor + fix xdg portal
This commit is contained in:
parent
1a3bd7a855
commit
0f7b71c92b
12 changed files with 105 additions and 75 deletions
2
NOTES.md
2
NOTES.md
|
|
@ -27,7 +27,7 @@
|
|||
- GPU: AMD RX6600
|
||||
- RAM: 32gb (2x16) ddr4 3200
|
||||
- Motherboard: MSI Z590-A PRO
|
||||
- Два монитора 1920x1080 на 165 и 100 герц
|
||||
- Один монитор 4к на 160 герц
|
||||
|
||||
Основной набор софта
|
||||
|
||||
|
|
|
|||
24
flake.lock
generated
24
flake.lock
generated
|
|
@ -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": {
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
@ -21,13 +24,14 @@
|
|||
|
||||
startupPrograms = [
|
||||
# "lxqt-policykit-agent" # Заменил на гномовский
|
||||
"sxhkd"
|
||||
"sxhkd -m 2"
|
||||
"feh --bg-fill /home/buliway/nixos-private-dots/modules/nixos/nix-glow-gruvbox.jpg"
|
||||
"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"
|
||||
];
|
||||
|
||||
|
|
@ -39,23 +43,19 @@
|
|||
};
|
||||
|
||||
rules = let # Это переменные
|
||||
floating1600x900 = {
|
||||
state = "floating";
|
||||
center = true;
|
||||
focus = true;
|
||||
rectangle = "1600x900+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";
|
||||
|
|
@ -64,7 +64,7 @@
|
|||
# "Screenkey" = { manage = false; };
|
||||
# "Screenkey" = floating;
|
||||
"gcolor3" = floating;
|
||||
"obs" = floating;
|
||||
# "obs" = floating;
|
||||
"steam" = floating;
|
||||
"steam:steamwebhelper:Steam" = { state = "tiled"; };
|
||||
"krita:krita:Krita - Edit Text" = floating;
|
||||
|
|
@ -75,7 +75,6 @@
|
|||
"Kvantum Manager" = floating;
|
||||
"qt5ct" = floating;
|
||||
"qt6ct" = floating;
|
||||
"ksnip" = floating1600x900;
|
||||
"file-roller" = floating;
|
||||
"floating-terminal" = floating1200x800;
|
||||
"pavucontrol" = floating900x600;
|
||||
|
|
|
|||
|
|
@ -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 ##
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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 "$@"
|
||||
}
|
||||
'';
|
||||
};
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@
|
|||
enable = true;
|
||||
tunMode = {
|
||||
enable = true;
|
||||
# setuid = true; # Если не работает tun мод
|
||||
setuid = true; # Если не работает tun мод
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -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 = {
|
||||
|
|
|
|||
|
|
@ -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"'';
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,6 +24,17 @@ in {
|
|||
};
|
||||
};
|
||||
|
||||
# У GTK прикол есть. Часть приложения читает xserver dpi и увеличивает интерфейс
|
||||
# Часть приложений смотрит только на переменную GDK_SCALE, из-за чего переменная становится обязательной
|
||||
# Но указание этой переменной ломает те приложения, которые читают xserver dpi, скейл выходит x4
|
||||
# Для фикса есть переменная, которая делит xserver dpi на два, то есть 0.5
|
||||
# Чтоб приложения, которые читают xserver dpi, не ломались
|
||||
environment.variables = {
|
||||
QT_SCALE_FACTOR = "2";
|
||||
GDK_SCALE = "2"; # Обязателен на GTK4, но ломает все GTK3 и ниже, фикс ниже
|
||||
GDK_DPI_SCALE = "0.5"; # Kомпенсатор, если текст/элементы слишком огромные
|
||||
};
|
||||
|
||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||
users = {
|
||||
defaultUserShell = pkgs.zsh;
|
||||
|
|
@ -31,7 +42,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" ];
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue