commit 03ece8bf31829fa44394ac6fc9400584c8ed9816 Author: chase Date: Mon Apr 27 17:06:02 2026 +0300 push diff --git a/README.md b/README.md new file mode 100644 index 0000000..c2091f1 --- /dev/null +++ b/README.md @@ -0,0 +1,292 @@ +# Ubuntu KDE Design Config + +Полная конфигурация дизайна Ubuntu с KDE Plasma (Wayland). +Тема: **Catppuccin Mocha Mauve** — тёмная с фиолетовыми акцентами. + +--- + +## Структура + +``` +cfg-design-for-ubuntu/ +├── sddm/ — экран входа (SDDM) +├── kde/ — KDE Plasma (тема, цвета, окна, блокировка) +├── terminal/ +│ ├── konsole/ — эмулятор терминала Konsole +│ ├── zsh/ — ZSH конфиги для пользователя chase +│ └── zsh-root/ — ZSH конфиги для root +└── wallpapers/ — обои +``` + +--- + +## Экран входа (SDDM) + +**Тема:** Sugar Candy +**Источник:** https://github.com/Kangie/sddm-sugar-candy + +### Что установлено +```bash +# Тема Sugar Candy +git clone https://github.com/Kangie/sddm-sugar-candy /usr/share/sddm/themes/sugar-candy +``` + +### Конфиги +| Файл | Назначение | Куда класть | +|------|-----------|-------------| +| `sddm-custom.conf` | Выбор темы + отключение виртуальной клавиатуры | `/etc/sddm.conf.d/custom.conf` | +| `sugar-candy-theme.conf` | Настройки темы (цвета, blur, разрешение 1920×1080, русское приветствие) | `/usr/share/sddm/themes/sugar-candy/theme.conf` | + +### Ключевые настройки sugar-candy +- Blur + полупрозрачный фон формы по центру +- `DimBackgroundImage=0.3` — затемнение фона +- `AccentColor=#7aa2f7` — синий акцент +- `BackgroundColor=#1a1b26` — Tokyo Night тёмный фон формы +- `ForceHideVirtualKeyboardButton=true` — убрана экранная клавиатура + +--- + +## KDE Plasma + +**Глобальная тема:** Catppuccin Mocha Mauve +**Стиль виджетов:** Kvantum (catppuccin-mocha-mauve) +**Иконки:** Papirus-Dark (папки — Catppuccin Mocha Mauve) +**Декорации окон:** CatppuccinMocha-Classic (Aurorae) +**Цветовая схема:** CatppuccinMochaMauve + +### Что установлено +```bash +# Kvantum (стиль Qt-приложений) +sudo apt install qt5-style-kvantum qt5-style-kvantum-themes + +# Papirus иконки +sudo apt install papirus-icon-theme + +# Catppuccin KDE тема (look-and-feel + aurorae + цветовая схема) +git clone --depth=1 https://github.com/catppuccin/kde /tmp/catppuccin-kde +# Установка: Mocha, Mauve accent, Classic decoration +cd /tmp/catppuccin-kde && bash install.sh 1 4 2 global + +# Catppuccin Kvantum тема +git clone --depth=1 https://github.com/catppuccin/kvantum /tmp/catppuccin-kvantum +cp -r /tmp/catppuccin-kvantum/themes/catppuccin-mocha-mauve ~/.config/Kvantum/ + +# Catppuccin папки для Papirus +git clone --depth=1 https://github.com/PapirusDevelopmentTeam/papirus-folders +sudo make -C papirus-folders install +# Catppuccin иконки папок +git clone --depth=1 https://github.com/catppuccin/papirus-folders /tmp/catppuccin-papirus +# Копируем mauve папки в Papirus-Dark (все размеры: 22/24/32/48/64) +for size in 22x22 24x24 32x32 48x48 64x64; do + sudo cp /tmp/catppuccin-papirus/src/${size}/places/folder-cat-mocha-mauve*.svg \ + /usr/share/icons/Papirus-Dark/${size}/places/ + sudo cp /tmp/catppuccin-papirus/src/${size}/places/folder-cat-mocha-mauve.svg \ + /usr/share/icons/Papirus-Dark/${size}/places/folder.svg +done +sudo gtk-update-icon-cache -f /usr/share/icons/Papirus-Dark +``` + +### Конфиги +| Файл | Назначение | Куда класть | +|------|-----------|-------------| +| `kdeglobals` | Цвета, иконки, шрифты, стиль, look-and-feel | `~/.config/kdeglobals` | +| `kwinrc` | Декорации окон, эффекты blur | `~/.config/kwinrc` | +| `plasmarc` | Тема панели Plasma | `~/.config/plasmarc` | +| `ksplashrc` | Сплэш-экран при входе | `~/.config/ksplashrc` | +| `kscreenlockerrc` | Экран блокировки (тема + обои) | `~/.config/kscreenlockerrc` | +| `kcminputrc` | Тема курсора | `~/.config/kcminputrc` | +| `kvantum.kvconfig` | Активная тема Kvantum | `~/.config/Kvantum/kvantum.kvconfig` | +| `CatppuccinMochaMauve.colors` | Цветовая схема | `~/.local/share/color-schemes/CatppuccinMochaMauve.colors` | + +### Применение после копирования +```bash +plasma-apply-lookandfeel --apply "Catppuccin-Mocha-Mauve" +plasma-apply-colorscheme ~/.local/share/color-schemes/CatppuccinMochaMauve.colors +qdbus org.kde.KWin /KWin reconfigure +kbuildsycoca5 --noincremental +``` + +--- + +## Терминал + +### Konsole + +**Тема:** Catppuccin Mocha +**Шрифт:** MesloLGS NF 11pt (официальный шрифт Powerlevel10k) +**Фон:** кастомный aurora-градиент (wallpapers/terminal-bg.png) + +#### Установка шрифта MesloLGS NF +```bash +mkdir -p ~/.local/share/fonts/MesloLGS +wget "https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Regular.ttf" -O ~/.local/share/fonts/MesloLGS/"MesloLGS NF Regular.ttf" +wget "https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Bold.ttf" -O ~/.local/share/fonts/MesloLGS/"MesloLGS NF Bold.ttf" +wget "https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Italic.ttf" -O ~/.local/share/fonts/MesloLGS/"MesloLGS NF Italic.ttf" +wget "https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Bold%20Italic.ttf" -O ~/.local/share/fonts/MesloLGS/"MesloLGS NF Bold Italic.ttf" +fc-cache -fv +``` + +#### Установка Catppuccin цветовой схемы для Konsole +```bash +git clone --depth=1 https://github.com/catppuccin/konsole /tmp/catppuccin-konsole +cp /tmp/catppuccin-konsole/themes/catppuccin-mocha.colorscheme ~/.local/share/konsole/ +``` + +#### Конфиги +| Файл | Назначение | Куда класть | +|------|-----------|-------------| +| `Catppuccin.profile` | Профиль Konsole (шрифт, цвета, фон, размер окна 189×39) | `~/.local/share/konsole/Catppuccin.profile` | +| `catppuccin-mocha.colorscheme` | Цветовая схема терминала | `~/.local/share/konsole/catppuccin-mocha.colorscheme` | +| `konsolerc` | Главный конфиг Konsole (профиль по умолчанию, размер окна) | `~/.config/konsolerc` | + +#### Ключевые настройки профиля +- `BidiRenderingEnabled=false` — **обязательно**, без этого кириллица рендерится с пробелами и курсор съезжает +- `BackgroundImageOpacity=0.5` — полупрозрачный aurora-фон +- `TerminalColumns=189`, `TerminalRows=39` — размер окна + +--- + +### ZSH — пользователь chase (`terminal/zsh/`) + +**Framework:** Oh My Zsh +**Тема:** Powerlevel10k +**Иконка:** 🦊 (лисичка) + +#### Установка +```bash +# ZSH +sudo apt install zsh + +# Oh My Zsh +RUNZSH=no CHSH=no sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" + +# Powerlevel10k +git clone --depth=1 https://github.com/romkatv/powerlevel10k.git \ + ~/.oh-my-zsh/custom/themes/powerlevel10k + +# Плагины +git clone --depth=1 https://github.com/zsh-users/zsh-autosuggestions \ + ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions +git clone --depth=1 https://github.com/zsh-users/zsh-syntax-highlighting \ + ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting +git clone --depth=1 https://github.com/zsh-users/zsh-completions \ + ~/.oh-my-zsh/custom/plugins/zsh-completions +git clone --depth=1 https://github.com/Aloxaf/fzf-tab \ + ~/.oh-my-zsh/custom/plugins/fzf-tab + +# Утилиты +sudo apt install fzf bat eza + +# Сделать ZSH оболочкой по умолчанию +sudo chsh -s /usr/bin/zsh chase +``` + +#### Конфиги +| Файл | Назначение | Куда класть | +|------|-----------|-------------| +| `.zshrc` | Плагины, алиасы, FZF, цвета подсветки синтаксиса (Catppuccin) | `~/.zshrc` | +| `.p10k.zsh` | Конфиг Powerlevel10k (промпт, IP, диск, время) | `~/.p10k.zsh` | + +#### Промпт (строка 1 / строка 2) +``` +🦊 chase ~/путь ветка git ✘ 3s 10.147.15.13 17% 16:23 +❯ команда +``` + +#### Плагины и что дают +| Плагин | Что делает | +|--------|-----------| +| `zsh-autosuggestions` | Серые подсказки из истории при вводе | +| `zsh-syntax-highlighting` | Подсветка команд в цветах Catppuccin | +| `zsh-completions` | Расширенное автодополнение | +| `fzf-tab` | Fuzzy-поиск при Tab с превью | +| `z` | Быстрый переход по часто используемым папкам | +| `sudo` | Двойной ESC добавляет sudo к предыдущей команде | +| `colored-man-pages` | Цветные man-страницы | + +#### Алиасы +| Команда | Замена | +|---------|--------| +| `ls` | `eza --icons --group-directories-first` | +| `ll` | `eza -la --icons --git` | +| `lt` | `eza --tree --level=2` | +| `cat` | `bat --style=plain` | +| `update` | `sudo apt update && sudo apt upgrade -y` | + +--- + +### ZSH — root (`terminal/zsh-root/`) + +Аналогично chase, но: +- **Иконка:** 🐺 (волк) +- **Промпт char `❯`:** красный (визуальное предупреждение что ты root) +- **Директория:** оранжевый цвет вместо лавандового + +#### Установка для root +```bash +sudo RUNZSH=no CHSH=no HOME=/root sh -c \ + "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" + +sudo git clone --depth=1 https://github.com/romkatv/powerlevel10k.git \ + /root/.oh-my-zsh/custom/themes/powerlevel10k +# + все плагины аналогично chase, но в /root/.oh-my-zsh/custom/plugins/ + +sudo chsh -s /usr/bin/zsh root +``` + +#### Конфиги +| Файл | Назначение | Куда класть | +|------|-----------|-------------| +| `.zshrc` | Конфиг ZSH для root | `/root/.zshrc` | +| `.p10k.zsh` | Powerlevel10k для root (красный промпт, волк) | `/root/.p10k.zsh` | + +--- + +## Обои (`wallpapers/`) + +| Файл | Описание | +|------|---------| +| `evening-sky.png` | Обои рабочего стола — Catppuccin пейзаж. Источник: https://github.com/zhichaoh/catppuccin-wallpapers (`landscapes/evening-sky.png`) | +| `terminal-bg.png` | Фон терминала — кастомный aurora-градиент в цветах Catppuccin Mocha (сгенерирован через Python/PIL) | + +### Установка обоев рабочего стола +```bash +mkdir -p ~/Pictures/Wallpapers/Catppuccin +cp evening-sky.png ~/Pictures/Wallpapers/Catppuccin/ +# Затем в System Settings → Wallpaper, или через: +# kwriteconfig5 --file plasma-org.kde.plasma.desktop-appletsrc ... +``` + +### Установка фона терминала +```bash +cp terminal-bg.png ~/Pictures/Wallpapers/Catppuccin/ +# Уже прописан в Catppuccin.profile: +# BackgroundImageFile=/home/chase/Pictures/Wallpapers/Catppuccin/terminal-bg.png +``` + +--- + +## Быстрая установка (порядок) + +1. Установить шрифт `MesloLGS NF` +2. Установить пакеты: `zsh fzf bat eza qt5-style-kvantum papirus-icon-theme` +3. Скопировать `wallpapers/` в `~/Pictures/Wallpapers/Catppuccin/` +4. Установить Oh My Zsh + Powerlevel10k + плагины (для chase и root) +5. Скопировать `terminal/zsh/` → `~/` и `terminal/zsh-root/` → `/root/` +6. Скопировать `terminal/konsole/` → `~/.local/share/konsole/` и `~/.config/` +7. Установить Catppuccin KDE тему и Kvantum +8. Скопировать `kde/` конфиги в `~/.config/` и `~/.local/share/color-schemes/` +9. Установить SDDM тему Sugar Candy +10. Скопировать `sddm/` конфиги в `/etc/sddm.conf.d/` и `/usr/share/sddm/themes/sugar-candy/` +11. Перезагрузиться + +--- + +## Зависимости (apt) + +```bash +sudo apt install zsh fzf bat eza \ + qt5-style-kvantum qt5-style-kvantum-themes \ + papirus-icon-theme \ + fonts-powerline make +``` diff --git a/kde/CatppuccinMochaMauve.colors b/kde/CatppuccinMochaMauve.colors new file mode 100644 index 0000000..2fc26bc --- /dev/null +++ b/kde/CatppuccinMochaMauve.colors @@ -0,0 +1,144 @@ +[ColorEffects:Disabled] +Color=30, 30, 46 +ColorAmount=0.30000000000000004 +ColorEffect=2 +ContrastAmount=0.1 +ContrastEffect=0 +IntensityAmount=-1 +IntensityEffect=0 + +[ColorEffects:Inactive] +ChangeSelectionColor=true +Color=30, 30, 46 +ColorAmount=0.5 +ColorEffect=3 +ContrastAmount=0 +ContrastEffect=0 +Enable=true +IntensityAmount=0 +IntensityEffect=0 + +[Colors:Button] +BackgroundAlternate=203,166,247 +BackgroundNormal=49, 50, 68 +DecorationFocus=203,166,247 +DecorationHover=49, 50, 68 +ForegroundActive=250, 179, 135 +ForegroundInactive=166, 173, 200 +ForegroundLink=203,166,247 +ForegroundNegative=243, 139, 168 +ForegroundNeutral=249, 226, 175 +ForegroundNormal=205, 214, 244 +ForegroundPositive=166, 227, 161 +ForegroundVisited=203, 166, 247 + + +[Colors:Complementary] +BackgroundAlternate=17, 17, 27 +BackgroundNormal=24, 24, 37 +DecorationFocus=203,166,247 +DecorationHover=49, 50, 68 +ForegroundActive=250, 179, 135 +ForegroundInactive=166, 173, 200 +ForegroundLink=203,166,247 +ForegroundNegative=243, 139, 168 +ForegroundNeutral=249, 226, 175 +ForegroundNormal=205, 214, 244 +ForegroundPositive=166, 227, 161 +ForegroundVisited=203, 166, 247 + + +[Colors:Header] +BackgroundAlternate=17, 17, 27 +BackgroundNormal=24, 24, 37 +DecorationFocus=203,166,247 +DecorationHover=49, 50, 68 +ForegroundActive=250, 179, 135 +ForegroundInactive=166, 173, 200 +ForegroundLink=203,166,247 +ForegroundNegative=243, 139, 168 +ForegroundNeutral=249, 226, 175 +ForegroundNormal=205, 214, 244 +ForegroundPositive=166, 227, 161 +ForegroundVisited=203, 166, 247 + + +[Colors:Selection] +BackgroundAlternate=203,166,247 +BackgroundNormal=203,166,247 +DecorationFocus=203,166,247 +DecorationHover=49, 50, 68 +ForegroundLink=203,166,247 +ForegroundInactive=24, 24, 37 +ForegroundActive=250, 179, 135 +ForegroundLink=203,166,247 +ForegroundNegative=243, 139, 168 +ForegroundNeutral=249, 226, 175 +ForegroundNormal=17, 17, 27 +ForegroundPositive=166, 227, 161 +ForegroundVisited=203, 166, 247 + + +[Colors:Tooltip] +BackgroundAlternate=27,25,35 +BackgroundNormal=30, 30, 46 +DecorationFocus=203,166,247 +DecorationHover=49, 50, 68 +ForegroundActive=250, 179, 135 +ForegroundInactive=166, 173, 200 +ForegroundLink=203,166,247 +ForegroundNegative=243, 139, 168 +ForegroundNeutral=249, 226, 175 +ForegroundNormal=205, 214, 244 +ForegroundPositive=166, 227, 161 +ForegroundVisited=203, 166, 247 + + +[Colors:View] +BackgroundAlternate=24, 24, 37 +BackgroundNormal=30, 30, 46 +DecorationFocus=203,166,247 +DecorationHover=49, 50, 68 +ForegroundActive=250, 179, 135 +ForegroundInactive=166, 173, 200 +ForegroundLink=203,166,247 +ForegroundNegative=243, 139, 168 +ForegroundNeutral=249, 226, 175 +ForegroundNormal=205, 214, 244 +ForegroundPositive=166, 227, 161 +ForegroundVisited=203, 166, 247 + + +[Colors:Window] +BackgroundAlternate=17, 17, 27 +BackgroundNormal=24, 24, 37 +DecorationFocus=203,166,247 +DecorationHover=49, 50, 68 +ForegroundActive=250, 179, 135 +ForegroundInactive=166, 173, 200 +ForegroundLink=203,166,247 +ForegroundNegative=243, 139, 168 +ForegroundNeutral=249, 226, 175 +ForegroundNormal=205, 214, 244 +ForegroundPositive=166, 227, 161 +ForegroundVisited=203, 166, 247 + + +[General] +ColorScheme=CatppuccinMochaMauve +Name=Catppuccin Mocha Mauve +accentActiveTitlebar=false +shadeSortColumn=true + + +[KDE] +contrast=4 + + +[WM] +activeBackground=30, 30, 46 +activeBlend=205, 214, 244 +activeForeground=205, 214, 244 +inactiveBackground=17, 17, 27 +inactiveBlend=166, 173, 200 +inactiveForeground=166, 173, 200 diff --git a/kde/kcminputrc b/kde/kcminputrc new file mode 100644 index 0000000..de3ceae --- /dev/null +++ b/kde/kcminputrc @@ -0,0 +1,8 @@ +[$Version] +update_info=delete_cursor_old_default_size.upd:DeleteCursorOldDefaultSize,kcminputrc_fix_botched_5_21_0.upd:kcminputrc_fix_botched_5_21_0_pre,kcminputrc_fix_botched_5_21_0.upd:kcminputrc_fix_botched_5_21_0,kcminputrc_repeat.upd:kcminputrc_migrate_key_repeat + +[Mouse] +X11LibInputXAccelProfileFlat=true + +[Tmp] +update_info=delete_cursor_old_default_size.upd:DeleteCursorOldDefaultSize diff --git a/kde/kdeglobals b/kde/kdeglobals new file mode 100644 index 0000000..5e650f4 --- /dev/null +++ b/kde/kdeglobals @@ -0,0 +1,170 @@ +[$Version] +update_info=filepicker.upd:filepicker-remove-old-previews-entry,fonts_global.upd:Fonts_Global,fonts_global_toolbar.upd:Fonts_Global_Toolbar,icons_remove_effects.upd:IconsRemoveEffects,kwin.upd:animation-speed,style_widgetstyle_default_breeze.upd:StyleWidgetStyleDefaultBreeze + +[ColorEffects:Disabled] +ChangeSelectionColor= +Color=30, 30, 46 +ColorAmount=0.30000000000000004 +ColorEffect=2 +ContrastAmount=0.1 +ContrastEffect=0 +Enable= +IntensityAmount=-1 +IntensityEffect=0 + +[ColorEffects:Inactive] +ChangeSelectionColor=true +Color=30, 30, 46 +ColorAmount=0.5 +ColorEffect=3 +ContrastAmount=0 +ContrastEffect=0 +Enable=true +IntensityAmount=0 +IntensityEffect=0 + +[Colors:Button] +BackgroundAlternate=203,166,247 +BackgroundNormal=49, 50, 68 +DecorationFocus=203,166,247 +DecorationHover=49, 50, 68 +ForegroundActive=250, 179, 135 +ForegroundInactive=166, 173, 200 +ForegroundLink=203,166,247 +ForegroundNegative=243, 139, 168 +ForegroundNeutral=249, 226, 175 +ForegroundNormal=205, 214, 244 +ForegroundPositive=166, 227, 161 +ForegroundVisited=203, 166, 247 + +[Colors:Complementary] +BackgroundAlternate=17, 17, 27 +BackgroundNormal=24, 24, 37 +DecorationFocus=203,166,247 +DecorationHover=49, 50, 68 +ForegroundActive=250, 179, 135 +ForegroundInactive=166, 173, 200 +ForegroundLink=203,166,247 +ForegroundNegative=243, 139, 168 +ForegroundNeutral=249, 226, 175 +ForegroundNormal=205, 214, 244 +ForegroundPositive=166, 227, 161 +ForegroundVisited=203, 166, 247 + +[Colors:Header] +BackgroundAlternate=17, 17, 27 +BackgroundNormal=24, 24, 37 +DecorationFocus=203,166,247 +DecorationHover=49, 50, 68 +ForegroundActive=250, 179, 135 +ForegroundInactive=166, 173, 200 +ForegroundLink=203,166,247 +ForegroundNegative=243, 139, 168 +ForegroundNeutral=249, 226, 175 +ForegroundNormal=205, 214, 244 +ForegroundPositive=166, 227, 161 +ForegroundVisited=203, 166, 247 + +[Colors:Selection] +BackgroundAlternate=203,166,247 +BackgroundNormal=203,166,247 +DecorationFocus=203,166,247 +DecorationHover=49, 50, 68 +ForegroundActive=250, 179, 135 +ForegroundInactive=24, 24, 37 +ForegroundLink=203,166,247 +ForegroundNegative=243, 139, 168 +ForegroundNeutral=249, 226, 175 +ForegroundNormal=17, 17, 27 +ForegroundPositive=166, 227, 161 +ForegroundVisited=203, 166, 247 + +[Colors:Tooltip] +BackgroundAlternate=27,25,35 +BackgroundNormal=30, 30, 46 +DecorationFocus=203,166,247 +DecorationHover=49, 50, 68 +ForegroundActive=250, 179, 135 +ForegroundInactive=166, 173, 200 +ForegroundLink=203,166,247 +ForegroundNegative=243, 139, 168 +ForegroundNeutral=249, 226, 175 +ForegroundNormal=205, 214, 244 +ForegroundPositive=166, 227, 161 +ForegroundVisited=203, 166, 247 + +[Colors:View] +BackgroundAlternate=24, 24, 37 +BackgroundNormal=30, 30, 46 +DecorationFocus=203,166,247 +DecorationHover=49, 50, 68 +ForegroundActive=250, 179, 135 +ForegroundInactive=166, 173, 200 +ForegroundLink=203,166,247 +ForegroundNegative=243, 139, 168 +ForegroundNeutral=249, 226, 175 +ForegroundNormal=205, 214, 244 +ForegroundPositive=166, 227, 161 +ForegroundVisited=203, 166, 247 + +[Colors:Window] +BackgroundAlternate=17, 17, 27 +BackgroundNormal=24, 24, 37 +DecorationFocus=203,166,247 +DecorationHover=49, 50, 68 +ForegroundActive=250, 179, 135 +ForegroundInactive=166, 173, 200 +ForegroundLink=203,166,247 +ForegroundNegative=243, 139, 168 +ForegroundNeutral=249, 226, 175 +ForegroundNormal=205, 214, 244 +ForegroundPositive=166, 227, 161 +ForegroundVisited=203, 166, 247 + +[DirSelect Dialog] +DirSelectDialog Size=980,600 +History Items[$e]=file:$HOME/obsidian-for-git,file:$HOME/obsidian-for-git + +[General] +BrowserApplication=opera.desktop +ColorSchemeHash=1e791a601596b04821e81de9e9f6f2c50005d730 +fixed=Hack,10,-1,5,50,0,0,0,0,0 +font=Noto Sans,10,-1,5,50,0,0,0,0,0 +smallestReadableFont=Noto Sans,8,-1,5,50,0,0,0,0,0 +toolBarFont=Noto Sans,10,-1,5,50,0,0,0,0,0 + +[Icons] +Theme=Papirus-Dark + +[KDE] +LookAndFeelPackage=Catppuccin-Mocha-Mauve +widgetStyle=kvantum-dark + +[KFileDialog Settings] +Allow Expansion=false +Automatically select filename extension=true +Breadcrumb Navigation=true +Decoration position=2 +LocationCombo Completionmode=5 +PathCombo Completionmode=5 +Show Bookmarks=false +Show Full Path=false +Show Inline Previews=true +Show Preview=false +Show Speedbar=true +Show hidden files=false +Sort by=Name +Sort directories first=true +Sort hidden files last=false +Sort reversed=false +Speedbar Width=202 +View Style=DetailTree + +[WM] +activeBackground=30,30,46 +activeBlend=205,214,244 +activeFont=Noto Sans,10,-1,5,50,0,0,0,0,0 +activeForeground=205,214,244 +inactiveBackground=17,17,27 +inactiveBlend=166,173,200 +inactiveForeground=166,173,200 diff --git a/kde/kscreenlockerrc b/kde/kscreenlockerrc new file mode 100644 index 0000000..bc57295 --- /dev/null +++ b/kde/kscreenlockerrc @@ -0,0 +1,14 @@ +[$Version] +update_info=kscreenlocker.upd:0.1-autolock + +[Greeter] +Blur=true +Theme=org.kde.breezedark.desktop +WallpaperPlugin=org.kde.image + +[Greeter/Wallpaper/org.kde.image/General] +FillMode=2 +Image=/home/chase/Pictures/Wallpapers/Catppuccin/evening-sky.png + +[Transition] +LockScreenDuration=1000 diff --git a/kde/ksplashrc b/kde/ksplashrc new file mode 100644 index 0000000..e69de29 diff --git a/kde/kvantum.kvconfig b/kde/kvantum.kvconfig new file mode 100644 index 0000000..f14f1b0 --- /dev/null +++ b/kde/kvantum.kvconfig @@ -0,0 +1,2 @@ +[General] +theme=catppuccin-mocha-mauve diff --git a/kde/kwinrc b/kde/kwinrc new file mode 100644 index 0000000..684c352 --- /dev/null +++ b/kde/kwinrc @@ -0,0 +1,33 @@ +[$Version] +update_info=kwin.upd:replace-scalein-with-scale,kwin.upd:port-minimizeanimation-effect-to-js,kwin.upd:port-scale-effect-to-js,kwin.upd:port-dimscreen-effect-to-js,kwin.upd:auto-bordersize,kwin.upd:animation-speed,kwin.upd:desktop-grid-click-behavior,kwin.upd:no-swap-encourage,kwin.upd:make-translucency-effect-disabled-by-default,kwin.upd:remove-flip-switch-effect,kwin.upd:remove-cover-switch-effect,kwin.upd:remove-cubeslide-effect,kwin.upd:remove-xrender-backend,kwin.upd:enable-scale-effect-by-default,kwin.upd:overview-group-plugin-id,kwin.upd:animation-speed-cleanup,kwin.upd:replace-cascaded-zerocornered + +[Desktops] +Id_1=b9d4fd95-c102-465b-8d95-8e9cffb04f03 +Number=1 +Rows=1 + +[Plugins] +blurEnabled=true +contrastEnabled=true + +[Tiling] +padding=4 + +[Tiling][3bdfd6d7-2f20-59ce-9860-f2607162665d] +tiles={"layoutDirection":"horizontal","tiles":[{"width":0.25},{"width":0.5},{"width":0.25}]} + +[Tiling][61c895ea-fa24-5d09-8ccf-7e8804eb0ca8] +tiles={"layoutDirection":"horizontal","tiles":[{"width":0.25},{"width":0.5},{"width":0.25}]} + +[Tiling][6d535bc9-f7b1-58e1-9e7f-fb845e923dab] +tiles={"layoutDirection":"horizontal","tiles":[{"width":0.25},{"width":0.5},{"width":0.25}]} + +[Tiling][8f2ce793-be6f-5cc4-80dd-076d7c8fedaf] +tiles={"layoutDirection":"horizontal","tiles":[{"width":0.25},{"width":0.5},{"width":0.25}]} + +[Xwayland] +Scale=1 + +[org.kde.kdecoration2] +ButtonsOnLeft= +ButtonsOnRight=IAX diff --git a/kde/plasmarc b/kde/plasmarc new file mode 100644 index 0000000..d98de03 --- /dev/null +++ b/kde/plasmarc @@ -0,0 +1,2 @@ +[Wallpapers] +usersWallpapers=/home/chase/Pictures/Wallpapers/Catppuccin/evening-sky.png diff --git a/sddm/sddm-custom.conf b/sddm/sddm-custom.conf new file mode 100644 index 0000000..e9b57be --- /dev/null +++ b/sddm/sddm-custom.conf @@ -0,0 +1,5 @@ +[Theme] +Current=sugar-candy + +[General] +InputMethod= diff --git a/sddm/sugar-candy-theme.conf b/sddm/sugar-candy-theme.conf new file mode 100644 index 0000000..f5128cf --- /dev/null +++ b/sddm/sugar-candy-theme.conf @@ -0,0 +1,100 @@ +[General] + +Background="Backgrounds/Mountain.jpg" + +DimBackgroundImage="0.3" + +ScaleImageCropped="true" + +ScreenWidth="1920" +ScreenHeight="1080" + + + +## [Blur Settings] + +FullBlur="false" +PartialBlur="true" + +BlurRadius="80" + + + +## [Design Customizations] + +HaveFormBackground="true" + +FormPosition="center" + +BackgroundImageHAlignment="center" + +BackgroundImageVAlignment="center" + +MainColor="white" + +AccentColor="#7aa2f7" + +BackgroundColor="#1a1b26" + +OverrideLoginButtonTextColor="white" + +InterfaceShadowSize="6" + +InterfaceShadowOpacity="0.6" + +RoundCorners="12" + +ScreenPadding="0" + +Font="Noto Sans" + +FontSize="" + + + +## [Interface Behavior] + +ForceRightToLeft="false" + +ForceLastUser="true" + +ForcePasswordFocus="true" + +ForceHideCompletePassword="false" + +ForceHideVirtualKeyboardButton="true" + +ForceHideSystemButtons="false" + +AllowEmptyPassword="false" + +AllowBadUsernames="false" + + + +## [Locale Settings] + +Locale="" + +HourFormat="HH:mm" + +DateFormat="dddd, d MMMM" + + + +## [Translations] + +HeaderText="Добро пожаловать" + +TranslatePlaceholderUsername="" +TranslatePlaceholderPassword="" +TranslateShowPassword="" +TranslateLogin="" +TranslateLoginFailedWarning="" +TranslateCapslockWarning="" +TranslateSession="" +TranslateSuspend="" +TranslateHibernate="" +TranslateReboot="" +TranslateShutdown="" +TranslateVirtualKeyboardButton="" diff --git a/terminal/konsole/Catppuccin.profile b/terminal/konsole/Catppuccin.profile new file mode 100644 index 0000000..65b6235 --- /dev/null +++ b/terminal/konsole/Catppuccin.profile @@ -0,0 +1,36 @@ +[Appearance] +ColorScheme=catppuccin-mocha +Font=MesloLGS NF,11,-1,5,50,0,0,0,1,0 +LineSpacing=2 +UseFontLineChararacters=false +BackgroundImageFile=/home/chase/Pictures/Wallpapers/Catppuccin/terminal-bg.png +BackgroundImageLocation=0 +BackgroundImageOpacity=0.5 + +[Cursor Options] +CursorShape=1 +CustomCursorColor=203,166,247 +UseCustomCursorColor=true + +[General] +Command=/usr/bin/zsh +Name=Catppuccin +Parent=FALLBACK/ +TerminalCenter=false +TerminalMargin=8 +TerminalColumns=189 +TerminalRows=39 + +[Interaction Options] +AutoCopySelectedText=true +TrimLeadingWhitespacesInSelectedText=true +TrimTrailingWhitespacesInSelectedText=true +UnderlineFilesEnabled=true + +[Scrolling] +HistoryMode=2 +ScrollBarPosition=2 + +[Terminal Features] +BidiRenderingEnabled=false +BlinkingCursorEnabled=true diff --git a/terminal/konsole/catppuccin-mocha.colorscheme b/terminal/konsole/catppuccin-mocha.colorscheme new file mode 100644 index 0000000..86801d1 --- /dev/null +++ b/terminal/konsole/catppuccin-mocha.colorscheme @@ -0,0 +1,96 @@ +[Background] +Color=30,30,46 + +[BackgroundFaint] +Color=30,30,46 + +[BackgroundIntense] +Color=30,30,46 + +[Color0] +Color=108,112,134 + +[Color0Faint] +Color=108,112,134 + +[Color0Intense] +Color=108,112,134 + +[Color1] +Color=243,139,168 + +[Color1Faint] +Color=243,139,168 + +[Color1Intense] +Color=243,139,168 + +[Color2] +Color=166,227,161 + +[Color2Faint] +Color=166,227,161 + +[Color2Intense] +Color=166,227,161 + +[Color3] +Color=249,226,175 + +[Color3Faint] +Color=249,226,175 + +[Color3Intense] +Color=249,226,175 + +[Color4] +Color=137,180,250 + +[Color4Faint] +Color=137,180,250 + +[Color4Intense] +Color=137,180,250 + +[Color5] +Color=203,166,247 + +[Color5Faint] +Color=203,166,247 + +[Color5Intense] +Color=203,166,247 + +[Color6] +Color=137,220,235 + +[Color6Faint] +Color=137,220,235 + +[Color6Intense] +Color=137,220,235 + +[Color7] +Color=205,214,244 + +[Color7Faint] +Color=205,214,244 + +[Color7Intense] +Color=205,214,244 + +[Foreground] +Color=205,214,244 + +[ForegroundFaint] +Color=205,214,244 + +[ForegroundIntense] +Color=205,214,244 + +[General] +Blur=false +ColorRandomization=false +Description=Catppuccin Mocha +Opacity=1 +Wallpaper= diff --git a/terminal/konsole/konsolerc b/terminal/konsole/konsolerc new file mode 100644 index 0000000..6c26e5e --- /dev/null +++ b/terminal/konsole/konsolerc @@ -0,0 +1,17 @@ +[Desktop Entry] +DefaultProfile=Catppuccin.profile + +[General] +ConfigVersion=1 + +[MainWindow] +2 screens: Height=758 +2 screens: Width=1346 +2 screens: Window-Maximized=true +DP-1 HDMI-1=HDMI-1 +RestorePositionForNextInstance=false +State=AAAA/wAAAAD9AAAAAQAAAAAAAAAAAAAAAPwCAAAAAvsAAAAcAFMAUwBIAE0AYQBuAGEAZwBlAHIARABvAGMAawAAAAAA/////wAAANAA////+wAAACIAUQB1AGkAYwBrAEMAbwBtAG0AYQBuAGQAcwBEAG8AYwBrAAAAAAD/////AAABGwD///8AAAeAAAADzAAAAAQAAAAEAAAACAAAAAj8AAAAAQAAAAIAAAACAAAAFgBtAGEAaQBuAFQAbwBvAGwAQgBhAHIBAAAAAP////8AAAAAAAAAAAAAABwAcwBlAHMAcwBpAG8AbgBUAG8AbwBsAGIAYQByAQAAATn/////AAAAAAAAAAA= +ToolBarsMovable=Disabled + +[UiSettings] +ColorScheme=catppuccin-mocha diff --git a/terminal/zsh-root/.p10k.zsh b/terminal/zsh-root/.p10k.zsh new file mode 100644 index 0000000..4be3ee6 --- /dev/null +++ b/terminal/zsh-root/.p10k.zsh @@ -0,0 +1,142 @@ +# Powerlevel10k config for ROOT — Catppuccin Mocha, red prompt +# Font: MesloLGS NF + +'builtin' 'local' '-a' 'p10k_config_opts' +[[ ! -o 'aliases' ]] || p10k_config_opts+=('aliases') +[[ ! -o 'sh_glob' ]] || p10k_config_opts+=('sh_glob') +[[ ! -o 'no_brace_expand' ]] || p10k_config_opts+=('no_brace_expand') +'builtin' 'setopt' 'no_aliases' 'no_sh_glob' 'brace_expand' + +() { + emulate -L zsh -o extended_glob + + unset -m '(POWERLEVEL9K_*|DEFAULT_USER)~POWERLEVEL9K_GITSTATUS_DIR' + + autoload -Uz is-at-least && is-at-least 5.1 || return + + typeset -g POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=( + os_icon + context + dir + vcs + newline + prompt_char + ) + + typeset -g POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=( + status + command_execution_time + background_jobs + ip + disk_usage + time + ) + + typeset -g POWERLEVEL9K_MODE=nerdfont-complete + typeset -g POWERLEVEL9K_PROMPT_ADD_NEWLINE=true + + typeset -g POWERLEVEL9K_BACKGROUND= + typeset -g POWERLEVEL9K_{LEFT,RIGHT}_{LEFT,RIGHT}_WHITESPACE= + typeset -g POWERLEVEL9K_{LEFT,RIGHT}_SUBSEGMENT_SEPARATOR=' ' + typeset -g POWERLEVEL9K_{LEFT,RIGHT}_SEGMENT_SEPARATOR= + + typeset -g POWERLEVEL9K_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL= + typeset -g POWERLEVEL9K_RIGHT_PROMPT_FIRST_SEGMENT_START_SYMBOL= + + # OS icon — красный для root + typeset -g POWERLEVEL9K_OS_ICON_FOREGROUND=160 + typeset -g POWERLEVEL9K_OS_ICON_CONTENT_EXPANSION='🐺' + + # Context — root всегда красный + typeset -g POWERLEVEL9K_CONTEXT_FOREGROUND=160 + typeset -g POWERLEVEL9K_CONTEXT_ROOT_FOREGROUND=160 + typeset -g POWERLEVEL9K_CONTEXT_TEMPLATE='%n' + typeset -g POWERLEVEL9K_CONTEXT_ALWAYS_SHOW=true + typeset -g POWERLEVEL9K_ALWAYS_SHOW_CONTEXT=true + + # Prompt char — красный для root + typeset -g POWERLEVEL9K_PROMPT_CHAR_OK_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=160 + typeset -g POWERLEVEL9K_PROMPT_CHAR_ERROR_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=196 + typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIINS_CONTENT_EXPANSION='❯' + typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VICMD_CONTENT_EXPANSION='❮' + typeset -g POWERLEVEL9K_PROMPT_CHAR_OVERWRITE_STATE=true + typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL= + typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_{LEFT,RIGHT}_WHITESPACE= + + # Directory — оранжевый для root + typeset -g POWERLEVEL9K_DIR_FOREGROUND=214 + typeset -g POWERLEVEL9K_SHORTEN_STRATEGY=truncate_to_unique + typeset -g POWERLEVEL9K_SHORTEN_DELIMITER= + typeset -g POWERLEVEL9K_DIR_SHORTENED_FOREGROUND=172 + typeset -g POWERLEVEL9K_DIR_ANCHOR_FOREGROUND=220 + typeset -g POWERLEVEL9K_DIR_ANCHOR_BOLD=true + local anchor_files=( + .bzr .citc .git .github .hg .node-version .python-version + .ruby-version .svn .terraform .venv Makefile package.json + ) + typeset -g POWERLEVEL9K_SHORTEN_FOLDER_MARKER="(${(j:|:)anchor_files})" + typeset -g POWERLEVEL9K_DIR_TRUNCATE_BEFORE_MARKER=false + typeset -g POWERLEVEL9K_SHORTEN_DIR_LENGTH=1 + typeset -g POWERLEVEL9K_DIR_MAX_LENGTH=80 + typeset -g POWERLEVEL9K_DIR_SHOW_WRITABLE=v3 + + # IP адрес + typeset -g POWERLEVEL9K_IP_FOREGROUND=109 + typeset -g POWERLEVEL9K_IP_INTERFACE='enp2s0' + typeset -g POWERLEVEL9K_IP_SHOW_ALL_ADDRESSES=false + + # Disk usage + typeset -g POWERLEVEL9K_DISK_USAGE_ONLY_WARNING=false + typeset -g POWERLEVEL9K_DISK_USAGE_WARNING_LEVEL=85 + typeset -g POWERLEVEL9K_DISK_USAGE_CRITICAL_LEVEL=95 + typeset -g POWERLEVEL9K_DISK_USAGE_FOREGROUND=114 + typeset -g POWERLEVEL9K_DISK_USAGE_WARNING_FOREGROUND=178 + typeset -g POWERLEVEL9K_DISK_USAGE_CRITICAL_FOREGROUND=160 + typeset -g POWERLEVEL9K_DISK_USAGE_PATH='/' + + # VCS (Git) — built-in p10k formatter + typeset -g POWERLEVEL9K_VCS_BACKENDS=(git) + typeset -g POWERLEVEL9K_VCS_BRANCH_ICON=' ' + typeset -g POWERLEVEL9K_VCS_CLEAN_FOREGROUND=76 + typeset -g POWERLEVEL9K_VCS_UNTRACKED_FOREGROUND=76 + typeset -g POWERLEVEL9K_VCS_MODIFIED_FOREGROUND=178 + typeset -g POWERLEVEL9K_VCS_STAGED_MAX_NUM=-1 + typeset -g POWERLEVEL9K_VCS_UNSTAGED_MAX_NUM=-1 + typeset -g POWERLEVEL9K_VCS_UNTRACKED_MAX_NUM=-1 + + # Status + typeset -g POWERLEVEL9K_STATUS_EXTENDED_STATES=true + typeset -g POWERLEVEL9K_STATUS_OK=false + typeset -g POWERLEVEL9K_STATUS_ERROR=true + typeset -g POWERLEVEL9K_STATUS_ERROR_FOREGROUND=160 + typeset -g POWERLEVEL9K_STATUS_ERROR_VISUAL_IDENTIFIER_EXPANSION='✘' + typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL=true + typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL_FOREGROUND=160 + typeset -g POWERLEVEL9K_STATUS_VERBOSE_SIGNAME=false + typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL_VISUAL_IDENTIFIER_EXPANSION='✘' + typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE=true + typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_FOREGROUND=160 + typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_VISUAL_IDENTIFIER_EXPANSION='✘' + + # Execution time + typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_THRESHOLD=3 + typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PRECISION=0 + typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FOREGROUND=101 + typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FORMAT='d h m s' + + # Background jobs + typeset -g POWERLEVEL9K_BACKGROUND_JOBS_VERBOSE=false + typeset -g POWERLEVEL9K_BACKGROUND_JOBS_FOREGROUND=37 + + # Time + typeset -g POWERLEVEL9K_TIME_FORMAT='%D{%H:%M}' + typeset -g POWERLEVEL9K_TIME_FOREGROUND=109 + typeset -g POWERLEVEL9K_TIME_UPDATE_ON_COMMAND=false + + typeset -g POWERLEVEL9K_INSTANT_PROMPT=quiet + typeset -g POWERLEVEL9K_TRANSIENT_PROMPT=same-dir + typeset -g POWERLEVEL9K_DISABLE_HOT_RELOAD=true + + (( ${#p10k_config_opts} )) && setopt ${p10k_config_opts[@]} + 'builtin' 'unset' 'p10k_config_opts' +} diff --git a/terminal/zsh-root/.zshrc b/terminal/zsh-root/.zshrc new file mode 100644 index 0000000..35b4ea9 --- /dev/null +++ b/terminal/zsh-root/.zshrc @@ -0,0 +1,82 @@ +# Enable Powerlevel10k instant prompt +if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then + source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" +fi + +export ZSH="$HOME/.oh-my-zsh" + +ZSH_THEME="powerlevel10k/powerlevel10k" + +plugins=( + git + sudo + z + colored-man-pages + command-not-found + zsh-autosuggestions + zsh-syntax-highlighting + zsh-completions + fzf-tab +) + +HISTSIZE=10000 +SAVEHIST=10000 +HISTFILE=~/.zsh_history +setopt HIST_IGNORE_DUPS +setopt HIST_IGNORE_SPACE +setopt SHARE_HISTORY +setopt AUTO_PUSHD +setopt PUSHD_IGNORE_DUPS + +ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=#585b70" +ZSH_AUTOSUGGEST_STRATEGY=(history completion) + +source $ZSH/oh-my-zsh.sh + +ZSH_HIGHLIGHT_STYLES[command]='fg=#89b4fa,bold' +ZSH_HIGHLIGHT_STYLES[alias]='fg=#cba6f7,bold' +ZSH_HIGHLIGHT_STYLES[builtin]='fg=#89dceb,bold' +ZSH_HIGHLIGHT_STYLES[function]='fg=#a6e3a1,bold' +ZSH_HIGHLIGHT_STYLES[path]='fg=#cdd6f4' +ZSH_HIGHLIGHT_STYLES[unknown-token]='fg=#f38ba8,bold' +ZSH_HIGHLIGHT_STYLES[single-quoted-argument]='fg=#a6e3a1' +ZSH_HIGHLIGHT_STYLES[double-quoted-argument]='fg=#a6e3a1' + +zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}' +zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}" +zstyle ':completion:*' menu no +zstyle ':fzf-tab:complete:cd:*' fzf-preview 'eza --color=always --icons $realpath' +zstyle ':fzf-tab:*' fzf-flags \ + --color=bg+:#313244,bg:#1e1e2e,spinner:#f5e0dc,hl:#f38ba8,fg:#cdd6f4,header:#f38ba8,info:#cba6f7,pointer:#f5e0dc,marker:#b4befe,fg+:#cdd6f4,prompt:#cba6f7,hl+:#f38ba8 + +alias ls='eza --color=always --icons --group-directories-first' +alias ll='eza -la --color=always --icons --group-directories-first --git' +alias lt='eza --tree --color=always --icons --level=2' +alias cat='bat --style=plain --paging=never' +alias grep='grep --color=auto' +alias cp='cp -iv' +alias mv='mv -iv' +alias rm='rm -iv' +alias mkdir='mkdir -pv' +alias ..='cd ..' +alias ...='cd ../..' +alias ....='cd ../../..' +alias cls='clear' + +export MANPAGER="sh -c 'col -bx | bat -l man -p'" +export MANROFFOPT="-c" + +export FZF_DEFAULT_OPTS="\ +--color=bg+:#313244,bg:#1e1e2e,spinner:#f5e0dc,hl:#f38ba8 \ +--color=fg:#cdd6f4,header:#f38ba8,info:#cba6f7,pointer:#f5e0dc \ +--color=marker:#b4befe,fg+:#cdd6f4,prompt:#cba6f7,hl+:#f38ba8 \ +--color=selected-bg:#45475a \ +--height=50% --layout=reverse --border=rounded" + +export FZF_CTRL_T_OPTS="--preview 'bat --color=always --style=plain {}'" +export FZF_ALT_C_OPTS="--preview 'eza --tree --color=always --icons {}'" + +[ -f /usr/share/doc/fzf/examples/key-bindings.zsh ] && source /usr/share/doc/fzf/examples/key-bindings.zsh +[ -f /usr/share/doc/fzf/examples/completion.zsh ] && source /usr/share/doc/fzf/examples/completion.zsh + +[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh diff --git a/terminal/zsh/.p10k.zsh b/terminal/zsh/.p10k.zsh new file mode 100644 index 0000000..7474c51 --- /dev/null +++ b/terminal/zsh/.p10k.zsh @@ -0,0 +1,148 @@ +# Powerlevel10k config — Catppuccin Mocha +# Font: MesloLGS NF + +'builtin' 'local' '-a' 'p10k_config_opts' +[[ ! -o 'aliases' ]] || p10k_config_opts+=('aliases') +[[ ! -o 'sh_glob' ]] || p10k_config_opts+=('sh_glob') +[[ ! -o 'no_brace_expand' ]] || p10k_config_opts+=('no_brace_expand') +'builtin' 'setopt' 'no_aliases' 'no_sh_glob' 'brace_expand' + +() { + emulate -L zsh -o extended_glob + + unset -m '(POWERLEVEL9K_*|DEFAULT_USER)~POWERLEVEL9K_GITSTATUS_DIR' + + autoload -Uz is-at-least && is-at-least 5.1 || return + + # Строка 1: иконка юзер путь git + # Строка 2: ip диск ❯ команда + typeset -g POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=( + os_icon + context + dir + vcs + newline + prompt_char + ) + + typeset -g POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=( + status + command_execution_time + background_jobs + ip + disk_usage + time + ) + + typeset -g POWERLEVEL9K_MODE=nerdfont-complete + + # Убираем PROMPT_ON_NEWLINE — уже используем newline элемент, двойного переноса не нужно + typeset -g POWERLEVEL9K_PROMPT_ADD_NEWLINE=true + + typeset -g POWERLEVEL9K_BACKGROUND= + typeset -g POWERLEVEL9K_{LEFT,RIGHT}_{LEFT,RIGHT}_WHITESPACE= + typeset -g POWERLEVEL9K_{LEFT,RIGHT}_SUBSEGMENT_SEPARATOR=' ' + typeset -g POWERLEVEL9K_{LEFT,RIGHT}_SEGMENT_SEPARATOR= + + typeset -g POWERLEVEL9K_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL= + typeset -g POWERLEVEL9K_RIGHT_PROMPT_FIRST_SEGMENT_START_SYMBOL= + + # OS icon — лисичка вместо Ubuntu + typeset -g POWERLEVEL9K_OS_ICON_FOREGROUND=214 + typeset -g POWERLEVEL9K_OS_ICON_CONTENT_EXPANSION='🦊' + + # Context (username) — всегда показывать + typeset -g POWERLEVEL9K_CONTEXT_FOREGROUND=180 # yellow для обычного юзера + typeset -g POWERLEVEL9K_CONTEXT_ROOT_FOREGROUND=160 # red для root + typeset -g POWERLEVEL9K_CONTEXT_TEMPLATE='%n' # только имя, без @host + typeset -g POWERLEVEL9K_CONTEXT_ALWAYS_SHOW=true + typeset -g POWERLEVEL9K_ALWAYS_SHOW_CONTEXT=true + + # Prompt char — на ОДНОЙ строке с вводом + typeset -g POWERLEVEL9K_PROMPT_CHAR_OK_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=114 + typeset -g POWERLEVEL9K_PROMPT_CHAR_ERROR_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=203 + typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIINS_CONTENT_EXPANSION='❯' + typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VICMD_CONTENT_EXPANSION='❮' + typeset -g POWERLEVEL9K_PROMPT_CHAR_OVERWRITE_STATE=true + typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL= + typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_{LEFT,RIGHT}_WHITESPACE= + + # Directory + typeset -g POWERLEVEL9K_DIR_FOREGROUND=111 + typeset -g POWERLEVEL9K_SHORTEN_STRATEGY=truncate_to_unique + typeset -g POWERLEVEL9K_SHORTEN_DELIMITER= + typeset -g POWERLEVEL9K_DIR_SHORTENED_FOREGROUND=109 + typeset -g POWERLEVEL9K_DIR_ANCHOR_FOREGROUND=117 + typeset -g POWERLEVEL9K_DIR_ANCHOR_BOLD=true + local anchor_files=( + .bzr .citc .git .github .hg .node-version .python-version + .ruby-version .svn .terraform .tox .venv + Makefile package.json + ) + typeset -g POWERLEVEL9K_SHORTEN_FOLDER_MARKER="(${(j:|:)anchor_files})" + typeset -g POWERLEVEL9K_DIR_TRUNCATE_BEFORE_MARKER=false + typeset -g POWERLEVEL9K_SHORTEN_DIR_LENGTH=1 + typeset -g POWERLEVEL9K_DIR_MAX_LENGTH=80 + typeset -g POWERLEVEL9K_DIR_SHOW_WRITABLE=v3 + + # IP адрес — показываем enp2s0 + typeset -g POWERLEVEL9K_IP_FOREGROUND=109 + typeset -g POWERLEVEL9K_IP_INTERFACE='enp2s0' + typeset -g POWERLEVEL9K_IP_SHOW_ALL_ADDRESSES=false + + # Disk usage — % занятости / + typeset -g POWERLEVEL9K_DISK_USAGE_ONLY_WARNING=false + typeset -g POWERLEVEL9K_DISK_USAGE_WARNING_LEVEL=85 + typeset -g POWERLEVEL9K_DISK_USAGE_CRITICAL_LEVEL=95 + typeset -g POWERLEVEL9K_DISK_USAGE_FOREGROUND=114 # green когда норм + typeset -g POWERLEVEL9K_DISK_USAGE_WARNING_FOREGROUND=178 # yellow при 85% + typeset -g POWERLEVEL9K_DISK_USAGE_CRITICAL_FOREGROUND=160 # red при 95% + typeset -g POWERLEVEL9K_DISK_USAGE_PATH='/' + + # VCS (Git) — встроенный форматтер p10k + typeset -g POWERLEVEL9K_VCS_BACKENDS=(git) + typeset -g POWERLEVEL9K_VCS_BRANCH_ICON=' ' + typeset -g POWERLEVEL9K_VCS_CLEAN_FOREGROUND=76 + typeset -g POWERLEVEL9K_VCS_UNTRACKED_FOREGROUND=76 + typeset -g POWERLEVEL9K_VCS_MODIFIED_FOREGROUND=178 + typeset -g POWERLEVEL9K_VCS_STAGED_MAX_NUM=-1 + typeset -g POWERLEVEL9K_VCS_UNSTAGED_MAX_NUM=-1 + typeset -g POWERLEVEL9K_VCS_UNTRACKED_MAX_NUM=-1 + + # Status + typeset -g POWERLEVEL9K_STATUS_EXTENDED_STATES=true + typeset -g POWERLEVEL9K_STATUS_OK=false + typeset -g POWERLEVEL9K_STATUS_OK_PIPE=true + typeset -g POWERLEVEL9K_STATUS_ERROR=true + typeset -g POWERLEVEL9K_STATUS_ERROR_FOREGROUND=160 + typeset -g POWERLEVEL9K_STATUS_ERROR_VISUAL_IDENTIFIER_EXPANSION='✘' + typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL=true + typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL_FOREGROUND=160 + typeset -g POWERLEVEL9K_STATUS_VERBOSE_SIGNAME=false + typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL_VISUAL_IDENTIFIER_EXPANSION='✘' + typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE=true + typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_FOREGROUND=160 + typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_VISUAL_IDENTIFIER_EXPANSION='✘' + + # Execution time + typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_THRESHOLD=3 + typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PRECISION=0 + typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FOREGROUND=101 + typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FORMAT='d h m s' + + # Background jobs + typeset -g POWERLEVEL9K_BACKGROUND_JOBS_VERBOSE=false + typeset -g POWERLEVEL9K_BACKGROUND_JOBS_FOREGROUND=37 + + # Time + typeset -g POWERLEVEL9K_TIME_FORMAT='%D{%H:%M}' + typeset -g POWERLEVEL9K_TIME_FOREGROUND=109 + typeset -g POWERLEVEL9K_TIME_UPDATE_ON_COMMAND=false + + typeset -g POWERLEVEL9K_INSTANT_PROMPT=quiet + typeset -g POWERLEVEL9K_TRANSIENT_PROMPT=same-dir + typeset -g POWERLEVEL9K_DISABLE_HOT_RELOAD=true + + (( ${#p10k_config_opts} )) && setopt ${p10k_config_opts[@]} + 'builtin' 'unset' 'p10k_config_opts' +} diff --git a/terminal/zsh/.zshrc b/terminal/zsh/.zshrc new file mode 100644 index 0000000..7aaacd0 --- /dev/null +++ b/terminal/zsh/.zshrc @@ -0,0 +1,91 @@ +# Enable Powerlevel10k instant prompt +if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then + source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" +fi + +export ZSH="$HOME/.oh-my-zsh" + +ZSH_THEME="powerlevel10k/powerlevel10k" + +# Plugins +plugins=( + git + sudo + z + colored-man-pages + command-not-found + zsh-autosuggestions + zsh-syntax-highlighting + zsh-completions + fzf-tab +) + +# History +HISTSIZE=10000 +SAVEHIST=10000 +HISTFILE=~/.zsh_history +setopt HIST_IGNORE_DUPS +setopt HIST_IGNORE_SPACE +setopt SHARE_HISTORY +setopt AUTO_PUSHD +setopt PUSHD_IGNORE_DUPS + +# Autosuggestions +ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=#585b70" +ZSH_AUTOSUGGEST_STRATEGY=(history completion) + +source $ZSH/oh-my-zsh.sh + +# Syntax highlighting (Catppuccin Mocha) — must be after sourcing omz +ZSH_HIGHLIGHT_STYLES[command]='fg=#89b4fa,bold' +ZSH_HIGHLIGHT_STYLES[alias]='fg=#cba6f7,bold' +ZSH_HIGHLIGHT_STYLES[builtin]='fg=#89dceb,bold' +ZSH_HIGHLIGHT_STYLES[function]='fg=#a6e3a1,bold' +ZSH_HIGHLIGHT_STYLES[path]='fg=#cdd6f4' +ZSH_HIGHLIGHT_STYLES[unknown-token]='fg=#f38ba8,bold' +ZSH_HIGHLIGHT_STYLES[single-quoted-argument]='fg=#a6e3a1' +ZSH_HIGHLIGHT_STYLES[double-quoted-argument]='fg=#a6e3a1' + +# Completion +zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}' +zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}" +zstyle ':completion:*' menu no +zstyle ':fzf-tab:complete:cd:*' fzf-preview 'eza --color=always --icons $realpath' +zstyle ':fzf-tab:*' fzf-flags \ + --color=bg+:#313244,bg:#1e1e2e,spinner:#f5e0dc,hl:#f38ba8,fg:#cdd6f4,header:#f38ba8,info:#cba6f7,pointer:#f5e0dc,marker:#b4befe,fg+:#cdd6f4,prompt:#cba6f7,hl+:#f38ba8 + +# Aliases +alias ls='eza --color=always --icons --group-directories-first' +alias ll='eza -la --color=always --icons --group-directories-first --git' +alias lt='eza --tree --color=always --icons --level=2' +alias cat='bat --style=plain --paging=never' +alias grep='grep --color=auto' +alias cp='cp -iv' +alias mv='mv -iv' +alias rm='rm -iv' +alias mkdir='mkdir -pv' +alias ..='cd ..' +alias ...='cd ../..' +alias ....='cd ../../..' +alias update='sudo apt update && sudo apt upgrade -y' +alias cls='clear' + +# Man pages via bat +export MANPAGER="sh -c 'col -bx | bat -l man -p'" +export MANROFFOPT="-c" + +# FZF (Catppuccin Mocha) +export FZF_DEFAULT_OPTS="\ +--color=bg+:#313244,bg:#1e1e2e,spinner:#f5e0dc,hl:#f38ba8 \ +--color=fg:#cdd6f4,header:#f38ba8,info:#cba6f7,pointer:#f5e0dc \ +--color=marker:#b4befe,fg+:#cdd6f4,prompt:#cba6f7,hl+:#f38ba8 \ +--color=selected-bg:#45475a \ +--height=50% --layout=reverse --border=rounded" + +export FZF_CTRL_T_OPTS="--preview 'bat --color=always --style=plain {}'" +export FZF_ALT_C_OPTS="--preview 'eza --tree --color=always --icons {}'" + +[ -f /usr/share/doc/fzf/examples/key-bindings.zsh ] && source /usr/share/doc/fzf/examples/key-bindings.zsh +[ -f /usr/share/doc/fzf/examples/completion.zsh ] && source /usr/share/doc/fzf/examples/completion.zsh + +[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh diff --git a/wallpapers/evening-sky.png b/wallpapers/evening-sky.png new file mode 100644 index 0000000..07bb5e8 Binary files /dev/null and b/wallpapers/evening-sky.png differ diff --git a/wallpapers/terminal-bg.png b/wallpapers/terminal-bg.png new file mode 100644 index 0000000..5a265f5 Binary files /dev/null and b/wallpapers/terminal-bg.png differ