{ programs.zsh = { enable = true; enableCompletion = true; autosuggestion = { enable = true; strategy = [ # Выбери только один из них (а мб нет, сначала ищет историю, если пусто, то комплитит) "history" # Chooses the most recent match from history. "completion" # Chooses a suggestion based on what tab-completion would suggest. (requires Zsh 3.1 or later) ]; }; syntaxHighlighting.enable = true; # Плюс это https://github.com/ohmyzsh/ohmyzsh/wiki/Cheatsheet shellAliases = let flakeDir = "~/nixos-private-dots"; in { rb = "sudo nixos-rebuild switch --impure --flake ${flakeDir}"; # Применить новый конфиг # Можно назвать аналогом "sudo pacman -Su", не "Syu", репу не обновляет upg = "sudo nixos-rebuild switch --impure --upgrade --flake ${flakeDir}"; # Обновить пакеты, но не репозиторий во fleke.lock # Возможно это аналог "sudo pacman -Sy". Обновить репозиторий, чтоб потом на него обновиться? Пакеты не обновляет upd = "nix flake update ${flakeDir}"; # Обновляет flake.lock на последние коммиты с гитхаба? pkgs = "nvim ${flakeDir}/nixos/packages.nix"; v = "nvim"; t = "timer"; r = "ranger"; ff = "fastfetch"; yt = "cd /mnt/backups/Media/yt-dlp"; # Конфиги для бекапа YouTube qb = "cd /mnt/backups/Media/Music/Qobuz/qdl"; # Бекапить музыку с Qobuz }; history = { ignoreAllDups = true; # Удалять дубликаты из истории ignoreSpace = true; # Не сохранять команду в истории, если перед ней стоит пробел }; historySubstringSearch.enable = true; # Чтоб вверх/вниз учитывал уже написанную команду oh-my-zsh = { # https://github.com/ohmyzsh/ohmyzsh enable = true; plugins = [ # Комментирую то, в надобности чего не уверен, но показалось интересным. Можно удалить "alias-finder" # Напомнит, если у написанной команды есть алиас (нет) "aliases" # "als" в терминале покажет все алиасы. Можно добавить слово для фильтрации "autoenv" # If a directory contains an .env file, it will automatically be executed when you cd into it "bgnotify" # Оповещения для долгих комманд. Make sure you have "notify-send" or "kdialog" installed #"branch" # Отображает текущую ветку гита. Хз надо ли, когда starship установлен #"bun" # Completion for Bun #"celery" # Completion for Celery #"charm" # Completion for https://github.com/charmbracelet/charm "colored-man-pages" # Adds colors to man pages #"command-not-found" # Скажет какой пакет скачать, если команда не найдена "copypath" # В терминале "copypath" скопирует нынешний абсолютный путь. Можно "copypath файл или дироктория" "dirhistory" # Лютая имба https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/dirhistory #"docker-compose" # Completion and aliases for frequent docker-compose commands #"docker" # Completion and aliases for docker "extract" # В терминале "extract filename" чтоб разархивировать файл. Одна команда на все архивы "fzf" # https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/fzf #"gh" # Completion for the GitHub CLI "git" # Git aliases https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/git #"gitfast" # Completion for Git? https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/gitfast #"gitignore" # Use https://gitignore.io from the command line "golang" # Completions and aliases for golang #"gpg-agent" # Enables GPG's gpg-agent if it is not running. Хз что это значит, мб пригодится "httpie" # Completion for HTTPie, a command line HTTP client, a friendlier cURL replacement. #"isodate" # Completion for the ISO 8601, as well as some aliases for common Date commands. #"kitty" # Aliases for kitty terminal #"mise" # dev tools, env vars, task runner https://github.com/jdx/mise #"npm" # Completion and aliases for npm #"nvm" # Autocompletions for nvm — a Node.js version manager "pass" # Completion for the pass password manager #"pip" # Completion for pip, the Python package manager #"podman" # Autocompletion and aliases for podman. "python" # Aliases for useful Python commands "rust" # Completion for rustc, rustup and cargo "safe-paste" # Preventing any code from running while pasting, so you have a chance to review what was pasted #"ssh-agent" # Автостарт ssh-agent. Хз надо ли настраивать и если да, то как #"starship" # А надо ли оно? Я для starship написал отдельно вкл интеграции в его файле настроек #"systemadmin" # Adds a series of aliases and functions which make a System Administrator's life easier "systemd" # Many useful aliases for systemd "timer" # Показывает время выполнения команды "universalarchive" # Run "ua "" to compress into an archive file using #"vi-mode" # https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/vi-mode #"watson" # Completion for https://github.com/TailorDev/Watson (CLI to track your time) # "z" # Tracks your most visited directories and allows you to access them with very few keystrokes "zoxide" # Как "z", но быстрее и с более сложным и точным алгоритмом для ранжирования директорий ]; }; }; }