From 60dd39fe7e6dc818f0e365bed273f68bccb606c4 Mon Sep 17 00:00:00 2001 From: Buliway Date: Mon, 9 Sep 2024 06:13:22 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9D=D0=B5=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=B0=D0=B5=D1=82=20polybar,=20btop=20gpu,=20thunar?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 16 ++-------------- modules/home-manager/wm/bspwm/bspwm.nix | 19 ------------------- modules/home-manager/wm/polybar.nix | 11 +++++++---- modules/home-manager/wm/sxhkd.nix | 4 ++-- modules/nixos/virtualisation.nix | 2 +- nixos/home.nix | 21 ++++++++++++++++++--- nixos/packages.nix | 14 +++++++++++--- 7 files changed, 41 insertions(+), 46 deletions(-) diff --git a/README.md b/README.md index d989b44..82fda48 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,6 @@ - [Другие README файлы в этих дотсах](#другие-readme-файлы-в-этих-дотсах) - [Проблемы](#проблемы) - [TODO](#todo) -- [bspwm или i3](#bspwm-или-i3) - [Описание](#описание) - [Нюансы с JetBrains Toolbox](#нюансы-с-jetbrains-toolbox) - [Настройки для игр](#настройки-для-игр) @@ -141,18 +140,6 @@ - i3 с его экосистемой софта. Чтоб тот же polybar был лишь на bspwm, а на i3 работал i3bar - Sway. Мб сделать через ags -## bspwm или i3 - -Изначально я написал конфиги для `bspwm` + `polybar`. Но так как оба эти проги созданы далбаёбами бездарными, я переехал на `i3` + `i3bar`. Если хочешь затестить `bspwm`, то закомментируй эти строки в `modules/home-manager/bundle.nix`: -- `./wm/i3.nix` -И раскомментируй эти строки в том же файле: -- `./wm/bspwm/bspwm.nix` -- `./wm/lockscreen.nix` -- `./wm/polybar.nix` -- `./wm/sxhkd.nix` - -В теории можно сделать так, чтоб оба работали из коробки. Для этого надо тот же `polybar` и `sxhkd` скачать не как сервис, а как пакет. Чтоб он не был в автозапуске. А конфиги сделать симлинком, а не в nix синтаксисе. Запускать через `bspwm` конфиг, чтоб на `i3` не стартовало. Но я не хочу с этим ебаться ради бездарного кала, который не может делать элементарные вещи по типу отображение floating окон поверх tiling. - ## Описание Железо, на котором это работает: @@ -164,6 +151,8 @@ Основное набор софта +Изначально я написал конфиги для `bspwm` + `polybar`. Но так как оба эти проги созданы далбаёбами бездарными, я переехал на `i3` + `i3bar`. В теории между ними можно переключаться при запуске пк, так что проблем быть не должно. + | Software | Name | | ------------ | -------------------------------- | | WM | bspwm/i3 | @@ -330,7 +319,6 @@ sudo nixos-rebuild switch - Изменить настройки звука в `modules/nixos/sound.nix`. Там надо закомментировать `default.clock.allowed-rates` с кучей разных частот. Они сделаны для моего цапа, но у большинства людей это может вызвать ошибки. Те, кто знают что это и зачем, те изменят под себя. - Закомментировать/удалить `./symlinks.nix` в файле `modules/home-manager/bundle.nix`. Там написаны симлинки для второго ссд, где я бекаплю браузер и тд. Ребилд выдаст ошибку, если другой человек попробует использовать этот же конфиг. - Закомментировать/удалить `./filesystems.nix` в файле `modules/nixos/bundle.nix`. Там монтируется мой второй ссд для бекапов. Ребилд выдаст ошибку, если другой человек попробует использовать этот же конфиг. -- Если хочешь `bspwm`, а не `i3`, то читай [bspwm или i3](#bspwm-или-i3) С гитом есть нюанс. Если захочешь потом создать свои конфиги или добавить новые файлы, на которые надо ссылаться из nix, то надо указывать либо полный путь до файла, либо добавлять файл в гит. Если указывать относительный путь, как сделано в моих `bundle.nix`, то все эти файлы должны находиться в гите, либо каталог дотсов должен быть без гита вовсе. Если в каталоге дотсов инициализирован репозиторий гита, то в относительных путях он не видит файлы из `gitignore` или просто не отслеживаемые гитом файлы. diff --git a/modules/home-manager/wm/bspwm/bspwm.nix b/modules/home-manager/wm/bspwm/bspwm.nix index 3307d99..150ebac 100644 --- a/modules/home-manager/wm/bspwm/bspwm.nix +++ b/modules/home-manager/wm/bspwm/bspwm.nix @@ -45,21 +45,18 @@ }; floating1200x800 = { state = "floating"; - # layer = "above"; center = true; focus = true; rectangle = "1200x800+0+0"; }; floating900x600 = { state = "floating"; - # layer = "above"; center = true; focus = true; rectangle = "900x600+0+0"; }; floating = { state = "floating"; - # layer = "above"; }; in { # А тут правила окон # "Polybar" = { layer = "below"; }; @@ -126,20 +123,4 @@ pointer_action3 = "resize_corner"; }; }; - - gtk = lib.mkIf (pkgs.stdenv.hostPlatform.isLinux) { - # enable = true; - iconTheme = { - name = "Gruvbox-Plus-Dark"; # Имя каталога в /usr/share/icons/ - package = pkgs.gruvbox-plus-icons; # Пакет иконок - }; - }; - - stylix = { # Выключить стили у конкретного таргета походу можно лишь в home-manager - targets = { - vscode.enable = false; # Руками ставлю. Не нравится stylix вариант - firefox.enable = false; # Руками ставлю и бекаплю каталог браузера - # lightdm.enable = false; # Не хочу обои в lightdm (в сурсе есть, но не билдит, мать ебал) - }; - }; } \ No newline at end of file diff --git a/modules/home-manager/wm/polybar.nix b/modules/home-manager/wm/polybar.nix index 4df3e68..c53dc8f 100644 --- a/modules/home-manager/wm/polybar.nix +++ b/modules/home-manager/wm/polybar.nix @@ -21,8 +21,10 @@ # double-click-middle # double-click-right -{ pkgs, config, ... }: { # Статус бар внизу - home.package = [ sxhkd ]; +{ pkgs, config, ... }: let + rofiTheme = "${config.home.homeDirectory}/.config/rofi/launcher.rasi"; +in { # Статус бар внизу + home.packages = with pkgs; [ sxhkd ]; xdg.configFile."polybar/config.ini" = { # executable = true; @@ -219,6 +221,7 @@ font-158=Noto Sans Vithkuqi:size=12;3 font-159=Noto Sans Wancho:size=12;3 font-160=Noto Sans Yi:size=12;3 + font-160=Unifont:style=Regular:size=12;3 [module/alsa] type=internal/alsa @@ -293,12 +296,12 @@ [module/rofi] type=custom/text - click-left=exec rofi -show drun -show-icons + click-left=exec rofi -show drun -show-icons -theme ${rofiTheme} label=" " [module/power] type=custom/text - click-left=exec rofi -show powermenu -modi powermenu:${pkgs.rofi-power-menu}/bin/rofi-power-menu + click-left=exec rofi -show powermenu -modi powermenu:${pkgs.rofi-power-menu}/bin/rofi-power-menu -theme ${rofiTheme} label=" " [module/time] diff --git a/modules/home-manager/wm/sxhkd.nix b/modules/home-manager/wm/sxhkd.nix index 3a51cc5..e8b2c2a 100644 --- a/modules/home-manager/wm/sxhkd.nix +++ b/modules/home-manager/wm/sxhkd.nix @@ -14,9 +14,9 @@ terminalFirst = "alacritty"; terminalSecond = "kitty"; - rofiDir = "${config.home.homeDirectory}/.config/rofi" + rofiDir = "${config.home.homeDirectory}/.config/rofi"; in { - home.package = [ sxhkd ]; + home.packages = with pkgs; [ sxhkd ]; xdg.configFile."sxhkd/sxhkdrc" = { # executable = true; diff --git a/modules/nixos/virtualisation.nix b/modules/nixos/virtualisation.nix index 1ab688a..409600b 100644 --- a/modules/nixos/virtualisation.nix +++ b/modules/nixos/virtualisation.nix @@ -2,7 +2,7 @@ virtualisation = { # podman.enable = true; - # waydroid.enable = true; + waydroid.enable = true; # docker = { # enable = true; diff --git a/nixos/home.nix b/nixos/home.nix index 92c53fb..9a8d5df 100644 --- a/nixos/home.nix +++ b/nixos/home.nix @@ -1,4 +1,4 @@ -{ config, pkgs, inputs, ... }: { +{ config, pkgs, inputs, lib, ... }: { # Let Home Manager install and manage itself. programs.home-manager.enable = true; @@ -33,11 +33,26 @@ stateVersion = "24.05"; # Don't change it }; + gtk = lib.mkIf (pkgs.stdenv.hostPlatform.isLinux) { + # enable = true; + iconTheme = { + name = "Gruvbox-Plus-Dark"; # Имя каталога в /usr/share/icons/ + package = pkgs.gruvbox-plus-icons; # Пакет иконок + }; + }; + + stylix = { # Выключить стили у конкретного таргета походу можно лишь в home-manager + targets = { + vscode.enable = false; # Руками ставлю. Не нравится stylix вариант + firefox.enable = false; # Руками ставлю и бекаплю каталог браузера + # lightdm.enable = false; # Не хочу обои в lightdm (в сурсе есть настройка, но не билдит, мать ебал) + }; + }; + ############################################## ## Ниже включаю проги для Stylix ## - ## Ебаные пидарасы могут редачить grub, ## + ## Ебаные дауны могут редачить grub, ## ## но не могут редачить ебаный обычный софт ## - ## Блять как я вас ненавижу, хуесосы ## ############################################## # programs = { diff --git a/nixos/packages.nix b/nixos/packages.nix index 9176ccd..ae4891a 100644 --- a/nixos/packages.nix +++ b/nixos/packages.nix @@ -38,11 +38,17 @@ services = { gvfs.enable = true; # Mount, trash, and other functionalities for Thunar file manager tumbler.enable = true; # Thumbnail support for Thunar file manager - unclutter.enable = true; # Enable unclutter to hide your mouse cursor when inactive + # unclutter.enable = true; # Enable unclutter to hide your mouse cursor when inactive # fwupd.enable = true; # DBus service that allows applications to update firmware # greenclip.enable = true; # https://github.com/erebe/greenclip (использую clipmenu вместо этого) # fstrim.enable = true; # Чистит ssd для норм производительности. Пока не пользуюсь # archisteamfarm = {}; # Фарм карточек стима афк. Простро раскомментить мало, надо настроить + + # Для запуска wayland приложений на x11. Мне для waydroid надо + cage = { + enable = true; + user = "buliway"; + }; }; programs = { @@ -107,6 +113,7 @@ rustup # Управление версиями языка Rust nil # Nix language server hugo # Для моего блога + python3 # Питухон ласт версии ############ ## Архивы ## @@ -127,7 +134,6 @@ wget curl git - python xclip # Для работы буфера обмена ffmpeg_7 # Обработка видео. Нужен всегда и везде imagemagick # Обработка изображений. Мб тоже нужен всегда @@ -147,8 +153,9 @@ tokei # Показывает количество строк кода на разных языках внутри каталога pass # Менеджер паролей в терминале btop # Монитор ресурсов в терминале + rocmPackages.rocm-smi # Чтоб в btop было gpu yt-dlp # Скачивать и смотреть медиа с разных сайтов - tasktimer # TUI task timer. Можно несколько таймеров с описанием запустить + tasktimer # TUI task timer. Можно несколько таймеров с описанием запустить. В терминал tt timer # A "sleep" with progress. Таймер на пельмени "timer 5m" libqalculate # Advanced calculator library fastfetch # Пишешь в теримнал и кидаешь всем со словами I use nixos btw @@ -354,6 +361,7 @@ libsecret # Хранить и получать аккаунты у приложений. Например для jetbrains toolbox alsa-utils # Мне для команды amixer надо pamixer # PulseAudio cli (громкость редачу) + weston # Для запуска wayland only apps на x11 (ещё есть cage, на тесты ставлю оба) # lxqt.lxqt-policykit # Меню для воода пароля при запуске с правами админа. Пока юзаю от гнома ];