rus.md

July 30, 2026 · View on GitHub

GitHub last commit Repository size Repository size

Just Enough Shell

Создан для повседневности, не для картинок.


Системные параметры
Компонент Значение
OS NixOS 26.05
WM SwayFX / Hyprland / niri / DriftWM
Shell bash
Terminal Foot
Interface QuickShell
Screen Locker Hyprlock
Monitoring Btop
Audio PipeWire
Browser Zen browser
File Manager ranger / yazi / dolphin
Editor micro / helix
Theme zenburn
Icons Tela Gray
Bootloader Grub
Optimization Go binaries
theme changer matugen

-- О проекте -- :

JES использует для отображения интерфейса QuickShell.

JES поддерживает:

  • SwayFX
  • Hyprland
  • Niri
  • DriftWM
  • Любой другой через 3 скрипта и один qml файл
Niri не имеет прозрачности и у него баг с воркспейсами на панели ввиду его архитектуры.

В проекте есть оптимизация, но он не тестировался на слабых пк.
Go бинарники используются для скриптов, где важна быстрая скорость считывания большого потока данных, за счёт этого нагрузка на ЦП в простое 5-10% (только JES - 1-2% ЦП и ~400мб ОЗУ), вместо 35-45%.

Проект имеет простую систему плагинов, что делает его расширяемым.

JES проектировался под стационарные пк, что позволяет лучше его проработать под столь прекрасные машины.
Монитор автора - UWQHD (3440x1440), проверенные разрешения: FHD (1920x1080) и выше. (FHD (1920x1080) поддерживается нативно, но при включённом minibar могут быть баги, так как размер не меняется а модель отображения - да)
На них панель не имеет проблем с расположением модулей.
Нативно поддерживается несколько мониторов.

Проект использует bash с кастом выводом, быстрее обновляется для SwayFX и DriftWM, ведь он ориентирован на автора и его повседневное использование.
Этот же факт добавляет постоянности проекту, ведь пока автор занимается своими делами, проект будет эволюционировать и дальше улучшаться.

Для более быстрой загрузки автор решил не вкладывать сюда видеообои с картинок, оставив на них ссылку.

Тема zenburn не распространяется на JES, а только на программы, tty (NixOS only) и прочее, у JES встроенная генерируемая тема + поддержка base16 тем через base16.json

JES ориентирован не на тренды, а на практичность в повседневности и удобство.

-- благодарности -- :

Спасибо Blxshell и его автору за помощь с изучиением Quickshell, хостингом сайта.
Спасибо f026 за первый плагин для JES.
Спасибо автору DriftWM (malbiruk) за помощь с IPC DriftWM, добавлением новых функций в WM для JES и в принципе лояльности к проекту.
Спасибо frosti-4 за скрипт для Arch linux.

-- Дальнейший вектор -- :

[c] Добавление поддержки Hyprland
[c] Добавление поддержки Niri
[c] Добавление поддержки DriftWM
[c] Поддержка base16 тем в JES
[c] Мягкий material you
[c] Вывод информации об уст-ве, подключённое через kdeconnect
[c] Красивый screen picker
[c] Анимированная обложка в плеере, когда нету обложки
[c] Защита от статических обоев с неверным форматом в wallpaper picker
[c] Создание виджета календаря
[c] Поддержка нескольких мониторов
[c] Создание установщика настроек
[c] Выбор стиля нейтральный/яркий
[c] Popup миникарта для driftwm
[с] Добавить путевые точки на карту
[c] Добавить полноценную карту
[c] Сделать нормальный ui в полноценной карте
[c] Разработка api для работы с launcher
[c] Разработка api для работы с plugin center
[c] Создание виджета погоды
[c] Создание полноценного api
[c] Установка JES через flake
[c] Переработка подкпатоной части
[i] Перевод Hyprland на lua конфиги
[i] Фикс Niri
[p] Разработка api для работы с bar
[n] Выбор темы тёмная/светлая
c = completed; n = not completed; i = in progress; p = planned.

Для кого JES?

  • Стационарные ПК с разрешением FHD+ (автор использует UWQHD)
  • Пользователи SwayFX / Hyprland / Niri / DriftWM или энтузиасты с временем на первичную настройку (сам shell работает на любом wm, но бинды и настройки тайлинга будут тогда отсутствовать)
  • Те, кто ценит производительность и архитектуру выше трендов
  • Нужен приятный и легковесный для цп/гпу интерфейс

Если вы попадаете в эту аудиторию — добро пожаловать. Если нет — возможно, проект не для вас, и это нормально.

-- ВАЖНО -- :

  • Nvidia видеокарты работают УЖАСНО, всё моментально может завсинусть из-за ничего, автор не собирается этот вопрос решать, так как это пробелмы на стороне драйверов!
  • Автор не имеет опыта работы с Arch Linux, установка на Arch может быть неккоректной, если так и есть, просьба описать проблему в Issue, а по возможности предложить фикс
  • Установка находится в самом низу
  • Автор открыт к предложениям и помогает с освоением проекта, в случае проблем, писать в Issue
Если хочется живых видео обоев, то на выбор есть видеообои и шейдеры (последнее может плохо работать с автогенерацией темы JES)

Обои с скриншотов: тык

структура JES

-- Что меняется в JES --:

  • wm - auto, но для подключения WM не из списка доступных надо прописывать название с большой буквы
  • wm_type - auto, но для WM не из списка доступных на выбор workspaces или coordinates
  • mainRad - скругления, изначально - 10, работает идеально с параметрами 0-25
  • barOnTop - панель управления вверху, а также прилежащие к ней виджеты, изначально включено
  • minibar - делает панель шириной 1920px, изначально выключен
  • BarHeight - высота панели, изначально 30
  • fontSize - размер шрифта, изначально 17
  • fontFamily - шрифт, изначально Mononoki Nerd Font Propo
  • custom_wallpaper_engine - выключить встроенные обои, изначально false
  • disableGenerate - переключение JES matugen темы на base16, изначально false
  • doNotDisturb - тихий режим, изначально false
  • timezone - город виджета погоды, изначально не присутствует, берётся данные из user-config.toml конфигурации NixOS
Важно, config.toml лежит в папке JES (~/.config/JES/)
	также его можно изменять, вызвав jes-cli editConf
в jes-cli для редакции конфига используется micro, для выхода используйте Ctrl+Q, а для сохранения - Ctrl+S

JES для DriftWM

-- Комбинации клавиш для SwayfX, Hyprland и Niri -- :

комбинациячто делает
super + eфайловый менеджер
super + q | super + enterтерминал
super + pКнопки питания
super + 1-0 или super + scrll up | scrll dwnпереключение между р. столами
super + shift + 1-0 или super + shift + стрелкиперенос программ между р. столами
super + пкмресайз окон
super + shift + стрелки или super + лкмперемещение окна
super + стрелкипереключение между окнами
super + alt + лкмизменение типа окна: плавающий или в тайлинге
super + wперезапуск интерфейса
homeполноэкранный снимок
shift + homeснимок выделенной области
super + dоткрыть лаунчер приложений
super + gсоздать группу
super + ctrl + gразгруппировать программы
super + tabпрошлый р. стол
capslock или shift + altсмена языка
shift + capslockвключить | выключить капс
super + spaceраскрыть окно, поверх других
ctrl + /воспроизвести | остановить музыку
ctrl + .следующий трек
ctrl + ,предыдущий трек
alt + pgupповысить яркость
alt + pgdnпонизить яркость
alt + F9выключить звук
alt + F10тише
alt + F11громче
alt + F12открыть | закрыть проигрыватель
  • для открытия центра плагинов надо нажать пкм по кнопке питания
  • для открытия календаря надо нажать пкм по времени, лкм меняет время с датой местами

выбор кнопки для снимков вынесен вверх, т.к. не всем удобен home или он может отсутствовать, как у автора на клавиатуре print screen

Комбинации клавиш для DriftWM

-- Как выглядит JES --:

Рабочий стол

alt_image alt_image

Панель управления (DriftWM версия отличается, см. DriftWM_rus.md)

alt_image

Выбор обоев

alt_image

Проигрыватель

alt_image alt_image

Кнопки питания

alt_image

fastfetch

alt_image

alt_image

Лаунчер приложений

alt_image

блокировка экрана

alt_image alt_image

bash строка

1 [02:00 - orflem:~]$  cd gits/just_enough_shell/
2 [02:00 - orflem:~/gits/just_enough_shell main]$  

номер команды, дата, юзер, директория, состояние гита (при открытии проекта, связанный с git)

-- Плагины --:

Установка

1. откройте ~/.config/JES/
2. закиньте папку с плагином в папку plugins
3. откройте config.toml
4. впишите данные строки:
   [[plugin]]
   name = "plugin name" # data in property name from manifest.json
   active = true

Подробная инструкция создания плагинов

Репозиторий плагинов

Важно: репозиторий только на английском, ввиду того, что на эту часть сильно влияет комьюнити проекта, и переводить все краткие описания на разные языки - невыносимо трудно

-- Установка JES --:

NixOS clear

  • Установите NixOS
  • запустите установщик:
nix-shell -p git --run "git clone https://github.com/ORFLEM/just_enough_shell.git && cd just_enough_shell && ./install.sh"
  • выберите полную установку
  • перезапуститесь reboot

NixOS develop

  • Установите NixOS
  • запустите установщик:
nix-shell -p git --run "git clone https://github.com/ORFLEM/just_enough_shell.git && cd just_enough_shell && ./install.sh"
  • выберите установку только JES
  • добавьте в imports ./JES.nix и в конфиге
services.jes = {
  enable = true;
  users = [ " your user" ];
};
  • собирите систему c нужными параметрами
  • перезапуститесь reboot

NixOS flake

  • в flake укажите следующее:
{
	inputs = {
    jes.url = "github:ORFLEM/just_enough_shell";
	}
	outputs = { your inputs, jes, ... }@inputs:
  let
    system = "x86_64-linux";
    hostname = "nixos";

    specialArgs = { inherit inputs system hostname; };

  in {
    nixosConfigurations.${hostname} = nixpkgs.lib.nixosSystem {
      inherit system specialArgs;
      modules = [
				jes.nixosModules.default
			];
		};
	};
}
  • пересобeрите flake
  • в configuration.nix укажите
services.jes = {
  enable = true;
  users = [ " your user" ];
};
  • пересоберите NixOS

Arch Linux или Arch based (может быть неккоректной, в случае проблем, писать в Issue)

  • Установите Arch Linux (для простоты советую EndeavourOS)
  • Запустите установщик:
git clone https://github.com/ORFLEM/just_enough_shell.git && cd just_enough_shell && ./install_arch.sh
  • В случае ошибок устанавливайсте вручную:
1. Установите Arch Linux (для простоты советую EndeavourOS)
2. Установите yay или paru (yay: git clone https://aur.archlinux.org/yay.git && cd yay && makepkg -si)
3. Установите официальный софт (sudo pacman -Syu && pacman -S $(cat ./installer/arch_official.txt))
4. Установите юзер софт (yay -S $(cat ./installer/arch_aur.txt))
5. Установите тему zenburn для qt и gtk
6. При желании можно настроить системные темы (GTK/Qt) под zenburn и установить шрифт ter-v32n
7. создайте бекап конфигов юзера (cp -r ~/.config/ ~/backups/ && cp ~/.bashrc ~/backups)
8. из ".config/" перекинуть файлы в "~/.config", а из ".local/" в "~/.local" (cp -r ./.local/* ~/.local/ && cp -r ./.config/* ~/.config/ && cp ./.bashrc ~/.bashrc)
9. введите reboot

-- Лицензия --:

Уведомления были взяты из проекта blxshell и модернизированы как визуально, так и частично технически, лицензия GNU GPL v3 Советую его посмотреть

Эти конфигурации распространяются под лицензией GNU GPL v3.

Простыми словами это значит:

  • Вы можете свободно использовать, изучать и изменять этот код.
  • Если вы делитесь своими изменениями или собранной на основе этого кодом с другими (например, выложили форк), вы обязаны сделать ваш исходный код также открытым и доступным для всех под этой же лицензией.

Это гарантирует, что все улучшения и производные работы останутся свободными и открытыми, как и оригинал.

Полный текст лицензии см. в файле LICENSE.

boosty

Created by _ORFLEM_