Skip to content

Latest commit

 

History

History
105 lines (71 loc) · 5.39 KB

File metadata and controls

105 lines (71 loc) · 5.39 KB

🛠 Custom Arch Linux Scripts

Мой набор утилит для работы с видео, терминалом и бэкапами заметок.

1. compress.sh — Умное сжатие видео

Скрипт для качественного сжатия видеофайлов под лимит ~400 МБ (например, для загрузки в мессенджеры или файлообменники с ограничениями).

  • Как это работает:

  • Анализирует длительность видео.

  • Автоматически вычисляет максимально возможный битрейт, чтобы итоговый файл весил ровно 385 МБ.

  • Делает звук моно (48k), чтобы отдать больше места под картинку.

  • Использует 2-проходное кодирование (2-pass) с пресетом slower для максимального качества при заданном размере.

  • Использование:

./compress.sh my_video.mp4
  • Результат: Рядом появится файл my_video_399mb.mp4.

2. ghostty-cwd.sh — Новый терминал в текущей папке (Niri WM)

Скрипт для запуска нового экземпляра терминала Ghostty в той же директории, где я сейчас нахожусь. Написан специально для оконного менеджера Niri.

  • Как это работает:

  • Запрашивает у Niri (niri msg) информацию об активном окне.

  • Находит PID процесса оболочки (bash/fish/zsh) внутри этого окна.

  • Считывает рабочий путь через /proc/PID/cwd.

  • Открывает Ghostty в найденной папке (или в $HOME, если не нашел).

  • Использование: Лучше всего повесить на хоткей в конфиге Niri (config.kdl):

bind "Mod+Enter" { spawn "/путь/к/скрипту/ghostty-cwd.sh"; }

3. sync.sh — Синхронизация Obsidian

Скрипт для автоматического бэкапа хранилищ Obsidian (папки Prog и Self) в Git-репозиторий.

  • Как это работает:

  • Anti-crash: Принудительно удаляет файлы index.lock, если предыдущая синхронизация/git упали (чтобы не блокировать новую).

  • Выполняет стандартную цепочку: git add -> git commit -> git push для двух папок по очереди.

  • Отправляет системное уведомление (notify-send) об успехе или ошибке.

  • Использование: Можно запускать вручную в конце дня или добавить в Cron/Systemd-timer для автозапуска:

./sync.sh

4. config.fish — Алиасы и аббревиатуры Fish Shell

Моя конфигурация Fish Shell (.config/fish/config.fish) с набором алиасов, аббревиатур и настроек окружения.

Алиасы (eza)

Если установлен eza, стандартные команды ls заменяются на улучшенные версии с иконками и git-статусом:

Алиас Команда Описание
ls eza --icons --group-directories-first Список файлов с иконками
ll eza -l -g --icons --git --group-directories-first Подробный список с git-статусом
la eza -l -a -g --icons --git --group-directories-first То же + скрытые файлы
lt eza --tree --level=2 --icons Дерево файлов (2 уровня)

Аббревиатуры (Git и система)

Сокращение Команда Описание
gs git status Статус репозитория
ga git add . Добавить все изменения
gc git commit -m Коммит с сообщением
gp git push Отправить в remote
pac sudo pacman -S Установка пакета

Прочие алиасы

Алиас Команда Описание
myip curl ifconfig.me Узнать внешний IP
cls clear Очистить терминал
cat bat Подсветка синтаксиса при выводе файлов
d docker Docker
d-c docker-compose Docker Compose
lg lazygit TUI для Git
ld lazydocker TUI для Docker

Окружение

  • Starship — prompt инициализируется через starship init fish
  • pnpm — добавлен в PATH (~/.local/share/pnpm)
  • Homebrew (Linuxbrew) — подключен через brew shellenv
  • Курсор — принудительно block во всех режимах Fish
  • MOZ_ENABLE_WAYLAND=1 — Firefox запускается в нативном Wayland-режиме