From b14b22dd9896be87cc8efe26fad8d8c15cf487be Mon Sep 17 00:00:00 2001 From: Jaci Anderson Date: Sun, 29 Dec 2024 16:46:21 -0700 Subject: [PATCH] fix merge --- flake.lock | 126 +- jaci/dotfiles/colors.txt | 24 - jaci/dotfiles/helix/config.toml | 169 ++ jaci/dotfiles/helix/languages.toml | 4 + jaci/dotfiles/kak-lsp/kak-lsp.toml | 447 ---- .../dotfiles/kak/colors/catppuccin_frappe.kak | 83 - jaci/dotfiles/kak/colors/catppuccin_latte.kak | 83 - .../kak/colors/catppuccin_macchiato.kak | 83 - jaci/dotfiles/kak/colors/catppuccin_mocha.kak | 83 - jaci/dotfiles/kak/kakrc | 252 -- jaci/dotfiles/kak/rc/fzf_git.kak | 60 - jaci/dotfiles/kanshi/config | 2 +- jaci/dotfiles/kitty/kitty.conf | 2334 ----------------- jaci/dotfiles/labwc/autostart | 10 +- jaci/dotfiles/waybar/config | 8 +- jaci/modules/home-manager/home.nix | 123 +- jaci/modules/labwc/labwc_conf.nix | 18 +- 17 files changed, 260 insertions(+), 3649 deletions(-) delete mode 100644 jaci/dotfiles/colors.txt create mode 100644 jaci/dotfiles/helix/config.toml create mode 100644 jaci/dotfiles/helix/languages.toml delete mode 100644 jaci/dotfiles/kak-lsp/kak-lsp.toml delete mode 100644 jaci/dotfiles/kak/colors/catppuccin_frappe.kak delete mode 100644 jaci/dotfiles/kak/colors/catppuccin_latte.kak delete mode 100644 jaci/dotfiles/kak/colors/catppuccin_macchiato.kak delete mode 100644 jaci/dotfiles/kak/colors/catppuccin_mocha.kak delete mode 100644 jaci/dotfiles/kak/kakrc delete mode 100644 jaci/dotfiles/kak/rc/fzf_git.kak delete mode 100644 jaci/dotfiles/kitty/kitty.conf diff --git a/flake.lock b/flake.lock index fd1154e..14594bc 100644 --- a/flake.lock +++ b/flake.lock @@ -1,101 +1,65 @@ { "nodes": { - "catppuccin": { - "locked": { - "lastModified": 1734397929, - "narHash": "sha256-VCTVpU/RlrI9StxzDnqc1R3ZTQloLVALSkiN/Fgiad4=", - "owner": "catppuccin", - "repo": "nix", - "rev": "21310cde33d3ee8023679dec01a9724a346c63ff", - "type": "github" - }, - "original": { - "owner": "catppuccin", - "repo": "nix", - "type": "github" - } - }, - "flake-parts": { - "inputs": { - "nixpkgs-lib": [ - "nur", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1733312601, - "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, "home-manager": { "inputs": { "nixpkgs": [ - "nixpkgs" + "nixpkgs-unstable" ] }, "locked": { - "lastModified": 1733951536, - "narHash": "sha256-Zb5ZCa7Xj+0gy5XVXINTSr71fCfAv+IKtmIXNrykT54=", + "lastModified": 1718530513, + "narHash": "sha256-BmO8d0r+BVlwWtMLQEYnwmngqdXIuyFzMwvmTcLMee8=", "owner": "nix-community", "repo": "home-manager", - "rev": "1318c3f3b068cdcea922fa7c1a0a1f0c96c22f5f", + "rev": "a1fddf0967c33754271761d91a3d921772b30d0e", "type": "github" }, "original": { "owner": "nix-community", - "ref": "release-24.11", + "ref": "release-24.05", "repo": "home-manager", "type": "github" } }, "nixpkgs": { "locked": { - "lastModified": 1733808091, - "narHash": "sha256-KWwINTQelKOoQgrXftxoqxmKFZb9pLVfnRvK270nkVk=", + "lastModified": 1719426051, + "narHash": "sha256-yJL9VYQhaRM7xs0M867ZFxwaONB9T2Q4LnGo1WovuR4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a0f3e10d94359665dba45b71b4227b0aeb851f8e", + "rev": "89c49874fb15f4124bf71ca5f42a04f2ee5825fd", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-24.11", + "ref": "nixos-24.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-23": { + "locked": { + "lastModified": 1719234068, + "narHash": "sha256-1AjSIedDC/aERt24KsCUftLpVppW61S7awfjGe7bMio=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "90bd1b26e23760742fdcb6152369919098f05417", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-23.11", "repo": "nixpkgs", "type": "github" } }, "nixpkgs-unstable": { "locked": { - "lastModified": 1733759999, - "narHash": "sha256-463SNPWmz46iLzJKRzO3Q2b0Aurff3U1n0nYItxq7jU=", + "lastModified": 1726937504, + "narHash": "sha256-bvGoiQBvponpZh8ClUcmJ6QnsNKw0EMrCQJARK3bI1c=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a73246e2eef4c6ed172979932bc80e1404ba2d56", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_2": { - "locked": { - "lastModified": 1733759999, - "narHash": "sha256-463SNPWmz46iLzJKRzO3Q2b0Aurff3U1n0nYItxq7jU=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "a73246e2eef4c6ed172979932bc80e1404ba2d56", + "rev": "9357f4f23713673f310988025d9dc261c20e70c6", "type": "github" }, "original": { @@ -106,17 +70,12 @@ } }, "nur": { - "inputs": { - "flake-parts": "flake-parts", - "nixpkgs": "nixpkgs_2", - "treefmt-nix": "treefmt-nix" - }, "locked": { - "lastModified": 1733953553, - "narHash": "sha256-VwixklCTL4p/aJ4L9vvSTh1uAN56QW7sN8CJdsmDQlc=", + "lastModified": 1719509062, + "narHash": "sha256-IYlezkrqdHmO/SXShve0PhDZVwLuHYweaRyrLrvta5E=", "owner": "nix-community", "repo": "NUR", - "rev": "d83d70cbde1481068f1db7fb0f789426b364b422", + "rev": "0713da5785faf081a4fa06500890f8726755f464", "type": "github" }, "original": { @@ -127,33 +86,12 @@ }, "root": { "inputs": { - "catppuccin": "catppuccin", "home-manager": "home-manager", "nixpkgs": "nixpkgs", + "nixpkgs-23": "nixpkgs-23", "nixpkgs-unstable": "nixpkgs-unstable", "nur": "nur" } - }, - "treefmt-nix": { - "inputs": { - "nixpkgs": [ - "nur", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1733222881, - "narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=", - "owner": "numtide", - "repo": "treefmt-nix", - "rev": "49717b5af6f80172275d47a418c9719a31a78b53", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "treefmt-nix", - "type": "github" - } } }, "root": "root", diff --git a/jaci/dotfiles/colors.txt b/jaci/dotfiles/colors.txt deleted file mode 100644 index 8552c00..0000000 --- a/jaci/dotfiles/colors.txt +++ /dev/null @@ -1,24 +0,0 @@ -# Colors -Celadon - #B0F2B4 -Celeste - #BAF2E9 -Thistle - #DFC2F2 -English Violet - #51344D -Indian Red - #C97064 -Black Olive - #1F271B - Black, Font -Egg Shell - #F8F1DD - White, Font - -## Coolors Link - -[here](https://coolors.co/b0f2b4-dfc2f2-baf2e9-51344d-c97064) - -## CSS - -```css -@define-color celadon #b0f2b4 -@define-color celeste #baf2e9 -@define-color thistle #dfc2f2 -@define-color english_violet #51344d -@define-color indian_red #c97064 -@define-color black_olive #1f271b -@define-color egg_shell #f8f1dd -``` diff --git a/jaci/dotfiles/helix/config.toml b/jaci/dotfiles/helix/config.toml new file mode 100644 index 0000000..a831afd --- /dev/null +++ b/jaci/dotfiles/helix/config.toml @@ -0,0 +1,169 @@ +# Theme +theme = "catppuccin_macchiato" + +[keys.normal] + +# Navigation +n = "move_char_left" # Maps the 'a' key to the move_char_left command +i = "move_visual_line_down" +e = "move_visual_line_up" +o = "move_char_right" + +I = "page_down" +E = "page_up" + +# Modes +h = "insert_mode" +H = "insert_at_line_start" +l = "open_below" +L = "open_above" + +# Search +k = "search_next" +K = "search_prev" + +# Selection +C-s = "split_selection_on_newline" +C-minus = "merge_selections" +C-_ = "merge_consecutive_selections" +"C-;" = "flip_selections" +"C-:" = "ensure_selections_forward" +"C-," = "remove_primary_selection" +C-c = "change_selection_noyank" +C-d = "delete_selection_noyank" +"C-(" = "rotate_selection_contents_backward" +"C-)" = "rotate_selection_contents_forward" +C-x = "shrink_to_line_bounds" +C-J = "join_selections_space" +C-K = "remove_selections" +C-o = "expand_selection" +C-i = "shrink_selection" +C-p = "select_prev_sibling" +C-n = "select_next_sibling" + +# Misc +"C-/" = "toggle_comments" + +[keys.normal."C-space"] +x = ":wbc!" +s = ":w!" # save file +o = ":config-open" + +[keys.normal.g] +"/" = "goto_next_buffer" +h = "goto_previous_buffer" +n = ["collapse_selection", "extend_to_line_start"] +o = ["collapse_selection", "extend_to_line_end"] +e = "move_line_up" +i = "move_line_down" +l = "goto_last_line" + +p = "no_op" +k = "no_op" +j = "no_op" + +[keys.normal.m] +m = ["select_mode", "match_brackets", "normal_mode"] + +[keys.select] +n = "extend_char_left" +i = "extend_line_down" +e = "extend_line_up" +o = "extend_char_right" + +[keys.select.g] +"/" = "goto_next_buffer" +h = "goto_previous_buffer" +n = "goto_line_start" +o = "goto_line_end" +e = "move_line_up" +i = "move_line_down" +l = "goto_last_line" + +p = "no_op" +k = "no_op" +j = "no_op" + +# Window mode +[keys.normal."C-w"] +h = "hsplit" +C-h = "hsplit" +n = "jump_view_left" +C-n = "jump_view_left" +i = "jump_view_down" +I = "swap_view_down" +C-i = "jump_view_down" +e = "jump_view_up" +E = "swap_view_up" +C-e = "jump_view_up" +o = "jump_view_right" +O = "swap_view_right" +C-o = "jump_view_right" + +# Remove old +s = "no_op" +C-s = "no_op" +H = "no_op" +j = "no_op" +J = "no_op" +C-j = "no_op" +k = "no_op" +K = "no_op" +C-k = "no_op" +l = "no_op" +L = "no_op" +C-l = "no_op" + +[keys.normal."space"] +h = "hover" +k = "select_references_to_symbol_under_cursor" + +[editor] +bufferline = "always" +auto-save = true +line-number = "relative" +cursorline = true +cursorcolumn = true +color-modes = true +text-width = 120 +auto-format = true + +[editor.statusline] +left = ["mode", "spinner", "version-control"] +center = ["file-name"] +mode.normal = "Normal" +mode.insert = "Insert" +mode.select = "Select" + +[editor.indent-guides] +render = true + +[editor.lsp] +display-messages = true +display-inlay-hints = false + +[editor.cursor-shape] +insert = "bar" +normal = "block" +select = "underline" + +[editor.file-picker] +hidden = false + +[editor.whitespace.render] +space = "all" +tab = "all" +tabpad = "all" +newline = "none" +nbsp = "none" + +[editor.whitespace.characters] +space = "·" +tab = "⇀" +tabpad = " " + + +#w = "move_line_up" # Maps the 'w' key move_line_up +#"C-S-esc" = "extend_line" # Maps Ctrl-Shift-Escape to extend_line +#g = { a = "code_action" } # Maps `ga` to show possible code actions +#"ret" = ["open_below", "normal_mode"] # Maps the enter key to open_below then re-enter normal mode diff --git a/jaci/dotfiles/helix/languages.toml b/jaci/dotfiles/helix/languages.toml new file mode 100644 index 0000000..36f844b --- /dev/null +++ b/jaci/dotfiles/helix/languages.toml @@ -0,0 +1,4 @@ +# Change dart format to 120 lines +[[language]] +name = "dart" +formatter = {command = "dart", args = ["format", "-l", "120"]} diff --git a/jaci/dotfiles/kak-lsp/kak-lsp.toml b/jaci/dotfiles/kak-lsp/kak-lsp.toml deleted file mode 100644 index 286505e..0000000 --- a/jaci/dotfiles/kak-lsp/kak-lsp.toml +++ /dev/null @@ -1,447 +0,0 @@ -snippet_support = true -verbosity = 2 - -[server] -# exit session if no requests were received during given period in seconds -# set to 0 to disable -timeout = 1800 # seconds = 30 minutes - -[language.bash] -filetypes = ["sh"] -roots = [".git", ".hg"] -command = "bash-language-server" -args = ["start"] - -[language.c_cpp] -filetypes = ["c", "cpp"] -roots = ["compile_commands.json", ".clangd", ".git", ".hg"] -command = "clangd" - -[language.clojure] -filetypes = ["clojure"] -roots = ["project.clj", ".git", ".hg"] -command = "clojure-lsp" -settings_section = "_" -[language.clojure.settings._] -# See https://clojure-lsp.io/settings/#all-settings -# source-paths-ignore-regex = ["resources.*", "target.*"] - -[language.cmake] -filetypes = ["cmake"] -roots = ["CMakeLists.txt", ".git", ".hg"] -command = "cmake-language-server" - -[language.crystal] -filetypes = ["crystal"] -roots = ["shard.yml"] -command = "crystalline" - -[language.css] -filetypes = ["css"] -roots = ["package.json", ".git", ".hg"] -command = "vscode-css-languageserver" -args = ["--stdio"] - -[language.less] -filetypes = ["less"] -roots = ["package.json", ".git", ".hg"] -command = "vscode-css-languageserver" -args = ["--stdio"] - -[language.scss] -filetypes = ["scss"] -roots = ["package.json", ".git", ".hg"] -command = "vscode-css-languageserver" -args = ["--stdio"] - -[language.d] -filetypes = ["d", "di"] -roots = [".git", "dub.sdl", "dub.json"] -command = "dls" - -[language.dart] -# start shell to find path to dart analysis server source -filetypes = ["dart"] -roots = ["pubspec.yaml", ".git", ".hg"] -command = "dart" -args = ["language-server"] -[language.dart.settings.dart] -lineLength = 120 - -[language.elixir] -filetypes = ["elixir"] -roots = ["mix.exs"] -command = "elixir-ls" -settings_section = "elixirLS" -[language.elixir.settings.elixirLS] -# See https://github.com/elixir-lsp/elixir-ls/blob/master/apps/language_server/lib/language_server/server.ex -# dialyzerEnable = true - -[language.elm] -filetypes = ["elm"] -roots = ["elm.json"] -command = "elm-language-server" -args = ["--stdio"] -settings_section = "elmLS" -[language.elm.settings.elmLS] -# See https://github.com/elm-tooling/elm-language-server#server-settings -runtime = "node" -elmPath = "elm" -elmFormatPath = "elm-format" -elmTestPath = "elm-test" - -[language.elvish] -filetypes = ["elvish"] -roots = [".git", ".hg"] -command = "elvish" -args = ["-lsp"] - -[language.erlang] -filetypes = ["erlang"] -# See https://github.com/erlang-ls/erlang_ls.git for more information and -# how to configure. This default config should work in most cases though. -roots = ["rebar.config", "erlang.mk", ".git", ".hg"] -command = "erlang_ls" - -[language.go] -filetypes = ["go"] -roots = ["Gopkg.toml", "go.mod", ".git", ".hg"] -command = "gopls" -settings_section = "gopls" -[language.go.settings.gopls] -# See https://github.com/golang/tools/blob/master/gopls/doc/settings.md -# "build.buildFlags" = [] - -[language.haskell] -filetypes = ["haskell"] -roots = ["hie.yaml", "cabal.project", "Setup.hs", "stack.yaml", "*.cabal"] -command = "haskell-language-server-wrapper" -args = ["--lsp"] -settings_section = "_" -[language.haskell.settings._] -# See https://haskell-language-server.readthedocs.io/en/latest/configuration.html -# haskell.formattingProvider = "ormolu" - -[language.html] -filetypes = ["html"] -roots = ["package.json"] -command = "vscode-html-languageserver" -args = ["--stdio"] - -# # Commented out by default because you still need to set the paths in the JDT -# # Language Server arguments below before this can become a valid configuration. -# [language.java] -# filetypes = ["java"] -# roots = [".git", "mvnw", "gradlew"] -# command = "java" -# args = [ -# "-Declipse.application=org.eclipse.jdt.ls.core.id1", -# "-Dosgi.bundles.defaultStartLevel=4", -# "-Declipse.product=org.eclipse.jdt.ls.core.product", -# "-Dlog.level=ALL", -# "-Dfile.encoding=utf-8", -# "--add-modules=ALL-SYSTEM", -# "--add-opens", -# "java.base/java.util=ALL-UNNAMED", -# "--add-opens", -# "java.base/java.lang=ALL-UNNAMED", -# "-noverify", -# "-Xmx1G", -# "-jar", -# "/path/to/eclipse.jdt.ls/repository/plugins/org.eclipse.equinox.launcher_1.6.100.v20201223-0822.jar", -# "-configuration", -# "/path/to/eclipse.jdt.ls/repository/config_linux", -# "-data", -# "/path/to/eclipse-workspace", -# ] -# [language.java.settings] -# # See https://github.dev/eclipse/eclipse.jdt.ls -# # "java.format.insertSpaces" = true - -[language.javascriptreact] -filetypes = ["javascript"] -roots = ["package.json", "tsconfig.json", ".git", ".hg"] -command = "typescript-language-server" -args = ["--stdio"] -settings_section = "_" -[language.javascriptreact.settings._] -# quotePreference = "single" -# javascript.format.semicolons = "insert" - -[language.json] -filetypes = ["json"] -roots = ["package.json"] -command = "vscode-json-language-server" -args = ["--stdio"] - -# Requires Julia package "LanguageServer" -# Run: `julia --project=@kak-lsp -e 'import Pkg; Pkg.add("LanguageServer")'` to install it -# Configuration adapted from https://github.com/neovim/nvim-lspconfig/blob/bcebfac7429cd8234960197dca8de1767f3ef5d3/lua/lspconfig/julials.lua -[language.julia] -filetypes = ["julia"] -roots = ["Project.toml", ".git", ".hg"] -command = "julia" -args = [ - "--startup-file=no", - "--history-file=no", - "-e", - """ - ls_install_path = joinpath(get(DEPOT_PATH, 1, joinpath(homedir(), ".julia")), "environments", "kak-lsp"); - pushfirst!(LOAD_PATH, ls_install_path); - using LanguageServer; - popfirst!(LOAD_PATH); - depot_path = get(ENV, "JULIA_DEPOT_PATH", ""); - buffer_file = ENV["kak_buffile"]; - project_path = let - dirname(something( - # 1. Check if there is an explicitly set project - Base.load_path_expand(( - p = get(ENV, "JULIA_PROJECT", nothing); - p === nothing ? nothing : isempty(p) ? nothing : p - )), - # 2. Check for Project.toml in current working directory - Base.current_project(pwd()), - # 3. Check for Project.toml from buffer's full file path excluding the file name - Base.current_project(dirname(buffer_file)), - # 4. Fallback to global environment - Base.active_project() - )) - end - server = LanguageServer.LanguageServerInstance(stdin, stdout, project_path, depot_path); - server.runlinter = true; - run(server); - """, -] -[language.julia.settings] -# See https://github.com/julia-vscode/LanguageServer.jl/blob/master/src/requests/workspace.jl -# Format options. See https://github.com/julia-vscode/DocumentFormat.jl/blob/master/src/DocumentFormat.jl -# "julia.format.indent" = 4 -# Lint options. See https://github.com/julia-vscode/StaticLint.jl/blob/master/src/linting/checks.jl -# "julia.lint.call" = true -# Other options, see https://github.com/julia-vscode/LanguageServer.jl/blob/master/src/requests/workspace.jl -# "julia.lint.run" = "true" - -[language.latex] -filetypes = ["latex"] -roots = [".git", ".hg"] -command = "texlab" -settings_section = "texlab" -[language.latex.settings.texlab] -# See https://github.com/latex-lsp/texlab/wiki/Configuration -# -# Preview configuration for zathura with SyncTeX search. -# For other PDF viewers see https://github.com/latex-lsp/texlab/wiki/Previewing -forwardSearch.executable = "zathura" -forwardSearch.args = [ - "%p", - "--synctex-forward", # Support texlab-forward-search - "%l:1:%f", - "--synctex-editor-command", # Inverse search: use Control+Left-Mouse-Button to jump to source. - """ - sh -c ' - echo " - evaluate-commands -client %opt{texlab_client} %{ - evaluate-commands -try-client %opt{jumpclient} %{ - edit -- %{input} %{line} - } - } - " | kak -p $kak_session - ' - """, -] - -[language.lua] -filetypes = ["lua"] -roots = [".git", ".hg"] -command = "lua-language-server" -[language.lua.settings.Lua] -# See https://github.com/sumneko/vscode-lua/blob/master/setting/schema.json -# diagnostics.enable = true - -[language.markdown] -filetype = ["md", "markdown"] -roots = [".git", ".hg"] -command = "vscode-markdown-language-server" -args = ["--stdio"] - -# [[language]] -# name = "markdown" -# scope = "source.md" -# injection-regex = "md|markdown" -# file-types = ["md", "markdown", "PULLREQ_EDITMSG", "mkd", "mdwn", "mdown", "markdn", "mdtxt", "mdtext", "workbook"] -# roots = [".marksman.toml"] -# language-servers = [ "marksman" ] -# indent = { tab-width = 2, unit = " " } - -[language.nim] -filetypes = ["nim"] -roots = ["*.nimble", ".git", ".hg"] -command = "nimlsp" - -[language.nix] -filetypes = ["nix"] -roots = ["flake.nix", "shell.nix", ".git", ".hg"] -command = "rnix-lsp" - -[language.ocaml] -filetypes = ["ocaml"] -# Often useful to simply do a `touch dune-workspace` in your project root folder if you have problems with root detection -roots = ["dune-workspace", "dune-project", "Makefile", "opam", "*.opam", "esy.json", ".git", ".hg", "dune"] -command = "ocamllsp" - -[language.php] -filetypes = ["php"] -roots = [".htaccess", "composer.json"] -command = "intelephense" -args = ["--stdio"] -settings_section = "intelephense" -[language.php.settings] -intelephense.storagePath = "/tmp/intelephense" - -[language.proto] -filetypes = ["protobuf"] -roots = [".git", ".hg"] -command = "pls" # https://github.com/lasorda/protobuf-language-server - -[language.python] -filetypes = ["python"] -roots = ["requirements.txt", "setup.py", ".git", ".hg"] -command = "pylsp" -settings_section = "_" -[language.python.settings._] -# See https://github.com/python-lsp/python-lsp-server#configuration -# pylsp.configurationSources = ["flake8"] -pylsp.plugins.jedi_completion.include_params = true - -[language.r] -filetypes = ["r"] -roots = ["DESCRIPTION", ".git", ".hg"] -command = "R" -args = ["--slave", "-e", "languageserver::run()"] - -[language.racket] -filetypes = ["racket"] -roots = ["info.rkt"] -command = "racket" -args = ["-l", "racket-langserver"] - -[language.reason] -filetypes = ["reason"] -roots = ["package.json", "Makefile", ".git", ".hg"] -command = "ocamllsp" - -[language.ruby] -filetypes = ["ruby"] -roots = ["Gemfile"] -command = "solargraph" -args = ["stdio"] -settings_section = "_" -[language.ruby.settings._] -# See https://github.com/castwide/solargraph/blob/master/lib/solargraph/language_server/host.rb -# diagnostics = false - -# [language.rust] -# filetypes = ["rust"] -# roots = ["Cargo.toml"] -# command = "sh" -# args = [ -# "-c", -# """ -# if path=$(rustup which rls 2>/dev/null); then -# "$path" -# else -# rls -# fi -# """, -# ] -# [language.rust.settings.rust] -# # See https://github.com/rust-lang/rls#configuration -# # features = [] - -[language.rust] -filetypes = ["rust"] -roots = ["Cargo.toml"] -command = "sh" -args = [ - "-c", - """ - if path=$(rustup which rust-analyzer 2>/dev/null); then - "$path" - else - rust-analyzer - fi - """, -] -settings_section = "rust-analyzer" -[language.rust.settings.rust-analyzer] -# See https://rust-analyzer.github.io/manual.html#configuration -hoverActions.enable = false # kak-lsp doesn't support this at the moment -# cargo.features = [] - -[language.terraform] -filetypes = ["terraform"] -roots = ["*.tf"] -command = "terraform-ls" -args = ["serve"] -[language.terraform.settings.terraform-ls] -# See https://github.com/hashicorp/terraform-ls/blob/main/docs/SETTINGS.md -# rootModulePaths = [] - -# [language.typescriptreact] -# filetypes = ["typescript"] -# roots = ["package.json", "tsconfig.json", ".git", ".hg"] -# command = "typescript-language-server" -# args = ["--stdio"] -# settings_section = "_" -# [language.typescriptreact.settings._] -# quotePreference = "double" -# typescript.format.semicolons = "insert" - -[language.tsx] -filetypes = ["typescript"] -roots = ["package.json", "tsconfig.json", ".git", ".hg"] -command = "typescript-language-server" -args = ["--stdio"] -settings_section = "_" - -# [language.typescript.settings.deno] -# enable = true -# lint = true - -[language.yaml] -filetypes = ["yaml"] -roots = [".git", ".hg"] -command = "yaml-language-server" -args = ["--stdio"] -[language.yaml.settings] -# See https://github.com/redhat-developer/yaml-language-server#language-server-settings -# Defaults are at https://github.com/redhat-developer/yaml-language-server/blob/master/src/yamlSettings.ts -# yaml.format.enable = true - -[language.zig] -filetypes = ["zig"] -roots = ["build.zig"] -command = "zls" - -# Semantic tokens support -# See https://microsoft.github.io/language-server-protocol/specifications/specification-current/#textDocument_semanticTokens -# for the default list of tokens and modifiers. -# However, many language servers implement their own values. -# Make sure to check the output of `lsp-capabilities` and each server's documentation and source code as well. -# Examples: -# - TypeScript: https://github.com/microsoft/vscode-languageserver-node/blob/main/client/src/common/semanticTokens.ts -# - Rust Analyzer: https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/ide/src/syntax_highlighting.rs -[semantic_tokens] -faces = [ - {face="documentation", token="comment", modifiers=["documentation"]}, - {face="comment", token="comment"}, - {face="function", token="function"}, - {face="keyword", token="keyword"}, - {face="module", token="namespace"}, - {face="operator", token="operator"}, - {face="string", token="string"}, - {face="type", token="type"}, - {face="default+d", token="variable", modifiers=["readonly"]}, - {face="default+d", token="variable", modifiers=["constant"]}, - {face="variable", token="variable"}, -] diff --git a/jaci/dotfiles/kak/colors/catppuccin_frappe.kak b/jaci/dotfiles/kak/colors/catppuccin_frappe.kak deleted file mode 100644 index ec43367..0000000 --- a/jaci/dotfiles/kak/colors/catppuccin_frappe.kak +++ /dev/null @@ -1,83 +0,0 @@ -# Catppuccin theme for Kakoune - -# Color palette -declare-option str rosewater 'rgb:f2d5cf' -declare-option str red 'rgb:e78284' -declare-option str mauve 'rgb:ca9ee6' -declare-option str maroon 'rgb:ea999c' -declare-option str pink 'rgb:f4b8e4' -declare-option str cyan 'rgb:85c1dc' -declare-option str yellow 'rgb:e5c890' -declare-option str green 'rgb:a6d189' -declare-option str white 'rgb:c6d0f5' -declare-option str blue 'rgb:8caaee' -declare-option str sky 'rgb:99d1db' -declare-option str lavender 'rgb:babbf1' -declare-option str black1 'rgb:292c3c' -declare-option str black2 'rgb:303446' -declare-option str black3 'rgb:414559' -declare-option str orange 'rgb:ef9f76' -declare-option str teal 'rgb:81c8be' -declare-option str gray0 'rgb:626880' -declare-option str gray1 'rgb:737994' -declare-option str bright_red %opt{red} -declare-option str bright_green %opt{green} -declare-option str bright_yellow %opt{yellow} -declare-option str bright_blue %opt{blue} -declare-option str bright_cyan %opt{cyan} -declare-option str bright_white %opt{white} -declare-option str foreground %opt{white} -declare-option str background %opt{black2} - -# Markup -set-face global title "%opt{rosewater}" -set-face global header "%opt{bright_red}" -set-face global bold "%opt{mauve}" -set-face global italic "%opt{lavender}" -set-face global mono "%opt{green}" -set-face global block "%opt{cyan}" -set-face global link "%opt{green}" -set-face global bullet "%opt{green}" -set-face global list "%opt{white}" - -# Builtins -set-face global Default "%opt{white},%opt{background}" -set-face global PrimarySelection "%opt{gray0},%opt{lavender}" -set-face global SecondarySelection "%opt{lavender},%opt{gray0}" -set-face global PrimaryCursor "%opt{background},%opt{rosewater}" -set-face global SecondaryCursor "%opt{black1},%opt{teal}" -set-face global PrimaryCursorEol "%opt{gray0},%opt{mauve}" -set-face global SecondaryCursorEol "%opt{gray0},%opt{maroon}" -set-face global LineNumbers "%opt{gray1},%opt{background}" -set-face global LineNumberCursor "%opt{lavender},%opt{gray0}+b" -set-face global LineNumbersWrapped "%opt{teal},%opt{black1}+i" -set-face global MenuForeground "%opt{white},%opt{gray0}+b" -set-face global MenuBackground "%opt{white},%opt{black3}" -set-face global MenuInfo "%opt{black1},%opt{blue}" -set-face global Information "%opt{black1},%opt{lavender}" -set-face global Error "%opt{red},%opt{black2}" -set-face global StatusLine "%opt{white},%opt{black1}" -set-face global StatusLineMode "%opt{black2},%opt{yellow}" -set-face global StatusLineInfo "%opt{background},%opt{green}" -set-face global StatusLineValue "%opt{orange},%opt{gray0}" -set-face global StatusCursor "%opt{black1},%opt{lavender}" -set-face global Prompt "%opt{green},%opt{black2}" -set-face global MatchingChar "%opt{maroon},%opt{black2}" -set-face global Whitespace "%opt{gray1},%opt{background}+f" -set-face global WrapMarker Whitespace -set-face global BufferPadding "%opt{background},%opt{background}" - -# Code -set-face global value "%opt{orange}" -set-face global type "%opt{rosewater}" -set-face global variable "%opt{white}" -set-face global module "%opt{maroon}" -set-face global function "%opt{sky}" -set-face global string "%opt{green}" -set-face global keyword "%opt{blue}" -set-face global operator "%opt{blue}" -set-face global attribute "%opt{green}" -set-face global comment "%opt{gray1}" -set-face global documentation comment -set-face global meta "%opt{pink}" -set-face global builtin "%opt{lavender}+b" diff --git a/jaci/dotfiles/kak/colors/catppuccin_latte.kak b/jaci/dotfiles/kak/colors/catppuccin_latte.kak deleted file mode 100644 index f547168..0000000 --- a/jaci/dotfiles/kak/colors/catppuccin_latte.kak +++ /dev/null @@ -1,83 +0,0 @@ -# Catppuccin theme for Kakoune - -# Color palette -declare-option str rosewater 'rgb:dc8a78' -declare-option str red 'rgb:d20f39' -declare-option str mauve 'rgb:8839ef' -declare-option str maroon 'rgb:e64553' -declare-option str pink 'rgb:ea76cb' -declare-option str cyan 'rgb:209fb5' -declare-option str yellow 'rgb:df8e1d' -declare-option str green 'rgb:40a02b' -declare-option str white 'rgb:4c4f69' -declare-option str blue 'rgb:1e66f5' -declare-option str sky 'rgb:04a5e5' -declare-option str lavender 'rgb:7287fd' -declare-option str black1 'rgb:e6e9ef' -declare-option str black2 'rgb:eff1f5' -declare-option str black3 'rgb:ccd0da' -declare-option str orange 'rgb:fe640b' -declare-option str teal 'rgb:179299' -declare-option str gray0 'rgb:acb0be' -declare-option str gray1 'rgb:9ca0b0' -declare-option str bright_red %opt{red} -declare-option str bright_green %opt{green} -declare-option str bright_yellow %opt{yellow} -declare-option str bright_blue %opt{blue} -declare-option str bright_cyan %opt{cyan} -declare-option str bright_white %opt{white} -declare-option str foreground %opt{white} -declare-option str background %opt{black2} - -# Markup -set-face global title "%opt{rosewater}" -set-face global header "%opt{bright_red}" -set-face global bold "%opt{mauve}" -set-face global italic "%opt{lavender}" -set-face global mono "%opt{green}" -set-face global block "%opt{cyan}" -set-face global link "%opt{green}" -set-face global bullet "%opt{green}" -set-face global list "%opt{white}" - -# Builtins -set-face global Default "%opt{white},%opt{background}" -set-face global PrimarySelection "%opt{gray0},%opt{lavender}" -set-face global SecondarySelection "%opt{lavender},%opt{gray0}" -set-face global PrimaryCursor "%opt{background},%opt{rosewater}" -set-face global SecondaryCursor "%opt{black1},%opt{teal}" -set-face global PrimaryCursorEol "%opt{gray0},%opt{mauve}" -set-face global SecondaryCursorEol "%opt{gray0},%opt{maroon}" -set-face global LineNumbers "%opt{gray1},%opt{background}" -set-face global LineNumberCursor "%opt{lavender},%opt{gray0}+b" -set-face global LineNumbersWrapped "%opt{teal},%opt{black1}+i" -set-face global MenuForeground "%opt{white},%opt{gray0}+b" -set-face global MenuBackground "%opt{white},%opt{black3}" -set-face global MenuInfo "%opt{black1},%opt{blue}" -set-face global Information "%opt{black1},%opt{lavender}" -set-face global Error "%opt{red},%opt{black2}" -set-face global StatusLine "%opt{white},%opt{black1}" -set-face global StatusLineMode "%opt{black2},%opt{yellow}" -set-face global StatusLineInfo "%opt{background},%opt{green}" -set-face global StatusLineValue "%opt{orange},%opt{gray0}" -set-face global StatusCursor "%opt{black1},%opt{lavender}" -set-face global Prompt "%opt{green},%opt{black2}" -set-face global MatchingChar "%opt{maroon},%opt{black2}" -set-face global Whitespace "%opt{gray1},%opt{background}+f" -set-face global WrapMarker Whitespace -set-face global BufferPadding "%opt{background},%opt{background}" - -# Code -set-face global value "%opt{orange}" -set-face global type "%opt{rosewater}" -set-face global variable "%opt{white}" -set-face global module "%opt{maroon}" -set-face global function "%opt{sky}" -set-face global string "%opt{green}" -set-face global keyword "%opt{blue}" -set-face global operator "%opt{blue}" -set-face global attribute "%opt{green}" -set-face global comment "%opt{gray1}" -set-face global documentation comment -set-face global meta "%opt{pink}" -set-face global builtin "%opt{lavender}+b" diff --git a/jaci/dotfiles/kak/colors/catppuccin_macchiato.kak b/jaci/dotfiles/kak/colors/catppuccin_macchiato.kak deleted file mode 100644 index e518715..0000000 --- a/jaci/dotfiles/kak/colors/catppuccin_macchiato.kak +++ /dev/null @@ -1,83 +0,0 @@ -# Catppuccin theme for Kakoune - -# Color palette -declare-option str rosewater 'rgb:f4dbd6' -declare-option str red 'rgb:ed8796' -declare-option str mauve 'rgb:c6a0f6' -declare-option str maroon 'rgb:ee99a0' -declare-option str pink 'rgb:f5bde6' -declare-option str cyan 'rgb:7dc4e4' -declare-option str yellow 'rgb:eed49f' -declare-option str green 'rgb:a6da95' -declare-option str white 'rgb:cad3f5' -declare-option str blue 'rgb:8aadf4' -declare-option str sky 'rgb:91d7e3' -declare-option str lavender 'rgb:b7bdf8' -declare-option str black1 'rgb:1e2030' -declare-option str black2 'rgb:24273a' -declare-option str black3 'rgb:363a4f' -declare-option str orange 'rgb:f5a97f' -declare-option str teal 'rgb:8bd5ca' -declare-option str gray0 'rgb:5b6078' -declare-option str gray1 'rgb:6e738d' -declare-option str bright_red %opt{red} -declare-option str bright_green %opt{green} -declare-option str bright_yellow %opt{yellow} -declare-option str bright_blue %opt{blue} -declare-option str bright_cyan %opt{cyan} -declare-option str bright_white %opt{white} -declare-option str foreground %opt{white} -declare-option str background %opt{black2} - -# Markup -set-face global title "%opt{rosewater}" -set-face global header "%opt{bright_red}" -set-face global bold "%opt{mauve}" -set-face global italic "%opt{lavender}" -set-face global mono "%opt{green}" -set-face global block "%opt{cyan}" -set-face global link "%opt{green}" -set-face global bullet "%opt{green}" -set-face global list "%opt{white}" - -# Builtins -set-face global Default "%opt{white},%opt{background}" -set-face global PrimarySelection "%opt{gray0},%opt{lavender}" -set-face global SecondarySelection "%opt{lavender},%opt{gray0}" -set-face global PrimaryCursor "%opt{background},%opt{rosewater}" -set-face global SecondaryCursor "%opt{black1},%opt{teal}" -set-face global PrimaryCursorEol "%opt{gray0},%opt{mauve}" -set-face global SecondaryCursorEol "%opt{gray0},%opt{maroon}" -set-face global LineNumbers "%opt{gray1},%opt{background}" -set-face global LineNumberCursor "%opt{lavender},%opt{gray0}+b" -set-face global LineNumbersWrapped "%opt{teal},%opt{black1}+i" -set-face global MenuForeground "%opt{white},%opt{gray0}+b" -set-face global MenuBackground "%opt{white},%opt{black3}" -set-face global MenuInfo "%opt{black1},%opt{blue}" -set-face global Information "%opt{black1},%opt{lavender}" -set-face global Error "%opt{red},%opt{black2}" -set-face global StatusLine "%opt{white},%opt{black1}" -set-face global StatusLineMode "%opt{black2},%opt{yellow}" -set-face global StatusLineInfo "%opt{background},%opt{green}" -set-face global StatusLineValue "%opt{orange},%opt{gray0}" -set-face global StatusCursor "%opt{black1},%opt{lavender}" -set-face global Prompt "%opt{green},%opt{black2}" -set-face global MatchingChar "%opt{maroon},%opt{black2}" -set-face global Whitespace "%opt{gray1},%opt{background}+f" -set-face global WrapMarker Whitespace -set-face global BufferPadding "%opt{background},%opt{background}" - -# Code -set-face global value "%opt{orange}" -set-face global type "%opt{pink}" -set-face global variable "%opt{white}" -set-face global module "%opt{mauve}" -set-face global function "%opt{sky}" -set-face global string "%opt{green}" -set-face global keyword "%opt{blue}" -set-face global operator "%opt{blue}" -set-face global attribute "%opt{green}" -set-face global comment "%opt{gray1}" -set-face global documentation comment -set-face global meta "%opt{pink}" -set-face global builtin "%opt{lavender}+b" diff --git a/jaci/dotfiles/kak/colors/catppuccin_mocha.kak b/jaci/dotfiles/kak/colors/catppuccin_mocha.kak deleted file mode 100644 index 6191160..0000000 --- a/jaci/dotfiles/kak/colors/catppuccin_mocha.kak +++ /dev/null @@ -1,83 +0,0 @@ -# Catppuccin theme for Kakoune - -# Color palette -declare-option str rosewater 'rgb:f5e0dc' -declare-option str red 'rgb:f38ba8' -declare-option str mauve 'rgb:cba6f7' -declare-option str maroon 'rgb:eba0ac' -declare-option str pink 'rgb:f5c2e7' -declare-option str cyan 'rgb:74c7ec' -declare-option str yellow 'rgb:f9e2af' -declare-option str green 'rgb:a6e3a1' -declare-option str white 'rgb:cdd6f4' -declare-option str blue 'rgb:89b4fa' -declare-option str sky 'rgb:89dceb' -declare-option str lavender 'rgb:b4befe' -declare-option str black1 'rgb:181825' -declare-option str black2 'rgb:1e1e2e' -declare-option str black3 'rgb:313244' -declare-option str orange 'rgb:fab387' -declare-option str teal 'rgb:94e2d5' -declare-option str gray0 'rgb:585b70' -declare-option str gray1 'rgb:6c7086' -declare-option str bright_red %opt{red} -declare-option str bright_green %opt{green} -declare-option str bright_yellow %opt{yellow} -declare-option str bright_blue %opt{blue} -declare-option str bright_cyan %opt{cyan} -declare-option str bright_white %opt{white} -declare-option str foreground %opt{white} -declare-option str background %opt{black2} - -# Markup -set-face global title "%opt{rosewater}" -set-face global header "%opt{bright_red}" -set-face global bold "%opt{mauve}" -set-face global italic "%opt{lavender}" -set-face global mono "%opt{green}" -set-face global block "%opt{cyan}" -set-face global link "%opt{green}" -set-face global bullet "%opt{green}" -set-face global list "%opt{white}" - -# Builtins -set-face global Default "%opt{white},%opt{background}" -set-face global PrimarySelection "%opt{gray0},%opt{lavender}" -set-face global SecondarySelection "%opt{lavender},%opt{gray0}" -set-face global PrimaryCursor "%opt{background},%opt{rosewater}" -set-face global SecondaryCursor "%opt{black1},%opt{teal}" -set-face global PrimaryCursorEol "%opt{gray0},%opt{mauve}" -set-face global SecondaryCursorEol "%opt{gray0},%opt{maroon}" -set-face global LineNumbers "%opt{gray1},%opt{background}" -set-face global LineNumberCursor "%opt{lavender},%opt{gray0}+b" -set-face global LineNumbersWrapped "%opt{teal},%opt{black1}+i" -set-face global MenuForeground "%opt{white},%opt{gray0}+b" -set-face global MenuBackground "%opt{white},%opt{black3}" -set-face global MenuInfo "%opt{black1},%opt{blue}" -set-face global Information "%opt{black1},%opt{lavender}" -set-face global Error "%opt{red},%opt{black2}" -set-face global StatusLine "%opt{white},%opt{black1}" -set-face global StatusLineMode "%opt{black2},%opt{yellow}" -set-face global StatusLineInfo "%opt{background},%opt{green}" -set-face global StatusLineValue "%opt{orange},%opt{gray0}" -set-face global StatusCursor "%opt{black1},%opt{lavender}" -set-face global Prompt "%opt{green},%opt{black2}" -set-face global MatchingChar "%opt{maroon},%opt{black2}" -set-face global Whitespace "%opt{gray1},%opt{background}+f" -set-face global WrapMarker Whitespace -set-face global BufferPadding "%opt{background},%opt{background}" - -# Code -set-face global value "%opt{orange}" -set-face global type "%opt{rosewater}" -set-face global variable "%opt{white}" -set-face global module "%opt{maroon}" -set-face global function "%opt{sky}" -set-face global string "%opt{green}" -set-face global keyword "%opt{blue}" -set-face global operator "%opt{blue}" -set-face global attribute "%opt{green}" -set-face global comment "%opt{gray1}" -set-face global documentation comment -set-face global meta "%opt{pink}" -set-face global builtin "%opt{lavender}+b" diff --git a/jaci/dotfiles/kak/kakrc b/jaci/dotfiles/kak/kakrc deleted file mode 100644 index ec330c2..0000000 --- a/jaci/dotfiles/kak/kakrc +++ /dev/null @@ -1,252 +0,0 @@ -# ------------------ -# Plugin Setup -# ------------------ - -# IMORTANT NOTE: -# I needed to open kakoune and type ':plug-install' to actually -# install the plugins listed in this file. I did not see this -# mentioned in wikis or anything, so make sure to do this to -# avoid searching github wikis and reddit needlessly. - -# Creates the /plugins folder if it doesnt exist each startup -evaluate-commands %sh{ - plugins="$kak_config/plugins" - mkdir -p "$plugins" - [ ! -e "$plugins/plug.kak" ] && \ - git clone -q https://github.com/andreyorst/plug.kak.git "$plugins/plug.kak" - printf "%s\n" "source '$plugins/plug.kak/rc/plug.kak'" -} -plug "andreyorst/plug.kak" noload - -# ------------------ -# Editor Settings -# ------------------ - -# Disables startup message showing -set-option global startup_info_version 30000000 - -set-option global tabstop 4 -set-option global indentwidth 4 -set-option global scrolloff 5,3 -declare-option str kakrc_path "~/.config/kak/kakrc" -declare-option str sway_conf_path "~/.config/sway/config.d/default" -declare-option str shell_config "~/.zshrc" - -# plug "catppuccin/kakoune" theme config %{ -# colorscheme catppuccin_macchiato -# } -colorscheme catppuccin_macchiato -# relative line numbers -hook global BufCreate .* %{ - add-highlighter buffer/ number-lines -hlcursor -} - -# Git Gutters -hook global WinCreate .* %{ evaluate-commands %sh{ - if [ $kak_buffile != $kak_bufname ] && git ls-files --error-unmatch "$kak_buffile" > /dev/null 2>&1; then - echo "git show-diff" - fi -}} - -# Write on unfocus -hook global FocusOut .* %{ try %{ - write -}} - -hook global BufWritePost .* %{ evaluate-commands 'git update-diff' } -hook global BufReload .* %{ evaluate-commands 'git update-diff' } - -# Add default,red and bold style to these regex matches -add-highlighter global/ regex \b(TODO|FIXME|XXX|NOTE)\b 0:default,red+rb - -# ------------------ -# Key bindings -# ------------------ - -# Remap hjkl navigation to colemak-dh layout -map global normal n h -map global normal e k -map global normal i j -map global normal o l - -map global normal N H -map global normal E K -map global normal I J -map global normal O L - -# Remap insert command -map global normal h i - -# Insert line above or below -map global normal l o -map global normal L O - -# No alt, remap -map global normal -docstring 'same as [f] but in the other direction' -map global normal -docstring 'same as [t] but in the other direction' -map global normal -docstring 'select to beginning of line' -map global normal -docstring 'select to end of line' -map global normal -docstring 'split selections on line boundaries' -map global normal -docstring 'select first and last character of each selection' -map global normal '' '' -docstring 'flip direction of each selection' -map global normal -docstring 'ensure selections are in forward direction (cursor then anchor)' -map global normal -docstring 'clear the main selection' - -# Scrolling remap -map global normal -docstring 'Scroll screen up' -map global normal -docstring 'Scroll screen down' - -map global normal ':comment-line' -docstring 'comment selected lines' - -# Ctrl-s to save -map global normal ':w' -docstring 'write buffer' -# Ctrl-x to save and exit -map global normal ':w:db' -docstring 'write close buffer' - -# Colemak goto remappings -map global goto n h -docstring 'line start' -map global goto o l -docstring 'line end' -map global goto e k -docstring 'buffer top' -map global goto i j -docstring 'buffer bottom' - -map global goto h n -map global goto l o -map global goto k e -map global goto j i - -# Remap view keys -map global view n h -map global view o l -map global view e k -map global view i j - -map global normal ( ': buffer-previous' -docstring 'prev buffer' -map global normal ) ': buffer-next' -docstring 'next buffer' - -# map global normal [ ( -docstring 'rotate main selection' - -# map global normal ] ) -docstring 'rotate main selection backwards' -# Make x select lines up and down -def -params 1 extend-line-down %{ - exec "%arg{1}J" -} - -def -params 1 extend-line-up %{ - exec "%arg{1}K" - try %{ - exec -draft ';\n' - exec X - } - exec '' -} - - -map global normal x ':extend-line-down %val{count}' -map global normal X ':extend-line-up %val{count}' - -map global normal k n -docstring 'next result' -map global normal K N -docstring 'next result add selection' - -map global normal -docstring 'prev result' -map global normal -docstring 'prev result add selection' - -map global insert -docstring 'next completion' -map global insert -docstring 'prev completion' - -# User Mode Bindings -# Accessed with -declare-user-mode git -map global user g ': enter-user-mode git' -docstring "Git mode" -map global user p 'wl-paste -n' -docstring 'paste from system clip board' -hook global RegisterModified '"' %{ nop %sh{ - printf %s "$kak_main_reg_dquote" | wl-copy > /dev/null 2>&1 & -}} - -# Open kakrc, double quotes needed to ecsape the kakrc_path option -map global user o ":edit %opt{kakrc_path}" -docstring 'open kakrc' -map global user z ":edit %opt{shell_config}" -docstring 'open shell config' -map global user S ":edit %opt{sway_conf_path}" -docstring 'open wm config' -# Git Mode Bindings -map global git d ':git show-diff' -docstring "Show diff" - -# ----------------- -# LSP Configuration -# ----------------- - -plug "kak-lsp/kak-lsp" do %{ - cargo install --locked --force --path . - mkdir -p ~/.config/kak-lsp - cp -n kak-lsp.toml ~/.config/kak-lsp/ -} config %{ - - # enable inlay hints - lsp-inlay-hints-enable global - lsp-inlay-diagnostics-enable global - - # set global lsp_diagnostic_line_error_sign '║' - # set global lsp_diagnostic_line_warning_sign '┊' - - define-command lsp-restart -docstring 'restart lsp server' %{ lsp-stop; lsp-start } - - map global insert ':try lsp-snippets-select-next-placeholders catch %{ execute-keys -with-hooks tab> }' -docstring 'Select next snippet placeholder' - map global object a 'lsp-object' -docstring 'LSP any symbol' - map global object 'lsp-object' -docstring 'LSP any symbol' - map global object e 'lsp-object Function Method' -docstring 'LSP function or method' - map global object k 'lsp-object Class Interface Struct' -docstring 'LSP class interface or struct' - map global object d 'lsp-diagnostic-object --include-warnings' -docstring 'LSP errors and warnings' - map global object D 'lsp-diagnostic-object' -docstring 'LSP errors' - - # load lsp for supported filetypes - set-option global lsp_cmd "kak-lsp -s %val{session} -vvv --log /tmp/kak-lsp.log" - hook global WinSetOption filetype=(rust|python|go|javascript|typescript|c|cpp|zig|dart|ruby) %{ - lsp-enable-window - # lsp-auto-hover-enable - map global user l ': enter-user-mode lsp' -docstring 'lsp mode' - map global user h ': enter-user-mode lsph' -docstring 'lsp help' - map global user a ': enter-user-mode lspa' -docstring 'lsp code action' - set-option global lsp_hover_anchor false - } - - hook global KakEnd .* lsp-exit -} - - -# ----------------- -# Other Plugins -# ----------------- - -map global goto f ':prompt -shell-script-candidates %{ fd --type f --hidden } file: %{ edit %val{text} }' -docstring "file" -map global goto b ':prompt -buffer-completion buffer: %{ buffer %val{text} }' -docstring "buffer" - -# Fzf Plugin -plug "andreyorst/fzf.kak" config %{ - # map global user f ':fzf-modev' -docstring 'fzf file in project' - map global user b ':fzf-modeb' -docstring 'fzf current buffers' - - map global user / ':fzf-modeg' -docstring 'fzf search in project' - - # def fzf_file %{ - # evaluate-commands %sh{ - # printf "%s\n" ":fzf-mode:fzf -items-cmd fd" - # } - # } - -# Change FZF colors -# FZF_DEFAULT_OPTS=" \ -# --color=bg+:#313244,bg:#1e1e2e,spinner:#f5e0dc,hl:#f38ba8 \ -# --color=fg:#cdd6f4,header:#f38ba8,info:#cba6f7,pointer:#f5e0dc \ -# --color=marker:#f5e0dc,fg+:#cdd6f4,prompt:#cba6f7,hl+:#f38ba8" -} - - - -plug "alexherbo2/auto-pairs.kak" %{ - enable-auto-pairs -} - -plug "https://github.com/h-youhei/kakoune-surround" - -map global normal ':surround' - -# Custom scripts -source "~/.config/kak/rc/fzf_git.kak" diff --git a/jaci/dotfiles/kak/rc/fzf_git.kak b/jaci/dotfiles/kak/rc/fzf_git.kak deleted file mode 100644 index df816dc..0000000 --- a/jaci/dotfiles/kak/rc/fzf_git.kak +++ /dev/null @@ -1,60 +0,0 @@ - -define-command fzzf -params .. %{ evaluate-commands %sh{ - - while [ $# -gt 0 ]; do - case $1 in - (-items-cmd) shift; items_cmd="$1" ;; - esac - shift - done - - # fzf_tmp=$(mktemp -d "${TMPDIR:-/tmp}"/fzfgit.kak.XXXXXX) - # fzfcmd="${fzf_tmp}/fzfcmd" - # result="${fzf_tmp}/result" - - # ( - # shell_path="$(command -v sh)" - # if [ -n "${shell_path}" ]; then - # # portable shebang - # printf "%s\n" "#!${shell_path}" - # # set SHELL because fzf preview uses it - # printf "%s\n" "SHELL=${shell_path}" - # fi - # # compose entire fzf command with all args into single file which will be executed later - # # printf "%s\n" "export FZF_DEFAULT_OPTS=\"${kak_opt_fzf_default_opts:-}\"" - # printf "%s\n" "cd \"${PWD}\" && $items_cmd | fzf > $result" - # printf "%s\n" "evaluate-commands -client ${kak_client} edit -existing $file" | kak -p "${kak_session}" - # printf "%s\n" "rm ${fzfcmd}" - # printf "%s\n" "fg" - # ) >> "${fzfcmd}" - # chmod 755 "${fzfcmd}" - - kill -TSTP $kak_client_pid - cd `pwd` && $items_cmd | \ - fzf | \ - xargs printf "evaluate-commands -client ${kak_client} edit -existing %s\n" | \ - kak -p - fg - - # cmd="terminal $fzfcmd" - - # Tells kakoune to open a terminal and run $fzfcmd - # printf "%s\n" "$fzfcmd" - - # ( while [ -e "${fzfcmd}" ]; do sleep 0.1; done - # # printf "%s\n" "evaluate-commands -client ${kak_client} edit -existing ~/out.txt" | kak -p "${kak_session}" - # if [ -s "${result}" ]; then - # file=$(cat $result) - # printf "%s\n" "evaluate-commands -client ${kak_client} edit -existing $file" | kak -p "${kak_session}" - - # fi - # rm -rf $fzf_temp - # ) > /dev/null 2>&1 < /dev/null & - - # Bring kakoune back into the foreground -}} - -# define-command fzf-project %{ fzzf -items-cmd 'fd -tfile' } - -# map global user f ':fzf-project' -docstring 'fzf current project' - diff --git a/jaci/dotfiles/kanshi/config b/jaci/dotfiles/kanshi/config index 980fdff..6b30e01 100644 --- a/jaci/dotfiles/kanshi/config +++ b/jaci/dotfiles/kanshi/config @@ -1,3 +1,3 @@ profile { - output HDMI-A-1 position 0,0 mode 1920x1080@143.998001Hz + output DP-2 position 0,0 mode 1920x1080@165.003006Hz } diff --git a/jaci/dotfiles/kitty/kitty.conf b/jaci/dotfiles/kitty/kitty.conf deleted file mode 100644 index 2adc67a..0000000 --- a/jaci/dotfiles/kitty/kitty.conf +++ /dev/null @@ -1,2334 +0,0 @@ -# vim:fileencoding=utf-8:foldmethod=marker - -#: Fonts {{{ - -#: kitty has very powerful font management. You can configure -#: individual font faces and even specify special fonts for particular -#: characters. - -# font_family monospace -# bold_font auto -# italic_font auto -# bold_italic_font auto - -#: You can specify different fonts for the bold/italic/bold-italic -#: variants. To get a full list of supported fonts use the `kitty -#: +list-fonts` command. By default they are derived automatically, by -#: the OSes font system. When bold_font or bold_italic_font is set to -#: auto on macOS, the priority of bold fonts is semi-bold, bold, -#: heavy. Setting them manually is useful for font families that have -#: many weight variants like Book, Medium, Thick, etc. For example:: - -font_family Hurmit Nerd Font Mono -bold_font Hurmit Nerd Font Mono -italic_font Hurmit Nerd Font Mono -bold_italic_font Hurmit Nerd Font Mono - -font_size 12.0 - -#: Font size (in pts) - -# force_ltr no - -#: kitty does not support BIDI (bidirectional text), however, for RTL -#: scripts, words are automatically displayed in RTL. That is to say, -#: in an RTL script, the words "HELLO WORLD" display in kitty as -#: "WORLD HELLO", and if you try to select a substring of an RTL- -#: shaped string, you will get the character that would be there had -#: the the string been LTR. For example, assuming the Hebrew word -#: ירושלים, selecting the character that on the screen appears to be ם -#: actually writes into the selection buffer the character י. kitty's -#: default behavior is useful in conjunction with a filter to reverse -#: the word order, however, if you wish to manipulate RTL glyphs, it -#: can be very challenging to work with, so this option is provided to -#: turn it off. Furthermore, this option can be used with the command -#: line program GNU FriBidi -#: to get BIDI -#: support, because it will force kitty to always treat the text as -#: LTR, which FriBidi expects for terminals. - -# symbol_map - -#: E.g. symbol_map U+E0A0-U+E0A3,U+E0C0-U+E0C7 PowerlineSymbols - -#: Map the specified Unicode codepoints to a particular font. Useful -#: if you need special rendering for some symbols, such as for -#: Powerline. Avoids the need for patched fonts. Each Unicode code -#: point is specified in the form `U+`. You -#: can specify multiple code points, separated by commas and ranges -#: separated by hyphens. This option can be specified multiple times. -#: The syntax is:: - -#: symbol_map codepoints Font Family Name - -# narrow_symbols - -#: E.g. narrow_symbols U+E0A0-U+E0A3,U+E0C0-U+E0C7 1 - -#: Usually, for Private Use Unicode characters and some symbol/dingbat -#: characters, if the character is followed by one or more spaces, -#: kitty will use those extra cells to render the character larger, if -#: the character in the font has a wide aspect ratio. Using this -#: option you can force kitty to restrict the specified code points to -#: render in the specified number of cells (defaulting to one cell). -#: This option can be specified multiple times. The syntax is:: - -#: narrow_symbols codepoints [optionally the number of cells] - -# disable_ligatures never - -#: Choose how you want to handle multi-character ligatures. The -#: default is to always render them. You can tell kitty to not render -#: them when the cursor is over them by using cursor to make editing -#: easier, or have kitty never render them at all by using always, if -#: you don't like them. The ligature strategy can be set per-window -#: either using the kitty remote control facility or by defining -#: shortcuts for it in kitty.conf, for example:: - -#: map alt+1 disable_ligatures_in active always -#: map alt+2 disable_ligatures_in all never -#: map alt+3 disable_ligatures_in tab cursor - -#: Note that this refers to programming ligatures, typically -#: implemented using the calt OpenType feature. For disabling general -#: ligatures, use the font_features option. - -# font_features - -#: E.g. font_features none - -#: Choose exactly which OpenType features to enable or disable. This -#: is useful as some fonts might have features worthwhile in a -#: terminal. For example, Fira Code includes a discretionary feature, -#: zero, which in that font changes the appearance of the zero (0), to -#: make it more easily distinguishable from Ø. Fira Code also includes -#: other discretionary features known as Stylistic Sets which have the -#: tags ss01 through ss20. - -#: For the exact syntax to use for individual features, see the -#: HarfBuzz documentation . - -#: Note that this code is indexed by PostScript name, and not the font -#: family. This allows you to define very precise feature settings; -#: e.g. you can disable a feature in the italic font but not in the -#: regular font. - -#: On Linux, font features are first read from the FontConfig database -#: and then this option is applied, so they can be configured in a -#: single, central place. - -#: To get the PostScript name for a font, use `kitty +list-fonts -#: --psnames`: - -#: .. code-block:: sh - -#: $ kitty +list-fonts --psnames | grep Fira -#: Fira Code -#: Fira Code Bold (FiraCode-Bold) -#: Fira Code Light (FiraCode-Light) -#: Fira Code Medium (FiraCode-Medium) -#: Fira Code Regular (FiraCode-Regular) -#: Fira Code Retina (FiraCode-Retina) - -#: The part in brackets is the PostScript name. - -#: Enable alternate zero and oldstyle numerals:: - -#: font_features FiraCode-Retina +zero +onum - -#: Enable only alternate zero in the bold font:: - -#: font_features FiraCode-Bold +zero - -#: Disable the normal ligatures, but keep the calt feature which (in -#: this font) breaks up monotony:: - -#: font_features TT2020StyleB-Regular -liga +calt - -#: In conjunction with force_ltr, you may want to disable Arabic -#: shaping entirely, and only look at their isolated forms if they -#: show up in a document. You can do this with e.g.:: - -#: font_features UnifontMedium +isol -medi -fina -init - -# modify_font - -#: Modify font characteristics such as the position or thickness of -#: the underline and strikethrough. The modifications can have the -#: suffix px for pixels or % for percentage of original value. No -#: suffix means use pts. For example:: - -#: modify_font underline_position -2 -#: modify_font underline_thickness 150% -#: modify_font strikethrough_position 2px - -#: Additionally, you can modify the size of the cell in which each -#: font glyph is rendered and the baseline at which the glyph is -#: placed in the cell. For example:: - -#: modify_font cell_width 80% -#: modify_font cell_height -2px -#: modify_font baseline 3 - -#: Note that modifying the baseline will automatically adjust the -#: underline and strikethrough positions by the same amount. -#: Increasing the baseline raises glyphs inside the cell and -#: decreasing it lowers them. Decreasing the cell size might cause -#: rendering artifacts, so use with care. - -# box_drawing_scale 0.001, 1, 1.5, 2 - -#: The sizes of the lines used for the box drawing Unicode characters. -#: These values are in pts. They will be scaled by the monitor DPI to -#: arrive at a pixel value. There must be four values corresponding to -#: thin, normal, thick, and very thick lines. - -# undercurl_style thin-sparse - -#: The style with which undercurls are rendered. This option takes the -#: form (thin|thick)-(sparse|dense). Thin and thick control the -#: thickness of the undercurl. Sparse and dense control how often the -#: curl oscillates. With sparse the curl will peak once per character, -#: with dense twice. - -# text_composition_strategy platform - -#: Control how kitty composites text glyphs onto the background color. -#: The default value of platform tries for text rendering as close to -#: "native" for the platform kitty is running on as possible. - -#: A value of legacy uses the old (pre kitty 0.28) strategy for how -#: glyphs are composited. This will make dark text on light -#: backgrounds look thicker and light text on dark backgrounds -#: thinner. It might also make some text appear like the strokes are -#: uneven. - -#: You can fine tune the actual contrast curve used for glyph -#: composition by specifying two space separated numbers for this -#: setting. - -#: The first number is the gamma adjustment, which controls the -#: thickness of dark text on light backgrounds. Increasing the value -#: will make text appear thicker. The default value for this is 1.0 on -#: Linux and 1.7 on macOS. Valid values are 0.01 and above. The result -#: is scaled based on the luminance difference between the background -#: and the foreground. Dark text on light backgrounds receives the -#: full impact of the curve while light text on dark backgrounds is -#: affected very little. - -#: The second number is an additional multiplicative contrast. It is -#: percentage ranging from 0 to 100. The default value is 0 on Linux -#: and 30 on macOS. - -#: If you wish to achieve similar looking thickness in light and dark -#: themes, a good way to experiment is start by setting the value to -#: 1.0 0 and use a dark theme. Then adjust the second parameter until -#: it looks good. Then switch to a light theme and adjust the first -#: parameter until the perceived thickness matches the dark theme. - -#: }}} - -#: Cursor customization {{{ - -cursor #D8DEE9 - -#: Default cursor color. If set to the special value none the cursor -#: will be rendered with a "reverse video" effect. It's color will be -#: the color of the text in the cell it is over and the text will be -#: rendered with the background color of the cell. Note that if the -#: program running in the terminal sets a cursor color, this takes -#: precedence. Also, the cursor colors are modified if the cell -#: background and foreground colors have very low contrast. - -cursor_text_color background - -#: The color of text under the cursor. If you want it rendered with -#: the background color of the cell underneath instead, use the -#: special keyword: background. Note that if cursor is set to none -#: then this option is ignored. - -cursor_shape block - -#: The cursor shape can be one of block, beam, underline. Note that -#: when reloading the config this will be changed only if the cursor -#: shape has not been set by the program running in the terminal. This -#: sets the default cursor shape, applications running in the terminal -#: can override it. In particular, shell integration -#: in kitty sets -#: the cursor shape to beam at shell prompts. You can avoid this by -#: setting shell_integration to no-cursor. - -# cursor_beam_thickness 1.5 - -#: The thickness of the beam cursor (in pts). - -# cursor_underline_thickness 2.0 - -#: The thickness of the underline cursor (in pts). - -# cursor_blink_interval -1 - -#: The interval to blink the cursor (in seconds). Set to zero to -#: disable blinking. Negative values mean use system default. Note -#: that the minimum interval will be limited to repaint_delay. - -# cursor_stop_blinking_after 15.0 - -#: Stop blinking cursor after the specified number of seconds of -#: keyboard inactivity. Set to zero to never stop blinking. - -#: }}} - -#: Scrollback {{{ - -# scrollback_lines 2000 - -#: Number of lines of history to keep in memory for scrolling back. -#: Memory is allocated on demand. Negative numbers are (effectively) -#: infinite scrollback. Note that using very large scrollback is not -#: recommended as it can slow down performance of the terminal and -#: also use large amounts of RAM. Instead, consider using -#: scrollback_pager_history_size. Note that on config reload if this -#: is changed it will only affect newly created windows, not existing -#: ones. - -# scrollback_pager less --chop-long-lines --RAW-CONTROL-CHARS +INPUT_LINE_NUMBER - -#: Program with which to view scrollback in a new window. The -#: scrollback buffer is passed as STDIN to this program. If you change -#: it, make sure the program you use can handle ANSI escape sequences -#: for colors and text formatting. INPUT_LINE_NUMBER in the command -#: line above will be replaced by an integer representing which line -#: should be at the top of the screen. Similarly CURSOR_LINE and -#: CURSOR_COLUMN will be replaced by the current cursor position or -#: set to 0 if there is no cursor, for example, when showing the last -#: command output. - -# scrollback_pager_history_size 0 - -#: Separate scrollback history size (in MB), used only for browsing -#: the scrollback buffer with pager. This separate buffer is not -#: available for interactive scrolling but will be piped to the pager -#: program when viewing scrollback buffer in a separate window. The -#: current implementation stores the data in UTF-8, so approximatively -#: 10000 lines per megabyte at 100 chars per line, for pure ASCII, -#: unformatted text. A value of zero or less disables this feature. -#: The maximum allowed size is 4GB. Note that on config reload if this -#: is changed it will only affect newly created windows, not existing -#: ones. - -# scrollback_fill_enlarged_window no - -#: Fill new space with lines from the scrollback buffer after -#: enlarging a window. - -# wheel_scroll_multiplier 5.0 - -#: Multiplier for the number of lines scrolled by the mouse wheel. -#: Note that this is only used for low precision scrolling devices, -#: not for high precision scrolling devices on platforms such as macOS -#: and Wayland. Use negative numbers to change scroll direction. See -#: also wheel_scroll_min_lines. - -# wheel_scroll_min_lines 1 - -#: The minimum number of lines scrolled by the mouse wheel. The scroll -#: multiplier wheel_scroll_multiplier only takes effect after it -#: reaches this number. Note that this is only used for low precision -#: scrolling devices like wheel mice that scroll by very small amounts -#: when using the wheel. With a negative number, the minimum number of -#: lines will always be added. - -# touch_scroll_multiplier 1.0 - -#: Multiplier for the number of lines scrolled by a touchpad. Note -#: that this is only used for high precision scrolling devices on -#: platforms such as macOS and Wayland. Use negative numbers to change -#: scroll direction. - -#: }}} - -#: Mouse {{{ - -# mouse_hide_wait 3.0 - -#: Hide mouse cursor after the specified number of seconds of the -#: mouse not being used. Set to zero to disable mouse cursor hiding. -#: Set to a negative value to hide the mouse cursor immediately when -#: typing text. Disabled by default on macOS as getting it to work -#: robustly with the ever-changing sea of bugs that is Cocoa is too -#: much effort. - -# url_color #0087bd -# url_style curly - -#: The color and style for highlighting URLs on mouse-over. url_style -#: can be one of: none, straight, double, curly, dotted, dashed. - -# open_url_with default - -#: The program to open clicked URLs. The special value default with -#: first look for any URL handlers defined via the open_actions -#: facility and if non -#: are found, it will use the Operating System's default URL handler -#: (open on macOS and xdg-open on Linux). - -# url_prefixes file ftp ftps gemini git gopher http https irc ircs kitty mailto news sftp ssh - -#: The set of URL prefixes to look for when detecting a URL under the -#: mouse cursor. - -# detect_urls yes - -#: Detect URLs under the mouse. Detected URLs are highlighted with an -#: underline and the mouse cursor becomes a hand over them. Even if -#: this option is disabled, URLs are still clickable. - -# url_excluded_characters - -#: Additional characters to be disallowed from URLs, when detecting -#: URLs under the mouse cursor. By default, all characters that are -#: legal in URLs are allowed. Additionally, newlines are allowed (but -#: stripped). This is to accommodate programs such as mutt that add -#: hard line breaks even for continued lines. \n can be added to this -#: option to disable this behavior. Special characters can be -#: specified using backslash escapes, to specify a backslash use a -#: double backslash. - -# show_hyperlink_targets no - -#: When the mouse hovers over a terminal hyperlink, show the actual -#: URL that will be activated when the hyperlink is clicked. - -copy_on_select yes - -#: Copy to clipboard or a private buffer on select. With this set to -#: clipboard, selecting text with the mouse will cause the text to be -#: copied to clipboard. Useful on platforms such as macOS that do not -#: have the concept of primary selection. You can instead specify a -#: name such as a1 to copy to a private kitty buffer. Map a shortcut -#: with the paste_from_buffer action to paste from this private -#: buffer. For example:: - -#: copy_on_select a1 -#: map shift+cmd+v paste_from_buffer a1 - -#: Note that copying to the clipboard is a security risk, as all -#: programs, including websites open in your browser can read the -#: contents of the system clipboard. - -# paste_actions quote-urls-at-prompt - -#: A comma separated list of actions to take when pasting text into -#: the terminal. The supported paste actions are: - -#: quote-urls-at-prompt: -#: If the text being pasted is a URL and the cursor is at a shell prompt, -#: automatically quote the URL (needs shell_integration). -#: confirm: -#: Confirm the paste if bracketed paste mode is not active or there is -#: a large amount of text being pasted. -#: filter: -#: Run the filter_paste() function from the file paste-actions.py in -#: the kitty config directory on the pasted text. The text returned by the -#: function will be actually pasted. - -# strip_trailing_spaces never - -#: Remove spaces at the end of lines when copying to clipboard. A -#: value of smart will do it when using normal selections, but not -#: rectangle selections. A value of always will always do it. - -# select_by_word_characters @-./_~?&=%+# - -#: Characters considered part of a word when double clicking. In -#: addition to these characters any character that is marked as an -#: alphanumeric character in the Unicode database will be matched. - -# select_by_word_characters_forward - -#: Characters considered part of a word when extending the selection -#: forward on double clicking. In addition to these characters any -#: character that is marked as an alphanumeric character in the -#: Unicode database will be matched. - -#: If empty (default) select_by_word_characters will be used for both -#: directions. - -# click_interval -1.0 - -#: The interval between successive clicks to detect double/triple -#: clicks (in seconds). Negative numbers will use the system default -#: instead, if available, or fallback to 0.5. - -# focus_follows_mouse no - -#: Set the active window to the window under the mouse when moving the -#: mouse around. - -# pointer_shape_when_grabbed arrow - -#: The shape of the mouse pointer when the program running in the -#: terminal grabs the mouse. Valid values are: arrow, beam and hand. - -# default_pointer_shape beam - -#: The default shape of the mouse pointer. Valid values are: arrow, -#: beam and hand. - -# pointer_shape_when_dragging beam - -#: The default shape of the mouse pointer when dragging across text. -#: Valid values are: arrow, beam and hand. - -#: Mouse actions {{{ - -#: Mouse buttons can be mapped to perform arbitrary actions. The -#: syntax is: - -#: .. code-block:: none - -#: mouse_map button-name event-type modes action - -#: Where button-name is one of left, middle, right, b1 ... b8 with -#: added keyboard modifiers. For example: ctrl+shift+left refers to -#: holding the Ctrl+Shift keys while clicking with the left mouse -#: button. The value b1 ... b8 can be used to refer to up to eight -#: buttons on a mouse. - -#: event-type is one of press, release, doublepress, triplepress, -#: click, doubleclick. modes indicates whether the action is performed -#: when the mouse is grabbed by the program running in the terminal, -#: or not. The values are grabbed or ungrabbed or a comma separated -#: combination of them. grabbed refers to when the program running in -#: the terminal has requested mouse events. Note that the click and -#: double click events have a delay of click_interval to disambiguate -#: from double and triple presses. - -#: You can run kitty with the kitty --debug-input command line option -#: to see mouse events. See the builtin actions below to get a sense -#: of what is possible. - -#: If you want to unmap an action, map it to no_op. For example, to -#: disable opening of URLs with a plain click:: - -#: mouse_map left click ungrabbed no_op - -#: See all the mappable actions including mouse actions here -#: . - -#: .. note:: -#: Once a selection is started, releasing the button that started it will -#: automatically end it and no release event will be dispatched. - -# clear_all_mouse_actions no - -#: Remove all mouse action definitions up to this point. Useful, for -#: instance, to remove the default mouse actions. - -#: Click the link under the mouse or move the cursor - -# mouse_map left click ungrabbed mouse_handle_click selection link prompt - -#:: First check for a selection and if one exists do nothing. Then -#:: check for a link under the mouse cursor and if one exists, click -#:: it. Finally check if the click happened at the current shell -#:: prompt and if so, move the cursor to the click location. Note -#:: that this requires shell integration -#:: to work. - -#: Click the link under the mouse or move the cursor even when grabbed - -# mouse_map shift+left click grabbed,ungrabbed mouse_handle_click selection link prompt - -#:: Same as above, except that the action is performed even when the -#:: mouse is grabbed by the program running in the terminal. - -#: Click the link under the mouse cursor - -# mouse_map ctrl+shift+left release grabbed,ungrabbed mouse_handle_click link - -#:: Variant with Ctrl+Shift is present because the simple click based -#:: version has an unavoidable delay of click_interval, to -#:: disambiguate clicks from double clicks. - -#: Discard press event for link click - -# mouse_map ctrl+shift+left press grabbed discard_event - -#:: Prevent this press event from being sent to the program that has -#:: grabbed the mouse, as the corresponding release event is used to -#:: open a URL. - -#: Paste from the primary selection - -# mouse_map middle release ungrabbed paste_from_selection - -#: Start selecting text - -# mouse_map left press ungrabbed mouse_selection normal - -#: Start selecting text in a rectangle - -# mouse_map ctrl+alt+left press ungrabbed mouse_selection rectangle - -#: Select a word - -# mouse_map left doublepress ungrabbed mouse_selection word - -#: Select a line - -# mouse_map left triplepress ungrabbed mouse_selection line - -#: Select line from point - -# mouse_map ctrl+alt+left triplepress ungrabbed mouse_selection line_from_point - -#:: Select from the clicked point to the end of the line. - -#: Extend the current selection - -# mouse_map right press ungrabbed mouse_selection extend - -#:: If you want only the end of the selection to be moved instead of -#:: the nearest boundary, use move-end instead of extend. - -#: Paste from the primary selection even when grabbed - -# mouse_map shift+middle release ungrabbed,grabbed paste_selection -# mouse_map shift+middle press grabbed discard_event - -#: Start selecting text even when grabbed - -# mouse_map shift+left press ungrabbed,grabbed mouse_selection normal - -#: Start selecting text in a rectangle even when grabbed - -# mouse_map ctrl+shift+alt+left press ungrabbed,grabbed mouse_selection rectangle - -#: Select a word even when grabbed - -# mouse_map shift+left doublepress ungrabbed,grabbed mouse_selection word - -#: Select a line even when grabbed - -# mouse_map shift+left triplepress ungrabbed,grabbed mouse_selection line - -#: Select line from point even when grabbed - -# mouse_map ctrl+shift+alt+left triplepress ungrabbed,grabbed mouse_selection line_from_point - -#:: Select from the clicked point to the end of the line even when -#:: grabbed. - -#: Extend the current selection even when grabbed - -# mouse_map shift+right press ungrabbed,grabbed mouse_selection extend - -#: Show clicked command output in pager - -# mouse_map ctrl+shift+right press ungrabbed mouse_show_command_output - -#:: Requires shell integration -#:: to work. - -#: }}} - -#: }}} - -#: Performance tuning {{{ - -# repaint_delay 10 - -#: Delay between screen updates (in milliseconds). Decreasing it, -#: increases frames-per-second (FPS) at the cost of more CPU usage. -#: The default value yields ~100 FPS which is more than sufficient for -#: most uses. Note that to actually achieve 100 FPS, you have to -#: either set sync_to_monitor to no or use a monitor with a high -#: refresh rate. Also, to minimize latency when there is pending input -#: to be processed, this option is ignored. - -# input_delay 3 - -#: Delay before input from the program running in the terminal is -#: processed (in milliseconds). Note that decreasing it will increase -#: responsiveness, but also increase CPU usage and might cause flicker -#: in full screen programs that redraw the entire screen on each loop, -#: because kitty is so fast that partial screen updates will be drawn. - -# sync_to_monitor yes - -#: Sync screen updates to the refresh rate of the monitor. This -#: prevents screen tearing -#: when scrolling. -#: However, it limits the rendering speed to the refresh rate of your -#: monitor. With a very high speed mouse/high keyboard repeat rate, -#: you may notice some slight input latency. If so, set this to no. - -#: }}} - -#: Terminal bell {{{ - -# enable_audio_bell yes - -#: The audio bell. Useful to disable it in environments that require -#: silence. - -# visual_bell_duration 0.0 - -#: The visual bell duration (in seconds). Flash the screen when a bell -#: occurs for the specified number of seconds. Set to zero to disable. - -# visual_bell_color none - -#: The color used by visual bell. Set to none will fall back to -#: selection background color. If you feel that the visual bell is too -#: bright, you can set it to a darker color. - -# window_alert_on_bell yes - -#: Request window attention on bell. Makes the dock icon bounce on -#: macOS or the taskbar flash on linux. - -# bell_on_tab "🔔 " - -#: Some text or a Unicode symbol to show on the tab if a window in the -#: tab that does not have focus has a bell. If you want to use leading -#: or trailing spaces, surround the text with quotes. See -#: tab_title_template for how this is rendered. - -#: For backwards compatibility, values of yes, y and true are -#: converted to the default bell symbol and no, n, false and none are -#: converted to the empty string. - -# command_on_bell none - -#: Program to run when a bell occurs. The environment variable -#: KITTY_CHILD_CMDLINE can be used to get the program running in the -#: window in which the bell occurred. - -# bell_path none - -#: Path to a sound file to play as the bell sound. If set to none, the -#: system default bell sound is used. Must be in a format supported by -#: the operating systems sound API, such as WAV or OGA on Linux -#: (libcanberra) or AIFF, MP3 or WAV on macOS (NSSound) - -# linux_bell_theme __custom - -#: The XDG Sound Theme kitty will use to play the bell sound. Defaults -#: to the custom theme name used by GNOME and Budgie, falling back to -#: the default freedesktop theme if it does not exist. This option may -#: be removed if Linux ever provides desktop-agnostic support for -#: setting system sound themes. - -#: }}} - -#: Window layout {{{ - -# remember_window_size yes -# initial_window_width 640 -# initial_window_height 400 - -#: If enabled, the OS Window size will be remembered so that new -#: instances of kitty will have the same size as the previous -#: instance. If disabled, the OS Window will initially have size -#: configured by initial_window_width/height, in pixels. You can use a -#: suffix of "c" on the width/height values to have them interpreted -#: as number of cells instead of pixels. - -# enabled_layouts * - -#: The enabled window layouts. A comma separated list of layout names. -#: The special value all means all layouts. The first listed layout -#: will be used as the startup layout. Default configuration is all -#: layouts in alphabetical order. For a list of available layouts, see -#: the layouts . - -# window_resize_step_cells 2 -# window_resize_step_lines 2 - -#: The step size (in units of cell width/cell height) to use when -#: resizing kitty windows in a layout with the shortcut -#: start_resizing_window. The cells value is used for horizontal -#: resizing, and the lines value is used for vertical resizing. - -# window_border_width 0.5pt - -#: The width of window borders. Can be either in pixels (px) or pts -#: (pt). Values in pts will be rounded to the nearest number of pixels -#: based on screen resolution. If not specified, the unit is assumed -#: to be pts. Note that borders are displayed only when more than one -#: window is visible. They are meant to separate multiple windows. - -# draw_minimal_borders yes - -#: Draw only the minimum borders needed. This means that only the -#: borders that separate the window from a neighbor are drawn. Note -#: that setting a non-zero window_margin_width overrides this and -#: causes all borders to be drawn. - -# window_margin_width 0 - -#: The window margin (in pts) (blank area outside the border). A -#: single value sets all four sides. Two values set the vertical and -#: horizontal sides. Three values set top, horizontal and bottom. Four -#: values set top, right, bottom and left. - -# single_window_margin_width -1 - -#: The window margin to use when only a single window is visible (in -#: pts). Negative values will cause the value of window_margin_width -#: to be used instead. A single value sets all four sides. Two values -#: set the vertical and horizontal sides. Three values set top, -#: horizontal and bottom. Four values set top, right, bottom and left. - -# window_padding_width 0 - -#: The window padding (in pts) (blank area between the text and the -#: window border). A single value sets all four sides. Two values set -#: the vertical and horizontal sides. Three values set top, horizontal -#: and bottom. Four values set top, right, bottom and left. - -# placement_strategy center - -#: When the window size is not an exact multiple of the cell size, the -#: cell area of the terminal window will have some extra padding on -#: the sides. You can control how that padding is distributed with -#: this option. Using a value of center means the cell area will be -#: placed centrally. A value of top-left means the padding will be -#: only at the bottom and right edges. - -# active_border_color #00ff00 - -#: The color for the border of the active window. Set this to none to -#: not draw borders around the active window. - -# inactive_border_color #cccccc - -#: The color for the border of inactive windows. - -# bell_border_color #ff5a00 - -#: The color for the border of inactive windows in which a bell has -#: occurred. - -# inactive_text_alpha 1.0 - -#: Fade the text in inactive windows by the specified amount (a number -#: between zero and one, with zero being fully faded). - -# hide_window_decorations no - -#: Hide the window decorations (title-bar and window borders) with -#: yes. On macOS, titlebar-only can be used to only hide the titlebar. -#: Whether this works and exactly what effect it has depends on the -#: window manager/operating system. Note that the effects of changing -#: this option when reloading config are undefined. - -# window_logo_path none - -#: Path to a logo image. Must be in PNG format. Relative paths are -#: interpreted relative to the kitty config directory. The logo is -#: displayed in a corner of every kitty window. The position is -#: controlled by window_logo_position. Individual windows can be -#: configured to have different logos either using the launch action -#: or the remote control facility. - -# window_logo_position bottom-right - -#: Where to position the window logo in the window. The value can be -#: one of: top-left, top, top-right, left, center, right, bottom-left, -#: bottom, bottom-right. - -# window_logo_alpha 0.5 - -#: The amount the logo should be faded into the background. With zero -#: being fully faded and one being fully opaque. - -# resize_debounce_time 0.1 - -#: The time to wait before redrawing the screen when a resize event is -#: received (in seconds). On platforms such as macOS, where the -#: operating system sends events corresponding to the start and end of -#: a resize, this number is ignored. - -# resize_draw_strategy static - -#: Choose how kitty draws a window while a resize is in progress. A -#: value of static means draw the current window contents, mostly -#: unchanged. A value of scale means draw the current window contents -#: scaled. A value of blank means draw a blank window. A value of size -#: means show the window size in cells. - -# resize_in_steps no - -#: Resize the OS window in steps as large as the cells, instead of -#: with the usual pixel accuracy. Combined with initial_window_width -#: and initial_window_height in number of cells, this option can be -#: used to keep the margins as small as possible when resizing the OS -#: window. Note that this does not currently work on Wayland. - -# visual_window_select_characters 1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ - -#: The list of characters for visual window selection. For example, -#: for selecting a window to focus on with focus_visible_window. The -#: value should be a series of unique numbers or alphabets, case -#: insensitive, from the set [0-9A-Z]. Specify your preference as a -#: string of characters. - -# confirm_os_window_close -1 - -#: Ask for confirmation when closing an OS window or a tab with at -#: least this number of kitty windows in it by window manager (e.g. -#: clicking the window close button or pressing the operating system -#: shortcut to close windows) or by the close_tab action. A value of -#: zero disables confirmation. This confirmation also applies to -#: requests to quit the entire application (all OS windows, via the -#: quit action). Negative values are converted to positive ones, -#: however, with shell_integration enabled, using negative values -#: means windows sitting at a shell prompt are not counted, only -#: windows where some command is currently running. Note that if you -#: want confirmation when closing individual windows, you can map the -#: close_window_with_confirmation action. - -#: }}} - -#: Tab bar {{{ - -# tab_bar_edge bottom - -#: The edge to show the tab bar on, top or bottom. - -# tab_bar_margin_width 0.0 - -#: The margin to the left and right of the tab bar (in pts). - -# tab_bar_margin_height 0.0 0.0 - -#: The margin above and below the tab bar (in pts). The first number -#: is the margin between the edge of the OS Window and the tab bar. -#: The second number is the margin between the tab bar and the -#: contents of the current tab. - -# tab_bar_style fade - -#: The tab bar style, can be one of: - -#: fade -#: Each tab's edges fade into the background color. (See also tab_fade) -#: slant -#: Tabs look like the tabs in a physical file. -#: separator -#: Tabs are separated by a configurable separator. (See also -#: tab_separator) -#: powerline -#: Tabs are shown as a continuous line with "fancy" separators. -#: (See also tab_powerline_style) -#: custom -#: A user-supplied Python function called draw_tab is loaded from the file -#: tab_bar.py in the kitty config directory. For examples of how to -#: write such a function, see the functions named draw_tab_with_* in -#: kitty's source code: kitty/tab_bar.py. See also -#: this discussion -#: for examples from kitty users. -#: hidden -#: The tab bar is hidden. If you use this, you might want to create -#: a mapping for the select_tab action which presents you with a list of -#: tabs and allows for easy switching to a tab. - -# tab_bar_align left - -#: The horizontal alignment of the tab bar, can be one of: left, -#: center, right. - -# tab_bar_min_tabs 2 - -#: The minimum number of tabs that must exist before the tab bar is -#: shown. - -# tab_switch_strategy previous - -#: The algorithm to use when switching to a tab when the current tab -#: is closed. The default of previous will switch to the last used -#: tab. A value of left will switch to the tab to the left of the -#: closed tab. A value of right will switch to the tab to the right of -#: the closed tab. A value of last will switch to the right-most tab. - -# tab_fade 0.25 0.5 0.75 1 - -#: Control how each tab fades into the background when using fade for -#: the tab_bar_style. Each number is an alpha (between zero and one) -#: that controls how much the corresponding cell fades into the -#: background, with zero being no fade and one being full fade. You -#: can change the number of cells used by adding/removing entries to -#: this list. - -# tab_separator " ┇" - -#: The separator between tabs in the tab bar when using separator as -#: the tab_bar_style. - -# tab_powerline_style angled - -#: The powerline separator style between tabs in the tab bar when -#: using powerline as the tab_bar_style, can be one of: angled, -#: slanted, round. - -# tab_activity_symbol none - -#: Some text or a Unicode symbol to show on the tab if a window in the -#: tab that does not have focus has some activity. If you want to use -#: leading or trailing spaces, surround the text with quotes. See -#: tab_title_template for how this is rendered. - -# tab_title_max_length 0 - -#: The maximum number of cells that can be used to render the text in -#: a tab. A value of zero means that no limit is applied. - -# tab_title_template "{fmt.fg.red}{bell_symbol}{activity_symbol}{fmt.fg.tab}{title}" - -#: A template to render the tab title. The default just renders the -#: title with optional symbols for bell and activity. If you wish to -#: include the tab-index as well, use something like: {index}:{title}. -#: Useful if you have shortcuts mapped for goto_tab N. If you prefer -#: to see the index as a superscript, use {sup.index}. All data -#: available is: - -#: title -#: The current tab title. -#: index -#: The tab index useable with goto_tab N goto_tab shortcuts. -#: layout_name -#: The current layout name. -#: num_windows -#: The number of windows in the tab. -#: num_window_groups -#: The number of window groups (not counting overlay windows) in the tab. -#: tab.active_wd -#: The working directory of the currently active window in the tab -#: (expensive, requires syscall). Use active_oldest_wd to get -#: the directory of the oldest foreground process rather than the newest. -#: tab.active_exe -#: The name of the executable running in the foreground of the currently -#: active window in the tab (expensive, requires syscall). Use -#: active_oldest_exe for the oldest foreground process. -#: max_title_length -#: The maximum title length available. - -#: Note that formatting is done by Python's string formatting -#: machinery, so you can use, for instance, {layout_name[:2].upper()} -#: to show only the first two letters of the layout name, upper-cased. -#: If you want to style the text, you can use styling directives, for -#: example: -#: `{fmt.fg.red}red{fmt.fg.tab}normal{fmt.bg._00FF00}greenbg{fmt.bg.tab}`. -#: Similarly, for bold and italic: -#: `{fmt.bold}bold{fmt.nobold}normal{fmt.italic}italic{fmt.noitalic}`. -#: Note that for backward compatibility, if {bell_symbol} or -#: {activity_symbol} are not present in the template, they are -#: prepended to it. - -# active_tab_title_template none - -#: Template to use for active tabs. If not specified falls back to -#: tab_title_template. - -# active_tab_foreground #000 -# active_tab_background #eee -# active_tab_font_style bold-italic -# inactive_tab_foreground #444 -# inactive_tab_background #999 -# inactive_tab_font_style normal - -#: Tab bar colors and styles. - -# tab_bar_background none - -#: Background color for the tab bar. Defaults to using the terminal -#: background color. - -# tab_bar_margin_color none - -#: Color for the tab bar margin area. Defaults to using the terminal -#: background color for margins above and below the tab bar. For side -#: margins the default color is chosen to match the background color -#: of the neighboring tab. - -#: }}} - -#: Color scheme {{{ - -foreground #D8DEE9 -background #3B4252 -#: The foreground and background colors. - -background_opacity 0.95 - -#: The opacity of the background. A number between zero and one, where -#: one is opaque and zero is fully transparent. This will only work if -#: supported by the OS (for instance, when using a compositor under -#: X11). Note that it only sets the background color's opacity in -#: cells that have the same background color as the default terminal -#: background, so that things like the status bar in vim, powerline -#: prompts, etc. still look good. But it means that if you use a color -#: theme with a background color in your editor, it will not be -#: rendered as transparent. Instead you should change the default -#: background color in your kitty config and not use a background -#: color in the editor color scheme. Or use the escape codes to set -#: the terminals default colors in a shell script to launch your -#: editor. Be aware that using a value less than 1.0 is a (possibly -#: significant) performance hit. If you want to dynamically change -#: transparency of windows, set dynamic_background_opacity to yes -#: (this is off by default as it has a performance cost). Changing -#: this option when reloading the config will only work if -#: dynamic_background_opacity was enabled in the original config. - -# background_image none - -#: Path to a background image. Must be in PNG format. - -# background_image_layout tiled - -#: Whether to tile, scale or clamp the background image. The value can -#: be one of tiled, mirror-tiled, scaled, clamped or centered. - -# background_image_linear no - -#: When background image is scaled, whether linear interpolation -#: should be used. - -# dynamic_background_opacity no - -#: Allow changing of the background_opacity dynamically, using either -#: keyboard shortcuts (increase_background_opacity and -#: decrease_background_opacity) or the remote control facility. -#: Changing this option by reloading the config is not supported. - -# background_tint 0.0 - -#: How much to tint the background image by the background color. This -#: option makes it easier to read the text. Tinting is done using the -#: current background color for each window. This option applies only -#: if background_opacity is set and transparent windows are supported -#: or background_image is set. - -# background_tint_gaps 1.0 - -#: How much to tint the background image at the window gaps by the -#: background color, after applying background_tint. Since this is -#: multiplicative with background_tint, it can be used to lighten the -#: tint over the window gaps for a *separated* look. - -# dim_opacity 0.75 - -#: How much to dim text that has the DIM/FAINT attribute set. One -#: means no dimming and zero means fully dimmed (i.e. invisible). - -selection_foreground #4C566A -selection_background #ECEFF4 - -#: The foreground and background colors for text selected with the -#: mouse. Setting both of these to none will cause a "reverse video" -#: effect for selections, where the selection will be the cell text -#: color and the text will become the cell background color. Setting -#: only selection_foreground to none will cause the foreground color -#: to be used unchanged. Note that these colors can be overridden by -#: the program running in the terminal. - -#: The color table {{{ - -#: The 256 terminal colors. There are 8 basic colors, each color has a -#: dull and bright version, for the first 16 colors. You can set the -#: remaining 240 colors as color16 to color255. - -color0 #404552 -color8 #D8DEE9 -#: black - -color1 #BF616A -color9 #BF616A -#: red - -color2 #A3BE8C -color10 #A3BE8C -#: green - -color3 #EBCB8B -color11 #EBCB8B -#: yellow - -color4 #81A1C1 -color12 #81A1C1 -#: blue - -color5 #B48EAD -color13 #B48EAD -#: magenta - -color6 #8FBDBB -color14 #8FBDBB -#: cyan - -color7 #ECEFF4 -color15 #ECEFF4 -#: white - -# mark1_foreground black - -#: Color for marks of type 1 - -# mark1_background #98d3cb - -#: Color for marks of type 1 (light steel blue) - -# mark2_foreground black - -#: Color for marks of type 2 - -# mark2_background #f2dcd3 - -#: Color for marks of type 1 (beige) - -# mark3_foreground black - -#: Color for marks of type 3 - -# mark3_background #f274bc - -#: Color for marks of type 3 (violet) - -#: }}} - -#: }}} - -#: Advanced {{{ - -# shell . - -#: The shell program to execute. The default value of . means to use -#: whatever shell is set as the default shell for the current user. -#: Note that on macOS if you change this, you might need to add -#: --login and --interactive to ensure that the shell starts in -#: interactive mode and reads its startup rc files. - -editor helix - -#: The terminal based text editor (such as vim or nano) to use when -#: editing the kitty config file or similar tasks. - -#: The default value of . means to use the environment variables -#: VISUAL and EDITOR in that order. If these variables aren't set, -#: kitty will run your shell ($SHELL -l -i -c env) to see if your -#: shell startup rc files set VISUAL or EDITOR. If that doesn't work, -#: kitty will cycle through various known editors (vim, emacs, etc.) -#: and take the first one that exists on your system. - -# close_on_child_death no - -#: Close the window when the child process (shell) exits. With the -#: default value no, the terminal will remain open when the child -#: exits as long as there are still processes outputting to the -#: terminal (for example disowned or backgrounded processes). When -#: enabled with yes, the window will close as soon as the child -#: process exits. Note that setting it to yes means that any -#: background processes still using the terminal can fail silently -#: because their stdout/stderr/stdin no longer work. - -# remote_control_password - -#: Allow other programs to control kitty using passwords. This option -#: can be specified multiple times to add multiple passwords. If no -#: passwords are present kitty will ask the user for permission if a -#: program tries to use remote control with a password. A password can -#: also *optionally* be associated with a set of allowed remote -#: control actions. For example:: - -#: remote_control_password "my passphrase" get-colors set-colors focus-window focus-tab - -#: Only the specified actions will be allowed when using this -#: password. Glob patterns can be used too, for example:: - -#: remote_control_password "my passphrase" set-tab-* resize-* - -#: To get a list of available actions, run:: - -#: kitty @ --help - -#: A set of actions to be allowed when no password is sent can be -#: specified by using an empty password. For example:: - -#: remote_control_password "" *-colors - -#: Finally, the path to a python module can be specified that provides -#: a function is_cmd_allowed that is used to check every remote -#: control command. For example:: - -#: remote_control_password "my passphrase" my_rc_command_checker.py - -#: Relative paths are resolved from the kitty configuration directory. -#: See rc_custom_auth for details. - -# allow_remote_control no - -#: Allow other programs to control kitty. If you turn this on, other -#: programs can control all aspects of kitty, including sending text -#: to kitty windows, opening new windows, closing windows, reading the -#: content of windows, etc. Note that this even works over SSH -#: connections. The default setting of no prevents any form of remote -#: control. The meaning of the various values are: - -#: password -#: Remote control requests received over both the TTY device and the socket -#: are confirmed based on passwords, see remote_control_password. - -#: socket-only -#: Remote control requests received over a socket are accepted -#: unconditionally. Requests received over the TTY are denied. -#: See listen_on. - -#: socket -#: Remote control requests received over a socket are accepted -#: unconditionally. Requests received over the TTY are confirmed based on -#: password. - -#: no -#: Remote control is completely disabled. - -#: yes -#: Remote control requests are always accepted. - -# listen_on none - -#: Listen to the specified UNIX socket for remote control connections. -#: Note that this will apply to all kitty instances. It can be -#: overridden by the kitty --listen-on command line option, which also -#: supports listening on a TCP socket. This option accepts only UNIX -#: sockets, such as unix:${TEMP}/mykitty or unix:@mykitty (on Linux). -#: Environment variables are expanded and relative paths are resolved -#: with respect to the temporary directory. If {kitty_pid} is present, -#: then it is replaced by the PID of the kitty process, otherwise the -#: PID of the kitty process is appended to the value, with a hyphen. -#: See the help for kitty --listen-on for more details. Note that this -#: will be ignored unless allow_remote_control is set to either: yes, -#: socket or socket-only. Changing this option by reloading the config -#: is not supported. - -# env - -#: Specify the environment variables to be set in all child processes. -#: Using the name with an equal sign (e.g. env VAR=) will set it to -#: the empty string. Specifying only the name (e.g. env VAR) will -#: remove the variable from the child process' environment. Note that -#: environment variables are expanded recursively, for example:: - -#: env VAR1=a -#: env VAR2=${HOME}/${VAR1}/b - -#: The value of VAR2 will be /a/b. - -# watcher - -#: Path to python file which will be loaded for watchers -#: . Can be -#: specified more than once to load multiple watchers. The watchers -#: will be added to every kitty window. Relative paths are resolved -#: relative to the kitty config directory. Note that reloading the -#: config will only affect windows created after the reload. - -# exe_search_path - -#: Control where kitty finds the programs to run. The default search -#: order is: First search the system wide PATH, then ~/.local/bin and -#: ~/bin. If still not found, the PATH defined in the login shell -#: after sourcing all its startup files is tried. Finally, if present, -#: the PATH specified by the env option is tried. - -#: This option allows you to prepend, append, or remove paths from -#: this search order. It can be specified multiple times for multiple -#: paths. A simple path will be prepended to the search order. A path -#: that starts with the + sign will be append to the search order, -#: after ~/bin above. A path that starts with the - sign will be -#: removed from the entire search order. For example:: - -#: exe_search_path /some/prepended/path -#: exe_search_path +/some/appended/path -#: exe_search_path -/some/excluded/path - -# update_check_interval 24 - -#: The interval to periodically check if an update to kitty is -#: available (in hours). If an update is found, a system notification -#: is displayed informing you of the available update. The default is -#: to check every 24 hours, set to zero to disable. Update checking is -#: only done by the official binary builds. Distro packages or source -#: builds do not do update checking. Changing this option by reloading -#: the config is not supported. - -# startup_session none - -#: Path to a session file to use for all kitty instances. Can be -#: overridden by using the kitty --session =none command line option -#: for individual instances. See sessions -#: in the kitty -#: documentation for details. Note that relative paths are interpreted -#: with respect to the kitty config directory. Environment variables -#: in the path are expanded. Changing this option by reloading the -#: config is not supported. - -# clipboard_control write-clipboard write-primary read-clipboard-ask read-primary-ask - -#: Allow programs running in kitty to read and write from the -#: clipboard. You can control exactly which actions are allowed. The -#: possible actions are: write-clipboard, read-clipboard, write- -#: primary, read-primary, read-clipboard-ask, read-primary-ask. The -#: default is to allow writing to the clipboard and primary selection -#: and to ask for permission when a program tries to read from the -#: clipboard. Note that disabling the read confirmation is a security -#: risk as it means that any program, even the ones running on a -#: remote server via SSH can read your clipboard. See also -#: clipboard_max_size. - -# clipboard_max_size 512 - -#: The maximum size (in MB) of data from programs running in kitty -#: that will be stored for writing to the system clipboard. A value of -#: zero means no size limit is applied. See also clipboard_control. - -# file_transfer_confirmation_bypass - -#: The password that can be supplied to the file transfer kitten -#: to skip the -#: transfer confirmation prompt. This should only be used when -#: initiating transfers from trusted computers, over trusted networks -#: or encrypted transports, as it allows any programs running on the -#: remote machine to read/write to the local filesystem, without -#: permission. - -# allow_hyperlinks yes - -#: Process hyperlink escape sequences (OSC 8). If disabled OSC 8 -#: escape sequences are ignored. Otherwise they become clickable -#: links, that you can click with the mouse or by using the hints -#: kitten . The -#: special value of ask means that kitty will ask before opening the -#: link when clicked. - -# shell_integration enabled - -#: Enable shell integration on supported shells. This enables features -#: such as jumping to previous prompts, browsing the output of the -#: previous command in a pager, etc. on supported shells. Set to -#: disabled to turn off shell integration, completely. It is also -#: possible to disable individual features, set to a space separated -#: list of these values: no-rc, no-cursor, no-title, no-cwd, no- -#: prompt-mark, no-complete. See Shell integration -#: for details. - -# allow_cloning ask - -#: Control whether programs running in the terminal can request new -#: windows to be created. The canonical example is clone-in-kitty -#: . -#: By default, kitty will ask for permission for each clone request. -#: Allowing cloning unconditionally gives programs running in the -#: terminal (including over SSH) permission to execute arbitrary code, -#: as the user who is running the terminal, on the computer that the -#: terminal is running on. - -# clone_source_strategies venv,conda,env_var,path - -#: Control what shell code is sourced when running clone-in-kitty in -#: the newly cloned window. The supported strategies are: - -#: venv -#: Source the file $VIRTUAL_ENV/bin/activate. This is used by the -#: Python stdlib venv module and allows cloning venvs automatically. -#: conda -#: Run conda activate $CONDA_DEFAULT_ENV. This supports the virtual -#: environments created by conda. -#: env_var -#: Execute the contents of the environment variable -#: KITTY_CLONE_SOURCE_CODE with eval. -#: path -#: Source the file pointed to by the environment variable -#: KITTY_CLONE_SOURCE_PATH. - -#: This option must be a comma separated list of the above values. -#: This only source the first valid one in the above order. - -# term xterm-kitty - -#: The value of the TERM environment variable to set. Changing this -#: can break many terminal programs, only change it if you know what -#: you are doing, not because you read some advice on "Stack Overflow" -#: to change it. The TERM variable is used by various programs to get -#: information about the capabilities and behavior of the terminal. If -#: you change it, depending on what programs you run, and how -#: different the terminal you are changing it to is, various things -#: from key-presses, to colors, to various advanced features may not -#: work. Changing this option by reloading the config will only affect -#: newly created windows. - -#: }}} - -#: OS specific tweaks {{{ - -# wayland_titlebar_color system - -#: The color of the kitty window's titlebar on Wayland systems with -#: client side window decorations such as GNOME. A value of system -#: means to use the default system color, a value of background means -#: to use the background color of the currently active window and -#: finally you can use an arbitrary color, such as #12af59 or red. - -# macos_titlebar_color system - -#: The color of the kitty window's titlebar on macOS. A value of -#: system means to use the default system color, light or dark can -#: also be used to set it explicitly. A value of background means to -#: use the background color of the currently active window and finally -#: you can use an arbitrary color, such as #12af59 or red. WARNING: -#: This option works by using a hack when arbitrary color (or -#: background) is configured, as there is no proper Cocoa API for it. -#: It sets the background color of the entire window and makes the -#: titlebar transparent. As such it is incompatible with -#: background_opacity. If you want to use both, you are probably -#: better off just hiding the titlebar with hide_window_decorations. - -# macos_option_as_alt no - -#: Use the Option key as an Alt key on macOS. With this set to no, -#: kitty will use the macOS native Option+Key to enter Unicode -#: character behavior. This will break any Alt+Key keyboard shortcuts -#: in your terminal programs, but you can use the macOS Unicode input -#: technique. You can use the values: left, right or both to use only -#: the left, right or both Option keys as Alt, instead. Note that -#: kitty itself always treats Option the same as Alt. This means you -#: cannot use this option to configure different kitty shortcuts for -#: Option+Key vs. Alt+Key. Also, any kitty shortcuts using -#: Option/Alt+Key will take priority, so that any such key presses -#: will not be passed to terminal programs running inside kitty. -#: Changing this option by reloading the config is not supported. - -# macos_hide_from_tasks no - -#: Hide the kitty window from running tasks on macOS (⌘+Tab and the -#: Dock). Changing this option by reloading the config is not -#: supported. - -# macos_quit_when_last_window_closed no - -#: Have kitty quit when all the top-level windows are closed on macOS. -#: By default, kitty will stay running, even with no open windows, as -#: is the expected behavior on macOS. - -# macos_window_resizable yes - -#: Disable this if you want kitty top-level OS windows to not be -#: resizable on macOS. Changing this option by reloading the config -#: will only affect newly created OS windows. - -# macos_thicken_font 0 - -#: Draw an extra border around the font with the given width, to -#: increase legibility at small font sizes on macOS. For example, a -#: value of 0.75 will result in rendering that looks similar to sub- -#: pixel antialiasing at common font sizes. Note that in modern kitty, -#: this option is obsolete (although still supported). Consider using -#: text_composition_strategy instead. - -# macos_traditional_fullscreen no - -#: Use the macOS traditional full-screen transition, that is faster, -#: but less pretty. - -# macos_show_window_title_in all - -#: Control where the window title is displayed on macOS. A value of -#: window will show the title of the currently active window at the -#: top of the macOS window. A value of menubar will show the title of -#: the currently active window in the macOS global menu bar, making -#: use of otherwise wasted space. A value of all will show the title -#: in both places, and none hides the title. See -#: macos_menubar_title_max_length for how to control the length of the -#: title in the menu bar. - -# macos_menubar_title_max_length 0 - -#: The maximum number of characters from the window title to show in -#: the macOS global menu bar. Values less than one means that there is -#: no maximum limit. - -# macos_custom_beam_cursor no - -#: Use a custom mouse cursor for macOS that is easier to see on both -#: light and dark backgrounds. Nowadays, the default macOS cursor -#: already comes with a white border. WARNING: this might make your -#: mouse cursor invisible on dual GPU machines. Changing this option -#: by reloading the config is not supported. - -# macos_colorspace srgb - -#: The colorspace in which to interpret terminal colors. The default -#: of srgb will cause colors to match those seen in web browsers. The -#: value of default will use whatever the native colorspace of the -#: display is. The value of displayp3 will use Apple's special -#: snowflake display P3 color space, which will result in over -#: saturated (brighter) colors with some color shift. Reloading -#: configuration will change this value only for newly created OS -#: windows. - -# linux_display_server auto - -#: Choose between Wayland and X11 backends. By default, an appropriate -#: backend based on the system state is chosen automatically. Set it -#: to x11 or wayland to force the choice. Changing this option by -#: reloading the config is not supported. - -#: }}} - -#: Keyboard shortcuts {{{ - -#: Keys are identified simply by their lowercase Unicode characters. -#: For example: a for the A key, [ for the left square bracket key, -#: etc. For functional keys, such as Enter or Escape, the names are -#: present at Functional key definitions -#: . -#: For modifier keys, the names are ctrl (control, ⌃), shift (⇧), alt -#: (opt, option, ⌥), super (cmd, command, ⌘). See also: GLFW mods -#: - -#: On Linux you can also use XKB key names to bind keys that are not -#: supported by GLFW. See XKB keys -#: for a list of key names. The name to use is the part -#: after the XKB_KEY_ prefix. Note that you can only use an XKB key -#: name for keys that are not known as GLFW keys. - -#: Finally, you can use raw system key codes to map keys, again only -#: for keys that are not known as GLFW keys. To see the system key -#: code for a key, start kitty with the kitty --debug-input option, -#: kitty will output some debug text for every key event. In that text -#: look for native_code, the value of that becomes the key name in the -#: shortcut. For example: - -#: .. code-block:: none - -#: on_key_input: glfw key: 0x61 native_code: 0x61 action: PRESS mods: none text: 'a' - -#: Here, the key name for the A key is 0x61 and you can use it with:: - -#: map ctrl+0x61 something - -#: to map Ctrl+A to something. - -#: You can use the special action no_op to unmap a keyboard shortcut -#: that is assigned in the default configuration:: - -#: map kitty_mod+space no_op - -#: If you would like kitty to completely ignore a key event, not even -#: sending it to the program running in the terminal, map it to -#: discard_event:: - -#: map kitty_mod+f1 discard_event - -#: You can combine multiple actions to be triggered by a single -#: shortcut with combine action, using the syntax below:: - -#: map key combine action1 action2 action3 ... - -#: For example:: - -#: map kitty_mod+e combine : new_window : next_layout - -#: This will create a new window and switch to the next available -#: layout. - -#: You can use multi-key shortcuts with the syntax shown below:: - -#: map key1>key2>key3 action - -#: For example:: - -#: map ctrl+f>2 set_font_size 20 - -#: The full list of actions that can be mapped to key presses is -#: available here . - -# kitty_mod ctrl+shift - -#: Special modifier key alias for default shortcuts. You can change -#: the value of this option to alter all default shortcuts that use -#: kitty_mod. - -# clear_all_shortcuts no - -#: Remove all shortcut definitions up to this point. Useful, for -#: instance, to remove the default shortcuts. - -# action_alias - -#: E.g. action_alias launch_tab launch --type=tab --cwd=current - -#: Define action aliases to avoid repeating the same options in -#: multiple mappings. Aliases can be defined for any action and will -#: be expanded recursively. For example, the above alias allows you to -#: create mappings to launch a new tab in the current working -#: directory without duplication:: - -#: map f1 launch_tab vim -#: map f2 launch_tab emacs - -#: Similarly, to alias kitten invocation:: - -#: action_alias hints kitten hints --hints-offset=0 - -# kitten_alias - -#: E.g. kitten_alias hints hints --hints-offset=0 - -#: Like action_alias above, but specifically for kittens. Generally, -#: prefer to use action_alias. This option is a legacy version, -#: present for backwards compatibility. It causes all invocations of -#: the aliased kitten to be substituted. So the example above will -#: cause all invocations of the hints kitten to have the --hints- -#: offset=0 option applied. - -#: Clipboard {{{ - -#: Copy to clipboard - -# map kitty_mod+c copy_to_clipboard -# map cmd+c copy_to_clipboard - -#:: There is also a copy_or_interrupt action that can be optionally -#:: mapped to Ctrl+C. It will copy only if there is a selection and -#:: send an interrupt otherwise. Similarly, -#:: copy_and_clear_or_interrupt will copy and clear the selection or -#:: send an interrupt if there is no selection. - -#: Paste from clipboard - -# map kitty_mod+v paste_from_clipboard -# map cmd+v paste_from_clipboard - -#: Paste from selection - -# map kitty_mod+s paste_from_selection -# map shift+insert paste_from_selection - -#: Pass selection to program - -# map kitty_mod+o pass_selection_to_program - -#:: You can also pass the contents of the current selection to any -#:: program with pass_selection_to_program. By default, the system's -#:: open program is used, but you can specify your own, the selection -#:: will be passed as a command line argument to the program. For -#:: example:: - -#:: map kitty_mod+o pass_selection_to_program firefox - -#:: You can pass the current selection to a terminal program running -#:: in a new kitty window, by using the @selection placeholder:: - -#:: map kitty_mod+y new_window less @selection - -#: }}} - -#: Scrolling {{{ - -#: Scroll line up - -# map kitty_mod+up scroll_line_up -# map kitty_mod+k scroll_line_up -# map opt+cmd+page_up scroll_line_up -# map cmd+up scroll_line_up - -#: Scroll line down - -# map kitty_mod+down scroll_line_down -# map kitty_mod+j scroll_line_down -# map opt+cmd+page_down scroll_line_down -# map cmd+down scroll_line_down - -#: Scroll page up - -# map kitty_mod+page_up scroll_page_up -# map cmd+page_up scroll_page_up - -#: Scroll page down - -# map kitty_mod+page_down scroll_page_down -# map cmd+page_down scroll_page_down - -#: Scroll to top - -# map kitty_mod+home scroll_home -# map cmd+home scroll_home - -#: Scroll to bottom - -# map kitty_mod+end scroll_end -# map cmd+end scroll_end - -#: Scroll to previous shell prompt - -# map kitty_mod+z scroll_to_prompt -1 - -#:: Use a parameter of 0 for scroll_to_prompt to scroll to the last -#:: jumped to or the last clicked position. Requires shell -#:: integration -#:: to work. - -#: Scroll to next shell prompt - -# map kitty_mod+x scroll_to_prompt 1 - -#: Browse scrollback buffer in pager - -# map kitty_mod+h show_scrollback - -#:: You can pipe the contents of the current screen and history -#:: buffer as STDIN to an arbitrary program using launch --stdin- -#:: source. For example, the following opens the scrollback buffer in -#:: less in an overlay window:: - -#:: map f1 launch --stdin-source=@screen_scrollback --stdin-add-formatting --type=overlay less +G -R - -#:: For more details on piping screen and buffer contents to external -#:: programs, see launch . - -#: Browse output of the last shell command in pager - -# map kitty_mod+g show_last_command_output - -#:: You can also define additional shortcuts to get the command -#:: output. For example, to get the first command output on screen:: - -#:: map f1 show_first_command_output_on_screen - -#:: To get the command output that was last accessed by a keyboard -#:: action or mouse action:: - -#:: map f1 show_last_visited_command_output - -#:: You can pipe the output of the last command run in the shell -#:: using the launch action. For example, the following opens the -#:: output in less in an overlay window:: - -#:: map f1 launch --stdin-source=@last_cmd_output --stdin-add-formatting --type=overlay less +G -R - -#:: To get the output of the first command on the screen, use -#:: @first_cmd_output_on_screen. To get the output of the last jumped -#:: to command, use @last_visited_cmd_output. - -#:: Requires shell integration -#:: to work. - -#: }}} - -#: Window management {{{ - -#: New window - -# map kitty_mod+enter new_window -# map cmd+enter new_window - -#:: You can open a new kitty window running an arbitrary program, for -#:: example:: - -#:: map kitty_mod+y launch mutt - -#:: You can open a new window with the current working directory set -#:: to the working directory of the current window using:: - -#:: map ctrl+alt+enter launch --cwd=current - -#:: You can open a new window that is allowed to control kitty via -#:: the kitty remote control facility with launch --allow-remote- -#:: control. Any programs running in that window will be allowed to -#:: control kitty. For example:: - -#:: map ctrl+enter launch --allow-remote-control some_program - -#:: You can open a new window next to the currently active window or -#:: as the first window, with:: - -#:: map ctrl+n launch --location=neighbor -#:: map ctrl+f launch --location=first - -#:: For more details, see launch -#:: . - -#: New OS window - -# map kitty_mod+n new_os_window -# map cmd+n new_os_window - -#:: Works like new_window above, except that it opens a top-level OS -#:: window. In particular you can use new_os_window_with_cwd to open -#:: a window with the current working directory. - -#: Close window - -# map kitty_mod+w close_window -# map shift+cmd+d close_window - -#: Next window - -# map kitty_mod+] next_window - -#: Previous window - -# map kitty_mod+[ previous_window - -#: Move window forward - -# map kitty_mod+f move_window_forward - -#: Move window backward - -# map kitty_mod+b move_window_backward - -#: Move window to top - -# map kitty_mod+` move_window_to_top - -#: Start resizing window - -# map kitty_mod+r start_resizing_window -# map cmd+r start_resizing_window - -#: First window - -# map kitty_mod+1 first_window -# map cmd+1 first_window - -#: Second window - -# map kitty_mod+2 second_window -# map cmd+2 second_window - -#: Third window - -# map kitty_mod+3 third_window -# map cmd+3 third_window - -#: Fourth window - -# map kitty_mod+4 fourth_window -# map cmd+4 fourth_window - -#: Fifth window - -# map kitty_mod+5 fifth_window -# map cmd+5 fifth_window - -#: Sixth window - -# map kitty_mod+6 sixth_window -# map cmd+6 sixth_window - -#: Seventh window - -# map kitty_mod+7 seventh_window -# map cmd+7 seventh_window - -#: Eight window - -# map kitty_mod+8 eighth_window -# map cmd+8 eighth_window - -#: Ninth window - -# map kitty_mod+9 ninth_window -# map cmd+9 ninth_window - -#: Tenth window - -# map kitty_mod+0 tenth_window - -#: Visually select and focus window - -# map kitty_mod+f7 focus_visible_window - -#:: Display overlay numbers and alphabets on the window, and switch -#:: the focus to the window when you press the key. When there are -#:: only two windows, the focus will be switched directly without -#:: displaying the overlay. You can change the overlay characters and -#:: their order with option visual_window_select_characters. - -#: Visually swap window with another - -# map kitty_mod+f8 swap_with_window - -#:: Works like focus_visible_window above, but swaps the window. - -#: }}} - -#: Tab management {{{ - -#: Next tab - -# map kitty_mod+right next_tab -# map shift+cmd+] next_tab -# map ctrl+tab next_tab - -#: Previous tab - -# map kitty_mod+left previous_tab -# map shift+cmd+[ previous_tab -# map ctrl+shift+tab previous_tab - -#: New tab - -# map kitty_mod+t new_tab -# map cmd+t new_tab - -#: Close tab - -# map kitty_mod+q close_tab -# map cmd+w close_tab - -#: Close OS window - -# map shift+cmd+w close_os_window - -#: Move tab forward - -# map kitty_mod+. move_tab_forward - -#: Move tab backward - -# map kitty_mod+, move_tab_backward - -#: Set tab title - -# map kitty_mod+alt+t set_tab_title -# map shift+cmd+i set_tab_title - - -#: You can also create shortcuts to go to specific tabs, with 1 being -#: the first tab, 2 the second tab and -1 being the previously active -#: tab, and any number larger than the last tab being the last tab:: - -#: map ctrl+alt+1 goto_tab 1 -#: map ctrl+alt+2 goto_tab 2 - -#: Just as with new_window above, you can also pass the name of -#: arbitrary commands to run when using new_tab and new_tab_with_cwd. -#: Finally, if you want the new tab to open next to the current tab -#: rather than at the end of the tabs list, use:: - -#: map ctrl+t new_tab !neighbor [optional cmd to run] -#: }}} - -#: Layout management {{{ - -#: Next layout - -# map kitty_mod+l next_layout - - -#: You can also create shortcuts to switch to specific layouts:: - -#: map ctrl+alt+t goto_layout tall -#: map ctrl+alt+s goto_layout stack - -#: Similarly, to switch back to the previous layout:: - -#: map ctrl+alt+p last_used_layout - -#: There is also a toggle_layout action that switches to the named -#: layout or back to the previous layout if in the named layout. -#: Useful to temporarily "zoom" the active window by switching to the -#: stack layout:: - -#: map ctrl+alt+z toggle_layout stack -#: }}} - -#: Font sizes {{{ - -#: You can change the font size for all top-level kitty OS windows at -#: a time or only the current one. - -#: Increase font size - -# map kitty_mod+equal change_font_size all +2.0 -# map kitty_mod+plus change_font_size all +2.0 -# map kitty_mod+kp_add change_font_size all +2.0 -# map cmd+plus change_font_size all +2.0 -# map cmd+equal change_font_size all +2.0 -# map shift+cmd+equal change_font_size all +2.0 - -#: Decrease font size - -# map kitty_mod+minus change_font_size all -2.0 -# map kitty_mod+kp_subtract change_font_size all -2.0 -# map cmd+minus change_font_size all -2.0 -# map shift+cmd+minus change_font_size all -2.0 - -#: Reset font size - -# map kitty_mod+backspace change_font_size all 0 -# map cmd+0 change_font_size all 0 - - -#: To setup shortcuts for specific font sizes:: - -#: map kitty_mod+f6 change_font_size all 10.0 - -#: To setup shortcuts to change only the current OS window's font -#: size:: - -#: map kitty_mod+f6 change_font_size current 10.0 -#: }}} - -#: Select and act on visible text {{{ - -#: Use the hints kitten to select text and either pass it to an -#: external program or insert it into the terminal or copy it to the -#: clipboard. - -#: Open URL - -# map kitty_mod+e open_url_with_hints - -#:: Open a currently visible URL using the keyboard. The program used -#:: to open the URL is specified in open_url_with. - -#: Insert selected path - -# map kitty_mod+p>f kitten hints --type path --program - - -#:: Select a path/filename and insert it into the terminal. Useful, -#:: for instance to run git commands on a filename output from a -#:: previous git command. - -#: Open selected path - -# map kitty_mod+p>shift+f kitten hints --type path - -#:: Select a path/filename and open it with the default open program. - -#: Insert selected line - -# map kitty_mod+p>l kitten hints --type line --program - - -#:: Select a line of text and insert it into the terminal. Useful for -#:: the output of things like: `ls -1`. - -#: Insert selected word - -# map kitty_mod+p>w kitten hints --type word --program - - -#:: Select words and insert into terminal. - -#: Insert selected hash - -# map kitty_mod+p>h kitten hints --type hash --program - - -#:: Select something that looks like a hash and insert it into the -#:: terminal. Useful with git, which uses SHA1 hashes to identify -#:: commits. - -#: Open the selected file at the selected line - -# map kitty_mod+p>n kitten hints --type linenum - -#:: Select something that looks like filename:linenum and open it in -#:: vim at the specified line number. - -#: Open the selected hyperlink - -# map kitty_mod+p>y kitten hints --type hyperlink - -#:: Select a hyperlink (i.e. a URL that has been marked as such by -#:: the terminal program, for example, by `ls --hyperlink=auto`). - - -#: The hints kitten has many more modes of operation that you can map -#: to different shortcuts. For a full description see hints kitten -#: . -#: }}} - -#: Miscellaneous {{{ - -#: Show documentation - -# map kitty_mod+f1 show_kitty_doc overview - -#: Toggle fullscreen - -# map kitty_mod+f11 toggle_fullscreen -# map ctrl+cmd+f toggle_fullscreen - -#: Toggle maximized - -# map kitty_mod+f10 toggle_maximized - -#: Toggle macOS secure keyboard entry - -# map opt+cmd+s toggle_macos_secure_keyboard_entry - -#: Unicode input - -# map kitty_mod+u kitten unicode_input -# map ctrl+cmd+space kitten unicode_input - -#: Edit config file - -# map kitty_mod+f2 edit_config_file -# map cmd+, edit_config_file - -#: Open the kitty command shell - -# map kitty_mod+escape kitty_shell window - -#:: Open the kitty shell in a new window / tab / overlay / os_window -#:: to control kitty using commands. - -#: Increase background opacity - -# map kitty_mod+a>m set_background_opacity +0.1 - -#: Decrease background opacity - -# map kitty_mod+a>l set_background_opacity -0.1 - -#: Make background fully opaque - -# map kitty_mod+a>1 set_background_opacity 1 - -#: Reset background opacity - -# map kitty_mod+a>d set_background_opacity default - -#: Reset the terminal - -# map kitty_mod+delete clear_terminal reset active -# map opt+cmd+r clear_terminal reset active - -#:: You can create shortcuts to clear/reset the terminal. For -#:: example:: - -#:: # Reset the terminal -#:: map f1 clear_terminal reset active -#:: # Clear the terminal screen by erasing all contents -#:: map f1 clear_terminal clear active -#:: # Clear the terminal scrollback by erasing it -#:: map f1 clear_terminal scrollback active -#:: # Scroll the contents of the screen into the scrollback -#:: map f1 clear_terminal scroll active -#:: # Clear everything up to the line with the cursor -#:: map f1 clear_terminal to_cursor active - -#:: If you want to operate on all kitty windows instead of just the -#:: current one, use all instead of active. - -#:: It is also possible to remap Ctrl+L to both scroll the current -#:: screen contents into the scrollback buffer and clear the screen, -#:: instead of just clearing the screen, for example, for ZSH add the -#:: following to ~/.zshrc: - -#:: .. code-block:: zsh - -#:: scroll-and-clear-screen() { -#:: printf '\n%.0s' {1..$LINES} -#:: zle clear-screen -#:: } -#:: zle -N scroll-and-clear-screen -#:: bindkey '^l' scroll-and-clear-screen - -#: Clear up to cursor line - -# map cmd+k clear_terminal to_cursor active - -#: Reload kitty.conf - -# map kitty_mod+f5 load_config_file -# map ctrl+cmd+, load_config_file - -#:: Reload kitty.conf, applying any changes since the last time it -#:: was loaded. Note that a handful of options cannot be dynamically -#:: changed and require a full restart of kitty. Particularly, when -#:: changing shortcuts for actions located on the macOS global menu -#:: bar, a full restart is needed. You can also map a keybinding to -#:: load a different config file, for example:: - -#:: map f5 load_config /path/to/alternative/kitty.conf - -#:: Note that all options from the original kitty.conf are discarded, -#:: in other words the new configuration *replace* the old ones. - -#: Debug kitty configuration - -# map kitty_mod+f6 debug_config -# map opt+cmd+, debug_config - -#:: Show details about exactly what configuration kitty is running -#:: with and its host environment. Useful for debugging issues. - -#: Send arbitrary text on key presses - -#:: E.g. map ctrl+shift+alt+h send_text all Hello World - -#:: You can tell kitty to send arbitrary (UTF-8) encoded text to the -#:: client program when pressing specified shortcut keys. For -#:: example:: - -#:: map ctrl+alt+a send_text all Special text - -#:: This will send "Special text" when you press the Ctrl+Alt+A key -#:: combination. The text to be sent decodes ANSI C escapes -#:: so you can use escapes like \e to send control -#:: codes or \u21fb to send Unicode characters (or you can just input -#:: the Unicode characters directly as UTF-8 text). You can use -#:: `kitty +kitten show_key` to get the key escape codes you want to -#:: emulate. - -#:: The first argument to send_text is the keyboard modes in which to -#:: activate the shortcut. The possible values are normal, -#:: application, kitty or a comma separated combination of them. The -#:: modes normal and application refer to the DECCKM cursor key mode -#:: for terminals, and kitty refers to the kitty extended keyboard -#:: protocol. The special value all means all of them. - -#:: Some more examples:: - -#:: # Output a word and move the cursor to the start of the line (like typing and pressing Home) -#:: map ctrl+alt+a send_text normal Word\e[H -#:: map ctrl+alt+a send_text application Word\eOH -#:: # Run a command at a shell prompt (like typing the command and pressing Enter) -#:: map ctrl+alt+a send_text normal,application some command with arguments\r - -#: Open kitty Website - -# map shift+cmd+/ open_url https://sw.kovidgoyal.net/kitty/ - -#: Hide macOS kitty application - -# map cmd+h hide_macos_app - -#: Hide macOS other applications - -# map opt+cmd+h hide_macos_other_apps - -#: Minimize macOS window - -# map cmd+m minimize_macos_window - -#: Quit kitty - -# map cmd+q quit - -#: }}} - -#: }}} diff --git a/jaci/dotfiles/labwc/autostart b/jaci/dotfiles/labwc/autostart index 10a349b..38c5979 100644 --- a/jaci/dotfiles/labwc/autostart +++ b/jaci/dotfiles/labwc/autostart @@ -4,13 +4,6 @@ swww init >/dev/null 2>&1 & swww img ~/.config/labwc/backgrounds/cat1.jpg >/dev/null 2>&1 & -# Configure output directives such as mode, position, scale and transform. -# Use wlr-randr to get your output names -# Example ~/.config/kanshi/config below: -# profile { -# output HDMI-A-1 position 1366,0 -# output eDP-1 position 0,0 -# } kanshi >/dev/null 2>&1 & # Launch a panel such as yambar or waybar. @@ -23,3 +16,6 @@ mako >/dev/null 2>&1 & # Setup network applet nm-applet --indicator >/dev/null 2>&1 & + + +wl-paste --watch cliphist store & diff --git a/jaci/dotfiles/waybar/config b/jaci/dotfiles/waybar/config index c9eebcb..433441f 100644 --- a/jaci/dotfiles/waybar/config +++ b/jaci/dotfiles/waybar/config @@ -1,12 +1,13 @@ { "modules-left": [ + "custom/launcher", "wlr/taskbar" ], "modules-center": [ "clock", ], "modules-right": [ - "idle_inhibitor", + "tray", "pulseaudio", "custom/spotify", "network", @@ -79,4 +80,9 @@ "on-click": "spot", "tooltip": false }, + "custom/launcher": { + "format": "  ", + "on-click": "nwg-drawer", + "tooltip": false + }, } diff --git a/jaci/modules/home-manager/home.nix b/jaci/modules/home-manager/home.nix index f8e350a..964d897 100644 --- a/jaci/modules/home-manager/home.nix +++ b/jaci/modules/home-manager/home.nix @@ -28,44 +28,12 @@ fonts.fontconfig.enable = true; home.packages = with pkgs; [ - # nur.repos.crazazy.js.eslint - # inputs.nixpkgs-stable.legacyPackages.x86_64-linux.corectrl - - # - # Dev Tools - # - dbeaver - cargo - kakoune - # flutter - docker - docker-compose - python310 - nodejs_21 - zig - ### LSP's - rnix-lsp # Nix LSP - openscad-lsp - nodePackages.typescript-language-server - vscode-langservers-extracted # provides eslint, markdown, json, css, and html lsp - rubyPackages.solargraph - python310Packages.python-lsp-server - zls - ### Misc - # android-udev-rules - # android-tools - # sdkmanager - openscad - - # - # Gaming - # + helix + wine-wayland webcord + mumble - # - # Better Unix - # bat duf fd @@ -75,68 +43,26 @@ tre-command gtop - # - # Photo / Video - # imv mpv gimp - # - # Communication - # - mumble - slack - signal-desktop - - # - # Other - # - keepassxc - obs-studio - # Install fonts (nerdfonts.override { fonts = [ "Hermit" "Gohu" ]; }) - - # # You can also create simple shell scripts directly inside your - # # configuration. For example, this adds a command 'my-hello' to your - # # environment: - # (pkgs.writeShellScriptBin "my-hello" '' - # echo "Hello, ${config.home.username}!" - # '') + # Style + catppuccin-kvantum + libsForQt5.qtstyleplugin-kvantum + libsForQt5.qt5ct ]; - # Home Manager is pretty good at managing dotfiles. The primary way to manage - # plain files is through 'home.file'. home.file."${config.xdg.configHome}" = { - # # Building this configuration will create a copy of 'dotfiles/screenrc' in - # # the Nix store. Activating the configuration will then make '~/.screenrc' a - # # symlink to the Nix store copy. - # ".screenrc".source = dotfiles/screenrc; source = ../../dotfiles; recursive = true; - - # # You can also set the file content immediately. - # ".gradle/gradle.properties".text = '' - # org.gradle.console=verbose - # org.gradle.daemon.idletimeout=3600000 - # ''; }; - # Home Manager can also manage your environment variables through - # 'home.sessionVariables'. If you don't want to manage your shell through Home - # Manager then you have to manually source 'hm-session-vars.sh' located at - # either - # - # ~/.nix-profile/etc/profile.d/hm-session-vars.sh - # - # or - # - # /etc/profiles/per-user/nate/etc/profile.d/hm-session-vars.sh - # home.sessionVariables = { - EDITOR = "kak"; + EDITOR = "hx"; }; # Git setup @@ -180,24 +106,29 @@ # # Theming qt and gnome apps # - qt = { enable = true; - platformTheme = "gtk"; - style.name = "adwaita-dark"; - style.package = pkgs.adwaita-qt; + platformTheme.name = "qtct"; + style.name = "kvantum"; }; gtk = { - enable = true; - cursorTheme.package = pkgs.catppuccin-cursors; - cursorTheme.name = "latteFlamingo"; - theme = { - name = "Catppuccin-Latte-Standard-Pink-Light"; - package = pkgs.catppuccin-gtk.override { - accents = [ "pink" ]; - tweaks = [ ]; - variant = "latte"; - }; + enable = true; + cursorTheme = { + package = pkgs.catppuccin-cursors.latteLavender; + name = "Catppuccin-Latte-Lavender-Cursors"; + }; + iconTheme = { + package = pkgs.catppuccin-papirus-folders; + name = "Papirus-Light"; + }; + theme = { + name = "catppuccin-latte-lavender-compact+rimless"; + package = pkgs.catppuccin-gtk.override { + accents = [ "lavender" ]; + size = "compact"; + tweaks = [ "rimless" ]; + variant = "latte"; }; + }; }; } diff --git a/jaci/modules/labwc/labwc_conf.nix b/jaci/modules/labwc/labwc_conf.nix index 4b419b6..1381834 100644 --- a/jaci/modules/labwc/labwc_conf.nix +++ b/jaci/modules/labwc/labwc_conf.nix @@ -78,6 +78,7 @@ swayidle swww wl-clipboard + cliphist waybar wdisplays xdg-utils @@ -111,6 +112,7 @@ ### # Printing + services.flatpak.enable = true; services.printing.enable = true; services.printing.drivers = [ pkgs.brlaser ]; @@ -132,9 +134,23 @@ # Necessary for home-manager labwc setup security.polkit.enable = true; + services.greetd = { + enable = true; + settings = rec { + initial_session = { + command = "${pkgs.labwc}/bin/labwc"; + user = "jaci"; + }; + default_session = initial_session; + }; + }; + + systemd.tmpfiles.rules = [ + "L+ /opt/rocm/hip - - - - ${pkgs.rocmPackages.clr}" + ]; hardware.opengl = { # Mesa - # enable = true; + enable = true; # Vulkan # driSupport = true; # Rocm support and vulkan drivers