Compare commits
155 commits
chezmoi-la
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 6fa42a7c2d | |||
| 20f68e1dee | |||
| a85aa9ee0f | |||
| fc134591c2 | |||
| 0c60392b1f | |||
| d0ffade8ce | |||
| 47deec4656 | |||
| 14d8aed4a2 | |||
| e9edfb922a | |||
| 4f33dcbc48 | |||
| 591f631aa0 | |||
| 713fb48d8d | |||
| a923539c85 | |||
| 5b5e426d94 | |||
| 7c1b64881b | |||
| 3129cc7bee | |||
| 64cfab7d40 | |||
| 45a3700b51 | |||
| 86ec8531d0 | |||
| 301f316144 | |||
| ae8429f1df | |||
| 2c4b79d431 | |||
| 7442a9a088 | |||
| 98c09cc632 | |||
| 158e492332 | |||
| 4458a8755e | |||
| 9abd5dde3f | |||
| 85c150a1ac | |||
| 7e24245690 | |||
| 41f458954a | |||
| 5c10d76d08 | |||
| 23b6c0a596 | |||
| c5618f2f2c | |||
| 8f3259a19a | |||
| 75452f4c81 | |||
| bd102d6753 | |||
| a404d3af2c | |||
| 19cbbb9fa8 | |||
| 5a1d24ae0d | |||
| 8ade0b6795 | |||
| 6b6c6e5a0b | |||
| f7a3f90e8c | |||
| 766c50a845 | |||
| fbcb8598a2 | |||
| 61398a659c | |||
| 59656e019f | |||
| 07305dc89f | |||
| dd9c225fd9 | |||
| b6eea93564 | |||
| 78bfbc3ed6 | |||
| 466d6652ba | |||
| 3e01fa628c | |||
| 60a8a14667 | |||
| 5c9c12f32c | |||
| cbe791ead3 | |||
| 5569b6fe10 | |||
| e01cd5110c | |||
| a01c1bd837 | |||
| 1fd1ea1e05 | |||
| 184b398017 | |||
| a6c0b4b867 | |||
| f1430fa64d | |||
| 0627b36073 | |||
| 11812f8d98 | |||
| 7bfaaf730a | |||
| bb989f6fc6 | |||
| 62518907ed | |||
| fac9010c68 | |||
| dfeb4b9516 | |||
| 237a855ae5 | |||
| 6dc7e82e94 | |||
| a8771d5166 | |||
| 2bd9b3d518 | |||
| 4751ecc2ef | |||
| 742388c3ca | |||
| f181cd388a | |||
| 5efa1c4ce5 | |||
| 9661cea5d4 | |||
| 9a07d9c43d | |||
| 1766e84f5d | |||
| 1c1b6365ef | |||
| c6759c5c37 | |||
| 93027a59a2 | |||
| 41327778ea | |||
| a3a262c576 | |||
| 895b404943 | |||
| cbf59bea4b | |||
| 7e4da5dff9 | |||
| 3fffa9d78e | |||
| 2cbac54509 | |||
| da22992983 | |||
| 769700b5ec | |||
| 543f604d7f | |||
| 0648e8a8cf | |||
| 52cc9ae0a9 | |||
| 83b63027d4 | |||
| d84e0d646e | |||
| bc52dafdd7 | |||
| 8bb8895578 | |||
| d03df4ba26 | |||
| 4d6b8d1fda | |||
| 3a6168c843 | |||
| f3d1ad65dd | |||
| a73923eb7b | |||
| 5d3110f589 | |||
| add1b86ba7 | |||
| 5a3ec56f81 | |||
| 2ceae5e293 | |||
| 1088826254 | |||
| 42fbf21436 | |||
| f64e129716 | |||
| 42735952be | |||
| e67f758e35 | |||
| 6a7b800f8c | |||
| ca6a15812d | |||
| 72c914e1ef | |||
| ca1ebd24fa | |||
| d5f7a05b1a | |||
| 502d0dc78a | |||
| 1907cbfdf0 | |||
| c36ae93078 | |||
| 4b4f219ebd | |||
| baa1a6e053 | |||
| 8387619a3a | |||
| 658808b820 | |||
| e17b1607bf | |||
| f7c229fcf6 | |||
| c421ab7b8f | |||
| 343b59a592 | |||
| 26fafff8e2 | |||
| d2fbfc551e | |||
| 29574b6e36 | |||
| 75cfaf54a4 | |||
| 6e2a88508c | |||
| ec750a0e89 | |||
| 1366b1d7b0 | |||
| 7c0c670e29 | |||
| 4a5a878a7f | |||
| ec617fabc2 | |||
| 82a3427e1b | |||
| 9d3fa8e910 | |||
| a4e06120d2 | |||
| 071be15dc1 | |||
| ea5957f6d4 | |||
| 8ccda61811 | |||
| f33c57f1a4 | |||
| 82f734ad0c | |||
| 76e89bf33c | |||
| d93bf44ae0 | |||
| 808cdb3201 | |||
| c7b411f60f | |||
| 00e3f8f8e9 | |||
| c935973900 | |||
| 6df1940eb8 | |||
| 42e6595b60 |
354 changed files with 8672 additions and 9605 deletions
|
|
@ -1 +0,0 @@
|
||||||
chezmoi
|
|
||||||
8
.dotter/aleidk-work-laptop.toml
Normal file
8
.dotter/aleidk-work-laptop.toml
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
includes = []
|
||||||
|
packages = ["default"]
|
||||||
|
|
||||||
|
[files]
|
||||||
|
"configs/hypr/work-laptop/hyprland.conf" = "~/.config/hypr/include/work-laptop.conf"
|
||||||
|
"configs/niri/work-laptop/local.kdl" = "~/.config/niri/include/local.kdl"
|
||||||
|
|
||||||
|
[variables]
|
||||||
7
.dotter/almighty.toml
Normal file
7
.dotter/almighty.toml
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
includes = []
|
||||||
|
packages = ["default"]
|
||||||
|
|
||||||
|
[files]
|
||||||
|
"configs/hypr/almighty/hyprland.conf" = "~/.config/hypr/include/almighty.conf"
|
||||||
|
|
||||||
|
[variables]
|
||||||
42
.dotter/global.toml
Normal file
42
.dotter/global.toml
Normal file
|
|
@ -0,0 +1,42 @@
|
||||||
|
[settings]
|
||||||
|
default_target_type = "symbolic"
|
||||||
|
|
||||||
|
[helpers]
|
||||||
|
|
||||||
|
[default]
|
||||||
|
depends = ["niri"]
|
||||||
|
|
||||||
|
[default.files]
|
||||||
|
"configs/fish" = "~/.config/fish"
|
||||||
|
"configs/alacritty" = "~/.config/alacritty"
|
||||||
|
"configs/atuin" = "~/.config/atuin"
|
||||||
|
"configs/bat" = "~/.config/bat"
|
||||||
|
"configs/containers" = "~/.config/containers"
|
||||||
|
"configs/fzf" = "~/.config/fzf"
|
||||||
|
"configs/ghostty" = "~/.config/ghostty"
|
||||||
|
"configs/git" = "~/.config/git"
|
||||||
|
"configs/hypr/base" = "~/.config/hypr"
|
||||||
|
"configs/kitty" = "~/.config/kitty"
|
||||||
|
"configs/lazygit" = "~/.config/lazygit"
|
||||||
|
"configs/mako" = "~/.config/mako"
|
||||||
|
"configs/mise" = "~/.config/mise"
|
||||||
|
"configs/mpv" = "~/.config/mpv"
|
||||||
|
"configs/nvim" = "~/.config/nvim"
|
||||||
|
"configs/rofi" = "~/.config/rofi"
|
||||||
|
"configs/swappy" = "~/.config/swappy"
|
||||||
|
"configs/swaync" = "~/.config/swaync"
|
||||||
|
"configs/uwsm" = "~/.config/uwsm"
|
||||||
|
"configs/vimiv" = "~/.config/vimiv"
|
||||||
|
"configs/waybar" = "~/.config/waybar"
|
||||||
|
"configs/wezterm" = "~/.config/wezterm"
|
||||||
|
"configs/wlogout" = "~/.config/wlogout"
|
||||||
|
"configs/wpaperd" = "~/.config/wpaperd"
|
||||||
|
"configs/yazi" = "~/.config/yazi"
|
||||||
|
"configs/systemd" = "~/.config/systemd"
|
||||||
|
"configs/zed" = "~/.config/zed"
|
||||||
|
|
||||||
|
|
||||||
|
[default.variables]
|
||||||
|
|
||||||
|
[niri.files]
|
||||||
|
"configs/niri/base" = "~/.config/niri"
|
||||||
3
.gitignore
vendored
3
.gitignore
vendored
|
|
@ -16,3 +16,6 @@ config/ncspot/userstate.cbor
|
||||||
config/zsh/zprofile.local
|
config/zsh/zprofile.local
|
||||||
config/spicetify/CustomApps/*
|
config/spicetify/CustomApps/*
|
||||||
chezmoi/dot_config/zsh/aliases/work.zsh
|
chezmoi/dot_config/zsh/aliases/work.zsh
|
||||||
|
.dotter/cache.toml
|
||||||
|
.dotter/cache
|
||||||
|
.dotter/local.toml
|
||||||
|
|
|
||||||
49
.justfile
Normal file
49
.justfile
Normal file
|
|
@ -0,0 +1,49 @@
|
||||||
|
packages_file := quote(justfile_directory() / "bootstrap/pkgs_arch.txt")
|
||||||
|
|
||||||
|
bootstrap: setup_pacman setup_paru install_packages
|
||||||
|
|
||||||
|
|
||||||
|
install_packages: update_packages
|
||||||
|
paru -S --needed --noconfirm - < {{ packages_file }}
|
||||||
|
|
||||||
|
update_packages:
|
||||||
|
paru -Syu --noconfirm
|
||||||
|
|
||||||
|
clean_orphans:
|
||||||
|
-sudo pacman -Qdtq | sudo pacman -Rns -
|
||||||
|
@echo "\n\n{{ BLUE }}The following files are not owned by any package anymore:{{ NORMAL }}"
|
||||||
|
|
||||||
|
# setup sudo:
|
||||||
|
# sudo loop
|
||||||
|
# show asterisk on password
|
||||||
|
|
||||||
|
setup_pacman:
|
||||||
|
# add automatic updates
|
||||||
|
sudo sed -i \
|
||||||
|
-e 's/#\?ParallelDownloads = [0-9]\+/ParallelDownloads = {{ num_cpus() }}/' \
|
||||||
|
-e 's/#\?Color\+/Color/' \
|
||||||
|
-e 's/#\?ILoveCandy\+/ILoveCandy/' \
|
||||||
|
-e 's/#\?VerbosePkgLists\+/VerbosePkgLists/' \
|
||||||
|
/etc/pacman.conf
|
||||||
|
|
||||||
|
setup_paru:
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euxo pipefail
|
||||||
|
|
||||||
|
if ! command -v paru &> /dev/null ; then
|
||||||
|
tmp=$(mktemp -d)
|
||||||
|
sudo pacman -S --needed base-devel
|
||||||
|
git clone https://aur.archlinux.org/paru.git "$tmp"
|
||||||
|
cd "$tmp"
|
||||||
|
makepkg -si
|
||||||
|
cd -
|
||||||
|
rm -rf "$tmp"
|
||||||
|
fi
|
||||||
|
|
||||||
|
sudo sed -i \
|
||||||
|
-e 's/#\?BottomUp\+/BottomUp/' \
|
||||||
|
-e 's/#\?SudoLoop\+/SudoLoop/' \
|
||||||
|
-e 's/#\?CombinedUpgrade\+/CombinedUpgrade/' \
|
||||||
|
-e 's/#\?CleanAfter\+/CleanAfter/' \
|
||||||
|
-e 's/#\?NewsOnUpgrade\+/NewsOnUpgrade/' \
|
||||||
|
/etc/paru.conf
|
||||||
|
|
@ -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"}}
|
|
||||||
12
.stylua.toml
Normal file
12
.stylua.toml
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
syntax = "All"
|
||||||
|
column_width = 120
|
||||||
|
line_endings = "Unix"
|
||||||
|
indent_type = "Spaces"
|
||||||
|
indent_width = 2
|
||||||
|
quote_style = "AutoPreferDouble"
|
||||||
|
call_parentheses = "Always"
|
||||||
|
collapse_simple_statement = "ConditionalOnly"
|
||||||
|
space_after_function_names = "Never"
|
||||||
|
|
||||||
|
[sort_requires]
|
||||||
|
enabled = true
|
||||||
3
.taplo.toml
Normal file
3
.taplo.toml
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
[formatting]
|
||||||
|
inline_table_expand = false
|
||||||
|
array_auto_expand = false
|
||||||
3
Hooks/containers/post_reload_daemons.sh
Executable file
3
Hooks/containers/post_reload_daemons.sh
Executable file
|
|
@ -0,0 +1,3 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
systemctl --user daemon-reload
|
||||||
12
README.md
12
README.md
|
|
@ -6,5 +6,15 @@ Please ensure the that git is installed and you have an ssh key registered,
|
||||||
then execute the following command:
|
then execute the following command:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sh -c "$(curl -fsLS get.chezmoi.io)" -- -b $HOME/.local/bin init --apply aleee-idk/dots
|
curl -SsL https://git.alecodes.page/alecodes/dots/raw/branch/main/bootstrap/bootstrap.sh | bash
|
||||||
|
```
|
||||||
|
|
||||||
|
Optionally, manually clone the repo to `~/.config/dotfiles/` and then execute:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
curl -L --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | bash
|
||||||
|
|
||||||
|
cargo binstall --git https://github.com/RaphGL/Tuckr.git
|
||||||
|
|
||||||
|
tuckr set \*
|
||||||
```
|
```
|
||||||
|
|
|
||||||
28
bin/mb_csv.fish
Normal file
28
bin/mb_csv.fish
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
|
||||||
|
set -l artist_id $argv[1]
|
||||||
|
|
||||||
|
set -l total 999
|
||||||
|
set -l offset 0
|
||||||
|
|
||||||
|
set -l out ""
|
||||||
|
|
||||||
|
|
||||||
|
set query '.["release-groups"][] | [(.["artist-credit"] | (map(.name) | join(";") )), .title, .["first-release-date"], .["primary-type"], (.["secondary-types"] | join(";")), "https://musicbrainz.org/release-group/" + .id] | @csv'
|
||||||
|
|
||||||
|
while test $offset -lt $total;
|
||||||
|
echo "fetching offset $offset of $total"
|
||||||
|
|
||||||
|
set -l json (curl -SsL -H "Accept: application/json" "http://musicbrainz.org/ws/2/release-group?inc=artist-credits+aliases&release-group-status=website-default&artist=$artist_id&offset=$offset" | tee /tmp/foo.json)
|
||||||
|
|
||||||
|
set total (echo $json | jq -r '.["release-group-count"]')
|
||||||
|
set offset (math $offset + 25)
|
||||||
|
|
||||||
|
set -l csv (echo $json | jq -r $query | string collect -N)
|
||||||
|
|
||||||
|
set out (string collect -N $out $csv)
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
echo $out | wl-copy -n
|
||||||
|
|
||||||
|
echo $out
|
||||||
29
bootstrap/bootstrap.sh
Executable file
29
bootstrap/bootstrap.sh
Executable file
|
|
@ -0,0 +1,29 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
set -eou pipefail
|
||||||
|
|
||||||
|
export ANSIBLE_STDOUT_CALLBACK=minimal
|
||||||
|
|
||||||
|
if ! command -v uv >/dev/null 2>&1; then
|
||||||
|
echo -e "Installing UV...\n"
|
||||||
|
curl -LsSf https://astral.sh/uv/install.sh | sh
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo -e "Executing playbook...\n"
|
||||||
|
|
||||||
|
if [[ -d ~/.config/dotfiles ]]; then
|
||||||
|
pushd ~/.config/dotfiles/bootstrap/ || exit
|
||||||
|
|
||||||
|
# dotfiles are cloned, executed localy
|
||||||
|
uvx --from ansible ansible-playbook --ask-become-pass bootstrap.yaml
|
||||||
|
|
||||||
|
else
|
||||||
|
|
||||||
|
# dotfiles are not cloned, executed remotly
|
||||||
|
uvx --from ansible ansible-pull --ask-become-pass --url ssh://git@git.alecodes.page:24062/alecodes/dots.git bootstrap/bootstrap.yaml
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
popd || exit
|
||||||
|
|
||||||
|
echo -e "Done!\n"
|
||||||
69
bootstrap/bootstrap.yaml
Normal file
69
bootstrap/bootstrap.yaml
Normal file
|
|
@ -0,0 +1,69 @@
|
||||||
|
- name: Bootstrap system installation
|
||||||
|
hosts: localhost
|
||||||
|
vars_files:
|
||||||
|
- ./variables.yaml
|
||||||
|
tasks:
|
||||||
|
- name: Fedora setup
|
||||||
|
when: ansible_facts['distribution'] == "Fedora"
|
||||||
|
block:
|
||||||
|
- name: Enable copr repos
|
||||||
|
become: true
|
||||||
|
loop: "{{ distros.fedora.copr }}"
|
||||||
|
community.general.copr:
|
||||||
|
state: enabled
|
||||||
|
name: "{{ item }}"
|
||||||
|
|
||||||
|
- name: Install packages
|
||||||
|
become: true
|
||||||
|
ansible.builtin.package:
|
||||||
|
state: present
|
||||||
|
name: "{{ distros.Global.packages }}"
|
||||||
|
|
||||||
|
- name: 'Ensure rustup is setup'
|
||||||
|
ansible.builtin.command: "{{ (ansible_facts['pkg_mgr'] in ['dnf5']) | ternary('rustup-init -y --no-modify-path', 'rustup --no-modify-path -y') }}"
|
||||||
|
args:
|
||||||
|
creates: ~/.cargo/env
|
||||||
|
|
||||||
|
- name: "Installing Cargo Binstall"
|
||||||
|
ansible.builtin.unarchive:
|
||||||
|
remote_src: true
|
||||||
|
src: https://github.com/cargo-bins/cargo-binstall/releases/latest/download/cargo-binstall-x86_64-unknown-linux-musl.tgz
|
||||||
|
dest: "{{ ansible_env.HOME }}/.cargo/bin/"
|
||||||
|
keep_newer: true
|
||||||
|
extra_opts:
|
||||||
|
- "--no-anchored"
|
||||||
|
- "cargo-binstall"
|
||||||
|
|
||||||
|
|
||||||
|
- name: 'Install cargo packages'
|
||||||
|
loop: "{{ distros[ansible_facts['distribution']].cargo }}"
|
||||||
|
register: cargo_log
|
||||||
|
notify:
|
||||||
|
- Deploy dots
|
||||||
|
- Install yazi packages
|
||||||
|
ansible.builtin.command:
|
||||||
|
cmd: "cargo binstall --no-confirm --locked {{ item.pkg }}"
|
||||||
|
creates: "{{ ansible_env.HOME }}/.cargo/bin/{{ item.bin }}"
|
||||||
|
|
||||||
|
- name: Generate an OpenSSH keypair
|
||||||
|
community.crypto.openssh_keypair:
|
||||||
|
path: ~/.ssh/id_ed25519
|
||||||
|
type: ed25519
|
||||||
|
|
||||||
|
- name: Clone dotfiles
|
||||||
|
ignore_errors: true
|
||||||
|
notify:
|
||||||
|
- Deploy dots
|
||||||
|
- Install yazi packages
|
||||||
|
ansible.builtin.git:
|
||||||
|
accept_newhostkey: true
|
||||||
|
repo: ssh://git@git.alecodes.page:24062/alecodes/dots.git
|
||||||
|
dest: ~/.config/dotfiles
|
||||||
|
update: true
|
||||||
|
version: main
|
||||||
|
|
||||||
|
handlers:
|
||||||
|
- name: Deploy dots
|
||||||
|
ansible.builtin.command: tuckr add *
|
||||||
|
- name: Install yazi packages
|
||||||
|
ansible.builtin.command: ya pkg install
|
||||||
72
bootstrap/pkgs_arch.txt
Normal file
72
bootstrap/pkgs_arch.txt
Normal file
|
|
@ -0,0 +1,72 @@
|
||||||
|
age
|
||||||
|
atuin
|
||||||
|
brave-bin
|
||||||
|
bun-bin
|
||||||
|
catppuccin-cursors-macchiato
|
||||||
|
catppuccin-gtk-theme-macchiato
|
||||||
|
catppuccin-sddm-theme-macchiato
|
||||||
|
celluloid
|
||||||
|
deno
|
||||||
|
dotter-rs-bin
|
||||||
|
dunst
|
||||||
|
eza
|
||||||
|
fish
|
||||||
|
flatpak
|
||||||
|
fzf
|
||||||
|
git
|
||||||
|
gitleaks
|
||||||
|
gnome-disk-utility
|
||||||
|
just
|
||||||
|
kitty
|
||||||
|
kvantum
|
||||||
|
kvantum-theme-catppuccin-git
|
||||||
|
lazygit
|
||||||
|
limine
|
||||||
|
limine-mkinitcpio-hook
|
||||||
|
limine-snapper-sync
|
||||||
|
lostfiles
|
||||||
|
lxappearance
|
||||||
|
ly
|
||||||
|
nautilus
|
||||||
|
nautilus-admin-gtk4
|
||||||
|
nautilus-image-converter
|
||||||
|
nautilus-open-any-terminal
|
||||||
|
neovim
|
||||||
|
noto-fonts
|
||||||
|
noto-fonts-cjk
|
||||||
|
noto-fonts-emoji
|
||||||
|
paccache-hook
|
||||||
|
plymouth-theme-catppuccin-macchiato-git
|
||||||
|
podman
|
||||||
|
pre-commit
|
||||||
|
pwvucontrol
|
||||||
|
qt5-wayland
|
||||||
|
qt6-wayland
|
||||||
|
rofi
|
||||||
|
rofi-rbw
|
||||||
|
rofimoji
|
||||||
|
rsync
|
||||||
|
sops
|
||||||
|
swappy
|
||||||
|
tailscale
|
||||||
|
tealdeer
|
||||||
|
trash-cli
|
||||||
|
ttf-dejavu
|
||||||
|
ttf-fira-code
|
||||||
|
ttf-fira-mono
|
||||||
|
ttf-fira-sans
|
||||||
|
ttf-firacode-nerd
|
||||||
|
ttf-jetbrains-mono-nerd
|
||||||
|
ttf-ms-win11-auto
|
||||||
|
ttf-nerd-fonts-symbols-mono
|
||||||
|
ttf-nunito
|
||||||
|
ttf-opensans
|
||||||
|
ttf-roboto
|
||||||
|
ttf-roboto-mono-nerd
|
||||||
|
udiskie
|
||||||
|
vim
|
||||||
|
wget
|
||||||
|
yazi
|
||||||
|
zed
|
||||||
|
zip
|
||||||
|
zoxide
|
||||||
81
bootstrap/variables.yaml
Normal file
81
bootstrap/variables.yaml
Normal file
|
|
@ -0,0 +1,81 @@
|
||||||
|
distros:
|
||||||
|
Fedora:
|
||||||
|
copr:
|
||||||
|
- atim/lazygit
|
||||||
|
- the4runner/firefox-dev
|
||||||
|
packages: {}
|
||||||
|
cargo:
|
||||||
|
- pkg: yazi-fm
|
||||||
|
bin: yazi
|
||||||
|
- pkg: yazi-cli
|
||||||
|
bin: yazi
|
||||||
|
- pkg: tuckr
|
||||||
|
bin: tuckr
|
||||||
|
|
||||||
|
Arch:
|
||||||
|
packages:
|
||||||
|
- tuckr-git
|
||||||
|
cargo: {}
|
||||||
|
|
||||||
|
Global:
|
||||||
|
packages:
|
||||||
|
- adwaita-cursor-theme
|
||||||
|
- adwaita-icon-theme
|
||||||
|
- adwaita-icon-theme-legacy
|
||||||
|
- adwaita-mono-fonts
|
||||||
|
- adwaita-sans-fonts
|
||||||
|
- bat
|
||||||
|
- breeze-icon-theme
|
||||||
|
- breeze-icon-theme-fedora
|
||||||
|
- curl
|
||||||
|
- duf
|
||||||
|
- eza
|
||||||
|
- fd-find
|
||||||
|
- firefox-dev
|
||||||
|
- fish
|
||||||
|
- flatpak
|
||||||
|
- fzf
|
||||||
|
- git
|
||||||
|
- grim
|
||||||
|
- kitty
|
||||||
|
- lazygit
|
||||||
|
- neovim
|
||||||
|
- nodejs
|
||||||
|
- openssh
|
||||||
|
- openssh-askpass
|
||||||
|
- openssh-clients
|
||||||
|
- openssh-server
|
||||||
|
- openssl
|
||||||
|
- openssl-devel
|
||||||
|
- openssl-libs
|
||||||
|
- php-cli
|
||||||
|
- php-common
|
||||||
|
- php-intl
|
||||||
|
- php-mbstring
|
||||||
|
- php-pecl-zip
|
||||||
|
- php-process
|
||||||
|
- php-soap
|
||||||
|
- php-xml
|
||||||
|
- rhythmbox
|
||||||
|
- ripgrep
|
||||||
|
- rofi-themes
|
||||||
|
- rofi-wayland
|
||||||
|
- rofimoji
|
||||||
|
- rootfiles
|
||||||
|
- rsync
|
||||||
|
- rustup
|
||||||
|
- sd
|
||||||
|
- sed
|
||||||
|
- sushi
|
||||||
|
- swappy
|
||||||
|
- tailscale
|
||||||
|
- tealdeer
|
||||||
|
- trash-cli
|
||||||
|
- tree
|
||||||
|
- tree-sitter-cli
|
||||||
|
- udisks2
|
||||||
|
- unrar
|
||||||
|
- unrar-free
|
||||||
|
- unzip
|
||||||
|
- zip
|
||||||
|
- zoxide
|
||||||
|
|
@ -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,197 +0,0 @@
|
||||||
# -*- conf -*-
|
|
||||||
|
|
||||||
# shell=$SHELL (if set, otherwise user's default shell from /etc/passwd)
|
|
||||||
# term=foot (or xterm-256color if built with -Dterminfo=disabled)
|
|
||||||
# login-shell=no
|
|
||||||
|
|
||||||
include=~/.config/foot/themes/catppuccin/catppuccin-macchiato.conf
|
|
||||||
|
|
||||||
# app-id=foot
|
|
||||||
# title=foot
|
|
||||||
# locked-title=no
|
|
||||||
|
|
||||||
font=JetBrainsMono NF:style=Regular:size=11
|
|
||||||
font-bold=JetBrainsMono NF:style=Bold:size=11
|
|
||||||
font-italic=JetBrainsMono NF:style=Italic:size=11
|
|
||||||
font-bold-italic=JetBrainsMono NF:style=Bold Italic:size=11
|
|
||||||
# line-height=<font metrics>
|
|
||||||
# letter-spacing=0
|
|
||||||
# horizontal-letter-offset=0
|
|
||||||
# vertical-letter-offset=0
|
|
||||||
# underline-offset=<font metrics>
|
|
||||||
# box-drawings-uses-font-glyphs=no
|
|
||||||
# dpi-aware=auto
|
|
||||||
|
|
||||||
# initial-window-size-pixels=700x500 # Or,
|
|
||||||
# initial-window-size-chars=<COLSxROWS>
|
|
||||||
# initial-window-mode=windowed
|
|
||||||
pad=10x10
|
|
||||||
# resize-delay-ms=100
|
|
||||||
|
|
||||||
# notify=notify-send -a ${app-id} -i ${app-id} ${title} ${body}
|
|
||||||
|
|
||||||
# bold-text-in-bright=no
|
|
||||||
# word-delimiters=,│`|:"'()[]{}<>
|
|
||||||
# selection-target=primary
|
|
||||||
# workers=<number of logical CPUs>
|
|
||||||
|
|
||||||
[environment]
|
|
||||||
# name=value
|
|
||||||
|
|
||||||
[bell]
|
|
||||||
# urgent=no
|
|
||||||
# notify=no
|
|
||||||
# command=
|
|
||||||
# command-focused=no
|
|
||||||
|
|
||||||
[scrollback]
|
|
||||||
# lines=1000
|
|
||||||
# multiplier=3.0
|
|
||||||
# indicator-position=relative
|
|
||||||
# indicator-format=
|
|
||||||
|
|
||||||
[url]
|
|
||||||
# launch=xdg-open ${url}
|
|
||||||
# label-letters=sadfjklewcmpgh
|
|
||||||
# osc8-underline=url-mode
|
|
||||||
# protocols=http, https, ftp, ftps, file, gemini, gopher
|
|
||||||
# uri-characters=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.,~:;/?#@!$&%*+="'()[]
|
|
||||||
|
|
||||||
[cursor]
|
|
||||||
# style=block
|
|
||||||
# color=<inverse foreground/background>
|
|
||||||
# blink=no
|
|
||||||
# beam-thickness=1.5
|
|
||||||
# underline-thickness=<font underline thickness>
|
|
||||||
|
|
||||||
[mouse]
|
|
||||||
# hide-when-typing=no
|
|
||||||
# alternate-scroll-mode=yes
|
|
||||||
|
|
||||||
[colors]
|
|
||||||
alpha=0.9
|
|
||||||
# foreground=dcdccc
|
|
||||||
# background=111111
|
|
||||||
|
|
||||||
## Normal/regular colors (color palette 0-7)
|
|
||||||
# regular0=222222 # black
|
|
||||||
# regular1=cc9393 # red
|
|
||||||
# regular2=7f9f7f # green
|
|
||||||
# regular3=d0bf8f # yellow
|
|
||||||
# regular4=6ca0a3 # blue
|
|
||||||
# regular5=dc8cc3 # magenta
|
|
||||||
# regular6=93e0e3 # cyan
|
|
||||||
# regular7=dcdccc # white
|
|
||||||
|
|
||||||
## Bright colors (color palette 8-15)
|
|
||||||
# bright0=666666 # bright black
|
|
||||||
# bright1=dca3a3 # bright red
|
|
||||||
# bright2=bfebbf # bright green
|
|
||||||
# bright3=f0dfaf # bright yellow
|
|
||||||
# bright4=8cd0d3 # bright blue
|
|
||||||
# bright5=fcace3 # bright magenta
|
|
||||||
# bright6=b3ffff # bright cyan
|
|
||||||
# bright7=ffffff # bright white
|
|
||||||
|
|
||||||
## dimmed colors (see foot.ini(5) man page)
|
|
||||||
# dim0=<not set>
|
|
||||||
# ...
|
|
||||||
# dim7=<not-set>
|
|
||||||
|
|
||||||
## The remaining 256-color palette
|
|
||||||
# 16 = <256-color palette #16>
|
|
||||||
# ...
|
|
||||||
# 255 = <256-color palette #255>
|
|
||||||
|
|
||||||
## Misc colors
|
|
||||||
# selection-foreground=<inverse foreground/background>
|
|
||||||
# selection-background=<inverse foreground/background>
|
|
||||||
# jump-labels=<regular0> <regular3> # black-on-yellow
|
|
||||||
# scrollback-indicator=<regular0> <bright4> # black-on-bright-blue
|
|
||||||
# search-box-no-match=<regular0> <regular1> # black-on-red
|
|
||||||
# search-box-match=<regular0> <regular3> # black-on-yellow
|
|
||||||
# urls=<regular3>
|
|
||||||
|
|
||||||
[csd]
|
|
||||||
preferred=none
|
|
||||||
# size=26
|
|
||||||
# font=<primary font>
|
|
||||||
# color=<foreground color>
|
|
||||||
# hide-when-typing=no
|
|
||||||
# border-width=0
|
|
||||||
# border-color=<csd.color>
|
|
||||||
# button-width=26
|
|
||||||
# button-color=<background color>
|
|
||||||
# button-minimize-color=<regular4>
|
|
||||||
# button-maximize-color=<regular2>
|
|
||||||
# button-close-color=<regular1>
|
|
||||||
|
|
||||||
[key-bindings]
|
|
||||||
# scrollback-up-page=Shift+Page_Up
|
|
||||||
# scrollback-up-half-page=none
|
|
||||||
# scrollback-up-line=none
|
|
||||||
# scrollback-down-page=Shift+Page_Down
|
|
||||||
# scrollback-down-half-page=none
|
|
||||||
# scrollback-down-line=none
|
|
||||||
# clipboard-copy=Control+Shift+c XF86Copy
|
|
||||||
# clipboard-paste=Control+Shift+v XF86Paste
|
|
||||||
# primary-paste=Shift+Insert
|
|
||||||
# search-start=Control+Shift+r
|
|
||||||
# font-increase=Control+plus Control+equal Control+KP_Add
|
|
||||||
# font-decrease=Control+minus Control+KP_Subtract
|
|
||||||
# font-reset=Control+0 Control+KP_0
|
|
||||||
# spawn-terminal=Control+Shift+n
|
|
||||||
# minimize=none
|
|
||||||
# maximize=none
|
|
||||||
# fullscreen=none
|
|
||||||
# pipe-visible=[sh -c "xurls | fuzzel | xargs -r firefox"] none
|
|
||||||
# pipe-scrollback=[sh -c "xurls | fuzzel | xargs -r firefox"] none
|
|
||||||
# pipe-selected=[xargs -r firefox] none
|
|
||||||
# show-urls-launch=Control+Shift+u
|
|
||||||
# show-urls-copy=none
|
|
||||||
# show-urls-persistent=none
|
|
||||||
# prompt-prev=Control+Shift+z
|
|
||||||
# prompt-next=Control+Shift+x
|
|
||||||
# unicode-input=none
|
|
||||||
# noop=none
|
|
||||||
|
|
||||||
[search-bindings]
|
|
||||||
# cancel=Control+g Control+c Escape
|
|
||||||
# commit=Return
|
|
||||||
# find-prev=Control+r
|
|
||||||
# find-next=Control+s
|
|
||||||
# cursor-left=Left Control+b
|
|
||||||
# cursor-left-word=Control+Left Mod1+b
|
|
||||||
# cursor-right=Right Control+f
|
|
||||||
# cursor-right-word=Control+Right Mod1+f
|
|
||||||
# cursor-home=Home Control+a
|
|
||||||
# cursor-end=End Control+e
|
|
||||||
# delete-prev=BackSpace
|
|
||||||
# delete-prev-word=Mod1+BackSpace Control+BackSpace
|
|
||||||
# delete-next=Delete
|
|
||||||
# delete-next-word=Mod1+d Control+Delete
|
|
||||||
# extend-to-word-boundary=Control+w
|
|
||||||
# extend-to-next-whitespace=Control+Shift+w
|
|
||||||
# clipboard-paste=Control+v Control+Shift+v Control+y XF86Paste
|
|
||||||
# primary-paste=Shift+Insert
|
|
||||||
# unicode-input=none
|
|
||||||
|
|
||||||
[url-bindings]
|
|
||||||
# cancel=Control+g Control+c Control+d Escape
|
|
||||||
# toggle-url-visible=t
|
|
||||||
|
|
||||||
[text-bindings]
|
|
||||||
# \x03=Mod4+c # Map Super+c -> Ctrl+c
|
|
||||||
|
|
||||||
[mouse-bindings]
|
|
||||||
# selection-override-modifiers=Shift
|
|
||||||
# primary-paste=BTN_MIDDLE
|
|
||||||
# select-begin=BTN_LEFT
|
|
||||||
# select-begin-block=Control+BTN_LEFT
|
|
||||||
# select-extend=BTN_RIGHT
|
|
||||||
# select-extend-character-wise=Control+BTN_RIGHT
|
|
||||||
# select-word=BTN_LEFT-2
|
|
||||||
# select-word-whitespace=Control+BTN_LEFT-2
|
|
||||||
# select-row=BTN_LEFT-3
|
|
||||||
|
|
||||||
# vim: ft=dosini
|
|
||||||
|
|
@ -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,32 +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://codeberg.org/dnkl/foot">Foot</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/foot/stargazers"><img src="https://img.shields.io/github/stars/catppuccin/foot?colorA=363a4f&colorB=b7bdf8&style=for-the-badge"></a>
|
|
||||||
<a href="https://github.com/catppuccin/foot/issues"><img src="https://img.shields.io/github/issues/catppuccin/foot?colorA=363a4f&colorB=f5a97f&style=for-the-badge"></a>
|
|
||||||
<a href="https://github.com/catppuccin/foot/contributors"><img src="https://img.shields.io/github/contributors/catppuccin/foot?colorA=363a4f&colorB=a6da95&style=for-the-badge"></a>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p align="center">
|
|
||||||
<img src="https://raw.githubusercontent.com/catppuccin/foot-catppuccin/main/assets/foot.png"/>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
## Usage
|
|
||||||
|
|
||||||
1. Copy the contents of `catppuccin.conf` colorscheme you want into your Foot config file (usually stored at `~/.config/foot/foot.ini`)
|
|
||||||
|
|
||||||
## 💝 Thanks to
|
|
||||||
|
|
||||||
- [Pocco81](https://github.com/Pocco81)
|
|
||||||
- [crdpa](https://github.com/crdpa)
|
|
||||||
- [Thibault Andreis](https://github.com/ThibaultAndreis)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<p align="center"><img src="https://raw.githubusercontent.com/catppuccin/catppuccin/main/assets/footers/gray0_ctp_on_line.svg?sanitize=true" /></p>
|
|
||||||
<p align="center">Copyright © 2021-present <a href="https://github.com/catppuccin" target="_blank">Catppuccin Org</a>
|
|
||||||
<p align="center"><a href="https://github.com/catppuccin/catppuccin/blob/main/LICENSE"><img src="https://img.shields.io/static/v1.svg?style=for-the-badge&label=License&message=MIT&logoColor=d9e0ee&colorA=363a4f&colorB=b7bdf8"/></a></p>
|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 313 KiB |
|
|
@ -1,19 +0,0 @@
|
||||||
[colors]
|
|
||||||
foreground=c6d0f5 # Text
|
|
||||||
background=303446 # Base
|
|
||||||
regular0=51576d # Surface 1
|
|
||||||
regular1=e78284 # red
|
|
||||||
regular2=a6d189 # green
|
|
||||||
regular3=e5c890 # yellow
|
|
||||||
regular4=8caaee # blue
|
|
||||||
regular5=f4b8e4 # pink
|
|
||||||
regular6=81c8be # teal
|
|
||||||
regular7=b5bfe2 # Subtext 1
|
|
||||||
bright0=626880 # Surface 2
|
|
||||||
bright1=e78284 # red
|
|
||||||
bright2=a6d189 # green
|
|
||||||
bright3=e5c890 # yellow
|
|
||||||
bright4=8caaee # blue
|
|
||||||
bright5=f4b8e4 # pink
|
|
||||||
bright6=81c8be # teal
|
|
||||||
bright7=a5adce # Subtext 0
|
|
||||||
|
|
@ -1,19 +0,0 @@
|
||||||
[colors]
|
|
||||||
foreground=4c4f69 # Text
|
|
||||||
background=eff1f5 # Base
|
|
||||||
regular0=5c5f77 # Subtext 1
|
|
||||||
regular1=d20f39 # red
|
|
||||||
regular2=40a02b # green
|
|
||||||
regular3=df8e1d # yellow
|
|
||||||
regular4=1e66f5 # blue
|
|
||||||
regular5=ea76cb # pink
|
|
||||||
regular6=179299 # teal
|
|
||||||
regular7=acb0be # Surface 2
|
|
||||||
bright0=6c6f85 # Subtext 0
|
|
||||||
bright1=d20f39 # red
|
|
||||||
bright2=40a02b # green
|
|
||||||
bright3=df8e1d # yellow
|
|
||||||
bright4=1e66f5 # blue
|
|
||||||
bright5=ea76cb # pink
|
|
||||||
bright6=179299 # teal
|
|
||||||
bright7=bcc0cc # Surface 1
|
|
||||||
|
|
@ -1,19 +0,0 @@
|
||||||
[colors]
|
|
||||||
foreground=cad3f5 # Text
|
|
||||||
background=24273a # Base
|
|
||||||
regular0=494d64 # Surface 1
|
|
||||||
regular1=ed8796 # red
|
|
||||||
regular2=a6da95 # green
|
|
||||||
regular3=eed49f # yellow
|
|
||||||
regular4=8aadf4 # blue
|
|
||||||
regular5=f5bde6 # pink
|
|
||||||
regular6=8bd5ca # teal
|
|
||||||
regular7=b8c0e0 # Subtext 1
|
|
||||||
bright0=5b6078 # Surface 2
|
|
||||||
bright1=ed8796 # red
|
|
||||||
bright2=a6da95 # green
|
|
||||||
bright3=eed49f # yellow
|
|
||||||
bright4=8aadf4 # blue
|
|
||||||
bright5=f5bde6 # pink
|
|
||||||
bright6=8bd5ca # teal
|
|
||||||
bright7=a5adcb # Subtext 0
|
|
||||||
|
|
@ -1,19 +0,0 @@
|
||||||
[colors]
|
|
||||||
foreground=cdd6f4 # Text
|
|
||||||
background=1e1e2e # Base
|
|
||||||
regular0=45475a # Surface 1
|
|
||||||
regular1=f38ba8 # red
|
|
||||||
regular2=a6e3a1 # green
|
|
||||||
regular3=f9e2af # yellow
|
|
||||||
regular4=89b4fa # blue
|
|
||||||
regular5=f5c2e7 # pink
|
|
||||||
regular6=94e2d5 # teal
|
|
||||||
regular7=bac2de # Subtext 1
|
|
||||||
bright0=585b70 # Surface 2
|
|
||||||
bright1=f38ba8 # red
|
|
||||||
bright2=a6e3a1 # green
|
|
||||||
bright3=f9e2af # yellow
|
|
||||||
bright4=89b4fa # blue
|
|
||||||
bright5=f5c2e7 # pink
|
|
||||||
bright6=94e2d5 # teal
|
|
||||||
bright7=a6adc8 # Subtext 0
|
|
||||||
|
|
@ -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/config/foot/themes/catppuccin
|
|
||||||
|
|
@ -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
|
|
||||||
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,11 +0,0 @@
|
||||||
[tools]
|
|
||||||
node = 'lts'
|
|
||||||
# python = {version='3', virtualenv='.venv'}
|
|
||||||
python = {version='3'} # setting virtualenv adds a virtualenv in every directory
|
|
||||||
php = "8.2"
|
|
||||||
go = "latest"
|
|
||||||
|
|
||||||
[settings]
|
|
||||||
[alias.node]
|
|
||||||
my_custom_node = '20' # makes `rtx install node@my_custom_node` install node-20.x
|
|
||||||
# this can also be specified in a plugin (see below in "Aliases")
|
|
||||||
|
|
@ -1,9 +0,0 @@
|
||||||
(directive) @function
|
|
||||||
(directive_start) @function
|
|
||||||
(directive_end) @function
|
|
||||||
(comment) @comment
|
|
||||||
((parameter) @include (#set! "priority" 110))
|
|
||||||
((php_only) @include (#set! "priority" 110))
|
|
||||||
((bracket_start) @function (#set! "priority" 120))
|
|
||||||
((bracket_end) @function (#set! "priority" 120))
|
|
||||||
(keyword) @function
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
((php) @injection.content
|
|
||||||
(#set! injection.combined)
|
|
||||||
(#set! injection.language php))
|
|
||||||
|
|
@ -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,10 +0,0 @@
|
||||||
-- Highlight on yank
|
|
||||||
-- See `:help vim.highlight.on_yank()`
|
|
||||||
local highlight_group = vim.api.nvim_create_augroup("YankHighlight", { clear = true })
|
|
||||||
vim.api.nvim_create_autocmd("TextYankPost", {
|
|
||||||
callback = function()
|
|
||||||
vim.highlight.on_yank()
|
|
||||||
end,
|
|
||||||
group = highlight_group,
|
|
||||||
pattern = "*",
|
|
||||||
})
|
|
||||||
|
|
@ -1,77 +0,0 @@
|
||||||
-- [[ Basic Keymaps ]]
|
|
||||||
|
|
||||||
function MAP(mode, l, r, desc)
|
|
||||||
vim.keymap.set(mode, l, r, { desc = desc, silent = true })
|
|
||||||
end
|
|
||||||
|
|
||||||
function ReloadModule(module)
|
|
||||||
package.loaded[module] = nil
|
|
||||||
require(module)
|
|
||||||
end
|
|
||||||
|
|
||||||
local function default(desc)
|
|
||||||
return {
|
|
||||||
silent = true,
|
|
||||||
desc = desc,
|
|
||||||
}
|
|
||||||
end
|
|
||||||
|
|
||||||
local function fixIndentation()
|
|
||||||
local indent = 2
|
|
||||||
vim.opt.tabstop = indent
|
|
||||||
vim.opt.shiftwidth = indent
|
|
||||||
vim.opt.softtabstop = indent
|
|
||||||
|
|
||||||
vim.cmd("retab")
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Keymaps for better default experience
|
|
||||||
-- See `:help vim.keymap.set()`
|
|
||||||
vim.keymap.set({ "n", "v" }, "<Space>", "<Nop>", { silent = true })
|
|
||||||
|
|
||||||
-- vim.keymap.set("n", "<C-s>", "<CMD>w<CR>", default("Keep cursor centered while junping"))
|
|
||||||
|
|
||||||
-- Remap for dealing with word wrap
|
|
||||||
vim.keymap.set("n", "k", "v:count == 0 ? 'gk' : 'k'", { expr = true, silent = true })
|
|
||||||
vim.keymap.set("n", "j", "v:count == 0 ? 'gj' : 'j'", { expr = true, silent = true })
|
|
||||||
|
|
||||||
vim.keymap.set("n", "J", "mzJ`z", default("Keep cursor in column while joining lines"))
|
|
||||||
|
|
||||||
vim.keymap.set("n", "|", ":vs<CR>", default("Open vsplit"))
|
|
||||||
vim.keymap.set("n", "°", ":sp<CR>", default("Open split"))
|
|
||||||
|
|
||||||
vim.keymap.set("n", "<C-d>", "<C-d>zz", default("Keep cursor centered while junping"))
|
|
||||||
vim.keymap.set("n", "<C-u>", "<C-u>zz", default("Keep cursor centered while junping"))
|
|
||||||
|
|
||||||
vim.keymap.set("n", "n", "nzzzv", default("Keep cursor centered while searching"))
|
|
||||||
vim.keymap.set("n", "N", "Nzzzv", default("Keep cursor centered while searching"))
|
|
||||||
|
|
||||||
vim.keymap.set("n", "Q", "<nop>", {})
|
|
||||||
|
|
||||||
vim.keymap.set(
|
|
||||||
"n",
|
|
||||||
"<leader>rw",
|
|
||||||
[[:%s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left><Left>]],
|
|
||||||
default("Search and replace current word")
|
|
||||||
)
|
|
||||||
|
|
||||||
-- vim.keymap.set("n", "<leader>rR", ":s/", default("Search and replace inline"))
|
|
||||||
-- vim.keymap.set("n", "<leader>rr", ":%s/", default("Search and replace globally"))
|
|
||||||
-- vim.keymap.set("v", "<leader>r", ":s/", default("Search and replace in selection"))
|
|
||||||
|
|
||||||
vim.keymap.set("v", "p", [["_dP]], default("Paste without lossing yanked text"))
|
|
||||||
|
|
||||||
vim.keymap.set("v", "J", ":m '>+1<CR>gv=gv", default("Move selection down"))
|
|
||||||
vim.keymap.set("v", "K", ":m '<-2<CR>gv=gv", default("Move selection up"))
|
|
||||||
vim.keymap.set("n", "<Leader>uI", fixIndentation, default("Fix indentation"))
|
|
||||||
vim.keymap.set("n", "<Leader>uO", function() ReloadModule('aleidk.options') end,
|
|
||||||
default("Reload the options configuration"))
|
|
||||||
|
|
||||||
vim.keymap.set("n", "<Leader>uh", ":nohl<CR>", default("Remove search highlight"))
|
|
||||||
|
|
||||||
vim.keymap.set("t", "<ESC>", "<C-\\><C-n>", default("Exit insert mode on terminal"))
|
|
||||||
|
|
||||||
vim.keymap.set("n", "<leader>bc", "<Cmd>bd<CR>", default("Close buffer"))
|
|
||||||
vim.keymap.set("n", "<leader>bh", "<Cmd>bp<CR>", default("Prev buffer"))
|
|
||||||
vim.keymap.set("n", "<leader>bl", "<Cmd>bn<CR>", default("Next buffer"))
|
|
||||||
vim.keymap.set("n", "<leader>bA", "<Cmd>bufdo bd<CR>", default("Close all buffers"))
|
|
||||||
|
|
@ -1,76 +0,0 @@
|
||||||
-- [[ Setting options ]]
|
|
||||||
-- See `:help vim.o`
|
|
||||||
|
|
||||||
-- Set <space> as the leader key
|
|
||||||
vim.g.mapleader = " "
|
|
||||||
vim.g.maplocalleader = " "
|
|
||||||
|
|
||||||
local opt = vim.opt
|
|
||||||
|
|
||||||
-- stylua: ignore
|
|
||||||
opt.autowrite = true -- Enable auto write
|
|
||||||
opt.clipboard = "unnamedplus" -- Sync with system clipboard
|
|
||||||
opt.completeopt = "menu,menuone,noselect"
|
|
||||||
opt.conceallevel = 2 -- Hide * markup for bold and italic
|
|
||||||
opt.confirm = true -- Confirm to save changes before exiting modified buffer
|
|
||||||
opt.cursorline = true -- Enable highlighting of the current line
|
|
||||||
opt.expandtab = true -- Use spaces instead of tabs
|
|
||||||
opt.formatoptions = "jcroqlnt" -- tcqj
|
|
||||||
opt.grepformat = "%f:%l:%c:%m"
|
|
||||||
opt.grepprg = "rg --vimgrep"
|
|
||||||
opt.ignorecase = true -- Ignore case
|
|
||||||
opt.inccommand = "nosplit" -- preview incremental substitute
|
|
||||||
opt.laststatus = 0
|
|
||||||
opt.list = true -- Show some invisible characters (tabs...
|
|
||||||
opt.mouse = "a" -- Enable mouse mode
|
|
||||||
opt.number = true -- Print line number
|
|
||||||
opt.pumblend = 10 -- Popup blend
|
|
||||||
opt.pumheight = 10 -- Maximum number of entries in a popup
|
|
||||||
opt.relativenumber = true -- Relative line numbers
|
|
||||||
opt.scrolloff = 15 -- Lines of context
|
|
||||||
opt.sessionoptions = { "buffers", "curdir", "tabpages", "winsize" }
|
|
||||||
opt.shiftround = true -- Round indent
|
|
||||||
opt.shiftwidth = 2 -- Size of an indent
|
|
||||||
opt.shortmess:append({ W = true, I = true, c = true })
|
|
||||||
opt.showmode = false -- Dont show mode since we have a statusline
|
|
||||||
opt.sidescrolloff = 8 -- Columns of context
|
|
||||||
opt.signcolumn = "yes" -- Always show the signcolumn, otherwise it would shift the text each time
|
|
||||||
opt.smartcase = true -- Don't ignore case with capitals
|
|
||||||
opt.smartindent = true -- Insert indents automatically
|
|
||||||
opt.spelllang = { "en" }
|
|
||||||
opt.splitbelow = true -- Put new windows below current
|
|
||||||
opt.splitright = true -- Put new windows right of current
|
|
||||||
opt.tabstop = 2 -- Number of spaces tabs count for
|
|
||||||
opt.termguicolors = true -- True color support
|
|
||||||
opt.timeoutlen = 300
|
|
||||||
opt.undofile = true
|
|
||||||
opt.undolevels = 10000
|
|
||||||
opt.updatetime = 200 -- Save swap file and trigger CursorHold
|
|
||||||
opt.wildmode = "longest,list:full" -- Command-line completion mode
|
|
||||||
opt.winminwidth = 5 -- Minimum window width
|
|
||||||
opt.wrap = false -- Disable line wrap
|
|
||||||
|
|
||||||
vim.o.sessionoptions = "blank,buffers,curdir,folds,help,tabpages,winsize,winpos,terminal,localoptions"
|
|
||||||
|
|
||||||
vim.filetype.add({
|
|
||||||
-- Detect and assign filetype based on the extension of the filename
|
|
||||||
extension = {
|
|
||||||
mdx = "mdx",
|
|
||||||
log = "log",
|
|
||||||
conf = "conf",
|
|
||||||
env = "dotenv",
|
|
||||||
},
|
|
||||||
-- Detect and apply filetypes based on the entire filename
|
|
||||||
filename = {
|
|
||||||
[".env"] = "dotenv",
|
|
||||||
["env"] = "dotenv",
|
|
||||||
["tsconfig.json"] = "jsonc",
|
|
||||||
},
|
|
||||||
-- Detect and apply filetypes based on certain patterns of the filenames
|
|
||||||
pattern = {
|
|
||||||
-- INFO: Match filenames like - ".env.example", ".env.local" and so on
|
|
||||||
["%.env%.[%w_.-]+"] = "dotenv",
|
|
||||||
[".*%.blade%.php"] = "blade",
|
|
||||||
[".*%.hurl.*"] = "hurl",
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
@ -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,5 +0,0 @@
|
||||||
return {
|
|
||||||
"windwp/nvim-autopairs",
|
|
||||||
event = "InsertEnter",
|
|
||||||
opts = {}, -- this is equalent to setup({}) function
|
|
||||||
}
|
|
||||||
|
|
@ -1,39 +0,0 @@
|
||||||
return { -- Change colors.none if not using a transparent background
|
|
||||||
"catppuccin/nvim",
|
|
||||||
priority = 1000,
|
|
||||||
lazy = false,
|
|
||||||
opts = {
|
|
||||||
flavour = "macchiato",
|
|
||||||
transparent_background = true,
|
|
||||||
integrations = {
|
|
||||||
cmp = true,
|
|
||||||
notify = true,
|
|
||||||
harpoon = false,
|
|
||||||
mason = true,
|
|
||||||
neogit = true,
|
|
||||||
noice = true,
|
|
||||||
hop = true,
|
|
||||||
lsp_trouble = true,
|
|
||||||
indent_blankline = {
|
|
||||||
enabled = true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
custom_highlights = function(colors)
|
|
||||||
return {
|
|
||||||
-- Fix colors for cmp
|
|
||||||
Pmenu = { bg = colors.none, blend = 0 },
|
|
||||||
FloatBorder = { bg = colors.none },
|
|
||||||
CmpItemMenu = { fg = colors.text, bg = colors.none },
|
|
||||||
-- dadbod-ui
|
|
||||||
NotificationInfo = { bg = colors.none, fg = colors.text },
|
|
||||||
NotificationWarning = { bg = colors.none, fg = colors.yellow },
|
|
||||||
NotificationError = { bg = colors.none, fg = colors.red },
|
|
||||||
}
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
|
|
||||||
config = function(_, opts)
|
|
||||||
require("catppuccin").setup(opts)
|
|
||||||
vim.cmd.colorscheme("catppuccin")
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
|
|
@ -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,44 +0,0 @@
|
||||||
return {
|
|
||||||
"kristijanhusak/vim-dadbod-ui",
|
|
||||||
dependencies = {
|
|
||||||
{ "tpope/vim-dadbod", lazy = true },
|
|
||||||
{ "kristijanhusak/vim-dadbod-completion", ft = { "sql", "mysql", "plsql" }, lazy = true },
|
|
||||||
},
|
|
||||||
cmd = {
|
|
||||||
"DBUI",
|
|
||||||
"DBUIToggle",
|
|
||||||
"DBUIAddConnection",
|
|
||||||
"DBUIFindBuffer",
|
|
||||||
},
|
|
||||||
keys = {
|
|
||||||
{ "<Leader>ud", "<CMD>DBUIToggle<CR>", desc = "Toggle DB UI" },
|
|
||||||
},
|
|
||||||
init = function()
|
|
||||||
-- Your DBUI configuration
|
|
||||||
vim.g.db_ui_use_nerd_fonts = 1
|
|
||||||
vim.g.db_ui_force_echo_notifications = 1
|
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd("FileType", {
|
|
||||||
pattern = {
|
|
||||||
"sql",
|
|
||||||
"mysql",
|
|
||||||
"plsql",
|
|
||||||
},
|
|
||||||
command = [[setlocal omnifunc=vim_dadbod_completion#omni]],
|
|
||||||
})
|
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd("FileType", {
|
|
||||||
pattern = {
|
|
||||||
"sql",
|
|
||||||
"mysql",
|
|
||||||
"plsql",
|
|
||||||
},
|
|
||||||
callback = function()
|
|
||||||
---@diagnostic disable-next-line: missing-fields
|
|
||||||
require("cmp").setup.buffer({
|
|
||||||
sources = { { name = "vim-dadbod-completion" }, { name = "buffer" } },
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
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,120 +0,0 @@
|
||||||
return {
|
|
||||||
"stevearc/conform.nvim",
|
|
||||||
event = "VeryLazy",
|
|
||||||
opts = {
|
|
||||||
-- log_level = vim.log.levels.DEBUG,
|
|
||||||
|
|
||||||
-- See aviable formatters in: https://github.com/stevearc/conform.nvim#formatters
|
|
||||||
-- Formatters can be installed by mason
|
|
||||||
formatters_by_ft = {
|
|
||||||
-- Conform will run multiple formatters sequentially
|
|
||||||
-- Use a stop_after_first = true to run only the first available formatter
|
|
||||||
-- Use the "_" filetype to run formatters on filetypes that don't
|
|
||||||
-- have other formatters configured.
|
|
||||||
["_"] = { "trim_whitespace" },
|
|
||||||
blade = { "blade-formatter" },
|
|
||||||
css = { "prettierd", "prettier" },
|
|
||||||
go = { "gofumpt", "goimports_reviser", "golines" },
|
|
||||||
html = { "djlint", "prettierd", stop_after_first = true },
|
|
||||||
javascript = { "prettierd", "prettier", stop_after_first = true },
|
|
||||||
javascriptreact = { "prettierd", "prettier", stop_after_first = true },
|
|
||||||
json = { "prettierd", "prettier", stop_after_first = true },
|
|
||||||
jsonc = { "prettierd", "prettier", stop_after_first = true },
|
|
||||||
lua = { "stylua" },
|
|
||||||
markdown = { "markdownlint" },
|
|
||||||
nim = { "nimpretty" },
|
|
||||||
php = { "pint" },
|
|
||||||
python = { "ruff_format", "ruff_organize_imports" },
|
|
||||||
scss = { "prettierd", "prettier", stop_after_first = true },
|
|
||||||
sh = { "shfmt" },
|
|
||||||
typescript = { "prettierd", "prettier", stop_after_first = true },
|
|
||||||
typescriptreact = { "prettierd", "prettier", stop_after_first = true },
|
|
||||||
xml = { "lemminx" },
|
|
||||||
zsh = { "shfmt" }
|
|
||||||
},
|
|
||||||
formatters = {
|
|
||||||
djlint = {
|
|
||||||
prepend_args = {
|
|
||||||
"--format-css",
|
|
||||||
"--indent-css",
|
|
||||||
"2",
|
|
||||||
"--format-js",
|
|
||||||
"--indent-js",
|
|
||||||
"2",
|
|
||||||
"--indent",
|
|
||||||
"2",
|
|
||||||
"--preserve-blank-lines",
|
|
||||||
"--quiet"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
format_on_save = function(bufnr)
|
|
||||||
-- Disable with a global or buffer-local variable
|
|
||||||
if vim.g.disable_autoformat or vim.b[bufnr].disable_autoformat then
|
|
||||||
return
|
|
||||||
end
|
|
||||||
|
|
||||||
return { timeout_ms = 2000, lsp_fallback = true }
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
config = function(_, opts)
|
|
||||||
require("conform").setup(opts)
|
|
||||||
|
|
||||||
local function toggleAutoFormat()
|
|
||||||
-- to make this global, change b to g
|
|
||||||
if vim.b.disable_autoformat == nil then
|
|
||||||
vim.b.disable_autoformat = true
|
|
||||||
print("Autoformat set to: " .. tostring(not vim.b.disable_autoformat))
|
|
||||||
return
|
|
||||||
end
|
|
||||||
|
|
||||||
vim.b.disable_autoformat = not vim.b.disable_autoformat
|
|
||||||
print("Autoformat set to: " .. tostring(not vim.b.disable_autoformat))
|
|
||||||
end
|
|
||||||
|
|
||||||
MAP("n", "<leader>uf", toggleAutoFormat, "Toggle auto format")
|
|
||||||
|
|
||||||
vim.api.nvim_create_user_command("Fmt", function(args)
|
|
||||||
local range = nil
|
|
||||||
if args.count ~= -1 then
|
|
||||||
local end_line = vim.api.nvim_buf_get_lines(0, args.line2 - 1, args.line2, true)[1]
|
|
||||||
range = {
|
|
||||||
start = { args.line1, 0 },
|
|
||||||
["end"] = { args.line2, end_line:len() },
|
|
||||||
}
|
|
||||||
end
|
|
||||||
|
|
||||||
local function callback(err, did_edit)
|
|
||||||
if not did_edit then
|
|
||||||
vim.notify("The file was not formatted:\n" .. tostring(err), vim.log.levels.ERROR)
|
|
||||||
return
|
|
||||||
end
|
|
||||||
|
|
||||||
if args.bang then
|
|
||||||
vim.cmd("w")
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
require("conform").format(
|
|
||||||
{
|
|
||||||
async = true,
|
|
||||||
lsp_format = "fallback",
|
|
||||||
range = range,
|
|
||||||
formatters = args.fargs
|
|
||||||
},
|
|
||||||
callback
|
|
||||||
)
|
|
||||||
end, {
|
|
||||||
range = true,
|
|
||||||
bang = true,
|
|
||||||
force = true,
|
|
||||||
desc = "Format the document",
|
|
||||||
nargs = '*',
|
|
||||||
-- complete = function()
|
|
||||||
-- local formatters = require('conform').formatters_by_ft
|
|
||||||
--
|
|
||||||
-- return vim.tbl_keys(formatters)
|
|
||||||
-- end
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
|
|
@ -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,30 +0,0 @@
|
||||||
return {
|
|
||||||
-- Add indentation guides even on blank lines
|
|
||||||
"lukas-reineke/indent-blankline.nvim",
|
|
||||||
event = { "BufReadPost", "BufNewFile" },
|
|
||||||
main = "ibl",
|
|
||||||
opts = {
|
|
||||||
-- char = "▏",
|
|
||||||
indent = {
|
|
||||||
char = "│",
|
|
||||||
tab_char = "│",
|
|
||||||
},
|
|
||||||
scope = {
|
|
||||||
enabled = true,
|
|
||||||
},
|
|
||||||
exclude = {
|
|
||||||
filetypes = {
|
|
||||||
"help",
|
|
||||||
"alpha",
|
|
||||||
"dashboard",
|
|
||||||
"neo-tree",
|
|
||||||
"Trouble",
|
|
||||||
"lazy",
|
|
||||||
"mason",
|
|
||||||
"notify",
|
|
||||||
"toggleterm",
|
|
||||||
"lazyterm",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
@ -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,85 +0,0 @@
|
||||||
return {
|
|
||||||
"echasnovski/mini.clue",
|
|
||||||
version = "*",
|
|
||||||
event = "VeryLazy",
|
|
||||||
config = function()
|
|
||||||
local miniclue = require("mini.clue")
|
|
||||||
miniclue.setup({
|
|
||||||
triggers = {
|
|
||||||
-- Leader triggers
|
|
||||||
{ mode = "n", keys = "<Leader>" },
|
|
||||||
{ mode = "v", keys = "<Leader>" },
|
|
||||||
{ mode = "x", keys = "<Leader>" },
|
|
||||||
|
|
||||||
-- Built-in completion
|
|
||||||
{ mode = "i", keys = "<C-x>" },
|
|
||||||
|
|
||||||
-- `g` key
|
|
||||||
{ mode = "n", keys = "g" },
|
|
||||||
{ mode = "x", keys = "g" },
|
|
||||||
|
|
||||||
-- Marks
|
|
||||||
{ mode = "n", keys = "'" },
|
|
||||||
{ mode = "n", keys = "`" },
|
|
||||||
{ mode = "x", keys = "'" },
|
|
||||||
{ mode = "x", keys = "`" },
|
|
||||||
|
|
||||||
-- Registers
|
|
||||||
{ mode = "n", keys = '"' },
|
|
||||||
{ mode = "x", keys = '"' },
|
|
||||||
{ mode = "i", keys = "<C-r>" },
|
|
||||||
{ mode = "c", keys = "<C-r>" },
|
|
||||||
|
|
||||||
-- Window commands
|
|
||||||
{ mode = "n", keys = "<C-w>" },
|
|
||||||
|
|
||||||
-- `z` key
|
|
||||||
{ mode = "n", keys = "z" },
|
|
||||||
{ mode = "x", keys = "z" },
|
|
||||||
},
|
|
||||||
|
|
||||||
-- Add a "postkeys" value to activate those keys after others
|
|
||||||
clues = {
|
|
||||||
miniclue.gen_clues.builtin_completion(),
|
|
||||||
miniclue.gen_clues.g(),
|
|
||||||
miniclue.gen_clues.marks(),
|
|
||||||
miniclue.gen_clues.registers(),
|
|
||||||
miniclue.gen_clues.windows(),
|
|
||||||
miniclue.gen_clues.z(),
|
|
||||||
|
|
||||||
{ mode = "n", keys = "<Leader><Leader>", desc = "+Bookmarks" },
|
|
||||||
{ mode = "n", keys = "<Leader><Leader>n", postkeys = "<Leader><Leader>" },
|
|
||||||
{ mode = "n", keys = "<Leader><Leader>N", postkeys = "<Leader><Leader>" },
|
|
||||||
{ mode = "n", keys = "<Leader>b", desc = "+Buffers" },
|
|
||||||
{ mode = "n", keys = "<Leader>bh", postkeys = "<Leader>b" },
|
|
||||||
{ mode = "n", keys = "<Leader>bl", postkeys = "<Leader>b" },
|
|
||||||
{ mode = "n", keys = "<Leader>f", desc = "+Find" },
|
|
||||||
{ mode = "n", keys = "<Leader>g", desc = "+Git" },
|
|
||||||
{ mode = "n", keys = "<Leader>l", desc = "+LSP" },
|
|
||||||
{ mode = "n", keys = "<Leader>r", desc = "+Replace" },
|
|
||||||
{ mode = "n", keys = "<Leader>u", desc = "+UI & Config" },
|
|
||||||
{ mode = "n", keys = "<Leader>un", desc = "+Noice" },
|
|
||||||
{ mode = "n", keys = "<Leader>w", desc = "+Workspace" },
|
|
||||||
{ mode = "n", keys = "<Leader>p", desc = "+Run stuff" },
|
|
||||||
{ mode = "n", keys = "<Leader>z", desc = "+ZK" },
|
|
||||||
{ mode = "v", keys = "<Leader>z", desc = "+ZK" },
|
|
||||||
{ mode = "v", keys = "<Leader>a", desc = "+AI" },
|
|
||||||
{ mode = "n", keys = "<Leader>a", desc = "+AI" },
|
|
||||||
{ mode = "n", keys = "g?", desc = "+Print Debug" },
|
|
||||||
},
|
|
||||||
|
|
||||||
-- Clue window settings
|
|
||||||
window = {
|
|
||||||
-- Floating window config
|
|
||||||
config = {
|
|
||||||
width = "auto",
|
|
||||||
},
|
|
||||||
-- Delay before showing clue window
|
|
||||||
delay = 200,
|
|
||||||
-- Keys to scroll inside the clue window
|
|
||||||
scroll_down = "<C-d>",
|
|
||||||
scroll_up = "<C-u>",
|
|
||||||
},
|
|
||||||
})
|
|
||||||
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,230 +0,0 @@
|
||||||
return {
|
|
||||||
"nvim-lualine/lualine.nvim",
|
|
||||||
lazy = false,
|
|
||||||
dependencies = {
|
|
||||||
"nvim-tree/nvim-web-devicons",
|
|
||||||
"cbochs/grapple.nvim",
|
|
||||||
{ 'AndreM222/copilot-lualine' }
|
|
||||||
},
|
|
||||||
opts = function()
|
|
||||||
local icons = require("aleidk.constants").icons
|
|
||||||
local palete = require("catppuccin.palettes").get_palette "macchiato"
|
|
||||||
|
|
||||||
local function diff_source()
|
|
||||||
local gitsigns = vim.b.gitsigns_status_dict
|
|
||||||
if gitsigns then
|
|
||||||
return {
|
|
||||||
added = gitsigns.added,
|
|
||||||
modified = gitsigns.changed,
|
|
||||||
removed = gitsigns.removed,
|
|
||||||
}
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
local function position_scrollbar(str)
|
|
||||||
local sbar = { "▁▁", "▂▂", "▃▃", "▄▄", "▅▅", "▆▆", "▇▇", "██" }
|
|
||||||
|
|
||||||
local curr_line = vim.api.nvim_win_get_cursor(0)[1]
|
|
||||||
local lines = vim.api.nvim_buf_line_count(0)
|
|
||||||
local i = math.floor((curr_line - 1) / lines * #sbar) + 1
|
|
||||||
return str .. " " .. sbar[i]
|
|
||||||
end
|
|
||||||
|
|
||||||
local codecompanion_status = require("lualine.component"):extend()
|
|
||||||
|
|
||||||
codecompanion_status.processing = false
|
|
||||||
codecompanion_status.spinner_index = 1
|
|
||||||
|
|
||||||
local spinner_symbols = require("copilot-lualine.spinners").bouncing_bar
|
|
||||||
|
|
||||||
-- Initializer
|
|
||||||
function codecompanion_status:init(options)
|
|
||||||
codecompanion_status.super.init(self, options)
|
|
||||||
|
|
||||||
local group = vim.api.nvim_create_augroup("CodeCompanionHooks", {})
|
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd({ "User" }, {
|
|
||||||
pattern = "CodeCompanionRequest*",
|
|
||||||
group = group,
|
|
||||||
callback = function(request)
|
|
||||||
if request.match == "CodeCompanionRequestStarted" then
|
|
||||||
self.processing = true
|
|
||||||
elseif request.match == "CodeCompanionRequestFinished" then
|
|
||||||
self.processing = false
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Function that runs every time statusline is updated
|
|
||||||
function codecompanion_status:update_status()
|
|
||||||
if self.processing then
|
|
||||||
self.spinner_index = (self.spinner_index % #spinner_symbols) + 1
|
|
||||||
return spinner_symbols[self.spinner_index]
|
|
||||||
else
|
|
||||||
return nil
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
return {
|
|
||||||
options = {
|
|
||||||
theme = "catppuccin",
|
|
||||||
globalstatus = true,
|
|
||||||
disabled_filetypes = { statusline = { "dashboard", "alpha" } },
|
|
||||||
component_separators = "",
|
|
||||||
section_separators = "",
|
|
||||||
},
|
|
||||||
sections = {
|
|
||||||
lualine_a = {
|
|
||||||
{
|
|
||||||
"mode",
|
|
||||||
padding = 0,
|
|
||||||
fmt = function()
|
|
||||||
return " "
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
lualine_b = {},
|
|
||||||
lualine_c = {
|
|
||||||
{ "branch", icon = icons.git.branch },
|
|
||||||
{
|
|
||||||
"copilot",
|
|
||||||
cond = function()
|
|
||||||
return vim.bo.filetype ~= "codecompanion"
|
|
||||||
end,
|
|
||||||
show_colors = true,
|
|
||||||
symbols = {
|
|
||||||
status = {
|
|
||||||
icons = {
|
|
||||||
enabled = " ",
|
|
||||||
sleep = " ", -- auto-trigger disabled
|
|
||||||
disabled = " ",
|
|
||||||
warning = " ",
|
|
||||||
unknown = " "
|
|
||||||
},
|
|
||||||
hl = {
|
|
||||||
enabled = palete.teal,
|
|
||||||
sleep = palete.lavender,
|
|
||||||
disabled = palete.subtext0,
|
|
||||||
warning = palete.peach,
|
|
||||||
unknown = palete.red
|
|
||||||
}
|
|
||||||
},
|
|
||||||
spinners = spinner_symbols,
|
|
||||||
spinner_color = palete.mauve
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{ codecompanion_status },
|
|
||||||
{
|
|
||||||
"overseer",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
-- Macro recording status
|
|
||||||
function()
|
|
||||||
return require("noice").api.status.mode.get()
|
|
||||||
end,
|
|
||||||
cond = function()
|
|
||||||
return package.loaded["noice"] and require("noice").api.status.mode.has()
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
lualine_x = {
|
|
||||||
{
|
|
||||||
function()
|
|
||||||
return require("grapple").statusline()
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
lualine_y = {
|
|
||||||
{ "searchcount" },
|
|
||||||
{ "location" },
|
|
||||||
{
|
|
||||||
"progress",
|
|
||||||
fmt = position_scrollbar,
|
|
||||||
separator = " ",
|
|
||||||
padding = 0,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
lualine_z = {},
|
|
||||||
},
|
|
||||||
winbar = {
|
|
||||||
lualine_b = {
|
|
||||||
{
|
|
||||||
"filename",
|
|
||||||
path = 1,
|
|
||||||
symbols = {
|
|
||||||
modified = " ●", -- Text to show when the buffer is modified
|
|
||||||
alternate_file = "#", -- Text to show to identify the alternate file
|
|
||||||
directory = "", -- Text to show when the buffer is a directory
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
lualine_y = {
|
|
||||||
{
|
|
||||||
"diff",
|
|
||||||
symbols = {
|
|
||||||
added = icons.git.added,
|
|
||||||
modified = icons.git.modified,
|
|
||||||
removed = icons.git.removed,
|
|
||||||
},
|
|
||||||
source = diff_source,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"diagnostics",
|
|
||||||
symbols = {
|
|
||||||
error = icons.diagnostics.Error,
|
|
||||||
warn = icons.diagnostics.Warn,
|
|
||||||
info = icons.diagnostics.Info,
|
|
||||||
hint = icons.diagnostics.Hint,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
inactive_winbar = {
|
|
||||||
lualine_b = {
|
|
||||||
{
|
|
||||||
"filename",
|
|
||||||
path = 1,
|
|
||||||
symbols = {
|
|
||||||
modified = " ●", -- Text to show when the buffer is modified
|
|
||||||
alternate_file = "#", -- Text to show to identify the alternate file
|
|
||||||
directory = "", -- Text to show when the buffer is a directory
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
lualine_y = {
|
|
||||||
{
|
|
||||||
"diff",
|
|
||||||
symbols = {
|
|
||||||
added = icons.git.added,
|
|
||||||
modified = icons.git.modified,
|
|
||||||
removed = icons.git.removed,
|
|
||||||
},
|
|
||||||
source = diff_source,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"diagnostics",
|
|
||||||
symbols = {
|
|
||||||
error = icons.diagnostics.Error,
|
|
||||||
warn = icons.diagnostics.Warn,
|
|
||||||
info = icons.diagnostics.Info,
|
|
||||||
hint = icons.diagnostics.Hint,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
extensions = {
|
|
||||||
"neo-tree",
|
|
||||||
"lazy",
|
|
||||||
"fugitive",
|
|
||||||
"fzf",
|
|
||||||
"man",
|
|
||||||
"mason",
|
|
||||||
"nvim-tree",
|
|
||||||
"quickfix",
|
|
||||||
"symbols-outline",
|
|
||||||
"trouble",
|
|
||||||
},
|
|
||||||
}
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
|
|
@ -1,27 +0,0 @@
|
||||||
return {
|
|
||||||
"L3MON4D3/LuaSnip",
|
|
||||||
dependencies = {
|
|
||||||
"rafamadriz/friendly-snippets",
|
|
||||||
config = function()
|
|
||||||
require("luasnip.loaders.from_vscode").lazy_load()
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
opts = {
|
|
||||||
history = true,
|
|
||||||
delete_check_events = "TextChanged",
|
|
||||||
},
|
|
||||||
-- stylua: ignore
|
|
||||||
keys = {
|
|
||||||
{
|
|
||||||
"<tab>",
|
|
||||||
function()
|
|
||||||
return require("luasnip").jumpable(1) and "<Plug>luasnip-jump-next" or "<tab>"
|
|
||||||
end,
|
|
||||||
expr = true,
|
|
||||||
silent = true,
|
|
||||||
mode = "i",
|
|
||||||
},
|
|
||||||
{ "<tab>", function() require("luasnip").jump(1) end, mode = "s" },
|
|
||||||
{ "<s-tab>", function() require("luasnip").jump(-1) end, mode = { "i", "s" } },
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
@ -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,8 +0,0 @@
|
||||||
return {
|
|
||||||
"nosduco/remote-sshfs.nvim",
|
|
||||||
dependencies = { "nvim-telescope/telescope.nvim" },
|
|
||||||
config = function()
|
|
||||||
require("remote-sshfs").setup({})
|
|
||||||
require("telescope").load_extension("remote-sshfs")
|
|
||||||
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,6 +0,0 @@
|
||||||
return {
|
|
||||||
"echasnovski/mini.surround",
|
|
||||||
disabled = true,
|
|
||||||
version = "*",
|
|
||||||
opts = {},
|
|
||||||
}
|
|
||||||
|
|
@ -1,145 +0,0 @@
|
||||||
local function term_get_effective_line_count(bufnr)
|
|
||||||
local linecount = vim.api.nvim_buf_line_count(bufnr)
|
|
||||||
|
|
||||||
local non_blank_lines = linecount
|
|
||||||
for i = linecount, 1, -1 do
|
|
||||||
local line = vim.api.nvim_buf_get_lines(bufnr, i - 1, i, true)[1]
|
|
||||||
non_blank_lines = i
|
|
||||||
if line ~= "" then
|
|
||||||
break
|
|
||||||
end
|
|
||||||
end
|
|
||||||
return non_blank_lines
|
|
||||||
end
|
|
||||||
|
|
||||||
-- This is a copy of the original util function of overseer with the change that
|
|
||||||
-- vim.api.nvim_win_set_cursor(winid, { lnum, 0 }) column is set to 0 so the output is visible
|
|
||||||
-- the rest is the same
|
|
||||||
local scroll_to_end = function(winid)
|
|
||||||
winid = winid or 0
|
|
||||||
local bufnr = vim.api.nvim_win_get_buf(winid)
|
|
||||||
local lnum = vim.api.nvim_buf_line_count(bufnr)
|
|
||||||
local last_line = vim.api.nvim_buf_get_lines(bufnr, -2, -1, true)[1]
|
|
||||||
-- Hack: terminal buffers add a bunch of empty lines at the end. We need to ignore them so that
|
|
||||||
-- we don't end up scrolling off the end of the useful output.
|
|
||||||
local not_much_output = lnum < vim.o.lines + 6
|
|
||||||
if vim.bo[bufnr].buftype == "terminal" and not_much_output then
|
|
||||||
lnum = term_get_effective_line_count(bufnr)
|
|
||||||
last_line = vim.api.nvim_buf_get_lines(bufnr, lnum - 1, lnum, true)[1]
|
|
||||||
end
|
|
||||||
local scrolloff = vim.api.nvim_get_option_value("scrolloff", { scope = "local", win = winid })
|
|
||||||
vim.api.nvim_set_option_value("scrolloff", 0, { scope = "local", win = winid })
|
|
||||||
vim.api.nvim_win_set_cursor(winid, { lnum, 0 })
|
|
||||||
vim.api.nvim_set_option_value("scrolloff", scrolloff, { scope = "local", win = winid })
|
|
||||||
end
|
|
||||||
|
|
||||||
local open_split = function(task, horizontal)
|
|
||||||
local original_window = vim.api.nvim_get_current_win()
|
|
||||||
if horizontal then
|
|
||||||
-- horizontal split across all vertical splits
|
|
||||||
vim.cmd([[botright split]])
|
|
||||||
else
|
|
||||||
-- vertical split across all horizontal splits
|
|
||||||
vim.cmd([[vert botright split]])
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Update tasks buffer options
|
|
||||||
vim.api.nvim_win_set_buf(0, task:get_bufnr())
|
|
||||||
vim.api.nvim_set_option_value("number", false, { scope = "local", win = 0 })
|
|
||||||
vim.api.nvim_set_option_value("relativenumber", false, { scope = "local", win = 0 })
|
|
||||||
vim.api.nvim_set_option_value("signcolumn", "no", { scope = "local", win = 0 })
|
|
||||||
scroll_to_end(0)
|
|
||||||
|
|
||||||
-- Go back to the original window
|
|
||||||
vim.api.nvim_set_current_win(original_window)
|
|
||||||
end
|
|
||||||
|
|
||||||
return {
|
|
||||||
"stevearc/overseer.nvim",
|
|
||||||
keys = {
|
|
||||||
{ "<leader>pO", "<CMD>OverseerQuickAction hsplit<CR>", desc = "Open task in a hsplit" },
|
|
||||||
{
|
|
||||||
"<leader>pQ",
|
|
||||||
"<CMD>OverseerQuickAction close win<CR><CMD>OverseerQuickAction dispose<CR>",
|
|
||||||
desc = "Close and dispose task's windows",
|
|
||||||
},
|
|
||||||
{ "<leader>pW", "<CMD>OverseerQuickAction unwatch<CR>", desc = "Unwatch task" },
|
|
||||||
{ "<leader>pf", "<CMD>OverseerQuickAction open float<CR>", desc = "Open task in a float window" },
|
|
||||||
{ "<leader>pl", "<CMD>OverseerLoadBundle<CR>", desc = "Load tasks" },
|
|
||||||
{ "<leader>pm", "<CMD>OverseerTaskAction<CR>", desc = "Manage task" },
|
|
||||||
{ "<leader>po", "<CMD>OverseerQuickAction vsplit<CR>", desc = "Open task in a vsplit" },
|
|
||||||
{ "<leader>pp", "<CMD>OverseerRun<CR>", desc = "Run task" },
|
|
||||||
{ "<leader>pq", "<CMD>OverseerQuickAction close win<CR>", desc = "Close task's windows" },
|
|
||||||
{ "<leader>ps", "<CMD>OverseerSaveBundle<CR>", desc = "Save tasks" },
|
|
||||||
{ "<leader>pt", "<CMD>OverseerToggle<CR>", desc = "Toggle tasks list" },
|
|
||||||
{ "<leader>pw", "<CMD>OverseerQuickAction watch<CR>", desc = "Watch task" },
|
|
||||||
},
|
|
||||||
opts = {
|
|
||||||
actions = {
|
|
||||||
["hsplit"] = {
|
|
||||||
desc = "open terminal in a horizontal split",
|
|
||||||
condition = function(task)
|
|
||||||
local bufnr = task:get_bufnr()
|
|
||||||
return bufnr and vim.api.nvim_buf_is_valid(bufnr)
|
|
||||||
end,
|
|
||||||
run = function(task)
|
|
||||||
open_split(task, true)
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
["vsplit"] = {
|
|
||||||
desc = "open terminal in a vertical split",
|
|
||||||
condition = function(task)
|
|
||||||
local bufnr = task:get_bufnr()
|
|
||||||
return bufnr and vim.api.nvim_buf_is_valid(bufnr)
|
|
||||||
end,
|
|
||||||
run = function(task)
|
|
||||||
open_split(task, false)
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
["close win"] = {
|
|
||||||
desc = "open terminal in a vertical split",
|
|
||||||
condition = function(task)
|
|
||||||
local bufnr = task:get_bufnr()
|
|
||||||
return bufnr and vim.api.nvim_buf_is_valid(bufnr)
|
|
||||||
end,
|
|
||||||
run = function(task)
|
|
||||||
local buf = task:get_bufnr()
|
|
||||||
-- iterar sobre todas las windows y ver si la window tiene attach el buf que quiero cerrar
|
|
||||||
for _, win in ipairs(vim.api.nvim_list_wins()) do
|
|
||||||
if buf == vim.api.nvim_win_get_buf(win) then
|
|
||||||
vim.api.nvim_win_close(win, false)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
task_list = {
|
|
||||||
direction = "bottom",
|
|
||||||
bindings = {
|
|
||||||
["?"] = "ShowHelp",
|
|
||||||
["g?"] = "ShowHelp",
|
|
||||||
["<CR>"] = "RunAction",
|
|
||||||
["<C-e>"] = "Edit",
|
|
||||||
["o"] = "Open",
|
|
||||||
["<C-v>"] = "OpenVsplit",
|
|
||||||
["<C-s>"] = "OpenSplit",
|
|
||||||
["<C-f>"] = "OpenFloat",
|
|
||||||
["<C-q>"] = "OpenQuickFix",
|
|
||||||
["<TAB>"] = "TogglePreview",
|
|
||||||
["p"] = "TogglePreview",
|
|
||||||
["<C-l>"] = "IncreaseAllDetail",
|
|
||||||
["<C-h>"] = "DecreaseAllDetail",
|
|
||||||
["L"] = "IncreaseDetail",
|
|
||||||
["H"] = "DecreaseDetail",
|
|
||||||
["["] = "DecreaseWidth",
|
|
||||||
["]"] = "IncreaseWidth",
|
|
||||||
["{"] = "PrevTask",
|
|
||||||
["}"] = "NextTask",
|
|
||||||
["<C-u>"] = "ScrollOutputUp",
|
|
||||||
["<C-d>"] = "ScrollOutputDown",
|
|
||||||
["q"] = "Close",
|
|
||||||
["d"] = "<CMD>OverseerQuickAction dispose<CR>",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
@ -1,90 +0,0 @@
|
||||||
-- Fuzzy Finder (files, lsp, etc)
|
|
||||||
return {
|
|
||||||
"nvim-telescope/telescope.nvim",
|
|
||||||
version = "*",
|
|
||||||
event = "VeryLazy",
|
|
||||||
dependencies = {
|
|
||||||
{ "nvim-lua/plenary.nvim" },
|
|
||||||
{
|
|
||||||
-- Blazingly Fast Fuzzy Finder Algorithm for Telescope
|
|
||||||
"nvim-telescope/telescope-fzf-native.nvim",
|
|
||||||
build = "make",
|
|
||||||
cond = function()
|
|
||||||
return vim.fn.executable("make") == 1
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
config = function()
|
|
||||||
local actions = require("telescope.actions")
|
|
||||||
local telescope = require("telescope")
|
|
||||||
local builtin = require("telescope.builtin")
|
|
||||||
|
|
||||||
local opts = {
|
|
||||||
defaults = {
|
|
||||||
prompt_prefix = " ",
|
|
||||||
selection_caret = " ",
|
|
||||||
layout_strategy = "vertical",
|
|
||||||
layout_config = { vertical = { height = 0.99, mirror = true, prompt_position = "top" } },
|
|
||||||
mappings = {
|
|
||||||
i = {
|
|
||||||
["<c-u>"] = actions.preview_scrolling_up,
|
|
||||||
["<c-d>"] = actions.preview_scrolling_down,
|
|
||||||
["<C-j>"] = actions.move_selection_next,
|
|
||||||
["<C-k>"] = actions.move_selection_previous,
|
|
||||||
["<C-s>"] = actions.file_vsplit,
|
|
||||||
["<C-v>"] = actions.file_split,
|
|
||||||
["<ESC>"] = actions.close,
|
|
||||||
["<C-q>"] = actions.send_to_qflist + actions.open_qflist,
|
|
||||||
["<M-q>"] = actions.send_selected_to_qflist + actions.open_qflist,
|
|
||||||
["<c-t>"] = function(...)
|
|
||||||
return require("trouble.providers.telescope").open_with_trouble(...)
|
|
||||||
end,
|
|
||||||
["<a-t>"] = function(...)
|
|
||||||
return require("trouble.providers.telescope").open_selected_with_trouble(...)
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
telescope.setup(opts)
|
|
||||||
|
|
||||||
-- Enable telescope fzf native, if installed
|
|
||||||
pcall(telescope.load_extension, "fzf")
|
|
||||||
|
|
||||||
-- Find files
|
|
||||||
vim.keymap.set(
|
|
||||||
"n",
|
|
||||||
"<leader>fe",
|
|
||||||
":Telescope file_browser path=%:p:h select_buffer=true<CR>",
|
|
||||||
{ desc = "File Explorer" }
|
|
||||||
)
|
|
||||||
vim.keymap.set("n", "<leader>fb", builtin.buffers, { desc = "Find buffers" })
|
|
||||||
vim.keymap.set("n", "<leader>ff", builtin.find_files, { desc = "Find files" })
|
|
||||||
vim.keymap.set("n", "<leader>fF", function()
|
|
||||||
builtin.find_files({ hidden = true, no_ignore = true })
|
|
||||||
end, { desc = "Find all files" })
|
|
||||||
|
|
||||||
-- Search inside files
|
|
||||||
vim.keymap.set("n", "<leader>fw", builtin.grep_string, { desc = "Find word under cursor" })
|
|
||||||
vim.keymap.set("n", "<leader>fW", builtin.live_grep, { desc = "Find word (live grep)" })
|
|
||||||
|
|
||||||
-- Help
|
|
||||||
vim.keymap.set("n", "<leader>fc", builtin.command_history, { desc = "Find in commands history" })
|
|
||||||
vim.keymap.set("n", "<leader>fC", builtin.commands, { desc = "Find a command" })
|
|
||||||
vim.keymap.set("n", "<leader>fh", builtin.help_tags, { desc = "Find Help" })
|
|
||||||
vim.keymap.set("n", "<leader>fk", builtin.keymaps, { desc = "Find Keymaps" })
|
|
||||||
|
|
||||||
-- Git
|
|
||||||
vim.keymap.set("n", "<leader>gb", builtin.git_branches, { desc = "Change branch" })
|
|
||||||
|
|
||||||
-- Diagnosticos
|
|
||||||
-- Disabled, handle by trouble
|
|
||||||
-- vim.keymap.set("n", "<leader>fD", function()
|
|
||||||
-- builtin.diagnostics({ bufnr = 0 })
|
|
||||||
-- end, { desc = "Find diagnostics (Telescope)" })
|
|
||||||
-- vim.keymap.set("n", "<leader>fD", function()
|
|
||||||
-- builtin.diagnostics({ bufnr = nil })
|
|
||||||
-- end, { desc = "Find diagnostics in workspace (Telescope)" })
|
|
||||||
-- vim.keymap.set("n", "<leader>fz", builtin.spell_suggest, { desc = "Find spell suggestion" })
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
|
|
@ -1,13 +0,0 @@
|
||||||
return {
|
|
||||||
"folke/todo-comments.nvim",
|
|
||||||
cmd = { "TodoTrouble", "TodoTelescope" },
|
|
||||||
event = { "BufReadPost", "BufNewFile" },
|
|
||||||
config = true,
|
|
||||||
-- stylua: ignore
|
|
||||||
keys = {
|
|
||||||
{ "]t", function() require("todo-comments").jump_next() end, desc = "Next todo comment" },
|
|
||||||
{ "[t", function() require("todo-comments").jump_prev() end, desc = "Previous todo comment" },
|
|
||||||
{ "<leader>ft", "<cmd>TodoTrouble<cr>", desc = "Find todos (Trouble)" },
|
|
||||||
{ "<leader>fT", "<cmd>TodoTelescope<cr>", desc = "Find todos (Telescope)" },
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
@ -1,110 +0,0 @@
|
||||||
return {
|
|
||||||
-- Highlight, edit, and navigate code
|
|
||||||
"nvim-treesitter/nvim-treesitter",
|
|
||||||
event = { "BufReadPost", "BufNewFile", "BufWritePre", "VeryLazy" },
|
|
||||||
dependencies = {
|
|
||||||
"nvim-treesitter/nvim-treesitter-textobjects",
|
|
||||||
"JoosepAlviste/nvim-ts-context-commentstring",
|
|
||||||
"nvim-treesitter/nvim-treesitter-context",
|
|
||||||
{ "windwp/nvim-ts-autotag", opts = {} },
|
|
||||||
},
|
|
||||||
build = ":TSUpdate",
|
|
||||||
config = function()
|
|
||||||
---@diagnostic disable-next-line: missing-fields
|
|
||||||
require("nvim-treesitter.configs").setup({
|
|
||||||
-- Add languages to be installed here that you want installed for treesitter
|
|
||||||
ensure_installed = {
|
|
||||||
"bash",
|
|
||||||
"c",
|
|
||||||
"cpp",
|
|
||||||
"go",
|
|
||||||
"lua",
|
|
||||||
"markdown",
|
|
||||||
"markdown_inline",
|
|
||||||
"python",
|
|
||||||
"regex",
|
|
||||||
"rust",
|
|
||||||
"sql",
|
|
||||||
"tsx",
|
|
||||||
"javascript",
|
|
||||||
"typescript",
|
|
||||||
"vim",
|
|
||||||
"vimdoc",
|
|
||||||
},
|
|
||||||
-- Autoinstall languages that are not installed. Defaults to false (but you can change for yourself!)
|
|
||||||
auto_install = true,
|
|
||||||
highlight = { enable = true },
|
|
||||||
indent = { enable = true },
|
|
||||||
incremental_selection = {
|
|
||||||
enable = true,
|
|
||||||
},
|
|
||||||
textobjects = {
|
|
||||||
select = {
|
|
||||||
enable = true,
|
|
||||||
lookahead = true, -- Automatically jump forward to textobj, similar to targets.vim
|
|
||||||
keymaps = {
|
|
||||||
-- You can use the capture groups defined in textobjects.scm
|
|
||||||
["aa"] = "@parameter.outer",
|
|
||||||
["ia"] = "@parameter.inner",
|
|
||||||
["af"] = "@function.outer",
|
|
||||||
["if"] = "@function.inner",
|
|
||||||
["ac"] = "@class.outer",
|
|
||||||
["ic"] = "@class.inner",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
move = {
|
|
||||||
enable = true,
|
|
||||||
set_jumps = true, -- whether to set jumps in the jumplist
|
|
||||||
goto_next_start = {
|
|
||||||
["]m"] = "@function.outer",
|
|
||||||
["]]"] = "@class.outer",
|
|
||||||
},
|
|
||||||
goto_next_end = {
|
|
||||||
["]M"] = "@function.outer",
|
|
||||||
["]["] = "@class.outer",
|
|
||||||
},
|
|
||||||
goto_previous_start = {
|
|
||||||
["[m"] = "@function.outer",
|
|
||||||
["[["] = "@class.outer",
|
|
||||||
},
|
|
||||||
goto_previous_end = {
|
|
||||||
["[M"] = "@function.outer",
|
|
||||||
["[]"] = "@class.outer",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
swap = {
|
|
||||||
enable = true,
|
|
||||||
swap_next = {
|
|
||||||
["<leader>a"] = "@parameter.inner",
|
|
||||||
},
|
|
||||||
swap_previous = {
|
|
||||||
["<leader>A"] = "@parameter.inner",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
-- autotag = { enable = true },
|
|
||||||
})
|
|
||||||
|
|
||||||
require('ts_context_commentstring').setup {
|
|
||||||
enable_autocmd = false,
|
|
||||||
}
|
|
||||||
|
|
||||||
vim.opt.foldmethod = "expr"
|
|
||||||
vim.opt.foldexpr = "nvim_treesitter#foldexpr()"
|
|
||||||
|
|
||||||
-- Uncoment this line to disable auto folding on file open
|
|
||||||
vim.cmd("set nofoldenable")
|
|
||||||
|
|
||||||
-- TODO: remove this when blade treesitter is added to nvim-treesitter repo
|
|
||||||
-- Also remove the "config/nvim/after/queries/blade" folder.
|
|
||||||
local parser_config = require("nvim-treesitter.parsers").get_parser_configs()
|
|
||||||
parser_config.blade = {
|
|
||||||
install_info = {
|
|
||||||
url = "https://github.com/EmranMR/tree-sitter-blade",
|
|
||||||
files = { "src/parser.c" },
|
|
||||||
branch = "main",
|
|
||||||
},
|
|
||||||
filetype = "blade",
|
|
||||||
}
|
|
||||||
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,23 +0,0 @@
|
||||||
return {
|
|
||||||
{
|
|
||||||
"ckolkey/ts-node-action",
|
|
||||||
dependencies = { "nvim-treesitter" },
|
|
||||||
event = "VeryLazy",
|
|
||||||
config = function()
|
|
||||||
require("ts-node-action").setup({})
|
|
||||||
|
|
||||||
vim.keymap.set({ "n" }, "<leader>lA", require("ts-node-action").node_action, { desc = "Node Action" })
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Wansmer/treesj",
|
|
||||||
cmd = { "TSJToggle" },
|
|
||||||
keys = {
|
|
||||||
{ "<leader>lm", "<CMD>TSJToggle<CR>", desc = "Toggle treesitter join" },
|
|
||||||
},
|
|
||||||
dependencies = { "nvim-treesitter/nvim-treesitter" },
|
|
||||||
opts = {
|
|
||||||
use_default_keymaps = true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
@ -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,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,87 +0,0 @@
|
||||||
[GLOBAL]
|
|
||||||
<colon> : command
|
|
||||||
o : command --text='open '
|
|
||||||
yy : copy-name
|
|
||||||
ya : copy-name --abspath
|
|
||||||
yA : copy-name --abspath --primary
|
|
||||||
yY : copy-name --primary
|
|
||||||
x : delete %%
|
|
||||||
gi : enter image
|
|
||||||
gl : enter library
|
|
||||||
gm : enter manipulate
|
|
||||||
gt : enter thumbnail
|
|
||||||
f : fullscreen
|
|
||||||
G : goto -1
|
|
||||||
gg : goto 1
|
|
||||||
m : mark %%
|
|
||||||
q : quit
|
|
||||||
. : repeat-command
|
|
||||||
j : scroll down
|
|
||||||
h : scroll left
|
|
||||||
l : scroll right
|
|
||||||
k : scroll up
|
|
||||||
/ : search
|
|
||||||
? : search --reverse
|
|
||||||
N : search-next
|
|
||||||
P : search-prev
|
|
||||||
b : set statusbar.show!
|
|
||||||
tl : toggle library
|
|
||||||
tm : toggle manipulate
|
|
||||||
tt : toggle thumbnail
|
|
||||||
|
|
||||||
[IMAGE]
|
|
||||||
M : center
|
|
||||||
| : flip
|
|
||||||
_ : flip --vertical
|
|
||||||
<end> : goto -1
|
|
||||||
<home> : goto 1
|
|
||||||
<page-down> : next
|
|
||||||
n : next
|
|
||||||
<ctrl>n : next --keep-zoom
|
|
||||||
<space> : play-or-pause
|
|
||||||
<page-up> : prev
|
|
||||||
p : prev
|
|
||||||
<ctrl>p : prev --keep-zoom
|
|
||||||
> : rotate
|
|
||||||
< : rotate --counter-clockwise
|
|
||||||
W : scale --level=1
|
|
||||||
<equal> : scale --level=fit
|
|
||||||
w : scale --level=fit
|
|
||||||
E : scale --level=fit-height
|
|
||||||
e : scale --level=fit-width
|
|
||||||
J : scroll-edge down
|
|
||||||
H : scroll-edge left
|
|
||||||
L : scroll-edge right
|
|
||||||
K : scroll-edge up
|
|
||||||
sl : set slideshow.delay +0.5
|
|
||||||
sh : set slideshow.delay -0.5
|
|
||||||
ss : slideshow
|
|
||||||
+ : zoom in
|
|
||||||
- : zoom out
|
|
||||||
|
|
||||||
[LIBRARY]
|
|
||||||
go : goto 1 --open-selected
|
|
||||||
n : scroll down --open-selected
|
|
||||||
p : scroll up --open-selected
|
|
||||||
L : set library.width +0.05
|
|
||||||
H : set library.width -0.05
|
|
||||||
|
|
||||||
[THUMBNAIL]
|
|
||||||
+ : zoom in
|
|
||||||
- : zoom out
|
|
||||||
Q : mark-print && quit
|
|
||||||
|
|
||||||
[COMMAND]
|
|
||||||
<tab> : complete
|
|
||||||
<shift><tab> : complete --inverse
|
|
||||||
<ctrl>p : history next
|
|
||||||
<ctrl>n : history prev
|
|
||||||
<up> : history-substr-search next
|
|
||||||
<down> : history-substr-search prev
|
|
||||||
<escape> : leave-commandline
|
|
||||||
|
|
||||||
[MANIPULATE]
|
|
||||||
<colon> : command
|
|
||||||
f : fullscreen
|
|
||||||
b : set statusbar.show!
|
|
||||||
|
|
||||||
|
|
@ -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,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>
|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 3.1 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 3.4 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 3.1 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 3.1 KiB |
Binary file not shown.
|
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
|
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue