Initial commit
@@ -0,0 +1,9 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
home.username = "aariz";
|
||||
home.homeDirectory = "/home/aariz";
|
||||
home.stateVersion = "26.05";
|
||||
|
||||
programs.home-manager.enable = true;
|
||||
}
|
||||
@@ -0,0 +1,196 @@
|
||||
# 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 update init pm x repl
|
||||
set -l bun_builtin_cmds_accepting_flags create help bun upgrade discord run init link unlink pm x update
|
||||
|
||||
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 update" -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 update" -l 'cwd' -d 'Change working directory'
|
||||
|
||||
complete -c bun \
|
||||
-n "__fish_seen_subcommand_from install add remove update" -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 "update" -d "Update dependencies to their latest versions" -f
|
||||
complete -c bun -n "__fish_use_subcommand" -a "publish" -d "Publish your package from local to npm" -f
|
||||
complete -c bun -n "__fish_use_subcommand" -a "repl" -d "Start a REPL session with Bun" -f
|
||||
complete -c bun -n "__fish_seen_subcommand_from repl" -s "e" -l "eval" -r -d "Evaluate argument as a script, then exit" -f
|
||||
complete -c bun -n "__fish_seen_subcommand_from repl" -s "p" -l "print" -r -d "Evaluate argument as a script, print the result, then exit" -f
|
||||
complete -c bun -n "__fish_seen_subcommand_from repl" -s "r" -l "preload" -r -d "Import a module before other modules are loaded"
|
||||
complete -c bun -n "__fish_seen_subcommand_from repl" -l "smol" -d "Use less memory, but run garbage collection more often" -f
|
||||
complete -c bun -n "__fish_seen_subcommand_from repl" -s "c" -l "config" -r -d "Specify path to Bun config file"
|
||||
complete -c bun -n "__fish_seen_subcommand_from repl" -l "cwd" -r -d "Absolute path to resolve files & entry points from"
|
||||
complete -c bun -n "__fish_seen_subcommand_from repl" -l "env-file" -r -d "Load environment variables from the specified file(s)"
|
||||
complete -c bun -n "__fish_seen_subcommand_from repl" -l "no-env-file" -d "Disable automatic loading of .env files" -f
|
||||
@@ -0,0 +1,98 @@
|
||||
# fish completion for copilot
|
||||
# Generated by `copilot completion fish`. Do not edit by hand.
|
||||
|
||||
complete -c copilot -n '__fish_use_subcommand' -f -a 'login' -d 'Authenticate with Copilot'
|
||||
complete -c copilot -n '__fish_use_subcommand' -f -a 'help' -d 'Display help information'
|
||||
complete -c copilot -n '__fish_use_subcommand' -f -a 'init' -d 'Initialize Copilot instructions'
|
||||
complete -c copilot -n '__fish_use_subcommand' -f -a 'update' -d 'Download the latest version'
|
||||
complete -c copilot -n '__fish_use_subcommand' -f -a 'version' -d 'Display version information'
|
||||
complete -c copilot -n '__fish_use_subcommand' -f -a 'plugin' -d 'Manage plugins'
|
||||
complete -c copilot -n '__fish_use_subcommand' -f -a 'mcp' -d 'Manage MCP servers'
|
||||
complete -c copilot -n '__fish_use_subcommand' -f -a 'completion' -d 'Generate a shell completion script'
|
||||
complete -c copilot -l version -s v -f -d 'show version information'
|
||||
complete -c copilot -l interactive -s i -r -d 'Start interactive mode and automatically execute this prompt'
|
||||
complete -c copilot -l prompt -s p -r -d 'Execute a prompt in non-interactive mode (exits after completion)'
|
||||
complete -c copilot -l silent -s s -f -d 'Output only the agent response (no stats), useful for scripting with -p'
|
||||
complete -c copilot -l model -r -d 'Set the AI model to use'
|
||||
complete -c copilot -l effort -l reasoning-effort -r -d 'Set the reasoning effort level' -a 'low medium high xhigh'
|
||||
complete -c copilot -l enable-reasoning-summaries -f -d 'Request reasoning summaries for OpenAI models'
|
||||
complete -c copilot -l agent -r -d 'Specify a custom agent to use'
|
||||
complete -c copilot -l resume -r -d 'Resume from a previous session (optionally specify session ID, task ID, or name; name matching is exact, case-insensitive)'
|
||||
complete -c copilot -l continue -f -d 'Resume the most recent session'
|
||||
complete -c copilot -l name -s n -r -d 'Set a name for the new session'
|
||||
complete -c copilot -l connect -r -d 'Connect directly to a remote session (optionally specify session ID or task ID)'
|
||||
complete -c copilot -l allow-all-tools -f -d 'Allow all tools to run automatically without confirmation; required for non-interactive mode'
|
||||
complete -c copilot -l allow-all-paths -f -d 'Disable file path verification and allow access to any path'
|
||||
complete -c copilot -l disallow-temp-dir -f -d 'Prevent automatic access to the system temporary directory'
|
||||
complete -c copilot -l no-custom-instructions -f -d 'Disable loading of custom instructions from AGENTS.md and related files'
|
||||
complete -c copilot -l no-auto-update -f -d 'Disable downloading CLI update automatically (disabled by default in CI environments)'
|
||||
complete -c copilot -l no-ask-user -f -d 'Disable the ask_user tool (agent works autonomously without asking questions)'
|
||||
complete -c copilot -l banner -f -d 'Show the startup banner'
|
||||
complete -c copilot -l no-color -f -d 'Disable all color output'
|
||||
complete -c copilot -l screen-reader -f -d 'Enable screen reader optimizations'
|
||||
complete -c copilot -l plain-diff -f -d 'Disable rich diff rendering (syntax highlighting via diff tool specified by git config)'
|
||||
complete -c copilot -s C -r -d 'Change working directory before doing anything else'
|
||||
complete -c copilot -l log-dir -r -d 'Set log file directory (default: ~/.copilot/logs/)'
|
||||
complete -c copilot -l log-level -r -d 'Set the log level' -a 'none error warning info debug all default'
|
||||
complete -c copilot -l stream -r -d 'Enable or disable streaming mode' -a 'on off'
|
||||
complete -c copilot -l output-format -r -d 'Output format: \'text\' (default) or \'json\' (JSONL, one JSON object per line)' -a 'text json'
|
||||
complete -c copilot -l share -r -d 'Share session to markdown file after completion in non-interactive mode (default: ./copilot-session-<id>.md)'
|
||||
complete -c copilot -l share-gist -f -d 'Share session to a secret GitHub gist after completion in non-interactive mode'
|
||||
complete -c copilot -l add-dir -r -d 'Add a directory to the allowed list for file access (can be used multiple times)'
|
||||
complete -c copilot -l attachment -r -d 'Attach a file (image or native document) to the initial prompt; only valid in non-interactive mode (can be used multiple times)'
|
||||
complete -c copilot -l disable-mcp-server -r -d 'Disable a specific MCP server (can be used multiple times)'
|
||||
complete -c copilot -l disable-builtin-mcps -f -d 'Disable all built-in MCP servers (currently: github-mcp-server)'
|
||||
complete -c copilot -l enable-all-github-mcp-tools -f -d 'Enable all GitHub MCP server tools instead of the default CLI subset. Overrides --add-github-mcp-toolset and --add-github-mcp-tool options.'
|
||||
complete -c copilot -l add-github-mcp-toolset -r -d 'Add a toolset to enable for the GitHub MCP server instead of the default CLI subset (can be used multiple times). Use "all" for all toolsets.'
|
||||
complete -c copilot -l add-github-mcp-tool -r -d 'Add a tool to enable for the GitHub MCP server instead of the default CLI subset (can be used multiple times). Use "*" for all tools.'
|
||||
complete -c copilot -l plugin-dir -r -d 'Load a plugin from a local directory (can be used multiple times)'
|
||||
complete -c copilot -l additional-mcp-config -r -d 'Additional MCP servers configuration as JSON string or file path (prefix with @) (can be used multiple times; augments config from ~/.copilot/mcp-config.json for this session)'
|
||||
complete -c copilot -l allow-tool -r -d 'Tools the CLI has permission to use; will not prompt for permission'
|
||||
complete -c copilot -l deny-tool -r -d 'Tools the CLI does not have permission to use; will not prompt for permission'
|
||||
complete -c copilot -l available-tools -r -d 'Only these tools will be available to the model'
|
||||
complete -c copilot -l excluded-tools -r -d 'These tools will not be available to the model'
|
||||
complete -c copilot -l secret-env-vars -r -d 'Environment variable names whose values are stripped from shell and MCP server environments and redacted from output (e.g., --secret-env-vars=MY_KEY,OTHER_KEY)'
|
||||
complete -c copilot -l allow-url -r -d 'Allow access to specific URLs or domains'
|
||||
complete -c copilot -l deny-url -r -d 'Deny access to specific URLs or domains, takes precedence over --allow-url'
|
||||
complete -c copilot -l allow-all-urls -f -d 'Allow access to all URLs without confirmation'
|
||||
complete -c copilot -l allow-all -f -d 'Enable all permissions (equivalent to --allow-all-tools --allow-all-paths --allow-all-urls)'
|
||||
complete -c copilot -l yolo -f -d 'Enable all permissions (equivalent to --allow-all-tools --allow-all-paths --allow-all-urls)'
|
||||
complete -c copilot -l max-autopilot-continues -r -d 'Maximum number of continuation messages in autopilot mode'
|
||||
complete -c copilot -l mode -r -d 'Set the initial agent mode' -a 'interactive plan autopilot'
|
||||
complete -c copilot -l autopilot -f -d 'Start in autopilot mode'
|
||||
complete -c copilot -l plan -f -d 'Start in plan mode'
|
||||
complete -c copilot -l experimental -f -d 'Enable experimental features'
|
||||
complete -c copilot -l no-experimental -f -d 'Disable experimental features'
|
||||
complete -c copilot -l bash-env -r -d 'Enable BASH_ENV support for bash shells (on|off)'
|
||||
complete -c copilot -l no-bash-env -f -d 'Disable BASH_ENV support for bash shells'
|
||||
complete -c copilot -l mouse -r -d 'Enable mouse support in alt screen mode (on|off)'
|
||||
complete -c copilot -l no-mouse -f -d 'Disable mouse support in alt screen mode'
|
||||
complete -c copilot -l acp -f -d 'Start as Agent Client Protocol server'
|
||||
complete -c copilot -l remote -f -d 'Enable remote control of your session from GitHub web and mobile'
|
||||
complete -c copilot -l no-remote -f -d 'Disable remote control of your session from GitHub web and mobile'
|
||||
complete -c copilot -n '__fish_seen_subcommand_from login' -l host -r -d 'GitHub host URL (default: https://github.com)'
|
||||
complete -c copilot -n '__fish_seen_subcommand_from plugin' -f -a 'install' -d 'Install a plugin'
|
||||
complete -c copilot -n '__fish_seen_subcommand_from plugin' -f -a 'uninstall' -d 'Uninstall a plugin'
|
||||
complete -c copilot -n '__fish_seen_subcommand_from plugin' -f -a 'update' -d 'Update a plugin'
|
||||
complete -c copilot -n '__fish_seen_subcommand_from plugin' -f -a 'list' -d 'List installed plugins'
|
||||
complete -c copilot -n '__fish_seen_subcommand_from plugin' -f -a 'marketplace' -d 'Manage plugin marketplaces'
|
||||
complete -c copilot -n '__fish_seen_subcommand_from plugin; and __fish_seen_subcommand_from marketplace' -f -a 'add' -d 'Add a marketplace'
|
||||
complete -c copilot -n '__fish_seen_subcommand_from plugin; and __fish_seen_subcommand_from marketplace' -f -a 'remove' -d 'Remove a marketplace'
|
||||
complete -c copilot -n '__fish_seen_subcommand_from plugin; and __fish_seen_subcommand_from marketplace' -f -a 'list' -d 'List registered marketplaces'
|
||||
complete -c copilot -n '__fish_seen_subcommand_from plugin; and __fish_seen_subcommand_from marketplace' -f -a 'browse' -d 'Browse plugins in a marketplace'
|
||||
complete -c copilot -n '__fish_seen_subcommand_from plugin; and __fish_seen_subcommand_from marketplace' -f -a 'update' -d 'Update marketplace plugin catalogs'
|
||||
complete -c copilot -n '__fish_seen_subcommand_from plugin; and __fish_seen_subcommand_from marketplace; and __fish_seen_subcommand_from remove' -l force -s f -f -d 'Force removal even if plugins are installed'
|
||||
complete -c copilot -n '__fish_seen_subcommand_from mcp' -f -a 'list' -d 'List configured MCP servers'
|
||||
complete -c copilot -n '__fish_seen_subcommand_from mcp' -f -a 'get' -d 'Show server details'
|
||||
complete -c copilot -n '__fish_seen_subcommand_from mcp' -f -a 'add' -d 'Add an MCP server'
|
||||
complete -c copilot -n '__fish_seen_subcommand_from mcp' -f -a 'remove' -d 'Remove an MCP server'
|
||||
complete -c copilot -n '__fish_seen_subcommand_from mcp; and __fish_seen_subcommand_from list' -l json -f -d 'Output as JSON'
|
||||
complete -c copilot -n '__fish_seen_subcommand_from mcp; and __fish_seen_subcommand_from get' -l json -f -d 'Output as JSON'
|
||||
complete -c copilot -n '__fish_seen_subcommand_from mcp; and __fish_seen_subcommand_from get' -l show-secrets -f -d 'Show full environment variable and header values (masked by default)'
|
||||
complete -c copilot -n '__fish_seen_subcommand_from mcp; and __fish_seen_subcommand_from add' -l transport -r -d 'Server transport' -a 'stdio http sse'
|
||||
complete -c copilot -n '__fish_seen_subcommand_from mcp; and __fish_seen_subcommand_from add' -l env -r -d 'Environment variable (KEY=VALUE, can be repeated)'
|
||||
complete -c copilot -n '__fish_seen_subcommand_from mcp; and __fish_seen_subcommand_from add' -l header -r -d 'HTTP header for remote servers, can be repeated'
|
||||
complete -c copilot -n '__fish_seen_subcommand_from mcp; and __fish_seen_subcommand_from add' -l tools -r -d 'Tool filter: "*" for all, comma-separated list, or "" for none'
|
||||
complete -c copilot -n '__fish_seen_subcommand_from mcp; and __fish_seen_subcommand_from add' -l timeout -r -d 'Timeout in milliseconds'
|
||||
complete -c copilot -n '__fish_seen_subcommand_from mcp; and __fish_seen_subcommand_from add' -l json -f -d 'Output added config as JSON'
|
||||
complete -c copilot -n '__fish_seen_subcommand_from mcp; and __fish_seen_subcommand_from add' -l show-secrets -f -d 'Show full environment variable and header values in output, masked by default'
|
||||
@@ -0,0 +1,14 @@
|
||||
# This file was created by fish when upgrading to version 4.3, to migrate
|
||||
# the 'fish_key_bindings' variable from its old default scope (universal)
|
||||
# to its new default scope (global). We recommend you delete this file
|
||||
# and configure key bindings in ~/.config/fish/config.fish if needed.
|
||||
|
||||
# set --global fish_key_bindings fish_default_key_bindings
|
||||
|
||||
# Prior to version 4.3, fish shipped an event handler that runs
|
||||
# `set --universal fish_key_bindings fish_default_key_bindings`
|
||||
# whenever the fish_key_bindings variable is erased.
|
||||
# This means that as long as any fish < 4.3 is still running on this system,
|
||||
# we cannot complete the migration.
|
||||
# As a workaround, erase the universal variable at every shell startup.
|
||||
set --erase --universal fish_key_bindings
|
||||
@@ -0,0 +1,38 @@
|
||||
if status is-interactive
|
||||
starship init fish | source
|
||||
zoxide init fish | source
|
||||
alias cd=z
|
||||
alias docker=podman
|
||||
alias ls='/etc/profiles/per-user/river/bin/eza --icons'
|
||||
alias cat="/etc/profiles/per-user/river/bin/bat"
|
||||
alias grep="/etc/profiles/per-user/river/bin/rg"
|
||||
alias idea="v ~/.idea/idea.md"
|
||||
|
||||
export PATH="$HOME/.npm-global/bin:$PATH"
|
||||
|
||||
alias kubectx='kubectl config use-context'
|
||||
alias nrs="sudo nixos-rebuild switch --flake /home/river/nixos-dotfiles#pc"
|
||||
alias config="nvim /home/river/nixos-dotfiles/hosts/pc/configuration.nix"
|
||||
alias v=nvim
|
||||
alias y=yazi
|
||||
end
|
||||
|
||||
function fish_greeting
|
||||
|
||||
end
|
||||
|
||||
# bun
|
||||
set --export BUN_INSTALL "$HOME/.bun"
|
||||
set --export PATH $BUN_INSTALL/bin $PATH
|
||||
|
||||
alias cea="bunx create-expo-app --no-install"
|
||||
|
||||
export PATH="$HOME/.local/bin:$PATH"
|
||||
|
||||
set -gx GPG_TTY (tty)
|
||||
gpg-connect-agent updatestartuptty /bye >/dev/null
|
||||
|
||||
# OpenClaw Completion
|
||||
test -f "/home/river/.openclaw/completions/openclaw.fish"; and source "/home/river/.openclaw/completions/openclaw.fish"
|
||||
|
||||
set -gx CLAUDE_CODE_MAX_OUTPUT_TOKENS 64000
|
||||
@@ -0,0 +1,4 @@
|
||||
# This file contains fish universal variable definitions.
|
||||
# VERSION: 3.0
|
||||
SETUVAR __fish_initialized:4300
|
||||
SETUVAR fish_user_paths:/opt/homebrew/opt/llvm/bin
|
||||
@@ -0,0 +1,19 @@
|
||||
function clone-starter
|
||||
if test (count $argv) -eq 0
|
||||
echo "Usage: clone-starter <project-name>"
|
||||
return 1
|
||||
end
|
||||
|
||||
set project_name $argv[1]
|
||||
|
||||
git clone https://github.com/pure-sagacity/turborepo-starter-project.git $project_name
|
||||
|
||||
if test $status -ne 0
|
||||
echo "Error: git clone failed"
|
||||
return 1
|
||||
end
|
||||
|
||||
rm -rf $project_name/.git
|
||||
|
||||
echo "✓ Created $project_name (git history removed)"
|
||||
end
|
||||
@@ -0,0 +1,20 @@
|
||||
function copy
|
||||
if test (count $argv) -eq 0
|
||||
echo "Usage: copy <file>"
|
||||
return 1
|
||||
end
|
||||
|
||||
if not test -f $argv[1]
|
||||
echo "Error: File '$argv[1]' not found"
|
||||
return 1
|
||||
end
|
||||
|
||||
cat $argv[1] | wl-copy
|
||||
|
||||
if test $status -eq 0
|
||||
echo "Copied contents of '$argv[1]' to clipboard"
|
||||
else
|
||||
echo "Error: Failed to copy to clipboard"
|
||||
return 1
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,5 @@
|
||||
function generateSecret
|
||||
openssl rand -base64 32 | pbcopy
|
||||
|
||||
echo "Copied secret to clipboard!"
|
||||
end
|
||||
@@ -0,0 +1,4 @@
|
||||
function wipedns
|
||||
sudo dscacheutil -flushcache
|
||||
sudo killall -HUP mDNSResponder
|
||||
end
|
||||
@@ -0,0 +1,8 @@
|
||||
window-padding-x = 2
|
||||
|
||||
font-family = "JetBrains Mono NL"
|
||||
|
||||
#theme = Catppuccin Mocha
|
||||
theme = Argonaut
|
||||
|
||||
font-size = 16
|
||||
@@ -0,0 +1,23 @@
|
||||
palette = 0=#51576d
|
||||
palette = 1=#e78284
|
||||
palette = 2=#a6d189
|
||||
palette = 3=#e5c890
|
||||
palette = 4=#8caaee
|
||||
palette = 5=#f4b8e4
|
||||
palette = 6=#81c8be
|
||||
palette = 7=#a5adce
|
||||
palette = 8=#626880
|
||||
palette = 9=#e78284
|
||||
palette = 10=#a6d189
|
||||
palette = 11=#e5c890
|
||||
palette = 12=#8caaee
|
||||
palette = 13=#f4b8e4
|
||||
palette = 14=#81c8be
|
||||
palette = 15=#b5bfe2
|
||||
background = 303446
|
||||
foreground = c6d0f5
|
||||
cursor-color = f2d5cf
|
||||
cursor-text = 232634
|
||||
selection-background = 44495d
|
||||
selection-foreground = c6d0f5
|
||||
split-divider-color = 414559
|
||||
@@ -0,0 +1,23 @@
|
||||
palette = 0=#5c5f77
|
||||
palette = 1=#d20f39
|
||||
palette = 2=#40a02b
|
||||
palette = 3=#df8e1d
|
||||
palette = 4=#1e66f5
|
||||
palette = 5=#ea76cb
|
||||
palette = 6=#179299
|
||||
palette = 7=#acb0be
|
||||
palette = 8=#6c6f85
|
||||
palette = 9=#d20f39
|
||||
palette = 10=#40a02b
|
||||
palette = 11=#df8e1d
|
||||
palette = 12=#1e66f5
|
||||
palette = 13=#ea76cb
|
||||
palette = 14=#179299
|
||||
palette = 15=#bcc0cc
|
||||
background = eff1f5
|
||||
foreground = 4c4f69
|
||||
cursor-color = dc8a78
|
||||
cursor-text = eff1f5
|
||||
selection-background = d8dae1
|
||||
selection-foreground = 4c4f69
|
||||
split-divider-color = ccd0da
|
||||
@@ -0,0 +1,23 @@
|
||||
palette = 0=#494d64
|
||||
palette = 1=#ed8796
|
||||
palette = 2=#a6da95
|
||||
palette = 3=#eed49f
|
||||
palette = 4=#8aadf4
|
||||
palette = 5=#f5bde6
|
||||
palette = 6=#8bd5ca
|
||||
palette = 7=#a5adcb
|
||||
palette = 8=#5b6078
|
||||
palette = 9=#ed8796
|
||||
palette = 10=#a6da95
|
||||
palette = 11=#eed49f
|
||||
palette = 12=#8aadf4
|
||||
palette = 13=#f5bde6
|
||||
palette = 14=#8bd5ca
|
||||
palette = 15=#b8c0e0
|
||||
background = 24273a
|
||||
foreground = cad3f5
|
||||
cursor-color = f4dbd6
|
||||
cursor-text = 181926
|
||||
selection-background = 3a3e53
|
||||
selection-foreground = cad3f5
|
||||
split-divider-color = 363a4f
|
||||
@@ -0,0 +1,23 @@
|
||||
palette = 0=#45475a
|
||||
palette = 1=#f38ba8
|
||||
palette = 2=#a6e3a1
|
||||
palette = 3=#f9e2af
|
||||
palette = 4=#89b4fa
|
||||
palette = 5=#f5c2e7
|
||||
palette = 6=#94e2d5
|
||||
palette = 7=#a6adc8
|
||||
palette = 8=#585b70
|
||||
palette = 9=#f38ba8
|
||||
palette = 10=#a6e3a1
|
||||
palette = 11=#f9e2af
|
||||
palette = 12=#89b4fa
|
||||
palette = 13=#f5c2e7
|
||||
palette = 14=#94e2d5
|
||||
palette = 15=#bac2de
|
||||
background = 1e1e2e
|
||||
foreground = cdd6f4
|
||||
cursor-color = f5e0dc
|
||||
cursor-text = 11111b
|
||||
selection-background = 353749
|
||||
selection-foreground = cdd6f4
|
||||
split-divider-color = 313244
|
||||
@@ -0,0 +1,9 @@
|
||||
local config = require("variables")
|
||||
|
||||
hl.on("hyprland.start", function ()
|
||||
hl.exec_cmd("wayvnc 0.0.0.0 5900")
|
||||
hl.exec_cmd("nm-applet")
|
||||
hl.exec_cmd(config.terminal)
|
||||
hl.exec_cmd(config.wallpaper_cmd)
|
||||
hl.exec_cmd(config.bar_cmd)
|
||||
end)
|
||||
@@ -0,0 +1,21 @@
|
||||
hl.config({
|
||||
decoration = {
|
||||
rounding = 0,
|
||||
rounding_power = 0,
|
||||
|
||||
-- Change transparency of focused and unfocused windows
|
||||
active_opacity = 0.9,
|
||||
inactive_opacity = 0.8,
|
||||
|
||||
shadow = {
|
||||
enabled = false,
|
||||
},
|
||||
|
||||
blur = {
|
||||
enabled = true,
|
||||
size = 3,
|
||||
passes = 1,
|
||||
vibrancy = 0.1696,
|
||||
},
|
||||
},
|
||||
})
|
||||
@@ -0,0 +1,29 @@
|
||||
local theme = require("themes")
|
||||
|
||||
hl.config({
|
||||
general = {
|
||||
gaps_in = 2,
|
||||
gaps_out = 10,
|
||||
|
||||
border_size = 2,
|
||||
|
||||
col = {
|
||||
active_border = theme.primary,
|
||||
inactive_border = theme.secondary,
|
||||
},
|
||||
|
||||
resize_on_border = false,
|
||||
|
||||
allow_tearing = false,
|
||||
|
||||
layout = "dwindle",
|
||||
},
|
||||
|
||||
animations = {
|
||||
enabled = true,
|
||||
},
|
||||
|
||||
dwindle = {
|
||||
preserve_split = true,
|
||||
}
|
||||
})
|
||||
@@ -0,0 +1,8 @@
|
||||
require("autostart")
|
||||
require("keybinds")
|
||||
require("monitor")
|
||||
require("decoration")
|
||||
require("general")
|
||||
--require("smart-gaps")
|
||||
require("inputs")
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
hl.config({
|
||||
input = {
|
||||
kb_layout = "us",
|
||||
kb_variant = "",
|
||||
kb_model = "",
|
||||
kb_options = "",
|
||||
kb_rules = "",
|
||||
|
||||
follow_mouse = 1,
|
||||
|
||||
sensitivity = 0,
|
||||
|
||||
touchpad = {
|
||||
natural_scroll = true,
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
hl.gesture({
|
||||
fingers = 3,
|
||||
direction = "horizontal",
|
||||
action = "workspace"
|
||||
})
|
||||
@@ -0,0 +1,69 @@
|
||||
local config = require("variables")
|
||||
|
||||
local mainMod = "SUPER"
|
||||
|
||||
-- Application Binds
|
||||
hl.bind(mainMod .. " + Return", hl.dsp.exec_cmd(config.terminal))
|
||||
hl.bind(mainMod .. " + E", hl.dsp.exec_cmd(config.file_manager))
|
||||
hl.bind("ALT + SPACE", hl.dsp.exec_cmd(config.menu))
|
||||
hl.bind(mainMod .. " + B", hl.dsp.exec_cmd(config.browser))
|
||||
|
||||
hl.bind(mainMod .. " + Q", hl.dsp.window.close())
|
||||
hl.bind(
|
||||
mainMod .. " + Escape",
|
||||
hl.dsp.exec_cmd("command -v hyprshutdown >/dev/null 2>&1 && hyprshutdown || hyprctl dispatch 'hl.dsp.exit()'")
|
||||
)
|
||||
hl.bind(mainMod .. " + V", hl.dsp.window.float({ action = "toggle" }))
|
||||
hl.bind(mainMod .. " + J", hl.dsp.layout("togglesplit"))
|
||||
hl.bind(mainMod .. " + F", hl.dsp.window.fullscreen({ mode = "fullscreen", action = "toggle" }))
|
||||
hl.bind(mainMod .. " + I", hl.dsp.exec_cmd('ghostty -e bash -c "ollama"'))
|
||||
hl.bind(mainMod .. " + N", hl.dsp.exec_cmd('ghostty -e bash -c "nmtui"'))
|
||||
|
||||
-- Window Binds
|
||||
hl.bind(mainMod .. " + left", hl.dsp.focus({ direction = "left" }))
|
||||
hl.bind(mainMod .. " + right", hl.dsp.focus({ direction = "right" }))
|
||||
hl.bind(mainMod .. " + up", hl.dsp.focus({ direction = "up" }))
|
||||
hl.bind(mainMod .. " + down", hl.dsp.focus({ direction = "down" }))
|
||||
hl.bind(mainMod .. " + SHIFT + LEFT", hl.dsp.window.move({ direction = "left" }))
|
||||
hl.bind(mainMod .. " + SHIFT + RIGHT", hl.dsp.window.move({ direction = "right" }))
|
||||
hl.bind(mainMod .. " + SHIFT + UP", hl.dsp.window.move({ direction = "up" }))
|
||||
hl.bind(mainMod .. " + SHIFT + DOWN", hl.dsp.window.move({ direction = "down" }))
|
||||
|
||||
-- Workspace Binds
|
||||
for i = 1, 10 do
|
||||
local key = i % 10
|
||||
hl.bind(mainMod .. " + " .. key, hl.dsp.focus({ workspace = i }))
|
||||
hl.bind(mainMod .. " + SHIFT + " .. key, hl.dsp.window.move({ workspace = i }))
|
||||
end
|
||||
|
||||
-- Resize Windows
|
||||
hl.bind(mainMod .. " + mouse:272", hl.dsp.window.drag(), { mouse = true })
|
||||
hl.bind(mainMod .. " + mouse:273", hl.dsp.window.resize(), { mouse = true })
|
||||
|
||||
-- Screenshot
|
||||
hl.bind(mainMod .. " + SHIFT + S", hl.dsp.exec_cmd(config.screen_shot_cmd))
|
||||
|
||||
-- Laptop Multimedia Keys
|
||||
hl.bind(
|
||||
"XF86AudioRaiseVolume",
|
||||
hl.dsp.exec_cmd("wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+"),
|
||||
{ locked = true, repeating = true }
|
||||
)
|
||||
hl.bind(
|
||||
"XF86AudioLowerVolume",
|
||||
hl.dsp.exec_cmd("wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"),
|
||||
{ locked = true, repeating = true }
|
||||
)
|
||||
hl.bind(
|
||||
"XF86AudioMute",
|
||||
hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"),
|
||||
{ locked = true, repeating = true }
|
||||
)
|
||||
hl.bind(
|
||||
"XF86AudioMicMute",
|
||||
hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"),
|
||||
{ locked = true, repeating = true }
|
||||
)
|
||||
hl.bind("XF86MonBrightnessUp", hl.dsp.exec_cmd("brightnessctl -e4 -n2 set 5%+"), { locked = true, repeating = true })
|
||||
hl.bind("XF86MonBrightnessDown", hl.dsp.exec_cmd("brightnessctl -e4 -n2 set 5%-"), { locked = true, repeating = true })
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
hl.monitor({
|
||||
output = "DP-2",
|
||||
mode = "2560x1440@165",
|
||||
position = "0x0",
|
||||
scale = 1,
|
||||
})
|
||||
@@ -0,0 +1,14 @@
|
||||
hl.workspace_rule({ workspace = "w[tv1]", gaps_out = 0, gaps_in = 0 })
|
||||
hl.workspace_rule({ workspace = "f[1]", gaps_out = 0, gaps_in = 0 })
|
||||
hl.window_rule({
|
||||
name = "no-gaps-wtv1",
|
||||
match = { float = false, workspace = "w[tv1]" },
|
||||
border_size = 0,
|
||||
rounding = 0,
|
||||
})
|
||||
hl.window_rule({
|
||||
name = "no-gaps-f1",
|
||||
match = { float = false, workspace = "f[1]" },
|
||||
border_size = 0,
|
||||
rounding = 0,
|
||||
})
|
||||
@@ -0,0 +1,17 @@
|
||||
local normal = {
|
||||
primary = "rgba(33ccffee)",
|
||||
secondary = "rgba(595959aa)",
|
||||
};
|
||||
|
||||
local gray_blue = {
|
||||
primary = "rgba(D9F7FAaa)",
|
||||
secondary = "rgba(D8DDDEaa)",
|
||||
}
|
||||
|
||||
local purple = {
|
||||
primary = "rgba(9fa1ffff)",
|
||||
secondary = "rgba(b5baffff)"
|
||||
}
|
||||
|
||||
-- Change the option:
|
||||
return purple
|
||||
@@ -0,0 +1,19 @@
|
||||
local function wallpaper_util(wallpaper_path)
|
||||
local ext = wallpaper_path:lower():match("^.+%.([a-z0-9]+)$")
|
||||
|
||||
if ext == "mp4" or ext == "mkv" or ext == "webm" or ext == "mov" then
|
||||
return string.format('mpvpaper ALL "%s" --mpv-options="loop-file=inf no-audio"', wallpaper_path)
|
||||
end
|
||||
|
||||
return string.format('awww-daemon & awww img "%s"', wallpaper_path)
|
||||
end
|
||||
|
||||
return {
|
||||
terminal = "ghostty",
|
||||
file_manager = "dolphin",
|
||||
screen_shot_cmd = "hyprshot -m region -o ~/Pictures/Screenshots",
|
||||
menu = "rofi -show drun",
|
||||
wallpaper_cmd = wallpaper_util("/home/river/Pictures/Wallpapers/bg.png"),
|
||||
browser = "brave",
|
||||
bar_cmd = "waybar",
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
tt.*
|
||||
.tests
|
||||
doc/tags
|
||||
debug
|
||||
.repro
|
||||
foo.*
|
||||
*.log
|
||||
data
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"neodev": {
|
||||
"library": {
|
||||
"enabled": true,
|
||||
"plugins": true
|
||||
}
|
||||
},
|
||||
"neoconf": {
|
||||
"plugins": {
|
||||
"lua_ls": {
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,201 @@
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
@@ -0,0 +1,2 @@
|
||||
-- bootstrap lazy.nvim, LazyVim and your plugins
|
||||
require("config.lazy")
|
||||
@@ -0,0 +1,45 @@
|
||||
{
|
||||
"LazyVim": { "branch": "main", "commit": "83d90f339defdb109a6ede333865a66ffc7ef6aa" },
|
||||
"SchemaStore.nvim": { "branch": "main", "commit": "1c28767e3a7f3c9b7c5cc66e7f16b268c964e2c9" },
|
||||
"blink-copilot": { "branch": "main", "commit": "7ad8209b2f880a2840c94cdcd80ab4dc511d4f39" },
|
||||
"blink.cmp": { "branch": "main", "commit": "78336bc89ee5365633bcf754d93df01678b5c08f" },
|
||||
"bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" },
|
||||
"catppuccin": { "branch": "main", "commit": "426dbebe06b5c69fd846ceb17b42e12f890aedf1" },
|
||||
"conform.nvim": { "branch": "master", "commit": "0451b96660e8ca7dd8897718bad63932cf59255a" },
|
||||
"copilot.lua": { "branch": "master", "commit": "7e9c269bf40dea86b44e64bd746f1808e991e419" },
|
||||
"crates.nvim": { "branch": "main", "commit": "694357861ec9ebf12475ddcdd04ea45a0923c32d" },
|
||||
"dial.nvim": { "branch": "master", "commit": "f2634758455cfa52a8acea6f142dcd6271a1bf57" },
|
||||
"flash.nvim": { "branch": "main", "commit": "fcea7ff883235d9024dc41e638f164a450c14ca2" },
|
||||
"friendly-snippets": { "branch": "main", "commit": "6cd7280adead7f586db6fccbd15d2cac7e2188b9" },
|
||||
"gh.nvim": { "branch": "main", "commit": "6f367b2ab8f9d4a0a23df2b703a3f91137618387" },
|
||||
"gitsigns.nvim": { "branch": "main", "commit": "dd3f588bacbeb041be6facf1742e42097f62165d" },
|
||||
"grug-far.nvim": { "branch": "main", "commit": "a5875fde04e2940a5060f8df9c453bcfcfe0a5c0" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "85c7ff3711b730b4030d03144f6db6375044ae82" },
|
||||
"lazydev.nvim": { "branch": "main", "commit": "ff2cbcba459b637ec3fd165a2be59b7bbaeedf0d" },
|
||||
"litee.nvim": { "branch": "main", "commit": "4efaf373322d9e71eaff31164abb393417cc6f6a" },
|
||||
"lualine.nvim": { "branch": "master", "commit": "131a558e13f9f28b15cd235557150ccb23f89286" },
|
||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "eaa34887d444cb002e1b165fac399ae4bbc771f7" },
|
||||
"mason.nvim": { "branch": "main", "commit": "8e921c2b68571e978db5d4d3fef9c9a7f8755473" },
|
||||
"mini.ai": { "branch": "main", "commit": "a783ce6e1a5b3bc90519f20b51f4a5f6702734af" },
|
||||
"mini.hipatterns": { "branch": "main", "commit": "35b632f6c138d720f29de87476361af44bed2198" },
|
||||
"mini.icons": { "branch": "main", "commit": "9c7b1b90b15bdd69c52f6e31889dbc9987c30ec4" },
|
||||
"mini.pairs": { "branch": "main", "commit": "30cf2f01c4aaa2033db67376b9924fa2442c05d6" },
|
||||
"noice.nvim": { "branch": "main", "commit": "7bfd942445fb63089b59f97ca487d605e715f155" },
|
||||
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
|
||||
"nvim-lint": { "branch": "master", "commit": "665525810630701b84181e4d9eefd24b49845b29" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "8f7e64066e2641d5e7d494962a9c7051e3d38dd5" },
|
||||
"nvim-treesitter": { "branch": "main", "commit": "4916d6592ede8c07973490d9322f187e07dfefac" },
|
||||
"nvim-treesitter-textobjects": { "branch": "main", "commit": "851e865342e5a4cb1ae23d31caf6e991e1c99f1e" },
|
||||
"nvim-ts-autotag": { "branch": "main", "commit": "88c1453db4ba7dd24131086fe51fdf74e587d275" },
|
||||
"persistence.nvim": { "branch": "main", "commit": "b20b2a7887bd39c1a356980b45e03250f3dce49c" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "74b06c6c75e4eeb3108ec01852001636d85a932b" },
|
||||
"rustaceanvim": { "branch": "main", "commit": "f5c1bf138571442bfda96a2bf45239e009264a6e" },
|
||||
"snacks.nvim": { "branch": "main", "commit": "ad9ede6a9cddf16cedbd31b8932d6dcdee9b716e" },
|
||||
"todo-comments.nvim": { "branch": "main", "commit": "31e3c38ce9b29781e4422fc0322eb0a21f4e8668" },
|
||||
"tokyonight.nvim": { "branch": "main", "commit": "cdc07ac78467a233fd62c493de29a17e0cf2b2b6" },
|
||||
"trouble.nvim": { "branch": "main", "commit": "bd67efe408d4816e25e8491cc5ad4088e708a69a" },
|
||||
"ts-comments.nvim": { "branch": "main", "commit": "123a9fb12e7229342f807ec9e6de478b1102b041" },
|
||||
"venv-selector.nvim": { "branch": "main", "commit": "bcb2f58533c59b01565285eba49693f00bc460f5" },
|
||||
"which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" },
|
||||
"yanky.nvim": { "branch": "main", "commit": "784188e0a7363e762e53140f39124d786aec0832" }
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"extras": [
|
||||
"lazyvim.plugins.extras.ai.copilot",
|
||||
"lazyvim.plugins.extras.coding.yanky",
|
||||
"lazyvim.plugins.extras.editor.dial",
|
||||
"lazyvim.plugins.extras.formatting.prettier",
|
||||
"lazyvim.plugins.extras.lang.docker",
|
||||
"lazyvim.plugins.extras.lang.git",
|
||||
"lazyvim.plugins.extras.lang.json",
|
||||
"lazyvim.plugins.extras.lang.python",
|
||||
"lazyvim.plugins.extras.lang.rust",
|
||||
"lazyvim.plugins.extras.lang.tailwind",
|
||||
"lazyvim.plugins.extras.lang.toml",
|
||||
"lazyvim.plugins.extras.lang.typescript",
|
||||
"lazyvim.plugins.extras.linting.eslint",
|
||||
"lazyvim.plugins.extras.util.dot",
|
||||
"lazyvim.plugins.extras.util.gh",
|
||||
"lazyvim.plugins.extras.util.mini-hipatterns"
|
||||
],
|
||||
"install_version": 8,
|
||||
"news": {
|
||||
"NEWS.md": "11866"
|
||||
},
|
||||
"version": 8
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
-- Autocmds are automatically loaded on the VeryLazy event
|
||||
-- Default autocmds that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/autocmds.lua
|
||||
--
|
||||
-- Add any additional autocmds here
|
||||
-- with `vim.api.nvim_create_autocmd`
|
||||
--
|
||||
-- Or remove existing autocmds by their group name (which is prefixed with `lazyvim_` for the defaults)
|
||||
-- e.g. vim.api.nvim_del_augroup_by_name("lazyvim_wrap_spell")
|
||||
@@ -0,0 +1,3 @@
|
||||
-- Keymaps are automatically loaded on the VeryLazy event
|
||||
-- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua
|
||||
-- Add any additional keymaps here
|
||||
@@ -0,0 +1,53 @@
|
||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||
if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
||||
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
|
||||
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
|
||||
if vim.v.shell_error ~= 0 then
|
||||
vim.api.nvim_echo({
|
||||
{ "Failed to clone lazy.nvim:\n", "ErrorMsg" },
|
||||
{ out, "WarningMsg" },
|
||||
{ "\nPress any key to exit..." },
|
||||
}, true, {})
|
||||
vim.fn.getchar()
|
||||
os.exit(1)
|
||||
end
|
||||
end
|
||||
vim.opt.rtp:prepend(lazypath)
|
||||
|
||||
require("lazy").setup({
|
||||
spec = {
|
||||
-- add LazyVim and import its plugins
|
||||
{ "LazyVim/LazyVim", import = "lazyvim.plugins" },
|
||||
-- import/override with your plugins
|
||||
{ import = "plugins" },
|
||||
},
|
||||
defaults = {
|
||||
-- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup.
|
||||
-- If you know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default.
|
||||
lazy = false,
|
||||
-- It's recommended to leave version=false for now, since a lot the plugin that support versioning,
|
||||
-- have outdated releases, which may break your Neovim install.
|
||||
version = false, -- always use the latest git commit
|
||||
-- version = "*", -- try installing the latest stable version for plugins that support semver
|
||||
},
|
||||
install = { colorscheme = { "tokyonight", "habamax" } },
|
||||
checker = {
|
||||
enabled = true, -- check for plugin updates periodically
|
||||
notify = false, -- notify on update
|
||||
}, -- automatically check for plugin updates
|
||||
performance = {
|
||||
rtp = {
|
||||
-- disable some rtp plugins
|
||||
disabled_plugins = {
|
||||
"gzip",
|
||||
-- "matchit",
|
||||
-- "matchparen",
|
||||
-- "netrwPlugin",
|
||||
"tarPlugin",
|
||||
"tohtml",
|
||||
"tutor",
|
||||
"zipPlugin",
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
@@ -0,0 +1,3 @@
|
||||
-- Options are automatically loaded before lazy.nvim startup
|
||||
-- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua
|
||||
-- Add any additional options here
|
||||
@@ -0,0 +1,20 @@
|
||||
return {
|
||||
-- Catppuccin theme with transparency
|
||||
{
|
||||
"catppuccin/nvim",
|
||||
name = "catppuccin",
|
||||
priority = 1000,
|
||||
opts = {
|
||||
flavour = "frappe", -- Choose "latte", "frappe", "macchiato", or "mocha"
|
||||
transparent_background = true,
|
||||
custom_highlights = function(colors)
|
||||
return {
|
||||
VertSplit = { fg = colors.overlay0 },
|
||||
}
|
||||
end,
|
||||
},
|
||||
},
|
||||
|
||||
-- Override LazyVim's default colorscheme
|
||||
{ "LazyVim/LazyVim", opts = { colorscheme = "catppuccin" } },
|
||||
}
|
||||
@@ -0,0 +1,197 @@
|
||||
-- since this is just an example spec, don't actually load anything here and return an empty spec
|
||||
-- stylua: ignore
|
||||
if true then return {} end
|
||||
|
||||
-- every spec file under the "plugins" directory will be loaded automatically by lazy.nvim
|
||||
--
|
||||
-- In your plugin files, you can:
|
||||
-- * add extra plugins
|
||||
-- * disable/enabled LazyVim plugins
|
||||
-- * override the configuration of LazyVim plugins
|
||||
return {
|
||||
-- add gruvbox
|
||||
{ "ellisonleao/gruvbox.nvim" },
|
||||
|
||||
-- Configure LazyVim to load gruvbox
|
||||
{
|
||||
"LazyVim/LazyVim",
|
||||
opts = {
|
||||
colorscheme = "gruvbox",
|
||||
},
|
||||
},
|
||||
|
||||
-- change trouble config
|
||||
{
|
||||
"folke/trouble.nvim",
|
||||
-- opts will be merged with the parent spec
|
||||
opts = { use_diagnostic_signs = true },
|
||||
},
|
||||
|
||||
-- disable trouble
|
||||
{ "folke/trouble.nvim", enabled = false },
|
||||
|
||||
-- override nvim-cmp and add cmp-emoji
|
||||
{
|
||||
"hrsh7th/nvim-cmp",
|
||||
dependencies = { "hrsh7th/cmp-emoji" },
|
||||
---@param opts cmp.ConfigSchema
|
||||
opts = function(_, opts)
|
||||
table.insert(opts.sources, { name = "emoji" })
|
||||
end,
|
||||
},
|
||||
|
||||
-- change some telescope options and a keymap to browse plugin files
|
||||
{
|
||||
"nvim-telescope/telescope.nvim",
|
||||
keys = {
|
||||
-- add a keymap to browse plugin files
|
||||
-- stylua: ignore
|
||||
{
|
||||
"<leader>fp",
|
||||
function() require("telescope.builtin").find_files({ cwd = require("lazy.core.config").options.root }) end,
|
||||
desc = "Find Plugin File",
|
||||
},
|
||||
},
|
||||
-- change some options
|
||||
opts = {
|
||||
defaults = {
|
||||
layout_strategy = "horizontal",
|
||||
layout_config = { prompt_position = "top" },
|
||||
sorting_strategy = "ascending",
|
||||
winblend = 0,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
-- add pyright to lspconfig
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
---@class PluginLspOpts
|
||||
opts = {
|
||||
---@type lspconfig.options
|
||||
servers = {
|
||||
-- pyright will be automatically installed with mason and loaded with lspconfig
|
||||
pyright = {},
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
-- add tsserver and setup with typescript.nvim instead of lspconfig
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
dependencies = {
|
||||
"jose-elias-alvarez/typescript.nvim",
|
||||
init = function()
|
||||
require("lazyvim.util").lsp.on_attach(function(_, buffer)
|
||||
-- stylua: ignore
|
||||
vim.keymap.set( "n", "<leader>co", "TypescriptOrganizeImports", { buffer = buffer, desc = "Organize Imports" })
|
||||
vim.keymap.set("n", "<leader>cR", "TypescriptRenameFile", { desc = "Rename File", buffer = buffer })
|
||||
end)
|
||||
end,
|
||||
},
|
||||
---@class PluginLspOpts
|
||||
opts = {
|
||||
---@type lspconfig.options
|
||||
servers = {
|
||||
-- tsserver will be automatically installed with mason and loaded with lspconfig
|
||||
tsserver = {},
|
||||
},
|
||||
-- you can do any additional lsp server setup here
|
||||
-- return true if you don't want this server to be setup with lspconfig
|
||||
---@type table<string, fun(server:string, opts:_.lspconfig.options):boolean?>
|
||||
setup = {
|
||||
-- example to setup with typescript.nvim
|
||||
tsserver = function(_, opts)
|
||||
require("typescript").setup({ server = opts })
|
||||
return true
|
||||
end,
|
||||
-- Specify * to use this function as a fallback for any server
|
||||
-- ["*"] = function(server, opts) end,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
-- for typescript, LazyVim also includes extra specs to properly setup lspconfig,
|
||||
-- treesitter, mason and typescript.nvim. So instead of the above, you can use:
|
||||
{ import = "lazyvim.plugins.extras.lang.typescript" },
|
||||
|
||||
-- add more treesitter parsers
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"bash",
|
||||
"html",
|
||||
"javascript",
|
||||
"json",
|
||||
"lua",
|
||||
"markdown",
|
||||
"markdown_inline",
|
||||
"python",
|
||||
"query",
|
||||
"regex",
|
||||
"tsx",
|
||||
"typescript",
|
||||
"vim",
|
||||
"yaml",
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
-- since `vim.tbl_deep_extend`, can only merge tables and not lists, the code above
|
||||
-- would overwrite `ensure_installed` with the new value.
|
||||
-- If you'd rather extend the default config, use the code below instead:
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
opts = function(_, opts)
|
||||
-- add tsx and treesitter
|
||||
vim.list_extend(opts.ensure_installed, {
|
||||
"tsx",
|
||||
"typescript",
|
||||
})
|
||||
end,
|
||||
},
|
||||
|
||||
-- the opts function can also be used to change the default opts:
|
||||
{
|
||||
"nvim-lualine/lualine.nvim",
|
||||
event = "VeryLazy",
|
||||
opts = function(_, opts)
|
||||
table.insert(opts.sections.lualine_x, {
|
||||
function()
|
||||
return "😄"
|
||||
end,
|
||||
})
|
||||
end,
|
||||
},
|
||||
|
||||
-- or you can return new options to override all the defaults
|
||||
{
|
||||
"nvim-lualine/lualine.nvim",
|
||||
event = "VeryLazy",
|
||||
opts = function()
|
||||
return {
|
||||
--[[add your custom lualine config here]]
|
||||
}
|
||||
end,
|
||||
},
|
||||
|
||||
-- use mini.starter instead of alpha
|
||||
{ import = "lazyvim.plugins.extras.ui.mini-starter" },
|
||||
|
||||
-- add jsonls and schemastore packages, and setup treesitter for json, json5 and jsonc
|
||||
{ import = "lazyvim.plugins.extras.lang.json" },
|
||||
|
||||
-- add any tools you want to have installed below
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"stylua",
|
||||
"shellcheck",
|
||||
"shfmt",
|
||||
"flake8",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
return {
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
opts = {
|
||||
servers = {
|
||||
yamlls = {
|
||||
settings = {
|
||||
yaml = {
|
||||
schemas = {}, -- This clears the auto-detected schemas (like K8s)
|
||||
completion = false, -- This turns off the completion for YAML
|
||||
},
|
||||
},
|
||||
},
|
||||
nixd = {},
|
||||
},
|
||||
},
|
||||
setup = {
|
||||
cmd = { "nixd" },
|
||||
settings = {
|
||||
nixd = {
|
||||
nixpkgs = {
|
||||
expr = "import <nixpkgs> { }",
|
||||
},
|
||||
formatting = {
|
||||
command = { "nixfmt" },
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
indent_type = "Spaces"
|
||||
indent_width = 2
|
||||
column_width = 120
|
||||
@@ -0,0 +1,34 @@
|
||||
# EditorConfig helps developers define and maintain consistent
|
||||
# coding styles between different editors and IDEs
|
||||
# EditorConfig is awesome: https://EditorConfig.org
|
||||
|
||||
root = true
|
||||
|
||||
[*]
|
||||
charset = utf-8
|
||||
indent_size = 2
|
||||
indent_style = space
|
||||
end_of_line = lf
|
||||
insert_final_newline = true
|
||||
trim_trailing_whitespace = true
|
||||
|
||||
# go
|
||||
[*.go]
|
||||
indent_style = tab
|
||||
indent_size = 4
|
||||
|
||||
# python
|
||||
[*.{ini,py,py.tpl,rst}]
|
||||
indent_size = 4
|
||||
|
||||
# rust
|
||||
[*.rs]
|
||||
indent_size = 4
|
||||
|
||||
# documentation, utils
|
||||
[*.{md,mdx,diff}]
|
||||
trim_trailing_whitespace = false
|
||||
|
||||
# windows shell scripts
|
||||
[*.{cmd,bat,ps1}]
|
||||
end_of_line = crlf
|
||||
@@ -0,0 +1,53 @@
|
||||
name: Bug Report
|
||||
description: Report your bugs with the theme here!
|
||||
labels: [bug]
|
||||
body:
|
||||
- type: checkboxes
|
||||
attributes:
|
||||
label: I am not requesting help with my configuration and believe something is genuinely broken.
|
||||
description: Please open a [discussion](https://github.com/catppuccin/tmux/discussions/new?category=help) if you need support.
|
||||
options:
|
||||
- label: Something is really actually broken.
|
||||
required: true
|
||||
- type: checkboxes
|
||||
attributes:
|
||||
label: Is there an existing issue outlining your problem?
|
||||
description: Please search to see if an issue already exists for your problem.
|
||||
options:
|
||||
- label: I have searched the existing issues and [troubleshooting guide](https://github.com/catppuccin/tmux/blob/main/docs/guides/troubleshooting.md), and they do not solve my problem.
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Describe your problem.
|
||||
description: Also tell us, what do you expect to see?
|
||||
placeholder: The status bar is bright green, I expect it to be mantle.
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Paste your configuration.
|
||||
description: Provide us with the contents of your `~/.tmux.conf` file.
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Attach screenshots.
|
||||
description: If applicable, attach screenshots which clearly highlight the issue.
|
||||
- type: input
|
||||
attributes:
|
||||
label: What tmux version are you seeing the issue on?
|
||||
description: "You can find your version by running `tmux -V`"
|
||||
placeholder: tmux 3.5a
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
attributes:
|
||||
label: What shell are you using?
|
||||
description: "You can find your shell by running `echo $SHELL`"
|
||||
placeholder: bash
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Any additional comments?
|
||||
description: Add any information that hasn't been covered in the previous sections!
|
||||
@@ -0,0 +1,11 @@
|
||||
blank_issues_enabled: false
|
||||
contact_links:
|
||||
- name: Get Support
|
||||
url: https://github.com/catppuccin/tmux/discussions/new?category=help
|
||||
about: Need help tweaking your Catppuccin tmux configuration? Ask questions in GitHub Discussions!
|
||||
- name: Show & Tell
|
||||
url: https://github.com/catppuccin/tmux/discussions/new?category=show-tell
|
||||
about: Want to showcase your customised Catppuccin tmux configuration? Show it off in GitHub Discussions!
|
||||
- name: Community Discord
|
||||
url: https://discord.com/servers/catppuccin-907385605422448742
|
||||
about: Chat to other community members!
|
||||
@@ -0,0 +1,18 @@
|
||||
name: Enhancement Issue
|
||||
description: Request improvements to the theme here!
|
||||
labels: [enhancement]
|
||||
body:
|
||||
- type: checkboxes
|
||||
attributes:
|
||||
label: Is there an existing issue outlining your improvement?
|
||||
description: Please search to see if your improvement has already been raised as an issue.
|
||||
options:
|
||||
- label: I have searched the existing issues and my improvement has not been raised yet.
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: What would you like to see added and/or changed?
|
||||
description: Make sure to mention why you think this is an improvement!
|
||||
placeholder: I'd like to have an extra configuration option for...
|
||||
validations:
|
||||
required: true
|
||||
@@ -0,0 +1,18 @@
|
||||
name: Meta Issue
|
||||
description: Raise any issue regarding the repository here!
|
||||
labels: [meta]
|
||||
body:
|
||||
- type: checkboxes
|
||||
attributes:
|
||||
label: Is there an existing issue outlining your problem?
|
||||
description: Please search to see if an issue already exists for your problem.
|
||||
options:
|
||||
- label: I have searched the existing issues and they do not solve my problem.
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Describe your issue.
|
||||
description: Bugs should be raised under a [Bug Report](https://github.com/catppuccin/tmux/issues/new?assignees=&labels=bug&template=bug.yml).
|
||||
placeholder: The README is missing crucial information such as...
|
||||
validations:
|
||||
required: true
|
||||
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"last-release-sha": "408c02ccf44d0a59a7a63ce2b65c5c29982c5c0e",
|
||||
"packages": {
|
||||
".": {
|
||||
"release-type": "simple",
|
||||
"changelog-path": "CHANGELOG.md",
|
||||
"bump-minor-pre-major": true,
|
||||
"bump-patch-for-minor-pre-major": false,
|
||||
"draft": false,
|
||||
"extra-files": [
|
||||
"README.md",
|
||||
"docs/tutorials/01-getting-started.md"
|
||||
]
|
||||
}
|
||||
},
|
||||
"changelog-sections": [
|
||||
{ "type": "feat", "section": "Added" },
|
||||
{ "type": "change", "section": "Changed" },
|
||||
{ "type": "fix", "section": "Fixed" },
|
||||
{ "type": "deprecate", "section": "Deprecated" },
|
||||
{ "type": "remove", "section": "Removed" },
|
||||
{ "type": "perf", "section": "Performance Improvements" },
|
||||
{ "type": "revert", "section": "Reverts" },
|
||||
{ "type": "docs", "section": "Documentation" }
|
||||
],
|
||||
"$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json"
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
".": "2.3.0"
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
pull-requests: write
|
||||
|
||||
name: release-please
|
||||
|
||||
jobs:
|
||||
release-please:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: googleapis/release-please-action@v4
|
||||
id: release
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
config-file: .github/release-please-config.json
|
||||
manifest-file: .github/release-please-manifest.json
|
||||
- uses: actions/checkout@v6
|
||||
- name: tag major and minor versions
|
||||
if: ${{ steps.release.outputs.release_created }}
|
||||
run: |
|
||||
git config user.name github-actions[bot]
|
||||
git config user.email 41898282+github-actions[bot]@users.noreply.github.com
|
||||
|
||||
git remote add gh-token "https://${{ secrets.GITHUB_TOKEN }}@github.com/googleapis/release-please-action.git"
|
||||
|
||||
git tag -d latest || true
|
||||
git tag -d v${{ steps.release.outputs.major }} || true
|
||||
git tag -d v${{ steps.release.outputs.major }}.${{ steps.release.outputs.minor }} || true
|
||||
|
||||
git push origin :latest || true
|
||||
git push origin :v${{ steps.release.outputs.major }} || true
|
||||
git push origin :v${{ steps.release.outputs.major }}.${{ steps.release.outputs.minor }} || true
|
||||
|
||||
git tag -a latest -m "Release v${{ steps.release.outputs.major }}.${{ steps.release.outputs.minor }}"
|
||||
git tag -a v${{ steps.release.outputs.major }} -m "Release v${{ steps.release.outputs.major }}.${{ steps.release.outputs.minor }}"
|
||||
git tag -a v${{ steps.release.outputs.major }}.${{ steps.release.outputs.minor }} -m "Release v${{ steps.release.outputs.major }}.${{ steps.release.outputs.minor }}"
|
||||
|
||||
git push origin latest
|
||||
git push origin v${{ steps.release.outputs.major }}
|
||||
git push origin v${{ steps.release.outputs.major }}.${{ steps.release.outputs.minor }}
|
||||
@@ -0,0 +1,32 @@
|
||||
---
|
||||
name: Shellcheck
|
||||
permissions:
|
||||
contents: read
|
||||
on:
|
||||
pull_request:
|
||||
paths-ignore:
|
||||
- "*.md"
|
||||
- "assets/**"
|
||||
push:
|
||||
paths-ignore:
|
||||
- "*.md"
|
||||
- "assets/**"
|
||||
branches:
|
||||
- main
|
||||
workflow_dispatch:
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
shellcheck:
|
||||
name: Shellcheck
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v6
|
||||
- name: Run ShellCheck
|
||||
uses: ludeeus/action-shellcheck@master
|
||||
with:
|
||||
additional_files: "catppuccin.tmux"
|
||||
env:
|
||||
SHELLCHECK_OPTS: "-a"
|
||||
@@ -0,0 +1,35 @@
|
||||
---
|
||||
name: Tests
|
||||
permissions:
|
||||
contents: read
|
||||
on:
|
||||
pull_request:
|
||||
paths-ignore:
|
||||
- "*.md"
|
||||
- "assets/**"
|
||||
push:
|
||||
paths-ignore:
|
||||
- "*.md"
|
||||
- "assets/**"
|
||||
branches:
|
||||
- main
|
||||
workflow_dispatch:
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
ubuntu:
|
||||
name: Test
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Install tmux
|
||||
run: sudo apt update && sudo apt install -y --allow-downgrades tmux=3.4-1build1
|
||||
- uses: actions/checkout@v6
|
||||
- name: Run Tests
|
||||
shell: bash
|
||||
run: |
|
||||
bash --version
|
||||
tmux -V
|
||||
./run_tests.sh
|
||||
@@ -0,0 +1,15 @@
|
||||
name: whiskers
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches: [main]
|
||||
pull_request:
|
||||
branches: [main]
|
||||
|
||||
jobs:
|
||||
run:
|
||||
uses: catppuccin/actions/.github/workflows/whiskers-check.yml@v1
|
||||
with:
|
||||
args: tmux.tera
|
||||
secrets: inherit
|
||||
@@ -0,0 +1,3 @@
|
||||
custom
|
||||
!custom/README.md
|
||||
!custom/example.sh
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"$schema": "https://raw.githubusercontent.com/DavidAnson/markdownlint/v0.35.0/schema/markdownlint-config-schema.json",
|
||||
"line-length": {
|
||||
"code_block_line_length": 120,
|
||||
"tables": false
|
||||
},
|
||||
"no-inline-html": {
|
||||
"allowed_elements": ["details", "summary", "img", "p", "a", "h3"]
|
||||
},
|
||||
"first-line-heading": false,
|
||||
"no-alt-text": false,
|
||||
"code-block-style": {
|
||||
"style": "consistent"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
shell=bash
|
||||
|
||||
# TODO: Find a way to declare color variables
|
||||
disable=SC2154
|
||||
|
||||
external-sources=true
|
||||
@@ -0,0 +1,222 @@
|
||||
# Changelog
|
||||
|
||||
## [2.3.0](https://github.com/catppuccin/tmux/compare/v2.2.2...v2.3.0) (2026-04-08)
|
||||
|
||||
|
||||
### Added
|
||||
|
||||
* add RAM status module ([#570](https://github.com/catppuccin/tmux/issues/570)) ([4a9165b](https://github.com/catppuccin/tmux/commit/4a9165b2b029b57bbccc3bab488c3c8474a3056e))
|
||||
|
||||
## [2.2.2](https://github.com/catppuccin/tmux/compare/v2.2.1...v2.2.2) (2026-04-08)
|
||||
|
||||
|
||||
### Fixed
|
||||
|
||||
* Update status-line.md ([#528](https://github.com/catppuccin/tmux/issues/528)) ([4fb9e8d](https://github.com/catppuccin/tmux/commit/4fb9e8d10ed381981920054df8a449165efd23a6))
|
||||
|
||||
## [2.2.1](https://github.com/catppuccin/tmux/compare/v2.2.0...v2.2.1) (2026-04-07)
|
||||
|
||||
|
||||
### Documentation
|
||||
|
||||
* **03-resetting-theme:** remove tip ([#584](https://github.com/catppuccin/tmux/issues/584)) ([f451db9](https://github.com/catppuccin/tmux/commit/f451db96c8e4e7d9cdea7bbb0b57c149bfb40e28))
|
||||
|
||||
## [2.2.0](https://github.com/catppuccin/tmux/compare/v2.1.3...v2.2.0) (2026-04-07)
|
||||
|
||||
|
||||
### Added
|
||||
|
||||
* add a "reset" option to clear options on plugin load ([#500](https://github.com/catppuccin/tmux/issues/500)) ([556fea5](https://github.com/catppuccin/tmux/commit/556fea52bb5d827a42740bc605de4f1d8a0440de))
|
||||
|
||||
|
||||
### Fixed
|
||||
|
||||
* change tmux plugin kube module uses ([#531](https://github.com/catppuccin/tmux/issues/531)) ([ef94979](https://github.com/catppuccin/tmux/commit/ef9497982032a9494f4bf3ad276fba58b61bd7e6))
|
||||
* **theme:** Cleanup duplicate palette theme color ([#562](https://github.com/catppuccin/tmux/issues/562)) ([efeb958](https://github.com/catppuccin/tmux/commit/efeb9583cec0bc7486caedbc309df0ea9505d332))
|
||||
|
||||
|
||||
### Documentation
|
||||
|
||||
* clarify custom-status should be added before plugin is loaded ([#551](https://github.com/catppuccin/tmux/issues/551)) ([8b0b915](https://github.com/catppuccin/tmux/commit/8b0b9150f9d7dee2a4b70cdb50876ba7fd6d674a))
|
||||
* status-line left/right mixup ([#542](https://github.com/catppuccin/tmux/issues/542)) ([9d21d7c](https://github.com/catppuccin/tmux/commit/9d21d7ccd50df82bd732be2850ce2798e78b6391))
|
||||
* stop recommending `-o` ([#524](https://github.com/catppuccin/tmux/issues/524)) ([14a546f](https://github.com/catppuccin/tmux/commit/14a546fb64dc1141e5d02bac2185d8c1fd530d6a))
|
||||
|
||||
## [2.1.3](https://github.com/catppuccin/tmux/compare/v2.1.2...v2.1.3) (2025-03-23)
|
||||
|
||||
|
||||
### Fixed
|
||||
|
||||
* make the space in [@catppuccin](https://github.com/catppuccin)_window_flags_icon_format user-configurable ([#465](https://github.com/catppuccin/tmux/issues/465)) ([320e184](https://github.com/catppuccin/tmux/commit/320e184a31d0825cb4f4af550492cbdff2fc3ffc))
|
||||
* pomodoro plugin icon color - use a defined color (peach) rather than orange ([#466](https://github.com/catppuccin/tmux/issues/466)) ([da2143d](https://github.com/catppuccin/tmux/commit/da2143d2a6baf7951eda302678a57a171a78d78a))
|
||||
* use plain awk for the load status line module, removing a dep ([#508](https://github.com/catppuccin/tmux/issues/508)) ([c21246e](https://github.com/catppuccin/tmux/commit/c21246ed58e867c9594dc687c5e92b229bc1760d))
|
||||
* use the correct option for the left separator for the current window ([#450](https://github.com/catppuccin/tmux/issues/450)) ([ba9bd88](https://github.com/catppuccin/tmux/commit/ba9bd88c98c81f25060f051ed983e40f82fdd3ba))
|
||||
|
||||
|
||||
### Documentation
|
||||
|
||||
* add a troubleshooting guide ([#473](https://github.com/catppuccin/tmux/issues/473)) ([ab647cf](https://github.com/catppuccin/tmux/commit/ab647cf91501cebbd3f967da2b488a5f87614e6b))
|
||||
* Correct the plugin path for TPM in the readme ([#492](https://github.com/catppuccin/tmux/issues/492)) ([ee8970d](https://github.com/catppuccin/tmux/commit/ee8970ddb5dd60fd93e254de9a30ed8277c7ccc7))
|
||||
* **README:** fix codeblock indentation ([#489](https://github.com/catppuccin/tmux/issues/489)) ([cce60ab](https://github.com/catppuccin/tmux/commit/cce60abc8efd7a641a5fcc8001e6b3ae61e8d5fe))
|
||||
* **README:** update migration guide issue link ([#493](https://github.com/catppuccin/tmux/issues/493)) ([073ee54](https://github.com/catppuccin/tmux/commit/073ee54992c59fedcc29c1525a26f95691f0ae1f))
|
||||
|
||||
## [2.1.2](https://github.com/catppuccin/tmux/compare/v2.1.1...v2.1.2) (2024-12-08)
|
||||
|
||||
|
||||
### Fixed
|
||||
|
||||
* improve uptime status sed script to report correct units for few uptime scenarios ([#437](https://github.com/catppuccin/tmux/issues/437)) ([31fc2bf](https://github.com/catppuccin/tmux/commit/31fc2bfb1123681dc06da613b944b85f81e4babd))
|
||||
* use current window separators for the current window format ([#443](https://github.com/catppuccin/tmux/issues/443)) ([2a6c45b](https://github.com/catppuccin/tmux/commit/2a6c45b7c0da1594de1105d6cef15e3e68981113))
|
||||
|
||||
## [2.1.1](https://github.com/catppuccin/tmux/compare/v2.1.0...v2.1.1) (2024-11-17)
|
||||
|
||||
|
||||
### Fixed
|
||||
|
||||
* escape the TPM environment variable in the kube status line module ([#434](https://github.com/catppuccin/tmux/issues/434)) ([eb78ade](https://github.com/catppuccin/tmux/commit/eb78ade9dc1f6cd8ba654572f51ddcae3c6e7fd7))
|
||||
* specify the color for right separator of the status modules to be the same as text bg color ([#429](https://github.com/catppuccin/tmux/issues/429)) ([0e66dee](https://github.com/catppuccin/tmux/commit/0e66dee11ee396824668d4db863f1873e9e9243f))
|
||||
|
||||
|
||||
### Documentation
|
||||
|
||||
* add possible values for window_flags ([#417](https://github.com/catppuccin/tmux/issues/417)) ([c8a2d1a](https://github.com/catppuccin/tmux/commit/c8a2d1ae9649aa904960bef1516ea2ff9a3e6ad0))
|
||||
* **custom-status:** fix typo `catpuccin` -> `catppuccin` ([#424](https://github.com/catppuccin/tmux/issues/424)) ([aaf9120](https://github.com/catppuccin/tmux/commit/aaf9120f769a34e5491b3ee7f885c8c347f2f663))
|
||||
|
||||
## [2.1.0](https://github.com/catppuccin/tmux/compare/v2.0.0...v2.1.0) (2024-10-25)
|
||||
|
||||
|
||||
### Added
|
||||
|
||||
* add an option to format the window number with `[@catppuccin](https://github.com/catppuccin)_window_number` and `[@catppuccin](https://github.com/catppuccin)_window_current_number` ([c749885](https://github.com/catppuccin/tmux/commit/c74988511a462bdf07c5fc9ce88157b93a4ed185))
|
||||
|
||||
|
||||
### Fixed
|
||||
|
||||
* allow for dynamic colors in status modules ([#411](https://github.com/catppuccin/tmux/issues/411)), fixes issue [#407](https://github.com/catppuccin/tmux/issues/407) ([5e273e4](https://github.com/catppuccin/tmux/commit/5e273e41dd3188a1a0e795b120623c95de491445))
|
||||
* session status icon bg color change by client_prefix ([#394](https://github.com/catppuccin/tmux/issues/394)) ([8855667](https://github.com/catppuccin/tmux/commit/885566714315915547516de5c2f1b660f8e524c2))
|
||||
|
||||
|
||||
### Documentation
|
||||
|
||||
* **README:** add [@kjnsn](https://github.com/kjnsn) to "Thanks to" section ([#398](https://github.com/catppuccin/tmux/issues/398)) ([c3fab98](https://github.com/catppuccin/tmux/commit/c3fab98ab4248a2a78c8193ad48f0991b7bfa1e3))
|
||||
|
||||
## [2.0.0](https://github.com/catppuccin/tmux/compare/v1.0.3...v2.0.0) (2024-10-21)
|
||||
|
||||
|
||||
### ⚠ BREAKING CHANGES
|
||||
|
||||
* rebalance the colors used, and follow the styleguide
|
||||
* change how windows are styled
|
||||
* change how status modules are styled
|
||||
* rebalance colors, adhere to style guide & overhaul docs ([#372](https://github.com/catppuccin/tmux/issues/372))
|
||||
|
||||
### Features
|
||||
|
||||
* change how status modules are styled ([79284da](https://github.com/catppuccin/tmux/commit/79284da665bf5d39d304e23df4165c8ac37f9b7a))
|
||||
* rebalance colors, adhere to style guide & overhaul docs ([#372](https://github.com/catppuccin/tmux/issues/372)) ([79284da](https://github.com/catppuccin/tmux/commit/79284da665bf5d39d304e23df4165c8ac37f9b7a))
|
||||
* rebalance the colors used, and follow the styleguide ([79284da](https://github.com/catppuccin/tmux/commit/79284da665bf5d39d304e23df4165c8ac37f9b7a))
|
||||
* rebalance the status module colors for cpu and battery ([79284da](https://github.com/catppuccin/tmux/commit/79284da665bf5d39d304e23df4165c8ac37f9b7a))
|
||||
* replace `_ctp_status_bg` with unified `_ctp_module_bg_color` in module configuration ([a4d4ad0](https://github.com/catppuccin/tmux/commit/a4d4ad09cc8b5c9338cbd4510450d0ae997a7710))
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **tests:** add tests for window styling ([79284da](https://github.com/catppuccin/tmux/commit/79284da665bf5d39d304e23df4165c8ac37f9b7a))
|
||||
* use ubuntu-24.04 in ci ([#388](https://github.com/catppuccin/tmux/issues/388)) ([3b0e0a6](https://github.com/catppuccin/tmux/commit/3b0e0a6f0741bf09149f23620516decd7b5f5ba5))
|
||||
|
||||
|
||||
### Code Refactoring
|
||||
|
||||
* change how windows are styled ([79284da](https://github.com/catppuccin/tmux/commit/79284da665bf5d39d304e23df4165c8ac37f9b7a))
|
||||
|
||||
## [1.0.3](https://github.com/catppuccin/tmux/compare/v1.0.2...v1.0.3) (2024-10-16)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* change the default status line background to mantle ([#377](https://github.com/catppuccin/tmux/issues/377)) ([47dbe81](https://github.com/catppuccin/tmux/commit/47dbe818e3ad7a008ccbd3e5d69a29a4509f7d07))
|
||||
|
||||
## [1.0.2](https://github.com/catppuccin/tmux/compare/v1.0.1...v1.0.2) (2024-10-12)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **ci:** update tmux in test workflow ([#370](https://github.com/catppuccin/tmux/issues/370)) ([02debd3](https://github.com/catppuccin/tmux/commit/02debd396802af9fe4b41601739e48ef38217533))
|
||||
* **status:** use a literal string for battery_icon so it can be replaced by the battery plugin ([#365](https://github.com/catppuccin/tmux/issues/365)) ([06fff2f](https://github.com/catppuccin/tmux/commit/06fff2f40ec4a5cd2c9e064bc7fde22130ecd4bb)), closes [#342](https://github.com/catppuccin/tmux/issues/342)
|
||||
* typo in readme config example ([#362](https://github.com/catppuccin/tmux/issues/362)) ([41ee0b8](https://github.com/catppuccin/tmux/commit/41ee0b89acb3f4afe531209558d6b8e4d7d4ae1a))
|
||||
* **window:** middle separator colors ([#369](https://github.com/catppuccin/tmux/issues/369)) ([c59df83](https://github.com/catppuccin/tmux/commit/c59df83d68e64feb8d015c2eb3f8b90febc95a53))
|
||||
|
||||
## [1.0.1](https://github.com/catppuccin/tmux/compare/v1.0.0...v1.0.1) (2024-10-05)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **readme:** fix the example configurations ([#343](https://github.com/catppuccin/tmux/issues/343)) ([06183b3](https://github.com/catppuccin/tmux/commit/06183b31216b4ed917760b3d59565e242eee6a64))
|
||||
* **readme:** fix the version number, and fix escaping in the custom status line module docs ([#357](https://github.com/catppuccin/tmux/issues/357)) ([db466f8](https://github.com/catppuccin/tmux/commit/db466f8c2dbcfdd84e501ee8274bdfdcf049d65d))
|
||||
|
||||
## [1.0.0](https://github.com/catppuccin/tmux/compare/v0.4.0...v1.0.0) (2024-10-02)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **readme:** remove -F when setting the status line ([#333](https://github.com/catppuccin/tmux/issues/333)) ([b38421f](https://github.com/catppuccin/tmux/commit/b38421fa15d8dfafecaf6f438115cfe3c1259bf0))
|
||||
|
||||
## [0.4.0](https://github.com/catppuccin/tmux/compare/v0.3.0...v0.4.0) (2024-10-01)
|
||||
|
||||
|
||||
### ⚠ BREAKING CHANGES
|
||||
|
||||
* rewrite to use tmux native rather than bash ([#328](https://github.com/catppuccin/tmux/issues/328))
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **readme:** update the readme to include upgrade instructions ([1bcad05](https://github.com/catppuccin/tmux/commit/1bcad05f206fb4bb9706403da24b97d2cdb64bad))
|
||||
* **window:** ensure the window formats are set correctly ([#331](https://github.com/catppuccin/tmux/issues/331)) ([1bcad05](https://github.com/catppuccin/tmux/commit/1bcad05f206fb4bb9706403da24b97d2cdb64bad))
|
||||
|
||||
|
||||
### Code Refactoring
|
||||
|
||||
* rewrite to use tmux native rather than bash ([#328](https://github.com/catppuccin/tmux/issues/328)) ([87fa4a0](https://github.com/catppuccin/tmux/commit/87fa4a08c5a7fdbef3130f05a8b12f0ca26d4a46))
|
||||
|
||||
## [0.3.0](https://github.com/catppuccin/tmux/compare/v0.2.0...v0.3.0) (2024-09-17)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **status:** Add support for status module middle separators ([#310](https://github.com/catppuccin/tmux/issues/310)) ([1612a23](https://github.com/catppuccin/tmux/commit/1612a23174a6771ac466312eb156f83b8b89d907))
|
||||
* **status:** window specific separator config ([#198](https://github.com/catppuccin/tmux/issues/198)) ([8276c5a](https://github.com/catppuccin/tmux/commit/8276c5a5e33dbbbae3d370db2f6129e20b402f8a))
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **kube:** escape env var ([c31b9b2](https://github.com/catppuccin/tmux/commit/c31b9b2c6c7c50abbebd02b80c4fd32b2782a011))
|
||||
|
||||
## [0.2.0](https://github.com/catppuccin/tmux/compare/v0.1.0...v0.2.0) (2024-08-23)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* error/warning messages on first load ([#278](https://github.com/catppuccin/tmux/issues/278)) ([a2dda02](https://github.com/catppuccin/tmux/commit/a2dda02b43194aec5deddf2890c28c76b4c11ed4))
|
||||
* warn users of whitespace in module lists ([#266](https://github.com/catppuccin/tmux/issues/266)) ([362a306](https://github.com/catppuccin/tmux/commit/362a306db71794f04d0995fc058bcaa094d1af70))
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* add missing batch options `catppuccin_pane{,_active}_border_style` ([3ffbc37](https://github.com/catppuccin/tmux/commit/3ffbc3700b4c1c3e2c4d015c5a51ccef555dabaf))
|
||||
* add missing batch options catppuccin_pane{,_active}_border_style ([3ffbc37](https://github.com/catppuccin/tmux/commit/3ffbc3700b4c1c3e2c4d015c5a51ccef555dabaf))
|
||||
* escaping in options ([#298](https://github.com/catppuccin/tmux/issues/298)) ([9b57c20](https://github.com/catppuccin/tmux/commit/9b57c2002081fff8af16b878f1369d46788c0409))
|
||||
* **pomodoro_plus:** option names ([#273](https://github.com/catppuccin/tmux/issues/273)) ([51dde6e](https://github.com/catppuccin/tmux/commit/51dde6e8d4d3d8da97d915b01594a08aa4ac0cca))
|
||||
* warning `[@catppuccin](https://github.com/catppuccin)_flavour` ([#296](https://github.com/catppuccin/tmux/issues/296)) ([a71f3c0](https://github.com/catppuccin/tmux/commit/a71f3c039bed8a7c49fc390a50befec5db2c4af9))
|
||||
* warning `[@catppuccin](https://github.com/catppuccin)_window_status` ([9ee1695](https://github.com/catppuccin/tmux/commit/9ee1695d757c16e2f236858b8d3f88be9fb666fa))
|
||||
|
||||
|
||||
### Performance Improvements
|
||||
|
||||
* batch tmux show ([#288](https://github.com/catppuccin/tmux/issues/288)) ([99013fa](https://github.com/catppuccin/tmux/commit/99013fafe6a98416079b3b84751f2eb540e17c79)), closes [#281](https://github.com/catppuccin/tmux/issues/281)
|
||||
* batch tmux show-options ([3c6f6f2](https://github.com/catppuccin/tmux/commit/3c6f6f282b3bb17554dc2b4b80760b6507acfd65))
|
||||
|
||||
## [0.1.0](https://github.com/catppuccin/tmux/compare/v0.0.1...v0.1.0) (2024-08-04)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* releases ([#260](https://github.com/catppuccin/tmux/issues/260)) ([5fbacdf](https://github.com/catppuccin/tmux/commit/5fbacdf3559cf4496eef02aead087b3bb715e570))
|
||||
@@ -0,0 +1,40 @@
|
||||
# Contributing
|
||||
|
||||
## Design
|
||||
|
||||
To understand our mindset in developing this plugin and how to ensure your
|
||||
changes align with that mindset, check out the "[Design Philosophy](./docs/explanation/design.md)."
|
||||
|
||||
## Commit messages
|
||||
|
||||
This repository uses [Conventional Commits](https://conventionalcommits.org).
|
||||
Commit headers should be lowercase. Most commits should include a body that briefly
|
||||
describes the motivation and content of the commit.
|
||||
|
||||
### Commit types
|
||||
|
||||
- `fix`: A bug fix that doesn't modify the public API
|
||||
- `feat`: A code change that adds functionality
|
||||
- `change`: A modification to the public API
|
||||
- `deprecate`: Something in the public API has been deprecated
|
||||
- `remove`: A part of the public API has been removed
|
||||
- `refactor`: A code change that doesn't change behavior
|
||||
- `style`: A style fix or change
|
||||
- `docs`: Any change to documentation
|
||||
- `revert`: A revert commit. The message should describe the reasoning and the
|
||||
commit should include the `Refs:` footer with the short hashes of the commits
|
||||
being reverted.
|
||||
- `chore`: catch-all type
|
||||
|
||||
### Breaking changes
|
||||
|
||||
All breaking changes should be documented in the commit footer in the format
|
||||
described by Conventional Commits. Use the `<type>!` syntax in order to distinguish
|
||||
breaking commits in the log, but include the footer to provide a better description
|
||||
for the changelog generator.
|
||||
|
||||
```text
|
||||
feat(bar)!: foo the bars
|
||||
|
||||
BREAKING CHANGE: bars are now foo'ed
|
||||
```
|
||||
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2021 Catppuccin
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
@@ -0,0 +1,242 @@
|
||||
<!-- markdownlint-disable -->
|
||||
<h3 align="center">
|
||||
<img src="https://raw.githubusercontent.com/catppuccin/catppuccin/main/assets/logos/exports/1544x1544_circle.png" width="100" alt="Logo"/><br/>
|
||||
<img src="https://raw.githubusercontent.com/catppuccin/catppuccin/main/assets/misc/transparent.png" height="30" width="0px"/>
|
||||
Catppuccin for <a href="https://github.com/tmux/tmux">Tmux</a>
|
||||
<img src="https://raw.githubusercontent.com/catppuccin/catppuccin/main/assets/misc/transparent.png" height="30" width="0px"/>
|
||||
</h3>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://github.com/catppuccin/tmux/stargazers"><img src="https://img.shields.io/github/stars/catppuccin/tmux?colorA=363a4f&colorB=b7bdf8&style=for-the-badge"></a>
|
||||
<a href="https://github.com/catppuccin/tmux/issues"><img src="https://img.shields.io/github/issues/catppuccin/tmux?colorA=363a4f&colorB=f5a97f&style=for-the-badge"></a>
|
||||
<a href="https://github.com/catppuccin/tmux/contributors"><img src="https://img.shields.io/github/contributors/catppuccin/tmux?colorA=363a4f&colorB=a6da95&style=for-the-badge"></a>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<img src="./assets/preview.webp"/>
|
||||
</p>
|
||||
<!-- markdownlint-enable -->
|
||||
|
||||
## Themes
|
||||
|
||||
<details>
|
||||
<summary>🌻 Latte</summary>
|
||||
|
||||

|
||||
|
||||
</details>
|
||||
<details>
|
||||
<summary>🪴 Frappé</summary>
|
||||
|
||||

|
||||
|
||||
</details>
|
||||
<details>
|
||||
<summary>🌺 Macchiato</summary>
|
||||
|
||||

|
||||
|
||||
</details>
|
||||
<details>
|
||||
<summary>🌿 Mocha</summary>
|
||||
|
||||

|
||||
|
||||
</details>
|
||||
|
||||
## Installation
|
||||
|
||||
In order to have the icons displayed correctly please use/update your favorite
|
||||
[nerd font](https://www.nerdfonts.com/font-downloads).
|
||||
If you do not have a patched font installed, you can override or remove any
|
||||
icon. Check the [documentation](./docs/reference/configuration.md) on the
|
||||
options available.
|
||||
|
||||
### Manual (Recommended)
|
||||
|
||||
This method is recommended as TPM has some issues with name conflicts.
|
||||
|
||||
<!-- x-release-please-start-version -->
|
||||
|
||||
1. Clone this repository to your desired location (e.g.
|
||||
`~/.config/tmux/plugins/catppuccin`).
|
||||
|
||||
```bash
|
||||
mkdir -p ~/.config/tmux/plugins/catppuccin
|
||||
git clone -b v2.3.0 https://github.com/catppuccin/tmux.git ~/.config/tmux/plugins/catppuccin/tmux
|
||||
```
|
||||
|
||||
1. Add the following line to your `tmux.conf` file:
|
||||
`run ~/.config/tmux/plugins/catppuccin/tmux/catppuccin.tmux`.
|
||||
1. Reload Tmux by either restarting or reloading with `tmux source ~/.tmux.conf`.
|
||||
<!-- x-release-please-end -->
|
||||
|
||||
Check out what to do next in the "[Getting Started Guide](./docs/tutorials/01-getting-started.md)".
|
||||
|
||||
### TPM
|
||||
|
||||
<!-- x-release-please-start-version -->
|
||||
|
||||
1. Install [TPM](https://github.com/tmux-plugins/tpm)
|
||||
1. Add the Catppuccin plugin:
|
||||
|
||||
```bash
|
||||
set -g @plugin 'catppuccin/tmux#v2.3.0' # See https://github.com/catppuccin/tmux/tags for additional tags
|
||||
# ...alongside
|
||||
set -g @plugin 'tmux-plugins/tpm'
|
||||
```
|
||||
|
||||
1. (Optional) Set your preferred flavor, it defaults to `"mocha"`:
|
||||
|
||||
```bash
|
||||
set -g @catppuccin_flavor 'mocha' # latte, frappe, macchiato or mocha
|
||||
```
|
||||
|
||||
<!-- x-release-please-end -->
|
||||
|
||||
> [!IMPORTANT]
|
||||
> You may have to run `~/.config/tmux/plugins/tpm/bin/clean_plugins`
|
||||
> if upgrading from an earlier version
|
||||
> (especially from `v0.3.0`).
|
||||
|
||||
### For TMUX versions prior to 3.2
|
||||
|
||||
This plugin uses features that were only introduced into tmux in version 3.2.
|
||||
If you are using a version earlier than this, you can still have lovely
|
||||
catppuccin colors, the installation method just looks a little different.
|
||||
|
||||
```sh
|
||||
# In your ~/.tmux.conf
|
||||
|
||||
# Add the colors from the pallete. Check the themes/ directory for all options.
|
||||
|
||||
# Some basic mocha colors.
|
||||
set -g @ctp_bg "#24273a"
|
||||
set -g @ctp_surface_1 "#494d64"
|
||||
set -g @ctp_fg "#cad3f5"
|
||||
set -g @ctp_mauve "#c6a0f6"
|
||||
set -g @ctp_crust "#181926"
|
||||
|
||||
# status line
|
||||
set -gF status-style "bg=#{@ctp_bg},fg=#{@ctp_fg}"
|
||||
|
||||
# windows
|
||||
set -gF window-status-format "#[bg=#{@ctp_surface_1},fg=#{@ctp_fg}] ##I ##T "
|
||||
set -gF window-status-current-format "#[bg=#{@ctp_mauve},fg=#{@ctp_crust}] ##I ##T "
|
||||
```
|
||||
|
||||
### For TMUX versions prior to 3.6
|
||||
|
||||
This plugin can be used in conjunction with the support for tmux to
|
||||
automatically report dark or light themes using hooks. You can leverage these
|
||||
hooks in your tmux configuration file like so:
|
||||
|
||||
```conf
|
||||
set-hook -g client-dark-theme {
|
||||
set -g @catppuccin_flavor "frappe"
|
||||
set -g @catppuccin_reset "true"
|
||||
|
||||
# NOTE: you may need to set more `@catppuccin_*` variables to fully reset
|
||||
# everything.
|
||||
|
||||
run ~/code/github.com/catppuccin/tmux/catppuccin.tmux
|
||||
}
|
||||
set-hook -g client-light-theme {
|
||||
set -g @catppuccin_flavor "latte"
|
||||
set -g @catppuccin_reset "true"
|
||||
|
||||
# NOTE: you may need to set more `@catppuccin_*` variables to fully reset
|
||||
# everything.
|
||||
|
||||
run ~/code/github.com/catppuccin/tmux/catppuccin.tmux
|
||||
}
|
||||
```
|
||||
|
||||
The above is only possible with versions of tmux 3.6+. To replicate this
|
||||
functionality with versions prior to 3.6, you can will need to set variables and
|
||||
run the `cappuccin.tmux` file and trigger it yourself. If you'd like some
|
||||
inspiration for how to do this, read through [the Bash code found in this Nix
|
||||
function here][reload-example] which reloads Catppuccin on-demand without
|
||||
relying on tmux hooks.
|
||||
|
||||
[reload-example]: https://git.sr.ht/~rogeruiz/.files.nix/tree/1dedf4da47f995ec41e07d37b65008ad0f464717/item/module/tools/terminal/tmux/catppuccin/bin/default.nix "An example from a catppuccin/tmux maintainer on how to manually reload the Catppuccin configuration on macOS."
|
||||
|
||||
> [!IMPORTANT]
|
||||
> As mentioned in the comments in the `conf` snippet above, you may find that
|
||||
> you'll need to add to the list of `@catppuccin_*` variables. Test your
|
||||
> configuration by switching themes and noting what of the Tmux session isn't
|
||||
> getting reset to an expected color.
|
||||
|
||||
### Upgrading from v0.3
|
||||
|
||||
Breaking changes have been introduced since 0.3, to understand how to migrate
|
||||
your configuration, see pinned issue [#487](https://github.com/catppuccin/tmux/issues/487).
|
||||
|
||||
## Recommended Default Configuration
|
||||
|
||||
This configuration shows some customisation options, that can be further
|
||||
extended as desired.
|
||||
This is what is used for the previews above.
|
||||
|
||||

|
||||
|
||||
```bash
|
||||
# ~/.tmux.conf
|
||||
|
||||
# Options to make tmux more pleasant
|
||||
set -g mouse on
|
||||
set -g default-terminal "tmux-256color"
|
||||
|
||||
# Configure the catppuccin plugin
|
||||
set -g @catppuccin_flavor "mocha"
|
||||
set -g @catppuccin_window_status_style "rounded"
|
||||
|
||||
# Load catppuccin
|
||||
run ~/.config/tmux/plugins/catppuccin/tmux/catppuccin.tmux
|
||||
# For TPM, instead use `run ~/.tmux/plugins/tmux/catppuccin.tmux`
|
||||
|
||||
# Make the status line pretty and add some modules
|
||||
set -g status-right-length 100
|
||||
set -g status-left-length 100
|
||||
set -g status-left ""
|
||||
set -g status-right "#{E:@catppuccin_status_application}"
|
||||
set -agF status-right "#{E:@catppuccin_status_cpu}"
|
||||
set -agF status-right "#{E:@catppuccin_status_ram}"
|
||||
set -ag status-right "#{E:@catppuccin_status_session}"
|
||||
set -ag status-right "#{E:@catppuccin_status_uptime}"
|
||||
set -agF status-right "#{E:@catppuccin_status_battery}"
|
||||
|
||||
run ~/.config/tmux/plugins/tmux-plugins/tmux-cpu/cpu.tmux
|
||||
run ~/.config/tmux/plugins/tmux-plugins/tmux-battery/battery.tmux
|
||||
# Or, if using TPM, just run TPM
|
||||
```
|
||||
|
||||
## Documentation
|
||||
|
||||
### Guides
|
||||
|
||||
- [Getting Started](./docs/tutorials/01-getting-started.md)
|
||||
- [Custom Status Line Segments](./docs/tutorials/02-custom-status.md)
|
||||
- [Troubleshooting](./docs/guides/troubleshooting.md)
|
||||
|
||||
### Reference
|
||||
|
||||
- [Status Line](./docs/reference/status-line.md)
|
||||
- [Configuration Options Reference](./docs/reference/configuration.md)
|
||||
- [Tmux Configuration Showcase](https://github.com/catppuccin/tmux/discussions/317)
|
||||
|
||||
## 💝 Thanks to
|
||||
|
||||
- [Pocco81](https://github.com/Pocco81)
|
||||
- [vinnyA3](https://github.com/vinnyA3)
|
||||
- [rogeruiz](https://github.com/rogeruiz)
|
||||
- [kales](https://github.com/kjnsn)
|
||||
|
||||
|
||||
|
||||
<!-- markdownlint-disable -->
|
||||
<p align="center">
|
||||
<img src="https://raw.githubusercontent.com/catppuccin/catppuccin/main/assets/footers/gray0_ctp_on_line.svg?sanitize=true" /></p>
|
||||
<p align="center">Copyright © 2021-present <a href="https://github.com/catppuccin" target="_blank">Catppuccin Org</a>
|
||||
<p align="center"><a href="https://github.com/catppuccin/catppuccin/blob/main/LICENSE"><img src="https://img.shields.io/static/v1.svg?style=for-the-badge&label=License&message=MIT&logoColor=d9e0ee&colorA=363a4f&colorB=b7bdf8"/></a></p>
|
||||
<!-- markdownlint-enable -->
|
||||
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 48 KiB |
@@ -0,0 +1,13 @@
|
||||
set -g @catppuccin_flavor 'frappe'
|
||||
|
||||
run "#{d:current_file}/../../catppuccin.tmux"
|
||||
|
||||
# Make the status line more pleasant.
|
||||
set -g status-left ""
|
||||
set -g status-right '#[fg=#{@thm_crust},bg=#{@thm_teal}] session: #S '
|
||||
|
||||
# Ensure that everything on the right side of the status line
|
||||
# is included.
|
||||
set -g status-right-length 100
|
||||
|
||||
set -g default-shell '/opt/homebrew/bin/fish'
|
||||
|
After Width: | Height: | Size: 76 KiB |
@@ -0,0 +1,19 @@
|
||||
Output assets/demos/basic.gif
|
||||
|
||||
Require echo
|
||||
Require tmux
|
||||
|
||||
Set Shell "bash"
|
||||
Set FontSize 30
|
||||
Set FontFamily "SFMono Nerd Font"
|
||||
Set Width 1200
|
||||
Set Height 600
|
||||
|
||||
Type "tmux -f assets/demos/basic.conf" Sleep 500ms Enter
|
||||
|
||||
Sleep 3s
|
||||
|
||||
Ctrl+b
|
||||
Type "c"
|
||||
|
||||
Sleep 5s
|
||||
|
After Width: | Height: | Size: 52 KiB |
|
After Width: | Height: | Size: 15 KiB |
@@ -0,0 +1,11 @@
|
||||
set -l flavors latte frappe macchiato mocha
|
||||
|
||||
for flavor in $flavors
|
||||
magick $flavor.webp -crop '1320x50+0+464' +repage $flavor-crop.webp
|
||||
end
|
||||
|
||||
catwalk {latte,frappe,macchiato,mocha}-crop.webp --output preview.webp --layout column
|
||||
|
||||
for flavor in $flavors
|
||||
rm $flavor-crop.webp
|
||||
end
|
||||
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 116 KiB |
|
After Width: | Height: | Size: 5.4 KiB |
|
After Width: | Height: | Size: 59 KiB |
|
After Width: | Height: | Size: 8.1 KiB |
|
After Width: | Height: | Size: 6.0 KiB |
|
After Width: | Height: | Size: 7.3 KiB |
|
After Width: | Height: | Size: 7.5 KiB |
@@ -0,0 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Set path of script
|
||||
PLUGIN_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
|
||||
tmux source "${PLUGIN_DIR}/catppuccin_options_tmux.conf"
|
||||
tmux source "${PLUGIN_DIR}/catppuccin_tmux.conf"
|
||||
@@ -0,0 +1,145 @@
|
||||
# All options and their defaults.
|
||||
#
|
||||
# This is executed separately to the main configuration
|
||||
# so that options are set before parsing the rest of the config.
|
||||
|
||||
# Reset everything if requested.
|
||||
#
|
||||
# Useful for auto switching between themes:
|
||||
#
|
||||
# set-hook -g client-dark-theme {
|
||||
# set -g @catppuccin_flavor "frappe"
|
||||
# set -g @catppuccin_reset "true"
|
||||
# run ~/code/github.com/catppuccin/tmux/catppuccin.tmux
|
||||
# }
|
||||
# set-hook -g client-light-theme {
|
||||
# set -g @catppuccin_flavor "latte"
|
||||
# set -g @catppuccin_reset "true"
|
||||
# run ~/code/github.com/catppuccin/tmux/catppuccin.tmux
|
||||
# }
|
||||
%if "#{==:#{@catppuccin_reset},true}"
|
||||
set -Ugq @thm_bg
|
||||
set -Ugq @thm_fg
|
||||
set -Ugq @thm_rosewater
|
||||
set -Ugq @thm_flamingo
|
||||
set -Ugq @thm_rosewater
|
||||
set -Ugq @thm_pink
|
||||
set -Ugq @thm_mauve
|
||||
set -Ugq @thm_red
|
||||
set -Ugq @thm_maroon
|
||||
set -Ugq @thm_peach
|
||||
set -Ugq @thm_yellow
|
||||
set -Ugq @thm_green
|
||||
set -Ugq @thm_teal
|
||||
set -Ugq @thm_sky
|
||||
set -Ugq @thm_sapphire
|
||||
set -Ugq @thm_blue
|
||||
set -Ugq @thm_lavender
|
||||
set -Ugq @thm_subtext_1
|
||||
set -Ugq @thm_subtext_0
|
||||
set -Ugq @thm_overlay_2
|
||||
set -Ugq @thm_overlay_1
|
||||
set -Ugq @thm_overlay_0
|
||||
set -Ugq @thm_surface_2
|
||||
set -Ugq @thm_surface_1
|
||||
set -Ugq @thm_surface_0
|
||||
set -Ugq @thm_mantle
|
||||
set -Ugq @thm_crust
|
||||
set -Ugq @catppuccin_window_status_style
|
||||
set -Ugq @catppuccin_window_text_color
|
||||
set -Ugq @catppuccin_window_number_color
|
||||
set -Ugq @catppuccin_window_text
|
||||
set -Ugq @catppuccin_window_number
|
||||
set -Ugq @catppuccin_window_current_text_color
|
||||
set -Ugq @catppuccin_window_current_number_color
|
||||
set -Ugq @catppuccin_window_current_text
|
||||
set -Ugq @catppuccin_window_current_number
|
||||
set -Ugq @catppuccin_window_number_position
|
||||
set -Ugq @catppuccin_window_flags
|
||||
set -Ugq @catppuccin_window_flags_icon_last
|
||||
set -Ugq @catppuccin_window_flags_icon_current
|
||||
set -Ugq @catppuccin_window_flags_icon_zoom
|
||||
set -Ugq @catppuccin_window_flags_icon_mark
|
||||
set -Ugq @catppuccin_window_flags_icon_silent
|
||||
set -Ugq @catppuccin_window_flags_icon_activity
|
||||
set -Ugq @catppuccin_window_flags_icon_bell
|
||||
set -Ugq @catppuccin_window_flags_icon_format
|
||||
set -Ugq @catppuccin_status_left_separator
|
||||
set -Ugq @catppuccin_status_middle_separator
|
||||
set -Ugq @catppuccin_status_right_separator
|
||||
set -Ugq @catppuccin_status_connect_separator
|
||||
set -Ugq @catppuccin_status_module_text_bg
|
||||
set -Ugq @catppuccin_window_current_left_separator
|
||||
set -Ugq @catppuccin_window_current_middle_separator
|
||||
set -Ugq @catppuccin_window_current_right_separator
|
||||
|
||||
# Finally reset the reset option.
|
||||
set -Ug @catppuccin_reset
|
||||
%endif
|
||||
|
||||
# DO NOT USE -o IN YOUR OWN CONFIGURATION
|
||||
set -ogq @catppuccin_flavor "mocha"
|
||||
|
||||
set -ogq @catppuccin_status_background "default"
|
||||
|
||||
# Menu styling options
|
||||
set -ogq @catppuccin_menu_selected_style "fg=#{@thm_fg},bold,bg=#{@thm_overlay_0}"
|
||||
|
||||
# Pane styling options (DO NOT USE -o IN YOUR OWN CONFIGURATION)
|
||||
set -ogq @catppuccin_pane_status_enabled "no" # set to "yes" to enable
|
||||
set -ogq @catppuccin_pane_border_status "off" # set to "yes" to enable
|
||||
set -ogq @catppuccin_pane_border_style "fg=#{@thm_overlay_0}"
|
||||
set -ogq @catppuccin_pane_active_border_style "##{?pane_in_mode,fg=#{@thm_lavender},##{?pane_synchronized,fg=#{@thm_mauve},fg=#{@thm_lavender}}}"
|
||||
set -ogq @catppuccin_pane_left_separator "█"
|
||||
set -ogq @catppuccin_pane_middle_separator "█"
|
||||
set -ogq @catppuccin_pane_right_separator "█"
|
||||
set -ogq @catppuccin_pane_color "#{@thm_green}"
|
||||
set -ogq @catppuccin_pane_background_color "#{@thm_surface_0}"
|
||||
set -ogq @catppuccin_pane_default_text "##{b:pane_current_path}"
|
||||
set -ogq @catppuccin_pane_default_fill "number"
|
||||
set -ogq @catppuccin_pane_number_position "left" # right, left
|
||||
|
||||
# NOTE: Changes to make the option names more intuitive and more closely follow
|
||||
# the tmux naming conventions.
|
||||
# @catppuccin_window_current_background -> @catppuccin_window_current_number_color
|
||||
# @catppuccin_window_current_color -> @catppuccin_window_current_text_color
|
||||
# @catppuccin_window_default_background -> @catppuccin_window_number_color
|
||||
# @catppuccin_window_default_color -> @catppuccin_window_text_color
|
||||
# @catppuccin_window_status -> @catppuccin_window_flags
|
||||
#
|
||||
# Removed:
|
||||
# @catppuccin_window_default_fill, @catppuccin_window_current_fill
|
||||
# Just set the number and text colors.
|
||||
|
||||
# Window options (DO NOT USE -o IN YOUR OWN CONFIGURATION)
|
||||
set -ogq @catppuccin_window_status_style "basic" # basic, rounded, slanted, custom, or none
|
||||
set -ogq @catppuccin_window_text_color "#{@thm_surface_0}"
|
||||
set -ogq @catppuccin_window_number_color "#{@thm_overlay_2}"
|
||||
set -ogq @catppuccin_window_text " #T"
|
||||
set -ogq @catppuccin_window_number "#I"
|
||||
set -ogq @catppuccin_window_current_text_color "#{@thm_surface_1}"
|
||||
set -ogq @catppuccin_window_current_number_color "#{@thm_mauve}"
|
||||
set -ogq @catppuccin_window_current_text " #T"
|
||||
set -ogq @catppuccin_window_current_number "#I"
|
||||
set -ogq @catppuccin_window_number_position "left"
|
||||
|
||||
# Window flags
|
||||
set -ogq @catppuccin_window_flags "none"
|
||||
set -ogq @catppuccin_window_flags_icon_last " " # -
|
||||
set -ogq @catppuccin_window_flags_icon_current " " # *
|
||||
set -ogq @catppuccin_window_flags_icon_zoom " " # Z
|
||||
set -ogq @catppuccin_window_flags_icon_mark " " # M
|
||||
set -ogq @catppuccin_window_flags_icon_silent " " # ~
|
||||
set -ogq @catppuccin_window_flags_icon_activity " " # #
|
||||
set -ogq @catppuccin_window_flags_icon_bell " " # !
|
||||
# Matches icon order when using `#F` (`#!~[*-]MZ`)
|
||||
set -ogq @catppuccin_window_flags_icon_format "##{?window_activity_flag,#{E:@catppuccin_window_flags_icon_activity},}##{?window_bell_flag,#{E:@catppuccin_window_flags_icon_bell},}##{?window_silence_flag,#{E:@catppuccin_window_flags_icon_silent},}##{?window_active,#{E:@catppuccin_window_flags_icon_current},}##{?window_last_flag,#{E:@catppuccin_window_flags_icon_last},}##{?window_marked_flag,#{E:@catppuccin_window_flags_icon_mark},}##{?window_zoomed_flag,#{E:@catppuccin_window_flags_icon_zoom},} "
|
||||
|
||||
# Status line options (DO NOT USE -o IN YOUR OWN CONFIGURATION)
|
||||
set -ogq @catppuccin_status_left_separator ""
|
||||
set -ogq @catppuccin_status_middle_separator ""
|
||||
set -ogq @catppuccin_status_right_separator " "
|
||||
set -ogq @catppuccin_status_connect_separator "yes" # yes, no
|
||||
|
||||
# Maintain backwards compatibility. Use @catppuccin_status_module_bg_color if it is set.
|
||||
set -ogq @catppuccin_status_module_text_bg "#{?@catppuccin_status_module_bg_color,#{E:@catppuccin_status_module_bg_color},#{@thm_surface_0}}"
|
||||
@@ -0,0 +1,225 @@
|
||||
source -F "#{d:current_file}/themes/catppuccin_#{@catppuccin_flavor}_tmux.conf"
|
||||
|
||||
%if "#{==:#{@catppuccin_status_background},default}"
|
||||
set -gF @_ctp_status_bg "#{@thm_mantle}"
|
||||
set -gF status-style "bg=#{@_ctp_status_bg},fg=#{@thm_fg}"
|
||||
|
||||
%hidden CTP_MESSAGE_BACKGROUND="#{@thm_overlay_0}"
|
||||
%elif "#{==:#{@catppuccin_status_background},none}"
|
||||
set -g status-style "default"
|
||||
set -g @_ctp_status_bg "none"
|
||||
|
||||
%hidden CTP_MESSAGE_BACKGROUND="default"
|
||||
%else
|
||||
# Treat @catppuccin_status_background as a format string.
|
||||
set -gF status-style "bg=#{E:@catppuccin_status_background},fg=#{@thm_fg}"
|
||||
set -gF @_ctp_status_bg "#{E:@catppuccin_status_background}"
|
||||
|
||||
%hidden CTP_MESSAGE_BACKGROUND="#{E:@catppuccin_status_background}"
|
||||
%endif
|
||||
|
||||
source -F "#{d:current_file}/status/application.conf"
|
||||
source -F "#{d:current_file}/status/battery.conf"
|
||||
source -F "#{d:current_file}/status/clima.conf"
|
||||
source -F "#{d:current_file}/status/cpu.conf"
|
||||
source -F "#{d:current_file}/status/date_time.conf"
|
||||
source -F "#{d:current_file}/status/directory.conf"
|
||||
source -F "#{d:current_file}/status/gitmux.conf"
|
||||
source -F "#{d:current_file}/status/host.conf"
|
||||
source -F "#{d:current_file}/status/kube.conf"
|
||||
source -F "#{d:current_file}/status/load.conf"
|
||||
source -F "#{d:current_file}/status/pomodoro_plus.conf"
|
||||
source -F "#{d:current_file}/status/ram.conf"
|
||||
source -F "#{d:current_file}/status/session.conf"
|
||||
source -F "#{d:current_file}/status/uptime.conf"
|
||||
source -F "#{d:current_file}/status/user.conf"
|
||||
source -F "#{d:current_file}/status/weather.conf"
|
||||
|
||||
# messages
|
||||
set -gF message-style "fg=#{@thm_teal},bg=$CTP_MESSAGE_BACKGROUND,align=centre"
|
||||
set -gF message-command-style "fg=#{@thm_teal},bg=$CTP_MESSAGE_BACKGROUND,align=centre"
|
||||
|
||||
# menu
|
||||
%if "#{>=:#{version},3.4}"
|
||||
set -gF menu-selected-style "#{E:@catppuccin_menu_selected_style}"
|
||||
%endif
|
||||
|
||||
# panes
|
||||
set -wgF pane-active-border-style "#{E:@catppuccin_pane_active_border_style}"
|
||||
set -wgF pane-border-style "#{E:@catppuccin_pane_border_style}"
|
||||
|
||||
%if "#{==:#{@catppuccin_pane_status_enabled},yes}"
|
||||
# "internal" variables are kept as @_ctp_p_.*
|
||||
# and then unset at the end.
|
||||
set -gq @_ctp_p_left "" # the content on the left, usually a separator
|
||||
set -gq @_ctp_p_middle ""
|
||||
set -gq @_ctp_p_right ""
|
||||
set -gq @_ctp_p_number ""
|
||||
set -gq @_ctp_p_text ""
|
||||
|
||||
%if "#{==:#{@catppuccin_pane_default_fill},none}"
|
||||
set -g @_ctp_p_left \
|
||||
"#[fg=#{@thm_surface_0},bg=default]#{@catppuccin_pane_left_separator}"
|
||||
set -g @_ctp_p_middle \
|
||||
"#[fg=#{@thm_fg},bg=#{@thm_surface_0}]#{@catppuccin_pane_middle_separator}"
|
||||
set -g @_ctp_p_right \
|
||||
"#[fg=#{@thm_surface_0},bg=default]#{@catppuccin_pane_right_separator}"
|
||||
|
||||
set -g @_ctp_p_number \
|
||||
"#[fg=#{@thm_fg},bg=#{@thm_surface_0}]##{pane_index}"
|
||||
set -g @_ctp_p_text \
|
||||
"#[fg=#{@thm_fg},bg=#{@thm_surface_0}]#{E:@catppuccin_pane_default_text}"
|
||||
|
||||
%elif "#{==:#{@catppuccin_pane_default_fill},all}"
|
||||
|
||||
set -g @_ctp_p_left \
|
||||
"#[fg=#{E:@catppuccin_pane_color},bg=default]#{@catppuccin_pane_left_separator}"
|
||||
set -g @_ctp_p_middle \
|
||||
"#[fg=#{E:@catppuccin_pane_color},bg=#{E:@catppuccin_pane_background_color}]#{@catppuccin_pane_middle_separator}"
|
||||
set -g @_ctp_p_right \
|
||||
"#[fg=#{E:@catppuccin_pane_color},bg=default]#{@catppuccin_pane_right_separator}"
|
||||
|
||||
set -g @_ctp_p_number \
|
||||
"#[fg=#{E:@catppuccin_pane_background_color},bg=#{E:@catppuccin_pane_color}]##{pane_index}"
|
||||
set -g @_ctp_p_text \
|
||||
"#[fg=#{E:@catppuccin_pane_background_color},bg=#{E:@catppuccin_pane_color}]#{E:@catppuccin_pane_default_text}"
|
||||
|
||||
%elif "#{==:#{@catppuccin_pane_default_fill},number}"
|
||||
|
||||
%if "#{==:#{@catppuccin_pane_number_position},left}"
|
||||
set -g @_ctp_p_left \
|
||||
"#[fg=#{E:@catppuccin_pane_color},bg=default]#{@catppuccin_pane_left_separator}"
|
||||
set -g @_ctp_p_right \
|
||||
"#[fg=#{E:@catppuccin_pane_background_color},bg=default]#{@catppuccin_pane_right_separator}"
|
||||
%else
|
||||
set -g @_ctp_p_left \
|
||||
"#[fg=#{E:@catppuccin_pane_background_color},bg=default]#{@catppuccin_pane_left_separator}"
|
||||
set -g @_ctp_p_right \
|
||||
"#[fg=#{E:@catppuccin_pane_color},bg=default]#{@catppuccin_pane_right_separator}"
|
||||
%endif
|
||||
|
||||
set -g @_ctp_p_middle \
|
||||
"#[fg=#{E:@catppuccin_pane_color},bg=#{E:@catppuccin_pane_background_color}]#{@catppuccin_pane_middle_separator}"
|
||||
|
||||
set -g @_ctp_p_number \
|
||||
"#[fg=#{E:@catppuccin_pane_background_color},bg=#{E:@catppuccin_pane_color}]##{pane_index}"
|
||||
set -g @_ctp_p_text \
|
||||
"#[fg=#{E:@catppuccin_pane_color},bg=#{E:@catppuccin_pane_background_color}]#{E:@catppuccin_pane_default_text}"
|
||||
|
||||
%endif
|
||||
|
||||
%if "#{==:#{@catppuccin_pane_number_position},left}"
|
||||
set -wgF pane-border-format \
|
||||
"#{E:@_ctp_p_left}#{E:@_ctp_p_number}#{E:@_ctp_p_middle} #{E:@_ctp_p_text}#{E:@_ctp_p_right}"
|
||||
%else
|
||||
set -wgF pane-border-format \
|
||||
"#{E:@_ctp_p_left}#{E:@_ctp_p_text} #{E:@_ctp_p_middle}#{E:@_ctp_p_number}#{E:@_ctp_p_right}"
|
||||
%endif
|
||||
|
||||
set -ug @_ctp_p_left
|
||||
set -ug @_ctp_p_middle
|
||||
set -ug @_ctp_p_right
|
||||
set -ug @_ctp_p_number
|
||||
set -ug @_ctp_p_text
|
||||
%endif
|
||||
|
||||
# popups
|
||||
%if "#{>=:#{version},3.4}"
|
||||
set -gF popup-style "bg=#{@thm_bg},fg=#{@thm_fg}"
|
||||
set -gF popup-border-style "fg=#{@thm_surface_1}"
|
||||
%endif
|
||||
|
||||
%if "#{==:#{@catppuccin_window_status_style},basic}"
|
||||
|
||||
set -gq @catppuccin_window_left_separator " "
|
||||
set -gq @catppuccin_window_middle_separator " "
|
||||
set -gq @catppuccin_window_right_separator " "
|
||||
|
||||
%elif "#{==:#{@catppuccin_window_status_style},rounded}"
|
||||
|
||||
set -gq @catppuccin_window_left_separator "#[fg=#{@_ctp_status_bg},reverse]#[none]"
|
||||
set -gq @catppuccin_window_middle_separator " "
|
||||
set -gq @catppuccin_window_right_separator "#[fg=#{@_ctp_status_bg},reverse]#[none]"
|
||||
|
||||
%elif "#{==:#{@catppuccin_window_status_style},slanted}"
|
||||
|
||||
set -gq @catppuccin_window_left_separator "#[fg=#{@_ctp_status_bg},reverse]#[none]"
|
||||
|
||||
%if "#{==:#{@catppuccin_window_number_position},left}"
|
||||
set -gq @catppuccin_window_middle_separator "#[fg=#{@catppuccin_window_number_color},bg=#{@catppuccin_window_text_color}]"
|
||||
set -gq @catppuccin_window_current_middle_separator \
|
||||
"#[fg=#{@catppuccin_window_current_number_color},bg=#{@catppuccin_window_current_text_color}]"
|
||||
%else
|
||||
set -gq @catppuccin_window_middle_separator " #[fg=#{@catppuccin_window_number_color},bg=#{@catppuccin_window_text_color}]"
|
||||
set -gq @catppuccin_window_current_middle_separator \
|
||||
" #[fg=#{@catppuccin_window_current_number_color},bg=#{@catppuccin_window_current_text_color}]"
|
||||
%endif
|
||||
|
||||
set -gq @catppuccin_window_right_separator "#[fg=#{@_ctp_status_bg},reverse]█#[none]"
|
||||
|
||||
%endif
|
||||
|
||||
# DO NOT USE -o IN YOUR OWN CONFIGURATION
|
||||
set -ogqF @catppuccin_window_current_left_separator "#{@catppuccin_window_left_separator}"
|
||||
set -ogqF @catppuccin_window_current_middle_separator "#{@catppuccin_window_middle_separator}"
|
||||
set -ogqF @catppuccin_window_current_right_separator "#{@catppuccin_window_right_separator}"
|
||||
|
||||
# window status
|
||||
%if "#{!=:#{@catppuccin_window_status_style},none}"
|
||||
set -gF window-status-activity-style "bg=#{@thm_lavender},fg=#{@thm_crust}"
|
||||
set -gF window-status-bell-style "bg=#{@thm_yellow},fg=#{@thm_crust}"
|
||||
|
||||
%if "#{==:#{@catppuccin_window_flags},icon}"
|
||||
set -gqF @_ctp_w_flags "#{E:@catppuccin_window_flags_icon_format}"
|
||||
%elif "#{==:#{@catppuccin_window_flags},text}"
|
||||
set -gq @_ctp_w_flags "#F"
|
||||
%else
|
||||
set -gq @_ctp_w_flags ""
|
||||
%endif
|
||||
|
||||
set -g @_ctp_w_number_style "#[fg=#{@thm_crust},bg=#{@catppuccin_window_number_color}]"
|
||||
set -g @_ctp_w_text_style "#[fg=#{@thm_fg},bg=#{@catppuccin_window_text_color}]"
|
||||
%if "#{==:#{@catppuccin_window_number_position},left}"
|
||||
set -gF window-status-format \
|
||||
"#{E:@_ctp_w_number_style}#{E:@catppuccin_window_left_separator}#{@catppuccin_window_number}"
|
||||
set -agF window-status-format "#{E:@catppuccin_window_middle_separator}"
|
||||
set -agF window-status-format \
|
||||
"#{E:@_ctp_w_text_style}#{@catppuccin_window_text}#{@_ctp_w_flags}#{E:@catppuccin_window_right_separator}"
|
||||
%else
|
||||
set -gF window-status-format \
|
||||
"#{E:@_ctp_w_text_style}#{E:@catppuccin_window_left_separator}#{E:@_ctp_w_text_style}#{@catppuccin_window_text}#{@_ctp_w_flags}"
|
||||
set -agF window-status-format "#{E:@catppuccin_window_middle_separator}"
|
||||
set -agF window-status-format \
|
||||
"#{E:@_ctp_w_number_style} #{@catppuccin_window_number}#{E:@catppuccin_window_right_separator}"
|
||||
%endif
|
||||
|
||||
# =======================================
|
||||
# And do the same for the current window.
|
||||
# =======================================
|
||||
|
||||
set -g @_ctp_w_number_style "#[fg=#{@thm_crust},bg=#{@catppuccin_window_current_number_color}]"
|
||||
set -g @_ctp_w_text_style "#[fg=#{@thm_fg},bg=#{@catppuccin_window_current_text_color}]"
|
||||
%if "#{==:#{@catppuccin_window_number_position},left}"
|
||||
set -gF window-status-current-format \
|
||||
"#{E:@_ctp_w_number_style}#{E:@catppuccin_window_current_left_separator}#{@catppuccin_window_current_number}"
|
||||
set -agF window-status-current-format "#{E:@catppuccin_window_current_middle_separator}"
|
||||
set -agF window-status-current-format \
|
||||
"#{E:@_ctp_w_text_style}#{@catppuccin_window_current_text}#{@_ctp_w_flags}#{E:@catppuccin_window_current_right_separator}"
|
||||
%else
|
||||
set -gF window-status-current-format \
|
||||
"#{E:@_ctp_w_text_style}#{E:@catppuccin_window_current_left_separator}#{E:@_ctp_w_text_style}#{@catppuccin_window_current_text}#{@_ctp_w_flags}"
|
||||
set -agF window-status-current-format "#{E:@catppuccin_window_current_middle_separator}"
|
||||
set -agF window-status-current-format \
|
||||
"#{E:@_ctp_w_number_style} #{@catppuccin_window_current_number}#{E:@catppuccin_window_current_right_separator}"
|
||||
%endif
|
||||
|
||||
|
||||
# Cleanup (unset) all of the internal variables.
|
||||
set -ug @_ctp_w_number_style
|
||||
set -ug @_ctp_w_text_style
|
||||
set -ug @_ctp_w_flags
|
||||
%endif
|
||||
|
||||
# Mode style. This is used for copy mode highlighting to style the current selection.
|
||||
set -gF mode-style "bg=#{@thm_surface_0},bold"
|
||||
set -gF clock-mode-colour "#{@thm_blue}"
|
||||
@@ -0,0 +1,57 @@
|
||||
## Design Philosophy
|
||||
|
||||
First and foremost, this is a color scheme. Making colors work
|
||||
well takes precedence over other kinds of functionality.
|
||||
|
||||
### History
|
||||
|
||||
This plugin kept on growing essentially because no one was there to push back on
|
||||
changes that went against, for example, parts of the UNIX philosophy. This lead to
|
||||
a state where there were almost an infinite number of configuration options,
|
||||
and combining them in unique ways would almost certainly break something.
|
||||
Maintaining the options for everyone's setup was impossible, and fixing
|
||||
one bug would cause several others to appear. Eventually the addition
|
||||
of more and more things that didn't relate to colors, such as status line modules,
|
||||
took time away from getting the basics right.
|
||||
|
||||
Moving forward, we will be trying to align with the philosophies listed below.
|
||||
This is in contrast to what the plugin has historically offered in terms of functionality.
|
||||
|
||||
### UNIX Philosphy
|
||||
|
||||
1. Write programs that do one thing and do it well.
|
||||
- Do colors, and do colors well. Other things like displaying the weather
|
||||
are not the responsibility of this plugin.
|
||||
1. Write programs to work together.
|
||||
- The full palette is exposed as user options, allowing
|
||||
easy integration with any other kind of tmux configuration.
|
||||
1. Write programs to handle text streams, because that is a universal interface.
|
||||
- TMUX is a text based program. Each of the palette options are strings
|
||||
in user options that can be piped into other programs and options.
|
||||
|
||||
### Configurability is the root of all evil
|
||||
|
||||
Adopted from "[Fish Shell's design philophy](https://fishshell.com/docs/current/design.html)".
|
||||
|
||||
Every configuration option in a program is a place where the program is too
|
||||
stupid to figure out for itself what the user really wants, and should be
|
||||
considered a failure of both the program and the programmer who implemented it.
|
||||
|
||||
Rationale: Different configuration options are a nightmare to maintain, since
|
||||
the number of potential bugs caused by specific configuration combinations
|
||||
quickly becomes an issue. Configuration options often imply assumptions about
|
||||
the code which change when reimplementing the code, causing issues with
|
||||
backwards compatibility. But mostly, configuration options should be avoided
|
||||
since they simply should not exist, as the program should be smart enough to do
|
||||
what is best, or at least a good enough approximation of it.
|
||||
|
||||
### The law of orthogonality
|
||||
|
||||
The set of options that do exist should have a small set of orthogonal features.
|
||||
Any situation where two options are related but not identical, one of them
|
||||
should be removed, and the other should be made powerful and general enough to
|
||||
handle all common use cases of either feature.
|
||||
|
||||
Rationale: Related features make the configuration options larger, which makes
|
||||
it harder to use. It also increases the size of the source code, making the
|
||||
program harder to maintain and update.
|
||||
@@ -0,0 +1,37 @@
|
||||
# Frequently Asked Questions
|
||||
|
||||
## Window Names
|
||||
|
||||
By default, window names are the pane title, and the pane title is
|
||||
set by the shell running in each pane. Oh My ZSH does this [automatically](https://github.com/ohmyzsh/ohmyzsh/wiki/Settings#automatic-title),
|
||||
as does [fish](https://fishshell.com/docs/current/cmds/fish_title.html).
|
||||
|
||||
The format string used can be changed by setting the following options:
|
||||
|
||||
```bash
|
||||
set -g @catppuccin_window_text "#W"
|
||||
set -g @catppuccin_window_current_text "#W"
|
||||
```
|
||||
|
||||
The window title is `#W`, the current path is `#{b:pane_current_path}`. A huge
|
||||
amount of customisation is possible, and is explained in depth
|
||||
in the "[tmux man page](https://man7.org/linux/man-pages/man1/tmux.1.html#FORMATS)".
|
||||
|
||||
## Symbols are not displaying
|
||||
|
||||
Make sure you have installed a [Nerd Font](https://www.nerdfonts.com/),
|
||||
and that your terminal is set to use that font.
|
||||
|
||||
## My options are not being applied
|
||||
|
||||
Go through these steps:
|
||||
|
||||
1. Completely kill tmux and restart (`killall tmux`).
|
||||
1. Ensure every `@catppuccin.*` option is being set _before_
|
||||
the plugin is loaded. Loading occurs where you have `run` in your config file.
|
||||
1. Double check for typos. There are two "c"s and two "p"s in "catppuccin".
|
||||
1. Do not use `-o` to set options that begin with `@`. The `-o` flag means that
|
||||
the option will not be set if it has already been set. You do not need this
|
||||
in your config file.
|
||||
1. Double check that any option that does _not_ start with `@` is set after the
|
||||
plugin is loaded.
|
||||
@@ -0,0 +1,116 @@
|
||||
## Configuration Reference
|
||||
|
||||
<img src="../../assets/structure.svg" style="background: #eff1f5" />
|
||||
|
||||
This is a diagram of how the theme is split between its components.
|
||||
|
||||
### Top Level Options
|
||||
|
||||
| Option | Effect |
|
||||
| -------------------- | ------------------------------------------------------------------------------ |
|
||||
| `@catppuccin_flavor` | Sets the catppuccin flavor, one of "latte", "frappe", "macchiato", or "mocha". |
|
||||
|
||||
### Status Line
|
||||
|
||||
| Option | Effect |
|
||||
| ----------------------------- | --------------------------------------------- |
|
||||
| @catppuccin_status_background | Sets the background color of the status line. |
|
||||
|
||||
- `default` will use the color from the selected theme
|
||||
- `none` will make the status bar transparent
|
||||
- use hex color codes for other colors or a theme color (`#{@thm_<color>}`)
|
||||
|
||||
### Window
|
||||
|
||||
The plugin comes with three window styles built in, these can be customized by
|
||||
setting the `@catppuccin_window_status_style` option. The default is `basic`.
|
||||
|
||||
| Option | Effect | Preview |
|
||||
| --------- | ------------------------------------------------------------------------ | ------------------------------------------------------ |
|
||||
| `basic` | Simple styling with blocks. |  |
|
||||
| `rounded` | Each window is separated with rounded separators. |  |
|
||||
| `slanted` | Each window is separated with slanted separators. |  |
|
||||
| `custom` | Custom separators are used. This is required to override the separators! | |
|
||||
| `none` | Styling of the window status is completely disabled. |  |
|
||||
|
||||
If you want to change the active color to something else (the default is mauve),
|
||||
use the following. For example to use lavender:
|
||||
|
||||
```bash
|
||||
set -g @catppuccin_window_current_number_color "#{@thm_lavender}"
|
||||
```
|
||||
|
||||
<details>
|
||||
|
||||
<summary>Customising the separators</summary>
|
||||
|
||||
Add the following,
|
||||
setting whatever values you'd like for the separators:
|
||||
|
||||
```bash
|
||||
set -g @catppuccin_window_status_style "custom"
|
||||
set -g @catppuccin_window_left_separator ""
|
||||
set -g @catppuccin_window_middle_separator ""
|
||||
set -g @catppuccin_window_right_separator ""
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
### Menu
|
||||
|
||||
**Set the menu selected style:**
|
||||
|
||||
```sh
|
||||
# Use a value compatible with the standard tmux `menu-selected-style`
|
||||
set -g @catppuccin_menu_selected_style "fg=#{@thm_surface_0},bg=#{@thm_yellow}"
|
||||
```
|
||||
|
||||
### All options and their defaults
|
||||
|
||||
```bash
|
||||
# Menu styling options
|
||||
set -g @catppuccin_menu_selected_style "fg=#{@thm_fg},bold,bg=#{@thm_overlay_0}"
|
||||
|
||||
# Pane styling options
|
||||
set -g @catppuccin_pane_status_enabled "no" # set to "yes" to enable
|
||||
set -g @catppuccin_pane_border_status "off" # set to "yes" to enable
|
||||
set -g @catppuccin_pane_border_style "fg=#{@thm_overlay_0}"
|
||||
set -g @catppuccin_pane_active_border_style "##{?pane_in_mode,fg=#{@thm_lavender},##{?pane_synchronized,fg=#{@thm_mauve},fg=#{@thm_lavender}}}"
|
||||
set -g @catppuccin_pane_left_separator "█"
|
||||
set -g @catppuccin_pane_middle_separator "█"
|
||||
set -g @catppuccin_pane_right_separator "█"
|
||||
set -g @catppuccin_pane_color "#{@thm_green}"
|
||||
set -g @catppuccin_pane_background_color "#{@thm_surface_0}"
|
||||
set -g @catppuccin_pane_default_text "##{b:pane_current_path}"
|
||||
set -g @catppuccin_pane_default_fill "number"
|
||||
set -g @catppuccin_pane_number_position "left" # right, left
|
||||
|
||||
set -g @catppuccin_window_status_style "basic" # basic, rounded, slanted, custom, or none
|
||||
set -g @catppuccin_window_text_color "#{@thm_surface_0}"
|
||||
set -g @catppuccin_window_number_color "#{@thm_overlay_2}"
|
||||
set -g @catppuccin_window_text " #T"
|
||||
set -g @catppuccin_window_number "#I"
|
||||
set -g @catppuccin_window_current_text_color "#{@thm_surface_1}"
|
||||
set -g @catppuccin_window_current_number_color "#{@thm_mauve}"
|
||||
set -g @catppuccin_window_current_text " #T"
|
||||
set -g @catppuccin_window_current_number "#I"
|
||||
set -g @catppuccin_window_number_position "left"
|
||||
set -g @catppuccin_window_flags "none" # none, icon, or text
|
||||
set -g @catppuccin_window_flags_icon_last " " # -
|
||||
set -g @catppuccin_window_flags_icon_current " " # *
|
||||
set -g @catppuccin_window_flags_icon_zoom " " # Z
|
||||
set -g @catppuccin_window_flags_icon_mark " " # M
|
||||
set -g @catppuccin_window_flags_icon_silent " " # ~
|
||||
set -g @catppuccin_window_flags_icon_activity " " # #
|
||||
set -g @catppuccin_window_flags_icon_bell " " # !
|
||||
# Matches icon order when using `#F` (`#!~[*-]MZ`)
|
||||
set -g @catppuccin_window_flags_icon_format "##{?window_activity_flag,#{E:@catppuccin_window_flags_icon_activity},}##{?window_bell_flag,#{E:@catppuccin_window_flags_icon_bell},}##{?window_silence_flag,#{E:@catppuccin_window_flags_icon_silent},}##{?window_active,#{E:@catppuccin_window_flags_icon_current},}##{?window_last_flag,#{E:@catppuccin_window_flags_icon_last},}##{?window_marked_flag,#{E:@catppuccin_window_flags_icon_mark},}##{?window_zoomed_flag,#{E:@catppuccin_window_flags_icon_zoom},} "
|
||||
|
||||
# Status line options
|
||||
set -g @catppuccin_status_left_separator ""
|
||||
set -g @catppuccin_status_middle_separator ""
|
||||
set -g @catppuccin_status_right_separator "█"
|
||||
set -g @catppuccin_status_connect_separator "yes" # yes, no
|
||||
set -g @catppuccin_status_fill "icon"
|
||||
set -g @catppuccin_status_module_bg_color "#{@thm_surface_0}"
|
||||
```
|
||||
@@ -0,0 +1,260 @@
|
||||
## Using the theme's built-in status modules
|
||||
|
||||
To use the theme's built in status modules, set the `status-left` and
|
||||
`status-right` tmux options _after_ the plugin has been loaded with `run`.
|
||||
|
||||
The tmux status line modules are set as variables and prefixed with `@catppuccin_status_<module>`.
|
||||
|
||||
To use the `application` and `session` modules on the right and have nothing on
|
||||
the left:
|
||||
|
||||
```sh
|
||||
set -g status-right-length 100
|
||||
|
||||
set -g status-right "#{E:@catppuccin_status_application}#{E:@catppuccin_status_session}"
|
||||
set -g status-left ""
|
||||
```
|
||||
Some notes about expanding options when setting the status line:
|
||||
* Options are expanded as format strings by placing `E:` before the option name.
|
||||
* When a module status string contains a reference to another variable, you have to add the `-F` flag that treats the value passed as a format string that is immediately expanded, that is use `set -gF` (see tmux [`set-option`](https://man.openbsd.org/OpenBSD-current/man1/tmux.1#set-option) man page).
|
||||
* Example for such a case is the [battery](#battery-module) module below, where the status contains the format string `#{battery_percentage}` that needs to be further expanded.
|
||||
|
||||
## Customizing modules
|
||||
|
||||
Every module supports the following overrides:
|
||||
|
||||
### Override the specific module icon
|
||||
|
||||
```sh
|
||||
set -g @catppuccin_[module_name]_icon "icon"
|
||||
```
|
||||
|
||||
### Override the specific module color
|
||||
|
||||
```sh
|
||||
set -g @catppuccin_[module_name]_color "color"
|
||||
```
|
||||
|
||||
### Override the specific module text
|
||||
|
||||
```sh
|
||||
set -g @catppuccin_[module_name]_text "text"
|
||||
```
|
||||
|
||||
### Override the specific module's background color
|
||||
|
||||
```sh
|
||||
set -g @catppuccin_status_[module_name]_bg_color "#{@thm_surface_0}"
|
||||
```
|
||||
|
||||
### Removing a specific module option
|
||||
|
||||
```sh
|
||||
set -g @catppuccin_[module_name]_[option] ""
|
||||
```
|
||||
|
||||
This is for the situation where you want to remove the icon from a module.
|
||||
For example:
|
||||
|
||||
```sh
|
||||
set -g @catppuccin_date_time_icon ""
|
||||
```
|
||||
|
||||
### Notes for TPM users
|
||||
|
||||
Make sure you load the catppuccin theme prior to setting the status-left and/or
|
||||
status-* options. This ensures the catppuccin options (such as colors and
|
||||
status modules) are defined so they can then be used.
|
||||
|
||||
After status-left and/or status-right have been set, make sure to run TPM to load
|
||||
the modules. This runs any plugins that may replace text in the status line.
|
||||
|
||||
```bash
|
||||
# load catppuccin theme ...
|
||||
run '~/.config/tmux/plugins/tmux/catppuccin.tmux' # or where this file is located on your machine
|
||||
|
||||
# ... and then set status-left & status-right ...
|
||||
set -g status-left "#{E:@catppuccin_status_session}"
|
||||
|
||||
set -g status-right "#{E:@catppuccin_status_[module_name]}"
|
||||
set -ag status-right "#{E:@catppuccin_status_[module_name]}"
|
||||
set -agF status-right "#{E:@catppuccin_status_[module_name]}"
|
||||
|
||||
# ... and finally start TPM
|
||||
set -g @plugin 'tmux-plugins/tpm'
|
||||
run '~/.tmux/plugins/tpm/tpm'
|
||||
```
|
||||
|
||||
## Battery module
|
||||
|
||||
**Requirements:** This module depends on [tmux-battery](https://github.com/tmux-plugins/tmux-battery/tree/master).
|
||||
|
||||
**Install:** The preferred way to install tmux-battery is using [TPM](https://github.com/tmux-plugins/tpm).
|
||||
|
||||
**Configure:**
|
||||
|
||||
```sh
|
||||
run ~/.config/tmux/plugins/catppuccin/tmux/catppuccin.tmux
|
||||
|
||||
set -agF status-right "#{E:@catppuccin_status_battery}"
|
||||
|
||||
set -g @plugin 'tmux-plugins/tmux-battery'
|
||||
run '~/.tmux/plugins/tpm/tpm'
|
||||
```
|
||||
|
||||
## CPU module
|
||||
|
||||
**Requirements:** This module depends on [tmux-cpu](https://github.com/tmux-plugins/tmux-cpu/tree/master).
|
||||
|
||||
**Install:** The preferred way to install tmux-cpu is using [TPM](https://github.com/tmux-plugins/tpm).
|
||||
|
||||
**Configure:**
|
||||
|
||||
```sh
|
||||
run ~/.config/tmux/plugins/catppuccin/tmux/catppuccin.tmux
|
||||
|
||||
set -agF status-right "#{E:@catppuccin_status_cpu}"
|
||||
|
||||
set -g @plugin 'tmux-plugins/tmux-cpu'
|
||||
run '~/.tmux/plugins/tpm/tpm'
|
||||
```
|
||||
|
||||
## RAM module
|
||||
|
||||
**Requirements:** This module depends on [tmux-cpu](https://github.com/tmux-plugins/tmux-cpu/tree/master).
|
||||
|
||||
**Install:** The preferred way to install tmux-cpu is using [TPM](https://github.com/tmux-plugins/tpm).
|
||||
|
||||
**Configure:**
|
||||
|
||||
```sh
|
||||
run ~/.config/tmux/plugins/catppuccin/tmux/catppuccin.tmux
|
||||
|
||||
set -agF status-right "#{E:@catppuccin_status_ram}"
|
||||
|
||||
set -g @plugin 'tmux-plugins/tmux-cpu'
|
||||
run '~/.tmux/plugins/tpm/tpm'
|
||||
```
|
||||
|
||||
## Weather modules
|
||||
|
||||
### tmux-weather
|
||||
|
||||
**Requirements:** This module depends on [tmux-weather](https://github.com/xamut/tmux-weather).
|
||||
|
||||
**Install:** The preferred way to install tmux-weather is using [TPM](https://github.com/tmux-plugins/tpm).
|
||||
|
||||
**Configure:**
|
||||
|
||||
```sh
|
||||
run ~/.config/tmux/plugins/catppuccin/tmux/catppuccin.tmux
|
||||
|
||||
set -agF status-right "#{E:@catppuccin_status_weather}"
|
||||
|
||||
set -g @plugin 'xamut/tmux-weather'
|
||||
run '~/.tmux/plugins/tpm/tpm'
|
||||
```
|
||||
|
||||
### tmux-clima
|
||||
|
||||
**Requirements:** This module depends on [tmux-clima](https://github.com/vascomfnunes/tmux-clima).
|
||||
|
||||
**Install:** The preferred way to install tmux-clima is using [TPM](https://github.com/tmux-plugins/tpm).
|
||||
|
||||
**Configure:**
|
||||
|
||||
```sh
|
||||
run ~/.config/tmux/plugins/catppuccin/tmux/catppuccin.tmux
|
||||
|
||||
set -agF status-right "#{E:@catppuccin_status_clima}"
|
||||
|
||||
set -g @plugin 'vascomfnunes/tmux-clima'
|
||||
run '~/.tmux/plugins/tpm/tpm'
|
||||
```
|
||||
|
||||
## Load module
|
||||
|
||||
**Configure:**
|
||||
|
||||
```sh
|
||||
run ~/.config/tmux/plugins/catppuccin/tmux/catppuccin.tmux
|
||||
|
||||
set -agF status-right "#{E:@catppuccin_status_load}"
|
||||
```
|
||||
|
||||
## Gitmux module
|
||||
|
||||
**Requirements:** This module depends on [gitmux](https://github.com/arl/gitmux).
|
||||
|
||||
**Install:** To install gitmux, follow the instructions in the [gitmux documentation](https://github.com/arl/gitmux/blob/main/README.md#installing).
|
||||
|
||||
**Configure:**
|
||||
|
||||
Add the gitmux module to the status modules list.
|
||||
|
||||
```sh
|
||||
run ~/.config/tmux/plugins/catppuccin/tmux/catppuccin.tmux
|
||||
|
||||
set -agF status-right "#{@catppuccin_status_gitmux}"
|
||||
```
|
||||
|
||||
Follow the instructions in the [gitmux documentation](https://github.com/arl/gitmux/blob/main/README.md#customizing)
|
||||
to create a gitmux config file. The gitmux plugin expects a file to be present
|
||||
at `~/.gitmux.conf`.
|
||||
|
||||
Add the following to your `~/.gitmux.conf` so that it uses catppuccin colors:
|
||||
|
||||
```yaml
|
||||
tmux:
|
||||
styles:
|
||||
clear: "#[fg=#{@thm_fg}]"
|
||||
state: "#[fg=#{@thm_red},bold]"
|
||||
branch: "#[fg=#{@thm_fg},bold]"
|
||||
remote: "#[fg=#{@thm_teal}]"
|
||||
divergence: "#[fg=#{@thm_fg}]"
|
||||
staged: "#[fg=#{@thm_green},bold]"
|
||||
conflict: "#[fg=#{@thm_red},bold]"
|
||||
modified: "#[fg=#{@thm_yellow},bold]"
|
||||
untracked: "#[fg=#{@thm_mauve},bold]"
|
||||
stashed: "#[fg=#{@thm_blue},bold]"
|
||||
clean: "#[fg=#{@thm_rosewater},bold]"
|
||||
insertions: "#[fg=#{@thm_green}]"
|
||||
deletions: "#[fg=#{@thm_red}]"
|
||||
```
|
||||
|
||||
## Pomodoro module
|
||||
|
||||
**Requirements:**: This module depends on [tmux-pomodoro-plus](https://github.com/olimorris/tmux-pomodoro-plus/tree/main).
|
||||
|
||||
**Install:**: The preferred way to install tmux-pomodoro-plus is using [TPM](https://github.com/tmux-plugins/tpm).
|
||||
|
||||
**Configure:**
|
||||
|
||||
```sh
|
||||
run ~/.config/tmux/plugins/catppuccin/tmux/catppuccin.tmux
|
||||
|
||||
set -agF status-right "#{E:@catppuccin_status_pomodoro_plus}"
|
||||
|
||||
set -g @plugin 'olimorris/tmux-pomodoro-plus'
|
||||
run '~/.tmux/plugins/tpm/tpm'
|
||||
```
|
||||
|
||||
## Kube module
|
||||
|
||||
**Requirements:** This module depends on [tmux-kubectx](https://github.com/tony-sol/tmux-kubectx).
|
||||
|
||||
**Install:** The preferred way to install tmux-kubectx is using [TPM](https://github.com/tmux-plugins/tpm).
|
||||
|
||||
**Configure:**
|
||||
|
||||
```sh
|
||||
set -g @catppuccin_kube_context_color "#{@thm_red}"
|
||||
set -g @catppuccin_kube_namespace_color "#{@thm_sky}"
|
||||
|
||||
run ~/.config/tmux/plugins/catppuccin/tmux/catppuccin.tmux
|
||||
|
||||
set -agF status-right "#{E:@catppuccin_status_kube}"
|
||||
|
||||
set -g @plugin 'tony-sol/tmux-kubectx'
|
||||
run '~/.tmux/plugins/tpm/tpm'
|
||||
```
|
||||
@@ -0,0 +1,72 @@
|
||||
Want to install the color scheme and make tmux pastel? Great! Here's how.
|
||||
|
||||
## Step 1: Clone this repository
|
||||
|
||||
<!-- x-release-please-start-version -->
|
||||
```bash
|
||||
mkdir -p ~/.config/tmux/plugins/catppuccin
|
||||
git clone -b v2.3.0 https://github.com/catppuccin/tmux.git ~/.config/tmux/plugins/catppuccin/tmux
|
||||
```
|
||||
<!-- x-release-please-end -->
|
||||
|
||||
## Step 2: Edit your tmux configuration file
|
||||
|
||||
Using your favourite editor, edit the file `~/.tmux.conf`.
|
||||
|
||||
It should look like this:
|
||||
|
||||
```bash
|
||||
set -g @catppuccin_flavor 'mocha'
|
||||
|
||||
run ~/.config/tmux/plugins/catppuccin/tmux/catppuccin.tmux
|
||||
```
|
||||
|
||||
This will load the catppuccin plugin and apply the defaults.
|
||||
To apply the changes to your configuration file, exit tmux completely
|
||||
and start it again. You can also run `tmux source ~/.tmux.conf`, but this may
|
||||
not work as well when changing options.
|
||||
|
||||
## Step 3: Customize
|
||||
|
||||
The default configuration looks a little bland. Let's change it to
|
||||
be a bit more colorful. Edit your tmux config again so it looks like this.
|
||||
|
||||
```bash
|
||||
# Pick a softer palette.
|
||||
set -g @catppuccin_flavor 'frappe'
|
||||
|
||||
run ~/.config/tmux/plugins/catppuccin/tmux/catppuccin.tmux
|
||||
|
||||
# Make the status line more pleasant.
|
||||
set -g status-left ""
|
||||
set -g status-right '#[fg=#{@thm_crust},bg=#{@thm_teal}] session: #S '
|
||||
|
||||
# Ensure that everything on the right side of the status line
|
||||
# is included.
|
||||
set -g status-right-length 100
|
||||
```
|
||||
|
||||
There is some new stuff here. Firstly, everything is documented in
|
||||
the "[tmux man page](https://man7.org/linux/man-pages/man1/tmux.1.html)".
|
||||
Go check it out if anything is unclear. The lines `set -g ...` are setting
|
||||
"options". The `-g` means that the option is global, so it applies everywhere.
|
||||
When an option name begins with `@`, then it is a "user" option and has no
|
||||
effect on tmux itself. This is used to essentially set global variables.
|
||||
|
||||
Three options are set that control how tmux looks, `status-left`,
|
||||
`status-right`, and `status-right-length`. These options are documented
|
||||
in the man page, but the tl;dr is that they control what appears on the left
|
||||
and right of the status line.
|
||||
|
||||
The `#[]` syntax is an embedded style, similar to inline css.
|
||||
`fg=#{@thm_crust}` says "make the text the crust color". `@thm_crust` is a
|
||||
user option set by the plugin. It is created by the line
|
||||
`run ~/.config/tmux/plugins/catppuccin/tmux/catppuccin.tmux`, so if you try
|
||||
and use colors before that line, it won't work. The `#S` is a special sequence
|
||||
that tmux replaces with the current session name. There are a long, long
|
||||
"[list of special sequences](https://man7.org/linux/man-pages/man1/tmux.1.html#FORMATS)"
|
||||
that tmux can replace.
|
||||
|
||||
If everything is working right, your version should look like this:
|
||||
|
||||

|
||||
@@ -0,0 +1,41 @@
|
||||
# User Defined Status Line Modules
|
||||
|
||||
To create your own status line module that uses the catppuccin theme,
|
||||
all you need to do is add it to the `status-left` or `status-right` options.
|
||||
|
||||
You can add arbitrary things to the status line like so:
|
||||
|
||||
```sh
|
||||
# ~/.tmux.conf
|
||||
|
||||
set -agF status-right "#[fg=#{@thm_crust},bg=#{@thm_teal}] ##H "
|
||||
```
|
||||
|
||||
This will append the current hostname (`#H`) to the status line with a teal
|
||||
background and dark black text.
|
||||
|
||||
You can also use icons for styling, for example to show the used memory percentage
|
||||
on MacOS:
|
||||
|
||||
```sh
|
||||
set -g status-right "#[bg=#{@thm_flamingo},fg=#{@thm_crust}]#[reverse]#[noreverse] "
|
||||
set -ag status-right "#[fg=#{@thm_fg},bg=#{@thm_mantle}] #(memory_pressure | awk '/percentage/{print $5}') "
|
||||
```
|
||||
|
||||

|
||||
|
||||
To use the status module formatting that catppuccin uses, do the following:
|
||||
|
||||
```sh
|
||||
# In ~/.tmux.conf, before the catppuccin plugin has been loaded.
|
||||
|
||||
%hidden MODULE_NAME="my_custom_module"
|
||||
|
||||
set -g "@catppuccin_${MODULE_NAME}_icon" " "
|
||||
set -gF "@catppuccin_${MODULE_NAME}_color" "#{E:@thm_pink}"
|
||||
set -g "@catppuccin_${MODULE_NAME}_text" "#{pane_current_command}"
|
||||
|
||||
source "<path to catppuccin plugin>/utils/status_module.conf"
|
||||
|
||||
set -g status-right "#{E:@catppuccin_status_application}#{E:@catppuccin_status_my_custom_module}"
|
||||
```
|
||||
@@ -0,0 +1,216 @@
|
||||
# Changing the flavor of the theme by resetting
|
||||
|
||||
To reset the colors colors in your status line, you can perform a reset of all
|
||||
the options associated with the styling of the Tmux-line. This is done by
|
||||
setting a global option called `@catppuccin_reset` to `true.
|
||||
|
||||
<details open>
|
||||
|
||||
<summary>A list of all the options that our <code>@catppuccin_reset</code> option resets</summary>
|
||||
|
||||
```txt
|
||||
@thm_bg
|
||||
@thm_fg
|
||||
@thm_rosewater
|
||||
@thm_flamingo
|
||||
@thm_rosewater
|
||||
@thm_pink
|
||||
@thm_mauve
|
||||
@thm_red
|
||||
@thm_maroon
|
||||
@thm_peach
|
||||
@thm_yellow
|
||||
@thm_green
|
||||
@thm_teal
|
||||
@thm_sky
|
||||
@thm_sapphire
|
||||
@thm_blue
|
||||
@thm_lavender
|
||||
@thm_subtext_1
|
||||
@thm_subtext_0
|
||||
@thm_overlay_2
|
||||
@thm_overlay_1
|
||||
@thm_overlay_0
|
||||
@thm_surface_2
|
||||
@thm_surface_1
|
||||
@thm_surface_0
|
||||
@thm_mantle
|
||||
@thm_crust
|
||||
@catppuccin_window_status_style
|
||||
@catppuccin_window_text_color
|
||||
@catppuccin_window_number_color
|
||||
@catppuccin_window_text
|
||||
@catppuccin_window_number
|
||||
@catppuccin_window_current_text_color
|
||||
@catppuccin_window_current_number_color
|
||||
@catppuccin_window_current_text
|
||||
@catppuccin_window_current_number
|
||||
@catppuccin_window_number_position
|
||||
@catppuccin_window_flags
|
||||
@catppuccin_window_flags_icon_last
|
||||
@catppuccin_window_flags_icon_current
|
||||
@catppuccin_window_flags_icon_zoom
|
||||
@catppuccin_window_flags_icon_mark
|
||||
@catppuccin_window_flags_icon_silent
|
||||
@catppuccin_window_flags_icon_activity
|
||||
@catppuccin_window_flags_icon_bell
|
||||
@catppuccin_window_flags_icon_format
|
||||
@catppuccin_status_left_separator
|
||||
@catppuccin_status_middle_separator
|
||||
@catppuccin_status_right_separator
|
||||
@catppuccin_status_connect_separator
|
||||
@catppuccin_status_module_text_bg
|
||||
@catppuccin_window_current_left_separator
|
||||
@catppuccin_window_current_middle_separator
|
||||
@catppuccin_window_current_right_separator
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
All of these Tmux options above are unset, **with the `-U` flag**, when the
|
||||
plugin is called with the option named `@catppuccin_reset` with a value of
|
||||
`true`. Due to _the way options are set within the plugin_, **with the `-o`
|
||||
flag**, all options set by the user will be reset to plugins original default
|
||||
values. _This means that if you have set **any** custom options, you **may**
|
||||
lose your updates and **will need to run the plugin again after setting your
|
||||
custom options**_.
|
||||
|
||||
> [!TIP]
|
||||
> Trying running the reset yourself right now and note what breaks for your
|
||||
> custom setup. That's one good way to experience what's being described above
|
||||
> locally on your machine.
|
||||
|
||||
This feature is the most useful for auto-switching between the theme's flavor.
|
||||
It's also useful for contributing or developing the plugin locally as well.
|
||||
|
||||
## Minimal example of resetting the flavor
|
||||
|
||||
If you're using all the defaults of Catppuccin Tmux, you will only have to worry
|
||||
about setting the flavor when setting the `@catppuccin_reset` option to `true`.
|
||||
|
||||
```sh
|
||||
# somewhere in a Tmux configuration file that will be sourced specifically for
|
||||
# reloading `catppuccin/tmux`.
|
||||
set -g @catppuccin_flavor "latte"
|
||||
set -g @catppuccin_reset "true"
|
||||
run /path/to/catppuccin/tmux/catppuccin.tmux
|
||||
```
|
||||
|
||||
> [!NOTE]
|
||||
> Your path above, the line starting with `run ...`, will need to be updated to
|
||||
> where ever the `catpuccin.tmux` file is located on your system.
|
||||
|
||||
## Custom example of resetting the flavor
|
||||
|
||||
If you're customizing any of the settings that get reset in the list above, you
|
||||
must set set options you're customizing along with any dependent options _that
|
||||
aren't necessary_ when configuring the theme for only a single flavor.
|
||||
|
||||
Like in the minimal example, you will set your flavor and also reset the plugin.
|
||||
|
||||
```sh
|
||||
# somewhere in a Tmux configuration file that will be sourced specifically for
|
||||
# reloading `catppuccin/tmux`.
|
||||
set -g @catppuccin_flavor "latte"
|
||||
set -g @catppuccin_reset "true"
|
||||
run /path/to/catppuccin/tmux/catppuccin.tmux
|
||||
# we're not done yet!
|
||||
```
|
||||
|
||||
But right afterwards, you'll have to set your customized options both before and
|
||||
after you `run ...` the plugin. _This does mean running the plugin twice in
|
||||
rapid succession_. This is due to a limitation of Tmux and how the plugin is
|
||||
designed to be customizable and also ergonomic to ease with minimal
|
||||
configuration.
|
||||
|
||||
```sh
|
||||
# somewhere in a Tmux configuration file that will be sourced specifically for
|
||||
# reloading `catppuccin/tmux`.
|
||||
set -g @catppuccin_flavor "mocha"
|
||||
set -g @catppuccin_reset "true"
|
||||
run /path/to/catppuccin/tmux/catppuccin.tmux
|
||||
|
||||
# right after the initial reset call.
|
||||
set -g @catppuccin_flavor "mocha"
|
||||
set -g @catppuccin_window_status_style "basic"
|
||||
set -g @catppuccin_window_text " #W"
|
||||
set -g @catppuccin_window_number "#I"
|
||||
set -g @catppuccin_window_current_text " #W"
|
||||
set -g @catppuccin_window_current_number "#I"
|
||||
set -g @catppuccin_pane_status_enabled "yes"
|
||||
set -g @catppuccin_pane_border_status "yes"
|
||||
set -g @catppuccin_window_number_position "right"
|
||||
set -g @catppuccin_window_current_text "#{pane_current_path}"
|
||||
set -g @catppuccin_pane_left_separator "▓"
|
||||
set -g @catppuccin_pane_middle_separator "▓"
|
||||
set -g @catppuccin_pane_right_separator "▓"
|
||||
set -g @catppuccin_status_left_separator "▓"
|
||||
set -g @catppuccin_status_middle_separator "▓"
|
||||
set -g @catppuccin_status_right_separator "▓"
|
||||
set -g @catppuccin_status_right_separator_inverse "no"
|
||||
set -g @catppuccin_status_connect_separator "yes"
|
||||
set -g @catppuccin_window_status_enable "yes"
|
||||
set -g @catppuccin_status_fill "icon"
|
||||
set -g @catppuccin_window_flags "icon"
|
||||
set -g @catppuccin_application_icon " "
|
||||
set -g @catppuccin_session_icon " "
|
||||
set -g @catppuccin_window_text_color "#{@thm_surface_0}"
|
||||
set -g @catppuccin_window_number_color "#{@thm_overlay_2}"
|
||||
set -g @catppuccin_window_current_text_color "#{@thm_surface_1}"
|
||||
set -g @catppuccin_window_current_number_color "#{@thm_mauve}"
|
||||
set -g @catppuccin_status_module_bg_color "#{@thm_surface_0}"
|
||||
set -g @catppuccin_status_application_icon_fg "#{E:@thm_crust}"
|
||||
set -g @catppuccin_status_application_text_fg "#{E:@thm_fg}"
|
||||
set -g @catppuccin_application_color "#{E:@thm_maroon}"
|
||||
set -g @catppuccin_status_session_icon_fg "#{E:@thm_crust}"
|
||||
set -g @catppuccin_status_session_text_fg "#{E:@thm_fg}"
|
||||
set -g @catppuccin_session_color "#{?client_prefix,#{E:@thm_red},#{E:@thm_green}}"
|
||||
set -g @catppuccin_status_module_text_bg "#{?@catppuccin_status_module_bg_color,#{E:@catppuccin_status_module_bg_color},#{@thm_surface_0}}"
|
||||
run /path/to/catppuccin/tmux/catppuccin.tmux
|
||||
```
|
||||
|
||||
Notice that above there are certain lines that are _being set that aren't
|
||||
usually set initially_. Some of these options are set within the file named
|
||||
`utils/status_module.conf`, for example. While some are set in the other parts
|
||||
of the plugin's configuration. This is due to the colors being unset and then
|
||||
rest to the defaults **because you can't reset this plugin without also running
|
||||
the default configuration options too**. _These options are highlighted below in
|
||||
a smaller snippet_. These specific options aren't usually set when configuring
|
||||
the plugin for a single flavor. Due to how options are reset and then again
|
||||
immediately set in the `catppuccin_options_tmux.conf` file & all options will be
|
||||
set to their defaults which aren't going to be what you've customized.
|
||||
|
||||
```sh
|
||||
# here's some options extracted from the example above which must be set again
|
||||
# after the reset that you probably would not have to set if you're using the
|
||||
# reset functionality.
|
||||
set -g @catppuccin_window_text_color "#{@thm_surface_0}"
|
||||
set -g @catppuccin_window_number_color "#{@thm_overlay_2}"
|
||||
set -g @catppuccin_window_current_text_color "#{@thm_surface_1}"
|
||||
set -g @catppuccin_window_current_number_color "#{@thm_mauve}"
|
||||
set -g @catppuccin_status_module_bg_color "#{@thm_surface_0}"
|
||||
set -g @catppuccin_status_application_icon_fg "#{E:@thm_crust}"
|
||||
set -g @catppuccin_status_application_text_fg "#{E:@thm_fg}"
|
||||
set -g @catppuccin_application_color "#{E:@thm_maroon}"
|
||||
set -g @catppuccin_status_session_icon_fg "#{E:@thm_crust}"
|
||||
set -g @catppuccin_status_session_text_fg "#{E:@thm_fg}"
|
||||
set -g @catppuccin_session_color "#{?client_prefix,#{E:@thm_red},#{E:@thm_green}}"
|
||||
set -g @catppuccin_status_module_text_bg "#{?@catppuccin_status_module_bg_color,#{E:@catppuccin_status_module_bg_color},#{@thm_surface_0}}"
|
||||
```
|
||||
|
||||
> [!NOTE]
|
||||
> See the `@catppuccin_status_module_bg_color` and other color options such as
|
||||
> `@catppuccin_application_color` and others have to be set due to the how the
|
||||
> plugin resets all the values listed at the top of this document.
|
||||
|
||||
## You should now know how to reset the flavor using Tmux configuration files
|
||||
|
||||
Thanks for reading this far. If there's any questions or concerns please reach
|
||||
out to the community in our [Discord server][discord] or by creating an issue on [GitHub][github].
|
||||
|
||||
Hopefully after reading this you've got a much better understanding of both how
|
||||
to reset the flavor for `catppuccin/tmux` and[the configuration][internal] for this plugin.
|
||||
|
||||
[discord]: https://discord.com/servers/catppuccin-907385605422448742 "The official Catppuccin Discord server"
|
||||
[github]: https://github.com/catppuccin/tmux/issues/new/choose "This project's GitHub issue type chooser page"
|
||||
[internal]: ../reference/configuration.md "Our internal configuration document for this plugin"
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
||||
"extends": [
|
||||
"local>catppuccin/renovate-config"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -Eeuo pipefail
|
||||
|
||||
script_dir=$(cd "$(dirname "${BASH_SOURCE[0]}")" &>/dev/null && pwd -P)
|
||||
|
||||
"${script_dir}"/tests/harness.sh --test "${script_dir}"/tests/default_options.sh --expected "${script_dir}"/tests/default_options_expected.txt "$@"
|
||||
"${script_dir}"/tests/harness.sh --test "${script_dir}"/tests/window_status_styling.sh --expected "${script_dir}"/tests/window_status_styling_expected.txt "$@"
|
||||
|
||||
"${script_dir}"/tests/harness.sh --test "${script_dir}"/tests/application_module.sh --expected "${script_dir}"/tests/application_module_expected.txt "$@"
|
||||
"${script_dir}"/tests/harness.sh --test "${script_dir}"/tests/battery_module.sh --expected "${script_dir}"/tests/battery_module_expected.txt "$@"
|
||||
"${script_dir}"/tests/harness.sh --test "${script_dir}"/tests/cpu_module.sh --expected "${script_dir}"/tests/cpu_module_expected.txt "$@"
|
||||
"${script_dir}"/tests/harness.sh --test "${script_dir}"/tests/load_module.sh --expected "${script_dir}"/tests/load_module_expected.txt "$@"
|
||||
"${script_dir}"/tests/harness.sh --test "${script_dir}"/tests/pane_styling.sh --expected "${script_dir}"/tests/pane_styling_expected.txt "$@"
|
||||
"${script_dir}"/tests/harness.sh --test "${script_dir}"/tests/ram_module.sh --expected "${script_dir}"/tests/ram_module_expected.txt "$@"
|
||||
@@ -0,0 +1,8 @@
|
||||
# vim:set ft=tmux:
|
||||
%hidden MODULE_NAME="application"
|
||||
|
||||
set -ogq "@catppuccin_${MODULE_NAME}_icon" " "
|
||||
set -ogqF "@catppuccin_${MODULE_NAME}_color" "#{E:@thm_maroon}"
|
||||
set -ogq "@catppuccin_${MODULE_NAME}_text" " #{pane_current_command}"
|
||||
|
||||
source -F "#{d:current_file}/../utils/status_module.conf"
|
||||
@@ -0,0 +1,22 @@
|
||||
# vim:set ft=tmux:
|
||||
%hidden MODULE_NAME="battery"
|
||||
|
||||
set -ogq @batt_icon_charge_tier8 ""
|
||||
set -ogq @batt_icon_charge_tier7 ""
|
||||
set -ogq @batt_icon_charge_tier6 ""
|
||||
set -ogq @batt_icon_charge_tier5 ""
|
||||
set -ogq @batt_icon_charge_tier4 ""
|
||||
set -ogq @batt_icon_charge_tier3 ""
|
||||
set -ogq @batt_icon_charge_tier2 ""
|
||||
set -ogq @batt_icon_charge_tier1 ""
|
||||
set -ogq @batt_icon_status_charged ""
|
||||
set -ogq @batt_icon_status_charging ""
|
||||
set -ogq @batt_icon_status_discharging ""
|
||||
set -ogq @batt_icon_status_unknown ""
|
||||
set -ogq @batt_icon_status_attached ""
|
||||
|
||||
set -ogq "@catppuccin_${MODULE_NAME}_icon" "#{l:#{battery_icon}} "
|
||||
set -ogqF "@catppuccin_${MODULE_NAME}_color" "#{E:@thm_lavender}"
|
||||
set -ogq "@catppuccin_${MODULE_NAME}_text" " #{l:#{battery_percentage}}"
|
||||
|
||||
source -F "#{d:current_file}/../utils/status_module.conf"
|
||||
@@ -0,0 +1,9 @@
|
||||
# vim:set ft=tmux:
|
||||
# Requires https://github.com/vascomfnunes/tmux-clima
|
||||
%hidden MODULE_NAME="clima"
|
||||
|
||||
set -ogq "@catppuccin_${MODULE_NAME}_icon" " "
|
||||
set -ogqF "@catppuccin_${MODULE_NAME}_color" "#{E:@thm_yellow}"
|
||||
set -ogq "@catppuccin_${MODULE_NAME}_text" " #{l:#{clima}}"
|
||||
|
||||
source -F "#{d:current_file}/../utils/status_module.conf"
|
||||
@@ -0,0 +1,18 @@
|
||||
# vim:set ft=tmux:
|
||||
%hidden MODULE_NAME="cpu"
|
||||
|
||||
set -ogq @cpu_low_fg_color "#{E:@thm_fg}"
|
||||
set -ogq @cpu_medium_fg_color "#{E:@thm_fg}"
|
||||
set -ogq @cpu_high_fg_color "#{E:@thm_crust}"
|
||||
|
||||
set -ogq @cpu_low_bg_color "#{E:@catppuccin_status_module_text_bg}"
|
||||
set -ogq @cpu_medium_bg_color "#{E:@catppuccin_status_module_text_bg}"
|
||||
set -ogq @cpu_high_bg_color "#{E:@thm_red}"
|
||||
|
||||
set -ogq "@catppuccin_${MODULE_NAME}_icon" " "
|
||||
set -ogqF "@catppuccin_${MODULE_NAME}_color" "#{E:@thm_yellow}"
|
||||
set -ogq "@catppuccin_status_${MODULE_NAME}_text_fg" "#{l:#{cpu_fg_color}}"
|
||||
set -ogq "@catppuccin_status_${MODULE_NAME}_text_bg" "#{l:#{cpu_bg_color}}"
|
||||
set -ogq "@catppuccin_${MODULE_NAME}_text" " #{l:#{cpu_percentage}}"
|
||||
|
||||
source -F "#{d:current_file}/../utils/status_module.conf"
|
||||
@@ -0,0 +1,8 @@
|
||||
# vim:set ft=tmux:
|
||||
%hidden MODULE_NAME="date_time"
|
||||
|
||||
set -ogq "@catppuccin_${MODULE_NAME}_icon" " "
|
||||
set -ogqF "@catppuccin_${MODULE_NAME}_color" "#{E:@thm_sapphire}"
|
||||
set -ogq "@catppuccin_${MODULE_NAME}_text" " %Y-%m-%d %H:%M"
|
||||
|
||||
source -F "#{d:current_file}/../utils/status_module.conf"
|
||||
@@ -0,0 +1,8 @@
|
||||
# vim:set ft=tmux:
|
||||
%hidden MODULE_NAME="directory"
|
||||
|
||||
set -ogq "@catppuccin_${MODULE_NAME}_icon" " "
|
||||
set -ogqF "@catppuccin_${MODULE_NAME}_color" "#{E:@thm_rosewater}"
|
||||
set -ogq "@catppuccin_${MODULE_NAME}_text" " #{b:pane_current_path}"
|
||||
|
||||
source -F "#{d:current_file}/../utils/status_module.conf"
|
||||
@@ -0,0 +1,9 @@
|
||||
# vim:set ft=tmux:
|
||||
%hidden MODULE_NAME="gitmux"
|
||||
|
||||
# Requires https://github.com/arl/gitmux
|
||||
set -ogq "@catppuccin_${MODULE_NAME}_icon" " "
|
||||
set -ogqF "@catppuccin_${MODULE_NAME}_color" "#{E:@thm_teal}"
|
||||
set -gq "@catppuccin_${MODULE_NAME}_text" ' #(gitmux -cfg $HOME/.gitmux.conf "#{pane_current_path}")'
|
||||
|
||||
source -F "#{d:current_file}/../utils/status_module.conf"
|
||||
@@ -0,0 +1,8 @@
|
||||
# vim:set ft=tmux:
|
||||
%hidden MODULE_NAME="host"
|
||||
|
||||
set -ogq "@catppuccin_${MODULE_NAME}_icon" " "
|
||||
set -ogqF "@catppuccin_${MODULE_NAME}_color" "#{E:@thm_mauve}"
|
||||
set -ogq "@catppuccin_${MODULE_NAME}_text" " #H"
|
||||
|
||||
source -F "#{d:current_file}/../utils/status_module.conf"
|
||||
@@ -0,0 +1,13 @@
|
||||
# vim:set ft=tmux:
|
||||
%hidden MODULE_NAME="kube"
|
||||
|
||||
# Requires https://github.com/jonmosco/kube-tmux
|
||||
|
||||
set -ogq "@catppuccin_${MODULE_NAME}_icon" " "
|
||||
set -ogqF "@catppuccin_${MODULE_NAME}_color" "#{E:@thm_blue}"
|
||||
set -ogqF "@catppuccin_kube_context_color" "#{E:@thm_red}"
|
||||
set -ogqF "@catppuccin_kube_namespace_color" "#{E:@thm_sky}"
|
||||
set -ogq "@catppuccin_${MODULE_NAME}_text" \
|
||||
" #{l:#[fg=#{@catppuccin_kube_context_color}]#{kubectx_context}#[fg=default]:#[fg=#{@catppuccin_kube_namespace_color}]#{kubectx_namespace}}"
|
||||
|
||||
source -F "#{d:current_file}/../utils/status_module.conf"
|
||||
@@ -0,0 +1,8 @@
|
||||
# vim:set ft=tmux:
|
||||
%hidden MODULE_NAME="load"
|
||||
|
||||
set -ogq "@catppuccin_${MODULE_NAME}_icon" " "
|
||||
set -ogqF "@catppuccin_${MODULE_NAME}_color" "#{E:@thm_blue}"
|
||||
set -ogq "@catppuccin_${MODULE_NAME}_text" "#{l:#(uptime | awk '{split(substr($0, index($0, \"load\")), a, \":\"); print a[2]\}}')"
|
||||
|
||||
source -F "#{d:current_file}/../utils/status_module.conf"
|
||||
@@ -0,0 +1,9 @@
|
||||
# vim:set ft=tmux:
|
||||
# Requires https://github.com/olimorris/tmux-pomodoro-plus
|
||||
%hidden MODULE_NAME="pomodoro_plus"
|
||||
|
||||
set -ogq "@catppuccin_${MODULE_NAME}_icon" " "
|
||||
set -ogqF "@catppuccin_${MODULE_NAME}_color" "#{E:@thm_peach}"
|
||||
set -ogq "@catppuccin_${MODULE_NAME}_text" " #{l:#{pomodoro_status}}"
|
||||
|
||||
source -F "#{d:current_file}/../utils/status_module.conf"
|
||||