93 lines
No EOL
6.4 KiB
Nix
93 lines
No EOL
6.4 KiB
Nix
{
|
||
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 = "~/dots";
|
||
in {
|
||
rb = "sudo nixos-rebuild switch --flake ${flakeDir}"; # Применить новый конфиг
|
||
|
||
# Можно назвать аналогом "sudo pacman -Su", не "Syu", репу не обновляет
|
||
upg = "sudo nixos-rebuild switch --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"; # Зайти в ranger и чтоб при выходе я cd в каталог, из которого выходил
|
||
ff = "fastfetch";
|
||
yt = "cd /mnt/backups/Media/yt-dlp"; # Конфиги для бекапа YouTube
|
||
qb = "cd /mnt/backups/Media/Music/Qobux/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 <format> <files>"" to compress <files> into an archive file using <format>
|
||
#"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", но быстрее и с более сложным и точным алгоритмом для ранжирования директорий
|
||
];
|
||
};
|
||
};
|
||
} |