Compare commits
No commits in common. "2bb838aef41c1f81380d1d498526010ed2c56120" and "0b4b950ad14e3e1c361e1978d511a1f9223d871c" have entirely different histories.
2bb838aef4
...
0b4b950ad1
Binary file not shown.
@ -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"},
|
|
||||||
]
|
|
@ -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"
|
|
@ -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"
|
|
@ -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"
|
|
@ -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"
|
|
@ -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 <c-f> <a-f> -docstring 'same as [f] but in the other direction'
|
|
||||||
map global normal <c-t> <a-t> -docstring 'same as [t] but in the other direction'
|
|
||||||
map global normal <c-n> <a-h> -docstring 'select to beginning of line'
|
|
||||||
map global normal <c-o> <a-l> -docstring 'select to end of line'
|
|
||||||
map global normal <c-s> <a-s> -docstring 'split selections on line boundaries'
|
|
||||||
map global normal <c-S> <a-S> -docstring 'select first and last character of each selection'
|
|
||||||
map global normal '<c-;>' '<a-;>' -docstring 'flip direction of each selection'
|
|
||||||
map global normal <c-:> <a-:> -docstring 'ensure selections are in forward direction (cursor then anchor)'
|
|
||||||
map global normal <c-,> <a-,> -docstring 'clear the main selection'
|
|
||||||
|
|
||||||
# Scrolling remap
|
|
||||||
map global normal <c-e> <pageup> -docstring 'Scroll screen up'
|
|
||||||
map global normal <c-i> <pagedown> -docstring 'Scroll screen down'
|
|
||||||
|
|
||||||
map global normal <c-/> ':comment-line<ret>' -docstring 'comment selected lines'
|
|
||||||
|
|
||||||
# Ctrl-s to save
|
|
||||||
map global normal <c-s> ':w<ret>' -docstring 'write buffer'
|
|
||||||
# Ctrl-x to save and exit
|
|
||||||
map global normal <c-x> ':w<ret>:db<ret>' -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<ret>' -docstring 'prev buffer'
|
|
||||||
map global normal ) ': buffer-next<ret>' -docstring 'next buffer'
|
|
||||||
|
|
||||||
# map global normal [ ( -docstring 'rotate main selection'
|
|
||||||
|
|
||||||
# map global normal ] ) -docstring 'rotate main selection backwards'
|
|
||||||
# Make x select <param> lines up and down
|
|
||||||
def -params 1 extend-line-down %{
|
|
||||||
exec "<a-:>%arg{1}J"
|
|
||||||
}
|
|
||||||
|
|
||||||
def -params 1 extend-line-up %{
|
|
||||||
exec "<a-:><a-;>%arg{1}K<a-;>"
|
|
||||||
try %{
|
|
||||||
exec -draft ';<a-K>\n<ret>'
|
|
||||||
exec X
|
|
||||||
}
|
|
||||||
exec '<a-;><a-X>'
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
map global normal x ':extend-line-down %val{count}<ret>'
|
|
||||||
map global normal X ':extend-line-up %val{count}<ret>'
|
|
||||||
|
|
||||||
map global normal k n -docstring 'next result'
|
|
||||||
map global normal K N -docstring 'next result add selection'
|
|
||||||
|
|
||||||
map global normal <a-k> <c-n> -docstring 'prev result'
|
|
||||||
map global normal <a-K> <c-N> -docstring 'prev result add selection'
|
|
||||||
|
|
||||||
map global insert <down> <c-n> -docstring 'next completion'
|
|
||||||
map global insert <up> <c-p> -docstring 'prev completion'
|
|
||||||
|
|
||||||
# User Mode Bindings
|
|
||||||
# Accessed with <space>
|
|
||||||
declare-user-mode git
|
|
||||||
map global user g ': enter-user-mode git<ret>' -docstring "Git mode"
|
|
||||||
map global user p '<a-!>wl-paste -n<ret>' -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}<ret>" -docstring 'open kakrc'
|
|
||||||
map global user z ":edit %opt{shell_config}<ret>" -docstring 'open shell config'
|
|
||||||
map global user S ":edit %opt{sway_conf_path}<ret>" -docstring 'open wm config'
|
|
||||||
# Git Mode Bindings
|
|
||||||
map global git d '<esc>:git show-diff<ret>' -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 <tab> '<a-;>:try lsp-snippets-select-next-placeholders catch %{ execute-keys -with-hooks <lt>tab> }<ret>' -docstring 'Select next snippet placeholder'
|
|
||||||
map global object a '<a-semicolon>lsp-object<ret>' -docstring 'LSP any symbol'
|
|
||||||
map global object <a-a> '<a-semicolon>lsp-object<ret>' -docstring 'LSP any symbol'
|
|
||||||
map global object e '<a-semicolon>lsp-object Function Method<ret>' -docstring 'LSP function or method'
|
|
||||||
map global object k '<a-semicolon>lsp-object Class Interface Struct<ret>' -docstring 'LSP class interface or struct'
|
|
||||||
map global object d '<a-semicolon>lsp-diagnostic-object --include-warnings<ret>' -docstring 'LSP errors and warnings'
|
|
||||||
map global object D '<a-semicolon>lsp-diagnostic-object<ret>' -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<ret>' -docstring 'lsp mode'
|
|
||||||
map global user h ': enter-user-mode lsp<ret>h' -docstring 'lsp help'
|
|
||||||
map global user a ': enter-user-mode lsp<ret>a' -docstring 'lsp code action'
|
|
||||||
set-option global lsp_hover_anchor false
|
|
||||||
}
|
|
||||||
|
|
||||||
hook global KakEnd .* lsp-exit
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
# -----------------
|
|
||||||
# Other Plugins
|
|
||||||
# -----------------
|
|
||||||
|
|
||||||
map global goto f '<esc>:prompt -shell-script-candidates %{ fd --type f --hidden } file: %{ edit %val{text} }<ret>' -docstring "file"
|
|
||||||
map global goto b '<esc>:prompt -buffer-completion buffer: %{ buffer %val{text} }<ret>' -docstring "buffer"
|
|
||||||
|
|
||||||
# Fzf Plugin
|
|
||||||
plug "andreyorst/fzf.kak" config %{
|
|
||||||
# map global user f ':fzf-mode<ret>v' -docstring 'fzf file in project'
|
|
||||||
map global user b ':fzf-mode<ret>b' -docstring 'fzf current buffers'
|
|
||||||
|
|
||||||
map global user / ':fzf-mode<ret>g' -docstring 'fzf search in project'
|
|
||||||
|
|
||||||
# def fzf_file %{
|
|
||||||
# evaluate-commands %sh{
|
|
||||||
# printf "%s\n" ":fzf-mode<ret><esc>:fzf -items-cmd fd<ret>"
|
|
||||||
# }
|
|
||||||
# }
|
|
||||||
|
|
||||||
# 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 <c-m> ':surround<ret>'
|
|
||||||
|
|
||||||
# Custom scripts
|
|
||||||
source "~/.config/kak/rc/fzf_git.kak"
|
|
@ -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<ret>' -docstring 'fzf current project'
|
|
||||||
|
|
@ -17,5 +17,5 @@ QuietSuccess=true
|
|||||||
[PasswordGenerator]
|
[PasswordGenerator]
|
||||||
AdditionalChars=
|
AdditionalChars=
|
||||||
ExcludedChars=
|
ExcludedChars=
|
||||||
Length=25
|
Length=20
|
||||||
SpecialChars=false
|
SpecialChars=false
|
||||||
|
@ -1,23 +0,0 @@
|
|||||||
font=UbuntuMono 12.5
|
|
||||||
|
|
||||||
background-color=#404552
|
|
||||||
text-color=#e5e9f0
|
|
||||||
width=315
|
|
||||||
height=200
|
|
||||||
padding=10
|
|
||||||
margin=10
|
|
||||||
progress-color=over #eceff480
|
|
||||||
icon-path=/usr/share/icons/Arc-X-D
|
|
||||||
max-icon-size=70
|
|
||||||
layer=overlay
|
|
||||||
|
|
||||||
border-size=5
|
|
||||||
border-radius=0
|
|
||||||
border-color=#5294e2
|
|
||||||
|
|
||||||
default-timeout=5000
|
|
||||||
|
|
||||||
[urgency=high]
|
|
||||||
|
|
||||||
ignore-timeout=1
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
#!/usr/bin/env bash
|
#!/bin/bash
|
||||||
|
|
||||||
entries="Logout Suspend Reboot Shutdown"
|
entries="Logout Suspend Reboot Shutdown"
|
||||||
|
|
||||||
|
84
flake.lock
generated
84
flake.lock
generated
@ -1,5 +1,43 @@
|
|||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
|
"firefox-addons": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-utils": "flake-utils",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"dir": "pkgs/firefox-addons",
|
||||||
|
"lastModified": 1702612985,
|
||||||
|
"narHash": "sha256-dnlw/lHJO2Fk/jUHzkz4dYKHF4nQxmHps9Jx8zldoo4=",
|
||||||
|
"owner": "rycee",
|
||||||
|
"repo": "nur-expressions",
|
||||||
|
"rev": "ae18cb76153e8dda888a313daac932ba358002ae",
|
||||||
|
"type": "gitlab"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"dir": "pkgs/firefox-addons",
|
||||||
|
"owner": "rycee",
|
||||||
|
"repo": "nur-expressions",
|
||||||
|
"type": "gitlab"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-utils": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1629284811,
|
||||||
|
"narHash": "sha256-JHgasjPR0/J1J3DRm4KxM4zTyAj4IOJY8vIl75v/kPI=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"rev": "c5d161cc0af116a2e17f54316f0bf43f0819785c",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"home-manager": {
|
"home-manager": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
@ -7,11 +45,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1702735279,
|
"lastModified": 1702538064,
|
||||||
"narHash": "sha256-SztEzDOE/6bDNnWWvnRbSHPVrgewLwdSei1sxoZFejM=",
|
"narHash": "sha256-At5GwJPu2tzvS9dllhBoZmqK6lkkh/sOp2YefWRlaL8=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "e9b9ecef4295a835ab073814f100498716b05a96",
|
"rev": "0e2e443ff24f9d75925e91b89d1da44b863734af",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -20,26 +58,6 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nix-ld": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1701153607,
|
|
||||||
"narHash": "sha256-h+odOVyiGmEERMECoFOj5P7FPiMR8IPRzroFA4sKivg=",
|
|
||||||
"owner": "Mic92",
|
|
||||||
"repo": "nix-ld",
|
|
||||||
"rev": "bf5aa84a713c31d95b4307e442e966d6c7fd7ae7",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "Mic92",
|
|
||||||
"repo": "nix-ld",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1702312524,
|
"lastModified": 1702312524,
|
||||||
@ -72,28 +90,12 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nur": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1702770334,
|
|
||||||
"narHash": "sha256-MVILxIF9ZVIk0f9w3yYZpy8auwxgey0MFzdoIFFvQNU=",
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "NUR",
|
|
||||||
"rev": "1d37444620523278aa163bb9e30104f5d1152061",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "NUR",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
|
"firefox-addons": "firefox-addons",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"nix-ld": "nix-ld",
|
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs",
|
||||||
"nixpkgs-stable": "nixpkgs-stable",
|
"nixpkgs-stable": "nixpkgs-stable"
|
||||||
"nur": "nur"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
22
flake.nix
22
flake.nix
@ -6,25 +6,18 @@
|
|||||||
|
|
||||||
nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-23.11";
|
nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-23.11";
|
||||||
|
|
||||||
nix-ld = {
|
|
||||||
url = "github:Mic92/nix-ld";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
|
|
||||||
nur.url = "github:nix-community/NUR";
|
|
||||||
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
url = "github:nix-community/home-manager";
|
url = "github:nix-community/home-manager";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
# firefox-addons = {
|
firefox-addons = {
|
||||||
# url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons";
|
url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons";
|
||||||
# inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
# };
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, nixpkgs, nixpkgs-stable, nix-ld, nur, home-manager, ... } @ inputs:
|
outputs = { self, nixpkgs, nixpkgs-stable, home-manager, ... } @ inputs:
|
||||||
let
|
let
|
||||||
inherit (self) outputs;
|
inherit (self) outputs;
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
@ -44,7 +37,6 @@
|
|||||||
nixServer = nixpkgs.lib.nixosSystem {
|
nixServer = nixpkgs.lib.nixosSystem {
|
||||||
specialArgs = { inherit inputs; };
|
specialArgs = { inherit inputs; };
|
||||||
modules = [
|
modules = [
|
||||||
# nixpkgs.overlays = [ nur.overlay ];
|
|
||||||
./nixos/server_configuration.nix
|
./nixos/server_configuration.nix
|
||||||
inputs.home-manager.nixosModules.default
|
inputs.home-manager.nixosModules.default
|
||||||
];
|
];
|
||||||
@ -52,12 +44,10 @@
|
|||||||
nixDesktop = nixpkgs.lib.nixosSystem {
|
nixDesktop = nixpkgs.lib.nixosSystem {
|
||||||
# Pass args to desktop configuration
|
# Pass args to desktop configuration
|
||||||
specialArgs = {
|
specialArgs = {
|
||||||
inherit inputs outputs userName hostName desktop timeZone gaming system;
|
inherit inputs outputs userName hostName desktop timeZone gaming;
|
||||||
};
|
};
|
||||||
modules = [
|
modules = [
|
||||||
./nixos/desktop_configuration.nix
|
./nixos/desktop_configuration.nix
|
||||||
# Setup nix-ld
|
|
||||||
nix-ld.nixosModules.nix-ld
|
|
||||||
# Setup home manager
|
# Setup home manager
|
||||||
home-manager.nixosModules.home-manager {
|
home-manager.nixosModules.home-manager {
|
||||||
home-manager.useGlobalPkgs = true;
|
home-manager.useGlobalPkgs = true;
|
||||||
|
@ -1,66 +0,0 @@
|
|||||||
{lib, config, pkgs, inputs, ...}:
|
|
||||||
let
|
|
||||||
cfg = config.firefoxApp;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
# imports = [
|
|
||||||
# inputs.nur.hmModules.nur
|
|
||||||
# ];
|
|
||||||
|
|
||||||
options.firefoxApp = {
|
|
||||||
enable = lib.mkEnableOption "enable firefox browser";
|
|
||||||
};
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
programs.firefox = {
|
|
||||||
enable = true;
|
|
||||||
profiles = {
|
|
||||||
default = {
|
|
||||||
id = 0;
|
|
||||||
name = "default";
|
|
||||||
isDefault = true;
|
|
||||||
extensions = with pkgs; [
|
|
||||||
nur.repos.rycee.firefox-addons.darkreader
|
|
||||||
nur.repos.rycee.firefox-addons.keepassxc-browser
|
|
||||||
nur.repos.crazazy.firefox-addons.ublock-origin
|
|
||||||
];
|
|
||||||
search = {
|
|
||||||
# Replace default firefox search engine config with this one
|
|
||||||
force = true;
|
|
||||||
default = "Startpage";
|
|
||||||
engines = {
|
|
||||||
"Startpage" = {
|
|
||||||
urls = [{
|
|
||||||
template = "https://www.startpage.com/do/mypage.pl?prfe=a1ffaae1a3f4dc133b6e11b3d611db561598fc16fbc43a22c2694805a5b4d46852c848cb54f3ccbc9cea0e8e83dab567d3abe2b350870e7781f8701d4558a1c988aced444d1e8d8a7b830563/search?query={searchTerms}";
|
|
||||||
}];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
settings = {
|
|
||||||
"browser.startup.blankWindow" = true;
|
|
||||||
"browser.startup.homepage" = "about:blank";
|
|
||||||
"browser.search.region" = "US";
|
|
||||||
"browser.search.isUS" = true;
|
|
||||||
"distribution.searchplugins.defaultLocale" = "en-US";
|
|
||||||
"general.useragent.locale" = "en-US";
|
|
||||||
"extensions.activeThemeID" = "{831b8843-7251-4306-9521-e688f18b4aeb}";
|
|
||||||
"privacy.trackingprotection.enable" = true;
|
|
||||||
"privacy.trackingprotection.emailtracking.enable" = true;
|
|
||||||
"privacy.trackingprotection.socialtracking.enable" = true;
|
|
||||||
"privacy.clearOnShutdown.cookies" = true;
|
|
||||||
"browser.safebrowsing.passwords.enabled" = false;
|
|
||||||
"browser.migrate.interactions.passwords" = false;
|
|
||||||
"pref.privacy.disable_button.view_passwords" = false;
|
|
||||||
"signon.rememberSignon" = false;
|
|
||||||
"extensions.formautofill.creditCards.enabled" = false;
|
|
||||||
"extensions.formautofill.addresses.enabled" = false;
|
|
||||||
# "browser.bookmarks.showMobileBookmarks" = true;
|
|
||||||
# "browser.newtabpage.pinned" = [{
|
|
||||||
# title = "NixOS";
|
|
||||||
# url = "https://nixos.org";
|
|
||||||
# }];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
@ -4,15 +4,8 @@
|
|||||||
# manage.
|
# manage.
|
||||||
#
|
#
|
||||||
|
|
||||||
# nixpkgs.overlays = [
|
|
||||||
# inputs.nur.overlay
|
|
||||||
# ];
|
|
||||||
|
|
||||||
# nixpkgs.config.allowUnfree = true;
|
# nixpkgs.config.allowUnfree = true;
|
||||||
# inputs.nixpkgs-stable.config.allowUnfree = true;
|
# inputs.nixpkgs-stable.config.allowUnfree = true;
|
||||||
imports = [
|
|
||||||
../apps/firefox/firefox.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
home.username = userName;
|
home.username = userName;
|
||||||
home.homeDirectory = "/home/${userName}";
|
home.homeDirectory = "/home/${userName}";
|
||||||
@ -23,21 +16,29 @@
|
|||||||
|
|
||||||
# The home.packages option allows you to install Nix packages into your
|
# The home.packages option allows you to install Nix packages into your
|
||||||
# environment.
|
# environment.
|
||||||
firefoxApp.enable = true;
|
|
||||||
|
|
||||||
fonts.fontconfig.enable = true;
|
fonts.fontconfig.enable = true;
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
# nur.repos.crazazy.js.eslint
|
bat
|
||||||
# inputs.nixpkgs-stable.legacyPackages.x86_64-linux.corectrl
|
inputs.nixpkgs-stable.legacyPackages.x86_64-linux.corectrl
|
||||||
# kakoune
|
fd
|
||||||
|
firefox
|
||||||
|
foot
|
||||||
|
fzf
|
||||||
|
htop
|
||||||
|
kakoune
|
||||||
keepassxc
|
keepassxc
|
||||||
|
libnotify
|
||||||
|
mako
|
||||||
|
networkmanagerapplet
|
||||||
obs-studio
|
obs-studio
|
||||||
signal-desktop
|
signal-desktop
|
||||||
|
# steam
|
||||||
waybar
|
waybar
|
||||||
wofi
|
wofi
|
||||||
xfce.thunar
|
xfce.thunar
|
||||||
# Install fonts
|
# Install fonts
|
||||||
(nerdfonts.override { fonts = [ "Hermit" "Overpass" ]; })
|
(nerdfonts.override { fonts = [ "Hermit" "Overpass" ]; })
|
||||||
|
overpass
|
||||||
|
|
||||||
# # You can also create simple shell scripts directly inside your
|
# # You can also create simple shell scripts directly inside your
|
||||||
# # configuration. For example, this adds a command 'my-hello' to your
|
# # configuration. For example, this adds a command 'my-hello' to your
|
||||||
@ -82,7 +83,6 @@
|
|||||||
#
|
#
|
||||||
home.sessionVariables = {
|
home.sessionVariables = {
|
||||||
EDITOR = "kak";
|
EDITOR = "kak";
|
||||||
XDG_CURRENT_DESKTOP="sway";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
wayland.windowManager.sway = {
|
wayland.windowManager.sway = {
|
||||||
@ -121,26 +121,6 @@
|
|||||||
plugins = [ "git" ];
|
plugins = [ "git" ];
|
||||||
theme = "half-life";
|
theme = "half-life";
|
||||||
};
|
};
|
||||||
initExtra = ''
|
|
||||||
alias ask="nix-shell -p python310Packages.openai --run 'python ~/source/python/chat.py'"
|
|
||||||
|
|
||||||
fzf_projects() {
|
|
||||||
DIR=`
|
|
||||||
fd .git --search-path="$HOME/source/" -H --ignore-file ~/.config/fd-ignore -tdirectory | \
|
|
||||||
xargs dirname | \
|
|
||||||
sed 's|$HOME||g' | \
|
|
||||||
sort | \
|
|
||||||
uniq | \
|
|
||||||
fzf --preview 'ls $HOME/{}/README.md 2>/dev/null && bat $HOME/{}/README.md || printf "No README.md file found in this directory\n%s" {}' --preview-window=top | \
|
|
||||||
xargs printf "$HOME/%s/"
|
|
||||||
`
|
|
||||||
cd $DIR
|
|
||||||
}
|
|
||||||
alias p="fzf_projects source/"
|
|
||||||
|
|
||||||
### Busykid Bash Functions
|
|
||||||
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -19,17 +19,9 @@
|
|||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
###
|
|
||||||
## Configuration
|
|
||||||
###
|
|
||||||
|
|
||||||
config = lib.mkIf config.swaywm.enable {
|
config = lib.mkIf config.swaywm.enable {
|
||||||
|
|
||||||
nixpkgs.config.allowUnfree = config.swaywm.useNonFree;
|
nixpkgs.config.allowUnfree = config.swaywm.useNonFree;
|
||||||
# For R2ModMan
|
|
||||||
nixpkgs.config.permittedInsecurePackages = [
|
|
||||||
"electron-25.9.0"
|
|
||||||
];
|
|
||||||
|
|
||||||
###
|
###
|
||||||
## XDG portal setup
|
## XDG portal setup
|
||||||
@ -56,25 +48,24 @@
|
|||||||
###
|
###
|
||||||
environment.systemPackages = with pkgs; lib.lists.flatten [
|
environment.systemPackages = with pkgs; lib.lists.flatten [
|
||||||
[
|
[
|
||||||
bash
|
|
||||||
foot
|
|
||||||
git
|
git
|
||||||
glib # gsettings
|
glib # gsettings
|
||||||
grim
|
grim
|
||||||
libnotify
|
|
||||||
mako
|
|
||||||
ncspot
|
|
||||||
networkmanagerapplet
|
|
||||||
pavucontrol
|
pavucontrol
|
||||||
slurp
|
slurp
|
||||||
swaylock
|
swaylock
|
||||||
swayidle
|
swayidle
|
||||||
wl-clipboard
|
wl-clipboard
|
||||||
wdisplays
|
|
||||||
xdg-utils
|
xdg-utils
|
||||||
zsh
|
zsh
|
||||||
# Fonts
|
# Add to gaming only installs
|
||||||
|
lutris
|
||||||
|
wine-wayland
|
||||||
|
# Video utils
|
||||||
|
davinci-resolve-studio
|
||||||
|
imv
|
||||||
|
mpv
|
||||||
|
gimp
|
||||||
]
|
]
|
||||||
config.swaywm.systemPackages
|
config.swaywm.systemPackages
|
||||||
# (lib.mkIf config.swaywm.installGaming [
|
# (lib.mkIf config.swaywm.installGaming [
|
||||||
@ -82,25 +73,12 @@
|
|||||||
# ])
|
# ])
|
||||||
];
|
];
|
||||||
|
|
||||||
# Thunar config
|
|
||||||
programs.thunar = {
|
|
||||||
enable = true;
|
|
||||||
plugins = with pkgs.xfce; [
|
|
||||||
thunar-archive-plugin
|
|
||||||
thunar-volman
|
|
||||||
];
|
|
||||||
};
|
|
||||||
programs.file-roller.enable = true;
|
|
||||||
programs.xfconf.enable = true;
|
|
||||||
|
|
||||||
programs.zsh.enable = true;
|
programs.zsh.enable = true;
|
||||||
programs.steam.enable = config.swaywm.installGaming;
|
programs.steam.enable = config.swaywm.installGaming;
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
## Services
|
## Services
|
||||||
###
|
###
|
||||||
services.gvfs.enable = true; # thunar functionalities
|
|
||||||
services.openssh.enable = true;
|
services.openssh.enable = true;
|
||||||
services.dbus.enable = true;
|
services.dbus.enable = true;
|
||||||
services.pipewire = {
|
services.pipewire = {
|
||||||
@ -112,6 +90,17 @@
|
|||||||
# kdeconnect setup
|
# kdeconnect setup
|
||||||
programs.kdeconnect.enable = true;
|
programs.kdeconnect.enable = true;
|
||||||
|
|
||||||
|
# Firewall
|
||||||
|
# networking.firewall = {
|
||||||
|
# enable = true;
|
||||||
|
# allowedTCPPortRanges = [
|
||||||
|
# {from = 1714; to = 1764;} # KDE Connnect
|
||||||
|
# ];
|
||||||
|
# allowedUDPPortRanges = [
|
||||||
|
# {from = 1714; to = 1764;} # KDE Connnect
|
||||||
|
# ];
|
||||||
|
# };
|
||||||
|
|
||||||
###
|
###
|
||||||
## Misc
|
## Misc
|
||||||
###
|
###
|
||||||
|
@ -1,52 +0,0 @@
|
|||||||
{ lib, config, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.main_user;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.main_user = {
|
|
||||||
enable = lib.mkEnableOption "enable user module";
|
|
||||||
|
|
||||||
isDesktopUser = lib.mkOption {
|
|
||||||
default = false;
|
|
||||||
example = true;
|
|
||||||
description = "Add additional user groups for desktop users";
|
|
||||||
};
|
|
||||||
|
|
||||||
userName = lib.mkOption {
|
|
||||||
default = "mainuser";
|
|
||||||
description = "username";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
users.users.${cfg.userName} = lib.mkMerge [
|
|
||||||
{
|
|
||||||
isNormalUser = true;
|
|
||||||
initialPassword = "password";
|
|
||||||
|
|
||||||
description = "main user";
|
|
||||||
shell = pkgs.zsh;
|
|
||||||
}
|
|
||||||
|
|
||||||
(lib.mkIf (!cfg.isDesktopUser) {
|
|
||||||
extraGroups = [
|
|
||||||
"wheel"
|
|
||||||
"networkmanager"
|
|
||||||
cfg.userName
|
|
||||||
];
|
|
||||||
})
|
|
||||||
(lib.mkIf cfg.isDesktopUser {
|
|
||||||
extraGroups = [
|
|
||||||
"wheel"
|
|
||||||
"networkmanager"
|
|
||||||
"corectrl"
|
|
||||||
cfg.userName
|
|
||||||
"video"
|
|
||||||
"audio"
|
|
||||||
# For android
|
|
||||||
"adbusers"
|
|
||||||
];
|
|
||||||
})
|
|
||||||
];
|
|
||||||
};
|
|
@ -44,8 +44,6 @@ in
|
|||||||
cfg.userName
|
cfg.userName
|
||||||
"video"
|
"video"
|
||||||
"audio"
|
"audio"
|
||||||
# For android
|
|
||||||
"adbusers"
|
|
||||||
];
|
];
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
@ -19,9 +19,6 @@
|
|||||||
"nix-command" "flakes"
|
"nix-command" "flakes"
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.nix-ld.enable = true;
|
|
||||||
|
|
||||||
|
|
||||||
system.stateVersion = "23.11"; # Did you read the comment?
|
system.stateVersion = "23.11"; # Did you read the comment?
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ config, lib, inputs, outputs, pkgs, userName, hostName, desktop, timeZone, gaming, system, ... }:
|
{ config, lib, inputs, outputs, pkgs, userName, hostName, desktop, timeZone, gaming, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
supportedDesktops = [ "sway" ];
|
supportedDesktops = [ "sway" ];
|
||||||
@ -12,15 +12,10 @@ in
|
|||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
nixpkgs.overlays = [
|
|
||||||
inputs.nur.overlay
|
|
||||||
];
|
|
||||||
|
|
||||||
imports = [ # Include the results of the hardware scan.
|
imports = [ # Include the results of the hardware scan.
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
../modules/user/main_user.nix
|
../modules/user/main_user.nix
|
||||||
../modules/sway/sway_conf.nix
|
../modules/sway/sway_conf.nix
|
||||||
# inputs.nur.hmModules.nur
|
|
||||||
];
|
];
|
||||||
|
|
||||||
# Enable flakes feature
|
# Enable flakes feature
|
||||||
@ -28,8 +23,6 @@ in
|
|||||||
"nix-command" "flakes"
|
"nix-command" "flakes"
|
||||||
];
|
];
|
||||||
|
|
||||||
# programs.nix-ld.dev.enable = true;
|
|
||||||
|
|
||||||
# nixpkgs.config.allowUnfree = true;
|
# nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
# Use the systemd-boot EFI boot loader.
|
# Use the systemd-boot EFI boot loader.
|
||||||
@ -51,72 +44,10 @@ in
|
|||||||
enable = desktop == "sway";
|
enable = desktop == "sway";
|
||||||
useNonFree = true;
|
useNonFree = true;
|
||||||
installGaming = gaming;
|
installGaming = gaming;
|
||||||
systemPackages = with pkgs; [
|
systemPackages = [
|
||||||
#
|
pkgs.libreoffice
|
||||||
# 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
|
|
||||||
|
|
||||||
#
|
|
||||||
# Productivity
|
|
||||||
#
|
|
||||||
libreoffice
|
|
||||||
|
|
||||||
#
|
|
||||||
# Gaming
|
|
||||||
#
|
|
||||||
mumble
|
|
||||||
wine-wayland
|
|
||||||
r2modman
|
|
||||||
|
|
||||||
#
|
|
||||||
# Better Unix
|
|
||||||
#
|
|
||||||
bat
|
|
||||||
duf
|
|
||||||
fd
|
|
||||||
fzf
|
|
||||||
lsd
|
|
||||||
ripgrep
|
|
||||||
gtop
|
|
||||||
|
|
||||||
#
|
|
||||||
# Photo / Video
|
|
||||||
#
|
|
||||||
davinci-resolve-studio
|
|
||||||
imv
|
|
||||||
mpv
|
|
||||||
gimp
|
|
||||||
|
|
||||||
#
|
|
||||||
# Work
|
|
||||||
#
|
|
||||||
slack
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.adb.enable = true;
|
|
||||||
|
|
||||||
system.stateVersion = "23.11"; # Did you read the comment?
|
system.stateVersion = "23.11"; # Did you read the comment?
|
||||||
}
|
}
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usbhid" "uas" "usb_storage" "sd_mod" ];
|
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usbhid" "usb_storage" "uas" "sd_mod" ];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [ ];
|
||||||
boot.kernelModules = [ "kvm-amd" ];
|
boot.kernelModules = [ "kvm-amd" ];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [ ];
|
||||||
@ -23,11 +23,6 @@
|
|||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/home/nate/Games" =
|
|
||||||
{ device = "/dev/disk/by-uuid/d66b7920-2c29-400a-be51-0b3890ea63db";
|
|
||||||
fsType = "ext4";
|
|
||||||
};
|
|
||||||
|
|
||||||
swapDevices = [ ];
|
swapDevices = [ ];
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
|
Loading…
Reference in New Issue
Block a user