Merge branch 'dotter-migration'
|
|
@ -1 +0,0 @@
|
|||
chezmoi
|
||||
6
.dotter/devbox.toml
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
includes = []
|
||||
packages = ["default", "cli", "dev"]
|
||||
|
||||
[files]
|
||||
|
||||
[variables]
|
||||
72
.dotter/global.toml
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
[settings]
|
||||
default_target_type = "automatic"
|
||||
|
||||
[helpers]
|
||||
flatten_table = ".dotter/handlebars_helpers/flatten_table.rhai"
|
||||
header = ".dotter/handlebars_helpers/header.rhai"
|
||||
|
||||
# CLI package
|
||||
[cli]
|
||||
depends = ["nvim", "zsh", "fzf", "starship"]
|
||||
|
||||
[cli.variables]
|
||||
nerd_font = "JetBrainsMono"
|
||||
|
||||
[cli.files]
|
||||
"config/bat" = "~/.config/bat"
|
||||
"config/kitty" = {target = "~/.config/kitty", type = "symbolic" }
|
||||
"config/sesh" = "~/.config/sesh"
|
||||
"config/tmux" = "~/.config/tmux"
|
||||
"config/yazi" = "~/.config/yazi"
|
||||
"config/zellij" = "~/.config/zellij"
|
||||
|
||||
[dev]
|
||||
depends = ["rust"]
|
||||
|
||||
[dev.files]
|
||||
"config/git" = "~/.config/git"
|
||||
"config/lazygit" = { target = "~/.config/lazygit", type = "symbolic"}
|
||||
"config/zed" = "~/.config/zed"
|
||||
|
||||
[zsh.files]
|
||||
"config/zsh/zshrc" = "~/.zshrc"
|
||||
"config/zsh/zprofile" = "~/.zprofile"
|
||||
"config/zsh/aliases" = {target = "~/.config/zsh/aliases", type="symbolic"}
|
||||
"config/zsh/completions" = {target = "~/.config/zsh/completions", type = "symbolic"}
|
||||
"config/zsh/functions" = "~/.config/zsh/functions"
|
||||
|
||||
[fzf.files]
|
||||
"config/fzf" = "~/.config/fzf"
|
||||
|
||||
[starship.files]
|
||||
"config/starship.toml" = "~/.config/starship.toml"
|
||||
|
||||
[nushell.files]
|
||||
"config/nushell" = "~/.config/nushell"
|
||||
|
||||
[nvim.files]
|
||||
"config/nvim" = "~/.config/nvim"
|
||||
[nvim.files."config/nvim/lua/aleidk/lazy.lua"]
|
||||
target = "~/.config/nvim/lua/aleidk/lazy.lua"
|
||||
type = "template"
|
||||
prepend = """
|
||||
local enabled_plugins = {
|
||||
nvim_core = {{ nvim-core }},
|
||||
nvim_base = {{ nvim-base }},
|
||||
nvim_ide = {{ nvim-ide }},
|
||||
}
|
||||
|
||||
"""
|
||||
|
||||
# Handle package activation from Lazy instead of dotter
|
||||
# This will prevent conflics in lazy-lock.json for having different plugins
|
||||
[nvim.variables]
|
||||
nvim-core = true
|
||||
nvim-base = false
|
||||
nvim-ide = false
|
||||
|
||||
[rust.variables]
|
||||
cargo.packages = []
|
||||
|
||||
[mise.files]
|
||||
"config/mise" = "~/.config/mise"
|
||||
30
.dotter/handlebars_helpers/flatten_table.rhai
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
/*
|
||||
* Flatten a table into a list of values.
|
||||
* The table has to be in the form of
|
||||
* ```toml
|
||||
* [table.subtable]
|
||||
* variable1 = ["value1", "value2"]
|
||||
*
|
||||
* [table.subtable]
|
||||
* variable2 = ["value3", "value4"]
|
||||
*
|
||||
* then we use it in handlerbars like this:
|
||||
*
|
||||
* {{ flatten_table table.subtable }}
|
||||
*
|
||||
* and it will return an array with all the arrays of subtable
|
||||
*/
|
||||
|
||||
if type_of(params[0]) != "map" {
|
||||
return;
|
||||
}
|
||||
|
||||
let table = params[0];
|
||||
|
||||
let result = [];
|
||||
|
||||
for value in table.values() {
|
||||
result.append(value);
|
||||
}
|
||||
|
||||
result
|
||||
48
.dotter/handlebars_helpers/header.rhai
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
let x_padding = hash["padding"] ?? 50;
|
||||
|
||||
let header = #{
|
||||
x_padding: x_padding,
|
||||
out: "",
|
||||
append: |suffix| {
|
||||
this.out += suffix + "\n";
|
||||
},
|
||||
append_center: |suffix| {
|
||||
|
||||
let suffix_len = suffix.len();
|
||||
let padding = this.x_padding - suffix_len / 2;
|
||||
let fill = "";
|
||||
fill.pad(padding, " ");
|
||||
|
||||
this.out += fill + suffix.to_upper() + fill + "\n";
|
||||
},
|
||||
append_divider: || {
|
||||
let divider = "";
|
||||
divider.pad(this.x_padding * 2, "─");
|
||||
|
||||
this.append(divider);
|
||||
},
|
||||
open_echo: || {
|
||||
this.out += "echo -e '\n";
|
||||
},
|
||||
close_echo: || {
|
||||
this.out += "'";
|
||||
},
|
||||
to_string: || {
|
||||
return this.out;
|
||||
}
|
||||
};
|
||||
|
||||
header.open_echo();
|
||||
|
||||
header.append_divider();
|
||||
|
||||
|
||||
params.for_each(|idx| {
|
||||
header.append_center(this);
|
||||
});
|
||||
|
||||
header.append_divider();
|
||||
header.close_echo();
|
||||
|
||||
return header.to_string();
|
||||
|
||||
66
.dotter/machines/fedora.toml
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
# Dotter only support merging tables, and put the key-values into the global scope of the tables
|
||||
# If we try to use the same variable name in a package, it will throw an error
|
||||
# if we try to use the same key in a nested table, it will be overriden with the last value
|
||||
#
|
||||
# the fix to this is to have a table with unique keys, this is supported by handlerbars {{#each}} directive
|
||||
# but will give us an array as value, so we need to flatten it
|
||||
|
||||
[utils.variables]
|
||||
pkg-install = "sudo dnf install -y"
|
||||
|
||||
[cli.variables.copr]
|
||||
cli = [
|
||||
"atim/lazygit",
|
||||
"atim/starship"
|
||||
]
|
||||
|
||||
[cli.variables.packages]
|
||||
cli = [
|
||||
"bat",
|
||||
"dnf-plugin-system-upgrade",
|
||||
"duf",
|
||||
"eza",
|
||||
"fd-find",
|
||||
# "firefox-dev",
|
||||
"flatpak",
|
||||
"fzf",
|
||||
"git",
|
||||
"kitty",
|
||||
"lazygit",
|
||||
"neovim",
|
||||
"remove-retired-packages",
|
||||
"ripgrep",
|
||||
"sd",
|
||||
"starship",
|
||||
"tealdeer",
|
||||
"zoxide",
|
||||
"zsh",
|
||||
]
|
||||
|
||||
[dev.variables.packages]
|
||||
dev = [
|
||||
"gcc",
|
||||
"gcc-c++",
|
||||
"just",
|
||||
"nodejs",
|
||||
"openssl",
|
||||
"openssl-devel",
|
||||
"tmux",
|
||||
"tree-sitter-cli",
|
||||
]
|
||||
[dev.variables.cargo.packages]
|
||||
dev = [
|
||||
"cocogitto"
|
||||
]
|
||||
|
||||
|
||||
[zsh.variables.packages]
|
||||
zsh = [
|
||||
"zsh"
|
||||
]
|
||||
|
||||
[rust.variables.cargo.packages]
|
||||
rust = [
|
||||
"yazi-fm",
|
||||
"yazi-cli",
|
||||
]
|
||||
3
.dotter/post_deploy.sh
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
sha256sum .dotter/cache/.dotter/pre_deploy.sh >.dotter/cache/pre_deploy.checksum
|
||||
100
.dotter/pre_deploy.sh
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
#!/usr/bin/env bash
|
||||
# shellcheck disable=all
|
||||
# This is a handlerbars template, so ignore issues
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
checksum_file=".dotter/cache/pre_deploy.checksum"
|
||||
|
||||
if [[ -e "$checksum_file" ]] && sha256sum --check "$checksum_file" >/dev/null 2>&1; then
|
||||
echo "Pre deploy script has not changed, skiping script execution"
|
||||
echo "To override this, remove the checksum file: $checksum_file"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
{{!~ Detect the distribution ~}}
|
||||
{{~ assign "distro" (trim (command_output "awk -F= '/^ID=/ {print $2}' /etc/os-release | tr -d '\"'")) ~}}
|
||||
|
||||
{{ header "Running pre deploy script for distro" (to_title_case distro) }}
|
||||
|
||||
{{ #if (is_executable "sudo") }}
|
||||
{{ header "Configuring sudo" }}
|
||||
|
||||
SUDOERS_FILE="/etc/sudoers.d/01-user"
|
||||
|
||||
if [[ -e "${SUDOERS_FILE}" ]]; then
|
||||
echo "Sudo configuration already exists, to override it remove the file: ${SUDOERS_FILE}"
|
||||
exit 0
|
||||
else
|
||||
sudo -B tee "${SUDOERS_FILE}" <<EOF
|
||||
Defaults pwfeedback
|
||||
Defaults timestamp_timeout=10
|
||||
Defaults timestamp_type=global
|
||||
EOF
|
||||
|
||||
sudo chmod 0440 "${SUDOERS_FILE}"
|
||||
fi
|
||||
|
||||
{{ /if }}
|
||||
|
||||
{{#if (eq distro "fedora") ~}}
|
||||
|
||||
{{! extract the copr repositories variable }}
|
||||
{{~ assign "copr" (flatten_table copr) ~}}
|
||||
|
||||
{{#if (ne (len copr) 0) ~}}
|
||||
{{ header "Enabling copr repositories" }}
|
||||
|
||||
{{# each copr }}
|
||||
sudo -B dnf copr enable -y '{{ this }}'
|
||||
{{ /each }}
|
||||
|
||||
{{~ /if }}
|
||||
|
||||
{{ header "Installing dnf packages" }}
|
||||
sudo -B dnf install -y {{~# each (flatten_table packages) }} '{{ this }}' {{~ /each }}
|
||||
|
||||
{{~ /if }}
|
||||
|
||||
{{ #if dotter.packages.zsh }}
|
||||
|
||||
[ "$SHELL" != "$(which zsh)" ] && chsh -s "$(which zsh)"
|
||||
|
||||
{{ /if }}
|
||||
|
||||
{{#if (and dotter.packages.rust (not (is_executable "cargo"))) }}
|
||||
|
||||
{{ header "Installing rust" }}
|
||||
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --no-modify-path --default-toolchain stable
|
||||
|
||||
{{ /if }}
|
||||
|
||||
{{#if (and dotter.packages.rust (ne (len cargo.packages) 0)) }}
|
||||
|
||||
{{ header "Installing crates" }}
|
||||
cargo install --locked {{# each (flatten_table cargo.packages) }} "{{ this }}" {{ /each }}
|
||||
|
||||
{{ /if }}
|
||||
|
||||
{{ #if dotter.packages.cli }}
|
||||
|
||||
{{ header "Configuring Nerd Fonts" }}
|
||||
|
||||
FONT_DIR="$HOME/.local/share/fonts"
|
||||
mkdir -p "$FONT_DIR"
|
||||
tmp_dir=$(mktemp -d)
|
||||
|
||||
curl -L https://github.com/ryanoasis/nerd-fonts/releases/latest/download/{{ nerd_font }}.zip -o "$tmp_dir/{{ nerd_font}}.zip"
|
||||
unzip -o "$tmp_dir/{{nerd_font}}.zip" -d ${FONT_DIR}/{{ nerd_font }}
|
||||
|
||||
curl -L https://github.com/joshmedeski/sesh/releases/latest/download/sesh_Linux_x86_64.tar.gz -o "$tmp_dir/sesh.tar.gz"
|
||||
|
||||
mkdir -p "$HOME/.local/bin"
|
||||
|
||||
tar xvf "$tmp_dir/sesh.tar.gz" --directory="$HOME/.local/bin" sesh
|
||||
|
||||
rm -rf "$tmp_dir"
|
||||
|
||||
{{ /if }}
|
||||
|
||||
{{ header "Done :3" }}
|
||||
9
.dotter/thinkpad.toml
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
includes = [".dotter/machines/fedora.toml"]
|
||||
packages = ["cli", "dev"]
|
||||
|
||||
[files]
|
||||
|
||||
[variables]
|
||||
nvim-core = true
|
||||
nvim-base = true
|
||||
nvim-ide = true
|
||||
9
.dotter/work-laptop.toml
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
includes = [".dotter/machines/fedora.toml"]
|
||||
packages = ["cli", "dev", "mise"]
|
||||
|
||||
[files]
|
||||
|
||||
[variables]
|
||||
nvim-core = true
|
||||
nvim-base = true
|
||||
nvim-ide = true
|
||||
3
.gitignore
vendored
|
|
@ -16,3 +16,6 @@ config/ncspot/userstate.cbor
|
|||
config/zsh/zprofile.local
|
||||
config/spicetify/CustomApps/*
|
||||
chezmoi/dot_config/zsh/aliases/work.zsh
|
||||
.dotter/cache.toml
|
||||
.dotter/cache
|
||||
.dotter/local.toml
|
||||
|
|
|
|||
0
.gitmodules
vendored
|
|
@ -1 +0,0 @@
|
|||
{"php":"8.1.16","version":"3.14.4","indent":" ","lineEnding":"\n","rules":{"blank_line_after_opening_tag":true,"blank_line_between_import_groups":true,"braces":{"allow_single_line_anonymous_class_with_empty_body":true},"class_definition":{"inline_constructor_arguments":false,"space_before_parenthesis":true},"compact_nullable_typehint":true,"declare_equal_normalize":true,"lowercase_cast":true,"lowercase_static_reference":true,"new_with_braces":true,"no_blank_lines_after_class_opening":true,"no_leading_import_slash":true,"no_whitespace_in_blank_line":true,"ordered_class_elements":{"order":["use_trait"]},"ordered_imports":{"imports_order":["class","function","const"],"sort_algorithm":"none"},"return_type_declaration":true,"short_scalar_cast":true,"single_blank_line_before_namespace":true,"single_import_per_statement":{"group_to_single_imports":false},"single_trait_insert_per_statement":true,"ternary_operator_spaces":true,"visibility_required":true,"blank_line_after_namespace":true,"constant_case":true,"elseif":true,"function_declaration":true,"indentation_type":true,"line_ending":true,"lowercase_keywords":true,"method_argument_space":{"on_multiline":"ensure_fully_multiline"},"no_break_comment":true,"no_closing_tag":true,"no_space_around_double_colon":true,"no_spaces_after_function_name":true,"no_spaces_inside_parenthesis":true,"no_trailing_whitespace":true,"no_trailing_whitespace_in_comment":true,"single_blank_line_at_eof":true,"single_class_element_per_statement":{"elements":["property"]},"single_line_after_imports":true,"switch_case_semicolon_to_colon":true,"switch_case_space":true,"encoding":true,"full_opening_tag":true},"hashes":{"config\/.null-ls_409243_php-cs-fixer-conf.php":"fb71792ed72df5b2976115b4380ef622","config\/.null-ls_800261_php-cs-fixer-conf.php":"1a554594a4eaa31e7bf231c0a93ad00e","config\/.null-ls_450233_php-cs-fixer-conf.php":"1a554594a4eaa31e7bf231c0a93ad00e","config\/.null-ls_536351_php-cs-fixer-conf.php":"5bfcd97c4bfff433fa6da9d289fd7ef9","config\/.null-ls_121074_php-cs-fixer-conf.php":"c116993e570fd1fd0d8e5ff29103a452"}}
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
{{- $osid := .chezmoi.os -}}
|
||||
{{- if hasKey .chezmoi.osRelease "id" -}}
|
||||
{{- $osid = printf "%s-%s" .chezmoi.os .chezmoi.osRelease.id -}}
|
||||
{{- end -}}
|
||||
|
||||
[data]
|
||||
osid = {{ $osid | quote }}
|
||||
hasGui = {{ promptBoolOnce . "hasGui" "Does this machine needs gui configs/apps?" }}
|
||||
hasWOL = {{ promptBoolOnce . "hasWOL" "Does this machine WOL?" }}
|
||||
openAIKey = {{ promptStringOnce . "openAIKey" "Enter Open AI key for chatGPT integration (or leave blank)" | quote }}
|
||||
|
|
@ -1,41 +0,0 @@
|
|||
packages:
|
||||
cargo:
|
||||
- du-dust
|
||||
- mise
|
||||
- rbw
|
||||
# - yazi-fm
|
||||
# - yazi-cli
|
||||
dnf:
|
||||
copr:
|
||||
- atim/lazygit
|
||||
- atim/starship
|
||||
- the4runner/firefox-dev
|
||||
packages:
|
||||
- bat
|
||||
- dnf-plugin-system-upgrade
|
||||
- duf
|
||||
- eza
|
||||
- fd-find
|
||||
- firefox-dev
|
||||
- flatpak
|
||||
- fzf
|
||||
- gcc
|
||||
- gcc-c++
|
||||
- git
|
||||
- gitlint
|
||||
- gnome-software
|
||||
- lazygit
|
||||
- neovim
|
||||
- nodejs
|
||||
- openssl
|
||||
- openssl-devel
|
||||
- papirus-icon-theme
|
||||
- remove-retired-packages
|
||||
- ripgrep
|
||||
- sd
|
||||
- starship
|
||||
- tealdeer
|
||||
- tmux
|
||||
- tree-sitter-cli
|
||||
- zoxide
|
||||
- zsh
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
[".local/share/zinit"]
|
||||
type = "git-repo"
|
||||
url = "https://github.com/zdharma-continuum/zinit.git"
|
||||
refreshPeriod = "168h"
|
||||
|
||||
[".config/alacritty/themes/catppuccin/catppuccin-macchiato.toml"]
|
||||
type = "file"
|
||||
url = "https://raw.githubusercontent.com/catppuccin/alacritty/main/catppuccin-macchiato.toml"
|
||||
refreshPeriod = "168h"
|
||||
|
||||
[".config/bat/themes/Catppuccin-macchiato.tmTheme"]
|
||||
# Run "bat cache --build" to make the theme available
|
||||
type = "file"
|
||||
url = "https://github.com/catppuccin/bat/raw/main/themes/Catppuccin%20Macchiato.tmTheme"
|
||||
refreshPeriod = "168h"
|
||||
|
||||
["Repos/Source/xdg-ninja"]
|
||||
type = "git-repo"
|
||||
url = "https://github.com/b3nj5m1n/xdg-ninja.git"
|
||||
refreshPeriod = "168h"
|
||||
|
||||
[".local/bin/sesh"]
|
||||
type = "archive-file"
|
||||
url = "https://github.com/joshmedeski/sesh/releases/latest/download/sesh_Linux_x86_64.tar.gz"
|
||||
path = "sesh"
|
||||
refreshPeriod = "168h"
|
||||
|
||||
[".local/bin/zk"]
|
||||
type = "archive-file"
|
||||
url = "https://github.com/zk-org/zk/releases/latest/download/zk-v0.14.1-linux-amd64.tar.gz"
|
||||
path = "zk"
|
||||
refreshPeriod = "168h"
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
**/original_*
|
||||
.config/lazygit/state.yml
|
||||
|
||||
config/tmux/plugins/*
|
||||
!config/tmux/plugins/.gitkeep
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
{{- if eq .hasWOL true -}}
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
# run as sudo so it ask for the password here and not inside FZF
|
||||
sudo echo -e "\nSetting up wol...\n"
|
||||
|
||||
interface="$(
|
||||
nmcli --fields name --terse con show |
|
||||
fzf \
|
||||
--height 10 \
|
||||
--header 'Select network interface' \
|
||||
--preview 'nmcli c show {} | grep 802-3-ethernet.wake-on-lan'
|
||||
)"
|
||||
|
||||
if [[ -z "$interface" ]]; then
|
||||
echo "no interface selected"
|
||||
exit
|
||||
fi
|
||||
nmcli c modify "$interface" 802-3-ethernet.wake-on-lan magic
|
||||
nmcli c modify "$interface" 802-3-ethernet.auto-negotiate yes
|
||||
{{ end }}
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
{{- if eq .hasGui true -}}
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# ╭──────────────────────────────────────────────────────────╮
|
||||
# │ Setup Catppuccin GTK theme │
|
||||
# ╰──────────────────────────────────────────────────────────╯
|
||||
|
||||
set -e
|
||||
|
||||
tmp_dir="$(mktemp -d)"
|
||||
|
||||
cd "$tmp_dir"
|
||||
|
||||
curl -LsS "https://raw.githubusercontent.com/catppuccin/gtk/main/install.py" -o install.py
|
||||
|
||||
python3 install.py macchiato teal
|
||||
|
||||
rm -rf "$tmp_dir"
|
||||
{{ end }}
|
||||
|
|
@ -1,46 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
NO_FORMAT="\033[0m"
|
||||
C_DODGERBLUE1="\033[38;5;33m"
|
||||
echo -e "${C_DODGERBLUE1}Installing packages...${NO_FORMAT}"
|
||||
|
||||
{{- if eq .osid "darwin" }}
|
||||
# macOS-specific code
|
||||
{{- else if eq .osid "linux-debian" }}
|
||||
# Debian-specific code
|
||||
{{- else if eq .osid "linux-fedora" }}
|
||||
|
||||
# ╭──────────────────────────────────────────────────────────╮
|
||||
# │ Add COPR repos │
|
||||
# ╰──────────────────────────────────────────────────────────╯
|
||||
|
||||
sudo dnf install -yq 'dnf-command(copr)'
|
||||
|
||||
{{ range .packages.dnf.copr -}}
|
||||
sudo dnf copr enable -y {{ . | quote }} &> /dev/null
|
||||
{{ end -}}
|
||||
|
||||
# ╭──────────────────────────────────────────────────────────╮
|
||||
# │ Install DNF packages │
|
||||
# ╰──────────────────────────────────────────────────────────╯
|
||||
|
||||
sudo dnf install -y {{ range .packages.dnf.packages }} {{ . | quote }} {{- end -}}
|
||||
|
||||
{{ end }}
|
||||
|
||||
# ╭──────────────────────────────────────────────────────────╮
|
||||
# │ Install Rust │
|
||||
# ╰──────────────────────────────────────────────────────────╯
|
||||
|
||||
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --no-modify-path --default-toolchain stable
|
||||
|
||||
rustup update
|
||||
|
||||
# ╭──────────────────────────────────────────────────────────╮
|
||||
# │ Install Cargo Packages │
|
||||
# ╰──────────────────────────────────────────────────────────╯
|
||||
|
||||
cargo install {{ range .packages.cargo }} {{ . | quote }} {{- end -}}
|
||||
|
||||
|
|
@ -1,39 +0,0 @@
|
|||
#!/usr/bin/sh
|
||||
|
||||
if [ "x$XDG_SESSION_TYPE" = "xwayland" ] &&
|
||||
[ "x$XDG_SESSION_CLASS" != "xgreeter" ] &&
|
||||
[ -n "$SHELL" ] &&
|
||||
grep -q "$SHELL" /etc/shells &&
|
||||
! (echo "$SHELL" | grep -q "false") &&
|
||||
! (echo "$SHELL" | grep -q "nologin"); then
|
||||
if [ "$1" != '-l' ]; then
|
||||
exec bash -c "exec -l '$SHELL' -c '$0 -l $*'"
|
||||
else
|
||||
shift
|
||||
fi
|
||||
fi
|
||||
|
||||
SETTING=$(G_MESSAGES_DEBUG='' gsettings get org.gnome.system.locale region)
|
||||
REGION=${SETTING#\'}
|
||||
REGION=${REGION%\'}
|
||||
|
||||
if [ -n "$REGION" ]; then
|
||||
unset LC_TIME LC_NUMERIC LC_MONETARY LC_MEASUREMENT LC_PAPER
|
||||
|
||||
if [ "$LANG" != "$REGION" ]; then
|
||||
# LC_CTYPE
|
||||
export LC_NUMERIC=$REGION
|
||||
export LC_TIME=$REGION
|
||||
# LC_COLLATE
|
||||
export LC_MONETARY=$REGION
|
||||
# LC_MESSAGES
|
||||
export LC_PAPER=$REGION
|
||||
# LC_NAME
|
||||
export LC_ADDRESS=$REGION
|
||||
export LC_TELEPHONE=$REGION
|
||||
export LC_MEASUREMENT=$REGION
|
||||
# LC_IDENTIFICATION
|
||||
fi
|
||||
fi
|
||||
|
||||
exec Hyprland
|
||||
|
|
@ -1,158 +0,0 @@
|
|||
#
|
||||
# Please note not all available settings / options are set here.
|
||||
# For a full list, see the wiki
|
||||
#
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Monitors/
|
||||
monitor=,highrr,auto,1
|
||||
|
||||
# Execute your favorite apps at launch
|
||||
exec-once = waybar & hyprpaper
|
||||
|
||||
# Source a file (multi-file configs)
|
||||
# source = ~/.config/hypr/myColors.conf
|
||||
|
||||
# Some default env vars.
|
||||
env = XCURSOR_SIZE,24
|
||||
|
||||
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
|
||||
input {
|
||||
kb_layout = latam
|
||||
kb_variant =
|
||||
kb_model =
|
||||
kb_options = caps:escape
|
||||
kb_rules =
|
||||
|
||||
follow_mouse = 1
|
||||
|
||||
touchpad {
|
||||
natural_scroll = true
|
||||
}
|
||||
|
||||
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
|
||||
}
|
||||
|
||||
general {
|
||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||
|
||||
gaps_in = 5
|
||||
gaps_out = 10
|
||||
border_size = 2
|
||||
col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
|
||||
col.inactive_border = rgba(595959aa)
|
||||
|
||||
layout = dwindle
|
||||
}
|
||||
|
||||
decoration {
|
||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||
rounding = 10
|
||||
drop_shadow = true
|
||||
shadow_range = 4
|
||||
shadow_render_power = 3
|
||||
col.shadow = rgba(1a1a1aee)
|
||||
|
||||
blur {
|
||||
enabled = true
|
||||
size = 3
|
||||
passes = 1
|
||||
new_optimizations = true
|
||||
}
|
||||
}
|
||||
|
||||
animations {
|
||||
enabled = true
|
||||
|
||||
# Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
|
||||
|
||||
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
|
||||
|
||||
animation = windows, 1, 7, myBezier
|
||||
animation = windowsOut, 1, 7, default, popin 80%
|
||||
animation = border, 1, 10, default
|
||||
animation = borderangle, 1, 8, default
|
||||
animation = fade, 1, 7, default
|
||||
animation = workspaces, 1, 6, default
|
||||
}
|
||||
|
||||
dwindle {
|
||||
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
||||
pseudotile = true # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
||||
preserve_split = true # you probably want this
|
||||
}
|
||||
|
||||
master {
|
||||
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
|
||||
new_is_master = true
|
||||
}
|
||||
|
||||
gestures {
|
||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||
workspace_swipe = true
|
||||
workspace_swipe_invert = false
|
||||
}
|
||||
|
||||
# Example per-device config
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
|
||||
device:epic-mouse-v1 {
|
||||
sensitivity = -0.5
|
||||
}
|
||||
|
||||
# Example windowrule v1
|
||||
# windowrule = float, ^(kitty)$
|
||||
# Example windowrule v2
|
||||
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
|
||||
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
|
||||
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
|
||||
$mainMod = SUPER
|
||||
|
||||
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
|
||||
bind = $mainMod, Q, exec, alacritty
|
||||
bind = $mainMod, C, killactive,
|
||||
bind = $mainMod, M, exit,
|
||||
bind = $mainMod, E, exec, dolphin
|
||||
bind = $mainMod, V, togglefloating,
|
||||
bind = $mainMod, D, exec, wofi --show drun
|
||||
bind = $mainMod, P, pseudo, # dwindle
|
||||
bind = $mainMod, J, togglesplit, # dwindle
|
||||
|
||||
# Move focus with mainMod + arrow keys
|
||||
bind = $mainMod, h, movefocus, l
|
||||
bind = $mainMod, j, movefocus, d
|
||||
bind = $mainMod, k, movefocus, u
|
||||
bind = $mainMod, l, movefocus, r
|
||||
|
||||
# Switch workspaces with mainMod + [0-9]
|
||||
bind = $mainMod, 1, workspace, 1
|
||||
bind = $mainMod, 2, workspace, 2
|
||||
bind = $mainMod, 3, workspace, 3
|
||||
bind = $mainMod, 4, workspace, 4
|
||||
bind = $mainMod, 5, workspace, 5
|
||||
bind = $mainMod, 6, workspace, 6
|
||||
bind = $mainMod, 7, workspace, 7
|
||||
bind = $mainMod, 8, workspace, 8
|
||||
bind = $mainMod, 9, workspace, 9
|
||||
bind = $mainMod, 0, workspace, 10
|
||||
|
||||
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||
bind = $mainMod SHIFT, 1, movetoworkspace, 1
|
||||
bind = $mainMod SHIFT, 2, movetoworkspace, 2
|
||||
bind = $mainMod SHIFT, 3, movetoworkspace, 3
|
||||
bind = $mainMod SHIFT, 4, movetoworkspace, 4
|
||||
bind = $mainMod SHIFT, 5, movetoworkspace, 5
|
||||
bind = $mainMod SHIFT, 6, movetoworkspace, 6
|
||||
bind = $mainMod SHIFT, 7, movetoworkspace, 7
|
||||
bind = $mainMod SHIFT, 8, movetoworkspace, 8
|
||||
bind = $mainMod SHIFT, 9, movetoworkspace, 9
|
||||
bind = $mainMod SHIFT, 0, movetoworkspace, 10
|
||||
|
||||
# Scroll through existing workspaces with mainMod + scroll
|
||||
bind = $mainMod, mouse_down, workspace, e+1
|
||||
bind = $mainMod, mouse_up, workspace, e-1
|
||||
|
||||
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||
bindm = $mainMod, mouse:272, movewindow
|
||||
bindm = $mainMod, mouse:273, resizewindow
|
||||
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
preload = ~/Pictures/wallpaper.jpg
|
||||
|
||||
#set the default wallpaper(s) seen on inital workspace(s) --depending on the number of monitors used
|
||||
wallpaper = ,~/Pictures/wallpaper.jpg
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
default-timeout=5000
|
||||
|
||||
# Colors
|
||||
|
||||
background-color=#24273a
|
||||
text-color=#cad3f5
|
||||
border-color=#8aadf4
|
||||
progress-color=over #363a4f
|
||||
|
||||
[urgency=high]
|
||||
border-color=#f5a97f
|
||||
|
|
@ -1,26 +0,0 @@
|
|||
-- Loadnoptions before anything
|
||||
require("aleidk.options")
|
||||
|
||||
-- Init PLugins
|
||||
|
||||
-- Install package manager https://github.com/folke/lazy.nvim
|
||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||
if not vim.loop.fs_stat(lazypath) then
|
||||
vim.fn.system({
|
||||
"git",
|
||||
"clone",
|
||||
"--filter=blob:none",
|
||||
"https://github.com/folke/lazy.nvim.git",
|
||||
"--branch=stable", -- latest stable release
|
||||
lazypath,
|
||||
})
|
||||
end
|
||||
vim.opt.rtp:prepend(lazypath)
|
||||
|
||||
-- Load plugins
|
||||
require("lazy").setup("aleidk.plugins")
|
||||
|
||||
-- Rest of configuratin
|
||||
|
||||
require("aleidk.keymaps")
|
||||
require("aleidk.autocmds")
|
||||
|
|
@ -1,78 +0,0 @@
|
|||
return {
|
||||
"olimorris/codecompanion.nvim",
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
{
|
||||
"zbirenbaum/copilot.lua",
|
||||
cmd = "Copilot",
|
||||
event = "InsertEnter",
|
||||
config = function()
|
||||
require("copilot").setup({
|
||||
suggestion = { enabled = false },
|
||||
panel = { enabled = true, auto_refresh = true },
|
||||
})
|
||||
end,
|
||||
},
|
||||
"hrsh7th/nvim-cmp", -- Optional: For using slash commands and variables in the chat buffer
|
||||
"nvim-telescope/telescope.nvim", -- Optional: For using slash commands
|
||||
{ "stevearc/dressing.nvim", opts = {} }, -- Optional: Improves `vim.ui.select`
|
||||
},
|
||||
opts = {
|
||||
strategies = {
|
||||
chat = {
|
||||
adapter = "copilot",
|
||||
},
|
||||
inline = {
|
||||
adapter = "copilot",
|
||||
},
|
||||
agent = { adapter = "copilot" },
|
||||
},
|
||||
display = {
|
||||
action_palette = {
|
||||
prompt = " "
|
||||
}
|
||||
}
|
||||
},
|
||||
keys = {
|
||||
{
|
||||
"<leader>at",
|
||||
function()
|
||||
require("codecompanion").toggle()
|
||||
end,
|
||||
desc = "Toggle AI chat",
|
||||
mode = { "n", "v" }
|
||||
},
|
||||
{
|
||||
"<leader>aa",
|
||||
"<CMD>CodeCompanion<CR>",
|
||||
desc = "Run an inline prompt",
|
||||
mode = { "n", "v" }
|
||||
},
|
||||
{
|
||||
"<leader>aA",
|
||||
function()
|
||||
require("codecompanion").actions()
|
||||
end,
|
||||
desc = "Open AI actions",
|
||||
mode = { "n", "v" }
|
||||
},
|
||||
{
|
||||
"<leader>av",
|
||||
function()
|
||||
require("codecompanion").add()
|
||||
end,
|
||||
desc = "Add visual selection to chat",
|
||||
mode = "v"
|
||||
},
|
||||
{
|
||||
"<leader>ae",
|
||||
function()
|
||||
require("codecompanion").prompt("explain")
|
||||
end,
|
||||
desc = "Explain code",
|
||||
mode = "v"
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1,49 +0,0 @@
|
|||
return {
|
||||
{
|
||||
"echasnovski/mini.comment",
|
||||
version = "*",
|
||||
event = "VeryLazy",
|
||||
dependencies = {
|
||||
{ "nvim-treesitter/nvim-treesitter-context" },
|
||||
},
|
||||
opts = {
|
||||
options = {
|
||||
custom_commentstring = function()
|
||||
return require("ts_context_commentstring.internal").calculate_commentstring()
|
||||
or vim.bo.commentstring
|
||||
end,
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"LudoPinelli/comment-box.nvim",
|
||||
event = "VeryLazy",
|
||||
config = function()
|
||||
require("comment-box").setup({
|
||||
outer_blank_lines = true,
|
||||
})
|
||||
|
||||
local cb = require("comment-box")
|
||||
|
||||
-- left aligned fixed size box with left aligned text
|
||||
MAP({ "n", "v" }, "gcb", cb.lcbox, "Create a comment box")
|
||||
-- centered adapted box with centered text
|
||||
MAP({ "n", "v" }, "gcl", cb.llline, "Create a comment line")
|
||||
end,
|
||||
},
|
||||
{
|
||||
"danymat/neogen",
|
||||
opts = { snippet_engine = "luasnip" },
|
||||
dependencies = { "nvim-treesitter/nvim-treesitter" },
|
||||
version = "*", -- stable releases
|
||||
keys = {
|
||||
{
|
||||
"gcd",
|
||||
function()
|
||||
require("neogen").generate()
|
||||
end,
|
||||
desc = "Generate comment docstring",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
|
@ -1,120 +0,0 @@
|
|||
---@diagnostic disable: missing-fields
|
||||
return {
|
||||
"hrsh7th/nvim-cmp",
|
||||
version = false, -- last release is way too old
|
||||
event = "InsertEnter",
|
||||
dependencies = {
|
||||
"L3MON4D3/LuaSnip",
|
||||
"davidsierradz/cmp-conventionalcommits",
|
||||
"hrsh7th/cmp-buffer",
|
||||
"hrsh7th/cmp-cmdline",
|
||||
"hrsh7th/cmp-nvim-lsp",
|
||||
"hrsh7th/cmp-path",
|
||||
"petertriho/cmp-git",
|
||||
"saadparwaiz1/cmp_luasnip",
|
||||
"windwp/nvim-autopairs",
|
||||
{
|
||||
"zbirenbaum/copilot-cmp",
|
||||
config = function()
|
||||
require("copilot_cmp").setup()
|
||||
end
|
||||
},
|
||||
},
|
||||
config = function()
|
||||
vim.api.nvim_set_hl(0, "CmpGhostText", { link = "Comment", default = true })
|
||||
local cmp = require("cmp")
|
||||
|
||||
local cmp_autopairs = require("nvim-autopairs.completion.cmp")
|
||||
cmp.event:on("confirm_done", cmp_autopairs.on_confirm_done())
|
||||
|
||||
local defaults = require("cmp.config.default")()
|
||||
local window_opts = {
|
||||
border = "rounded",
|
||||
side_padding = 1,
|
||||
-- fix colors for catppuccin colorscheme
|
||||
winhighlight = "Normal:Pmenu,FloatBorder:FloatBorder,CursorLine:PmenuSel,Search:None",
|
||||
}
|
||||
local opts = {
|
||||
visible_docs = false,
|
||||
completion = {
|
||||
completeopt = "menu,menuone,noinsert",
|
||||
},
|
||||
snippet = {
|
||||
expand = function(args)
|
||||
require("luasnip").lsp_expand(args.body)
|
||||
end,
|
||||
},
|
||||
mapping = cmp.mapping.preset.insert({
|
||||
["<C-n>"] = cmp.mapping.select_next_item({ behavior = cmp.SelectBehavior.Insert }),
|
||||
["<C-p>"] = cmp.mapping.select_prev_item({ behavior = cmp.SelectBehavior.Insert }),
|
||||
["<C-j>"] = cmp.mapping.select_next_item({ behavior = cmp.SelectBehavior.Insert }),
|
||||
["<C-k>"] = cmp.mapping.select_prev_item({ behavior = cmp.SelectBehavior.Insert }),
|
||||
["<C-u>"] = cmp.mapping.scroll_docs(-4),
|
||||
["<C-d>"] = cmp.mapping.scroll_docs(4),
|
||||
["<C-o>"] = function()
|
||||
if cmp.visible_docs() then
|
||||
cmp.close_docs()
|
||||
else
|
||||
cmp.open_docs()
|
||||
end
|
||||
end,
|
||||
["<C-Space>"] = cmp.mapping.complete(),
|
||||
["<C-e>"] = cmp.mapping.abort(),
|
||||
["<BR>"] = cmp.mapping.abort(),
|
||||
["<C-CR>"] = cmp.mapping.confirm({ select = false }), -- Confirm only if selected an item
|
||||
["<CR>"] = cmp.mapping.confirm({
|
||||
-- Auto confirms first item
|
||||
behavior = cmp.ConfirmBehavior.Replace,
|
||||
select = true,
|
||||
}),
|
||||
}),
|
||||
sources = cmp.config.sources({
|
||||
{ name = "conventionalcommits" },
|
||||
{ name = "copilot" },
|
||||
{ name = "nvim_lsp" },
|
||||
{ name = "luasnip" },
|
||||
{ name = "buffer" },
|
||||
{ name = "path" },
|
||||
}),
|
||||
formatting = {
|
||||
fields = { "kind", "abbr", "menu" },
|
||||
format = function(_, item)
|
||||
local icons = require("aleidk.constants").icons.kinds
|
||||
if icons[item.kind] then
|
||||
item.kind = icons[item.kind] .. item.kind
|
||||
end
|
||||
return item
|
||||
end,
|
||||
},
|
||||
window = {
|
||||
completion = cmp.config.window.bordered(window_opts),
|
||||
documentation = cmp.config.window.bordered(window_opts),
|
||||
},
|
||||
experimental = {
|
||||
ghost_text = {
|
||||
hl_group = "CmpGhostText",
|
||||
},
|
||||
},
|
||||
sorting = {
|
||||
priority_weight = 2,
|
||||
comparators = {
|
||||
require("copilot_cmp.comparators").prioritize,
|
||||
|
||||
-- Below is the default comparitor list and order for nvim-cmp
|
||||
cmp.config.compare.offset,
|
||||
-- cmp.config.compare.scopes, --this is commented in nvim-cmp too
|
||||
cmp.config.compare.exact,
|
||||
cmp.config.compare.score,
|
||||
cmp.config.compare.recently_used,
|
||||
cmp.config.compare.locality,
|
||||
cmp.config.compare.kind,
|
||||
cmp.config.compare.sort_text,
|
||||
cmp.config.compare.length,
|
||||
cmp.config.compare.order,
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
cmp.setup(opts)
|
||||
end,
|
||||
}
|
||||
|
|
@ -1,35 +0,0 @@
|
|||
return {
|
||||
"goolord/alpha-nvim",
|
||||
lazy = false,
|
||||
opts = function()
|
||||
local dashboard = require("alpha.themes.dashboard")
|
||||
|
||||
dashboard.section.header.val = {
|
||||
" ████ ███ █████ █████ ",
|
||||
" ░░███ ░░░ ░░███ ░░███ ",
|
||||
" ██████ ░███ ██████ ████ ███████ ░███ █████",
|
||||
" ░░░░░███ ░███ ███░░███░░███ ███░░███ ░███░░███ ",
|
||||
" ███████ ░███ ░███████ ░███ ░███ ░███ ░██████░ ",
|
||||
" ███░░███ ░███ ░███░░░ ░███ ░███ ░███ ░███░░███ ",
|
||||
"░░████████ █████░░██████ █████░░████████ ████ █████",
|
||||
" ░░░░░░░░ ░░░░░ ░░░░░░ ░░░░░ ░░░░░░░░ ░░░░ ░░░░░ ",
|
||||
}
|
||||
dashboard.section.header.opts.hl = "DashboardHeader"
|
||||
|
||||
dashboard.section.buttons.val = {
|
||||
dashboard.button("LDR f f", " Find File ", "<leader>ff"),
|
||||
dashboard.button("LDR LDR t", " Bookmars", "<leader><leader>t"),
|
||||
dashboard.button("LDR g g", " Git ", "<leader>gg"),
|
||||
}
|
||||
|
||||
dashboard.section.footer.val =
|
||||
{ " ", " ", " ", "Nvim loaded " .. require("lazy").stats().count .. " plugins " }
|
||||
dashboard.section.footer.opts.hl = "DashboardFooter"
|
||||
|
||||
dashboard.config.layout[1].val = vim.fn.max({ 2, vim.fn.floor(vim.fn.winheight(0) * 0.2) })
|
||||
dashboard.config.layout[3].val = 5
|
||||
dashboard.config.opts.noautocmd = true
|
||||
|
||||
return dashboard.opts
|
||||
end,
|
||||
}
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
return {
|
||||
"andrewferrier/debugprint.nvim",
|
||||
opts = {},
|
||||
-- Remove the following line to use development versions,
|
||||
-- not just the formal releases
|
||||
version = "*",
|
||||
}
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
return {
|
||||
-- better imputs
|
||||
"stevearc/dressing.nvim",
|
||||
opts = {
|
||||
input = {
|
||||
-- handle by noice
|
||||
enabled = false,
|
||||
},
|
||||
},
|
||||
}
|
||||
|
|
@ -1,100 +0,0 @@
|
|||
return {
|
||||
{
|
||||
"nvim-tree/nvim-tree.lua",
|
||||
enabled = false,
|
||||
version = "*",
|
||||
dependencies = {
|
||||
"nvim-tree/nvim-web-devicons",
|
||||
},
|
||||
keys = {
|
||||
{ "<Leader>e", "<CMD>NvimTreeToggle<CR>", desc = "Open file explorer" },
|
||||
},
|
||||
cmd = { "NvimTreeToggle", "Tree" },
|
||||
config = function()
|
||||
local tree = require("nvim-tree")
|
||||
local api = require("nvim-tree.api")
|
||||
|
||||
tree.setup({
|
||||
hijack_unnamed_buffer_when_opening = true,
|
||||
disable_netrw = false,
|
||||
hijack_netrw = false, -- handle by telescope browser
|
||||
hijack_cursor = true, -- cursor at the start of filename
|
||||
sync_root_with_cwd = true,
|
||||
respect_buf_cwd = true,
|
||||
update_focused_file = {
|
||||
enable = true, -- focus curren file
|
||||
update_root = true,
|
||||
},
|
||||
actions = { open_file = { quit_on_open = true } },
|
||||
renderer = {
|
||||
full_name = true, -- show remaining name in floating text
|
||||
group_empty = true, -- group empty folders
|
||||
add_trailing = true, -- Trailing slash to folders
|
||||
highlight_opened_files = "all",
|
||||
highlight_git = true,
|
||||
},
|
||||
view = {
|
||||
centralize_selection = true, -- center current file on enter
|
||||
width = 30, -- N° of columns or %
|
||||
},
|
||||
on_attach = function(bufnr)
|
||||
local function opts(desc)
|
||||
return {
|
||||
desc = "nvim-tree: " .. desc,
|
||||
buffer = bufnr,
|
||||
noremap = true,
|
||||
silent = true,
|
||||
nowait = true,
|
||||
}
|
||||
end
|
||||
|
||||
-- Check defaults here: https://github.com/nvim-tree/nvim-tree.lua/wiki/Migrating-To-on_attach
|
||||
api.config.mappings.default_on_attach(bufnr)
|
||||
|
||||
vim.keymap.set("n", "l", api.node.open.edit, opts("Open"))
|
||||
vim.keymap.set("n", "o", api.node.open.edit, opts("Open"))
|
||||
vim.keymap.set("n", "<CR>", api.node.open.edit, opts("Open"))
|
||||
vim.keymap.set("n", "<2-LeftMouse>", api.node.open.edit, opts("Open"))
|
||||
vim.keymap.set("n", "s", api.node.open.vertical, opts("Open in vsplit"))
|
||||
vim.keymap.set("n", "v", api.node.open.horizontal, opts("Open in hsplit"))
|
||||
vim.keymap.set("n", "t", api.node.open.tab, opts("Open in tab"))
|
||||
vim.keymap.set("n", "h", api.node.navigate.parent_close, opts("Close dir"))
|
||||
vim.keymap.set("n", "<BS>", api.node.navigate.parent_close, opts("Close dir"))
|
||||
vim.keymap.set("n", "i", api.tree.toggle_hidden_filter, opts("Toggle Dotfiles"))
|
||||
vim.keymap.set("n", "I", api.tree.toggle_gitignore_filter, opts("Toggle Git Ignore"))
|
||||
end,
|
||||
})
|
||||
|
||||
-- Auto open when a dir is opened
|
||||
|
||||
local function open_nvim_tree(data)
|
||||
-- buffer is a directory
|
||||
local directory = vim.fn.isdirectory(data.file) == 1
|
||||
|
||||
if not directory then
|
||||
return
|
||||
end
|
||||
|
||||
-- create a new, empty buffer
|
||||
vim.cmd.enew()
|
||||
|
||||
-- wipe the directory buffer
|
||||
vim.cmd.bw(data.buf)
|
||||
|
||||
-- change to the directory
|
||||
vim.cmd.cd(data.file)
|
||||
|
||||
-- open the tree
|
||||
require("nvim-tree.api").tree.open()
|
||||
end
|
||||
|
||||
vim.api.nvim_create_autocmd({ "VimEnter" }, { callback = open_nvim_tree })
|
||||
vim.api.nvim_create_user_command("Tree", "NvimTreeToggle", {})
|
||||
|
||||
-- bindings
|
||||
-- disabled to discourage the use of this plugin without disabling it
|
||||
-- vim.keymap.set("n", "<leader>e", ":NvimTreeToggle<CR>", { desc = "Toggle file tree", silent = true })
|
||||
-- vim.keymap.set("n", "<C-e>", ":NvimTreeToggle<CR>", { desc = "Toggle file tree", silent = true })
|
||||
end,
|
||||
},
|
||||
}
|
||||
|
|
@ -1,66 +0,0 @@
|
|||
return {
|
||||
"rolv-apneseth/tfm.nvim",
|
||||
lazy = false,
|
||||
opts = {
|
||||
-- TFM to use
|
||||
-- Possible choices: "ranger" | "nnn" | "lf" | "vifm" | "yazi" (default)
|
||||
file_manager = "yazi",
|
||||
-- Replace netrw entirely
|
||||
-- Default: false
|
||||
replace_netrw = true,
|
||||
-- Enable creation of commands
|
||||
-- Default: false
|
||||
-- Commands:
|
||||
-- Tfm: selected file(s) will be opened in the current window
|
||||
-- TfmSplit: selected file(s) will be opened in a horizontal split
|
||||
-- TfmVsplit: selected file(s) will be opened in a vertical split
|
||||
-- TfmTabedit: selected file(s) will be opened in a new tab page
|
||||
enable_cmds = true,
|
||||
-- Custom keybindings only applied within the TFM buffer
|
||||
-- Default: {}
|
||||
keybindings = {
|
||||
["<ESC>"] = "q",
|
||||
},
|
||||
-- Customise UI. The below options are the default
|
||||
ui = {
|
||||
border = "rounded",
|
||||
height = 1,
|
||||
width = 1,
|
||||
x = 0.5,
|
||||
y = 0.5,
|
||||
},
|
||||
},
|
||||
keys = {
|
||||
{
|
||||
"<leader>e",
|
||||
function()
|
||||
require("tfm").open()
|
||||
end,
|
||||
desc = "TFM",
|
||||
},
|
||||
{
|
||||
"<leader>mh",
|
||||
function()
|
||||
local tfm = require("tfm")
|
||||
tfm.open(nil, tfm.OPEN_MODE.split)
|
||||
end,
|
||||
desc = "TFM - horizontal split",
|
||||
},
|
||||
{
|
||||
"<leader>mv",
|
||||
function()
|
||||
local tfm = require("tfm")
|
||||
tfm.open(nil, tfm.OPEN_MODE.vsplit)
|
||||
end,
|
||||
desc = "TFM - vertical split",
|
||||
},
|
||||
{
|
||||
"<leader>mt",
|
||||
function()
|
||||
local tfm = require("tfm")
|
||||
tfm.open(nil, tfm.OPEN_MODE.tabedit)
|
||||
end,
|
||||
desc = "TFM - new tab",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
|
@ -1,114 +0,0 @@
|
|||
return {
|
||||
{
|
||||
"lewis6991/gitsigns.nvim",
|
||||
event = { "BufReadPre", "BufNewFile" },
|
||||
opts = {
|
||||
-- See `:help gitsigns.txt`
|
||||
signs = {
|
||||
add = { text = "▎" },
|
||||
change = { text = "▎" },
|
||||
delete = { text = "" },
|
||||
topdelete = { text = "" },
|
||||
changedelete = { text = "▎" },
|
||||
untracked = { text = "▎" },
|
||||
},
|
||||
on_attach = function(buffer)
|
||||
local gs = package.loaded.gitsigns
|
||||
|
||||
local function map(mode, l, r, desc)
|
||||
vim.keymap.set(mode, "<leader>g" .. l, r, { buffer = buffer, desc = desc })
|
||||
end
|
||||
|
||||
-- stylua: ignore start
|
||||
map("n", "j", gs.next_hunk, "Next Hunk")
|
||||
map("n", "k", gs.prev_hunk, "Prev Hunk")
|
||||
map({ "n", "v" }, "s", ":Gitsigns stage_hunk<CR>", "Stage Hunk")
|
||||
map({ "n", "v" }, "r", ":Gitsigns reset_hunk<CR>", "Reset Hunk")
|
||||
map("n", "u", gs.undo_stage_hunk, "Undo Stage Hunk")
|
||||
map("n", "R", gs.reset_buffer, "Reset Buffer")
|
||||
map("n", "<TAB>", gs.preview_hunk, "Preview Hunk")
|
||||
map("n", "l", function() gs.blame_line({full = true}) end, "Blame Line")
|
||||
map("n", "d", gs.diffthis, "Diff This")
|
||||
end,
|
||||
},
|
||||
},
|
||||
{
|
||||
"kdheepak/lazygit.nvim",
|
||||
event = "VeryLazy",
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
},
|
||||
keys = {
|
||||
{ "<leader>gG", ":LazyGit<CR>", desc = "Lazygit" },
|
||||
},
|
||||
},
|
||||
{
|
||||
"NeogitOrg/neogit",
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim", -- required
|
||||
"nvim-telescope/telescope.nvim", -- optional
|
||||
"sindrets/diffview.nvim", -- optional
|
||||
},
|
||||
config = true,
|
||||
opts = {
|
||||
disable_line_numbers = false,
|
||||
console_timeout = 8000,
|
||||
graph_style = "unicode",
|
||||
kind = "tab",
|
||||
ignored_settings = {
|
||||
"NeogitPushPopup--force",
|
||||
"NeogitPullPopup--rebase",
|
||||
"NeogitCommitPopup--allow-empty",
|
||||
"NeogitCommitPopup--reuse-message",
|
||||
"NeogitRevertPopup--no-edit",
|
||||
},
|
||||
},
|
||||
keys = {
|
||||
{
|
||||
"<leader>gg",
|
||||
function()
|
||||
require("neogit").open()
|
||||
end,
|
||||
desc = "Neogit",
|
||||
},
|
||||
{
|
||||
"<leader>gc",
|
||||
function()
|
||||
require("neogit").open({ "commit" })
|
||||
end,
|
||||
desc = "Commit",
|
||||
},
|
||||
{
|
||||
"<leader>gp",
|
||||
function()
|
||||
require("neogit").open({ "pull" })
|
||||
end,
|
||||
desc = "Pull",
|
||||
},
|
||||
{
|
||||
"<leader>gP",
|
||||
function()
|
||||
require("neogit").open({ "push" })
|
||||
end,
|
||||
desc = "Push",
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
"pwntester/octo.nvim",
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
"nvim-telescope/telescope.nvim",
|
||||
"nvim-tree/nvim-web-devicons",
|
||||
},
|
||||
opts = { enable_builtin = true },
|
||||
keys = {
|
||||
{
|
||||
"<leader>go",
|
||||
"<CMD>Octo<CR>",
|
||||
desc = "Octo.nvim",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
|
@ -1,38 +0,0 @@
|
|||
return {
|
||||
"jellydn/hurl.nvim",
|
||||
dependencies = {
|
||||
"MunifTanjim/nui.nvim",
|
||||
"nvim-lua/plenary.nvim",
|
||||
"nvim-treesitter/nvim-treesitter"
|
||||
},
|
||||
ft = "hurl",
|
||||
opts = {
|
||||
-- Show debugging info
|
||||
debug = false,
|
||||
-- Show notification on run
|
||||
show_notification = false,
|
||||
-- Show response in popup or split
|
||||
mode = "popup",
|
||||
-- Default formatter
|
||||
formatters = {
|
||||
json = { 'jq' }, -- Make sure you have install jq in your system, e.g: brew install jq
|
||||
html = {
|
||||
'prettierd', -- Make sure you have install prettier in your system, e.g: npm install -g prettier
|
||||
'--parser',
|
||||
'html',
|
||||
},
|
||||
},
|
||||
env_file = {
|
||||
'hurl.env',
|
||||
'.env',
|
||||
'.env.local',
|
||||
},
|
||||
},
|
||||
keys = {
|
||||
-- Run API request
|
||||
{ "<leader>ph", "<cmd>HurlRunnerAt<CR>", desc = "Run HTTP request" },
|
||||
{ "<leader>pH", "<cmd>HurlRunner<CR>", desc = "Run all HTTP requests" },
|
||||
-- Run Hurl request in visual mode
|
||||
{ "<leader>ph", ":HurlRunner<CR>", desc = "Run HTTP requests", mode = "v" },
|
||||
},
|
||||
}
|
||||
|
|
@ -1,99 +0,0 @@
|
|||
return {
|
||||
-- Detect tabstop and shiftwidth automatically
|
||||
"tpope/vim-sleuth",
|
||||
{ "nvim-tree/nvim-web-devicons", lazy = true },
|
||||
{
|
||||
"mbbill/undotree",
|
||||
config = function()
|
||||
vim.g.undotree_WindowLayout = 2
|
||||
vim.g.undotree_ShortIndicators = 1
|
||||
vim.g.undotree_SetFocusWhenToggle = 1
|
||||
end,
|
||||
keys = {
|
||||
{ "<leader>fu", vim.cmd.UndotreeToggle, desc = "Undo tree" },
|
||||
},
|
||||
},
|
||||
{
|
||||
-- Highlight word under cursor
|
||||
"RRethy/vim-illuminate",
|
||||
event = { "BufReadPost", "BufNewFile" },
|
||||
opts = { delay = 200 },
|
||||
config = function(_, opts)
|
||||
require("illuminate").configure(opts)
|
||||
end,
|
||||
},
|
||||
{
|
||||
-- Color Picker
|
||||
"uga-rosa/ccc.nvim",
|
||||
event = "VeryLazy",
|
||||
opts = {
|
||||
auto_enable = true,
|
||||
lsp = true,
|
||||
},
|
||||
keys = {
|
||||
{ "<leader>uc", "<CMD>CccPick<CR>", desc = "Open Color picker" },
|
||||
{ "<leader>uC", "<CMD>CccHighlighterToggle<CR>", desc = "Toggle Color highlight" },
|
||||
},
|
||||
},
|
||||
-- Dotfiles management
|
||||
{
|
||||
"xvzc/chezmoi.nvim",
|
||||
dependencies = { "nvim-lua/plenary.nvim", "alker0/chezmoi.vim" },
|
||||
config = function()
|
||||
require("chezmoi").setup({
|
||||
{
|
||||
edit = {
|
||||
watch = false,
|
||||
force = false,
|
||||
},
|
||||
notification = {
|
||||
on_open = true,
|
||||
on_apply = true,
|
||||
on_watch = false,
|
||||
},
|
||||
telescope = {
|
||||
select = { "<CR>" },
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
vim.api.nvim_create_autocmd({ "BufRead", "BufNewFile" }, {
|
||||
-- INFO: this should be the same as $(chezmoi source-path)
|
||||
pattern = { os.getenv("HOME") .. "/.local/share/chezmoi/chezmoi/*" },
|
||||
callback = function()
|
||||
vim.schedule(require("chezmoi.commands.__edit").watch)
|
||||
end,
|
||||
})
|
||||
local telescope = require("telescope")
|
||||
|
||||
telescope.load_extension("chezmoi")
|
||||
vim.keymap.set("n", "<leader>fz", telescope.extensions.chezmoi.find_files, { desc = "Find dotfile" })
|
||||
end,
|
||||
},
|
||||
{
|
||||
"pmizio/typescript-tools.nvim",
|
||||
dependencies = { "nvim-lua/plenary.nvim", "neovim/nvim-lspconfig" },
|
||||
opts = {
|
||||
init_options = {
|
||||
preferences = {
|
||||
disableSuggestions = true,
|
||||
},
|
||||
},
|
||||
settings = {
|
||||
-- array of strings("fix_all"|"add_missing_imports"|"remove_unused"|
|
||||
-- "remove_unused_imports"|"organize_imports") -- or string "all"
|
||||
-- to include all supported code actions
|
||||
-- specify commands exposed as code_actions
|
||||
expose_as_code_action = "all",
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
"olexsmir/gopher.nvim",
|
||||
ft = "go",
|
||||
build = function()
|
||||
vim.cmd([[silent! GoInstallDeps]])
|
||||
end,
|
||||
},
|
||||
}
|
||||
|
|
@ -1,215 +0,0 @@
|
|||
return {
|
||||
-- LSP Configuration & Plugins
|
||||
"neovim/nvim-lspconfig",
|
||||
event = { "BufReadPost", "BufNewFile", "BufWritePre" },
|
||||
dependencies = {
|
||||
-- Automatically install LSPs to stdpath for neovim
|
||||
{ "williamboman/mason.nvim" },
|
||||
"williamboman/mason-lspconfig.nvim",
|
||||
-- Additional lua configuration, makes nvim stuff amazing!
|
||||
{ "folke/neodev.nvim", opts = {} },
|
||||
},
|
||||
|
||||
config = function()
|
||||
-- LSP settings.
|
||||
local on_attach = function(_, bufnr)
|
||||
local nmap = function(keys, func, desc)
|
||||
if desc then
|
||||
desc = "LSP: " .. desc
|
||||
end
|
||||
|
||||
vim.keymap.set("n", keys, func, { buffer = bufnr, desc = desc })
|
||||
end
|
||||
|
||||
nmap("<leader>lr", vim.lsp.buf.rename, "Rename")
|
||||
-- stylua: ignore
|
||||
vim.keymap.set({ "n", "x", "v" }, "<leader>la", vim.lsp.buf.code_action, { buffer = bufnr, desc = "Code Action" })
|
||||
nmap("<leader>ld", vim.lsp.buf.type_definition, "Go to type definition")
|
||||
nmap("<leader>lf", function()
|
||||
vim.lsp.buf.format()
|
||||
end, "Format")
|
||||
|
||||
nmap("gd", vim.lsp.buf.definition, "Go to definition")
|
||||
nmap("gr", require("telescope.builtin").lsp_references, "Goto References")
|
||||
nmap("gI", vim.lsp.buf.implementation, "Go to Implementation")
|
||||
|
||||
-- See `:help K` for why this keymap
|
||||
nmap("K", vim.lsp.buf.hover, "Hover Documentation")
|
||||
-- nmap("<C-k>", vim.lsp.buf.signature_help, "Signature Documentation")
|
||||
|
||||
-- Lesser used LSP functionality
|
||||
nmap("gD", vim.lsp.buf.declaration, "Goto Declaration")
|
||||
|
||||
nmap("<leader>lj", vim.diagnostic.goto_next, "Go to next diagnostic")
|
||||
nmap("<leader>lk", vim.diagnostic.goto_prev, "Go to prev diagnostic")
|
||||
nmap("<leader>lK", function()
|
||||
-- execute twice to enter the float inmediatly
|
||||
vim.diagnostic.open_float()
|
||||
vim.diagnostic.open_float()
|
||||
end, "Hover current diagnostic")
|
||||
|
||||
-- Create a command `:Format` local to the LSP buffer
|
||||
vim.api.nvim_buf_create_user_command(bufnr, "Format", function(_)
|
||||
vim.lsp.buf.format()
|
||||
end, { desc = "Format current buffer with LSP" })
|
||||
end
|
||||
|
||||
-- Enable the following language servers
|
||||
-- To see options and cofigurations: https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md
|
||||
local servers = {
|
||||
astro = {},
|
||||
bashls = {},
|
||||
cssls = {},
|
||||
dockerls = {},
|
||||
emmet_ls = {
|
||||
filetypes = {
|
||||
"astro",
|
||||
"css",
|
||||
"eruby",
|
||||
"html",
|
||||
"htmldjango",
|
||||
"javascriptreact",
|
||||
"less",
|
||||
"pug",
|
||||
"sass",
|
||||
"scss",
|
||||
"svelte",
|
||||
"typescriptreact",
|
||||
"vue",
|
||||
"htmlangular",
|
||||
"php",
|
||||
"blade"
|
||||
},
|
||||
},
|
||||
html = {},
|
||||
["nil_ls"] = {},
|
||||
marksman = {},
|
||||
pyright = {},
|
||||
phpactor = {},
|
||||
gopls = {
|
||||
settings = {
|
||||
gopls = {
|
||||
completeUnimported = true,
|
||||
usePlaceholders = true,
|
||||
analyses = {
|
||||
unusedparams = true,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
ruff = {},
|
||||
rust_analyzer = {
|
||||
settings = {
|
||||
["rust-analyzer"] = {
|
||||
imports = {
|
||||
granularity = {
|
||||
group = "module",
|
||||
},
|
||||
prefix = "self",
|
||||
},
|
||||
cargo = {
|
||||
buildScripts = {
|
||||
enable = true,
|
||||
},
|
||||
},
|
||||
procMacro = {
|
||||
enable = true,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
sqlls = {},
|
||||
yamlls = {},
|
||||
tsserver = {
|
||||
init_options = {
|
||||
preferences = {
|
||||
disableSuggestions = true,
|
||||
},
|
||||
},
|
||||
},
|
||||
lua_ls = {
|
||||
settings = {
|
||||
Lua = {
|
||||
runtime = {
|
||||
-- Tell the language server which version of Lua you're using
|
||||
-- (most likely LuaJIT in the case of Neovim)
|
||||
version = "LuaJIT",
|
||||
},
|
||||
-- Make the server aware of Neovim runtime files
|
||||
workspace = {
|
||||
checkThirdParty = false,
|
||||
library = {
|
||||
vim.env.VIMRUNTIME,
|
||||
-- "${3rd}/luv/library"
|
||||
-- "${3rd}/busted/library",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
-- nvim-cmp supports additional completion capabilities, so broadcast that to servers
|
||||
local capabilities = vim.lsp.protocol.make_client_capabilities()
|
||||
capabilities = require("cmp_nvim_lsp").default_capabilities(capabilities)
|
||||
|
||||
-- Ensure the servers above are installed
|
||||
local mason_lspconfig = require("mason-lspconfig")
|
||||
|
||||
mason_lspconfig.setup({
|
||||
ensure_installed = vim.tbl_keys(servers),
|
||||
automatic_installation = { exclude = { "astro", "phpactor", "gopls", "rust_analyzer", "sqlls" } },
|
||||
})
|
||||
|
||||
mason_lspconfig.setup_handlers({
|
||||
function(server_name)
|
||||
local _border = "single"
|
||||
|
||||
local default_config = {
|
||||
capabilities = capabilities,
|
||||
on_attach = on_attach,
|
||||
handlers = {
|
||||
["textDocument/signatureHelp"] = vim.lsp.with(vim.lsp.handlers.signature_help, {
|
||||
border = _border,
|
||||
}),
|
||||
["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, {
|
||||
border = _border,
|
||||
}),
|
||||
},
|
||||
}
|
||||
|
||||
require("lspconfig")[server_name].setup(
|
||||
vim.tbl_deep_extend("force", default_config, servers[server_name] or {})
|
||||
)
|
||||
end,
|
||||
})
|
||||
|
||||
vim.diagnostic.config({
|
||||
update_in_insert = false,
|
||||
underline = true,
|
||||
float = {
|
||||
source = true
|
||||
},
|
||||
virtual_text = {
|
||||
severity = vim.diagnostic.severity.ERROR,
|
||||
source = true,
|
||||
spacing = -1,
|
||||
prefix = nil,
|
||||
format = function(diagnostic)
|
||||
-- show small error code instead of whole error that probably won't fit in the screen
|
||||
-- to see the whole error use other keybindings
|
||||
return tostring(diagnostic.code)
|
||||
end,
|
||||
virt_text_hide = true
|
||||
},
|
||||
severity_sort = true,
|
||||
})
|
||||
|
||||
-- Customize gutter icons
|
||||
local signs = require("aleidk.constants").icons.diagnostics
|
||||
for type, icon in pairs(signs) do
|
||||
local hl = "DiagnosticSign" .. type
|
||||
vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = hl })
|
||||
end
|
||||
end,
|
||||
}
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
return {
|
||||
{
|
||||
"MeanderingProgrammer/markdown.nvim",
|
||||
name = "render-markdown", -- Only needed if you have another plugin named markdown.nvim
|
||||
-- dependencies = { 'nvim-treesitter/nvim-treesitter', 'echasnovski/mini.nvim' }, -- if you use the mini.nvim suite
|
||||
-- dependencies = { 'nvim-treesitter/nvim-treesitter', 'echasnovski/mini.icons' }, -- if you use standalone mini plugins
|
||||
dependencies = { "nvim-treesitter/nvim-treesitter", "nvim-tree/nvim-web-devicons" }, -- if you prefer nvim-web-devicons
|
||||
opts = {
|
||||
file_types = { 'markdown', 'codecompanion' },
|
||||
sign = {
|
||||
enabled = false,
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"zk-org/zk-nvim",
|
||||
config = function()
|
||||
require("zk").setup({
|
||||
picker = "select",
|
||||
})
|
||||
|
||||
function MAP(mode, l, r, desc)
|
||||
vim.keymap.set(mode, l, r, { desc = desc, silent = true })
|
||||
end
|
||||
|
||||
MAP("n", "<CR>", "<Cmd>lua vim.lsp.buf.definition()<CR>", "Open the link under cursor")
|
||||
|
||||
MAP("n", "<leader>zn", "<Cmd>ZkNew { dir = vim.fn.expand('%:p:h'), title = vim.fn.input('Title: ') }<CR>",
|
||||
"Create new note")
|
||||
MAP("v", "<leader>zN",
|
||||
":'<,'>ZkNewFromContentSelection { dir = vim.fn.expand('%:p:h'), title = vim.fn.input('Title: ') }<CR>",
|
||||
"Create new note using selection as content")
|
||||
|
||||
MAP("n", "<leader>zl", "<Cmd>ZkInsertLink<CR>", "Insert Link into cursor position")
|
||||
MAP("v", "<leader>zl", ":'<,'>ZkInsertLinkAtSelection<CR>", "Insert Link into selection")
|
||||
|
||||
MAP("n", "<leader>zb", "<Cmd>ZkBacklinks<CR>", "Backlinks")
|
||||
MAP("n", "<leader>zo", "<Cmd>ZkLinks<CR>", "Outlinks")
|
||||
|
||||
MAP("n", "<leader>zf", "<Cmd>ZkNotes<CR>", "Find note")
|
||||
MAP("n", "<leader>zt", "<Cmd>ZkTags<CR>", "Find tags")
|
||||
end
|
||||
}
|
||||
}
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
return {
|
||||
"williamboman/mason.nvim",
|
||||
cmd = "Mason",
|
||||
keys = { { "<leader>um", "<cmd>Mason<cr>", desc = "Mason" } },
|
||||
build = ":MasonUpdate",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"blue",
|
||||
"ruff",
|
||||
"eslint_d",
|
||||
"markdownlint",
|
||||
"nimlsp",
|
||||
"prettierd",
|
||||
"shellcheck",
|
||||
"stylua",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
|
@ -1,123 +0,0 @@
|
|||
return {
|
||||
"folke/noice.nvim",
|
||||
event = "VeryLazy",
|
||||
dependencies = {
|
||||
-- if you lazy-load any plugin below, make sure to add proper `module="..."` entries
|
||||
"MunifTanjim/nui.nvim",
|
||||
},
|
||||
opts = {
|
||||
presets = {
|
||||
bottom_search = true,
|
||||
-- command_palette = true,
|
||||
long_message_to_split = true,
|
||||
inc_rename = true,
|
||||
},
|
||||
lsp = {
|
||||
override = {
|
||||
["vim.lsp.util.convert_input_to_markdown_lines"] = true,
|
||||
["vim.lsp.util.stylize_markdown"] = true,
|
||||
["cmp.entry.get_documentation"] = true,
|
||||
},
|
||||
},
|
||||
routes = {
|
||||
{
|
||||
filter = {
|
||||
event = "msg_show",
|
||||
any = {
|
||||
{ find = "%d+L, %d+B" },
|
||||
{ find = "; after #%d+" },
|
||||
{ find = "; before #%d+" },
|
||||
},
|
||||
},
|
||||
view = "mini",
|
||||
},
|
||||
{
|
||||
filter = {
|
||||
event = "msg_show",
|
||||
kind = "search_count",
|
||||
},
|
||||
opts = { skip = true },
|
||||
},
|
||||
},
|
||||
views = {
|
||||
cmdline_popup = {
|
||||
position = {
|
||||
row = 5,
|
||||
col = "50%",
|
||||
},
|
||||
size = {
|
||||
width = 60,
|
||||
height = "auto",
|
||||
},
|
||||
},
|
||||
popupmenu = {
|
||||
relative = "editor",
|
||||
position = {
|
||||
row = 8,
|
||||
col = "50%",
|
||||
},
|
||||
size = {
|
||||
width = 60,
|
||||
height = 10,
|
||||
},
|
||||
border = {
|
||||
style = "rounded",
|
||||
padding = { 0, 1 },
|
||||
},
|
||||
win_options = {
|
||||
winhighlight = { Normal = "Normal", FloatBorder = "DiagnosticInfo" },
|
||||
},
|
||||
},
|
||||
notify = {
|
||||
enabled = false,
|
||||
},
|
||||
messages = {
|
||||
enabled = false,
|
||||
},
|
||||
},
|
||||
},
|
||||
-- stylua: ignore
|
||||
keys = {
|
||||
{
|
||||
"<S-Enter>",
|
||||
function() require("noice").redirect(vim.fn.getcmdline()) end,
|
||||
mode = "c",
|
||||
desc =
|
||||
"Redirect Cmdline"
|
||||
},
|
||||
{
|
||||
"<leader>unl",
|
||||
function() require("noice").cmd("last") end,
|
||||
desc =
|
||||
"Noice Last Message"
|
||||
},
|
||||
{
|
||||
"<leader>unh",
|
||||
function() require("noice").cmd("history") end,
|
||||
desc =
|
||||
"Noice History"
|
||||
},
|
||||
{ "<leader>una", function() require("noice").cmd("all") end, desc = "Noice All" },
|
||||
{ "<leader>und", function() require("noice").cmd("dismiss") end, desc = "Dismiss All" },
|
||||
{
|
||||
"<c-f>",
|
||||
function() if not require("noice.lsp").scroll(4) then return "<c-f>" end end,
|
||||
silent = true,
|
||||
expr = true,
|
||||
desc =
|
||||
"Scroll forward",
|
||||
mode = {
|
||||
"i", "n", "s" }
|
||||
},
|
||||
{
|
||||
"<c-b>",
|
||||
function() if not require("noice.lsp").scroll(-4) then return "<c-b>" end end,
|
||||
silent = true,
|
||||
expr = true,
|
||||
desc =
|
||||
"Scroll backward",
|
||||
mode = {
|
||||
"i", "n", "s" }
|
||||
},
|
||||
},
|
||||
}
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
return {
|
||||
enabled = false,
|
||||
"anuvyklack/pretty-fold.nvim",
|
||||
opts = {
|
||||
sections = {
|
||||
left = {
|
||||
"+",
|
||||
function()
|
||||
return string.rep("-", vim.v.foldlevel)
|
||||
end,
|
||||
" ",
|
||||
"content",
|
||||
" ",
|
||||
"number_of_folded_lines",
|
||||
" ",
|
||||
function()
|
||||
return string.rep("-", vim.v.foldlevel)
|
||||
end,
|
||||
"+",
|
||||
},
|
||||
},
|
||||
fill_char = " ",
|
||||
|
||||
-- Possible values:
|
||||
-- "delete" : Delete all comment signs from the fold string.
|
||||
-- "spaces" : Replace all comment signs with equal number of spaces.
|
||||
-- false : Do nothing with comment signs.
|
||||
process_comment_signs = "delete",
|
||||
|
||||
-- List of patterns that will be removed from content foldtext section.
|
||||
stop_words = {
|
||||
"@brief%s*", -- (for C++) Remove '@brief' and all spaces after.
|
||||
},
|
||||
|
||||
matchup_patterns = {
|
||||
{ "{", "}" },
|
||||
{ "%(", ")" }, -- % to escape lua pattern char
|
||||
{ "%[", "]" }, -- % to escape lua pattern char
|
||||
},
|
||||
|
||||
ft_ignore = { "neorg" },
|
||||
},
|
||||
}
|
||||
|
|
@ -1,89 +0,0 @@
|
|||
return {
|
||||
{
|
||||
"kevinhwang91/nvim-bqf",
|
||||
event = "VeryLazy",
|
||||
dependencies = {},
|
||||
config = function()
|
||||
local fn = vim.fn
|
||||
|
||||
function _G.qftf(info)
|
||||
local items
|
||||
local ret = {}
|
||||
-- The name of item in list is based on the directory of quickfix window.
|
||||
-- Change the directory for quickfix window make the name of item shorter.
|
||||
-- It's a good opportunity to change current directory in quickfixtextfunc :)
|
||||
--
|
||||
-- local alterBufnr = fn.bufname('#') -- alternative buffer is the buffer before enter qf window
|
||||
-- local root = getRootByAlterBufnr(alterBufnr)
|
||||
-- vim.cmd(('noa lcd %s'):format(fn.fnameescape(root)))
|
||||
--
|
||||
if info.quickfix == 1 then
|
||||
items = fn.getqflist({ id = info.id, items = 0 }).items
|
||||
else
|
||||
items = fn.getloclist(info.winid, { id = info.id, items = 0 }).items
|
||||
end
|
||||
local limit = 31
|
||||
local fnameFmt1, fnameFmt2 = "%-" .. limit .. "s", "…%." .. (limit - 1) .. "s"
|
||||
local validFmt = "%s │%5d:%-3d│%s %s"
|
||||
for i = info.start_idx, info.end_idx do
|
||||
local e = items[i]
|
||||
local fname = ""
|
||||
local str
|
||||
if e.valid == 1 then
|
||||
if e.bufnr > 0 then
|
||||
fname = fn.bufname(e.bufnr)
|
||||
if fname == "" then
|
||||
fname = "[No Name]"
|
||||
else
|
||||
fname = fname:gsub("^" .. vim.env.HOME, "~")
|
||||
end
|
||||
-- char in fname may occur more than 1 width, ignore this issue in order to keep performance
|
||||
if #fname <= limit then
|
||||
fname = fnameFmt1:format(fname)
|
||||
else
|
||||
fname = fnameFmt2:format(fname:sub(1 - limit))
|
||||
end
|
||||
end
|
||||
local lnum = e.lnum > 99999 and -1 or e.lnum
|
||||
local col = e.col > 999 and -1 or e.col
|
||||
local qtype = e.type == "" and "" or " " .. e.type:sub(1, 1):upper()
|
||||
str = validFmt:format(fname, lnum, col, qtype, e.text)
|
||||
else
|
||||
str = e.text
|
||||
end
|
||||
table.insert(ret, str)
|
||||
end
|
||||
return ret
|
||||
end
|
||||
|
||||
vim.o.qftf = "{info -> v:lua._G.qftf(info)}"
|
||||
|
||||
-- Adapt fzf's delimiter in nvim-bqf
|
||||
require("bqf").setup({
|
||||
filter = {
|
||||
fzf = {
|
||||
extra_opts = { "--bind", "ctrl-o:toggle-all", "--delimiter", "│" },
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
local toggle_qf = function()
|
||||
local qf_open = false
|
||||
for _, win in pairs(vim.fn.getwininfo()) do
|
||||
if win["quickfix"] == 1 then
|
||||
qf_open = true
|
||||
end
|
||||
end
|
||||
if qf_open == true then
|
||||
vim.cmd("cclose")
|
||||
return
|
||||
end
|
||||
if not vim.tbl_isempty(vim.fn.getqflist()) then
|
||||
vim.cmd("copen")
|
||||
end
|
||||
end
|
||||
|
||||
MAP("n", "<Leader>fQ", toggle_qf, "Toggle quickfix")
|
||||
end,
|
||||
},
|
||||
}
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
return {
|
||||
-- sessions
|
||||
"rmagatti/auto-session",
|
||||
config = function()
|
||||
---@diagnostic disable-next-line: missing-fields
|
||||
require("auto-session").setup({
|
||||
log_level = "error",
|
||||
auto_session_suppress_dirs = {
|
||||
"/",
|
||||
"~/",
|
||||
"~/.config/**",
|
||||
"~/.local/share/chezmoi/",
|
||||
"~/.local/share/db_ui",
|
||||
"~/.local/share/db_ui/**",
|
||||
"~/Downloads",
|
||||
},
|
||||
bypass_session_save_file_types = {
|
||||
"NeogitStatus",
|
||||
"Lazy",
|
||||
},
|
||||
})
|
||||
end,
|
||||
}
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
return {
|
||||
"folke/trouble.nvim",
|
||||
dependencies = { "nvim-tree/nvim-web-devicons" },
|
||||
cmd = { "TroubleToggle", "Trouble" },
|
||||
keys = {
|
||||
{ "<leader>fq", "<CMD>TroubleToggle<CR>", desc = "Toggle trouble" },
|
||||
{ "<leader>fd", "<CMD>TroubleToggle workspace_diagnostics<CR>", desc = "Find diagnostics" },
|
||||
{
|
||||
"<leader>fD",
|
||||
"<CMD>TroubleToggle document_diagnostics<CR>",
|
||||
desc = "Find diagnostics in workspace",
|
||||
},
|
||||
},
|
||||
config = function()
|
||||
require("trouble").setup({
|
||||
mode = "document_diagnostics",
|
||||
action_keys = {
|
||||
open_split = "s",
|
||||
open_vsplit = "v",
|
||||
open_tab = "t",
|
||||
},
|
||||
})
|
||||
end,
|
||||
}
|
||||
|
|
@ -1,81 +0,0 @@
|
|||
return {
|
||||
"folke/zen-mode.nvim",
|
||||
dependencies = {
|
||||
{
|
||||
"folke/twilight.nvim",
|
||||
opts = {
|
||||
-- your configuration comes here
|
||||
-- or leave it empty to use the default settings
|
||||
-- refer to the configuration section below
|
||||
},
|
||||
},
|
||||
},
|
||||
keys = {
|
||||
{
|
||||
"<leader>uz",
|
||||
function()
|
||||
require("zen-mode").toggle({})
|
||||
end,
|
||||
desc = "Toggle zen mode",
|
||||
},
|
||||
},
|
||||
opts = {
|
||||
window = {
|
||||
backdrop = 0.95, -- shade the backdrop of the Zen window. Set to 1 to keep the same as Normal
|
||||
-- height and width can be:
|
||||
-- * an absolute number of cells when > 1
|
||||
-- * a percentage of the width / height of the editor when <= 1
|
||||
-- * a function that returns the width or the height
|
||||
width = 0.8, -- width of the Zen window
|
||||
height = 1, -- height of the Zen window
|
||||
-- by default, no options are changed for the Zen window
|
||||
-- uncomment any of the options below, or add other vim.wo options you want to apply
|
||||
options = {
|
||||
-- signcolumn = "no", -- disable signcolumn
|
||||
-- number = false, -- disable number column
|
||||
-- relativenumber = false, -- disable relative numbers
|
||||
cursorline = false, -- disable cursorline
|
||||
-- cursorcolumn = false, -- disable cursor column
|
||||
-- foldcolumn = "0", -- disable fold column
|
||||
list = false, -- disable whitespace characters
|
||||
},
|
||||
},
|
||||
plugins = {
|
||||
-- disable some global vim options (vim.o...)
|
||||
-- comment the lines to not apply the options
|
||||
options = {
|
||||
enabled = true,
|
||||
ruler = true, -- disables the ruler text in the cmd line area
|
||||
showcmd = false, -- disables the command in the last line of the screen
|
||||
-- you may turn on/off statusline in zen mode by setting 'laststatus'
|
||||
-- statusline will be shown only if 'laststatus' == 3
|
||||
laststatus = 0, -- turn off the statusline in zen mode
|
||||
},
|
||||
twilight = { enabled = true }, -- enable to start Twilight when zen mode opens
|
||||
gitsigns = { enabled = false }, -- disables git signs
|
||||
tmux = { enabled = true }, -- disables the tmux statusline
|
||||
-- this will change the font size on kitty when in zen mode
|
||||
-- to make this work, you need to set the following kitty options:
|
||||
-- - allow_remote_control socket-only
|
||||
-- - listen_on unix:/tmp/kitty
|
||||
kitty = {
|
||||
enabled = true,
|
||||
font = "+8", -- font size increment
|
||||
},
|
||||
-- this will change the font size on alacritty when in zen mode
|
||||
-- requires Alacritty Version 0.10.0 or higher
|
||||
-- uses `alacritty msg` subcommand to change font size
|
||||
alacritty = {
|
||||
enabled = true,
|
||||
font = "14", -- font size
|
||||
},
|
||||
-- this will change the font size on wezterm when in zen mode
|
||||
-- See else also the Plugins/Wezterm section in this projects README
|
||||
wezterm = {
|
||||
enabled = true,
|
||||
-- can be either an absolute font size or the number of incremental steps
|
||||
font = "+4", -- (10% increase per step)
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
|
@ -1,80 +0,0 @@
|
|||
{
|
||||
"LuaSnip": { "branch": "master", "commit": "ce0a05ab4e2839e1c48d072c5236cce846a387bc" },
|
||||
"alpha-nvim": { "branch": "main", "commit": "41283fb402713fc8b327e60907f74e46166f4cfd" },
|
||||
"auto-session": { "branch": "main", "commit": "4b0728715e674ad9c18f1519127dcaed59f9981b" },
|
||||
"ccc.nvim": { "branch": "main", "commit": "4fb5abaef2f2e0540fe22d4d74a9841205fff9e4" },
|
||||
"chezmoi.nvim": { "branch": "main", "commit": "faf61465718424696269b2647077331b3e4605f1" },
|
||||
"chezmoi.vim": { "branch": "main", "commit": "10f2692791b5e512a2c1bb4dc560b42ca5bf71fd" },
|
||||
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
|
||||
"cmp-cmdline": { "branch": "main", "commit": "d250c63aa13ead745e3a40f61fdd3470efde3923" },
|
||||
"cmp-conventionalcommits": { "branch": "master", "commit": "a4dfacf0601130b7f8afa7c948d735c27802fb7f" },
|
||||
"cmp-git": { "branch": "main", "commit": "22116bdffbe68bfc6ca05d52e9f217587cbfea8b" },
|
||||
"cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" },
|
||||
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
|
||||
"cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" },
|
||||
"codecompanion.nvim": { "branch": "main", "commit": "ade8d29c94f6ad3c5b4ccf38517cec13126a6f0d" },
|
||||
"comment-box.nvim": { "branch": "main", "commit": "06bb771690bc9df0763d14769b779062d8f12bc5" },
|
||||
"conform.nvim": { "branch": "master", "commit": "0ebe875d9c306f5fc829db38492ffff2a70d8e9d" },
|
||||
"copilot-cmp": { "branch": "master", "commit": "b6e5286b3d74b04256d0a7e3bd2908eabec34b44" },
|
||||
"copilot-lualine": { "branch": "main", "commit": "f40450c3e138766026327e7807877ea860618258" },
|
||||
"copilot.lua": { "branch": "master", "commit": "f8d8d872bb319f640d5177dad5fbf01f7a16d7d0" },
|
||||
"debugprint.nvim": { "branch": "main", "commit": "8f2a335fb0e6ebf0291a3551e0198363437e3a38" },
|
||||
"diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" },
|
||||
"dressing.nvim": { "branch": "master", "commit": "6741f1062d3dc6e4755367a7e9b347b553623f04" },
|
||||
"flash.nvim": { "branch": "main", "commit": "d0799ae43a581d9f190e182e2a1f389d2887c42a" },
|
||||
"friendly-snippets": { "branch": "main", "commit": "45a1b96e46efe5fce8af325d4bed45feb9d29d0f" },
|
||||
"gitsigns.nvim": { "branch": "main", "commit": "e9c4187c3774a46df2d086a66cf3a7e6bea4c432" },
|
||||
"gopher.nvim": { "branch": "main", "commit": "f55c15ada8e02398000c04a96ef44d986cd01051" },
|
||||
"grapple.nvim": { "branch": "main", "commit": "7aedc261b05a6c030397c4bc26416efbe746ebf1" },
|
||||
"hurl.nvim": { "branch": "main", "commit": "d708158dda9a175c0f83cd106ea232301f4317cb" },
|
||||
"indent-blankline.nvim": { "branch": "master", "commit": "65e20ab94a26d0e14acac5049b8641336819dfc7" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "b02c9eae6a250f98908c146d1dc1a891f5019f0a" },
|
||||
"lazygit.nvim": { "branch": "main", "commit": "dc56df433bfbf107fee0139e187eb9750878fa84" },
|
||||
"lualine.nvim": { "branch": "master", "commit": "6a40b530539d2209f7dc0492f3681c8c126647ad" },
|
||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "37a336b653f8594df75c827ed589f1c91d91ff6c" },
|
||||
"mason.nvim": { "branch": "main", "commit": "f96a31855fa8aea55599cea412fe611b85a874ed" },
|
||||
"mini.clue": { "branch": "main", "commit": "08f792869781b4bfdfcaa55eb905b9635c0a243f" },
|
||||
"mini.comment": { "branch": "main", "commit": "c8406379987c321ecdef9f53e1ca741a55002104" },
|
||||
"mini.surround": { "branch": "main", "commit": "3cb5b509ad34f2402df4b977be607a614c8c7524" },
|
||||
"neodev.nvim": { "branch": "main", "commit": "46aa467dca16cf3dfe27098042402066d2ae242d" },
|
||||
"neogen": { "branch": "main", "commit": "0daffcec249bf42275e322361fe55b89a05ff278" },
|
||||
"neogit": { "branch": "master", "commit": "a20031fb5d7d12148764764059243135085e5c9b" },
|
||||
"noice.nvim": { "branch": "main", "commit": "6263b6696811f0b11c88d8d2371134b1cc1762fc" },
|
||||
"nui.nvim": { "branch": "main", "commit": "61574ce6e60c815b0a0c4b5655b8486ba58089a1" },
|
||||
"nvim": { "branch": "main", "commit": "7946d1a195c66fed38b3e34f9fa8e0c5a2da0700" },
|
||||
"nvim-autopairs": { "branch": "master", "commit": "78a4507bb9ffc9b00f11ae0ac48243d00cb9194d" },
|
||||
"nvim-bqf": { "branch": "main", "commit": "1b24dc6050c34e8cd377b6b4cd6abe40509e0187" },
|
||||
"nvim-cmp": { "branch": "main", "commit": "a110e12d0b58eefcf5b771f533fc2cf3050680ac" },
|
||||
"nvim-lint": { "branch": "master", "commit": "efc6fc83f0772283e064c53a8f9fb5645bde0bc0" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "216deb2d1b5fbf24398919228208649bbf5cbadf" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "7f4ac678770175cdf0d42c015f4a5b6e18b6cb33" },
|
||||
"nvim-treesitter-context": { "branch": "master", "commit": "f56a1430f21334868a86eb980b12e0af55690e98" },
|
||||
"nvim-treesitter-textobjects": { "branch": "master", "commit": "34867c69838078df7d6919b130c0541c0b400c47" },
|
||||
"nvim-ts-autotag": { "branch": "main", "commit": "323a3e16ed603e2e17b26b1c836d1e86c279f726" },
|
||||
"nvim-ts-context-commentstring": { "branch": "main", "commit": "6b5f95aa4d24f2c629a74f2c935c702b08dbde62" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "c0cfc1738361b5da1cd0a962dd6f774cc444f856" },
|
||||
"octo.nvim": { "branch": "master", "commit": "aa5dfa573220a0a511a25ee14ce1570b6c23e56a" },
|
||||
"overseer.nvim": { "branch": "master", "commit": "15b6249eaf71ebbc8bf0ed279e045f2bc1f28007" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683" },
|
||||
"pretty-fold.nvim": { "branch": "master", "commit": "a7d8b424abe0eedf50116c460fbe6dfd5783b1d5" },
|
||||
"remote-sshfs.nvim": { "branch": "main", "commit": "8f05563150fbd713027471eed56f391b053ba8b8" },
|
||||
"render-markdown": { "branch": "main", "commit": "123048b428eb85618780fcef9ea9f4d68b5d2508" },
|
||||
"smart-splits.nvim": { "branch": "master", "commit": "95833675cd92538bf9cded1d2d58d1fc271c5428" },
|
||||
"telescope-fzf-native.nvim": { "branch": "main", "commit": "cf48d4dfce44e0b9a2e19a008d6ec6ea6f01a83b" },
|
||||
"telescope.nvim": { "branch": "master", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
|
||||
"tfm.nvim": { "branch": "main", "commit": "fb0de2c96bf303216ac5d91ce9bdb7f430030f8b" },
|
||||
"todo-comments.nvim": { "branch": "main", "commit": "d61567557e2ff5c548c74e96b2d9f8d33e5fcb34" },
|
||||
"treesj": { "branch": "main", "commit": "6e8bd008bacd5ad001c3953017c1dca20709e915" },
|
||||
"trouble.nvim": { "branch": "main", "commit": "03c1fbf518bef683422a3be9643c3da190903488" },
|
||||
"ts-node-action": { "branch": "master", "commit": "6d3b60754fd87963d70eadaa2f77873b447eac26" },
|
||||
"twilight.nvim": { "branch": "main", "commit": "2b632c169a4b51b1eba5be90fde22a80c51c990e" },
|
||||
"typescript-tools.nvim": { "branch": "master", "commit": "5da4d695d66f676eb6ea766b946e86f93baaafe7" },
|
||||
"undotree": { "branch": "master", "commit": "56c684a805fe948936cda0d1b19505b84ad7e065" },
|
||||
"vim-dadbod": { "branch": "master", "commit": "7888cb7164d69783d3dce4e0283decd26b82538b" },
|
||||
"vim-dadbod-completion": { "branch": "master", "commit": "8c9051c1cfc73fcf5bfe9a84db7097e4f7c0180d" },
|
||||
"vim-dadbod-ui": { "branch": "master", "commit": "f74a31e8c6c5a9dccc63450a09d5cd64a9294330" },
|
||||
"vim-illuminate": { "branch": "master", "commit": "5eeb7951fc630682c322e88a9bbdae5c224ff0aa" },
|
||||
"vim-sleuth": { "branch": "master", "commit": "1cc4557420f215d02c4d2645a748a816c220e99b" },
|
||||
"zen-mode.nvim": { "branch": "main", "commit": "2694c5a2bc4dc26c7a9e74b9e2b812920c90a830" },
|
||||
"zk-nvim": { "branch": "main", "commit": "dbf4eeab55b08856c9d6b6722dbff39630bb35eb" }
|
||||
}
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
{{ .chezmoi.sourceDir }}/dot_config/nvim/original_lazy-lock.json
|
||||
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
<?php
|
||||
|
||||
$config = new PhpCsFixer\Config();
|
||||
return $config
|
||||
->setIndent(" ");
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
[pycodestyle]
|
||||
max-line-length = 100
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# Wrapper for launching the configuration from lua. This will add the river
|
||||
# directory to the LUA_PATH global variable so the configuration can be
|
||||
# splitted into multiple files
|
||||
|
||||
config_dir="${XDG_CONFIG_HOME:-$HOME/.config}/river"
|
||||
export LUA_PATH="$config_dir/?.lua;$config_dir/?/init.lua;$LUA_PATH"
|
||||
|
||||
lua "$config_dir"/init.lua
|
||||
|
|
@ -1,40 +0,0 @@
|
|||
local River = require('river')
|
||||
local Logger = require('logger')
|
||||
|
||||
local logger = Logger:new()
|
||||
logger:log(
|
||||
[[
|
||||
+---------------------------------------------------------+
|
||||
| Initializing River... |
|
||||
+---------------------------------------------------------+
|
||||
]]
|
||||
)
|
||||
|
||||
local config = {
|
||||
|
||||
}
|
||||
|
||||
local river = River:new()
|
||||
print(type(river))
|
||||
|
||||
river:set_bg("$HOME/Pictures/Minimalist__cron.png")
|
||||
|
||||
-- ╭─────────────────────────────────────────────────────────╮
|
||||
-- │ Keymaps │
|
||||
-- ╰─────────────────────────────────────────────────────────╯
|
||||
|
||||
local mods = river.keys.modifiers
|
||||
river:map { mods.super, "Return", "spawn kitty" }
|
||||
river:map { mods.super_shift, "q", "exit" }
|
||||
|
||||
-- river:exec("rivertile -view-padding 2 -outer-padding 2 -main-ratio 0.5 -main-count 1 &")
|
||||
|
||||
local cmds = {
|
||||
"waybar",
|
||||
}
|
||||
|
||||
for _, cmd in ipairs(cmds) do
|
||||
river:spawn(cmd)
|
||||
end
|
||||
|
||||
logger:close()
|
||||
|
|
@ -1,49 +0,0 @@
|
|||
--- Logger interface
|
||||
---@class Logger
|
||||
---@field available_outputs table<string, file*> Available outputs to use in the logger
|
||||
---@field output file* The open file to write to
|
||||
local Logger = {
|
||||
available_outputs = {
|
||||
stdout = io.stdout
|
||||
},
|
||||
output = io.stdout
|
||||
}
|
||||
|
||||
Logger.__index = Logger
|
||||
|
||||
--- Create a new logger instance
|
||||
---@param output? file* io.stdout by default, [see Logger.available_outputs](lua://Logger.available_outputs) for possible values
|
||||
---@return Logger
|
||||
function Logger:new(output)
|
||||
local obj = {
|
||||
output = output or Logger.available_outputs.stdout
|
||||
}
|
||||
|
||||
setmetatable(obj, self)
|
||||
self.__index = self
|
||||
|
||||
self:open()
|
||||
|
||||
return obj
|
||||
end
|
||||
|
||||
function Logger:open()
|
||||
self:log("\n\n")
|
||||
self:log("Opening logger...\n")
|
||||
end
|
||||
|
||||
function Logger:close()
|
||||
self:log("Closing logger...")
|
||||
self:log("\n\n")
|
||||
self.output:close()
|
||||
end
|
||||
|
||||
--- Write data to ouput, it passes the arguments directly to file:write(...)
|
||||
---@param ... string|number the data to write
|
||||
function Logger:log(...)
|
||||
self.output:write(...)
|
||||
self.output:write("\n")
|
||||
self.output:flush()
|
||||
end
|
||||
|
||||
return Logger
|
||||
|
|
@ -1,80 +0,0 @@
|
|||
---@enum Modifiers
|
||||
local modifiers = {
|
||||
super = "Super ",
|
||||
ctrl = "Control ",
|
||||
shift = "Shift ",
|
||||
alt = "Alt ",
|
||||
|
||||
super_shift = "Super+Shift ",
|
||||
super_ctrl = "Super+Control ",
|
||||
super_ctrl_shift = "Super+Control+Shift ",
|
||||
|
||||
ctrl_shift = "Control+Shift ",
|
||||
|
||||
none = "None ",
|
||||
}
|
||||
|
||||
|
||||
--- Wrapper around the riverctl cmd
|
||||
---@class River
|
||||
local River = {
|
||||
cmds = {
|
||||
background = "swaybg -i %s"
|
||||
},
|
||||
keys = {
|
||||
modifiers = modifiers
|
||||
}
|
||||
}
|
||||
|
||||
River.__index = River
|
||||
|
||||
--- River class constructor
|
||||
---@param new? River to override properties
|
||||
---@return River
|
||||
function River:new(new)
|
||||
local obj = new or {}
|
||||
|
||||
setmetatable(obj, self)
|
||||
self.__index = self
|
||||
|
||||
return obj
|
||||
end
|
||||
|
||||
--- Exec an arbitrary system command
|
||||
---@param cmd string the command to execute
|
||||
---@private
|
||||
---@return string?
|
||||
function River:exec(cmd)
|
||||
os.execute(cmd)
|
||||
end
|
||||
|
||||
--- Execute the given command with riverctl spawn
|
||||
---@param cmd string the command to execute
|
||||
function River:spawn(cmd)
|
||||
self:exec(string.format([[riverctl spawn "%s"]], cmd))
|
||||
end
|
||||
|
||||
--- Set a new wallpaper with the default cmds.background
|
||||
---@param path string The path to the image
|
||||
function River:set_bg(path)
|
||||
self:spawn(string.format(self.cmds.background, path))
|
||||
end
|
||||
|
||||
---@class MapArgs
|
||||
---@field [1] Modifiers The modifier to use
|
||||
---@field [2] string
|
||||
---@field [3] string
|
||||
---@field mode? ("normal"|"locked")[], }
|
||||
|
||||
--- Create a new mapping
|
||||
--- @param args MapArgs
|
||||
function River:map(args)
|
||||
local modes = args.mode or { "normal" }
|
||||
|
||||
for _, mode in ipairs(modes) do
|
||||
local map = string.format([[riverctl map %s %s %s %s]], mode, args[1], args[2], args[3])
|
||||
self:exec(map)
|
||||
end
|
||||
end
|
||||
|
||||
return River
|
||||
|
|
@ -1,149 +0,0 @@
|
|||
# Get editor completions based on the config schema
|
||||
"$schema" = 'https://starship.rs/config-schema.json'
|
||||
|
||||
# Inserts a blank line between shell prompts
|
||||
add_newline = true
|
||||
|
||||
# Replace the '❯' symbol in the prompt with '➜'
|
||||
[character] # The name of the module we are configuring is 'character'
|
||||
success_symbol = '[➜](bold green)' # The 'success_symbol' segment is being set to '➜' with the color 'bold green'
|
||||
|
||||
[aws]
|
||||
symbol = " "
|
||||
|
||||
[buf]
|
||||
symbol = " "
|
||||
|
||||
[c]
|
||||
symbol = " "
|
||||
|
||||
[conda]
|
||||
symbol = " "
|
||||
|
||||
[dart]
|
||||
symbol = " "
|
||||
|
||||
[directory]
|
||||
read_only = " "
|
||||
|
||||
[docker_context]
|
||||
symbol = " "
|
||||
|
||||
[elixir]
|
||||
symbol = " "
|
||||
|
||||
[elm]
|
||||
symbol = " "
|
||||
|
||||
[fossil_branch]
|
||||
symbol = " "
|
||||
|
||||
[git_branch]
|
||||
symbol = " "
|
||||
|
||||
[golang]
|
||||
symbol = " "
|
||||
|
||||
[guix_shell]
|
||||
symbol = " "
|
||||
|
||||
[haskell]
|
||||
symbol = " "
|
||||
|
||||
[haxe]
|
||||
symbol = "⌘ "
|
||||
|
||||
[hg_branch]
|
||||
symbol = " "
|
||||
|
||||
[hostname]
|
||||
ssh_symbol = " "
|
||||
|
||||
[java]
|
||||
symbol = " "
|
||||
|
||||
[julia]
|
||||
symbol = " "
|
||||
|
||||
[lua]
|
||||
symbol = " "
|
||||
|
||||
[memory_usage]
|
||||
symbol = " "
|
||||
|
||||
[meson]
|
||||
symbol = "喝 "
|
||||
|
||||
[nim]
|
||||
symbol = " "
|
||||
|
||||
[nix_shell]
|
||||
symbol = " "
|
||||
|
||||
[nodejs]
|
||||
symbol = " "
|
||||
|
||||
[os.symbols]
|
||||
Alpaquita = " "
|
||||
Alpine = " "
|
||||
Amazon = " "
|
||||
Android = " "
|
||||
Arch = " "
|
||||
Artix = " "
|
||||
CentOS = " "
|
||||
Debian = " "
|
||||
DragonFly = " "
|
||||
Emscripten = " "
|
||||
EndeavourOS = " "
|
||||
Fedora = " "
|
||||
FreeBSD = " "
|
||||
Garuda = " "
|
||||
Gentoo = " "
|
||||
HardenedBSD = "ﲊ "
|
||||
Illumos = " "
|
||||
Linux = " "
|
||||
Mabox = " "
|
||||
Macos = " "
|
||||
Manjaro = " "
|
||||
Mariner = " "
|
||||
MidnightBSD = " "
|
||||
Mint = " "
|
||||
NetBSD = " "
|
||||
NixOS = " "
|
||||
OpenBSD = " "
|
||||
openSUSE = " "
|
||||
OracleLinux = " "
|
||||
Pop = " "
|
||||
Raspbian = " "
|
||||
Redhat = " "
|
||||
RedHatEnterprise = " "
|
||||
Redox = " "
|
||||
Solus = "ﴱ "
|
||||
SUSE = " "
|
||||
Ubuntu = " "
|
||||
Unknown = " "
|
||||
Windows = " "
|
||||
|
||||
[package]
|
||||
symbol = " "
|
||||
|
||||
[pijul_channel]
|
||||
symbol = "🪺 "
|
||||
|
||||
[python]
|
||||
symbol = " "
|
||||
|
||||
[rlang]
|
||||
symbol = "ﳒ "
|
||||
|
||||
[ruby]
|
||||
symbol = " "
|
||||
|
||||
[rust]
|
||||
symbol = " "
|
||||
|
||||
[scala]
|
||||
symbol = " "
|
||||
|
||||
[spack]
|
||||
symbol = "🅢 "
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
[Default]
|
||||
save_dir=$HOME/Pictures
|
||||
save_filename_format=screenshot-%Y%m%d-%H%M%S.png
|
||||
show_panel=true
|
||||
line_size=5
|
||||
text_size=20
|
||||
text_font=sans-serif
|
||||
paint_mode=arrow
|
||||
early_exit=true
|
||||
fill_shape=false
|
||||
|
|
@ -1,283 +0,0 @@
|
|||
|
||||
### Variables
|
||||
#
|
||||
# Logo key. Use Mod1 for Alt.
|
||||
set $mod Mod4
|
||||
|
||||
# Home row direction keys, like vim
|
||||
set $left h
|
||||
set $down j
|
||||
set $up k
|
||||
set $right l
|
||||
|
||||
# Your preferred terminal emulator
|
||||
set $term alacritty
|
||||
|
||||
# Your preferred application launcher
|
||||
# Note: pass the final command to swaymsg so that the resulting window can be opened
|
||||
# on the original workspace that the command was run on.
|
||||
set $menu bemenu-run -iw -l 20 -P '>' -p 'Open:' \
|
||||
--fn "JetBrainsMono 13" \
|
||||
--ab "#24273add" \
|
||||
--af "#f4dbd6" \
|
||||
--fb "#24273add" \
|
||||
--ff "#8bd5ca" \
|
||||
--hb "#24273add" \
|
||||
--hf "#a6da95" \
|
||||
--nb "#24273add" \
|
||||
--nf "#f4dbd6" \
|
||||
--nf "#f4dbd6" \
|
||||
--tb "#24273add" \
|
||||
--tf "#c6a0f6dd" \
|
||||
--scb "#24273add" \
|
||||
--scf "#c6a0f6"
|
||||
|
||||
### Output configuration
|
||||
#
|
||||
# Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/)
|
||||
output * bg ~/Pictures/wallpaper.png fill
|
||||
#
|
||||
# Example configuration:
|
||||
#
|
||||
# output HDMI-A-1 resolution 1920x1080 position 1920,0
|
||||
#
|
||||
# You can get the names of your outputs by running: swaymsg -t get_outputs
|
||||
|
||||
### Idle configuration
|
||||
#
|
||||
# Example configuration:
|
||||
#
|
||||
exec swayidle -w \
|
||||
timeout 300 'systemctl suspend' \
|
||||
before-sleep '~/.config/sway/lock.sh'
|
||||
|
||||
# This will lock your screen after 300 seconds of inactivity, then turn off
|
||||
# your displays after another 300 seconds, and turn your screens back on when
|
||||
# resumed. It will also lock your screen before your computer goes to sleep.
|
||||
|
||||
### Input configuration
|
||||
#
|
||||
# Example configuration:
|
||||
#
|
||||
input "type:touchpad" {
|
||||
dwt enabled
|
||||
tap enabled
|
||||
natural_scroll enabled
|
||||
middle_emulation enabled
|
||||
}
|
||||
|
||||
input "type:keyboard" {
|
||||
xkb_layout latam
|
||||
xkb_options caps:escape
|
||||
}
|
||||
#
|
||||
# You can get the names of your inputs by running: swaymsg -t get_inputs
|
||||
# Read `man 5 sway-input` for more information about this section.
|
||||
|
||||
### Key bindings
|
||||
#
|
||||
# Basics:
|
||||
#
|
||||
# Start a terminal
|
||||
bindsym $mod+Return exec $term
|
||||
|
||||
# Kill focused window
|
||||
bindsym $mod+Shift+q kill
|
||||
|
||||
# Start your launcher
|
||||
bindsym $mod+d exec $menu
|
||||
|
||||
# Drag floating windows by holding down $mod and left mouse button.
|
||||
# Resize them with right mouse button + $mod.
|
||||
# Despite the name, also works for non-floating windows.
|
||||
# Change normal to inverse to use left mouse button for resizing and right
|
||||
# mouse button for dragging.
|
||||
floating_modifier $mod normal
|
||||
|
||||
# Exit sway (logs you out of your Wayland session)
|
||||
bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit'
|
||||
bindsym $mod+Shift+r reload
|
||||
#
|
||||
# Moving around:
|
||||
#
|
||||
# Move your focus around
|
||||
bindsym $mod+$left focus left
|
||||
bindsym $mod+$down focus down
|
||||
bindsym $mod+$up focus up
|
||||
bindsym $mod+$right focus right
|
||||
# Or use $mod+[up|down|left|right]
|
||||
bindsym $mod+Left focus left
|
||||
bindsym $mod+Down focus down
|
||||
bindsym $mod+Up focus up
|
||||
bindsym $mod+Right focus right
|
||||
|
||||
# Move the focused window with the same, but add Shift
|
||||
bindsym $mod+Shift+$left move left
|
||||
bindsym $mod+Shift+$down move down
|
||||
bindsym $mod+Shift+$up move up
|
||||
bindsym $mod+Shift+$right move right
|
||||
# Ditto, with arrow keys
|
||||
bindsym $mod+Shift+Left move left
|
||||
bindsym $mod+Shift+Down move down
|
||||
bindsym $mod+Shift+Up move up
|
||||
bindsym $mod+Shift+Right move right
|
||||
#
|
||||
# Workspaces:
|
||||
#
|
||||
# Switch to workspace
|
||||
bindsym $mod+bar workspace back_and_forth
|
||||
bindsym $mod+1 workspace number 1
|
||||
bindsym $mod+2 workspace number 2
|
||||
bindsym $mod+3 workspace number 3
|
||||
bindsym $mod+4 workspace number 4
|
||||
bindsym $mod+5 workspace number 5
|
||||
bindsym $mod+6 workspace number 6
|
||||
bindsym $mod+7 workspace number 7
|
||||
bindsym $mod+8 workspace number 8
|
||||
bindsym $mod+9 workspace number 9
|
||||
bindsym $mod+0 workspace number 10
|
||||
# Move focused container to workspace
|
||||
bindsym $mod+Shift+1 move container to workspace number 1
|
||||
bindsym $mod+Shift+2 move container to workspace number 2
|
||||
bindsym $mod+Shift+3 move container to workspace number 3
|
||||
bindsym $mod+Shift+4 move container to workspace number 4
|
||||
bindsym $mod+Shift+5 move container to workspace number 5
|
||||
bindsym $mod+Shift+6 move container to workspace number 6
|
||||
bindsym $mod+Shift+7 move container to workspace number 7
|
||||
bindsym $mod+Shift+8 move container to workspace number 8
|
||||
bindsym $mod+Shift+9 move container to workspace number 9
|
||||
bindsym $mod+Shift+0 move container to workspace number 10
|
||||
# Note: workspaces can have any name you want, not just numbers.
|
||||
# We just use 1-10 as the default.
|
||||
#
|
||||
# Layout stuff:
|
||||
#
|
||||
|
||||
# Switch the current container between different layout styles
|
||||
bindsym $mod+s layout stacking
|
||||
bindsym $mod+w layout tabbed
|
||||
bindsym $mod+v layout toggle split
|
||||
|
||||
# Make the current focus fullscreen
|
||||
bindsym $mod+f fullscreen
|
||||
|
||||
# Toggle the current focus between tiling and floating mode
|
||||
bindsym $mod+Shift+space floating toggle
|
||||
|
||||
# Swap focus between the tiling area and the floating area
|
||||
bindsym $mod+space focus mode_toggle
|
||||
|
||||
# Move focus to the parent container
|
||||
bindsym $mod+a focus parent
|
||||
#
|
||||
# Scratchpad:
|
||||
#
|
||||
# Sway has a "scratchpad", which is a bag of holding for windows.
|
||||
# You can send windows there and get them back later.
|
||||
|
||||
# Move the currently focused window to the scratchpad
|
||||
bindsym $mod+Shift+minus move scratchpad
|
||||
|
||||
# Show the next scratchpad window or hide the focused scratchpad window.
|
||||
# If there are multiple scratchpad windows, this command cycles through them.
|
||||
bindsym $mod+minus scratchpad show
|
||||
|
||||
#
|
||||
# System:
|
||||
#
|
||||
# screenshot current window
|
||||
bindsym print exec grim -g "$(swaymsg -t get_tree | jq -j '.. | select(.type?) | select(.focused).rect | "\(.x),\(.y) \(.width)x\(.height)"')" - | wl-copy
|
||||
# screenshot area
|
||||
bindsym print+shift exec grim -g "$(slurp)" - | wl-copy
|
||||
# screenshot area and edit it
|
||||
bindsym print+ctrl exec grim -g "$(slurp)" - | swappy -f -
|
||||
|
||||
bindsym XF86AudioRaiseVolume exec wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 5%+
|
||||
bindsym XF86AudioLowerVolume exec wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 5%-
|
||||
bindsym XF86AudioMute exec wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
|
||||
bindsym XF86AudioMicMute exec wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
|
||||
bindsym XF86AudioPlay exec playerctl play-pause
|
||||
bindsym XF86AudioNext exec playerctl next
|
||||
bindsym XF86AudioPrev exec playerctl previous
|
||||
bindsym XF86MonBrightnessUp exec brightnessctl set +5%
|
||||
bindsym XF86MonBrightnessDown exec brightnessctl set 5%-
|
||||
|
||||
|
||||
#
|
||||
# Resizing containers:
|
||||
#
|
||||
mode "resize" {
|
||||
# left will shrink the containers width
|
||||
# right will grow the containers width
|
||||
# up will shrink the containers height
|
||||
# down will grow the containers height
|
||||
bindsym $left resize shrink width 10px
|
||||
bindsym $down resize grow height 10px
|
||||
bindsym $up resize shrink height 10px
|
||||
bindsym $right resize grow width 10px
|
||||
|
||||
# Ditto, with arrow keys
|
||||
bindsym Left resize shrink width 10px
|
||||
bindsym Down resize grow height 10px
|
||||
bindsym Up resize shrink height 10px
|
||||
bindsym Right resize grow width 10px
|
||||
|
||||
# Return to default mode
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
}
|
||||
bindsym $mod+r mode "resize"
|
||||
|
||||
#
|
||||
# Status Bar:
|
||||
#
|
||||
# Read `man 5 sway-bar` for more information about this section.
|
||||
bar {
|
||||
position top
|
||||
|
||||
swaybar_command waybar
|
||||
|
||||
colors {
|
||||
statusline #ffffff
|
||||
background #323232
|
||||
inactive_workspace #32323200 #32323200 #5c5c5c
|
||||
}
|
||||
}
|
||||
|
||||
# Start Stuff
|
||||
|
||||
# create a master stack layout
|
||||
exec_always autotiling -l 2
|
||||
exec dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK
|
||||
exec mako
|
||||
|
||||
# Auto rotate screen
|
||||
# 1 option uses accelerometer (requires iio-sensors-proxy)
|
||||
# 2 option uses tablet events
|
||||
|
||||
# exec monitor-sensor | bash $DOTS/config/sway/autorotate &> /tmp/autorotate.log
|
||||
bindswitch tablet:toggle output "eDP-1" transform 180 clockwise ; input "type:touch" map_to_output "eDP-1" ; input "type:tablet_tool" map_to_output "eDP-1"
|
||||
# bindswitch tablet:on busctl call --user sm.puri.OSK0 /sm/puri/OSK0 sm.puri.OSK0 SetVisible b true
|
||||
# bindswitch tablet:off busctl call --user sm.puri.OSK0 /sm/puri/OSK0 sm.puri.OSK0 SetVisible b false
|
||||
|
||||
bindgesture swipe:left workspace prev
|
||||
bindgesture swipe:right workspace next
|
||||
bindgesture swipe:up scratchpad show
|
||||
|
||||
gaps inner 10
|
||||
gaps outer 2
|
||||
default_border pixel 2
|
||||
smart_borders on
|
||||
default_floating_border pixel 2
|
||||
|
||||
xwayland enable
|
||||
|
||||
include ./themes/catppuccin/themes/catppuccin-macchiato
|
||||
|
||||
# target title bg text indicator border
|
||||
client.focused $teal $base $text $teal $teal
|
||||
client.focused_inactive $base $base $text $base $base
|
||||
client.unfocused $base $base $text $base $base
|
||||
client.urgent $peach $base $peach $peach $peach
|
||||
client.placeholder $overlay0 $base $text $overlay0 $overlay0
|
||||
client.background $base
|
||||
|
|
@ -1,61 +0,0 @@
|
|||
|
||||
#!/bin/bash
|
||||
|
||||
# This script handles rotation of the screen and related input devices automatically
|
||||
# using the output of the monitor-sensor command (part of the iio-sensor-proxy package)
|
||||
# for sway.
|
||||
# The target screen and input device names should be configured in the below variables.
|
||||
# Note: input devices using the libinput driver (e.g. touchscreens) should be included
|
||||
# in the WAYLANDINPUT array.
|
||||
#
|
||||
# You can get a list of input devices with the `swaymsg -t output` command.
|
||||
#
|
||||
# This scritp was frok from https://gitlab.com/snippets/1793649 by Fishonadish
|
||||
|
||||
|
||||
SCREEN="eDP-1"
|
||||
WAYLANDINPUT=(
|
||||
"type:mouse"
|
||||
"type:touchpad"
|
||||
"type:tablet_tool"
|
||||
"type:touch"
|
||||
)
|
||||
|
||||
|
||||
function rotate_ms {
|
||||
case $1 in
|
||||
"normal")
|
||||
rotate 0
|
||||
;;
|
||||
"right-up")
|
||||
rotate 90
|
||||
;;
|
||||
"bottom-up")
|
||||
rotate 180
|
||||
;;
|
||||
"left-up")
|
||||
rotate 270
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
function rotate {
|
||||
|
||||
TARGET_ORIENTATION=$1
|
||||
|
||||
echo "Rotating to" $TARGET_ORIENTATION
|
||||
|
||||
swaymsg output $SCREEN transform $TARGET_ORIENTATION
|
||||
|
||||
for i in "${WAYLANDINPUT[@]}"
|
||||
do
|
||||
swaymsg input "$i" map_to_output "$SCREEN"
|
||||
done
|
||||
|
||||
}
|
||||
|
||||
while IFS='$\n' read -r line; do
|
||||
rotation="$(echo $line | sed -En "s/^.*orientation changed: (.*)/\1/p")"
|
||||
[[ ! -z $rotation ]] && rotate_ms $rotation
|
||||
done < <(stdbuf -oL monitor-sensor)
|
||||
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
swaylock \
|
||||
--screenshots \
|
||||
--clock \
|
||||
--indicator \
|
||||
--indicator-radius 100 \
|
||||
--indicator-thickness 7 \
|
||||
--effect-blur 7x5 \
|
||||
--effect-vignette 0.5:0.5 \
|
||||
--ring-color 3b4252 \
|
||||
--key-hl-color 880033 \
|
||||
--line-color 00000000 \
|
||||
--inside-color 00000088 \
|
||||
--separator-color 00000000 \
|
||||
--grace 2
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# Date
|
||||
date=$(date "+%a %F %R")
|
||||
|
||||
# Battery
|
||||
battery=$(cat /sys/class/power_supply/BAT*/capacity)
|
||||
|
||||
# Alsa master volume
|
||||
volume=$(amixer get Master | grep "Right:" | cut -f 7,8 -d " ")
|
||||
|
||||
# Status bar
|
||||
echo "Vol: $volume | Bat: ${battery}% | $date"
|
||||
|
|
@ -1,160 +0,0 @@
|
|||
{
|
||||
// "layer": "top", // Waybar at top layer
|
||||
// "height": 30, // Waybar height (to be removed for auto height)
|
||||
"spacing": 4, // Gaps between modules (4px)
|
||||
// Choose the order of the modules
|
||||
"modules-left": [
|
||||
"hyprland/workspaces",
|
||||
"custom/media"
|
||||
],
|
||||
"modules-center": [
|
||||
"tray"
|
||||
],
|
||||
"modules-right": [
|
||||
"idle_inhibitor",
|
||||
"pulseaudio",
|
||||
"network",
|
||||
"battery",
|
||||
"clock"
|
||||
],
|
||||
// Modules configuration
|
||||
"hyprland/workspaces": {
|
||||
"disable-scroll": true,
|
||||
"warp-on-scroll": true,
|
||||
"format": "{icon}",
|
||||
"format-icons": {
|
||||
"1": "",
|
||||
"2": "",
|
||||
"3": "",
|
||||
"9": "",
|
||||
"10": "",
|
||||
"default": ""
|
||||
}
|
||||
},
|
||||
"keyboard-state": {
|
||||
"numlock": true,
|
||||
"capslock": true,
|
||||
"format": "{name} {icon}",
|
||||
"format-icons": {
|
||||
"locked": "",
|
||||
"unlocked": ""
|
||||
}
|
||||
},
|
||||
"mpd": {
|
||||
"format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% ",
|
||||
"format-disconnected": "Disconnected ",
|
||||
"format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ",
|
||||
"unknown-tag": "N/A",
|
||||
"interval": 2,
|
||||
"consume-icons": {
|
||||
"on": " "
|
||||
},
|
||||
"random-icons": {
|
||||
"off": "<span color=\"#f53c3c\"></span> ",
|
||||
"on": " "
|
||||
},
|
||||
"repeat-icons": {
|
||||
"on": " "
|
||||
},
|
||||
"single-icons": {
|
||||
"on": "1 "
|
||||
},
|
||||
"state-icons": {
|
||||
"paused": "",
|
||||
"playing": ""
|
||||
},
|
||||
"tooltip-format": "MPD (connected)",
|
||||
"tooltip-format-disconnected": "MPD (disconnected)"
|
||||
},
|
||||
"idle_inhibitor": {
|
||||
"format": "{icon}",
|
||||
"format-icons": {
|
||||
"activated": "",
|
||||
"deactivated": ""
|
||||
}
|
||||
},
|
||||
"tray": {
|
||||
// "icon-size": 21,
|
||||
"spacing": 10
|
||||
},
|
||||
"clock": {
|
||||
// "timezone": "America/New_York",
|
||||
"format": "{:%I:%M}",
|
||||
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
|
||||
"format-alt": "{:%Y-%m-%d}"
|
||||
},
|
||||
"cpu": {
|
||||
"format": "{usage}% ",
|
||||
"tooltip": false
|
||||
},
|
||||
"memory": {
|
||||
"format": "{}% "
|
||||
},
|
||||
"temperature": {
|
||||
// "thermal-zone": 2,
|
||||
// "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input",
|
||||
"critical-threshold": 80,
|
||||
// "format-critical": "{temperatureC}°C {icon}",
|
||||
"format": "{temperatureC}°C {icon}",
|
||||
"format-icons": ["", "", ""]
|
||||
},
|
||||
"backlight": {
|
||||
// "device": "acpi_video1",
|
||||
"format": "{percent}% {icon}",
|
||||
"format-icons": ["", "", "", "", "", "", "", "", ""]
|
||||
},
|
||||
"battery": {
|
||||
"states": {
|
||||
// "good": 95,
|
||||
"warning": 30,
|
||||
"critical": 15
|
||||
},
|
||||
"format": "{capacity}% {icon}",
|
||||
"format-charging": "{capacity}% ",
|
||||
"format-plugged": "{capacity}% ",
|
||||
"format-alt": "{time} {icon}",
|
||||
// "format-good": "", // An empty format will hide the module
|
||||
// "format-full": "",
|
||||
"format-icons": ["", "", "", "", ""]
|
||||
},
|
||||
"network": {
|
||||
// "interface": "wlp2*", // (Optional) To force the use of this interface
|
||||
"format-wifi": "{essid} ({signalStrength}%) ",
|
||||
"format-ethernet": "{ipaddr}/{cidr} ",
|
||||
"tooltip-format": "{ifname} via {gwaddr} ",
|
||||
"format-linked": "{ifname} (No IP) ",
|
||||
"format-disconnected": "Disconnected ⚠",
|
||||
"format-alt": "{ifname}: {ipaddr}/{cidr}"
|
||||
},
|
||||
"pulseaudio": {
|
||||
// "scroll-step": 1, // %, can be a float
|
||||
"format": "{volume}% {icon} {format_source}",
|
||||
"format-bluetooth": "{volume}% {icon} {format_source}",
|
||||
"format-bluetooth-muted": " {icon} {format_source}",
|
||||
"format-muted": " {format_source}",
|
||||
"format-source": "{volume}% ",
|
||||
"format-source-muted": "",
|
||||
"format-icons": {
|
||||
"headphone": "",
|
||||
"hands-free": "",
|
||||
"headset": "",
|
||||
"phone": "",
|
||||
"portable": "",
|
||||
"car": "",
|
||||
"default": ["", "", ""]
|
||||
},
|
||||
"on-click": "pavucontrol"
|
||||
},
|
||||
"custom/media": {
|
||||
"format": "{icon} {}",
|
||||
"return-type": "json",
|
||||
"max-length": 40,
|
||||
"format-icons": {
|
||||
"spotify": "",
|
||||
"default": "🎜"
|
||||
},
|
||||
"escape": true,
|
||||
"exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder
|
||||
// "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name
|
||||
}
|
||||
}
|
||||
|
|
@ -1,179 +0,0 @@
|
|||
@import "./themes/catppuccin/themes/macchiato.css";
|
||||
|
||||
@keyframes blink_red {
|
||||
to {
|
||||
background-color: @red;
|
||||
color: @base;
|
||||
}
|
||||
}
|
||||
|
||||
* {
|
||||
/* `otf-font-awesome` is required to be installed for icons */
|
||||
font-family: JetBrainsMono Roboto, Helvetica, Arial, sans-serif;
|
||||
font-size: 1rem;
|
||||
}
|
||||
|
||||
box.modules-left,
|
||||
box.modules-center,
|
||||
box.modules-right {
|
||||
border-radius: 1rem;
|
||||
background-color: @base;
|
||||
}
|
||||
|
||||
.warning,
|
||||
.critical,
|
||||
.urgent {
|
||||
animation-name: blink_red;
|
||||
animation-duration: 800ms;
|
||||
animation-timing-function: linear;
|
||||
animation-iteration-count: infinite;
|
||||
animation-direction: alternate;
|
||||
}
|
||||
|
||||
#mode,
|
||||
#clock,
|
||||
#memory,
|
||||
#temperature,
|
||||
#cpu,
|
||||
#custom-weather,
|
||||
#mpd,
|
||||
#idle_inhibitor,
|
||||
#backlight,
|
||||
#pulseaudio,
|
||||
#network,
|
||||
#battery,
|
||||
#custom-powermenu,
|
||||
#custom-cava-internal,
|
||||
#custom-launcher,
|
||||
#tray,
|
||||
#disk,
|
||||
#custom-pacman,
|
||||
#custom-scratchpad-indicator {
|
||||
padding: 0 0.6rem;
|
||||
background-color: @red;
|
||||
}
|
||||
|
||||
/* Bar */
|
||||
window#waybar {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
window > box {
|
||||
background-color: transparent;
|
||||
margin: 5px 11px;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
window#waybar button:not(:first-child),
|
||||
window#waybar button:not(:last-child) {
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
window#waybar button:first-child {
|
||||
border-radius: 1rem 0 0 1rem;
|
||||
}
|
||||
|
||||
window#waybar button:last-child {
|
||||
border-radius: 0 1rem 1rem 0;
|
||||
}
|
||||
|
||||
/* Workspaces */
|
||||
#workspaces button {
|
||||
padding: 0.2rem 0.75rem;
|
||||
color: @text;
|
||||
}
|
||||
|
||||
#workspaces button label {
|
||||
background-color: transparent;
|
||||
font-size: 1.2rem;
|
||||
}
|
||||
|
||||
#workspaces button:not(:first-child) label {
|
||||
/* Fix fontawesome miss alignment, depends of the padding above and font size */
|
||||
margin-right: 0.45rem;
|
||||
}
|
||||
|
||||
#workspaces button.focused {
|
||||
color: @teal;
|
||||
background-color: alpha(@teal, 0.15);
|
||||
}
|
||||
|
||||
#workspaces button:hover {
|
||||
/* border: .2px solid transparent; */
|
||||
background: alpha(@blue, 0.15);
|
||||
color: @blue;
|
||||
border-color: transparent;
|
||||
box-shadow: inherit;
|
||||
text-shadow: inherit;
|
||||
}
|
||||
|
||||
/* Tooltip */
|
||||
tooltip {
|
||||
background-color: @base;
|
||||
}
|
||||
|
||||
tooltip label {
|
||||
color: @rosewater;
|
||||
}
|
||||
|
||||
/* battery */
|
||||
#battery {
|
||||
color: @mauve;
|
||||
padding-right: 1.15rem;
|
||||
}
|
||||
#battery.full {
|
||||
color: @green;
|
||||
}
|
||||
#battery.charging {
|
||||
color: @teal;
|
||||
}
|
||||
#battery.discharging {
|
||||
color: @peach;
|
||||
}
|
||||
#battery.critical:not(.charging) {
|
||||
color: @pink;
|
||||
}
|
||||
#custom-powermenu {
|
||||
color: @red;
|
||||
}
|
||||
|
||||
#memory {
|
||||
color: @peach;
|
||||
}
|
||||
#cpu {
|
||||
color: @blue;
|
||||
}
|
||||
#clock {
|
||||
color: @rosewater;
|
||||
}
|
||||
#idle_inhibitor {
|
||||
color: @green;
|
||||
padding-right: 0.9rem;
|
||||
}
|
||||
#temperature {
|
||||
color: @sapphire;
|
||||
}
|
||||
#backlight {
|
||||
color: @green;
|
||||
}
|
||||
#pulseaudio {
|
||||
color: @mauve; /* not active */
|
||||
}
|
||||
#network {
|
||||
color: @pink; /* not active */
|
||||
}
|
||||
#network.disconnected {
|
||||
color: @foreground; /* not active */
|
||||
}
|
||||
#disk {
|
||||
color: @maroon;
|
||||
}
|
||||
#custom-pacman {
|
||||
color: @sky;
|
||||
}
|
||||
#custom-scratchpad-indicator {
|
||||
color: @yellow;
|
||||
}
|
||||
#custom-weather {
|
||||
color: @red;
|
||||
}
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2021 Catppuccin
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
|
@ -1,79 +0,0 @@
|
|||
<h3 align="center">
|
||||
<img src="https://raw.githubusercontent.com/catppuccin/catppuccin/main/assets/logos/exports/1544x1544_circle.png" width="100" alt="Logo"/><br/>
|
||||
<img src="https://raw.githubusercontent.com/catppuccin/catppuccin/main/assets/misc/transparent.png" height="30" width="0px"/>
|
||||
Catppuccin for <a href="https://github.com/Alexays/Waybar">Waybar</a>
|
||||
<img src="https://raw.githubusercontent.com/catppuccin/catppuccin/main/assets/misc/transparent.png" height="30" width="0px"/>
|
||||
</h3>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://github.com/catppuccin/waybar/stargazers"><img src="https://img.shields.io/github/stars/catppuccin/waybar?colorA=363a4f&colorB=b7bdf8&style=for-the-badge"></a>
|
||||
<a href="https://github.com/catppuccin/waybar/issues"><img src="https://img.shields.io/github/issues/catppuccin/waybar?colorA=363a4f&colorB=f5a97f&style=for-the-badge"></a>
|
||||
<a href="https://github.com/catppuccin/waybar/contributors"><img src="https://img.shields.io/github/contributors/catppuccin/waybar?colorA=363a4f&colorB=a6da95&style=for-the-badge"></a>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<img src="assets/preview.webp"/>
|
||||
</p>
|
||||
|
||||
## Previews
|
||||
|
||||
<details>
|
||||
<summary>🌻 Latte</summary>
|
||||
<img src="assets/latte.webp"/>
|
||||
</details>
|
||||
<details>
|
||||
<summary>🪴 Frappé</summary>
|
||||
<img src="assets/frappe.webp"/>
|
||||
</details>
|
||||
<details>
|
||||
<summary>🌺 Macchiato</summary>
|
||||
<img src="assets/macchiato.webp"/>
|
||||
</details>
|
||||
<details>
|
||||
<summary>🌿 Mocha</summary>
|
||||
<img src="assets/mocha.webp"/>
|
||||
</details>
|
||||
|
||||
## Usage
|
||||
|
||||
1. Download the file with your desired flavor e.g. `mocha.css` (to be found in the [release](https://github.com/catppuccin/waybar/releases/latest) or after cloning the repository)
|
||||
2. Copy it into your waybar config e.g. `~/.config/waybar/`
|
||||
3. Include the file at the top of your `style.css`
|
||||
```css
|
||||
@import "<flavor>.css";
|
||||
```
|
||||
4. Use the colors in your Waybar `style.css`. Waybar uses [GTK3 CSS](https://docs.gtk.org/gtk3/css-overview.html#colors).
|
||||
```css
|
||||
* {
|
||||
/* reference the color by using @color-name */
|
||||
color: @text;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
/* you can also GTK3 CSS functions! */
|
||||
background-color: shade(@base, 0.9);
|
||||
border: 2px solid alpha(@crust, 0.3);
|
||||
}
|
||||
```
|
||||
|
||||
## 🙋 FAQ
|
||||
|
||||
- Q: **_"Waybar doesn't work with the colors"_**\
|
||||
A: Make sure you included the file in the right place and you are using `@COLOR`
|
||||
## 💝 Thanks to
|
||||
|
||||
- [rubyowo](https://github.com/rubyowo)
|
||||
|
||||
|
||||
|
||||
<p align="center">
|
||||
<img src="https://raw.githubusercontent.com/catppuccin/catppuccin/main/assets/footers/gray0_ctp_on_line.svg?sanitize=true" />
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
Copyright © 2021-present <a href="https://github.com/catppuccin" target="_blank">Catppuccin Org</a>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://github.com/catppuccin/catppuccin/blob/main/LICENSE"><img src="https://img.shields.io/static/v1.svg?style=for-the-badge&label=License&message=MIT&logoColor=d9e0ee&colorA=363a4f&colorB=b7bdf8"/></a>
|
||||
</p>
|
||||
|
Before Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 3.4 KiB |
|
Before Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 22 KiB |
|
|
@ -1,26 +0,0 @@
|
|||
# A catppuccin RC for waybar. In beta, specs may change.
|
||||
app_name: waybar
|
||||
binary_name: waybar
|
||||
installation:
|
||||
location:
|
||||
macos: %appdata%/waybar/
|
||||
linux: %appdata%/waybar/
|
||||
flavours:
|
||||
all:
|
||||
default:
|
||||
- themes/
|
||||
latte:
|
||||
default:
|
||||
- themes/latte.css
|
||||
frappe:
|
||||
default:
|
||||
- themes/frappe.css
|
||||
macchiato:
|
||||
default:
|
||||
- themes/macchiato.css
|
||||
mocha:
|
||||
default:
|
||||
- themes/mocha.css
|
||||
to: ./
|
||||
one_flavour: false
|
||||
comments: "Add `@import \"$HOME/.config/waybar/<flavour>.css\";` to include the file in your style.css"
|
||||
|
|
@ -1,34 +0,0 @@
|
|||
# EditorConfig helps developers define and maintain consistent
|
||||
# coding styles between different editors and IDEs
|
||||
# EditorConfig is awesome: https://EditorConfig.org
|
||||
|
||||
root = true
|
||||
|
||||
[*]
|
||||
charset = utf-8
|
||||
indent_size = 2
|
||||
indent_style = space
|
||||
end_of_line = lf
|
||||
insert_final_newline = true
|
||||
trim_trailing_whitespace = true
|
||||
|
||||
# go
|
||||
[*.go]
|
||||
indent_style = tab
|
||||
indent_size = 4
|
||||
|
||||
# python
|
||||
[*.{ini,py,py.tpl,rst}]
|
||||
indent_size = 4
|
||||
|
||||
# rust
|
||||
[*.rs]
|
||||
indent_size = 4
|
||||
|
||||
# documentation, utils
|
||||
[*.{md,mdx,diff}]
|
||||
trim_trailing_whitespace = false
|
||||
|
||||
# windows shell scripts
|
||||
[*.{cmd,bat,ps1}]
|
||||
end_of_line = crlf
|
||||
|
|
@ -1 +0,0 @@
|
|||
gitdir: ../../../../.git/modules/Waybar Catppuccin Theme
|
||||
|
|
@ -1,37 +0,0 @@
|
|||
/*
|
||||
*
|
||||
* Catppuccin Frappe palette
|
||||
* Maintainer: rubyowo
|
||||
*
|
||||
*/
|
||||
|
||||
@define-color base #303446;
|
||||
@define-color mantle #292c3c;
|
||||
@define-color crust #232634;
|
||||
|
||||
@define-color text #c6d0f5;
|
||||
@define-color subtext0 #a5adce;
|
||||
@define-color subtext1 #b5bfe2;
|
||||
|
||||
@define-color surface0 #414559;
|
||||
@define-color surface1 #51576d;
|
||||
@define-color surface2 #626880;
|
||||
|
||||
@define-color overlay0 #737994;
|
||||
@define-color overlay1 #838ba7;
|
||||
@define-color overlay2 #949cbb;
|
||||
|
||||
@define-color blue #8caaee;
|
||||
@define-color lavender #babbf1;
|
||||
@define-color sapphire #85c1dc;
|
||||
@define-color sky #99d1db;
|
||||
@define-color teal #81c8be;
|
||||
@define-color green #a6d189;
|
||||
@define-color yellow #e5c890;
|
||||
@define-color peach #ef9f76;
|
||||
@define-color maroon #ea999c;
|
||||
@define-color red #e78284;
|
||||
@define-color mauve #ca9ee6;
|
||||
@define-color pink #f4b8e4;
|
||||
@define-color flamingo #eebebe;
|
||||
@define-color rosewater #f2d5cf;
|
||||
|
|
@ -1,37 +0,0 @@
|
|||
/*
|
||||
*
|
||||
* Catppuccin Latte palette
|
||||
* Maintainer: rubyowo
|
||||
*
|
||||
*/
|
||||
|
||||
@define-color base #eff1f5;
|
||||
@define-color mantle #e6e9ef;
|
||||
@define-color crust #dce0e8;
|
||||
|
||||
@define-color text #4c4f69;
|
||||
@define-color subtext0 #6c6f85;
|
||||
@define-color subtext1 #5c5f77;
|
||||
|
||||
@define-color surface0 #ccd0da;
|
||||
@define-color surface1 #bcc0cc;
|
||||
@define-color surface2 #acb0be;
|
||||
|
||||
@define-color overlay0 #9ca0b0;
|
||||
@define-color overlay1 #8c8fa1;
|
||||
@define-color overlay2 #7c7f93;
|
||||
|
||||
@define-color blue #1e66f5;
|
||||
@define-color lavender #7287fd;
|
||||
@define-color sapphire #209fb5;
|
||||
@define-color sky #04a5e5;
|
||||
@define-color teal #179299;
|
||||
@define-color green #40a02b;
|
||||
@define-color yellow #df8e1d;
|
||||
@define-color peach #fe640b;
|
||||
@define-color maroon #e64553;
|
||||
@define-color red #d20f39;
|
||||
@define-color mauve #8839ef;
|
||||
@define-color pink #ea76cb;
|
||||
@define-color flamingo #dd7878;
|
||||
@define-color rosewater #dc8a78;
|
||||
|
|
@ -1,37 +0,0 @@
|
|||
/*
|
||||
*
|
||||
* Catppuccin Macchiato palette
|
||||
* Maintainer: rubyowo
|
||||
*
|
||||
*/
|
||||
|
||||
@define-color base #24273a;
|
||||
@define-color mantle #1e2030;
|
||||
@define-color crust #181926;
|
||||
|
||||
@define-color text #cad3f5;
|
||||
@define-color subtext0 #a5adcb;
|
||||
@define-color subtext1 #b8c0e0;
|
||||
|
||||
@define-color surface0 #363a4f;
|
||||
@define-color surface1 #494d64;
|
||||
@define-color surface2 #5b6078;
|
||||
|
||||
@define-color overlay0 #6e738d;
|
||||
@define-color overlay1 #8087a2;
|
||||
@define-color overlay2 #939ab7;
|
||||
|
||||
@define-color blue #8aadf4;
|
||||
@define-color lavender #b7bdf8;
|
||||
@define-color sapphire #7dc4e4;
|
||||
@define-color sky #91d7e3;
|
||||
@define-color teal #8bd5ca;
|
||||
@define-color green #a6da95;
|
||||
@define-color yellow #eed49f;
|
||||
@define-color peach #f5a97f;
|
||||
@define-color maroon #ee99a0;
|
||||
@define-color red #ed8796;
|
||||
@define-color mauve #c6a0f6;
|
||||
@define-color pink #f5bde6;
|
||||
@define-color flamingo #f0c6c6;
|
||||
@define-color rosewater #f4dbd6;
|
||||
|
|
@ -1,37 +0,0 @@
|
|||
/*
|
||||
*
|
||||
* Catppuccin Mocha palette
|
||||
* Maintainer: rubyowo
|
||||
*
|
||||
*/
|
||||
|
||||
@define-color base #1e1e2e;
|
||||
@define-color mantle #181825;
|
||||
@define-color crust #11111b;
|
||||
|
||||
@define-color text #cdd6f4;
|
||||
@define-color subtext0 #a6adc8;
|
||||
@define-color subtext1 #bac2de;
|
||||
|
||||
@define-color surface0 #313244;
|
||||
@define-color surface1 #45475a;
|
||||
@define-color surface2 #585b70;
|
||||
|
||||
@define-color overlay0 #6c7086;
|
||||
@define-color overlay1 #7f849c;
|
||||
@define-color overlay2 #9399b2;
|
||||
|
||||
@define-color blue #89b4fa;
|
||||
@define-color lavender #b4befe;
|
||||
@define-color sapphire #74c7ec;
|
||||
@define-color sky #89dceb;
|
||||
@define-color teal #94e2d5;
|
||||
@define-color green #a6e3a1;
|
||||
@define-color yellow #f9e2af;
|
||||
@define-color peach #fab387;
|
||||
@define-color maroon #eba0ac;
|
||||
@define-color red #f38ba8;
|
||||
@define-color mauve #cba6f7;
|
||||
@define-color pink #f5c2e7;
|
||||
@define-color flamingo #f2cdcd;
|
||||
@define-color rosewater #f5e0dc;
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
[plugin]
|
||||
deps = [{ use = "yazi-rs/plugins:full-border", rev = "39f2753" }]
|
||||
|
||||
[flavor]
|
||||
deps = [{ use = "yazi-rs/flavors:catppuccin-macchiato", rev = "2d7dd2a" }]
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
{{ .chezmoi.sourceDir }}/dot_config/yazi/original_package.toml
|
||||
|
||||
|
|
@ -1,205 +0,0 @@
|
|||
# zk configuration file
|
||||
#
|
||||
# Uncomment the properties you want to customize.
|
||||
|
||||
# NOTE SETTINGS
|
||||
#
|
||||
# Defines the default options used when generating new notes.
|
||||
[note]
|
||||
|
||||
# Language used when writing notes.
|
||||
# This is used to generate slugs or with date formats.
|
||||
#language = "en"
|
||||
|
||||
# The default title used for new note, if no `--title` flag is provided.
|
||||
#default-title = "Untitled"
|
||||
|
||||
# Template used to generate a note's filename, without extension.
|
||||
filename = "{{slug title}}"
|
||||
|
||||
# The file extension used for the notes.
|
||||
#extension = "md"
|
||||
|
||||
# Template used to generate a note's content.
|
||||
# If not an absolute path, it is relative to .zk/templates/
|
||||
template = "default.md"
|
||||
|
||||
# Path globs ignored while indexing existing notes.
|
||||
#ignore = [
|
||||
# "drafts/*",
|
||||
# "log.md"
|
||||
#]
|
||||
|
||||
# Configure random ID generation.
|
||||
|
||||
# The charset used for random IDs. You can use:
|
||||
# * letters: only letters from a to z.
|
||||
# * numbers: 0 to 9
|
||||
# * alphanum: letters + numbers
|
||||
# * hex: hexadecimal, from a to f and 0 to 9
|
||||
# * custom string: will use any character from the provided value
|
||||
#id-charset = "alphanum"
|
||||
|
||||
# Length of the generated IDs.
|
||||
id-length = 8
|
||||
|
||||
# Letter case for the random IDs, among lower, upper or mixed.
|
||||
#id-case = "lower"
|
||||
|
||||
|
||||
# EXTRA VARIABLES
|
||||
#
|
||||
# A dictionary of variables you can use for any custom values when generating
|
||||
# new notes. They are accessible in templates with {{extra.<key>}}
|
||||
[extra]
|
||||
|
||||
#key = "value"
|
||||
|
||||
|
||||
# GROUP OVERRIDES
|
||||
#
|
||||
# You can override global settings from [note] and [extra] for a particular
|
||||
# group of notes by declaring a [group."<name>"] section.
|
||||
#
|
||||
# Specify the list of directories which will automatically belong to the group
|
||||
# with the optional `paths` property.
|
||||
#
|
||||
# Omitting `paths` is equivalent to providing a single path equal to the name of
|
||||
# the group. This can be useful to quickly declare a group by the name of the
|
||||
# directory it applies to.
|
||||
|
||||
#[group."<NAME>"]
|
||||
#paths = ["<DIR1>", "<DIR2>"]
|
||||
#[group."<NAME>".note]
|
||||
#filename = "{{format-date now}}"
|
||||
#[group."<NAME>".extra]
|
||||
#key = "value"
|
||||
|
||||
|
||||
# MARKDOWN SETTINGS
|
||||
[format.markdown]
|
||||
|
||||
# Format used to generate links between notes.
|
||||
# Either "wiki", "markdown" or a custom template. Default is "markdown".
|
||||
link-format = "wiki"
|
||||
# Indicates whether a link's path will be percent-encoded.
|
||||
# Defaults to true for "markdown" format and false for "wiki" format.
|
||||
#link-encode-path = true
|
||||
# Indicates whether a link's path file extension will be removed.
|
||||
# Defaults to true.
|
||||
#link-drop-extension = true
|
||||
|
||||
# Enable support for #hashtags.
|
||||
hashtags = true
|
||||
# Enable support for :colon:separated:tags:.
|
||||
colon-tags = false
|
||||
# Enable support for Bear's #multi-word tags#
|
||||
# Hashtags must be enabled for multi-word tags to work.
|
||||
multiword-tags = false
|
||||
|
||||
|
||||
# EXTERNAL TOOLS
|
||||
[tool]
|
||||
|
||||
# Default editor used to open notes. When not set, the EDITOR or VISUAL
|
||||
# environment variables are used.
|
||||
#editor = "vim"
|
||||
|
||||
# Pager used to scroll through long output. If you want to disable paging
|
||||
# altogether, set it to an empty string "".
|
||||
#pager = "less -FIRX"
|
||||
|
||||
fzf-line = "{{style 'title' title}}{{#each tags}} #{{this}}{{/each}}"
|
||||
fzf-preview = "bat -p --color always --style header,grid {-1}"
|
||||
fzf-bind-new = ""
|
||||
fzf-options = """
|
||||
--layout reverse
|
||||
--height 100%
|
||||
--no-hscroll
|
||||
--preview-window down,wrap,border-none,70%
|
||||
--header "C-A: New note in root with query as slug\nC-N: New note respecting query path"
|
||||
--bind "ctrl-n:abort+execute(mkdir -p $(dirname '{q}') && zk new $(dirname '{q}') --title $(basename '{q}'))"
|
||||
--bind "ctrl-a:abort+execute(mkdir -p $(dirname '{q}') && zk new $(dirname '{q}') --title $(basename '{q}'))"
|
||||
"""
|
||||
|
||||
|
||||
# LSP
|
||||
#
|
||||
# Configure basic editor integration for LSP-compatible editors.
|
||||
# See https://github.com/zk-org/zk/blob/main/docs/editors-integration.md
|
||||
#
|
||||
[lsp]
|
||||
|
||||
[lsp.diagnostics]
|
||||
# Each diagnostic can have for value: none, hint, info, warning, error
|
||||
|
||||
# Report titles of wiki-links as hints.
|
||||
# wiki-title = "hint"
|
||||
# Warn for dead links between notes.
|
||||
dead-link = "error"
|
||||
|
||||
[lsp.completion]
|
||||
# Customize the completion pop-up of your LSP client.
|
||||
|
||||
# Show the note title in the completion pop-up, or fallback on its path if empty.
|
||||
#note-label = ""
|
||||
# Filter out the completion pop-up using the note title or its path.
|
||||
#note-filter-text = " "
|
||||
# Show the note filename without extension as detail.
|
||||
#note-detail = ""
|
||||
|
||||
|
||||
# NAMED FILTERS
|
||||
#
|
||||
# A named filter is a set of note filtering options used frequently together.
|
||||
#
|
||||
[filter]
|
||||
|
||||
# Matches the notes created the last two weeks. For example:
|
||||
# $ zk list recents --limit 15
|
||||
# $ zk edit recents --interactive
|
||||
#recents = "--sort created- --created-after 'last two weeks'"
|
||||
|
||||
|
||||
# COMMAND ALIASES
|
||||
#
|
||||
# Aliases are user commands called with `zk <alias> [<flags>] [<args>]`.
|
||||
#
|
||||
# The alias will be executed with `$SHELL -c`, please refer to your shell's
|
||||
# man page to see the available syntax. In most shells:
|
||||
# * $@ can be used to expand all the provided flags and arguments
|
||||
# * you can pipe commands together with the usual | character
|
||||
#
|
||||
[alias]
|
||||
# Here are a few aliases to get you started.
|
||||
|
||||
# Shortcut to a command.
|
||||
ls = "zk list --interactive --sort path+ $@"
|
||||
|
||||
e = "zk edit --interactive --sort path+ $@"
|
||||
|
||||
# Default flags for an existing command.
|
||||
#list = "zk list --quiet $@"
|
||||
|
||||
# Edit the last modified note.
|
||||
#editlast = "zk edit --limit 1 --sort modified- $@"
|
||||
|
||||
# Edit the notes selected interactively among the notes created the last two weeks.
|
||||
# This alias doesn't take any argument, so we don't use $@.
|
||||
#recent = "zk edit --sort created- --created-after 'last two weeks' --interactive"
|
||||
|
||||
# Print paths separated with colons for the notes found with the given
|
||||
# arguments. This can be useful to expand a complex search query into a flag
|
||||
# taking only paths. For example:
|
||||
# zk list --link-to "`zk path -m potatoe`"
|
||||
#path = "zk list --quiet --format {{path}} --delimiter , $@"
|
||||
|
||||
# Show a random note.
|
||||
#lucky = "zk list --quiet --format full --sort random --limit 1"
|
||||
|
||||
# Returns the Git history for the notes found with the given arguments.
|
||||
# Note the use of a pipe and the location of $@.
|
||||
#hist = "zk list --format path --delimiter0 --quiet $@ | xargs -t -0 git log --patch --"
|
||||
|
||||
# Edit this configuration file.
|
||||
#conf = '$EDITOR "$ZK_NOTEBOOK_DIR/.zk/config.toml"'
|
||||
|
Before Width: | Height: | Size: 313 KiB After Width: | Height: | Size: 313 KiB |