Last active
January 23, 2026 07:43
-
-
Save ponfertato/1d38d07bea0e347c28f5be44aa488ffd to your computer and use it in GitHub Desktop.
Набор оптимизированных .desktop файлов для NixOS (Flake) + KDE Plasma: запуск AppImage приложений, OpenSeeFace (трекер лица для VTube Studio), и мультиклиент VPN (v2rayN/FlClash/Karing) с выбором из меню. Все файлы полностью автономные, без внешних скриптов, с поддержкой русской локализации и контекстными действиями.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/usr/bin/env xdg-open | |
| [Desktop Entry] | |
| Actions=OpenDirectory;CreateDirectory; | |
| Categories=Utility;System; | |
| Comment[ru_RU]=Управление AppImage приложениями в NixOS | |
| Comment=Управление AppImage приложениями в NixOS | |
| Exec=konsole --hold -e bash -c 'APP_DIR="$HOME/Документы/Программы"; [ -d "$APP_DIR" ] || { echo "Папка не существует: $APP_DIR"; read -p "Нажмите Enter для выхода..."; exit 1; }; shopt -s nullglob; appimages=("$APP_DIR"/*.appimage); [ ${#appimages[@]} -eq 0 ] && { echo "Нет AppImage файлов в папке"; read -p "Нажмите Enter для выхода..."; exit 1; }; PS3="Выберите приложение: "; select app in "${appimages[@]##*/}"; do [ -n "$app" ] && break; echo "Неверный выбор"; done; echo "Запуск: ${app%.appimage}"; nix --extra-experimental-features nix-command --extra-experimental-features flakes shell nixpkgs#appimage-run --command appimage-run "$APP_DIR/$app"' | |
| GenericName[ru_RU]= | |
| GenericName= | |
| Icon=system-run-symbolic | |
| Keywords[ru_RU]=AppImage;Запуск;NixOS;Flake; | |
| Keywords=AppImage;Launcher;NixOS;Flake; | |
| MimeType= | |
| Name[ru_RU]=Запуск AppImage | |
| Name=Запуск AppImage | |
| Path= | |
| StartupNotify=true | |
| StartupWMClass=konsole | |
| Terminal=false | |
| TerminalOptions= | |
| Type=Application | |
| Version=1.0 | |
| X-KDE-SubstituteUID=false | |
| X-KDE-Username= | |
| [Desktop Action CreateDirectory] | |
| Exec=konsole --hold -e bash -c 'APP_DIR="$HOME/Документы/Программы"; mkdir -p "$APP_DIR" && echo "Папка создана: $APP_DIR" || echo "Ошибка создания папки"; read -p "Нажмите Enter для выхода..."' | |
| Name[ru_RU]=Создать папку | |
| Name=Создать папку | |
| [Desktop Action OpenDirectory] | |
| Exec=konsole --hold -e bash -c 'APP_DIR="$HOME/Документы/Программы"; if [ -d "$APP_DIR" ]; then cd "$APP_DIR"; ls -1 *.appimage 2>/dev/null | cat; else echo "Папка не существует"; fi; echo; read -p "Нажмите Enter для выхода..."' | |
| Name[ru_RU]=Открыть папку | |
| Name=Открыть папку |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/usr/bin/env xdg-open | |
| [Desktop Entry] | |
| Version=1.0 | |
| Type=Application | |
| Name=Nix Package Launcher | |
| Name[ru]=Запуск пакетов Nix | |
| Comment=Универсальный запуск пакетов из любого канала Nix | |
| Comment[ru]=Универсальный запуск пакетов из любого канала Nix | |
| Exec=konsole --hold -e bash -c 'while true; do clear; echo "=== Запуск пакета из Nix ==="; echo; echo "1) nixos-25.11 (stable)"; echo "2) nixos-unstable"; echo "3) Своя версия"; echo; while true; do read -p "Выберите канал (1-3): " channel_choice; case $channel_choice in 1) channel="nixpkgs/nixos-25.11"; break;; 2) channel="nixpkgs/nixos-unstable"; break;; 3) read -p "Введите канал (например: github:NixOS/nixpkgs/nixos-25.05): " custom_channel; if [ -n "$custom_channel" ]; then channel=$custom_channel; break; else echo "Канал не может быть пустым"; fi;; *) echo "Неверный выбор"; sleep 1;; esac; done; while true; do read -p "Введите имя пакета: " package_name; if [ -n "$package_name" ]; then break; else echo "Имя пакета не может быть пустым"; fi; done; while true; do read -p "Введите команду запуска (например: bash): " command_name; if [ -n "$command_name" ]; then break; else echo "Команда не может быть пустой"; fi; done; echo; echo "Запуск: $command_name из $channel#$package_name"; export NIXPKGS_ALLOW_UNFREE=1; if nix --extra-experimental-features "nix-command flakes" shell --impure $channel#$package_name --command $command_name; then break; else echo; echo "❌ Ошибка загрузки пакета. Проверьте:"; echo "- Правильность имени канала и пакета"; echo "- Наличие интернет-соединения"; echo "- Доступность unfree пакетов (если требуется)"; echo; read -p "Нажмите Enter для повторной попытки или Ctrl+C для отмены..."; fi; done' | |
| Icon=software-updates-inactive | |
| Terminal=false | |
| Categories=Utility;System; | |
| StartupNotify=true | |
| Keywords=nix;package;launcher;flakes; | |
| Keywords[ru]=nix;пакет;запуск;флейки; | |
| StartupWMClass=konsole | |
| Actions=Examples;Help; | |
| [Desktop Action Examples] | |
| Name=Примеры использования | |
| Name[ru]=Примеры использования | |
| Exec=konsole --hold -e bash -c 'echo "=== Примеры запуска ==="; echo; echo "1) SunVox:"; echo " Канал: 1 (nixos-25.11)"; echo " Пакет: sunvox"; echo " Команда: sunvox"; echo; echo "2) v2rayN:"; echo " Канал: 2 (nixos-unstable)"; echo " Пакет: v2rayn"; echo " Команда: v2rayN"; echo; echo "3) FlClash:"; echo " Канал: 2 (nixos-unstable)"; echo " Пакет: flclash"; echo " Команда: FlClash"; echo; read -p "Нажмите Enter для выхода..."' | |
| [Desktop Action Help] | |
| Name=Справка | |
| Name[ru]=Справка | |
| Exec=konsole --hold -e bash -c 'echo "=== Справка по Nix Package Launcher ==="; echo; echo "Шаги запуска:"; echo "1. Выберите канал/ветку Nixpkgs"; echo "2. Введите имя пакета (как в nixpkgs)"; echo "3. Введите команду для запуска (бинарник)"; echo; echo "Поддерживаемые каналы:"; echo "- nixos-25.11 (стабильный)"; echo "- nixos-unstable (последние версии)"; echo "- Любая кастомная ссылка"; echo; echo "Важно:"; echo "- Для unfree пакетов устанавливается NIXPKGS_ALLOW_UNFREE=1"; echo "- Требуются экспериментальные фичи: nix-command flakes"; echo; read -p "Нажмите Enter для выхода..."' |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/usr/bin/env xdg-open | |
| [Desktop Entry] | |
| Actions=Configure;Help; | |
| Categories=Utility;System; | |
| Comment[ru_RU]=Запуск OpenSeeFace для отслеживания лица | |
| Comment=Запуск OpenSeeFace для отслеживания лица | |
| Exec=konsole --hold -e bash -c 'PARAMS="-c 0 -W 1280 -H 720 --discard-after 0 --scan-every 0 --no-3d-adapt 1 --max-feature-updates 900"; echo "Запуск OpenSeeFace..."; nix --extra-experimental-features nix-command --extra-experimental-features flakes shell nixpkgs#openseeface --command facetracker $PARAMS' | |
| GenericName[ru_RU]= | |
| GenericName= | |
| Icon=camera-web | |
| Keywords[ru_RU]=лицо;трекинг;опенсифейс;втубер; | |
| Keywords=face;tracking;openseeface;vtuber; | |
| MimeType= | |
| Name[ru_RU]=OpenSeeFace (трекер лица) | |
| Name=OpenSeeFace (трекер лица) | |
| Path= | |
| StartupNotify=true | |
| StartupWMClass=OpenSeeFace | |
| Terminal=false | |
| TerminalOptions= | |
| Type=Application | |
| Version=1.0 | |
| X-KDE-SubstituteUID=false | |
| X-KDE-Username= | |
| [Desktop Action Configure] | |
| Exec=konsole --hold -e bash -c 'echo "Доступные параметры:"; echo "-c <id> : камера (0 по умолчанию)"; echo "-W <width> : ширина захвата"; echo "-H <height> : высота захвата"; echo "--max-feature-updates <fps> : макс частота обновления"; echo; echo "Текущие параметры:"; echo "-c 0 -W 1280 -H 720 --discard-after 0 --scan-every 0 --no-3d-adapt 1 --max-feature-updates 900"; echo; read -p "Нажмите Enter для выхода..."' | |
| Name[ru_RU]=Настроить параметры | |
| Name=Настроить параметры | |
| [Desktop Action Help] | |
| Exec=konsole --hold -e bash -c 'echo "OpenSeeFace - трекер лица для VTube Studio"; echo "Официальный репозиторий: https://github.com/HyperBE32/OpenSeeFace"; echo "Документация: https://github.com/HyperBE32/OpenSeeFace/wiki"; echo; read -p "Нажмите Enter для выхода..."' | |
| Name[ru_RU]=Помощь | |
| Name=Помощь |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/usr/bin/env xdg-open | |
| [Desktop Entry] | |
| Actions=Status; | |
| Categories=Network;Proxy; | |
| Comment[ru_RU]=Выбор и запуск VPN клиента в NixOS | |
| Comment=Выбор и запуск VPN клиента в NixOS | |
| Exec=konsole --hold -e bash -c 'export NIXPKGS_ALLOW_UNFREE=1; export NIX_CONFIG="experimental-features = nix-command flakes"; clients=("v2rayN" "FlClash" "Karing"); PS3="Выберите VPN клиент: "; select client in "${clients[@]}"; do case $client in "v2rayN") echo "Запуск v2rayN..."; nix shell nixpkgs#v2rayn --command v2rayN ;; "FlClash") echo "Запуск FlClash..."; nix shell nixpkgs#flclash --command FlClash ;; "Karing") echo "Запуск Karing..."; if command -v karing &>/dev/null; then karing; else nix shell --impure nixpkgs#karing --command karing; fi ;; *) echo "Неверный выбор";; esac; break; done' | |
| GenericName[ru_RU]= | |
| GenericName= | |
| Icon=network-vpn | |
| Keywords[ru_RU]=VPN;прокси;в2рай;кэш; | |
| Keywords=VPN;proxy;v2ray;clash; | |
| MimeType= | |
| Name[ru_RU]=VPN Клиенты | |
| Name=VPN Клиенты | |
| Path= | |
| StartupNotify=true | |
| StartupWMClass=konsole | |
| Terminal=false | |
| TerminalOptions= | |
| Type=Application | |
| Version=1.0 | |
| X-KDE-SubstituteUID=false | |
| X-KDE-Username= | |
| [Desktop Action Status] | |
| Exec=konsole --hold -e bash -c 'echo "Проверка статуса VPN:"; if pgrep -x "v2rayN" &>/dev/null; then echo "✅ v2rayN: запущен"; else echo "❌ v2rayN: не запущен"; fi; if pgrep -x "FlClash" &>/dev/null; then echo "✅ FlClash: запущен"; else echo "❌ FlClash: не запущен"; fi; if pgrep -x "karing" &>/dev/null; then echo "✅ Karing: запущен"; else echo "❌ Karing: не запущен"; fi; echo; read -p "Нажмите Enter для выхода..."' | |
| Name[ru_RU]=Статус подключения | |
| Name=Статус подключения |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment