Updated kak, firefox, etc
This commit is contained in:
parent
0b4b950ad1
commit
379f672586
BIN
dotfiles/Passwords.kdbx
Normal file
BIN
dotfiles/Passwords.kdbx
Normal file
Binary file not shown.
447
dotfiles/kak-lsp/kak-lsp.toml
Normal file
447
dotfiles/kak-lsp/kak-lsp.toml
Normal file
|
@ -0,0 +1,447 @@
|
||||||
|
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"},
|
||||||
|
]
|
83
dotfiles/kak/colors/catppuccin_frappe.kak
Normal file
83
dotfiles/kak/colors/catppuccin_frappe.kak
Normal file
|
@ -0,0 +1,83 @@
|
||||||
|
# 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"
|
83
dotfiles/kak/colors/catppuccin_latte.kak
Normal file
83
dotfiles/kak/colors/catppuccin_latte.kak
Normal file
|
@ -0,0 +1,83 @@
|
||||||
|
# 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"
|
83
dotfiles/kak/colors/catppuccin_macchiato.kak
Normal file
83
dotfiles/kak/colors/catppuccin_macchiato.kak
Normal file
|
@ -0,0 +1,83 @@
|
||||||
|
# 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"
|
83
dotfiles/kak/colors/catppuccin_mocha.kak
Normal file
83
dotfiles/kak/colors/catppuccin_mocha.kak
Normal file
|
@ -0,0 +1,83 @@
|
||||||
|
# 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"
|
252
dotfiles/kak/kakrc
Normal file
252
dotfiles/kak/kakrc
Normal file
|
@ -0,0 +1,252 @@
|
||||||
|
# ------------------
|
||||||
|
# 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"
|
60
dotfiles/kak/rc/fzf_git.kak
Normal file
60
dotfiles/kak/rc/fzf_git.kak
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
|
||||||
|
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=20
|
Length=25
|
||||||
SpecialChars=false
|
SpecialChars=false
|
||||||
|
|
23
dotfiles/mako/config
Normal file
23
dotfiles/mako/config
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
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 @@
|
||||||
#!/bin/bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
entries="Logout Suspend Reboot Shutdown"
|
entries="Logout Suspend Reboot Shutdown"
|
||||||
|
|
||||||
|
|
63
flake.lock
63
flake.lock
|
@ -1,43 +1,5 @@
|
||||||
{
|
{
|
||||||
"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": [
|
||||||
|
@ -45,11 +7,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1702538064,
|
"lastModified": 1702735279,
|
||||||
"narHash": "sha256-At5GwJPu2tzvS9dllhBoZmqK6lkkh/sOp2YefWRlaL8=",
|
"narHash": "sha256-SztEzDOE/6bDNnWWvnRbSHPVrgewLwdSei1sxoZFejM=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "0e2e443ff24f9d75925e91b89d1da44b863734af",
|
"rev": "e9b9ecef4295a835ab073814f100498716b05a96",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -90,12 +52,27 @@
|
||||||
"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",
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs",
|
||||||
"nixpkgs-stable": "nixpkgs-stable"
|
"nixpkgs-stable": "nixpkgs-stable",
|
||||||
|
"nur": "nur"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
13
flake.nix
13
flake.nix
|
@ -6,18 +6,20 @@
|
||||||
|
|
||||||
nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-23.11";
|
nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-23.11";
|
||||||
|
|
||||||
|
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, home-manager, ... } @ inputs:
|
outputs = { self, nixpkgs, nixpkgs-stable, nur, home-manager, ... } @ inputs:
|
||||||
let
|
let
|
||||||
inherit (self) outputs;
|
inherit (self) outputs;
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
|
@ -37,6 +39,7 @@
|
||||||
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
|
||||||
];
|
];
|
||||||
|
|
63
modules/apps/firefox/firefox.nix
Normal file
63
modules/apps/firefox/firefox.nix
Normal file
|
@ -0,0 +1,63 @@
|
||||||
|
{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/sp/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;
|
||||||
|
# "browser.bookmarks.showMobileBookmarks" = true;
|
||||||
|
# "browser.newtabpage.pinned" = [{
|
||||||
|
# title = "NixOS";
|
||||||
|
# url = "https://nixos.org";
|
||||||
|
# }];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -4,8 +4,15 @@
|
||||||
# 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}";
|
||||||
|
@ -16,29 +23,20 @@
|
||||||
|
|
||||||
# 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; [
|
||||||
bat
|
# nur.repos.crazazy.js.eslint
|
||||||
inputs.nixpkgs-stable.legacyPackages.x86_64-linux.corectrl
|
# inputs.nixpkgs-stable.legacyPackages.x86_64-linux.corectrl
|
||||||
fd
|
# kakoune
|
||||||
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
|
||||||
|
@ -83,6 +81,7 @@
|
||||||
#
|
#
|
||||||
home.sessionVariables = {
|
home.sessionVariables = {
|
||||||
EDITOR = "kak";
|
EDITOR = "kak";
|
||||||
|
XDG_CURRENT_DESKTOP="sway";
|
||||||
};
|
};
|
||||||
|
|
||||||
wayland.windowManager.sway = {
|
wayland.windowManager.sway = {
|
||||||
|
@ -121,6 +120,26 @@
|
||||||
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,6 +19,10 @@
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
###
|
||||||
|
## 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;
|
||||||
|
@ -48,9 +52,15 @@
|
||||||
###
|
###
|
||||||
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
|
||||||
|
@ -58,14 +68,8 @@
|
||||||
wl-clipboard
|
wl-clipboard
|
||||||
xdg-utils
|
xdg-utils
|
||||||
zsh
|
zsh
|
||||||
# Add to gaming only installs
|
# Fonts
|
||||||
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 [
|
||||||
|
@ -90,17 +94,6 @@
|
||||||
# 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
|
||||||
###
|
###
|
||||||
|
|
|
@ -44,6 +44,8 @@ in
|
||||||
cfg.userName
|
cfg.userName
|
||||||
"video"
|
"video"
|
||||||
"audio"
|
"audio"
|
||||||
|
# For android
|
||||||
|
"adbusers"
|
||||||
];
|
];
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
|
@ -12,10 +12,15 @@ 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
|
||||||
|
@ -44,10 +49,54 @@ in
|
||||||
enable = desktop == "sway";
|
enable = desktop == "sway";
|
||||||
useNonFree = true;
|
useNonFree = true;
|
||||||
installGaming = gaming;
|
installGaming = gaming;
|
||||||
systemPackages = [
|
systemPackages = with pkgs; [
|
||||||
pkgs.libreoffice
|
# Dev Tools
|
||||||
|
dbeaver
|
||||||
|
cargo
|
||||||
|
kakoune
|
||||||
|
# flutter
|
||||||
|
docker
|
||||||
|
docker-compose
|
||||||
|
python310
|
||||||
|
nodejs_21
|
||||||
|
### LSP's
|
||||||
|
rnix-lsp # Nix LSP
|
||||||
|
nodePackages.typescript-language-server
|
||||||
|
vscode-langservers-extracted # provides eslint, markdown, json, css, and html lsp
|
||||||
|
rubyPackages.solargraph
|
||||||
|
python310Packages.python-lsp-server
|
||||||
|
### Misc
|
||||||
|
# android-udev-rules
|
||||||
|
# android-tools
|
||||||
|
# sdkmanager
|
||||||
|
|
||||||
|
# Productivity
|
||||||
|
libreoffice
|
||||||
|
|
||||||
|
# Gaming
|
||||||
|
wine-wayland
|
||||||
|
|
||||||
|
# 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?
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user