diff --git a/.config/atuin/.github/README.md b/.config/atuin/.github/README.md new file mode 100644 index 00000000..c4d7c3de --- /dev/null +++ b/.config/atuin/.github/README.md @@ -0,0 +1,40 @@ +
+ +
+ +
+ +
+ +
+ +
+ + + + + +
+ +# :herb: ‎ About + +Atuin is such a cool tool. It lets you easily **sync** all your shell history across multiple devices. I was looking for something like this for a while, and I'm glad I found it. + +After the installation, you have to create a user with a password and save the key that will be given to you. Then you use that key and user on the other PC to sync their history together. + +# :gear: ‎ Config + +Atuin works at the start of a session with the shell you have. + +The base configuration found here can be used regardless of the shell you have `:)` + +I have Atuin configured to work with the fish shell, as it is the one I use on a daily basis. If you want to know how to change it, take a look at the **official [Atuin Configuration Guide](https://atuin.sh/docs/config/)**. + +Aside from that, I have configured Atuin to replace the up-arrow history of Fish with a fuzzy search included in Atuin itself. +I also changed the frequency at which Atuin syncs its history with the server; it basically syncs every time you execute a command (**dont worry**, it will not slow down your shell). + +# :camera: ‎ Gallery + +![overview-1](./overview-1.png) + +![overview-2](./overview-2.png) diff --git a/.config/atuin/.github/overview-1.png b/.config/atuin/.github/overview-1.png new file mode 100644 index 00000000..a2952ba1 Binary files /dev/null and b/.config/atuin/.github/overview-1.png differ diff --git a/.config/atuin/.github/overview-2.png b/.config/atuin/.github/overview-2.png new file mode 100644 index 00000000..cdbb02a6 Binary files /dev/null and b/.config/atuin/.github/overview-2.png differ diff --git a/.config/atuin/.github/title.png b/.config/atuin/.github/title.png new file mode 100644 index 00000000..d9582b91 Binary files /dev/null and b/.config/atuin/.github/title.png differ diff --git a/.config/atuin/config.toml b/.config/atuin/config.toml new file mode 100644 index 00000000..1ff39ff3 --- /dev/null +++ b/.config/atuin/config.toml @@ -0,0 +1,104 @@ +## where to store your database, default is your system data directory +## linux/mac: ~/.local/share/atuin/history.db +## windows: %USERPROFILE%/.local/share/atuin/history.db +# db_path = "~/.history.db" + +## where to store your encryption key, default is your system data directory +## linux/mac: ~/.local/share/atuin/key +## windows: %USERPROFILE%/.local/share/atuin/key +# key_path = "~/.key" + +## where to store your auth session token, default is your system data directory +## linux/mac: ~/.local/share/atuin/session +## windows: %USERPROFILE%/.local/share/atuin/session +# session_path = "~/.session" + +## date format used, either "us" or "uk" +# dialect = "us" + +## enable or disable automatic sync +auto_sync = true + +## enable or disable automatic update checks +update_check = true + +## address of the sync server +# sync_address = "https://api.atuin.sh" + +## how often to sync history. note that this is only triggered when a command +## is ran, so sync intervals may well be longer +## set it to 0 to sync after every command +sync_frequency = "10m" + +## which search mode to use +## possible values: prefix, fulltext, fuzzy, skim +search_mode = "fuzzy" + +## which filter mode to use +## possible values: global, host, session, directory +# filter_mode = "global" + +## which filter mode to use when atuin is invoked from a shell up-key binding +## the accepted values are identical to those of "filter_mode" +## leave unspecified to use same mode set in "filter_mode" +# filter_mode_shell_up_key_binding = "global" + +## which style to use +## possible values: auto, full, compact +style = "full" + +## the maximum number of lines the interface should take up +## set it to 0 to always go full screen +inline_height = 40 + +## enable or disable showing a preview of the selected command +## useful when the command is longer than the terminal width and is cut off +# show_preview = false + +## what to do when the escape key is pressed when searching +## possible values: return-original, return-query +# exit_mode = "return-original" + +## possible values: emacs, subl +# word_jump_mode = "emacs" + +## characters that count as a part of a word +# word_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" + +## number of context lines to show when scrolling by pages +# scroll_context_lines = 1 + +## use ctrl instead of alt as the shortcut modifier key for numerical UI shortcuts +## alt-0 .. alt-9 +# ctrl_n_shortcuts = false + +## prevent commands matching any of these regexes from being written to history. +## Note that these regular expressions are unanchored, i.e. if they don't start +## with ^ or end with $, they'll match anywhere in the command. +## For details on the supported regular expression syntax, see +## https://docs.rs/regex/latest/regex/#syntax +# history_filter = [ +# "^secret-cmd", +# "^innocuous-cmd .*--secret=.+" +# ] + +## prevent commands run with cwd matching any of these regexes from being written +## to history. Note that these regular expressions are unanchored, i.e. if they don't +## start with ^ or end with $, they'll match anywhere in CWD. +## For details on the supported regular expression syntax, see +## https://docs.rs/regex/latest/regex/#syntax +# cwd_filter = [ +# "^/very/secret/area" +# ] + +enter_accept = true + +## vim-mode +keymap_mode = "vim-insert" + +## faster sync +[sync] +records = true + +[theme] +name = "catppuccin-macchiato-lavender" diff --git a/.config/atuin/themes/catppuccin-macchiato-lavender.toml b/.config/atuin/themes/catppuccin-macchiato-lavender.toml new file mode 100644 index 00000000..15039d2f --- /dev/null +++ b/.config/atuin/themes/catppuccin-macchiato-lavender.toml @@ -0,0 +1,12 @@ +[theme] +name = "catppuccin-macchiato-lavender" + +[colors] +AlertInfo = "#a6da95" +AlertWarn = "#f5a97f" +AlertError = "#ed8796" +Annotation = "#b7bdf8" +Base = "#cad3f5" +Guidance = "#939ab7" +Important = "#ed8796" +Title = "#b7bdf8" diff --git a/.config/fish/.github/README.md b/.config/fish/.github/README.md new file mode 100644 index 00000000..60e9135f --- /dev/null +++ b/.config/fish/.github/README.md @@ -0,0 +1,22 @@ +
+ +
+ +
+ +
+ +
+ +
+ + + + + +
+ +
+ +> [!NOTE] +> All the information about the Fish setup is on the documentation website: https://dotfiles-docs.vercel.app/app-confs/fish.html diff --git a/.config/fish/.github/overview-1.png b/.config/fish/.github/overview-1.png new file mode 100644 index 00000000..8ac16da4 Binary files /dev/null and b/.config/fish/.github/overview-1.png differ diff --git a/.config/fish/.github/overview-2.png b/.config/fish/.github/overview-2.png new file mode 100644 index 00000000..1fc3caf9 Binary files /dev/null and b/.config/fish/.github/overview-2.png differ diff --git a/.config/fish/.github/title.png b/.config/fish/.github/title.png new file mode 100644 index 00000000..caa3cc27 Binary files /dev/null and b/.config/fish/.github/title.png differ diff --git a/.config/fish/abbreviations.fish b/.config/fish/abbreviations.fish new file mode 100644 index 00000000..84dd315c --- /dev/null +++ b/.config/fish/abbreviations.fish @@ -0,0 +1,2 @@ +abbr -a g git +abbr -a d docker diff --git a/.config/fish/completions/bun.fish b/.config/fish/completions/bun.fish new file mode 100644 index 00000000..e262bb66 --- /dev/null +++ b/.config/fish/completions/bun.fish @@ -0,0 +1,186 @@ +# This is terribly complicated +# It's because: +# 1. bun run has to have dynamic completions +# 2. there are global options +# 3. bun {install add remove} gets special options +# 4. I don't know how to write fish completions well +# Contributions very welcome!! + +function __fish__get_bun_bins + string split ' ' (bun getcompletes b) +end + +function __fish__get_bun_scripts + set -lx SHELL bash + set -lx MAX_DESCRIPTION_LEN 40 + string trim (string split '\n' (string split '\t' (bun getcompletes z))) +end + +function __fish__get_bun_packages + if test (commandline -ct) != "" + set -lx SHELL fish + string split ' ' (bun getcompletes a (commandline -ct)) + end +end + +function __history_completions + set -l tokens (commandline --current-process --tokenize) + history --prefix (commandline) | string replace -r \^$tokens[1]\\s\* "" | string replace -r \^$tokens[2]\\s\* "" | string split ' ' +end + +function __fish__get_bun_bun_js_files + string split ' ' (bun getcompletes j) +end + +set -l bun_install_boolean_flags yarn production optional development no-save dry-run force no-cache silent verbose global +set -l bun_install_boolean_flags_descriptions "Write a yarn.lock file (yarn v1)" "Don't install devDependencies" "Add dependency to optionalDependencies" "Add dependency to devDependencies" "Don't update package.json or save a lockfile" "Don't install anything" "Always request the latest versions from the registry & reinstall all dependencies" "Ignore manifest cache entirely" "Don't output anything" "Excessively verbose logging" "Use global folder" + +set -l bun_builtin_cmds_without_run dev create help bun upgrade discord install remove add init pm x +set -l bun_builtin_cmds_accepting_flags create help bun upgrade discord run init link unlink pm x + +function __bun_complete_bins_scripts --inherit-variable bun_builtin_cmds_without_run -d "Emit bun completions for bins and scripts" + # Do nothing if we already have a builtin subcommand, + # or any subcommand other than "run". + if __fish_seen_subcommand_from $bun_builtin_cmds_without_run + or not __fish_use_subcommand && not __fish_seen_subcommand_from run + return + end + # Do we already have a bin or script subcommand? + set -l bins (__fish__get_bun_bins) + if __fish_seen_subcommand_from $bins + return + end + # Scripts have descriptions appended with a tab separator. + # Strip off descriptions for the purposes of subcommand testing. + set -l scripts (__fish__get_bun_scripts) + if __fish_seen_subcommand_from (string split \t -f 1 -- $scripts) + return + end + # Emit scripts. + for script in $scripts + echo $script + end + # Emit binaries and JS files (but only if we're doing `bun run`). + if __fish_seen_subcommand_from run + for bin in $bins + echo "$bin"\t"package bin" + end + for file in (__fish__get_bun_bun_js_files) + echo "$file"\t"Bun.js" + end + end +end + + +# Clear existing completions +complete -e -c bun + +# Dynamically emit scripts and binaries +complete -c bun -f -a "(__bun_complete_bins_scripts)" + +# Complete flags if we have no subcommand or a flag-friendly one. +set -l flag_applies "__fish_use_subcommand; or __fish_seen_subcommand_from $bun_builtin_cmds_accepting_flags" +complete -c bun \ + -n $flag_applies --no-files -s 'u' -l 'origin' -r -d 'Server URL. Rewrites import paths' +complete -c bun \ + -n $flag_applies --no-files -s 'p' -l 'port' -r -d 'Port number to start server from' +complete -c bun \ + -n $flag_applies --no-files -s 'd' -l 'define' -r -d 'Substitute K:V while parsing, e.g. --define process.env.NODE_ENV:\"development\"' +complete -c bun \ + -n $flag_applies --no-files -s 'e' -l 'external' -r -d 'Exclude module from transpilation (can use * wildcards). ex: -e react' +complete -c bun \ + -n $flag_applies --no-files -l 'use' -r -d 'Use a framework (ex: next)' +complete -c bun \ + -n $flag_applies --no-files -l 'hot' -r -d 'Enable hot reloading in Bun\'s JavaScript runtime' + +# Complete dev and create as first subcommand. +complete -c bun \ + -n "__fish_use_subcommand" -a 'dev' -d 'Start dev server' +complete -c bun \ + -n "__fish_use_subcommand" -a 'create' -f -d 'Create a new project from a template' + +# Complete "next" and "react" if we've seen "create". +complete -c bun \ + -n "__fish_seen_subcommand_from create" -a 'next' -d 'new Next.js project' + +complete -c bun \ + -n "__fish_seen_subcommand_from create" -a 'react' -d 'new React project' + +# Complete "upgrade" as first subcommand. +complete -c bun \ + -n "__fish_use_subcommand" -a 'upgrade' -d 'Upgrade bun to the latest version' -x +# Complete "-h/--help" unconditionally. +complete -c bun \ + -s "h" -l "help" -d 'See all commands and flags' -x + +# Complete "-v/--version" if we have no subcommand. +complete -c bun \ + -n "not __fish_use_subcommand" -l "version" -s "v" -d 'Bun\'s version' -x + +# Complete additional subcommands. +complete -c bun \ + -n "__fish_use_subcommand" -a 'discord' -d 'Open bun\'s Discord server' -x + + +complete -c bun \ + -n "__fish_use_subcommand" -a 'bun' -d 'Generate a new bundle' + + +complete -c bun \ + -n "__fish_seen_subcommand_from bun" -F -d 'Bundle this' + +complete -c bun \ + -n "__fish_seen_subcommand_from create; and __fish_seen_subcommand_from react next" -F -d "Create in directory" + + +complete -c bun \ + -n "__fish_use_subcommand" -a 'init' -F -d 'Start an empty Bun project' + +complete -c bun \ + -n "__fish_use_subcommand" -a 'install' -f -d 'Install packages from package.json' + +complete -c bun \ + -n "__fish_use_subcommand" -a 'add' -F -d 'Add a package to package.json' + +complete -c bun \ + -n "__fish_use_subcommand" -a 'remove' -F -d 'Remove a package from package.json' + + +for i in (seq (count $bun_install_boolean_flags)) + complete -c bun \ + -n "__fish_seen_subcommand_from install add remove" -l "$bun_install_boolean_flags[$i]" -d "$bun_install_boolean_flags_descriptions[$i]" +end + +complete -c bun \ + -n "__fish_seen_subcommand_from install add remove" -l 'cwd' -d 'Change working directory' + +complete -c bun \ + -n "__fish_seen_subcommand_from install add remove" -l 'cache-dir' -d 'Choose a cache directory (default: $HOME/.bun/install/cache)' + +complete -c bun \ + -n "__fish_seen_subcommand_from add" -d 'Popular' -a '(__fish__get_bun_packages)' + +complete -c bun \ + -n "__fish_seen_subcommand_from add" -d 'History' -a '(__history_completions)' + +complete -c bun \ + -n "__fish_seen_subcommand_from pm; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts) cache;" -a 'bin ls cache hash hash-print hash-string' -f + +complete -c bun \ + -n "__fish_seen_subcommand_from pm; and __fish_seen_subcommand_from cache; and not __fish_seen_subcommand_from (__fish__get_bun_bins) (__fish__get_bun_scripts);" -a 'rm' -f + +# Add built-in subcommands with descriptions. +complete -c bun -n "__fish_use_subcommand" -a "create" -f -d "Create a new project from a template" +complete -c bun -n "__fish_use_subcommand" -a "build bun" --require-parameter -F -d "Transpile and bundle one or more files" +complete -c bun -n "__fish_use_subcommand" -a "upgrade" -d "Upgrade Bun" +complete -c bun -n "__fish_use_subcommand" -a "run" -d "Run a script or package binary" +complete -c bun -n "__fish_use_subcommand" -a "install" -d "Install dependencies from package.json" -f +complete -c bun -n "__fish_use_subcommand" -a "remove" -d "Remove a dependency from package.json" -f +complete -c bun -n "__fish_use_subcommand" -a "add" -d "Add a dependency to package.json" -f +complete -c bun -n "__fish_use_subcommand" -a "init" -d "Initialize a Bun project in this directory" -f +complete -c bun -n "__fish_use_subcommand" -a "link" -d "Register or link a local npm package" -f +complete -c bun -n "__fish_use_subcommand" -a "unlink" -d "Unregister a local npm package" -f +complete -c bun -n "__fish_use_subcommand" -a "pm" -d "Additional package management utilities" -f +complete -c bun -n "__fish_use_subcommand" -a "x" -d "Execute a package binary, installing if needed" -f +complete -c bun -n "__fish_use_subcommand" -a "outdated" -d "Display the latest versions of outdated dependencies" -f +complete -c bun -n "__fish_use_subcommand" -a "publish" -d "Publish your package from local to npm" -f diff --git a/.config/fish/completions/colorscript.fish b/.config/fish/completions/colorscript.fish new file mode 100644 index 00000000..09ca4e0d --- /dev/null +++ b/.config/fish/completions/colorscript.fish @@ -0,0 +1,78 @@ +# Completions for fish shell +# This file should go in /usr/share/fish/vendor_completions.d +# according to https://fishshell.com/docs/current/completions.html +# function + +set dir_colorscripts /opt/shell-color-scripts/colorscripts +set dir_blacklisted_colorscripts "$dir_colorscripts/blacklisted" + +# Lists all filenames in a given directory +function list_filenames + set dir $argv[1] + if command -q find + # use find if available + set files (command find $dir -maxdepth 1 -type f) + else if command -q ls + # use ls if available + set files (command ls $dir) + else + # cannot provide coloscript name autocompletions for args of exec, blacklist, and unblacklist + return + end + + for file in $files + echo (basename $file) + end +end + +# List all colorscript names +function cs_names + echo (list_filenames $dir_colorscripts | string collect) +end + +# List all blacklisted colorscript names +function blacklisted_cs_names + echo (list_filenames $dir_blacklisted_colorscripts | string collect) +end + +# Description text +set -l help_desc 'Print help' +set -l list_desc 'List all installed color scripts' +set -l random_desc 'Run a random color script' +set -l exec_desc 'Run a specified color script by SCRIPT NAME or INDEX' +set -l blacklist_desc 'Blacklist a color script by SCRIPT NAME or INDEX' +set -l unblacklist_desc 'Unblacklist a color script by SCRIPT NAME or INDEX' +set -l all_desc 'List the outputs of all colorscripts with their SCRIPT NAME' + +# List of all available commands and flag-style commands +set -l commands -h --help help -l --list list -r --random random -e --exec exec \ + -b --blacklist blacklist -u --unblacklist unblacklist -a --all all + +# turn off built-in file completions +complete -c colorscript -f + +# Commands autocompletions +complete -c colorscript -n "not __fish_seen_subcommand_from $commands" -a help -d "$help_desc" +complete -c colorscript -n "not __fish_seen_subcommand_from $commands" -a list -d "$list_desc" +complete -c colorscript -n "not __fish_seen_subcommand_from $commands" -a random -d "$random_desc" +complete -c colorscript -n "not __fish_seen_subcommand_from $commands" -a exec -d "$exec_desc" +complete -c colorscript -n "not __fish_seen_subcommand_from $commands" -a blacklist -d "$blacklist_desc" +complete -c colorscript -n "not __fish_seen_subcommand_from $commands" -a unblacklist -d "$unblacklist_desc" +complete -c colorscript -n "not __fish_seen_subcommand_from $commands" -a all -d "$all_desc" + +# Flag-style commands autocompletions +complete -c colorscript -n "not __fish_seen_subcommand_from $commands" -s h -l help -d "$help_desc" +complete -c colorscript -n "not __fish_seen_subcommand_from $commands" -s l -l list -d "$list_desc" +complete -c colorscript -n "not __fish_seen_subcommand_from $commands" -s r -l random -d "$random_desc" +complete -c colorscript -n "not __fish_seen_subcommand_from $commands" -s e -l exec -d "$exec_desc" +complete -c colorscript -n "not __fish_seen_subcommand_from $commands" -s b -l blacklist -d "$blacklist_desc" +complete -c colorscript -n "not __fish_seen_subcommand_from $commands" -s u -l unblacklist -d "$unblacklist_desc" +complete -c colorscript -n "not __fish_seen_subcommand_from $commands" -s a -l all -d "$all_desc" + +# Coloscript name autocompletions +set -l commands_that_take_names -e --exec exec -b --blacklist blacklist +complete -c colorscript -n "__fish_seen_subcommand_from $commands_that_take_names" -a '(cs_names)' + +# Blacklisted colorscript name autocompletions +set -l commands_that_take_blacklisted_names -u --unblacklist unblacklist +complete -c colorscript -n "__fish_seen_subcommand_from $commands_that_take_blacklisted_names" -a '(blacklisted_cs_names)' diff --git a/.config/fish/completions/mise.fish b/.config/fish/completions/mise.fish new file mode 100644 index 00000000..b799436c --- /dev/null +++ b/.config/fish/completions/mise.fish @@ -0,0 +1,10 @@ +# if "usage" is not installed show an error +if ! command -v usage &>/dev/null + echo >&2 + echo "Error: usage CLI not found. This is required for completions to work in mise." >&2 + echo "See https://usage.jdx.dev for more information." >&2 + return 1 +end + +set _usage_spec_mise (mise usage | string collect) +complete -xc mise -a '(usage complete-word -s "$_usage_spec_mise" -- (commandline -cop) (commandline -t))' diff --git a/.config/fish/completions/poetry.fish b/.config/fish/completions/poetry.fish new file mode 100644 index 00000000..2f57185b --- /dev/null +++ b/.config/fish/completions/poetry.fish @@ -0,0 +1,257 @@ +function __fish_poetry_b950b2cda18a721a_complete_no_subcommand + for i in (commandline -opc) + if contains -- $i about add build cache check config debug env export help init install list lock new publish remove run search self shell show source update version + return 1 + end + end + return 0 +end + +# global options +complete -c poetry -n '__fish_poetry_b950b2cda18a721a_complete_no_subcommand' -l ansi -d 'Force ANSI output.' +complete -c poetry -n '__fish_poetry_b950b2cda18a721a_complete_no_subcommand' -l directory -d 'The working directory for the Poetry command (defaults to the current working directory).' +complete -c poetry -n '__fish_poetry_b950b2cda18a721a_complete_no_subcommand' -l help -d 'Display help for the given command. When no command is given display help for the list command.' +complete -c poetry -n '__fish_poetry_b950b2cda18a721a_complete_no_subcommand' -l no-ansi -d 'Disable ANSI output.' +complete -c poetry -n '__fish_poetry_b950b2cda18a721a_complete_no_subcommand' -l no-cache -d 'Disables Poetry source caches.' +complete -c poetry -n '__fish_poetry_b950b2cda18a721a_complete_no_subcommand' -l no-interaction -d 'Do not ask any interactive question.' +complete -c poetry -n '__fish_poetry_b950b2cda18a721a_complete_no_subcommand' -l no-plugins -d 'Disables plugins.' +complete -c poetry -n '__fish_poetry_b950b2cda18a721a_complete_no_subcommand' -l quiet -d 'Do not output any message.' +complete -c poetry -n '__fish_poetry_b950b2cda18a721a_complete_no_subcommand' -l verbose -d 'Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug.' +complete -c poetry -n '__fish_poetry_b950b2cda18a721a_complete_no_subcommand' -l version -d 'Display this application version.' + +# commands +complete -c poetry -f -n '__fish_poetry_b950b2cda18a721a_complete_no_subcommand' -a about -d 'Shows information about Poetry.' +complete -c poetry -f -n '__fish_poetry_b950b2cda18a721a_complete_no_subcommand' -a add -d 'Adds a new dependency to pyproject.toml and installs it.' +complete -c poetry -f -n '__fish_poetry_b950b2cda18a721a_complete_no_subcommand' -a build -d 'Builds a package, as a tarball and a wheel by default.' +complete -c poetry -f -n '__fish_poetry_b950b2cda18a721a_complete_no_subcommand' -a cache +complete -c poetry -f -n '__fish_seen_subcommand_from cache; and not __fish_seen_subcommand_from clear list' -a clear -d 'Clears a Poetry cache by name.' +complete -c poetry -f -n '__fish_seen_subcommand_from cache; and not __fish_seen_subcommand_from clear list' -a list -d 'List Poetry\'s caches.' +complete -c poetry -f -n '__fish_poetry_b950b2cda18a721a_complete_no_subcommand' -a check -d 'Validates the content of the pyproject.toml file and its consistency with the poetry.lock file.' +complete -c poetry -f -n '__fish_poetry_b950b2cda18a721a_complete_no_subcommand' -a config -d 'Manages configuration settings.' +complete -c poetry -f -n '__fish_poetry_b950b2cda18a721a_complete_no_subcommand' -a debug +complete -c poetry -f -n '__fish_seen_subcommand_from debug; and not __fish_seen_subcommand_from info resolve' -a info -d 'Shows debug information.' +complete -c poetry -f -n '__fish_seen_subcommand_from debug; and not __fish_seen_subcommand_from info resolve' -a resolve -d 'Debugs dependency resolution.' +complete -c poetry -f -n '__fish_poetry_b950b2cda18a721a_complete_no_subcommand' -a env +complete -c poetry -f -n '__fish_seen_subcommand_from env; and not __fish_seen_subcommand_from info list remove use' -a info -d 'Displays information about the current environment.' +complete -c poetry -f -n '__fish_seen_subcommand_from env; and not __fish_seen_subcommand_from info list remove use' -a list -d 'Lists all virtualenvs associated with the current project.' +complete -c poetry -f -n '__fish_seen_subcommand_from env; and not __fish_seen_subcommand_from info list remove use' -a remove -d 'Remove virtual environments associated with the project.' +complete -c poetry -f -n '__fish_seen_subcommand_from env; and not __fish_seen_subcommand_from info list remove use' -a use -d 'Activates or creates a new virtualenv for the current project.' +complete -c poetry -f -n '__fish_poetry_b950b2cda18a721a_complete_no_subcommand' -a export -d 'Exports the lock file to alternative formats.' +complete -c poetry -f -n '__fish_poetry_b950b2cda18a721a_complete_no_subcommand' -a help -d 'Displays help for a command.' +complete -c poetry -f -n '__fish_poetry_b950b2cda18a721a_complete_no_subcommand' -a init -d 'Creates a basic pyproject.toml file in the current directory.' +complete -c poetry -f -n '__fish_poetry_b950b2cda18a721a_complete_no_subcommand' -a install -d 'Installs the project dependencies.' +complete -c poetry -f -n '__fish_poetry_b950b2cda18a721a_complete_no_subcommand' -a list -d 'Lists commands.' +complete -c poetry -f -n '__fish_poetry_b950b2cda18a721a_complete_no_subcommand' -a lock -d 'Locks the project dependencies.' +complete -c poetry -f -n '__fish_poetry_b950b2cda18a721a_complete_no_subcommand' -a new -d 'Creates a new Python project at .' +complete -c poetry -f -n '__fish_poetry_b950b2cda18a721a_complete_no_subcommand' -a publish -d 'Publishes a package to a remote repository.' +complete -c poetry -f -n '__fish_poetry_b950b2cda18a721a_complete_no_subcommand' -a remove -d 'Removes a package from the project dependencies.' +complete -c poetry -f -n '__fish_poetry_b950b2cda18a721a_complete_no_subcommand' -a run -d 'Runs a command in the appropriate environment.' +complete -c poetry -f -n '__fish_poetry_b950b2cda18a721a_complete_no_subcommand' -a search -d 'Searches for packages on remote repositories.' +complete -c poetry -f -n '__fish_poetry_b950b2cda18a721a_complete_no_subcommand' -a self +complete -c poetry -f -n '__fish_seen_subcommand_from self; and not __fish_seen_subcommand_from add install lock remove update show' -a add -d 'Add additional packages to Poetry\'s runtime environment.' +complete -c poetry -f -n '__fish_seen_subcommand_from self; and not __fish_seen_subcommand_from add install lock remove update show' -a install -d 'Install locked packages (incl. addons) required by this Poetry installation.' +complete -c poetry -f -n '__fish_seen_subcommand_from self; and not __fish_seen_subcommand_from add install lock remove update show' -a lock -d 'Lock the Poetry installation\'s system requirements.' +complete -c poetry -f -n '__fish_seen_subcommand_from self; and not __fish_seen_subcommand_from add install lock remove update show' -a remove -d 'Remove additional packages from Poetry\'s runtime environment.' +complete -c poetry -f -n '__fish_seen_subcommand_from self; and not __fish_seen_subcommand_from add install lock remove update show' -a show -d 'Show packages from Poetry\'s runtime environment.' +complete -c poetry -f -n '__fish_seen_subcommand_from self; and not __fish_seen_subcommand_from add install lock remove update show' -a plugins -d 'Shows information about the currently installed plugins.' +complete -c poetry -f -n '__fish_seen_subcommand_from self; and not __fish_seen_subcommand_from add install lock remove update show' -a update -d 'Updates Poetry to the latest version.' +complete -c poetry -f -n '__fish_poetry_b950b2cda18a721a_complete_no_subcommand' -a shell -d 'Spawns a shell within the virtual environment.' +complete -c poetry -f -n '__fish_poetry_b950b2cda18a721a_complete_no_subcommand' -a show -d 'Shows information about packages.' +complete -c poetry -f -n '__fish_poetry_b950b2cda18a721a_complete_no_subcommand' -a source +complete -c poetry -f -n '__fish_seen_subcommand_from source; and not __fish_seen_subcommand_from add remove show' -a add -d 'Add source configuration for project.' +complete -c poetry -f -n '__fish_seen_subcommand_from source; and not __fish_seen_subcommand_from add remove show' -a remove -d 'Remove source configured for the project.' +complete -c poetry -f -n '__fish_seen_subcommand_from source; and not __fish_seen_subcommand_from add remove show' -a show -d 'Show information about sources configured for the project.' +complete -c poetry -f -n '__fish_poetry_b950b2cda18a721a_complete_no_subcommand' -a update -d 'Update the dependencies as according to the pyproject.toml file.' +complete -c poetry -f -n '__fish_poetry_b950b2cda18a721a_complete_no_subcommand' -a version -d 'Shows the version of the project or bumps it when a valid bump rule is provided.' + +# command options + +# about + +# add +complete -c poetry -n '__fish_seen_subcommand_from add' -l allow-prereleases -d 'Accept prereleases.' +complete -c poetry -n '__fish_seen_subcommand_from add' -l dev -d 'Add as a development dependency. (Deprecated) Use --group=dev instead.' +complete -c poetry -n '__fish_seen_subcommand_from add' -l dry-run -d 'Output the operations but do not execute anything (implicitly enables --verbose).' +complete -c poetry -n '__fish_seen_subcommand_from add' -l editable -d 'Add vcs/path dependencies as editable.' +complete -c poetry -n '__fish_seen_subcommand_from add' -l extras -d 'Extras to activate for the dependency.' +complete -c poetry -n '__fish_seen_subcommand_from add' -l group -d 'The group to add the dependency to.' +complete -c poetry -n '__fish_seen_subcommand_from add' -l lock -d 'Do not perform operations (only update the lockfile).' +complete -c poetry -n '__fish_seen_subcommand_from add' -l optional -d 'Add as an optional dependency.' +complete -c poetry -n '__fish_seen_subcommand_from add' -l platform -d 'Platforms for which the dependency must be installed.' +complete -c poetry -n '__fish_seen_subcommand_from add' -l python -d 'Python version for which the dependency must be installed.' +complete -c poetry -n '__fish_seen_subcommand_from add' -l source -d 'Name of the source to use to install the package.' + +# build +complete -c poetry -n '__fish_seen_subcommand_from build' -l format -d 'Limit the format to either sdist or wheel.' +complete -c poetry -n '__fish_seen_subcommand_from build' -l output -d 'Set output directory for build artifacts. Default is `dist`.' + +# cache clear +complete -c poetry -n '__fish_seen_subcommand_from cache; and __fish_seen_subcommand_from clear' -l all -d 'Clear all entries in the cache.' + +# cache list + +# check +complete -c poetry -n '__fish_seen_subcommand_from check' -l lock -d 'Checks that poetry.lock exists for the current version of pyproject.toml.' + +# config +complete -c poetry -n '__fish_seen_subcommand_from config' -l list -d 'List configuration settings.' +complete -c poetry -n '__fish_seen_subcommand_from config' -l local -d 'Set/Get from the project\'s local configuration.' +complete -c poetry -n '__fish_seen_subcommand_from config' -l unset -d 'Unset configuration setting.' + +# debug info + +# debug resolve +complete -c poetry -n '__fish_seen_subcommand_from debug; and __fish_seen_subcommand_from resolve' -l extras -d 'Extras to activate for the dependency.' +complete -c poetry -n '__fish_seen_subcommand_from debug; and __fish_seen_subcommand_from resolve' -l install -d 'Show what would be installed for the current system.' +complete -c poetry -n '__fish_seen_subcommand_from debug; and __fish_seen_subcommand_from resolve' -l python -d 'Python version(s) to use for resolution.' +complete -c poetry -n '__fish_seen_subcommand_from debug; and __fish_seen_subcommand_from resolve' -l tree -d 'Display the dependency tree.' + +# env info +complete -c poetry -n '__fish_seen_subcommand_from env; and __fish_seen_subcommand_from info' -l executable -d 'Only display the environment\'s python executable path.' +complete -c poetry -n '__fish_seen_subcommand_from env; and __fish_seen_subcommand_from info' -l path -d 'Only display the environment\'s path.' + +# env list +complete -c poetry -n '__fish_seen_subcommand_from env; and __fish_seen_subcommand_from list' -l full-path -d 'Output the full paths of the virtualenvs.' + +# env remove +complete -c poetry -n '__fish_seen_subcommand_from env; and __fish_seen_subcommand_from remove' -l all -d 'Remove all managed virtual environments associated with the project.' + +# env use + +# export +complete -c poetry -n '__fish_seen_subcommand_from export' -l all-extras -d 'Include all sets of extra dependencies.' +complete -c poetry -n '__fish_seen_subcommand_from export' -l dev -d 'Include development dependencies. (Deprecated)' +complete -c poetry -n '__fish_seen_subcommand_from export' -l extras -d 'Extra sets of dependencies to include.' +complete -c poetry -n '__fish_seen_subcommand_from export' -l format -d 'Format to export to. Currently, only constraints.txt and requirements.txt are supported.' +complete -c poetry -n '__fish_seen_subcommand_from export' -l only -d 'The only dependency groups to include.' +complete -c poetry -n '__fish_seen_subcommand_from export' -l output -d 'The name of the output file.' +complete -c poetry -n '__fish_seen_subcommand_from export' -l with -d 'The optional dependency groups to include.' +complete -c poetry -n '__fish_seen_subcommand_from export' -l with-credentials -d 'Include credentials for extra indices.' +complete -c poetry -n '__fish_seen_subcommand_from export' -l without -d 'The dependency groups to ignore.' +complete -c poetry -n '__fish_seen_subcommand_from export' -l without-hashes -d 'Exclude hashes from the exported file.' +complete -c poetry -n '__fish_seen_subcommand_from export' -l without-urls -d 'Exclude source repository urls from the exported file.' + +# help + +# init +complete -c poetry -n '__fish_seen_subcommand_from init' -l author -d 'Author name of the package.' +complete -c poetry -n '__fish_seen_subcommand_from init' -l dependency -d 'Package to require, with an optional version constraint, e.g. requests:^2.10.0 or requests=2.11.1.' +complete -c poetry -n '__fish_seen_subcommand_from init' -l description -d 'Description of the package.' +complete -c poetry -n '__fish_seen_subcommand_from init' -l dev-dependency -d 'Package to require for development, with an optional version constraint, e.g. requests:^2.10.0 or requests=2.11.1.' +complete -c poetry -n '__fish_seen_subcommand_from init' -l license -d 'License of the package.' +complete -c poetry -n '__fish_seen_subcommand_from init' -l name -d 'Name of the package.' +complete -c poetry -n '__fish_seen_subcommand_from init' -l python -d 'Compatible Python versions.' + +# install +complete -c poetry -n '__fish_seen_subcommand_from install' -l all-extras -d 'Install all extra dependencies.' +complete -c poetry -n '__fish_seen_subcommand_from install' -l compile -d 'Compile Python source files to bytecode. (This option has no effect if modern-installation is disabled because the old installer always compiles.)' +complete -c poetry -n '__fish_seen_subcommand_from install' -l dry-run -d 'Output the operations but do not execute anything (implicitly enables --verbose).' +complete -c poetry -n '__fish_seen_subcommand_from install' -l extras -d 'Extra sets of dependencies to install.' +complete -c poetry -n '__fish_seen_subcommand_from install' -l no-dev -d 'Do not install the development dependencies. (Deprecated)' +complete -c poetry -n '__fish_seen_subcommand_from install' -l no-directory -d 'Do not install any directory path dependencies; useful to install dependencies without source code, e.g. for caching of Docker layers)' +complete -c poetry -n '__fish_seen_subcommand_from install' -l no-root -d 'Do not install the root package (the current project).' +complete -c poetry -n '__fish_seen_subcommand_from install' -l only -d 'The only dependency groups to include.' +complete -c poetry -n '__fish_seen_subcommand_from install' -l only-root -d 'Exclude all dependencies.' +complete -c poetry -n '__fish_seen_subcommand_from install' -l remove-untracked -d 'Removes packages not present in the lock file. (Deprecated)' +complete -c poetry -n '__fish_seen_subcommand_from install' -l sync -d 'Synchronize the environment with the locked packages and the specified groups.' +complete -c poetry -n '__fish_seen_subcommand_from install' -l with -d 'The optional dependency groups to include.' +complete -c poetry -n '__fish_seen_subcommand_from install' -l without -d 'The dependency groups to ignore.' + +# list + +# lock +complete -c poetry -n '__fish_seen_subcommand_from lock' -l check -d 'Check that the poetry.lock file corresponds to the current version of pyproject.toml. (Deprecated) Use poetry check --lock instead.' +complete -c poetry -n '__fish_seen_subcommand_from lock' -l no-update -d 'Do not update locked versions, only refresh lock file.' + +# new +complete -c poetry -n '__fish_seen_subcommand_from new' -l name -d 'Set the resulting package name.' +complete -c poetry -n '__fish_seen_subcommand_from new' -l readme -d 'Specify the readme file format. Default is md.' +complete -c poetry -n '__fish_seen_subcommand_from new' -l src -d 'Use the src layout for the project.' + +# publish +complete -c poetry -n '__fish_seen_subcommand_from publish' -l build -d 'Build the package before publishing.' +complete -c poetry -n '__fish_seen_subcommand_from publish' -l cert -d 'Certificate authority to access the repository.' +complete -c poetry -n '__fish_seen_subcommand_from publish' -l client-cert -d 'Client certificate to access the repository.' +complete -c poetry -n '__fish_seen_subcommand_from publish' -l dist-dir -d 'Dist directory where built artifact are stored. Default is `dist`.' +complete -c poetry -n '__fish_seen_subcommand_from publish' -l dry-run -d 'Perform all actions except upload the package.' +complete -c poetry -n '__fish_seen_subcommand_from publish' -l password -d 'The password to access the repository.' +complete -c poetry -n '__fish_seen_subcommand_from publish' -l repository -d 'The repository to publish the package to.' +complete -c poetry -n '__fish_seen_subcommand_from publish' -l skip-existing -d 'Ignore errors from files already existing in the repository.' +complete -c poetry -n '__fish_seen_subcommand_from publish' -l username -d 'The username to access the repository.' + +# remove +complete -c poetry -n '__fish_seen_subcommand_from remove' -l dev -d 'Remove a package from the development dependencies. (Deprecated) Use --group=dev instead.' +complete -c poetry -n '__fish_seen_subcommand_from remove' -l dry-run -d 'Output the operations but do not execute anything (implicitly enables --verbose).' +complete -c poetry -n '__fish_seen_subcommand_from remove' -l group -d 'The group to remove the dependency from.' +complete -c poetry -n '__fish_seen_subcommand_from remove' -l lock -d 'Do not perform operations (only update the lockfile).' + +# run + +# search + +# self add +complete -c poetry -n '__fish_seen_subcommand_from self; and __fish_seen_subcommand_from add' -l allow-prereleases -d 'Accept prereleases.' +complete -c poetry -n '__fish_seen_subcommand_from self; and __fish_seen_subcommand_from add' -l dry-run -d 'Output the operations but do not execute anything (implicitly enables --verbose).' +complete -c poetry -n '__fish_seen_subcommand_from self; and __fish_seen_subcommand_from add' -l editable -d 'Add vcs/path dependencies as editable.' +complete -c poetry -n '__fish_seen_subcommand_from self; and __fish_seen_subcommand_from add' -l extras -d 'Extras to activate for the dependency.' +complete -c poetry -n '__fish_seen_subcommand_from self; and __fish_seen_subcommand_from add' -l source -d 'Name of the source to use to install the package.' + +# self install +complete -c poetry -n '__fish_seen_subcommand_from self; and __fish_seen_subcommand_from install' -l dry-run -d 'Output the operations but do not execute anything (implicitly enables --verbose).' +complete -c poetry -n '__fish_seen_subcommand_from self; and __fish_seen_subcommand_from install' -l sync -d 'Synchronize the environment with the locked packages and the specified groups.' + +# self lock +complete -c poetry -n '__fish_seen_subcommand_from self; and __fish_seen_subcommand_from lock' -l check -d 'Check that the poetry.lock file corresponds to the current version of pyproject.toml. (Deprecated) Use poetry check --lock instead.' +complete -c poetry -n '__fish_seen_subcommand_from self; and __fish_seen_subcommand_from lock' -l no-update -d 'Do not update locked versions, only refresh lock file.' + +# self remove +complete -c poetry -n '__fish_seen_subcommand_from self; and __fish_seen_subcommand_from remove' -l dry-run -d 'Output the operations but do not execute anything (implicitly enables --verbose).' + +# self show +complete -c poetry -n '__fish_seen_subcommand_from self; and __fish_seen_subcommand_from show' -l addons -d 'List only add-on packages installed.' +complete -c poetry -n '__fish_seen_subcommand_from self; and __fish_seen_subcommand_from show' -l latest -d 'Show the latest version.' +complete -c poetry -n '__fish_seen_subcommand_from self; and __fish_seen_subcommand_from show' -l outdated -d 'Show the latest version but only for packages that are outdated.' +complete -c poetry -n '__fish_seen_subcommand_from self; and __fish_seen_subcommand_from show' -l tree -d 'List the dependencies as a tree.' + +# self show plugins + +# self update +complete -c poetry -n '__fish_seen_subcommand_from self; and __fish_seen_subcommand_from update' -l dry-run -d 'Output the operations but do not execute anything (implicitly enables --verbose).' +complete -c poetry -n '__fish_seen_subcommand_from self; and __fish_seen_subcommand_from update' -l preview -d 'Allow the installation of pre-release versions.' + +# shell + +# show +complete -c poetry -n '__fish_seen_subcommand_from show' -l all -d 'Show all packages (even those not compatible with current system).' +complete -c poetry -n '__fish_seen_subcommand_from show' -l latest -d 'Show the latest version.' +complete -c poetry -n '__fish_seen_subcommand_from show' -l no-dev -d 'Do not list the development dependencies. (Deprecated)' +complete -c poetry -n '__fish_seen_subcommand_from show' -l only -d 'The only dependency groups to include.' +complete -c poetry -n '__fish_seen_subcommand_from show' -l outdated -d 'Show the latest version but only for packages that are outdated.' +complete -c poetry -n '__fish_seen_subcommand_from show' -l top-level -d 'Show only top-level dependencies.' +complete -c poetry -n '__fish_seen_subcommand_from show' -l tree -d 'List the dependencies as a tree.' +complete -c poetry -n '__fish_seen_subcommand_from show' -l why -d 'When showing the full list, or a --tree for a single package, display whether they are a direct dependency or required by other packages' +complete -c poetry -n '__fish_seen_subcommand_from show' -l with -d 'The optional dependency groups to include.' +complete -c poetry -n '__fish_seen_subcommand_from show' -l without -d 'The dependency groups to ignore.' + +# source add +complete -c poetry -n '__fish_seen_subcommand_from source; and __fish_seen_subcommand_from add' -l default -d 'Set this source as the default (disable PyPI). A default source will also be the fallback source if you add other sources. (Deprecated, use --priority)' +complete -c poetry -n '__fish_seen_subcommand_from source; and __fish_seen_subcommand_from add' -l priority -d 'Set the priority of this source. One of: default, primary, secondary, supplemental, explicit. Defaults to primary.' +complete -c poetry -n '__fish_seen_subcommand_from source; and __fish_seen_subcommand_from add' -l secondary -d 'Set this source as secondary. (Deprecated, use --priority)' + +# source remove + +# source show + +# update +complete -c poetry -n '__fish_seen_subcommand_from update' -l dry-run -d 'Output the operations but do not execute anything (implicitly enables --verbose).' +complete -c poetry -n '__fish_seen_subcommand_from update' -l lock -d 'Do not perform operations (only update the lockfile).' +complete -c poetry -n '__fish_seen_subcommand_from update' -l no-dev -d 'Do not update the development dependencies. (Deprecated)' +complete -c poetry -n '__fish_seen_subcommand_from update' -l only -d 'The only dependency groups to include.' +complete -c poetry -n '__fish_seen_subcommand_from update' -l sync -d 'Synchronize the environment with the locked packages and the specified groups.' +complete -c poetry -n '__fish_seen_subcommand_from update' -l with -d 'The optional dependency groups to include.' +complete -c poetry -n '__fish_seen_subcommand_from update' -l without -d 'The dependency groups to ignore.' + +# version +complete -c poetry -n '__fish_seen_subcommand_from version' -l dry-run -d 'Do not update pyproject.toml file' +complete -c poetry -n '__fish_seen_subcommand_from version' -l next-phase -d 'Increment the phase of the current version' +complete -c poetry -n '__fish_seen_subcommand_from version' -l short -d 'Output the version number only' diff --git a/.config/fish/conf.d/atuin.fish b/.config/fish/conf.d/atuin.fish new file mode 100644 index 00000000..77be97a7 --- /dev/null +++ b/.config/fish/conf.d/atuin.fish @@ -0,0 +1,19 @@ +set -x ATUIN_NOBIND true + +if status is-interactive + if type -q atuin + atuin init fish | source + end +end + +bind \cr _atuin_search +bind up _atuin_bind_up +bind \eOA _atuin_bind_up +bind \e\[A _atuin_bind_up + +if bind -M insert >/dev/null 2>&1 + bind -M insert \cr _atuin_search + bind -M insert up _atuin_bind_up + bind -M insert \eOA _atuin_bind_up + bind -M insert \e\[A _atuin_bind_up +end diff --git a/.config/fish/conf.d/gnupg.fish b/.config/fish/conf.d/gnupg.fish new file mode 100644 index 00000000..9b3ffb3d --- /dev/null +++ b/.config/fish/conf.d/gnupg.fish @@ -0,0 +1,6 @@ +set -e SSH_AGENT_PID +if test -z $gnupg_SSH_AUTH_SOCK_BY; or test $gnupg_SSH_AUTH_SOCK_BY -ne $fish_pid + set -gx SSH_AUTH_SOCK (gpgconf --list-dirs agent-ssh-socket) +end +set -gx GPG_TTY (tty) +gpg-connect-agent updatestartuptty /bye >/dev/null diff --git a/.config/fish/conf.d/homebrew.fish b/.config/fish/conf.d/homebrew.fish new file mode 100644 index 00000000..47ce4c59 --- /dev/null +++ b/.config/fish/conf.d/homebrew.fish @@ -0,0 +1,3 @@ +if test -x /home/linuxbrew/.linuxbrew/bin/brew + eval (/home/linuxbrew/.linuxbrew/bin/brew shellenv) +end diff --git a/.config/fish/conf.d/mise.fish b/.config/fish/conf.d/mise.fish new file mode 100644 index 00000000..756a765f --- /dev/null +++ b/.config/fish/conf.d/mise.fish @@ -0,0 +1,3 @@ +if type -q mise + mise activate fish | source +end diff --git a/.config/fish/conf.d/starship.fish b/.config/fish/conf.d/starship.fish new file mode 100644 index 00000000..77e9da4a --- /dev/null +++ b/.config/fish/conf.d/starship.fish @@ -0,0 +1,3 @@ +if type -q starship + starship init fish | source +end diff --git a/.config/fish/conf.d/zoxide.fish b/.config/fish/conf.d/zoxide.fish new file mode 100644 index 00000000..8258939f --- /dev/null +++ b/.config/fish/conf.d/zoxide.fish @@ -0,0 +1,3 @@ +if type -q zoxide + zoxide init fish | source +end diff --git a/.config/fish/config.fish b/.config/fish/config.fish new file mode 100644 index 00000000..2865428b --- /dev/null +++ b/.config/fish/config.fish @@ -0,0 +1,2 @@ +source ~/.config/fish/user_variables.fish +source ~/.config/fish/abbreviations.fish diff --git a/.config/fish/fish_plugins b/.config/fish/fish_plugins new file mode 100644 index 00000000..72b60fc7 --- /dev/null +++ b/.config/fish/fish_plugins @@ -0,0 +1,7 @@ +catppuccin/fish +franciscolourenco/done +matt-ftw/fzf.fish +gazorby/fish-abbreviation-tips +oh-my-fish/plugin-sudope +nickeb96/puffer-fish +jorgebucaran/autopair.fish diff --git a/.config/fish/fish_variables b/.config/fish/fish_variables new file mode 100644 index 00000000..b90e5c7e --- /dev/null +++ b/.config/fish/fish_variables @@ -0,0 +1,71 @@ +# This file contains fish universal variable definitions. +# VERSION: 3.0 +SETUVAR --export ABBR_TIPS_PROMPT:\x5cn\U0001f4a1\x20\x5ce\x5b1m\x7b\x7b\x20\x2eabbr\x20\x7d\x7d\x5ce\x5b0m\x20\x3d\x3e\x20\x7b\x7b\x20\x2ecmd\x20\x7d\x7d +SETUVAR --export ABBR_TIPS_REGEXES:\x28\x5e\x28\x5cw\x2b\x5cs\x2b\x29\x2b\x28\x2d\x7b1\x2c2\x7d\x29\x5cw\x2b\x29\x28\x5cs\x5cS\x2b\x29\x1e\x28\x5e\x28\x5cs\x3f\x28\x5cw\x2d\x3f\x29\x2b\x29\x7b3\x7d\x29\x2e\x2a\x1e\x28\x5e\x28\x5cs\x3f\x28\x5cw\x2d\x3f\x29\x2b\x29\x7b2\x7d\x29\x2e\x2a\x1e\x28\x5e\x28\x5cs\x3f\x28\x5cw\x2d\x3f\x29\x2b\x29\x7b1\x7d\x29\x2e\x2a +SETUVAR --export CARAPACE_BRIDGES:zsh\x2cfish\x2cbash\x2cinshellisense\x2c +SETUVAR --export EDITOR:nvim +SETUVAR --export --path GOPATH:/home/matt/\x2elocal/share/go +SETUVAR --export SSH_AUTH_SOCK:/run/user/1000/gnupg/S\x2egpg\x2dagent\x2essh +SETUVAR TO_DIR:/home/matt/\x2etofish +SETUVAR --export VISUAL:nvim +SETUVAR --export XDG_BIN_HOME:/home/matt/\x2elocal/bin +SETUVAR --export XDG_CACHE_HOME:/home/matt/\x2ecache +SETUVAR --export XDG_CONFIG_HOME:/home/matt/\x2econfig +SETUVAR --export XDG_DATA_HOME:/home/matt/\x2elocal/share +SETUVAR --export XDG_SCRIPT_HOME:/home/matt/\x2elocal/script +SETUVAR --export __ABBR_TIPS_KEYS:g\x1ed\x1ea__bruh\x1ea__c\x1ea__cat\x1ea__catp\x1ea__cl\x1ea__clock\x1ea__codeinfo\x1ea__cv\x1ea__disks\x1ea__dots\x1ea__dsize\x1ea__ex\x1ea__f\x1ea__fetch\x1ea__gfetch\x1ea__gpt\x1ea__gr\x1ea__i\x1ea__info\x1ea__ip\x1ea__l\x1ea__ld\x1ea__ldh\x1ea__lg\x1ea__lh\x1ea__lm\x1ea__ls\x1ea__lsh\x1ea__lt\x1ea__lth\x1ea__lzd\x1ea__matrix\x1ea__mkdir\x1ea__op\x1ea__pages\x1ea__proc\x1ea__pse\x1ea__q\x1ea__r\x1ea__s\x1ea__sc\x1ea__svn\x1ea__t\x1ea__ta\x1ea__test\x2dnet\x1ea__tr\x1ea__u\x1ea__up\x1ea__upall\x1ea__v\x1ea__vcl\x1ea__vv\x1ea__vvl\x1ea__vvn\x1ea__wget\x1ea__yarn\x1ea__z\x1ea__zi +SETUVAR --export __ABBR_TIPS_VALUES:git\x1edocker\x1egenact\x20\x2ds\x204\x1ez\x1ebat\x1ebat\x20\x2d\x2dpaging\x3dalways\x1eclear\x1etty\x2dclock\x20\x2dsbc\x1escc\x20\x2e/\x1ez\x20\x26\x26\x20v\x1eduf\x1eyadm\x20enter\x20lazygit\x1edua\x20i\x1esudo\x20chmod\x20\x2bx\x1efzf\x1efastfetch\x1eonefetch\x1etgpt\x20\x2di\x1ecd\x20\x22\x24\x28git\x20rev\x2dparse\x20\x2d\x2dshow\x2dtoplevel\x29\x22\x1eyay\x20\x2dS\x20\x1etldr\x1eip\x20\x2dc\x20a\x1eeza\x20\x2d\x2dlong\x20\x2d\x2dheader\x20\x2da\x20\x2d\x2dicons\x20\x2d\x2dgit\x20\x2d\x2dgroup\x2ddirectories\x2dfirst\x1elazydocker\x1eeza\x20\x2d\x2dlong\x20\x2d\x2dheader\x20\x2d\x2dicons\x20\x2dD\x20\x2d\x2dgit\x1elazygit\x1eeza\x20\x2d\x2dlong\x20\x2d\x2dheader\x20\x2d\x2dicons\x20\x2d\x2dgit\x20\x2d\x2dgroup\x2ddirectories\x2dfirst\x1el\x3deza\x20\x2d\x2dlong\x20\x2d\x2dheader\x20\x2da\x20\x2d\x2dicons\x20\x2d\x2dgit\x20\x2d\x2dgroup\x2ddirectories\x2dfirst\x1eeza\x20\x2da\x20\x2d\x2dicons\x20\x2d\x2dgroup\x2ddirectories\x2dfirst\x1eeza\x20\x2d\x2dicons\x20\x2d\x2dgit\x20\x2d\x2dgroup\x2ddirectories\x2dfirst\x1eeza\x20\x2d\x2dlong\x20\x2d\x2dheader\x20\x2da\x20\x2d\x2dicons\x20\x2d\x2dtree\x20\x2d\x2dgit\x20\x2d\x2dgroup\x2ddirectories\x2dfirst\x1eeza\x20\x2d\x2dlong\x20\x2d\x2dheader\x20\x2d\x2dicons\x20\x2d\x2dtree\x20\x2d\x2dgit\x20\x2d\x2dgroup\x2ddirectories\x2dfirst\x1elazydocker\x1eunimatrix\x20\x2ds\x2095\x1emkdir\x20\x2dp\x1ecd\x20\x7e/Documents/Obsidian/obsidianVault\x1enavi\x1esysz\x1epacseek\x1eexit\x1emise\x20run\x1esudo\x1er\x3dsource\x20\x24XDG_CONFIG_HOME/fish/config\x2efish\x1esvn\x20\x2d\x2dconfig\x2ddir\x20\x5c\x5c\x5c\x5c\x22\x24XDG_CONFIG_HOME\x5c\x5c\x5c\x5c\x22/subversion\x1etmux\x1etmux\x20attach\x20\x2dt\x1ecommand\x20up\x1etrash\x1eyay\x20\x2dR\x20\x1eyay\x20\x2dSyu\x1etopgrade\x1envim\x1envim\x20\x2d\x2dclean\x1ebob\x1ebob\x20use\x20latest\x1ebob\x20use\x20nightly\x1ewget\x20\x2d\x2dhsts\x2dfile\x3d\x22\x24XDG_DATA_HOME/wget\x2dhsts\x22\x1eyarn\x20\x2d\x2duse\x2dyarnrc\x20\x22\x24XDG_CONFIG_HOME/yarn/config\x22\x1e__zoxide_z\x1e__zoxide_zi +SETUVAR __fish_initialized:3800 +SETUVAR _fish_abbr_d:docker +SETUVAR _fish_abbr_g:git +SETUVAR _fisher_catppuccin_2F_fish_files:\x7e/\x2econfig/fish/themes/Catppuccin\x20Frappe\x2etheme\x1e\x7e/\x2econfig/fish/themes/Catppuccin\x20Latte\x2etheme\x1e\x7e/\x2econfig/fish/themes/Catppuccin\x20Macchiato\x2etheme\x1e\x7e/\x2econfig/fish/themes/Catppuccin\x20Mocha\x2etheme +SETUVAR _fisher_franciscolourenco_2F_done_files:\x7e/\x2econfig/fish/conf\x2ed/done\x2efish +SETUVAR _fisher_gazorby_2F_fish_2D_abbreviation_2D_tips_files:\x7e/\x2econfig/fish/functions/__abbr_tips_bind_newline\x2efish\x1e\x7e/\x2econfig/fish/functions/__abbr_tips_bind_space\x2efish\x1e\x7e/\x2econfig/fish/functions/__abbr_tips_clean\x2efish\x1e\x7e/\x2econfig/fish/functions/__abbr_tips_init\x2efish\x1e\x7e/\x2econfig/fish/conf\x2ed/abbr_tips\x2efish +SETUVAR _fisher_jorgebucaran_2F_autopair_2E_fish_files:\x7e/\x2econfig/fish/functions/_autopair_backspace\x2efish\x1e\x7e/\x2econfig/fish/functions/_autopair_insert_left\x2efish\x1e\x7e/\x2econfig/fish/functions/_autopair_insert_right\x2efish\x1e\x7e/\x2econfig/fish/functions/_autopair_insert_same\x2efish\x1e\x7e/\x2econfig/fish/functions/_autopair_tab\x2efish\x1e\x7e/\x2econfig/fish/conf\x2ed/autopair\x2efish +SETUVAR _fisher_matt_2D_ftw_2F_fzf_2E_fish_files:\x7e/\x2econfig/fish/functions/_fzf_configure_bindings_help\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_extract_var_info\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_preview_changed_file\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_preview_file\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_report_diff_type\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_report_file_type\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_search_completions\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_search_directory\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_search_git_log\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_search_git_status\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_search_history\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_search_processes\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_search_variables\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_wrapper\x2efish\x1e\x7e/\x2econfig/fish/functions/fzf_configure_bindings\x2efish\x1e\x7e/\x2econfig/fish/conf\x2ed/fzf\x2efish\x1e\x7e/\x2econfig/fish/completions/fzf_configure_bindings\x2efish +SETUVAR _fisher_nickeb96_2F_puffer_2D_fish_files:\x7e/\x2econfig/fish/functions/_puffer_fish_expand_bang\x2efish\x1e\x7e/\x2econfig/fish/functions/_puffer_fish_expand_dots\x2efish\x1e\x7e/\x2econfig/fish/functions/_puffer_fish_expand_lastarg\x2efish\x1e\x7e/\x2econfig/fish/conf\x2ed/puffer_fish_key_bindings\x2efish +SETUVAR _fisher_oh_2D_my_2D_fish_2F_plugin_2D_sudope_files:\x7e/\x2econfig/fish/functions/sudope\x2efish\x1e\x7e/\x2econfig/fish/conf\x2ed/plugin\x2dsudope\x2efish +SETUVAR _fisher_plugins:catppuccin/fish\x1efranciscolourenco/done\x1egazorby/fish\x2dabbreviation\x2dtips\x1eoh\x2dmy\x2dfish/plugin\x2dsudope\x1enickeb96/puffer\x2dfish\x1ejorgebucaran/autopair\x2efish\x1ematt\x2dftw/fzf\x2efish +SETUVAR _fisher_upgraded_to_4_4:\x1d +SETUVAR fish_color_autosuggestion:6e738d +SETUVAR fish_color_cancel:ed8796 +SETUVAR fish_color_command:8aadf4 +SETUVAR fish_color_comment:8087a2 +SETUVAR fish_color_cwd:eed49f +SETUVAR fish_color_cwd_root:red +SETUVAR fish_color_end:f5a97f +SETUVAR fish_color_error:ed8796 +SETUVAR fish_color_escape:ee99a0 +SETUVAR fish_color_gray:6e738d +SETUVAR fish_color_history_current:\x2d\x2dbold +SETUVAR fish_color_host:8aadf4 +SETUVAR fish_color_host_remote:a6da95 +SETUVAR fish_color_keyword:ed8796 +SETUVAR fish_color_normal:cad3f5 +SETUVAR fish_color_operator:f5bde6 +SETUVAR fish_color_option:a6da95 +SETUVAR fish_color_param:f0c6c6 +SETUVAR fish_color_quote:a6da95 +SETUVAR fish_color_redirection:f5bde6 +SETUVAR fish_color_search_match:\x2d\x2dbackground\x3d363a4f +SETUVAR fish_color_selection:\x2d\x2dbackground\x3d363a4f +SETUVAR fish_color_status:ed8796 +SETUVAR fish_color_user:8bd5ca +SETUVAR fish_color_valid_path:\x2d\x2dunderline +SETUVAR fish_greeting: +SETUVAR fish_key_bindings:fish_default_key_bindings +SETUVAR fish_pager_color_background:\x1d +SETUVAR fish_pager_color_completion:cad3f5 +SETUVAR fish_pager_color_description:6e738d +SETUVAR fish_pager_color_prefix:f5bde6 +SETUVAR fish_pager_color_progress:6e738d +SETUVAR fish_pager_color_secondary_background:\x1d +SETUVAR fish_pager_color_secondary_completion:\x1d +SETUVAR fish_pager_color_secondary_description:\x1d +SETUVAR fish_pager_color_secondary_prefix:\x1d +SETUVAR fish_pager_color_selected_background:\x1d +SETUVAR fish_pager_color_selected_completion:\x1d +SETUVAR fish_pager_color_selected_description:\x1d +SETUVAR fish_pager_color_selected_prefix:\x1d +SETUVAR fish_user_paths:/home/matt/\x2elocal/share/pnpm\x1e/home/matt/\x2elocal/share/nvim/mason/bin\x1e/home/matt/\x2eyarn/bin\x1e/home/matt/\x2elocal/share/npm/bin\x1e/home/matt/\x2elocal/share/bob/nvim\x2dbin\x1e/home/matt/\x2elocal/share/bun/bin\x1e/usr/lib/go/bin\x1e/usr/lib/rustup/bin\x1e/sbin\x1e/bin\x1e/usr/sbin\x1e/usr/bin\x1e/usr/local/sbin\x1e/usr/local/bin\x1e/home/matt/\x2elocal/share/cargo/bin\x1e/home/matt/\x2elocal/share/go/bin\x1e/home/matt/\x2elocal/bin/color\x2dscripts\x1e/home/matt/\x2elocal/bin +SETUVAR fish_user_paths:/home/kappa/bin\x1e/home/kappa/\x2elocal/share/nvim/mason/bin\x1e/home/kappa/\x2elocal/share/go/bin\x1e/home/kappa/\x2elocal/bin/color\x2dscripts\x1e/home/kappa/\x2elocal/bin\x1e/home/matt/\x2elocal/share/pnpm\x1e/home/matt/\x2elocal/share/nvim/mason/bin\x1e/home/matt/\x2eyarn/bin\x1e/home/matt/\x2elocal/share/npm/bin\x1e/home/matt/\x2elocal/share/bob/nvim\x2dbin\x1e/home/matt/\x2elocal/share/bun/bin\x1e/usr/lib/go/bin\x1e/usr/lib/rustup/bin\x1e/sbin\x1e/bin\x1e/usr/sbin\x1e/usr/bin\x1e/usr/local/sbin\x1e/usr/local/bin\x1e/home/matt/\x2elocal/share/cargo/bin\x1e/home/matt/\x2elocal/share/go/bin\x1e/home/matt/\x2elocal/bin/color\x2dscripts\x1e/home/matt/\x2elocal/bin diff --git a/.config/fish/functions/backup.fish b/.config/fish/functions/backup.fish new file mode 100644 index 00000000..57de44dd --- /dev/null +++ b/.config/fish/functions/backup.fish @@ -0,0 +1,3 @@ +function backup --argument filename + cp $filename $filename.bak +end diff --git a/.config/fish/functions/bin.fish b/.config/fish/functions/bin.fish new file mode 100644 index 00000000..33aa63e0 --- /dev/null +++ b/.config/fish/functions/bin.fish @@ -0,0 +1,3 @@ +function bin --argument file + ln -sr (realpath $file) /usr/local/bin/ +end diff --git a/.config/fish/functions/bruh.fish b/.config/fish/functions/bruh.fish new file mode 100644 index 00000000..cb1cdc8e --- /dev/null +++ b/.config/fish/functions/bruh.fish @@ -0,0 +1,3 @@ +function bruh --wraps='genact -s 4' --description 'alias bruh=genact -s 4' + genact -s 4 $argv +end diff --git a/.config/fish/functions/c.fish b/.config/fish/functions/c.fish new file mode 100644 index 00000000..1cea3406 --- /dev/null +++ b/.config/fish/functions/c.fish @@ -0,0 +1,3 @@ +function c --wraps=clear --wraps=z --description 'alias c=z' + z $argv +end diff --git a/.config/fish/functions/cat.fish b/.config/fish/functions/cat.fish new file mode 100644 index 00000000..c53e1010 --- /dev/null +++ b/.config/fish/functions/cat.fish @@ -0,0 +1,7 @@ +function cat --wraps=bat --description 'alias cat=bat' + if type -f bat &>/dev/null; and [ -t 1 ] + bat $argv + else + command cat $argv + end +end diff --git a/.config/fish/functions/catp.fish b/.config/fish/functions/catp.fish new file mode 100644 index 00000000..96b2207d --- /dev/null +++ b/.config/fish/functions/catp.fish @@ -0,0 +1,7 @@ +function catp --wraps='bat --paging=always' --description 'alias catp=bat --paging=always' + if type -f bat &>/dev/null + bat --paging=always $argv + else + cat --paging=always $argv + end +end diff --git a/.config/fish/functions/cl.fish b/.config/fish/functions/cl.fish new file mode 100644 index 00000000..89dd15db --- /dev/null +++ b/.config/fish/functions/cl.fish @@ -0,0 +1,3 @@ +function cl --wraps=clear --wraps='clear' --description 'alias cl=clear' + clear +end diff --git a/.config/fish/functions/clean-unzip.fish b/.config/fish/functions/clean-unzip.fish new file mode 100644 index 00000000..aa600b8d --- /dev/null +++ b/.config/fish/functions/clean-unzip.fish @@ -0,0 +1,15 @@ +function clean-unzip --argument zipfile + if not test (echo $zipfile | string sub --start=-4) = .zip + echo (status function): argument must be a zipfile + return 1 + end + + if is-clean-zip $zipfile + unzip $zipfile + else + set folder_name (echo $zipfile | trim-right '.zip') + set target (basename $folder_name) + mkdir $target || return 1 + unzip $zipfile -d $target + end +end diff --git a/.config/fish/functions/clean.fish b/.config/fish/functions/clean.fish new file mode 100644 index 00000000..a790a1f9 --- /dev/null +++ b/.config/fish/functions/clean.fish @@ -0,0 +1,8 @@ +function clean + sudo paccache -rk1 + sudo paccache -ruk0 + deleteOrphans + cargo cache -a + pnpm store prune + sudo docker system prune -a +end diff --git a/.config/fish/functions/clock.fish b/.config/fish/functions/clock.fish new file mode 100644 index 00000000..acbdeb53 --- /dev/null +++ b/.config/fish/functions/clock.fish @@ -0,0 +1,3 @@ +function clock --wraps='tty-clock -sbc' --description 'alias clock=tty-clock -sbc' + tty-clock -sbc $argv +end diff --git a/.config/fish/functions/clone-cd.fish b/.config/fish/functions/clone-cd.fish new file mode 100644 index 00000000..a949dd2c --- /dev/null +++ b/.config/fish/functions/clone-cd.fish @@ -0,0 +1,11 @@ +function clone-cd --argument url _destination + set destination (default $_destination (repo-from-url $url)) + + if file-exists $destination + echo 'Already cloned. Attempting pull...' + cd $destination && git pull + return + end + + git clone --depth=1 $url $destination && cd $destination +end diff --git a/.config/fish/functions/codeinfo.fish b/.config/fish/functions/codeinfo.fish new file mode 100644 index 00000000..0d449966 --- /dev/null +++ b/.config/fish/functions/codeinfo.fish @@ -0,0 +1,7 @@ +function codeinfo --wraps='scc ./' --description 'alias codeinfo=scc ./' + if type -f scc &>/dev/null + scc ./ $argv + else + missing_package scc + end +end diff --git a/.config/fish/functions/copy.fish b/.config/fish/functions/copy.fish new file mode 100644 index 00000000..9a614783 --- /dev/null +++ b/.config/fish/functions/copy.fish @@ -0,0 +1,11 @@ +function copy + set count (count $argv | tr -d \n) + if test "$count" = 2; and test -d "$argv[1]" + set from (echo $argv[1] | trim-right /) + set to (echo $argv[2]) + mkdir -p (basename $to) + command cp -i -r $from $to + else + command cp -i $argv + end +end diff --git a/.config/fish/functions/cv.fish b/.config/fish/functions/cv.fish new file mode 100644 index 00000000..a243e33b --- /dev/null +++ b/.config/fish/functions/cv.fish @@ -0,0 +1,3 @@ +function cv --wraps=clear --wraps='z && v' --description 'alias cv=z && v' + z $argv && v +end diff --git a/.config/fish/functions/disks.fish b/.config/fish/functions/disks.fish new file mode 100644 index 00000000..7f2e8987 --- /dev/null +++ b/.config/fish/functions/disks.fish @@ -0,0 +1,7 @@ +function disks --wraps=duf --description 'alias disks=duf' + if type -f duf &>/dev/null + duf $argv + else + missing_package duf + end +end diff --git a/.config/fish/functions/dots.fish b/.config/fish/functions/dots.fish new file mode 100644 index 00000000..1e1e0812 --- /dev/null +++ b/.config/fish/functions/dots.fish @@ -0,0 +1,3 @@ +function dots --description 'alias dots=yadm enter lazygit' + fish -c 'cd $HOME; yadm enter lazygit' +end diff --git a/.config/fish/functions/dsize.fish b/.config/fish/functions/dsize.fish new file mode 100644 index 00000000..7ebdffa2 --- /dev/null +++ b/.config/fish/functions/dsize.fish @@ -0,0 +1,7 @@ +function dsize --wraps='dua i' --description 'alias dsize=dua i' + if type -f dua &>/dev/null + dua i $argv + else + missing_package dua-cli + end +end diff --git a/.config/fish/functions/ex.fish b/.config/fish/functions/ex.fish new file mode 100644 index 00000000..1e81d0ff --- /dev/null +++ b/.config/fish/functions/ex.fish @@ -0,0 +1,3 @@ +function ex --wraps='sudo chmod +x' --description 'alias ex=sudo chmod +x' + sudo chmod +x $argv +end diff --git a/.config/fish/functions/f.fish b/.config/fish/functions/f.fish new file mode 100644 index 00000000..e07bc819 --- /dev/null +++ b/.config/fish/functions/f.fish @@ -0,0 +1,7 @@ +function f --wraps=fzf --description 'alias f=fzf' + if type -f fzf &>/dev/null + fzf $argv + else + missing_package fzf + end +end diff --git a/.config/fish/functions/fetch.fish b/.config/fish/functions/fetch.fish new file mode 100644 index 00000000..ce670dd2 --- /dev/null +++ b/.config/fish/functions/fetch.fish @@ -0,0 +1,7 @@ +function fetch --wraps=fastfetch --description 'alias fetch=fastfetch' + if type -f fastfetch &>/dev/null + fastfetch $argv + else + missing_package fastfetch + end +end diff --git a/.config/fish/functions/fish_greeting.fish b/.config/fish/functions/fish_greeting.fish new file mode 100644 index 00000000..594cd5b0 --- /dev/null +++ b/.config/fish/functions/fish_greeting.fish @@ -0,0 +1,5 @@ +function fish_greeting + # if type -q colorscript + # colorscript random + # end +end diff --git a/.config/fish/functions/fish_user_key_bindings.fish b/.config/fish/functions/fish_user_key_bindings.fish new file mode 100644 index 00000000..22ca93e5 --- /dev/null +++ b/.config/fish/functions/fish_user_key_bindings.fish @@ -0,0 +1,16 @@ +function fish_user_key_bindings + set -xg fish_key_bindings fish_vi_key_bindings + fish_default_key_bindings -M insert + fish_vi_key_bindings --no-erase insert + bind -M visual -m default y 'fish_clipboard_copy; commandline -f end-selection repaint-mode' + bind yy fish_clipboard_copy + bind p fish_clipboard_paste + for dir in ~/.config/fish/functions + if test -f "$dir/fzf_configure_bindings.fish" + fzf_configure_bindings --directory=\e\cf --history=\ch --variables=\e\cv + break + end + end + + bind -M insert \e\z zi +end diff --git a/.config/fish/functions/gfetch.fish b/.config/fish/functions/gfetch.fish new file mode 100644 index 00000000..32494c1a --- /dev/null +++ b/.config/fish/functions/gfetch.fish @@ -0,0 +1,7 @@ +function gfetch --wraps=onefetch --description 'alias gfetch=onefetch' + if type -f onefetch &>/dev/null + onefetch $argv + else + missing_package onefetch + end +end diff --git a/.config/fish/functions/gpt.fish b/.config/fish/functions/gpt.fish new file mode 100644 index 00000000..06abcff1 --- /dev/null +++ b/.config/fish/functions/gpt.fish @@ -0,0 +1,7 @@ +function gpt --wraps='tgpt -i' --description 'alias gpt=tgpt -i' + if type -f tgpt &>/dev/null + tgpt $argv + else + missing_package tgpt + end +end diff --git a/.config/fish/functions/gr.fish b/.config/fish/functions/gr.fish new file mode 100644 index 00000000..aee5e241 --- /dev/null +++ b/.config/fish/functions/gr.fish @@ -0,0 +1,3 @@ +function gr --wraps='cd "$(git rev-parse --show-toplevel)"' --description 'alias gr=cd "$(git rev-parse --show-toplevel)"' + cd "$(git rev-parse --show-toplevel)" $argv +end diff --git a/.config/fish/functions/i.fish b/.config/fish/functions/i.fish new file mode 100644 index 00000000..11b8050b --- /dev/null +++ b/.config/fish/functions/i.fish @@ -0,0 +1,7 @@ +function i --wraps='yay -S ' --description 'alias i=yay -S ' + if type -f yay &>/dev/null + yay -Sy $argv + else + pacman -Sy $argv + end +end diff --git a/.config/fish/functions/info.fish b/.config/fish/functions/info.fish new file mode 100644 index 00000000..93acd924 --- /dev/null +++ b/.config/fish/functions/info.fish @@ -0,0 +1,7 @@ +function info --wraps=tldr --description 'alias info=tldr' + if type -f tldr &>/dev/null + tldr $argv + else + missing_package tldr + end +end diff --git a/.config/fish/functions/ip.fish b/.config/fish/functions/ip.fish new file mode 100644 index 00000000..ba096ddf --- /dev/null +++ b/.config/fish/functions/ip.fish @@ -0,0 +1,3 @@ +function ip --description 'alias ip=ip -c a' + command ip -c a $argv +end diff --git a/.config/fish/functions/l.fish b/.config/fish/functions/l.fish new file mode 100644 index 00000000..5f2e3280 --- /dev/null +++ b/.config/fish/functions/l.fish @@ -0,0 +1,7 @@ +function l --wraps='eza --long --header -a --icons --git --group-directories-first' --description 'alias l=eza --long --header -a --icons --git --group-directories-first' + if type -f eza &>/dev/null + eza --long --header -a --icons --git --group-directories-first --hyperlink $argv + else + missing_package eza + end +end diff --git a/.config/fish/functions/ld.fish b/.config/fish/functions/ld.fish new file mode 100644 index 00000000..15899fb4 --- /dev/null +++ b/.config/fish/functions/ld.fish @@ -0,0 +1,7 @@ +function ld --wraps=lazydocker --description 'alias ld=lazydocker' + if type -f lazydocker &>/dev/null + lazydocker $argv + else + missing_package lazydocker + end +end diff --git a/.config/fish/functions/ldh.fish b/.config/fish/functions/ldh.fish new file mode 100644 index 00000000..988ca9aa --- /dev/null +++ b/.config/fish/functions/ldh.fish @@ -0,0 +1,7 @@ +function ldh --wraps='eza --long --header --icons -D --git' --description 'alias ldh=eza --long --header --icons -D --git' + if type -f eza &>/dev/null + eza --long --header --icons -D --git --hyperlink $argv + else + missing_package eza + end +end diff --git a/.config/fish/functions/lg.fish b/.config/fish/functions/lg.fish new file mode 100644 index 00000000..1fed057a --- /dev/null +++ b/.config/fish/functions/lg.fish @@ -0,0 +1,7 @@ +function lg --wraps=lazygit --description 'alias lg=lazygit' + if type -f lazygit &>/dev/null + lazygit $argv + else + missing_package lazygit + end +end diff --git a/.config/fish/functions/lh.fish b/.config/fish/functions/lh.fish new file mode 100644 index 00000000..6f9522c0 --- /dev/null +++ b/.config/fish/functions/lh.fish @@ -0,0 +1,7 @@ +function lh --wraps='eza --long --header --icons --git --group-directories-first' --description 'alias lh=eza --long --header --icons --git --group-directories-first' + if type -f eza &>/dev/null + eza --long --header --icons --git --group-directories-first --hyperlink $argv + else + missing_package eza + end +end diff --git a/.config/fish/functions/lm.fish b/.config/fish/functions/lm.fish new file mode 100644 index 00000000..47a6861e --- /dev/null +++ b/.config/fish/functions/lm.fish @@ -0,0 +1,7 @@ +function lm --wraps='eza --long --header -a --icons --git --group-directories-first' --description 'alias l=eza --long --header -a --icons --git --group-directories-first' + if type -f eza &>/dev/null + eza --long --header -a --icons --git --hyperlink -s modified $argv + else + missing_package eza + end +end diff --git a/.config/fish/functions/ls.fish b/.config/fish/functions/ls.fish new file mode 100644 index 00000000..d99c7853 --- /dev/null +++ b/.config/fish/functions/ls.fish @@ -0,0 +1,7 @@ +function ls --wraps='eza -a --icons --group-directories-first' --description 'alias ls=eza -a --icons --group-directories-first' + if type -f eza &>/dev/null + eza -a --icons --group-directories-first --hyperlink $argv + else + missing_package eza + end +end diff --git a/.config/fish/functions/lsh.fish b/.config/fish/functions/lsh.fish new file mode 100644 index 00000000..aae12099 --- /dev/null +++ b/.config/fish/functions/lsh.fish @@ -0,0 +1,7 @@ +function lsh --wraps='eza --icons --git --group-directories-first' --description 'alias lsh=eza --icons --git --group-directories-first' + if type -f eza &>/dev/null + eza --icons --git --group-directories-first --hyperlink $argv + else + missing_package eza + end +end diff --git a/.config/fish/functions/lt.fish b/.config/fish/functions/lt.fish new file mode 100644 index 00000000..be2de911 --- /dev/null +++ b/.config/fish/functions/lt.fish @@ -0,0 +1,7 @@ +function lt --wraps='eza --long --header -a --icons --tree --git --group-directories-first' --description 'alias lt=eza --long --header -a --icons --tree --git --group-directories-first' + if type -f eza &>/dev/null + eza --long --header -a --icons --tree --git --group-directories-first --hyperlink $argv + else + missing_package eza + end +end diff --git a/.config/fish/functions/lth.fish b/.config/fish/functions/lth.fish new file mode 100644 index 00000000..6c076896 --- /dev/null +++ b/.config/fish/functions/lth.fish @@ -0,0 +1,7 @@ +function lth --wraps='eza --long --header --icons --tree --git --group-directories-first' --description 'alias lth=eza --long --header --icons --tree --git --group-directories-first' + if type -f eza &>/dev/null + eza --long --header --icons --tree --git --group-directories-first --hyperlink $argv + else + missing_package eza + end +end diff --git a/.config/fish/functions/lzd.fish b/.config/fish/functions/lzd.fish new file mode 100644 index 00000000..e62ffb26 --- /dev/null +++ b/.config/fish/functions/lzd.fish @@ -0,0 +1,7 @@ +function lzd --wraps=lazydocker --description 'alias lzd=lazydocker' + if type -f lazydocker &>/dev/null + lazydocker $argv + else + missing_package lazygit + end +end diff --git a/.config/fish/functions/matrix.fish b/.config/fish/functions/matrix.fish new file mode 100644 index 00000000..be488f12 --- /dev/null +++ b/.config/fish/functions/matrix.fish @@ -0,0 +1,3 @@ +function matrix --wraps='unimatrix -s 95' --description 'alias matrix=unimatrix -s 95' + unimatrix -s 95 $argv +end diff --git a/.config/fish/functions/missing_package.fish b/.config/fish/functions/missing_package.fish new file mode 100644 index 00000000..0f21f202 --- /dev/null +++ b/.config/fish/functions/missing_package.fish @@ -0,0 +1,12 @@ +function missing_package + while true + read -l -P "$argv[1] not found. Do you want to install it? [y/N] " confirm + + if test "$confirm" = y + i $argv + break + else + break + end + end +end diff --git a/.config/fish/functions/mkdir-cd.fish b/.config/fish/functions/mkdir-cd.fish new file mode 100644 index 00000000..6bfae861 --- /dev/null +++ b/.config/fish/functions/mkdir-cd.fish @@ -0,0 +1,4 @@ +function mkdir-cd --argument dir + mkdir -p -- $dir + and cd -- $dir +end diff --git a/.config/fish/functions/mkdir.fish b/.config/fish/functions/mkdir.fish new file mode 100644 index 00000000..dc317c5e --- /dev/null +++ b/.config/fish/functions/mkdir.fish @@ -0,0 +1,3 @@ +function mkdir --description 'alias mkdir=mkdir -p' + command mkdir -p $argv +end diff --git a/.config/fish/functions/op.fish b/.config/fish/functions/op.fish new file mode 100644 index 00000000..5f2988f8 --- /dev/null +++ b/.config/fish/functions/op.fish @@ -0,0 +1,3 @@ +function op --wraps='cd ~/Documents/Obsidian/obsidianVault' --description 'alias op=cd ~/Documents/Obsidian/obsidianVault' + tmuxp load -y notes-tasks +end diff --git a/.config/fish/functions/pages.fish b/.config/fish/functions/pages.fish new file mode 100644 index 00000000..8d69720d --- /dev/null +++ b/.config/fish/functions/pages.fish @@ -0,0 +1,7 @@ +function pages --wraps=navi --description 'alias pages=navi' + if type -f navi &>/dev/null + navi $argv + else + missing_package navi + end +end diff --git a/.config/fish/functions/proc.fish b/.config/fish/functions/proc.fish new file mode 100644 index 00000000..dab02a6c --- /dev/null +++ b/.config/fish/functions/proc.fish @@ -0,0 +1,7 @@ +function proc --wraps=sysz --description 'alias proc=sysz' + if type -f sysz &>/dev/null + sysz $argv + else + missing_package sysz + end +end diff --git a/.config/fish/functions/pse.fish b/.config/fish/functions/pse.fish new file mode 100644 index 00000000..ae660f0a --- /dev/null +++ b/.config/fish/functions/pse.fish @@ -0,0 +1,8 @@ +function pse --wraps=pacseek --description 'alias pse=pacseek' + if type -f pacseek &>/dev/null + pacseek $argv + else + missing_package pacseek + end + +end diff --git a/.config/fish/functions/q.fish b/.config/fish/functions/q.fish new file mode 100644 index 00000000..125c6374 --- /dev/null +++ b/.config/fish/functions/q.fish @@ -0,0 +1,3 @@ +function q --wraps=exit --description 'alias q=exit' + exit $argv +end diff --git a/.config/fish/functions/r.fish b/.config/fish/functions/r.fish new file mode 100644 index 00000000..f924bd1e --- /dev/null +++ b/.config/fish/functions/r.fish @@ -0,0 +1,8 @@ +function r --wraps='mise run' --description 'alias r=mise run' + if type -f mise &>/dev/null + mise run $argv + else + missing_package mise + end + +end diff --git a/.config/fish/functions/restore.fish b/.config/fish/functions/restore.fish new file mode 100644 index 00000000..aa923783 --- /dev/null +++ b/.config/fish/functions/restore.fish @@ -0,0 +1,3 @@ +function restore --argument file + mv $file (echo $file | sed s/.bak//) +end diff --git a/.config/fish/functions/rga-fzf.fish b/.config/fish/functions/rga-fzf.fish new file mode 100644 index 00000000..6b33573a --- /dev/null +++ b/.config/fish/functions/rga-fzf.fish @@ -0,0 +1,16 @@ +function rga-fzf + set RG_PREFIX 'rga --files-with-matches' + if test (count $argv) -gt 1 + set RG_PREFIX "$RG_PREFIX $argv[1..-2]" + end + set -l file $file + set file ( + FZF_DEFAULT_COMMAND="$RG_PREFIX '$argv[-1]'" \ + fzf --sort \ + --preview='test ! -z {} && \ + rga --pretty --context 5 {q} {}' \ + --phony -q "$argv[-1]" \ + --bind "change:reload:$RG_PREFIX {q}" \ + --preview-window='50%:wrap' + ) && echo "opening $file" && nvim "$file" +end diff --git a/.config/fish/functions/rules.fish b/.config/fish/functions/rules.fish new file mode 100644 index 00000000..6d5f6ed9 --- /dev/null +++ b/.config/fish/functions/rules.fish @@ -0,0 +1,9 @@ +function rules + set currentDirectory (pwd) + set selectedRule (fd -I --hidden --type f . ~/.config/nvim/rules/ | fzf --preview "bat {}") + + if test -n "$selectedRule" + cp $selectedRule $currentDirectory + echo "'$selectedRule' copied" + end +end diff --git a/.config/fish/functions/s.fish b/.config/fish/functions/s.fish new file mode 100644 index 00000000..ca0eab0d --- /dev/null +++ b/.config/fish/functions/s.fish @@ -0,0 +1,3 @@ +function s --wraps=sudo --description 'alias s=sudo' + sudo $argv +end diff --git a/.config/fish/functions/sc.fish b/.config/fish/functions/sc.fish new file mode 100644 index 00000000..2b151c69 --- /dev/null +++ b/.config/fish/functions/sc.fish @@ -0,0 +1,3 @@ +function sc --wraps='source $XDG_CONFIG_HOME/fish/config.fish' --description 'alias r=source $XDG_CONFIG_HOME/fish/config.fish' + source $XDG_CONFIG_HOME/fish/config.fish $argv +end diff --git a/.config/fish/functions/svn.fish b/.config/fish/functions/svn.fish new file mode 100644 index 00000000..28389dd8 --- /dev/null +++ b/.config/fish/functions/svn.fish @@ -0,0 +1,3 @@ +function svn --description alias\ svn=svn\ --config-dir\ \\\"\$XDG_CONFIG_HOME\\\"/subversion + command svn --config-dir \"$XDG_CONFIG_HOME\"/subversion $argv +end diff --git a/.config/fish/functions/t.fish b/.config/fish/functions/t.fish new file mode 100644 index 00000000..8e4b21da --- /dev/null +++ b/.config/fish/functions/t.fish @@ -0,0 +1,7 @@ +function t --wraps=tmux --description 'alias t=tmux' + if type -f tmux &>/dev/null + tmux new-session $argv + else + missing_package tmux + end +end diff --git a/.config/fish/functions/ta.fish b/.config/fish/functions/ta.fish new file mode 100644 index 00000000..7545b889 --- /dev/null +++ b/.config/fish/functions/ta.fish @@ -0,0 +1,7 @@ +function ta --wraps='tmux attach -t' --description 'alias ta=tmux attach -t' + if type -f tmux &>/dev/null + tmux attach + else + missing_package tmux + end +end diff --git a/.config/fish/functions/test-net.fish b/.config/fish/functions/test-net.fish new file mode 100644 index 00000000..b0cd6bec --- /dev/null +++ b/.config/fish/functions/test-net.fish @@ -0,0 +1,3 @@ +function test-net --wraps='command up' --description 'alias test-net=command up' + command up $argv +end diff --git a/.config/fish/functions/tr.fish b/.config/fish/functions/tr.fish new file mode 100644 index 00000000..8b1b299d --- /dev/null +++ b/.config/fish/functions/tr.fish @@ -0,0 +1,3 @@ +function tr --wraps=trash --description 'alias tr=trash' + trash $argv +end diff --git a/.config/fish/functions/u.fish b/.config/fish/functions/u.fish new file mode 100644 index 00000000..d6cc841d --- /dev/null +++ b/.config/fish/functions/u.fish @@ -0,0 +1,7 @@ +function u --wraps='yay -R ' --description 'alias u=yay -R ' + if type -f yay &>/dev/null + yay -R $argv + else + pacman -R $argv + end +end diff --git a/.config/fish/functions/up.fish b/.config/fish/functions/up.fish new file mode 100644 index 00000000..bdf7f220 --- /dev/null +++ b/.config/fish/functions/up.fish @@ -0,0 +1,9 @@ +function up --wraps='yay -Syu' --description 'alias up=yay -Syu' + if type -f topgrade &>/dev/null + topgrade -k --only system + else if type -f yay &>/dev/null + yay -Syu $argv + else + pacman -Syu $argv + end +end diff --git a/.config/fish/functions/upall.fish b/.config/fish/functions/upall.fish new file mode 100644 index 00000000..71abe955 --- /dev/null +++ b/.config/fish/functions/upall.fish @@ -0,0 +1,7 @@ +function upall --wraps=topgrade --description 'alias upall=topgrade' + if type -f topgrade &>/dev/null + topgrade -k --no-self-update $argv + else + missing_package topgrade + end +end diff --git a/.config/fish/functions/v.fish b/.config/fish/functions/v.fish new file mode 100644 index 00000000..f1ee126e --- /dev/null +++ b/.config/fish/functions/v.fish @@ -0,0 +1,7 @@ +function v --wraps=nvim --description 'alias v=nvim' + if type -f nvim &>/dev/null + nvim $argv + else + missing_package nvim + end +end diff --git a/.config/fish/functions/vc.fish b/.config/fish/functions/vc.fish new file mode 100644 index 00000000..980f1585 --- /dev/null +++ b/.config/fish/functions/vc.fish @@ -0,0 +1,10 @@ +function vc + set config (fd --max-depth 1 --glob 'nvim-*' ~/.config | fzf --prompt="Neovim Configs > " --height=~50% --layout=reverse --exit-0) + + if test -z "$config" + return + end + + set -x NVIM_APPNAME (basename $config) + nvim $argv +end diff --git a/.config/fish/functions/vcl.fish b/.config/fish/functions/vcl.fish new file mode 100644 index 00000000..8fe0d753 --- /dev/null +++ b/.config/fish/functions/vcl.fish @@ -0,0 +1,7 @@ +function vcl --wraps='nvim --clean' --description 'alias vcl=nvim --clean' + if type -f nvim &>/dev/null + nvim --clean $argv + else + missing_package nvim + end +end diff --git a/.config/fish/functions/vv.fish b/.config/fish/functions/vv.fish new file mode 100644 index 00000000..2384d254 --- /dev/null +++ b/.config/fish/functions/vv.fish @@ -0,0 +1,3 @@ +function vv --wraps=bob --description 'alias vv=bob' + bob $argv +end diff --git a/.config/fish/functions/vvl.fish b/.config/fish/functions/vvl.fish new file mode 100644 index 00000000..2d0f1a5f --- /dev/null +++ b/.config/fish/functions/vvl.fish @@ -0,0 +1,3 @@ +function vvl --wraps='bob use latest' --description 'alias vvl=bob use latest' + bob use latest $argv +end diff --git a/.config/fish/functions/vvn.fish b/.config/fish/functions/vvn.fish new file mode 100644 index 00000000..a0c8dd37 --- /dev/null +++ b/.config/fish/functions/vvn.fish @@ -0,0 +1,3 @@ +function vvn --wraps='bob use nightly' --description 'alias vvn=bob use nightly' + bob use nightly $argv +end diff --git a/.config/fish/functions/wget.fish b/.config/fish/functions/wget.fish new file mode 100644 index 00000000..9fbf57af --- /dev/null +++ b/.config/fish/functions/wget.fish @@ -0,0 +1,3 @@ +function wget --description 'alias wget=wget --hsts-file="$XDG_DATA_HOME/wget-hsts"' + command wget --hsts-file="$XDG_DATA_HOME/wget-hsts" $argv +end diff --git a/.config/fish/functions/y.fish b/.config/fish/functions/y.fish new file mode 100644 index 00000000..6b263044 --- /dev/null +++ b/.config/fish/functions/y.fish @@ -0,0 +1,8 @@ +function y + set tmp (mktemp -t "yazi-cwd.XXXXXX") + yazi $argv --cwd-file="$tmp" + if set cwd (command cat -- "$tmp"); and [ -n "$cwd" ]; and [ "$cwd" != "$PWD" ] + builtin cd -- "$cwd" + end + rm -f -- "$tmp" +end diff --git a/.config/fish/functions/yarn.fish b/.config/fish/functions/yarn.fish new file mode 100644 index 00000000..bef4607e --- /dev/null +++ b/.config/fish/functions/yarn.fish @@ -0,0 +1,3 @@ +function yarn --description 'alias yarn=yarn --use-yarnrc "$XDG_CONFIG_HOME/yarn/config"' + command yarn --use-yarnrc "$XDG_CONFIG_HOME/yarn/config" $argv +end diff --git a/.config/fish/user_variables.fish b/.config/fish/user_variables.fish new file mode 100644 index 00000000..938a2e7a --- /dev/null +++ b/.config/fish/user_variables.fish @@ -0,0 +1,93 @@ +# XDG Directories +set -xg XDG_CONFIG_HOME $HOME/.config +set -xg XDG_CACHE_HOME $HOME/.cache +set -xg XDG_DATA_HOME $HOME/.local/share +set -xg XDG_STATE_HOME $HOME/.local/state +set -xg XDG_BIN_HOME $HOME/.local/bin +set -xg XDG_SCRIPT_HOME $HOME/.local/script + +# Respect XDG Specification +set -xg CONAN_USER_HOME $XDG_CONFIG_HOME +set -xg GOPATH $XDG_DATA_HOME/go +set -xg GOMODCACHE $XDG_CACHE_HOME/go/mod +set -xg RUSTUP_HOME $XDG_DATA_HOME/rustup +set -xg CARGO_HOME $XDG_DATA_HOME/cargo +set -xg LEIN_HOME $XDG_DATA_HOME/lein +set -xg NUGET_PACKAGES $XDG_CACHE_HOME/NuGetPackages +set -xg ANDROID_USER_HOME $XDG_DATA_HOME/android +set -xg NODE_REPL_HISTORY $XDG_DATA_HOME/node_repl_history +set -xg DOCKER_CONFIG $XDG_CONFIG_HOME/docker +set -xg SQLITE_HISTORY $XDG_DATA_HOME/sqlite_history +set -xg GRADLE_USER_HOME $XDG_DATA_HOME/gradle +set -xg RIPGREP_CONFIG_PATH $HOME/.config/rg/.ripgreprc +set -xg STARSHIP_CONFIG $HOME/.config/starship/starship.toml +set -xg ANSIBLE_HOME $XDG_CONFIG_HOME/ansible +set -xg FFMPEG_DATADIR $XDG_CONFIG_HOME/ffmpeg +set -xg MYSQL_HISTFILE $XDG_DATA_HOME/mysql_history +set -xg OMNISHARPHOME $XDG_CONFIG_HOME/omnisharp +set -xg PYENV_ROOT $XDG_DATA_HOME/pyenv +set -xg WORKON_HOME $XDG_DATA_HOME/virtualenvs +set -xg XINITRC $XDG_CONFIG_HOME/X11/xinitrcexport +set -xg XSERVERRC $XDG_CONFIG_HOME/X11/xserverrc +set -xg HISTFILE $XDG_STATE_HOME/bash/history +set -xg ZSH $XDG_DATA_HOME/oh-my-zsh +set -xg WINEPREFIX $XDG_DATA_HOME/wine +set -xg NPM_CONFIG_USERCONFIG $XDG_CONFIG_HOME/npm/npmrc +set -xg GTK2_RC_FILES $XDG_CONFIG_HOME/gtk-2.0/gtkrc +set -xg W3M_DIR $XDG_DATA_HOME/w3m +set -xg DOTNET_CLI_HOME $XDG_DATA_HOME/dotnet +set -xg PNPM_HOME $XDG_DATA_HOME/pnpm + +# Path +fish_add_path $XDG_BIN_HOME +fish_add_path $XDG_BIN_HOME/color-scripts/ +fish_add_path $GOPATH/bin +fish_add_path $CARGO_HOME/bin +fish_add_path $XDG_SCRIPT_HOME +fish_add_path /usr/local/bin +fish_add_path /usr/local/sbin +fish_add_path /usr/bin +fish_add_path /usr/sbin +fish_add_path /bin +fish_add_path /sbin +fish_add_path /usr/lib/rustup/bin +fish_add_path /usr/lib/go/bin +fish_add_path $HOME/.dotnet/tools +fish_add_path $XDG_DATA_HOME/bob/nvim-bin +fish_add_path $XDG_DATA_HOME/npm/bin +fish_add_path $XDG_DATA_HOME/nvim/mason/bin +fish_add_path $HOME/.yarn/bin +fish_add_path $HOME/bin +fish_add_path $XDG_DATA_HOME/pnpm + +eval "$(rbenv init -)" + +# Editor +set -xg EDITOR vim +set -xg VISUAL $EDITOR +set -xg SUDO_EDITOR $EDITOR + +# GPG/LANG +set -xg GPG_TTY (tty) + +# FZF +set -xg FZF_DEFAULT_COMMAND fd +set -xg FZF_DEFAULT_OPTS "--height=90% --layout=reverse --info=inline --border rounded --margin=1 --padding=1 \ +--color=bg+:#363A4F,bg:#24273A,spinner:#F4DBD6,hl:#ED8796 \ +--color=fg:#CAD3F5,header:#ED8796,info:#B7BDF8,pointer:#F4DBD6 \ +--color=marker:#B7BDF8,fg+:#CAD3F5,prompt:#B7BDF8,hl+:#ED8796 \ +--color=selected-bg:#494D64 \ +--color=border:#6E738D,label:#CAD3F5 \ +--bind 'ctrl-u:preview-half-page-up' +--bind 'ctrl-d:preview-half-page-down' +--bind 'ctrl-y:execute-silent(printf {} | cut -f 2- | wl-copy --trim-newline)'" +set -xg fzf_preview_dir_cmd eza --long --header --icons --all --color=always --group-directories-first --hyperlink +set -xg fzf_fd_opts --hidden --color=always +set -xg _ZO_FZF_OPTS $FZF_DEFAULT_OPTS '--preview "{$fzf_preview_dir_cmd} {2}"' + +# Other +if type -q vivid + set -xg LS_COLORS (vivid generate catppuccin-macchiato) +end +set -xg STARSHIP_LOG error +set -xg ATAC_KEY_BINDINGS $XDG_CONFIG_HOME/atac/vim_key_bindings.toml