Compare commits
40 Commits
wayland
...
fc1478567e
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fc1478567e | ||
|
|
44a425d2df | ||
|
|
16ca912724 | ||
|
|
babbceb247 | ||
|
|
f4d92f747e | ||
|
|
ca92392993 | ||
|
|
8a6e022bd6 | ||
|
|
366ea24fb5 | ||
|
|
385d306017 | ||
|
|
dd7498294a | ||
|
|
cd1a6c1252 | ||
|
|
04bc54a80c | ||
|
|
754aa9d191 | ||
|
|
9acf200418 | ||
|
|
90fa090890 | ||
|
|
07785f0f99 | ||
|
|
e89bb2627c | ||
|
|
161dc09e25 | ||
|
|
846b5541f9 | ||
|
|
6a03bc9198 | ||
|
|
85d13e762f | ||
|
|
a575826bb6 | ||
|
|
8561e961eb | ||
|
|
c7126a86ef | ||
|
|
1ea23f4510 | ||
|
|
274ec45f75 | ||
|
|
04bd67e289 | ||
|
|
ad83e5a63a | ||
|
|
9e70682bd3 | ||
|
|
7d2ffb2fc9 | ||
|
|
56af90de63 | ||
|
|
c8566553cf | ||
|
|
37e092c031 | ||
|
|
ea7b586c3c | ||
|
|
b1a91911c8 | ||
|
|
a2645ca3e3 | ||
|
|
79deef489a | ||
|
|
909b6423e0 | ||
|
|
485841b483 | ||
|
|
1591397b9c |
32
README.md
32
README.md
@@ -11,8 +11,9 @@ Each directory in this repository corresponds to a specific application or tool,
|
|||||||
> Example usage (from the repository root):
|
> Example usage (from the repository root):
|
||||||
>
|
>
|
||||||
> ```bash
|
> ```bash
|
||||||
> stow nvim
|
> stow bash
|
||||||
> stow zsh
|
> stow i3
|
||||||
|
> stow doom
|
||||||
> ```
|
> ```
|
||||||
|
|
||||||
### 🧩 Included Tools & Configurations
|
### 🧩 Included Tools & Configurations
|
||||||
@@ -20,34 +21,31 @@ Each directory in this repository corresponds to a specific application or tool,
|
|||||||
This repository contains my configuration files for the following tools:
|
This repository contains my configuration files for the following tools:
|
||||||
|
|
||||||
- **Shells & Prompt**
|
- **Shells & Prompt**
|
||||||
- `zsh` + `starship`
|
- `bash` (Oh My Bash)
|
||||||
|
- `starship`
|
||||||
- **Terminal Emulators & Multiplexer**
|
- **Terminal Emulators & Multiplexer**
|
||||||
- `alacritty`
|
- `alacritty`
|
||||||
- `foot`
|
|
||||||
- `tmux`
|
- `tmux`
|
||||||
- **Editors & CLI Tools**
|
- **Editors & CLI Tools**
|
||||||
- `neovim` (with LazyVim)
|
- `doom` (Doom Emacs config)
|
||||||
- `doom emacs`
|
- `emacs` (Custom config)
|
||||||
- `git`
|
- `git`
|
||||||
- `lazygit`
|
|
||||||
- **X11 Environment**
|
- **X11 Environment**
|
||||||
- `rofi` (launcher)
|
- `i3` (Window Manager)
|
||||||
- `polybar` (status bar)
|
|
||||||
- `dunst` (notification daemon)
|
|
||||||
- `i3` (window manager)
|
|
||||||
- `picom` (X11 compositor)
|
- `picom` (X11 compositor)
|
||||||
- **Wayland Environment**
|
- `polybar` (status bar)
|
||||||
- `fuzzel` (launcher)
|
- `rofi` (launcher)
|
||||||
- `waybar` (status bar)
|
- `dunst` (notification daemon)
|
||||||
|
- **Wayland Environment**
|
||||||
|
- `sway` (Window Manager)
|
||||||
|
- `waybar` (status bar)
|
||||||
|
- `rofi` (launcher)
|
||||||
- `dunst` (notification daemon)
|
- `dunst` (notification daemon)
|
||||||
- `sway` (window manager)
|
|
||||||
- **Utilities**
|
- **Utilities**
|
||||||
- `fastfetch`
|
- `fastfetch`
|
||||||
- `zoxide`
|
- `zoxide`
|
||||||
- `mpv`
|
|
||||||
- `yt-dlp`
|
- `yt-dlp`
|
||||||
- `flameshot`
|
- `flameshot`
|
||||||
- `newsboat`
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
27
bash/.bashrc
27
bash/.bashrc
@@ -9,7 +9,7 @@ export OSH='/home/fscotto/.oh-my-bash'
|
|||||||
|
|
||||||
# Set name of the theme to load. Optionally, if you set this to "random"
|
# Set name of the theme to load. Optionally, if you set this to "random"
|
||||||
# it'll load a random theme each time that oh-my-bash is loaded.
|
# it'll load a random theme each time that oh-my-bash is loaded.
|
||||||
OSH_THEME="robbyrussell"
|
# OSH_THEME="robbyrussell"
|
||||||
|
|
||||||
# If you set OSH_THEME to "random", you can ignore themes you don't like.
|
# If you set OSH_THEME to "random", you can ignore themes you don't like.
|
||||||
# OMB_THEME_RANDOM_IGNORED=("powerbash10k" "wanelo")
|
# OMB_THEME_RANDOM_IGNORED=("powerbash10k" "wanelo")
|
||||||
@@ -164,8 +164,23 @@ source "$OSH"/oh-my-bash.sh
|
|||||||
# Set personal aliases, overriding those provided by oh-my-bash libs,
|
# Set personal aliases, overriding those provided by oh-my-bash libs,
|
||||||
# plugins, and themes. Aliases can be placed here, though oh-my-bash
|
# plugins, and themes. Aliases can be placed here, though oh-my-bash
|
||||||
# users are encouraged to define aliases within the OSH_CUSTOM folder.
|
# users are encouraged to define aliases within the OSH_CUSTOM folder.
|
||||||
# For a full list of active aliases, run `alias`.
|
# For a full list of active aliases, run `
|
||||||
#
|
|
||||||
# Example aliases
|
alias ls='ls --color=auto --group-directories-first'
|
||||||
# alias bashconfig="mate ~/.bashrc"
|
|
||||||
# alias ohmybash="mate ~/.oh-my-bash"
|
# Replace grep command tool
|
||||||
|
alias grep='grep --color=auto'
|
||||||
|
alias egrep='grep -E'
|
||||||
|
alias fgrep='grep -F'
|
||||||
|
|
||||||
|
# Other aliases
|
||||||
|
alias paths='echo -e ${PATH//:/\\n}' # path: Echo all executable Paths
|
||||||
|
alias userlist="cut -d: -f1 /etc/passwd | sort"
|
||||||
|
alias ip='ip -color'
|
||||||
|
alias stow='stow -d $DOTFILES '
|
||||||
|
alias em='emacsclient -t'
|
||||||
|
|
||||||
|
# Starship prompt
|
||||||
|
if command -v starship > /dev/null 2>&1; then
|
||||||
|
eval "$(starship init bash)"
|
||||||
|
fi
|
||||||
|
|||||||
@@ -1,15 +1,3 @@
|
|||||||
function appendpath() {
|
|
||||||
local location="${1}"
|
|
||||||
case ":$PATH:" in
|
|
||||||
*":$location:"*) ;;
|
|
||||||
*) export PATH="$PATH:$location" ;;
|
|
||||||
esac
|
|
||||||
}
|
|
||||||
|
|
||||||
appendpath "$HOME/.local/bin"
|
|
||||||
appendpath "$HOME/.config/emacs/bin"
|
|
||||||
unset appendpath
|
|
||||||
|
|
||||||
# XDG variables
|
# XDG variables
|
||||||
export XDG_CONFIG_HOME=${HOME}/.config
|
export XDG_CONFIG_HOME=${HOME}/.config
|
||||||
export XDG_DATA_HOME=${HOME}/.local/share
|
export XDG_DATA_HOME=${HOME}/.local/share
|
||||||
@@ -21,33 +9,50 @@ export GTK2_RC_FILES=${XDG_CONFIG_HOME}/gtk-2.0/gtkrc-2.0
|
|||||||
|
|
||||||
# Enable QT apps to have gtk theme
|
# Enable QT apps to have gtk theme
|
||||||
export QT_QPA_PLATFORMTHEME=qt5ct
|
export QT_QPA_PLATFORMTHEME=qt5ct
|
||||||
|
export QT_STYLE_OVERRIDE=kvantum
|
||||||
|
|
||||||
# Make Qt apps honour DPI settings.
|
# Make Qt apps honour DPI settings.
|
||||||
export QT_AUTO_SCREEN_SCALE_FACTOR=1
|
export QT_AUTO_SCREEN_SCALE_FACTOR=1
|
||||||
|
|
||||||
export ZSH_HOME="$HOME/.zsh"
|
|
||||||
export DOTFILES="$HOME/.dotfiles"
|
export DOTFILES="$HOME/.dotfiles"
|
||||||
export EDITOR=nvim
|
export EDITOR=nano
|
||||||
export HELPDIR=/usr/share/zsh/"${ZSH_VERSION}"/help
|
|
||||||
|
|
||||||
# SSH socket
|
# SSH socket
|
||||||
export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/gcr/ssh"
|
export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/gcr/ssh"
|
||||||
|
|
||||||
export FZF_DEFAULT_COMMAND="fd --hidden --type file --strip-cwd-prefix --exclude .git"
|
# export FZF_DEFAULT_COMMAND="fdfind --hidden --type file --strip-cwd-prefix --exclude .git"
|
||||||
export FZF_CTRL_T_COMMAND="fd --hidden --type file --strip-cwd-prefix --exclude .git"
|
# export FZF_CTRL_T_COMMAND="fdfind --hidden --type file --strip-cwd-prefix --exclude .git"
|
||||||
export FZF_ALT_C_COMMAND="fd --hidden --type directory --strip-cwd-prefix --exclude .git"
|
# export FZF_ALT_C_COMMAND="fdfind --hidden --type directory --strip-cwd-prefix --exclude .git"
|
||||||
# Export Catppuccin Mocha theme for FZF
|
# # Export Catppuccin Mocha theme for FZF
|
||||||
export FZF_DEFAULT_OPTS=" \
|
# export FZF_DEFAULT_OPTS=" \
|
||||||
--height 60% --layout=reverse --border \
|
# --height 60% --layout=reverse --border \
|
||||||
--color=bg+:#313244,bg:#1E1E2E,spinner:#F5E0DC,hl:#F38BA8 \
|
# --color=bg+:#313244,bg:#1E1E2E,spinner:#F5E0DC,hl:#F38BA8 \
|
||||||
--color=fg:#CDD6F4,header:#F38BA8,info:#CBA6F7,pointer:#F5E0DC \
|
# --color=fg:#CDD6F4,header:#F38BA8,info:#CBA6F7,pointer:#F5E0DC \
|
||||||
--color=marker:#B4BEFE,fg+:#CDD6F4,prompt:#CBA6F7,hl+:#F38BA8 \
|
# --color=marker:#B4BEFE,fg+:#CDD6F4,prompt:#CBA6F7,hl+:#F38BA8 \
|
||||||
--color=selected-bg:#45475A \
|
# --color=selected-bg:#45475A \
|
||||||
--color=border:#313244,label:#CDD6F4"
|
# --color=border:#313244,label:#CDD6F4"
|
||||||
export FZF_TMUX_OPTS=" -p90%,70%"
|
# export FZF_TMUX_OPTS=" -p90%,70%"
|
||||||
export VIRTUAL_ENV_DISABLE_PROMPT=1
|
export VIRTUAL_ENV_DISABLE_PROMPT=1
|
||||||
|
|
||||||
source "$HOME/.profile.d/mise.sh"
|
# Export Golang enviroments
|
||||||
source "$HOME/.profile.d/golang.sh"
|
export GOPATH="$HOME/.local/share/Go"
|
||||||
source "$HOME/.profile.d/java.sh"
|
export GOBIN="$GOPATH/bin"
|
||||||
|
|
||||||
|
appendpath() {
|
||||||
|
local location="${1}"
|
||||||
|
case ":$PATH:" in
|
||||||
|
*":$location:"*) ;;
|
||||||
|
*) export PATH="$PATH:$location" ;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
appendpath "$HOME/.local/bin"
|
||||||
|
appendpath "$GOBIN"
|
||||||
|
appendpath "$HOME/.cargo/bin"
|
||||||
|
appendpath "/home/linuxbrew/.linuxbrew/bin"
|
||||||
|
appendpath "$HOME/.config/emacs/bin"
|
||||||
|
unset appendpath
|
||||||
|
|
||||||
|
source "$HOME/.profile.d/homebrew.sh"
|
||||||
|
source "$HOME/.profile.d/mise.sh"
|
||||||
|
source "$HOME/.profile.d/java.sh"
|
||||||
|
|||||||
@@ -1,6 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
if command -v go > /dev/null 2>&1; then
|
|
||||||
export GOPATH="$HOME/.local/share/Go"
|
|
||||||
export GOBIN="$GOPATH/bin"
|
|
||||||
fi
|
|
||||||
5
bash/.profile.d/homebrew.sh
Executable file
5
bash/.profile.d/homebrew.sh
Executable file
@@ -0,0 +1,5 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
if command -v brew > /dev/null 2>&1; then
|
||||||
|
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
|
||||||
|
fi
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
if command -v java > /dev/null 2>&1; then
|
if command -v java > /dev/null 2>&1; then
|
||||||
export JAVA_HOME="$(dirname $(mise bin-paths | grep -i java))"
|
JAVA_HOME="$(dirname $(mise bin-paths | grep -i java))"
|
||||||
|
export JAVA_HOME
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
# Load Mise en dev
|
||||||
if command -v mise > /dev/null 2>&1; then
|
if command -v mise > /dev/null 2>&1; then
|
||||||
eval "$(mise activate zsh)"
|
eval "$(mise activate bash)"
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -21,18 +21,21 @@
|
|||||||
;; See 'C-h v doom-font' for documentation and more examples of what they
|
;; See 'C-h v doom-font' for documentation and more examples of what they
|
||||||
;; accept. For example:
|
;; accept. For example:
|
||||||
;;
|
;;
|
||||||
(setq doom-font (font-spec :family "0xProto Nerd Font" :size 18 :weight 'regular))
|
;;(setq doom-font (font-spec :family "Fira Code" :size 12 :weight 'semi-light)
|
||||||
|
;; doom-variable-pitch-font (font-spec :family "Fira Sans" :size 13))
|
||||||
|
;;
|
||||||
;; If you or Emacs can't find your font, use 'M-x describe-font' to look them
|
;; If you or Emacs can't find your font, use 'M-x describe-font' to look them
|
||||||
;; up, `M-x eval-region' to execute elisp code, and 'M-x doom/reload-font' to
|
;; up, `M-x eval-region' to execute elisp code, and 'M-x doom/reload-font' to
|
||||||
;; refresh your font settings. If Emacs still can't find your font, it likely
|
;; refresh your font settings. If Emacs still can't find your font, it likely
|
||||||
;; wasn't installed correctly. Font issues are rarely Doom issues!
|
;; wasn't installed correctly. Font issues are rarely Doom issues!
|
||||||
|
(setq doom-font (font-spec :family "FiraCode Nerd Font" :size 16 :weight 'regular)
|
||||||
|
doom-big-font (font-spec :family "FiraCode Nerd Font" :size 18 :weight 'bold)
|
||||||
|
doom-variable-pitch-font (font-spec :family "Noto Sans" :size 16 :weight 'regular))
|
||||||
|
|
||||||
;; There are two ways to load a theme. Both assume the theme is installed and
|
;; There are two ways to load a theme. Both assume the theme is installed and
|
||||||
;; available. You can either set `doom-theme' or manually load a theme with the
|
;; available. You can either set `doom-theme' or manually load a theme with the
|
||||||
;; `load-theme' function. This is the default:
|
;; `load-theme' function. This is the default:
|
||||||
(setq doom-theme 'catppuccin)
|
(setq doom-theme 'catppuccin)
|
||||||
(setq catppuccin-flavor 'mocha) ;; or 'latte, 'macchiato, or 'mocha
|
|
||||||
|
|
||||||
;; This determines the style of line numbers in effect. If set to `nil', line
|
;; This determines the style of line numbers in effect. If set to `nil', line
|
||||||
;; numbers are disabled. For relative line numbers, set this to `relative'.
|
;; numbers are disabled. For relative line numbers, set this to `relative'.
|
||||||
@@ -40,8 +43,7 @@
|
|||||||
|
|
||||||
;; If you use `org' and don't want your org files in the default location below,
|
;; If you use `org' and don't want your org files in the default location below,
|
||||||
;; change `org-directory'. It must be set before org loads!
|
;; change `org-directory'. It must be set before org loads!
|
||||||
(setq org-directory "~/Documents")
|
(setq org-directory "~/Remotes/pCloud/Org")
|
||||||
|
|
||||||
|
|
||||||
;; Whenever you reconfigure a package, make sure to wrap your config in an
|
;; Whenever you reconfigure a package, make sure to wrap your config in an
|
||||||
;; `after!' block, otherwise Doom's defaults may override your settings. E.g.
|
;; `after!' block, otherwise Doom's defaults may override your settings. E.g.
|
||||||
@@ -74,3 +76,81 @@
|
|||||||
;;
|
;;
|
||||||
;; You can also try 'gd' (or 'C-c c d') to jump to their definition and see how
|
;; You can also try 'gd' (or 'C-c c d') to jump to their definition and see how
|
||||||
;; they are implemented.
|
;; they are implemented.
|
||||||
|
|
||||||
|
;; Maximize each Emacs frames at startup
|
||||||
|
(add-to-list 'default-frame-alist '(fullscreen . maximized))
|
||||||
|
|
||||||
|
(after! mu4e
|
||||||
|
|
||||||
|
;; This is set to 't' to avoid mail syncing issues when using mbsync
|
||||||
|
(setq mu4e-change-filenames-when-moving t)
|
||||||
|
|
||||||
|
;; Refresh mail using isync every 10 minutes
|
||||||
|
(setq mu4e-update-interval (* 10 60))
|
||||||
|
(setq mu4e-get-mail-command "~/.config/doom/scripts/email_sync.sh")
|
||||||
|
(setq mu4e-maildir "~/Maildir")
|
||||||
|
|
||||||
|
;; Configure email accounts
|
||||||
|
(setq mu4e-contexts
|
||||||
|
(list
|
||||||
|
;; Protonmail Account
|
||||||
|
(make-mu4e-context
|
||||||
|
:name "Protonmail"
|
||||||
|
:match-func
|
||||||
|
(lambda (msg)
|
||||||
|
(when msg
|
||||||
|
(string-prefix-p "/ProtonMailAccount" (mu4e-message-field msg :maildir))))
|
||||||
|
:vars '((user-mail-address . "fscottodisantolo@protonmail.com")
|
||||||
|
(user-full-name . "Fabio Scotto di Santolo")
|
||||||
|
(mu4e-drafts-folder . "/ProtonMailAccount/Drafts")
|
||||||
|
(mu4e-sent-folder . "/ProtonMailAccount/Sent")
|
||||||
|
(mu4e-refile-folder . "/ProtonMailAccount/All Mail")
|
||||||
|
(mu4e-trash-folder . "/ProtonMailAccount/Trash")))
|
||||||
|
|
||||||
|
;; iCloud Account
|
||||||
|
(make-mu4e-context
|
||||||
|
:name "iCloud Mail"
|
||||||
|
:match-func
|
||||||
|
(lambda (msg)
|
||||||
|
(when msg
|
||||||
|
(string-prefix-p "/iCloudAccount" (mu4e-message-field msg :maildir))))
|
||||||
|
:vars '((user-mail-address . "fscottodisantolo@icloud.com")
|
||||||
|
(user-full-name . "Fabio Scotto di Santolo")
|
||||||
|
(mu4e-drafts-folder . "/iCloudAccount/Drafts")
|
||||||
|
(mu4e-sent-folder . "/iCloudAccount/Sent Messages")
|
||||||
|
(mu4e-refile-folder . "/iCloudAccount/INBOX")
|
||||||
|
(mu4e-trash-folder . "/iCloudAccount/Junk")))))
|
||||||
|
|
||||||
|
;; Configure SMTP client for send emails
|
||||||
|
(setq sendmail-program "/usr/bin/msmtp"
|
||||||
|
send-mail-function 'sendmail-send-it
|
||||||
|
message-sendmail-f-is-evil t
|
||||||
|
message-sendmail-extra-arguments '("--read-envelope-from")
|
||||||
|
message-send-mail-function 'message-send-mail-with-sendmail))
|
||||||
|
|
||||||
|
;; Configure Elfeed
|
||||||
|
(after! elfeed
|
||||||
|
(setq rmh-elfeed-org-files '("~/.config/doom/elfeed.org"))
|
||||||
|
(setq elfeed-db-directory "~/.elfeed")
|
||||||
|
(setq elfeed-enclosure-default-dir "~/Downloads/")
|
||||||
|
(setq elfeed-sort-order 'descending)
|
||||||
|
(setq elfeed-search-filter "6-months-ago +unread")
|
||||||
|
|
||||||
|
;; Key bindings
|
||||||
|
(map! :map elfeed-search-mode-map
|
||||||
|
:n "d" #'elfeed-download-current-entry
|
||||||
|
:n "O" #'elfeed-search-browse-url)
|
||||||
|
|
||||||
|
;; Update hourly
|
||||||
|
(run-at-time nil (* 60 60) #'elfeed-update))
|
||||||
|
|
||||||
|
(after! elfeed-tube
|
||||||
|
(elfeed-tube-setup))
|
||||||
|
|
||||||
|
;; PDF config
|
||||||
|
(after! pdf-tools
|
||||||
|
:defer t
|
||||||
|
:commands (pdf-loader-install)
|
||||||
|
:mode "\\.pdf\\'"
|
||||||
|
:init (pdf-loader-install)
|
||||||
|
:config (add-to-list 'revert-without-query ".pdf"))
|
||||||
|
|||||||
21
doom/.config/doom/custom.el
Normal file
21
doom/.config/doom/custom.el
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
(custom-set-variables
|
||||||
|
;; custom-set-variables was added by Custom.
|
||||||
|
;; If you edit it by hand, you could mess it up, so be careful.
|
||||||
|
;; Your init file should contain only one such instance.
|
||||||
|
;; If there is more than one, they won't work right.
|
||||||
|
'(elfeed-feeds
|
||||||
|
'("https://www.youtube.com/feeds/videos.xml?channel_id=UCqZe2cxQNCvgkQxUuqsIaig" "https://www.youtube.com/feeds/videos.xml?channel_id=UCVls1GmFKf6WlTraIb_IaJg"
|
||||||
|
("https://www.youtube.com/feeds/videos.xml?channel_id=UCrqM0Ym_NbK1fqeQG2VIohg" youtube programming)
|
||||||
|
("https://www.youtube.com/feeds/videos.xml?channel_id=UCDDG9vOcmgwlslJJpCWjqOg" youtube programming)
|
||||||
|
("https://www.youtube.com/feeds/videos.xml?channel_id=UCnDDucQDLncrauOCmanCIgw" youtube foss)
|
||||||
|
("https://www.youtube.com/feeds/videos.xml?channel_id=UCqZe2cxQNCvgkQxUuqsIaig" youtube programming)
|
||||||
|
("https://www.youtube.com/feeds/videos.xml?channel_id=UCABhVAlCkcEG9a2UVruq9vw" youtube fashion)
|
||||||
|
("https://www.youtube.com/feeds/videos.xml?channel_id=UCVls1GmFKf6WlTraIb_IaJg" youtube linux)
|
||||||
|
("https://blog.linuxmint.com/?feed=rss2" news linuxmint)
|
||||||
|
("https://feeds.feedburner.com/TheHackersNews" programming security))))
|
||||||
|
(custom-set-faces
|
||||||
|
;; custom-set-faces was added by Custom.
|
||||||
|
;; If you edit it by hand, you could mess it up, so be careful.
|
||||||
|
;; Your init file should contain only one such instance.
|
||||||
|
;; If there is more than one, they won't work right.
|
||||||
|
)
|
||||||
16
doom/.config/doom/elfeed.org
Normal file
16
doom/.config/doom/elfeed.org
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
#+TITLE: RSS Urls
|
||||||
|
#+AUTHOR: Fabio Scotto di Santolo
|
||||||
|
#+DATE: <2025-10-25 Sat>
|
||||||
|
|
||||||
|
* root :elfeed:
|
||||||
|
** Programming :programming:
|
||||||
|
*** [[https://feeds.feedburner.com/TheHackersNews][Hacker News]] :news: :security:
|
||||||
|
** FOSS News :news:
|
||||||
|
*** [[https://blog.linuxmint.com/?feed=rss2][Linux Mint Blog]] :blog: :linux: :linuxmint:
|
||||||
|
** Youtube :youtube:
|
||||||
|
*** [[https://www.youtube.com/feeds/videos.xml?channel_id=UCVls1GmFKf6WlTraIb_IaJg][DistroTube]] :emacs: :foss: :linux:
|
||||||
|
*** [[https://www.youtube.com/feeds/videos.xml?channel_id=UCABhVAlCkcEG9a2UVruq9vw][Douglas Mortimer]] :fashion:
|
||||||
|
*** [[https://www.youtube.com/feeds/videos.xml?channel_id=UCqZe2cxQNCvgkQxUuqsIaig][Esadecimale]] :emacs: :programming:
|
||||||
|
*** [[https://www.youtube.com/feeds/videos.xml?channel_id=UCnDDucQDLncrauOCmanCIgw][MorroLinux]] :linux: :foss:
|
||||||
|
*** [[https://www.youtube.com/feeds/videos.xml?channel_id=UCDDG9vOcmgwlslJJpCWjqOg][Salvatore Sanfilippo]] :programming:
|
||||||
|
*** [[https://www.youtube.com/feeds/videos.xml?channel_id=UCrqM0Ym_NbK1fqeQG2VIohg][Tsoding Daily]] :emacs: :programming:
|
||||||
@@ -22,18 +22,18 @@
|
|||||||
|
|
||||||
:completion
|
:completion
|
||||||
company ; the ultimate code completion backend
|
company ; the ultimate code completion backend
|
||||||
(corfu +orderless) ; complete with cap(f), cape and a flying feather!
|
;;(corfu +orderless) ; complete with cap(f), cape and a flying feather!
|
||||||
;;helm ; the *other* search engine for love and life
|
;;helm ; the *other* search engine for love and life
|
||||||
;;ido ; the other *other* search engine...
|
;;ido ; the other *other* search engine...
|
||||||
;;ivy ; a search engine for love and life
|
ivy ; a search engine for love and life
|
||||||
vertico ; the search engine of the future
|
;;vertico ; the search engine of the future
|
||||||
|
|
||||||
:ui
|
:ui
|
||||||
;;deft ; notational velocity for Emacs
|
;;deft ; notational velocity for Emacs
|
||||||
doom ; what makes DOOM look the way it does
|
doom ; what makes DOOM look the way it does
|
||||||
doom-dashboard ; a nifty splash screen for Emacs
|
doom-dashboard ; a nifty splash screen for Emacs
|
||||||
;;doom-quit ; DOOM quit-message prompts when you quit Emacs
|
;;doom-quit ; DOOM quit-message prompts when you quit Emacs
|
||||||
;;(emoji +unicode) ; 🙂
|
(emoji +unicode) ; 🙂
|
||||||
hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW
|
hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW
|
||||||
;;indent-guides ; highlighted indent columns
|
;;indent-guides ; highlighted indent columns
|
||||||
ligatures ; ligatures and symbols to make your code pretty again
|
ligatures ; ligatures and symbols to make your code pretty again
|
||||||
@@ -54,37 +54,39 @@
|
|||||||
;;zen ; distraction-free coding or writing
|
;;zen ; distraction-free coding or writing
|
||||||
|
|
||||||
:editor
|
:editor
|
||||||
(evil +everywhere); come to the dark side, we have cookies
|
;;(evil +everywhere); come to the dark side, we have cookies
|
||||||
file-templates ; auto-snippets for empty files
|
file-templates ; auto-snippets for empty files
|
||||||
fold ; (nigh) universal code folding
|
fold ; (nigh) universal code folding
|
||||||
;;(format +onsave) ; automated prettiness
|
;;(format +onsave) ; automated prettiness
|
||||||
;;god ; run Emacs commands without modifier keys
|
;;god ; run Emacs commands without modifier keys
|
||||||
;;lispy ; vim for lisp, for people who don't like vim
|
;;lispy ; vim for lisp, for people who don't like vim
|
||||||
;;multiple-cursors ; editing in many places at once
|
multiple-cursors ; editing in many places at once
|
||||||
;;objed ; text object editing for the innocent
|
;;objed ; text object editing for the innocent
|
||||||
;;parinfer ; turn lisp into python, sort of
|
;;parinfer ; turn lisp into python, sort of
|
||||||
;;rotate-text ; cycle region at point between text candidates
|
;;rotate-text ; cycle region at point between text candidates
|
||||||
snippets ; my elves. They type so I don't have to
|
snippets ; my elves. They type so I don't have to
|
||||||
|
(whitespace +guess +trim) ; a butler for your whitespace
|
||||||
;;word-wrap ; soft wrapping with language-aware indent
|
;;word-wrap ; soft wrapping with language-aware indent
|
||||||
|
|
||||||
:emacs
|
:emacs
|
||||||
dired ; making dired pretty [functional]
|
dired ; making dired pretty [functional]
|
||||||
electric ; smarter, keyword-based electric-indent
|
electric ; smarter, keyword-based electric-indent
|
||||||
;;eww ; the internet is gross
|
eww ; the internet is gross
|
||||||
;;ibuffer ; interactive buffer management
|
ibuffer ; interactive buffer management
|
||||||
|
tramp ; remote files at your arthritic fingertips
|
||||||
undo ; persistent, smarter undo for your inevitable mistakes
|
undo ; persistent, smarter undo for your inevitable mistakes
|
||||||
vc ; version-control and Emacs, sitting in a tree
|
vc ; version-control and Emacs, sitting in a tree
|
||||||
|
|
||||||
:term
|
:term
|
||||||
;;eshell ; the elisp shell that works everywhere
|
eshell ; the elisp shell that works everywhere
|
||||||
;;shell ; simple shell REPL for Emacs
|
;;shell ; simple shell REPL for Emacs
|
||||||
;;term ; basic terminal emulator for Emacs
|
;;term ; basic terminal emulator for Emacs
|
||||||
vterm ; the best terminal emulation in Emacs
|
vterm ; the best terminal emulation in Emacs
|
||||||
|
|
||||||
:checkers
|
:checkers
|
||||||
syntax ; tasing you for every semicolon you forget
|
syntax ; tasing you for every semicolon you forget
|
||||||
;;(spell +flyspell) ; tasing you for misspelling mispelling
|
(spell +flyspell) ; tasing you for misspelling mispelling
|
||||||
;;grammar ; tasing grammar mistake every you make
|
grammar ; tasing grammar mistake every you make
|
||||||
|
|
||||||
:tools
|
:tools
|
||||||
ansible
|
ansible
|
||||||
@@ -98,10 +100,10 @@
|
|||||||
(eval +overlay) ; run code, run (also, repls)
|
(eval +overlay) ; run code, run (also, repls)
|
||||||
lookup ; navigate your code and its documentation
|
lookup ; navigate your code and its documentation
|
||||||
;;llm ; when I said you needed friends, I didn't mean...
|
;;llm ; when I said you needed friends, I didn't mean...
|
||||||
lsp ; M-x vscode
|
;;(lsp +eglot) ; M-x vscode
|
||||||
magit ; a git porcelain for Emacs
|
magit ; a git porcelain for Emacs
|
||||||
make ; run make tasks from Emacs
|
make ; run make tasks from Emacs
|
||||||
;;pass ; password manager for nerds
|
pass ; password manager for nerds
|
||||||
pdf ; pdf enhancements
|
pdf ; pdf enhancements
|
||||||
;;terraform ; infrastructure as code
|
;;terraform ; infrastructure as code
|
||||||
;;tmux ; an API for interacting with tmux
|
;;tmux ; an API for interacting with tmux
|
||||||
@@ -113,10 +115,11 @@
|
|||||||
;;tty ; improve the terminal Emacs experience
|
;;tty ; improve the terminal Emacs experience
|
||||||
|
|
||||||
:lang
|
:lang
|
||||||
|
;;ada ; In strong typing we (blindly) trust
|
||||||
;;agda ; types of types of types of types...
|
;;agda ; types of types of types of types...
|
||||||
;;beancount ; mind the GAAP
|
;;beancount ; mind the GAAP
|
||||||
(cc +lsp) ; C > C++ == 1
|
(cc +lsp) ; C > C++ == 1
|
||||||
;;clojure ; java with a lisp
|
clojure ; java with a lisp
|
||||||
;;common-lisp ; if you've seen one lisp, you've seen them all
|
;;common-lisp ; if you've seen one lisp, you've seen them all
|
||||||
;;coq ; proofs-as-programs
|
;;coq ; proofs-as-programs
|
||||||
;;crystal ; ruby at the speed of c
|
;;crystal ; ruby at the speed of c
|
||||||
@@ -146,10 +149,10 @@
|
|||||||
;;javascript ; all(hope(abandon(ye(who(enter(here))))))
|
;;javascript ; all(hope(abandon(ye(who(enter(here))))))
|
||||||
;;julia ; a better, faster MATLAB
|
;;julia ; a better, faster MATLAB
|
||||||
;;kotlin ; a better, slicker Java(Script)
|
;;kotlin ; a better, slicker Java(Script)
|
||||||
;;latex ; writing papers in Emacs has never been so fun
|
latex ; writing papers in Emacs has never been so fun
|
||||||
;;lean ; for folks with too much to prove
|
;;lean ; for folks with too much to prove
|
||||||
;;ledger ; be audit you can be
|
;;ledger ; be audit you can be
|
||||||
;;lua ; one-based indices? one-based indices
|
lua ; one-based indices? one-based indices
|
||||||
markdown ; writing docs for people to ignore
|
markdown ; writing docs for people to ignore
|
||||||
;;nim ; python + lisp at the speed of c
|
;;nim ; python + lisp at the speed of c
|
||||||
;;nix ; I hereby declare "nix geht mehr!"
|
;;nix ; I hereby declare "nix geht mehr!"
|
||||||
@@ -168,7 +171,7 @@
|
|||||||
;;(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"}
|
;;(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"}
|
||||||
;;(rust +lsp) ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
|
;;(rust +lsp) ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
|
||||||
;;scala ; java, but good
|
;;scala ; java, but good
|
||||||
;;(scheme +guile) ; a fully conniving family of lisps
|
(scheme +guile) ; a fully conniving family of lisps
|
||||||
sh ; she sells {ba,z,fi}sh shells on the C xor
|
sh ; she sells {ba,z,fi}sh shells on the C xor
|
||||||
;;sml
|
;;sml
|
||||||
;;solidity ; do you need a blockchain? No.
|
;;solidity ; do you need a blockchain? No.
|
||||||
@@ -178,18 +181,21 @@
|
|||||||
yaml ; JSON, but readable
|
yaml ; JSON, but readable
|
||||||
zig ; C, but simpler
|
zig ; C, but simpler
|
||||||
|
|
||||||
|
:tools
|
||||||
|
lsp ; lsp mode
|
||||||
|
|
||||||
:email
|
:email
|
||||||
;;(mu4e +org +gmail)
|
(mu4e +org +gmail)
|
||||||
;;notmuch
|
;;notmuch
|
||||||
;;(wanderlust +gmail)
|
;;(wanderlust +gmail)
|
||||||
|
|
||||||
:app
|
:app
|
||||||
;;calendar
|
calendar
|
||||||
;;emms
|
emms
|
||||||
;;everywhere ; *leave* Emacs!? You must be joking
|
everywhere ; *leave* Emacs!? You must be joking
|
||||||
;;irc ; how neckbeards socialize
|
;;irc ; how neckbeards socialize
|
||||||
;;(rss +org) ; emacs as an RSS reader
|
(rss +org) ; emacs as an RSS reader
|
||||||
|
|
||||||
:config
|
:config
|
||||||
;; literate
|
;;literate
|
||||||
(default +bindings +smartparens))
|
(default +bindings +smartparens))
|
||||||
|
|||||||
@@ -1,8 +1,13 @@
|
|||||||
;; -*- no-byte-compile: t; -*-
|
;; -*- no-byte-compile: t; -*-
|
||||||
;;; $DOOMDIR/packages.el
|
;;; $DOOMDIR/packages.el
|
||||||
|
|
||||||
;; To install a package with Doom you must declare them here and run 'doom sync'
|
;; To install a package:
|
||||||
;; on the command line, then restart Emacs for the changes to take effect -- or
|
;;
|
||||||
|
;; 1. Declare them here in a `package!' statement,
|
||||||
|
;; 2. Run 'doom sync' in the shell,
|
||||||
|
;; 3. Restart Emacs.
|
||||||
|
;;
|
||||||
|
;; Use 'C-h f package\!' to look up documentation for the `package!' macro.
|
||||||
|
|
||||||
|
|
||||||
;; To install SOME-PACKAGE from MELPA, ELPA or emacsmirror:
|
;; To install SOME-PACKAGE from MELPA, ELPA or emacsmirror:
|
||||||
@@ -49,4 +54,6 @@
|
|||||||
;; (unpin! t)
|
;; (unpin! t)
|
||||||
|
|
||||||
(package! catppuccin-theme)
|
(package! catppuccin-theme)
|
||||||
(package! go-mode)
|
(package! org-caldav)
|
||||||
|
(package! elfeed-tube)
|
||||||
|
(package! elfeed-tube-mpv)
|
||||||
|
|||||||
7
doom/.config/doom/scripts/email_sync.sh
Executable file
7
doom/.config/doom/scripts/email_sync.sh
Executable file
@@ -0,0 +1,7 @@
|
|||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
mbsync -a & pid1=$!
|
||||||
|
wait $pid1
|
||||||
|
|
||||||
|
mu index
|
||||||
|
|
||||||
58
emacs/.config/emacs/.gitignore
vendored
Executable file
58
emacs/.config/emacs/.gitignore
vendored
Executable file
@@ -0,0 +1,58 @@
|
|||||||
|
# Created by https://www.toptal.com/developers/gitignore/api/emacs
|
||||||
|
# Edit at https://www.toptal.com/developers/gitignore?templates=emacs
|
||||||
|
|
||||||
|
### Emacs ###
|
||||||
|
# -*- mode: gitignore; -*-
|
||||||
|
*~
|
||||||
|
\#*\#
|
||||||
|
/.emacs.desktop
|
||||||
|
/.emacs.desktop.lock
|
||||||
|
*.elc
|
||||||
|
auto-save-list
|
||||||
|
tramp
|
||||||
|
.\#*
|
||||||
|
eln-cache
|
||||||
|
projects
|
||||||
|
transient/
|
||||||
|
|
||||||
|
# Org-mode
|
||||||
|
.org-id-locations
|
||||||
|
*_archive
|
||||||
|
|
||||||
|
# flymake-mode
|
||||||
|
*_flymake.*
|
||||||
|
|
||||||
|
# eshell files
|
||||||
|
/eshell/history
|
||||||
|
/eshell/lastdir
|
||||||
|
|
||||||
|
# elpa packages
|
||||||
|
/elpa/
|
||||||
|
|
||||||
|
# reftex files
|
||||||
|
*.rel
|
||||||
|
|
||||||
|
# AUCTeX auto folder
|
||||||
|
/auto/
|
||||||
|
|
||||||
|
# cask packages
|
||||||
|
.cask/
|
||||||
|
dist/
|
||||||
|
|
||||||
|
# Flycheck
|
||||||
|
flycheck_*.el
|
||||||
|
|
||||||
|
# server auth directory
|
||||||
|
/server/
|
||||||
|
|
||||||
|
# projectiles files
|
||||||
|
.projectile
|
||||||
|
|
||||||
|
# directory configuration
|
||||||
|
.dir-locals.el
|
||||||
|
|
||||||
|
# network security
|
||||||
|
/network-security.data
|
||||||
|
|
||||||
|
|
||||||
|
# End of https://www.toptal.com/developers/gitignore/api/emacs
|
||||||
233
emacs/.config/emacs/init.el
Normal file
233
emacs/.config/emacs/init.el
Normal file
@@ -0,0 +1,233 @@
|
|||||||
|
;; Initial greeting for debugging
|
||||||
|
(message "Welcome to Emacs")
|
||||||
|
(message "Loading user configuration...")
|
||||||
|
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
;; LOOK AND FEEL ;;
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
|
;; Setting default font
|
||||||
|
(set-frame-font "0xProto Nerd Font 13" nil t)
|
||||||
|
|
||||||
|
;; Remove toolbar
|
||||||
|
(tool-bar-mode -1)
|
||||||
|
|
||||||
|
;; Remove menu
|
||||||
|
(menu-bar-mode -1)
|
||||||
|
|
||||||
|
;; Disable startup screen
|
||||||
|
(setq inhibit-startup-screen t)
|
||||||
|
|
||||||
|
;; Disable splash screen
|
||||||
|
(setq inhibit-splash-screen t)
|
||||||
|
|
||||||
|
;; Start all frames maximized
|
||||||
|
(add-to-list 'default-frame-alist '(fullscreen . maximized))
|
||||||
|
|
||||||
|
;; Remove scrollbar
|
||||||
|
(scroll-bar-mode -1)
|
||||||
|
|
||||||
|
;; Simple 'y' for 'yes' and 'n' for 'no'
|
||||||
|
(defalias 'yes-or-no-p 'y-or-n-p)
|
||||||
|
|
||||||
|
;; Set global value for paragraph witdh
|
||||||
|
(setq-default fill-column 120)
|
||||||
|
|
||||||
|
;; Stop Emacs from losing informations
|
||||||
|
(setq undo-limit 2000000)
|
||||||
|
(setq undo-strong-limit 4000000000)
|
||||||
|
|
||||||
|
;; Smooth scroll
|
||||||
|
(setq scroll-step 3)
|
||||||
|
(setq ring-bell-function 'ignore)
|
||||||
|
|
||||||
|
;; Add column number in the status line
|
||||||
|
(column-number-mode)
|
||||||
|
|
||||||
|
;; View clock in the status line
|
||||||
|
(display-time)
|
||||||
|
|
||||||
|
;; Enable line numbers in the programming mode only
|
||||||
|
(add-hook 'prog-mode-hook 'display-line-numbers-mode)
|
||||||
|
|
||||||
|
;; Enable line numbers in the configuration mode only
|
||||||
|
(add-hook 'conf-mode-hook 'display-line-numbers-mode)
|
||||||
|
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
;; EDITOR OPTIONS ;;
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
(setq standard-indent 4)
|
||||||
|
(setq tab-stop-list nil)
|
||||||
|
(setq indent-tabs-mode nil)
|
||||||
|
|
||||||
|
;; Setting variables
|
||||||
|
(setq vc-follow-symlinks 't)
|
||||||
|
(prefer-coding-system 'utf-8-unix)
|
||||||
|
(setq custom-file (null-device))
|
||||||
|
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
;; PACKAGES ;;
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
|
;; Initialize package system via use-package
|
||||||
|
(package-initialize)
|
||||||
|
(require 'use-package)
|
||||||
|
|
||||||
|
(use-package package
|
||||||
|
:config
|
||||||
|
;; Setting repo priorities
|
||||||
|
(setq package-archive-priorities
|
||||||
|
'(("melpa-stable" . 2)
|
||||||
|
("MELPA" . 1)
|
||||||
|
("gnu" . 0)))
|
||||||
|
;; Setting repo URL
|
||||||
|
(setq package-archives
|
||||||
|
'(("melpa-stable" . "https://stable.melpa.org/packages/")
|
||||||
|
("MELPA" . "https://melpa.org/packages/")
|
||||||
|
("gnu" . "https://elpa.gnu.org/packages/")))
|
||||||
|
)
|
||||||
|
|
||||||
|
(use-package catppuccin-theme
|
||||||
|
:ensure t
|
||||||
|
:config
|
||||||
|
(load-theme 'catppuccin :no-confirm)
|
||||||
|
(setq catppuccin-flavor 'mocha))
|
||||||
|
|
||||||
|
;; Status line like Doom Emacs
|
||||||
|
(use-package doom-modeline
|
||||||
|
:ensure t
|
||||||
|
:init (doom-modeline-mode 1))
|
||||||
|
|
||||||
|
;; Help to remember or discover keybindings
|
||||||
|
(use-package which-key
|
||||||
|
:ensure t
|
||||||
|
:commands (which-key-mode)
|
||||||
|
:init (which-key-mode))
|
||||||
|
|
||||||
|
;; Configuration for mu4e, an interface for mu email index, running inside Emacs
|
||||||
|
(use-package mu4e
|
||||||
|
:ensure nil
|
||||||
|
;; :load-path "/usr/share/emacs/site-lisp/mu4e/"
|
||||||
|
:defer 20 ; Wait until 20 seconds after startup
|
||||||
|
:bind (:map global-map ("C-c e" . mu4e))
|
||||||
|
:config
|
||||||
|
|
||||||
|
;; This is set to 't' to avoid mail syncing issues when using mbsync
|
||||||
|
(setq mu4e-change-filenames-when-moving t)
|
||||||
|
|
||||||
|
;; Refresh mail using isync every 10 minutes
|
||||||
|
(setq mu4e-update-interval (* 10 60))
|
||||||
|
(setq mu4e-get-mail-command "~/.config/emacs/scripts/email_sync.sh")
|
||||||
|
(setq mu4e-maildir "~/Maildir")
|
||||||
|
|
||||||
|
(setq mu4e-drafts-folder "/GmailAccount/[Gmail]/Bozze")
|
||||||
|
(setq mu4e-sent-folder "/GmailAccount/[Gmail]/Posta inviata")
|
||||||
|
(setq mu4e-refile-folder "/GmailAccount/[Gmail]/Tutti i messaggi")
|
||||||
|
(setq mu4e-trash-folder "/GmailAccount/[Gmail]/Cestino")
|
||||||
|
(setq user-email-address "fabio.scottodisantolo@gmail.com")
|
||||||
|
(setq user-full-name "Fabio Scotto di Santolo")
|
||||||
|
|
||||||
|
(setq mu4e-maildir-shortcuts
|
||||||
|
'(("/GmailAccount/Inbox" . ?i)
|
||||||
|
("/GmailAccount/[Gmail]/Posta inviata" . ?s)
|
||||||
|
("/GmailAccount/[Gmail]/Cestino" . ?t)
|
||||||
|
("/GmailAccount/[Gmail]/Bozze" . ?d)
|
||||||
|
("/GmailAccount/[Gmail]/Tutti i messaggi" . ?a))))
|
||||||
|
|
||||||
|
(setq user-mail-address "fabio.scottodisantolo@gmail.com")
|
||||||
|
|
||||||
|
(setq sendmail-program "/usr/bin/msmtp"
|
||||||
|
send-mail-function 'sendmail-send-it
|
||||||
|
message-sendmail-f-is-evil t
|
||||||
|
message-sendmail-extra-arguments '("--read-envelope-from")
|
||||||
|
message-send-mail-function 'message-send-mail-with-sendmail)
|
||||||
|
|
||||||
|
;; Configure elfeed for RSS feed
|
||||||
|
(use-package elfeed
|
||||||
|
:ensure t
|
||||||
|
:custom
|
||||||
|
(elfeed-db-directory "~/.cache/elfeed")
|
||||||
|
(elfeed-enclosure-default-dir "~/Downloads/")
|
||||||
|
(elfeed-search-remain-on-entry t)
|
||||||
|
(elfeed-search-title-max-width 100)
|
||||||
|
(elfeed-search-title-min-width 30)
|
||||||
|
(elfeed-search-trailing-width 25)
|
||||||
|
(elfeed-show-truncate-long-urls t)
|
||||||
|
(elfeed-sort-order 'descending)
|
||||||
|
(elfeed-search-filter "1-week-ago +unread")
|
||||||
|
(elfeed-feeds
|
||||||
|
'(("https://blog.linuxmint.com/?feed=rss2" linux linuxmint)
|
||||||
|
("https://feeds.feedburner.com/TheHackersNews" hackernews news security programming)))
|
||||||
|
:bind (("C-c f" . elfeed)))
|
||||||
|
|
||||||
|
;; Terminal
|
||||||
|
(use-package vterm
|
||||||
|
:ensure t
|
||||||
|
:bind (:map global-map
|
||||||
|
("C-c t" . vterm)
|
||||||
|
("C-c c" . vterm-copy-mode)))
|
||||||
|
|
||||||
|
;; PDF viewer with annotations
|
||||||
|
(use-package pdf-tools
|
||||||
|
:ensure t
|
||||||
|
:config
|
||||||
|
(pdf-tools-install))
|
||||||
|
|
||||||
|
;; EPub viewer
|
||||||
|
(use-package nov
|
||||||
|
:ensure t
|
||||||
|
:mode ("\\.epub\\'" . nov-mode))
|
||||||
|
|
||||||
|
(use-package visual-fill-column
|
||||||
|
:ensure t)
|
||||||
|
|
||||||
|
;; Git plugin
|
||||||
|
(use-package magit
|
||||||
|
:ensure t
|
||||||
|
:bind (:map global-map ("M-G" . magit-status)))
|
||||||
|
|
||||||
|
(use-package magit-delta
|
||||||
|
:ensure t)
|
||||||
|
|
||||||
|
;; Highlight keywords to remember the activity when coding.
|
||||||
|
(use-package hl-todo
|
||||||
|
:ensure t
|
||||||
|
:commands (global-hl-todo-mode)
|
||||||
|
:init (global-hl-todo-mode))
|
||||||
|
|
||||||
|
(setq hl-todo-keyword-faces
|
||||||
|
'(("TODO" . "#94e2d5")
|
||||||
|
("FIXME" . "#f38ba8")
|
||||||
|
("DEBUG" . "#cba6f7")
|
||||||
|
("GOTCHA" . "#eba0ac")
|
||||||
|
("STUB" . "#89b4fa")))
|
||||||
|
|
||||||
|
(keymap-set hl-todo-mode-map "C-c p" #'hl-todo-previous)
|
||||||
|
(keymap-set hl-todo-mode-map "C-c n" #'hl-todo-next)
|
||||||
|
(keymap-set hl-todo-mode-map "C-c o" #'hl-todo-occur)
|
||||||
|
(keymap-set hl-todo-mode-map "C-c i" #'hl-todo-insert)
|
||||||
|
|
||||||
|
;; Highlight for i3 config file
|
||||||
|
(use-package i3wm-config-mode
|
||||||
|
:ensure t)
|
||||||
|
|
||||||
|
;; Add autocomplete feature to Emacs
|
||||||
|
(use-package company
|
||||||
|
:ensure t
|
||||||
|
:commands (global-company-mode)
|
||||||
|
:init (global-company-mode)
|
||||||
|
:custom
|
||||||
|
(company-tooltip-align-annotations 't)
|
||||||
|
(company-minimum-prefix-length 1)
|
||||||
|
(company-idle-delay 0.1))
|
||||||
|
|
||||||
|
;; TODO adding lsp-mode, dap-mode, autocomplete and project handling for C, Go, Bash and Python
|
||||||
|
(use-package lsp-mode
|
||||||
|
:ensure t
|
||||||
|
:init
|
||||||
|
;; set prefix for lsp-command-keymap (few alternatives - "C-l", "C-c l")
|
||||||
|
(setq lsp-keymap-prefix "C-c l")
|
||||||
|
:hook ((c-mode . lsp))
|
||||||
|
:commands lsp)
|
||||||
|
|
||||||
|
(message "...user configuration loaded")
|
||||||
7
emacs/.config/emacs/scripts/email_sync.sh
Executable file
7
emacs/.config/emacs/scripts/email_sync.sh
Executable file
@@ -0,0 +1,7 @@
|
|||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
mbsync Gmail & pid1=$!
|
||||||
|
wait $pid1
|
||||||
|
|
||||||
|
mu index
|
||||||
|
|
||||||
47
emacs/.mbsyncrc
Normal file
47
emacs/.mbsyncrc
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
##################### iCloud Account ##################################
|
||||||
|
IMAPStore iCloud-remote
|
||||||
|
Host imap.mail.me.com
|
||||||
|
Port 993
|
||||||
|
User fscottodisantolo@icloud.com
|
||||||
|
PassCmd "pass show icloud-mail"
|
||||||
|
AuthMechs *
|
||||||
|
SSLType IMAPS
|
||||||
|
SSLVersions TLSv1.2 TLSv1.3
|
||||||
|
PipelineDepth 1
|
||||||
|
|
||||||
|
MaildirStore iCloud-local
|
||||||
|
Path ~/Maildir/iCloudAccount/
|
||||||
|
Inbox ~/Maildir/iCloudAccount/INBOX
|
||||||
|
SubFolders Verbatim
|
||||||
|
|
||||||
|
Channel iCloud
|
||||||
|
Far :iCloud-remote:
|
||||||
|
Near :iCloud-local:
|
||||||
|
Patterns *
|
||||||
|
Create Both
|
||||||
|
Expunge Both
|
||||||
|
SyncState *
|
||||||
|
|
||||||
|
##################### Protonmail Account ##################################
|
||||||
|
IMAPStore protonmail-remote
|
||||||
|
Host 127.0.0.1
|
||||||
|
Port 1143
|
||||||
|
User fscottodisantolo@protonmail.com
|
||||||
|
PassCmd "pass show protonmail-bridge"
|
||||||
|
AuthMechs *
|
||||||
|
SSLType STARTTLS
|
||||||
|
PipelineDepth 1
|
||||||
|
CertificateFile ~/.config/protonmail/bridge-v3/cert.pem
|
||||||
|
|
||||||
|
MaildirStore protonmail-local
|
||||||
|
Path ~/Maildir/ProtonMailAccount/
|
||||||
|
Inbox ~/Maildir/ProtonMailAccount/INBOX
|
||||||
|
SubFolders Verbatim
|
||||||
|
|
||||||
|
Channel Protonmail
|
||||||
|
Far :protonmail-remote:
|
||||||
|
Near :protonmail-local:
|
||||||
|
Patterns *
|
||||||
|
Create Both
|
||||||
|
Expunge Both
|
||||||
|
SyncState *
|
||||||
51
emacs/.msmtprc
Normal file
51
emacs/.msmtprc
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
# Set default values for all following accounts.
|
||||||
|
defaults
|
||||||
|
|
||||||
|
# Always use TLS
|
||||||
|
tls on
|
||||||
|
|
||||||
|
# Set a list of trusted CAs for TLS. The default is to use system settings,
|
||||||
|
# but you can select your own file.
|
||||||
|
tls_trust_file /etc/ssl/certs/ca-certificates.crt
|
||||||
|
logfile ~/.cache/msmtp.log
|
||||||
|
|
||||||
|
# Account iCloud
|
||||||
|
account icloud
|
||||||
|
|
||||||
|
# Host name of the SMTP server
|
||||||
|
host smtp.mail.me.com
|
||||||
|
|
||||||
|
# Use the mail submission port 587 instead of the SMTP port 25
|
||||||
|
port 587
|
||||||
|
|
||||||
|
# Envelop-from address
|
||||||
|
from fscottodisantolo@icloud.com
|
||||||
|
|
||||||
|
# Authentication. The password is given using one of five methods
|
||||||
|
auth on
|
||||||
|
user fscottodisantolo@icloud.com
|
||||||
|
passwordeval "pass show icloud-mail"
|
||||||
|
|
||||||
|
# Account Protonmail
|
||||||
|
account protonmail
|
||||||
|
|
||||||
|
# Hostname of the Protonmail bridge
|
||||||
|
host 127.0.0.1
|
||||||
|
|
||||||
|
# Port of the Protonmail bridge
|
||||||
|
port 1025
|
||||||
|
|
||||||
|
# Envelop-from address
|
||||||
|
from fscottodisantolo@protonmail.com
|
||||||
|
|
||||||
|
# Security
|
||||||
|
tls on
|
||||||
|
tls_trust_file ~/.config/protonmail/bridge-v3/cert.pem
|
||||||
|
|
||||||
|
# Authentication
|
||||||
|
auth on
|
||||||
|
user fscottodisantolo@protonmail.com
|
||||||
|
passwordeval "pass show protonmail-bridge"
|
||||||
|
|
||||||
|
# Set a default account
|
||||||
|
account default : icloud
|
||||||
@@ -6,4 +6,5 @@ saveAsFileExtension=png
|
|||||||
savePath=/home/fscotto/Pictures/Screenshots
|
savePath=/home/fscotto/Pictures/Screenshots
|
||||||
savePathFixed=true
|
savePathFixed=true
|
||||||
showStartupLaunchMessage=false
|
showStartupLaunchMessage=false
|
||||||
startupLaunch=false
|
startupLaunch=true
|
||||||
|
useJpgForClipboard=true
|
||||||
|
|||||||
@@ -4,12 +4,12 @@
|
|||||||
[core]
|
[core]
|
||||||
excludesfile = ~/.gitignore_global
|
excludesfile = ~/.gitignore_global
|
||||||
pager = delta
|
pager = delta
|
||||||
|
sshcommand = ssh.exe
|
||||||
|
|
||||||
[user]
|
[user]
|
||||||
name = Fabio Scotto di Santolo
|
name = Fabio Scotto di Santolo
|
||||||
email = fabio.scottodisantolo@gmail.com
|
email = fabio.scottodisantolo@gmail.com
|
||||||
signingkey = 9DDD59AD62494FB2
|
signingkey = 9DDD59AD62494FB2
|
||||||
editor = nvim
|
|
||||||
|
|
||||||
[fetch]
|
[fetch]
|
||||||
prune = true
|
prune = true
|
||||||
@@ -25,13 +25,6 @@
|
|||||||
|
|
||||||
[merge]
|
[merge]
|
||||||
conflictstyle = diff3
|
conflictstyle = diff3
|
||||||
tool = meld
|
|
||||||
|
|
||||||
[mergetool]
|
|
||||||
prompt = false
|
|
||||||
|
|
||||||
[diff]
|
|
||||||
tool = meld
|
|
||||||
|
|
||||||
[color]
|
[color]
|
||||||
ui = always
|
ui = always
|
||||||
@@ -82,3 +75,6 @@
|
|||||||
colorMoved = default
|
colorMoved = default
|
||||||
tabs = 4
|
tabs = 4
|
||||||
side-by-side = true
|
side-by-side = true
|
||||||
|
|
||||||
|
[credential]
|
||||||
|
helper = manager-core
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
# -*- mode: i3wm-config -*-
|
||||||
# i3 config file (v4)
|
# i3 config file (v4)
|
||||||
#
|
#
|
||||||
# Please see https://i3wm.org/docs/userguide.html for a complete reference!
|
# Please see https://i3wm.org/docs/userguide.html for a complete reference!
|
||||||
@@ -9,6 +10,39 @@
|
|||||||
# layout, use the i3-config-wizard
|
# layout, use the i3-config-wizard
|
||||||
#
|
#
|
||||||
|
|
||||||
|
# use these keys for focus, movement, and resize directions when reaching for
|
||||||
|
# the arrows is not convenient
|
||||||
|
set $left h
|
||||||
|
set $down j
|
||||||
|
set $up k
|
||||||
|
set $right l
|
||||||
|
|
||||||
|
set $term 'alacritty'
|
||||||
|
set $editor 'emacs'
|
||||||
|
set $filemanager 'nemo'
|
||||||
|
set $notification 'dunst'
|
||||||
|
set $browser 'org.mozilla.firefox'
|
||||||
|
set $clipboard 'diodon'
|
||||||
|
|
||||||
|
# Define names for default workspaces for which we configure key bindings later on.
|
||||||
|
# We use variables to avoid repeating the names in multiple places.
|
||||||
|
set $ws1 "1"
|
||||||
|
set $ws2 "2"
|
||||||
|
set $ws3 "3"
|
||||||
|
set $ws4 "4"
|
||||||
|
set $ws5 "5"
|
||||||
|
set $ws6 "6"
|
||||||
|
set $ws7 "7"
|
||||||
|
set $ws8 "8"
|
||||||
|
set $ws9 "9"
|
||||||
|
set $ws10 "10"
|
||||||
|
|
||||||
|
###############################################################
|
||||||
|
###############################################################
|
||||||
|
################## LOOK AND FEEL ##################
|
||||||
|
###############################################################
|
||||||
|
###############################################################
|
||||||
|
|
||||||
# Import Catppuccin theme defined colors
|
# Import Catppuccin theme defined colors
|
||||||
set $rosewater #f5e0dc
|
set $rosewater #f5e0dc
|
||||||
set $flamingo #f2cdcd
|
set $flamingo #f2cdcd
|
||||||
@@ -48,9 +82,6 @@ client.background $base
|
|||||||
# Setting cursor
|
# Setting cursor
|
||||||
# seat seat0 xcursor_theme catppuccin-mocha-lavender-cursors 25
|
# seat seat0 xcursor_theme catppuccin-mocha-lavender-cursors 25
|
||||||
|
|
||||||
# Logo key. Use Mod1 for Alt.
|
|
||||||
set $mod Mod4
|
|
||||||
|
|
||||||
# Font for window titles. Will also be used by the bar unless a different font
|
# Font for window titles. Will also be used by the bar unless a different font
|
||||||
# is used in the bar {} block below.
|
# is used in the bar {} block below.
|
||||||
font pango:Noto Sans Regular 10
|
font pango:Noto Sans Regular 10
|
||||||
@@ -59,58 +90,18 @@ font pango:Noto Sans Regular 10
|
|||||||
# text rendering and scalability on retina/hidpi displays (thanks to pango).
|
# text rendering and scalability on retina/hidpi displays (thanks to pango).
|
||||||
#font pango:DejaVu Sans Mono 8
|
#font pango:DejaVu Sans Mono 8
|
||||||
|
|
||||||
# Start XDG autostart .desktop files using dex. See also
|
|
||||||
# https://wiki.archlinux.org/index.php/XDG_Autostart
|
|
||||||
exec --no-startup-id dex --autostart --environment i3
|
|
||||||
|
|
||||||
# The combination of xss-lock, nm-applet and pactl is a popular choice, so
|
|
||||||
# they are included here as an example. Modify as you see fit.
|
|
||||||
|
|
||||||
# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the
|
|
||||||
# screen before suspend. Use loginctl lock-session to lock your screen.
|
|
||||||
exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork
|
|
||||||
|
|
||||||
# NetworkManager is the most popular way to manage wireless networks on Linux,
|
|
||||||
# and nm-applet is a desktop environment-independent system tray GUI for it.
|
|
||||||
exec --no-startup-id nm-applet
|
|
||||||
|
|
||||||
# Polkit Authentication agent
|
|
||||||
exec --no-startup-id /usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1
|
|
||||||
|
|
||||||
# Use pactl to adjust volume in PulseAudio.
|
|
||||||
set $refresh_i3status killall -SIGUSR1 i3status
|
|
||||||
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status
|
|
||||||
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status
|
|
||||||
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
|
|
||||||
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status
|
|
||||||
# bindsym XF86MonBrightnessUp exec --no-startup-id swayosd-client --brightness +5
|
|
||||||
# bindsym XF86MonBrightnessDown exec --no-startup-id swayosd-client --brightness -5
|
|
||||||
bindsym $mod+Mod1+l exec ~/.config/i3/scripts/lockscreen.sh
|
|
||||||
|
|
||||||
# use these keys for focus, movement, and resize directions when reaching for
|
|
||||||
# the arrows is not convenient
|
|
||||||
set $left h
|
|
||||||
set $down j
|
|
||||||
set $up k
|
|
||||||
set $right l
|
|
||||||
|
|
||||||
# use Mouse+Mod4 to drag floating windows to their wanted position
|
|
||||||
floating_modifier $mod
|
|
||||||
|
|
||||||
# move tiling windows via drag & drop by left-clicking into the title bar,
|
|
||||||
# or left-clicking anywhere into the window while holding the floating modifier.
|
|
||||||
tiling_drag modifier titlebar
|
|
||||||
|
|
||||||
set $term 'alacritty'
|
|
||||||
set $browser 'firefox'
|
|
||||||
set $editor 'emacs'
|
|
||||||
|
|
||||||
# Windows configuration
|
# Windows configuration
|
||||||
default_border pixel 3
|
default_border pixel 3
|
||||||
default_floating_border pixel 3
|
default_floating_border pixel 3
|
||||||
gaps inner 5
|
gaps inner 5
|
||||||
gaps outer 5
|
gaps outer 5
|
||||||
|
|
||||||
|
###############################################################
|
||||||
|
###############################################################
|
||||||
|
################## WORKSPACES ##################
|
||||||
|
###############################################################
|
||||||
|
###############################################################
|
||||||
|
|
||||||
# Floating/sticky windows
|
# Floating/sticky windows
|
||||||
for_window [class="Pop-up"] floating enable
|
for_window [class="Pop-up"] floating enable
|
||||||
for_window [class="Bubble"] floating enable
|
for_window [class="Bubble"] floating enable
|
||||||
@@ -126,28 +117,67 @@ for_window [class="Webconsole"] floating enable
|
|||||||
for_window [class="Authy"] floating enable
|
for_window [class="Authy"] floating enable
|
||||||
for_window [class="Termfloat"] floating enable, resize set 960 540
|
for_window [class="Termfloat"] floating enable, resize set 960 540
|
||||||
for_window [class="Mpv"] floating enable, resize set 960 540
|
for_window [class="Mpv"] floating enable, resize set 960 540
|
||||||
|
for_window [class="Spotify"] floating enable, resize set 1280 1024, move scratchpad
|
||||||
|
|
||||||
# Workspaces
|
# Workspaces
|
||||||
assign [class="Emacs"] 1
|
assign [class="Emacs"] 1
|
||||||
assign [class="Firefox"] 2 # FIXME: change class name
|
assign [class="firefox"] 2
|
||||||
assign [class="Telegram"] 3
|
assign [class="Telegram"] 3
|
||||||
|
assign [class="discord"] 3
|
||||||
|
|
||||||
focus_follows_mouse no
|
focus_follows_mouse no
|
||||||
|
|
||||||
|
###############################################################
|
||||||
|
###############################################################
|
||||||
|
################## KEYBINDINGS ##################
|
||||||
|
###############################################################
|
||||||
|
###############################################################
|
||||||
|
|
||||||
|
# Logo key. Use Mod1 for Alt.
|
||||||
|
set $mod Mod4
|
||||||
|
|
||||||
# start a terminal
|
# start a terminal
|
||||||
bindsym $mod+Return exec $term
|
bindsym $mod+Return exec $term
|
||||||
|
|
||||||
# kill focused window
|
# kill focused window
|
||||||
bindsym $mod+Shift+q kill
|
bindsym $mod+Shift+q kill
|
||||||
|
|
||||||
# start default menu application
|
# define mode for launcher
|
||||||
bindsym $mod+d exec "rofi -show drun"
|
mode "launcher" {
|
||||||
bindsym $mod+Shift+s exec "rofi -show ssh"
|
bindsym d exec "rofi -show drun"
|
||||||
bindsym $mod+Shift+w exec "rofi -show window"
|
bindsym s exec "rofi -show ssh"
|
||||||
bindsym $mod+Shift+f exec "rofi -show filebrowser"
|
bindsym w exec "rofi -show window"
|
||||||
|
bindsym f exec "rofi -show filebrowser"
|
||||||
|
bindsym q exec ~/.config/i3/scripts/poweroff.sh
|
||||||
|
|
||||||
bindsym $mod+Shift+b exec $browser
|
bindsym $mod+d mode "default"
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
bindsym $mod+d mode "launcher"
|
||||||
|
|
||||||
|
bindsym $mod+Shift+f exec "nemo"
|
||||||
|
bindsym $mod+Shift+b exec "flatpak run org.mozilla.firefox"
|
||||||
|
bindsym $mod+Shift+t exec "flatpak run org.telegram.desktop"
|
||||||
|
bindsym $mod+Shift+e exec $editor
|
||||||
bindsym Print exec flameshot gui
|
bindsym Print exec flameshot gui
|
||||||
# bindsym $mod+Shift+v exec xfce4-clipman-history
|
bindsym $mod+Shift+v exec --no-startup-id $clipboard
|
||||||
|
|
||||||
|
# Use pactl to adjust volume in PulseAudio.
|
||||||
|
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +5%
|
||||||
|
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -5%
|
||||||
|
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle
|
||||||
|
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle
|
||||||
|
bindsym XF86MonBrightnessUp exec --no-startup-id brightnessctl set +5%
|
||||||
|
bindsym XF86MonBrightnessDown exec --no-startup-id brightnessctl set 5%-
|
||||||
|
bindsym $mod+Mod1+l exec ~/.config/i3/scripts/lockscreen.sh
|
||||||
|
|
||||||
|
# use Mouse+Mod4 to drag floating windows to their wanted position
|
||||||
|
floating_modifier $mod
|
||||||
|
|
||||||
|
# move tiling windows via drag & drop by left-clicking into the title bar,
|
||||||
|
# or left-clicking anywhere into the window while holding the floating modifier.
|
||||||
|
tiling_drag modifier titlebar
|
||||||
|
|
||||||
# change focus
|
# change focus
|
||||||
bindsym $mod+$left focus left
|
bindsym $mod+$left focus left
|
||||||
@@ -174,7 +204,7 @@ bindsym $mod+Shift+Up move up
|
|||||||
bindsym $mod+Shift+Right move right
|
bindsym $mod+Shift+Right move right
|
||||||
|
|
||||||
# split in horizontal orientation
|
# split in horizontal orientation
|
||||||
# bindsym $mod+h split h
|
bindsym Mod1+h split h
|
||||||
|
|
||||||
# split in vertical orientation
|
# split in vertical orientation
|
||||||
bindsym $mod+v split v
|
bindsym $mod+v split v
|
||||||
@@ -197,7 +227,7 @@ bindsym $mod+space focus mode_toggle
|
|||||||
bindsym $mod+a focus parent
|
bindsym $mod+a focus parent
|
||||||
|
|
||||||
# focus the child container
|
# focus the child container
|
||||||
#bindsym Mod4+d focus child
|
bindsym Mod1+d focus child
|
||||||
|
|
||||||
# move the currently focused window to the scratchpad
|
# move the currently focused window to the scratchpad
|
||||||
bindsym $mod+Shift+minus move scratchpad
|
bindsym $mod+Shift+minus move scratchpad
|
||||||
@@ -206,19 +236,6 @@ bindsym $mod+Shift+minus move scratchpad
|
|||||||
# If there are multiple scratchpad windows, this command cycles through them.
|
# If there are multiple scratchpad windows, this command cycles through them.
|
||||||
bindsym $mod+minus scratchpad show
|
bindsym $mod+minus scratchpad show
|
||||||
|
|
||||||
# Define names for default workspaces for which we configure key bindings later on.
|
|
||||||
# We use variables to avoid repeating the names in multiple places.
|
|
||||||
set $ws1 "1"
|
|
||||||
set $ws2 "2"
|
|
||||||
set $ws3 "3"
|
|
||||||
set $ws4 "4"
|
|
||||||
set $ws5 "5"
|
|
||||||
set $ws6 "6"
|
|
||||||
set $ws7 "7"
|
|
||||||
set $ws8 "8"
|
|
||||||
set $ws9 "9"
|
|
||||||
set $ws10 "10"
|
|
||||||
|
|
||||||
# switch to workspace
|
# switch to workspace
|
||||||
bindsym $mod+1 workspace number $ws1
|
bindsym $mod+1 workspace number $ws1
|
||||||
bindsym $mod+2 workspace number $ws2
|
bindsym $mod+2 workspace number $ws2
|
||||||
@@ -251,7 +268,7 @@ bindsym $mod+Shift+c reload
|
|||||||
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
|
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
|
||||||
bindsym $mod+Shift+r restart
|
bindsym $mod+Shift+r restart
|
||||||
# exit i3 (logs you out of your X session)
|
# exit i3 (logs you out of your X session)
|
||||||
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'"
|
#bindsym $mod+Shift+e exec ~/.config/i3/scripts/poweroff.sh
|
||||||
|
|
||||||
# resize window (you can also use the mouse for that)
|
# resize window (you can also use the mouse for that)
|
||||||
mode "resize" {
|
mode "resize" {
|
||||||
@@ -280,38 +297,52 @@ mode "resize" {
|
|||||||
|
|
||||||
bindsym $mod+r mode "resize"
|
bindsym $mod+r mode "resize"
|
||||||
|
|
||||||
# Start i3bar to display a workspace bar (plus the system information i3status
|
###############################################################
|
||||||
# finds out, if available)
|
###############################################################
|
||||||
# bar {
|
################## AUTOSTART ##################
|
||||||
# status_command i3bar
|
###############################################################
|
||||||
# }
|
###############################################################
|
||||||
|
|
||||||
#######################################################################
|
# Start XDG autostart .desktop files using dex. See also
|
||||||
# automatically start i3-config-wizard to offer the user to create a
|
# https://wiki.archlinux.org/index.php/XDG_Autostart
|
||||||
# keysym-based config which used their favorite modifier (alt or windows)
|
exec --no-startup-id dex --autostart --environment i3
|
||||||
#
|
|
||||||
# i3-config-wizard will not launch if there already is a config file
|
# The combination of xss-lock, nm-applet and pactl is a popular choice, so
|
||||||
# in ~/.config/i3/config (or $XDG_CONFIG_HOME/i3/config if set) or
|
# they are included here as an example. Modify as you see fit.
|
||||||
# ~/.i3/config.
|
|
||||||
#
|
# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the
|
||||||
# Please remove the following exec line:
|
# screen before suspend. Use loginctl lock-session to lock your screen.
|
||||||
#######################################################################
|
exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork
|
||||||
# exec i3-config-wizard
|
|
||||||
|
# NetworkManager is the most popular way to manage wireless networks on Linux,
|
||||||
|
# and nm-applet is a desktop environment-independent system tray GUI for it.
|
||||||
|
exec --no-startup-id nm-applet
|
||||||
|
|
||||||
|
# Polkit Authentication agent
|
||||||
|
exec_always --no-startup-id /usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1
|
||||||
|
|
||||||
### Apply wallpaper
|
### Apply wallpaper
|
||||||
exec feh --bg-scale ~/.config/i3/wallpaper.jpg
|
exec_always --no-startup-id feh --bg-scale ~/.config/i3/wallpaper.jpg
|
||||||
|
|
||||||
### Run status bar
|
### Run status bar
|
||||||
exec ~/.config/polybar/launch.sh
|
exec_always --no-startup-id ~/.config/polybar/launch.sh
|
||||||
|
|
||||||
### Run in background X11 compositor
|
### Run in background X11 compositor
|
||||||
exec picom --config ~/.config/picom/picom.conf
|
exec_always --no-startup-id picom --config ~/.config/picom/picom.conf
|
||||||
|
|
||||||
### Run in background notification daemon
|
### Run in background notification daemon
|
||||||
exec $notification
|
exec_always --no-startup-id $notification
|
||||||
|
|
||||||
|
exec --no-startup-id $clipboard
|
||||||
|
|
||||||
### Enable autolock
|
### Enable autolock
|
||||||
exec xautolock -time 5 -locker ~/.config/i3/scripts/lockscreen.sh -detectsleep
|
exec_always xautolock -time 5 -locker ~/.config/i3/scripts/lockscreen.sh -detectsleep
|
||||||
|
|
||||||
### Screenshot tool
|
### Run screenshot tool
|
||||||
exec flameshot
|
exec flameshot
|
||||||
|
|
||||||
|
### Run my preferred editor
|
||||||
|
# exec $editor
|
||||||
|
|
||||||
|
### Run my preferred browser
|
||||||
|
exec flatpak run $browser
|
||||||
|
|||||||
12
i3/.config/i3/scripts/poweroff.sh
Executable file
12
i3/.config/i3/scripts/poweroff.sh
Executable file
@@ -0,0 +1,12 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
chosen=$(echo -e "⏻ Shutdown\n Restart\n Logout\n Suspend\n Hibernate" | rofi -dmenu -p "Power Menu:" -theme-str 'window {width: 20%;}')
|
||||||
|
|
||||||
|
case "$chosen" in
|
||||||
|
"⏻ Shutdown") systemctl poweroff ;;
|
||||||
|
" Restart") systemctl reboot ;;
|
||||||
|
" Logout") loginctl terminate-session $XDG_SESSION_ID ;;
|
||||||
|
" Suspend") systemctl suspend ;;
|
||||||
|
" Hibernate") systemctl hibernate ;;
|
||||||
|
*) exit 0 ;;
|
||||||
|
esac
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 406 KiB After Width: | Height: | Size: 249 KiB |
109
i3/.config/picom/picom.conf
Normal file
109
i3/.config/picom/picom.conf
Normal file
@@ -0,0 +1,109 @@
|
|||||||
|
## Modified to have rules organized to the rules section at bottom, legacy options commented out.
|
||||||
|
|
||||||
|
# OPACITY
|
||||||
|
# inactive-opacity = 0.8;
|
||||||
|
# frame-opacity = 0.7;
|
||||||
|
|
||||||
|
# Let inactive opacity set by -i override the '_NET_WM_WINDOW_OPACITY' values of windows.
|
||||||
|
# inactive-opacity-override = true;
|
||||||
|
|
||||||
|
# if for some reason you want all windows transparent
|
||||||
|
# active-opacity = 1.0
|
||||||
|
|
||||||
|
# inactive-dim = 0.05
|
||||||
|
|
||||||
|
# fixed inactive dim value
|
||||||
|
# inactive-dim-fixed = 1.0
|
||||||
|
|
||||||
|
# focus-exclude = [ "class_g = 'dwm'" ];
|
||||||
|
|
||||||
|
# opacity-rule = [
|
||||||
|
# "100:class_g = 'example'"
|
||||||
|
# ];
|
||||||
|
|
||||||
|
# ROUNDED CORNERS
|
||||||
|
corner-radius = 3
|
||||||
|
|
||||||
|
# uncommented for square notification box
|
||||||
|
rounded-corners-exclude = [
|
||||||
|
"class_g = 'Polybar'",
|
||||||
|
"class_g = 'Dunst'"
|
||||||
|
];
|
||||||
|
|
||||||
|
# BLURRING
|
||||||
|
# methods: none, gaussian, box, kernel (define custom kernel), dual_kawase
|
||||||
|
blur:
|
||||||
|
{
|
||||||
|
method = "dual_kawase";
|
||||||
|
size = 10;
|
||||||
|
strength = 3;
|
||||||
|
# default deviation is 0.84
|
||||||
|
# deviation = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
# semi-transparent
|
||||||
|
blur-background = true
|
||||||
|
|
||||||
|
# blur-background-frame = true
|
||||||
|
# Use fixed blur strength rather than adjusting according to window opacity.
|
||||||
|
blur-background-fixed = true
|
||||||
|
|
||||||
|
# set custom blur kernel (method to kernel), preset examples:
|
||||||
|
# blur-kern = "3x3box";
|
||||||
|
# blur-kern = "5x5gaussian";
|
||||||
|
|
||||||
|
# SHADOWS
|
||||||
|
# shadow = true;
|
||||||
|
shadow-radius = 1; #blur radius
|
||||||
|
shadow-opacity = .1
|
||||||
|
shadow-offset-x = 0;
|
||||||
|
shadow-offset-y = 0;
|
||||||
|
shadow-color = "#000000"
|
||||||
|
# shadow-exclude = [];
|
||||||
|
|
||||||
|
# FADING
|
||||||
|
fading = true;
|
||||||
|
fade-in-step = 0.03;
|
||||||
|
fade-out-step = 0.03;
|
||||||
|
fade-delta = 3
|
||||||
|
|
||||||
|
# OTHER SETTINGS
|
||||||
|
# dbus = true
|
||||||
|
# daemon = false
|
||||||
|
|
||||||
|
# backends: `xrender`, `glx`, `egl` or `xr_glx_hybrid`
|
||||||
|
backend = "egl";
|
||||||
|
dithered-present = false;
|
||||||
|
vsync = true;
|
||||||
|
# mark-wmwin-focused = true;
|
||||||
|
# mark-ovredir-focused = true;
|
||||||
|
detect-rounded-corners = false
|
||||||
|
detect-client-opacity = true;
|
||||||
|
use-ewmh-active-win = true
|
||||||
|
detect-transient = true;
|
||||||
|
# glx-no-stencil = true
|
||||||
|
use-damage = true;
|
||||||
|
log-level = "warn";
|
||||||
|
|
||||||
|
# LEGACY
|
||||||
|
# wintypes:
|
||||||
|
# {
|
||||||
|
# tooltip = { fade = true; shadow = true; opacity = 0.5; focus = true; full-shadow = false; };
|
||||||
|
# dock = { shadow = false; clip-shadow-above = true; }
|
||||||
|
# dnd = { shadow = false; }
|
||||||
|
# popup_menu = { opacity = 0.7; }
|
||||||
|
# dropdown_menu = { opacity = 0.7; }
|
||||||
|
# normal = { opacity = 1;}
|
||||||
|
# };
|
||||||
|
|
||||||
|
# WINDOW RULES
|
||||||
|
rules = (
|
||||||
|
# { match = "name = 'dwm'"; opacity = 1; },
|
||||||
|
{ match = "focused"; opacity = 1; },
|
||||||
|
{ match = "!focused"; opacity = 0.85; },
|
||||||
|
{ match = "tooltip"; fade = true; shadow = true; opacity = 0.5; focus = true; full-shadow = false; },
|
||||||
|
{ match = "popup_menu"; opacity = 0.7; },
|
||||||
|
{ match = "dropdown_menu"; opacity = 0.7; }
|
||||||
|
)
|
||||||
|
|
||||||
|
# picom -b to daemonize
|
||||||
@@ -1,6 +1,5 @@
|
|||||||
;==========================================================
|
;==========================================================
|
||||||
;
|
;
|
||||||
;
|
|
||||||
; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗
|
; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗
|
||||||
; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗
|
; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗
|
||||||
; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝
|
; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝
|
||||||
@@ -9,179 +8,203 @@
|
|||||||
; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝
|
; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
; To learn more about how to configure Polybar
|
; To learn more about how to configure Polybar
|
||||||
; go to https://github.com/polybar/polybar
|
; go to https://github.com/polybar/polybar
|
||||||
;
|
;
|
||||||
; The README contains a lot of information
|
; The README contains a lot of information
|
||||||
;
|
;
|
||||||
;==========================================================
|
;==========================================================
|
||||||
|
|
||||||
[global/wm]
|
[global/wm]
|
||||||
include-file = $HOME/.config/polybar/themes/mocha.ini
|
include-file = $HOME/.config/polybar/themes/mocha.ini
|
||||||
|
include-file = $HOME/.config/polybar/modules.ini
|
||||||
|
margin-top = 0
|
||||||
|
margin-bottom = 0
|
||||||
|
|
||||||
[colors]
|
; FIXME remove radius on left and right borders
|
||||||
|
[bar/mainbar]
|
||||||
|
; monitor = eDP-1 ; xrandr --query | grep " connected"
|
||||||
|
; monitor = ${env:POLYBAR_MONITOR:}
|
||||||
|
|
||||||
|
; Require the monitor to be in connected state
|
||||||
|
; XRandR sometimes reports my monitor as being disconnected (when in use)
|
||||||
|
monitor-strict = false
|
||||||
|
|
||||||
|
; Tell the Window Manager not to configure the window.
|
||||||
|
; Use this to detach the bar if your WM is locking its size/position.
|
||||||
|
override-redirect = false
|
||||||
|
|
||||||
|
; Put the bar at the bottom of the screen
|
||||||
|
bottom = false
|
||||||
|
|
||||||
|
; Prefer fixed center position for the `modules-center` block
|
||||||
|
;
|
||||||
|
; When false, the center position will be based on the size of the other blocks.
|
||||||
|
fixed-center = true
|
||||||
|
|
||||||
|
; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%)
|
||||||
|
; the percentage can optionally be extended with a pixel offset like so:
|
||||||
|
; 50%:-10, this will result in an offset in the x or y direction
|
||||||
|
; of 50% minus 10 pixels
|
||||||
|
offset-x = 0%
|
||||||
|
offset-y = 0%
|
||||||
|
|
||||||
|
; Background ARGB color (e.g. #f00, #ff992a, #ddff1023)
|
||||||
background = ${colors.base}
|
background = ${colors.base}
|
||||||
background-alt = ${colors.mantle}
|
|
||||||
|
; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023)
|
||||||
foreground = ${colors.text}
|
foreground = ${colors.text}
|
||||||
primary = ${colors.blue}
|
|
||||||
secondary = ${colors.sapphire}
|
|
||||||
alert = ${colors.red}
|
|
||||||
disabled = ${colors.crust}
|
|
||||||
|
|
||||||
[bar/mybar]
|
; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%),
|
||||||
|
; 50%:-10, this will result in a width or height of 50% minus 10 pixels
|
||||||
|
; the percentage can optionally be extended with a pixel offset like so:
|
||||||
width = 100%
|
width = 100%
|
||||||
height = 24pt
|
height = 26pt
|
||||||
radius = 6
|
|
||||||
|
|
||||||
; dpi = 96
|
; Value used for drawing rounded corners
|
||||||
|
; Note: This shouldn't be used together with border-size because the border
|
||||||
|
; doesn't get rounded
|
||||||
|
; Individual top/bottom values can be defined using:
|
||||||
|
; radius-{top,bottom}
|
||||||
|
radius-top = 0
|
||||||
|
radius-bottom = 0.0
|
||||||
|
|
||||||
background = ${colors.background}
|
; Under-/overline pixel size and argb color
|
||||||
foreground = ${colors.foreground}
|
; Individual values can be defined using:
|
||||||
|
; {overline,underline}-size
|
||||||
|
; {overline,underline}-color
|
||||||
|
underline-size = 2
|
||||||
|
underline-color = ${color.foreground}
|
||||||
|
|
||||||
line-size = 3pt
|
; Values applied to all borders
|
||||||
|
; Individual side values can be defined using:
|
||||||
border-size = 4pt
|
; border-{left,top,right,bottom}-size
|
||||||
border-color = #00000000
|
; border-{left,top,right,bottom}-color
|
||||||
|
; The top and bottom borders are added to the bar height, so the effective
|
||||||
|
; window height is:
|
||||||
|
; height + border-top-size + border-bottom-size
|
||||||
|
; Meanwhile the effective window width is defined entirely by the width key and
|
||||||
|
; the border is placed withing this area. So you effectively only have the
|
||||||
|
; following horizontal space on the bar:
|
||||||
|
; width - border-right-size - border-left-size
|
||||||
|
border-size = 0
|
||||||
|
border-color = ${colors.base}
|
||||||
|
|
||||||
|
; Number of spaces to add at the beginning/end of the bar
|
||||||
|
; Individual side values can be defined using:
|
||||||
|
; padding-{left,right}
|
||||||
padding-left = 0
|
padding-left = 0
|
||||||
padding-right = 1
|
padding-right = 0
|
||||||
|
|
||||||
|
; Number of spaces to add before/after each module
|
||||||
|
; Individual side values can be defined using:
|
||||||
|
; module-margin-{left,right}
|
||||||
|
;module-margin-left = 0
|
||||||
|
;module-margin-right = 0
|
||||||
module-margin = 1
|
module-margin = 1
|
||||||
|
|
||||||
|
; The separator will be inserted between the output of each module
|
||||||
separator = |
|
separator = |
|
||||||
separator-foreground = ${colors.disabled}
|
separator-foreground = ${colors.crust}
|
||||||
|
|
||||||
font-0 = ComicShannsMono Nerd Font;2
|
; Fonts are defined using <font-name>;<vertical-offset>
|
||||||
|
; Font names are specified using a fontconfig pattern.
|
||||||
|
; font-0 = NotoSans-Regular:size=8;2
|
||||||
|
; font-1 = MaterialIcons:size=10
|
||||||
|
; font-2 = Termsynu:size=8;-1
|
||||||
|
; font-3 = FontAwesome:size=10
|
||||||
|
; See the Fonts wiki page for more details
|
||||||
|
font-0 = "JetBrainsMono Nerd Font:size=12;2"
|
||||||
|
|
||||||
modules-left = xworkspaces xwindow
|
; Modules are added to one of the available blocks
|
||||||
modules-right = filesystem pulseaudio xkeyboard memory cpu wlan eth date
|
; modules-center = xwindow xbacklight
|
||||||
|
; modules-right = ipc clock
|
||||||
|
modules-left = xworkspaces
|
||||||
|
modules-center =
|
||||||
|
modules-right = spotify filesystem memory cpu pulseaudio backlight battery0 battery1 xkeyboard date systray
|
||||||
|
|
||||||
cursor-click = pointer
|
; Value to be used to set the WM_NAME atom
|
||||||
cursor-scroll = ns-resize
|
; If the value is empty or undefined, the atom value
|
||||||
|
; will be created from the following template: polybar-[BAR]_[MONITOR]
|
||||||
|
; NOTE: The placeholders are not available for custom values
|
||||||
|
;wm-name =
|
||||||
|
|
||||||
|
; Locale used to localize various module data (e.g. date)
|
||||||
|
; Expects a valid libc locale, for example: sv_SE.UTF-8
|
||||||
|
;locale =
|
||||||
|
|
||||||
|
; Position of the system tray window
|
||||||
|
; If empty or undefined, tray support will be disabled
|
||||||
|
; NOTE: A center aligned tray will cover center aligned modules
|
||||||
|
;
|
||||||
|
; Available positions:
|
||||||
|
; left
|
||||||
|
; center
|
||||||
|
; right
|
||||||
|
; none
|
||||||
|
tray-position = none
|
||||||
|
|
||||||
|
; If true, the bar will not shift its
|
||||||
|
; contents when the tray changes
|
||||||
|
tray-detached = false
|
||||||
|
|
||||||
|
; Tray icon max size
|
||||||
|
tray-maxsize = 20
|
||||||
|
|
||||||
|
; Background color for the tray container
|
||||||
|
; ARGB color (e.g. #f00, #ff992a, #ddff1023)
|
||||||
|
; By default the tray container will use the bar
|
||||||
|
; background color.
|
||||||
|
tray-background = ${color.base}
|
||||||
|
|
||||||
|
; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%)
|
||||||
|
tray-offset-x = 0
|
||||||
|
tray-offset-y = 0
|
||||||
|
|
||||||
|
; Pad the sides of each tray icon
|
||||||
|
tray-padding = 0
|
||||||
|
|
||||||
|
; Scale factor for tray clients
|
||||||
|
tray-scale = 0.5
|
||||||
|
|
||||||
|
; Restack the bar window and put it above the
|
||||||
|
; selected window manager's root
|
||||||
|
;
|
||||||
|
; Fixes the issue where the bar is being drawn
|
||||||
|
; on top of fullscreen window's
|
||||||
|
;
|
||||||
|
; Currently supported WM's:
|
||||||
|
; bspwm
|
||||||
|
; i3 (requires: `override-redirect = true`)
|
||||||
|
wm-restack = i3
|
||||||
|
|
||||||
|
; Set a DPI values used when rendering text
|
||||||
|
; This only affects scalable fonts
|
||||||
|
; dpi =
|
||||||
|
|
||||||
|
; Enable support for inter-process messaging
|
||||||
|
; See the Messaging wiki page for more details.
|
||||||
enable-ipc = true
|
enable-ipc = true
|
||||||
|
|
||||||
; wm-restack = generic
|
; Fallback click handlers that will be called if
|
||||||
; wm-restack = bspwm
|
; there's no matching module handler found.
|
||||||
; wm-restack = i3
|
click-left =
|
||||||
|
click-middle =
|
||||||
|
click-right =
|
||||||
|
scroll-up =
|
||||||
|
scroll-down =
|
||||||
|
double-click-left =
|
||||||
|
double-click-middle =
|
||||||
|
double-click-right =
|
||||||
|
|
||||||
; override-redirect = true
|
; Requires polybar to be built with xcursor support (xcb-util-cursor)
|
||||||
|
; Possible values are:
|
||||||
; This module is not active by default (to enable it, add it to one of the
|
; - default : The default pointer as before, can also be an empty string (default)
|
||||||
; modules-* list above).
|
; - pointer : Typically in the form of a hand
|
||||||
; Please note that only a single tray can exist at any time. If you launch
|
; - ns-resize : Up and down arrows, can be used to indicate scrolling
|
||||||
; multiple bars with this module, only a single one will show it, the others
|
cursor-click = pointer
|
||||||
; will produce a warning. Which bar gets the module is timing dependent and can
|
cursor-scroll = ns-resize
|
||||||
; be quite random.
|
|
||||||
; For more information, see the documentation page for this module:
|
|
||||||
; https://polybar.readthedocs.io/en/stable/user/modules/tray.html
|
|
||||||
[module/systray]
|
|
||||||
type = internal/tray
|
|
||||||
|
|
||||||
format-margin = 8pt
|
|
||||||
tray-spacing = 16pt
|
|
||||||
|
|
||||||
[module/xworkspaces]
|
|
||||||
type = internal/xworkspaces
|
|
||||||
|
|
||||||
label-active = %name%
|
|
||||||
label-active-background = ${colors.background-alt}
|
|
||||||
label-active-underline= ${colors.primary}
|
|
||||||
label-active-padding = 1
|
|
||||||
|
|
||||||
label-occupied = %name%
|
|
||||||
label-occupied-padding = 1
|
|
||||||
|
|
||||||
label-urgent = %name%
|
|
||||||
label-urgent-background = ${colors.alert}
|
|
||||||
label-urgent-padding = 1
|
|
||||||
|
|
||||||
label-empty = %name%
|
|
||||||
label-empty-foreground = ${colors.disabled}
|
|
||||||
label-empty-padding = 1
|
|
||||||
|
|
||||||
[module/xwindow]
|
|
||||||
type = internal/xwindow
|
|
||||||
label = %title:0:60:...%
|
|
||||||
|
|
||||||
[module/filesystem]
|
|
||||||
type = internal/fs
|
|
||||||
interval = 25
|
|
||||||
|
|
||||||
mount-0 = /
|
|
||||||
|
|
||||||
label-mounted = %{F#F0C674}%mountpoint%%{F-} %percentage_used%%
|
|
||||||
|
|
||||||
label-unmounted = %mountpoint% not mounted
|
|
||||||
label-unmounted-foreground = ${colors.disabled}
|
|
||||||
|
|
||||||
[module/pulseaudio]
|
|
||||||
type = internal/pulseaudio
|
|
||||||
|
|
||||||
format-volume-prefix = "VOL "
|
|
||||||
format-volume-prefix-foreground = ${colors.primary}
|
|
||||||
format-volume = <label-volume>
|
|
||||||
|
|
||||||
label-volume = %percentage%%
|
|
||||||
|
|
||||||
label-muted = muted
|
|
||||||
label-muted-foreground = ${colors.disabled}
|
|
||||||
|
|
||||||
[module/xkeyboard]
|
|
||||||
type = internal/xkeyboard
|
|
||||||
blacklist-0 = num lock
|
|
||||||
|
|
||||||
label-layout = %layout%
|
|
||||||
label-layout-foreground = ${colors.primary}
|
|
||||||
|
|
||||||
label-indicator-padding = 2
|
|
||||||
label-indicator-margin = 1
|
|
||||||
label-indicator-foreground = ${colors.background}
|
|
||||||
label-indicator-background = ${colors.secondary}
|
|
||||||
|
|
||||||
[module/memory]
|
|
||||||
type = internal/memory
|
|
||||||
interval = 2
|
|
||||||
format-prefix = "RAM "
|
|
||||||
format-prefix-foreground = ${colors.primary}
|
|
||||||
label = %percentage_used:2%%
|
|
||||||
|
|
||||||
[module/cpu]
|
|
||||||
type = internal/cpu
|
|
||||||
interval = 2
|
|
||||||
format-prefix = "CPU "
|
|
||||||
format-prefix-foreground = ${colors.primary}
|
|
||||||
label = %percentage:2%%
|
|
||||||
|
|
||||||
[network-base]
|
|
||||||
type = internal/network
|
|
||||||
interval = 5
|
|
||||||
format-connected = <label-connected>
|
|
||||||
format-disconnected = <label-disconnected>
|
|
||||||
label-disconnected = %{F#F0C674}%ifname%%{F#707880} disconnected
|
|
||||||
|
|
||||||
[module/wlan]
|
|
||||||
inherit = network-base
|
|
||||||
interface-type = wireless
|
|
||||||
label-connected = %{F#F0C674}%ifname%%{F-} %essid% %local_ip%
|
|
||||||
|
|
||||||
[module/eth]
|
|
||||||
inherit = network-base
|
|
||||||
interface-type = wired
|
|
||||||
label-connected = %{F#F0C674}%ifname%%{F-} %local_ip%
|
|
||||||
|
|
||||||
[module/date]
|
|
||||||
type = internal/date
|
|
||||||
interval = 1
|
|
||||||
|
|
||||||
date = %H:%M
|
|
||||||
date-alt = %Y-%m-%d %H:%M:%S
|
|
||||||
|
|
||||||
label = %date%
|
|
||||||
label-foreground = ${colors.primary}
|
|
||||||
|
|
||||||
[settings]
|
[settings]
|
||||||
screenchange-reload = true
|
screenchange-reload = true
|
||||||
pseudo-transparency = true
|
pseudo-transparency = true
|
||||||
|
|
||||||
; vim:ft=dosini
|
|
||||||
|
|||||||
@@ -8,6 +8,6 @@ polybar-msg cmd quit
|
|||||||
|
|
||||||
# Launch barxs
|
# Launch barxs
|
||||||
echo "---" | tee -a /tmp/polybar-mybar.log
|
echo "---" | tee -a /tmp/polybar-mybar.log
|
||||||
polybar mybar 2>&1 | tee -a /tmp/polybar-mybar.log & disown
|
polybar mainbar 2>&1 | tee -a /tmp/polybar-mybar.log & disown
|
||||||
|
|
||||||
echo "Bars launched..."
|
echo "Bars launched..."
|
||||||
|
|||||||
585
i3/.config/polybar/modules.ini
Normal file
585
i3/.config/polybar/modules.ini
Normal file
@@ -0,0 +1,585 @@
|
|||||||
|
; FIXME adapt systray icons to other status bar icons
|
||||||
|
[module/systray]
|
||||||
|
type = internal/tray
|
||||||
|
format-margin = 8pt
|
||||||
|
tray-spacing = 14pt
|
||||||
|
|
||||||
|
[module/xworkspaces]
|
||||||
|
type = internal/xworkspaces
|
||||||
|
label-active = %name%
|
||||||
|
label-active-background = ${colors.mantle}
|
||||||
|
label-active-foreground = ${colors.mauve}
|
||||||
|
label-active-underline= ${colors.mauve}
|
||||||
|
label-active-padding = 1
|
||||||
|
label-occupied = %name%
|
||||||
|
label-occupied-padding = 1
|
||||||
|
label-urgent = %name%
|
||||||
|
label-urgent-background = ${colors.red}
|
||||||
|
label-urgent-padding = 1
|
||||||
|
label-empty = %name%
|
||||||
|
label-empty-foreground = ${colors.crust}
|
||||||
|
label-empty-padding = 1
|
||||||
|
|
||||||
|
[module/xwindow]
|
||||||
|
type = internal/xwindow
|
||||||
|
label = %title:0:60:...%
|
||||||
|
|
||||||
|
[module/filesystem]
|
||||||
|
type = internal/fs
|
||||||
|
interval = 25
|
||||||
|
mount-0 = /
|
||||||
|
mount-1 = /home
|
||||||
|
label-mounted = %{F#F2CDCD}%mountpoint%%{F-} %percentage_used%%
|
||||||
|
label-unmounted = %mountpoint% not mounted
|
||||||
|
label-unmounted-foreground = ${colors.crust}
|
||||||
|
|
||||||
|
[module/pulseaudio]
|
||||||
|
type = internal/pulseaudio
|
||||||
|
|
||||||
|
;format-volume-prefix = "VOL "
|
||||||
|
;format-volume-prefix-foreground = ${colors.blue}
|
||||||
|
|
||||||
|
format-volume = <ramp-volume> <label-volume>
|
||||||
|
label-volume = %percentage%%
|
||||||
|
ramp-volume-foreground = ${colors.rosewater}
|
||||||
|
|
||||||
|
format-muted = <label-muted>
|
||||||
|
label-muted = %percentage%%
|
||||||
|
ramp-muted-foreground = ${colors.red}
|
||||||
|
|
||||||
|
ramp-volume-0 =
|
||||||
|
ramp-volume-1 =
|
||||||
|
ramp-volume-2 =
|
||||||
|
|
||||||
|
[module/xkeyboard]
|
||||||
|
type = internal/xkeyboard
|
||||||
|
blacklist-0 = num lock
|
||||||
|
label-layout = %layout%
|
||||||
|
label-layout-foreground = ${colors.maroon}
|
||||||
|
label-indicator-padding = 2
|
||||||
|
label-indicator-margin = 1
|
||||||
|
label-indicator-foreground = ${colors.base}
|
||||||
|
label-indicator-background = ${colors.peach}
|
||||||
|
|
||||||
|
[module/memory]
|
||||||
|
type = internal/memory
|
||||||
|
interval = 2
|
||||||
|
format-prefix = " "
|
||||||
|
format-prefix-foreground = ${colors.teal}
|
||||||
|
label = %gb_used%/%gb_total%
|
||||||
|
|
||||||
|
[module/cpu]
|
||||||
|
type = internal/cpu
|
||||||
|
interval = 2
|
||||||
|
format-prefix = " "
|
||||||
|
format-prefix-foreground = ${colors.pink}
|
||||||
|
label = %percentage:2%%
|
||||||
|
|
||||||
|
[network-base]
|
||||||
|
type = internal/network
|
||||||
|
interval = 5
|
||||||
|
format-connected = <label-connected>
|
||||||
|
format-disconnected = <label-disconnected>
|
||||||
|
label-disconnected = %{F#F0C674}%ifname%%{F#707880} disconnected
|
||||||
|
|
||||||
|
[module/wlan]
|
||||||
|
inherit = network-base
|
||||||
|
interface-type = wireless
|
||||||
|
label-connected = %{F#F0C674}%ifname%%{F-} %essid% %local_ip%
|
||||||
|
|
||||||
|
[module/eth]
|
||||||
|
inherit = network-base
|
||||||
|
interface-type = wired
|
||||||
|
label-connected = %{F#F0C674}%ifname%%{F-} %local_ip%
|
||||||
|
|
||||||
|
[module/date]
|
||||||
|
type = internal/date
|
||||||
|
interval = 1
|
||||||
|
date = %H:%M
|
||||||
|
date-alt = %Y-%m-%d %H:%M:%S
|
||||||
|
label = %date%
|
||||||
|
;label-foreground = ${colors.blue}
|
||||||
|
|
||||||
|
[module/battery0]
|
||||||
|
type = internal/battery
|
||||||
|
|
||||||
|
; This is useful in case the battery never reports 100% charge
|
||||||
|
; Default: 100
|
||||||
|
full-at = 100
|
||||||
|
|
||||||
|
; format-low once this charge percentage is reached
|
||||||
|
; Default: 10
|
||||||
|
; New in version 3.6.0
|
||||||
|
low-at = 20
|
||||||
|
|
||||||
|
; Use the following command to list batteries and adapters:
|
||||||
|
; $ ls -1 /sys/class/power_supply/
|
||||||
|
battery = BAT0
|
||||||
|
adapter = ADP1
|
||||||
|
|
||||||
|
; If an inotify event haven't been reported in this many
|
||||||
|
; seconds, manually poll for new values.
|
||||||
|
;
|
||||||
|
; Needed as a fallback for systems that don't report events
|
||||||
|
; on sysfs/procfs.
|
||||||
|
;
|
||||||
|
; Disable polling by setting the interval to 0.
|
||||||
|
;
|
||||||
|
; Default: 5
|
||||||
|
poll-interval = 5
|
||||||
|
|
||||||
|
; see "man date" for details on how to format the time string
|
||||||
|
; NOTE: if you want to use syntax tags here you need to use %%{...}
|
||||||
|
; Default: %H:%M:%S
|
||||||
|
time-format = %H:%M
|
||||||
|
|
||||||
|
; Available tags:
|
||||||
|
; <label-charging> (default)
|
||||||
|
; <bar-capacity>
|
||||||
|
; <ramp-capacity>
|
||||||
|
; <animation-charging>
|
||||||
|
format-charging = <animation-charging> <label-charging>
|
||||||
|
animation-charging-foreground = ${colors.green}
|
||||||
|
|
||||||
|
; Available tags:
|
||||||
|
; <label-discharging> (default)
|
||||||
|
; <bar-capacity>
|
||||||
|
; <ramp-capacity>
|
||||||
|
; <animation-discharging>
|
||||||
|
format-discharging = <ramp-capacity> <label-discharging>
|
||||||
|
ramp-capacity-foreground = ${colors.yellow}
|
||||||
|
|
||||||
|
; Available tags:
|
||||||
|
; <label-full> (default)
|
||||||
|
; <bar-capacity>
|
||||||
|
; <ramp-capacity>
|
||||||
|
format-full = <ramp-capacity> <label-full>
|
||||||
|
format-full-foreground = ${colors.green}
|
||||||
|
|
||||||
|
; Format used when battery level drops to low-at
|
||||||
|
; If not defined, format-discharging is used instead.
|
||||||
|
; Available tags:
|
||||||
|
; <label-low>
|
||||||
|
; <animation-low>
|
||||||
|
; <bar-capacity>
|
||||||
|
; <ramp-capacity>
|
||||||
|
; New in version 3.6.0
|
||||||
|
format-low = <ramp-capacity> <label-low>
|
||||||
|
format-low-foreground = ${colors.red}
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %percentage% (default) - is set to 100 if full-at is reached
|
||||||
|
; %percentage_raw%
|
||||||
|
; %time%
|
||||||
|
; %consumption% (shows current charge rate in watts)
|
||||||
|
;label-charging = Charging %percentage%%
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %percentage% (default) - is set to 100 if full-at is reached
|
||||||
|
; %percentage_raw%
|
||||||
|
; %time%
|
||||||
|
; %consumption% (shows current discharge rate in watts)
|
||||||
|
;label-discharging = Discharging %percentage%%
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %percentage% (default) - is set to 100 if full-at is reached
|
||||||
|
; %percentage_raw%
|
||||||
|
;label-full = Fully charged
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %percentage% (default) - is set to 100 if full-at is reached
|
||||||
|
; %percentage_raw%
|
||||||
|
; %time%
|
||||||
|
; %consumption% (shows current discharge rate in watts)
|
||||||
|
; New in versinon 3.6.0
|
||||||
|
; label-low = BATTERY LOW
|
||||||
|
|
||||||
|
; Only applies if <ramp-capacity> is used
|
||||||
|
ramp-capacity-0 =
|
||||||
|
ramp-capacity-1 =
|
||||||
|
ramp-capacity-2 =
|
||||||
|
ramp-capacity-3 =
|
||||||
|
ramp-capacity-4 =
|
||||||
|
|
||||||
|
; Only applies if <bar-capacity> is used
|
||||||
|
bar-capacity-width = 10
|
||||||
|
|
||||||
|
; Only applies if <animation-charging> is used
|
||||||
|
animation-charging-0 =
|
||||||
|
animation-charging-1 =
|
||||||
|
animation-charging-2 =
|
||||||
|
animation-charging-3 =
|
||||||
|
animation-charging-4 =
|
||||||
|
; Framerate in milliseconds
|
||||||
|
animation-charging-framerate = 750
|
||||||
|
|
||||||
|
; Only applies if <animation-discharging> is used
|
||||||
|
animation-discharging-0 =
|
||||||
|
animation-discharging-1 =
|
||||||
|
animation-discharging-2 =
|
||||||
|
animation-discharging-3 =
|
||||||
|
animation-discharging-4 =
|
||||||
|
; Framerate in milliseconds
|
||||||
|
animation-discharging-framerate = 500
|
||||||
|
|
||||||
|
; Only applies if <animation-low> is used
|
||||||
|
; New in version 3.6.0
|
||||||
|
;animation-low-0 = !
|
||||||
|
;animation-low-1 =
|
||||||
|
;animation-low-framerate = 200
|
||||||
|
|
||||||
|
[module/battery1]
|
||||||
|
type = internal/battery
|
||||||
|
|
||||||
|
; This is useful in case the battery never reports 100% charge
|
||||||
|
; Default: 100
|
||||||
|
full-at = 100
|
||||||
|
|
||||||
|
; format-low once this charge percentage is reached
|
||||||
|
; Default: 10
|
||||||
|
; New in version 3.6.0
|
||||||
|
low-at = 20
|
||||||
|
|
||||||
|
; Use the following command to list batteries and adapters:
|
||||||
|
; $ ls -1 /sys/class/power_supply/
|
||||||
|
battery = BAT1
|
||||||
|
adapter = ADP1
|
||||||
|
|
||||||
|
; If an inotify event haven't been reported in this many
|
||||||
|
; seconds, manually poll for new values.
|
||||||
|
;
|
||||||
|
; Needed as a fallback for systems that don't report events
|
||||||
|
; on sysfs/procfs.
|
||||||
|
;
|
||||||
|
; Disable polling by setting the interval to 0.
|
||||||
|
;
|
||||||
|
; Default: 5
|
||||||
|
poll-interval = 5
|
||||||
|
|
||||||
|
; see "man date" for details on how to format the time string
|
||||||
|
; NOTE: if you want to use syntax tags here you need to use %%{...}
|
||||||
|
; Default: %H:%M:%S
|
||||||
|
time-format = %H:%M
|
||||||
|
|
||||||
|
; Available tags:
|
||||||
|
; <label-charging> (default)
|
||||||
|
; <bar-capacity>
|
||||||
|
; <ramp-capacity>
|
||||||
|
; <animation-charging>
|
||||||
|
format-charging = <animation-charging> <label-charging>
|
||||||
|
animation-charging-foreground = ${colors.green}
|
||||||
|
|
||||||
|
; Available tags:
|
||||||
|
; <label-discharging> (default)
|
||||||
|
; <bar-capacity>
|
||||||
|
; <ramp-capacity>
|
||||||
|
; <animation-discharging>
|
||||||
|
format-discharging = <ramp-capacity> <label-discharging>
|
||||||
|
ramp-capacity-foreground = ${colors.yellow}
|
||||||
|
|
||||||
|
; Available tags:
|
||||||
|
; <label-full> (default)
|
||||||
|
; <bar-capacity>
|
||||||
|
; <ramp-capacity>
|
||||||
|
format-full = <ramp-capacity> <label-full>
|
||||||
|
format-full-foreground = ${colors.green}
|
||||||
|
|
||||||
|
; Format used when battery level drops to low-at
|
||||||
|
; If not defined, format-discharging is used instead.
|
||||||
|
; Available tags:
|
||||||
|
; <label-low>
|
||||||
|
; <animation-low>
|
||||||
|
; <bar-capacity>
|
||||||
|
; <ramp-capacity>
|
||||||
|
; New in version 3.6.0
|
||||||
|
format-low = <ramp-capacity> <label-low>
|
||||||
|
format-low-foreground = ${colors.red}
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %percentage% (default) - is set to 100 if full-at is reached
|
||||||
|
; %percentage_raw%
|
||||||
|
; %time%
|
||||||
|
; %consumption% (shows current charge rate in watts)
|
||||||
|
;label-charging = Charging %percentage%%
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %percentage% (default) - is set to 100 if full-at is reached
|
||||||
|
; %percentage_raw%
|
||||||
|
; %time%
|
||||||
|
; %consumption% (shows current discharge rate in watts)
|
||||||
|
;label-discharging = Discharging %percentage%%
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %percentage% (default) - is set to 100 if full-at is reached
|
||||||
|
; %percentage_raw%
|
||||||
|
;label-full = Fully charged
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %percentage% (default) - is set to 100 if full-at is reached
|
||||||
|
; %percentage_raw%
|
||||||
|
; %time%
|
||||||
|
; %consumption% (shows current discharge rate in watts)
|
||||||
|
; New in versinon 3.6.0
|
||||||
|
; label-low = BATTERY LOW
|
||||||
|
|
||||||
|
; Only applies if <ramp-capacity> is used
|
||||||
|
ramp-capacity-0 =
|
||||||
|
ramp-capacity-1 =
|
||||||
|
ramp-capacity-2 =
|
||||||
|
ramp-capacity-3 =
|
||||||
|
ramp-capacity-4 =
|
||||||
|
|
||||||
|
; Only applies if <bar-capacity> is used
|
||||||
|
bar-capacity-width = 10
|
||||||
|
|
||||||
|
; Only applies if <animation-charging> is used
|
||||||
|
animation-charging-0 =
|
||||||
|
animation-charging-1 =
|
||||||
|
animation-charging-2 =
|
||||||
|
animation-charging-3 =
|
||||||
|
animation-charging-4 =
|
||||||
|
; Framerate in milliseconds
|
||||||
|
animation-charging-framerate = 750
|
||||||
|
|
||||||
|
; Only applies if <animation-discharging> is used
|
||||||
|
animation-discharging-0 =
|
||||||
|
animation-discharging-1 =
|
||||||
|
animation-discharging-2 =
|
||||||
|
animation-discharging-3 =
|
||||||
|
animation-discharging-4 =
|
||||||
|
; Framerate in milliseconds
|
||||||
|
animation-discharging-framerate = 500
|
||||||
|
|
||||||
|
; Only applies if <animation-low> is used
|
||||||
|
; New in version 3.6.0
|
||||||
|
;animation-low-0 = !
|
||||||
|
;animation-low-1 =
|
||||||
|
;animation-low-framerate = 200
|
||||||
|
|
||||||
|
[module/backlight]
|
||||||
|
type = internal/backlight
|
||||||
|
|
||||||
|
; Use the following command to list available cards:
|
||||||
|
; $ ls -1 /sys/class/backlight/
|
||||||
|
; Default: first usable card in /sys/class/backlight (new in version 3.7.0)
|
||||||
|
card = intel_backlight
|
||||||
|
|
||||||
|
; Use the `/sys/class/backlight/.../actual-brightness` file
|
||||||
|
; rather than the regular `brightness` file.
|
||||||
|
; New in version 3.6.0
|
||||||
|
; Changed in version: 3.7.0: Defaults to true also on amdgpu backlights
|
||||||
|
; Default: true
|
||||||
|
use-actual-brightness = true
|
||||||
|
|
||||||
|
; Interval in seconds after which after which the current brightness is read
|
||||||
|
; (even if no update is detected).
|
||||||
|
; Use this as a fallback if brightness updates are not registering in polybar
|
||||||
|
; (which happens if the use-actual-brightness is false).
|
||||||
|
; There is no guarantee on the precisio of this timing.
|
||||||
|
; Set to 0 to turn off
|
||||||
|
; New in version 3.7.0
|
||||||
|
; Default: 0 (5 if use-actual-brightness is false)
|
||||||
|
poll-interval = 0
|
||||||
|
|
||||||
|
; Enable changing the backlight with the scroll wheel
|
||||||
|
; NOTE: This may require additional configuration on some systems. Polybar will
|
||||||
|
; write to `/sys/class/backlight/${self.card}/brightness` which requires polybar
|
||||||
|
; to have write access to that file.
|
||||||
|
; DO NOT RUN POLYBAR AS ROOT.
|
||||||
|
; The recommended way is to add the user to the
|
||||||
|
; `video` group and give that group write-privileges for the `brightness` file.
|
||||||
|
; See the ArchWiki for more information:
|
||||||
|
; https://wiki.archlinux.org/index.php/Backlight#ACPI
|
||||||
|
; Default: false
|
||||||
|
enable-scroll = true
|
||||||
|
|
||||||
|
; Interval for changing the brightness (in percentage points).
|
||||||
|
; New in version 3.7.0
|
||||||
|
; Default: 5
|
||||||
|
scroll-interval = 10
|
||||||
|
|
||||||
|
; Available tags:
|
||||||
|
; <label> (default)
|
||||||
|
; <ramp>
|
||||||
|
; <bar>
|
||||||
|
format = <ramp> <label>
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %percentage% (default)
|
||||||
|
label = %percentage%%
|
||||||
|
|
||||||
|
; Only applies if <ramp> is used
|
||||||
|
ramp-foreground = ${colors.peach}
|
||||||
|
ramp-0 = ""
|
||||||
|
ramp-1 = ""
|
||||||
|
ramp-2 = ""
|
||||||
|
ramp-3 = ""
|
||||||
|
ramp-4 = ""
|
||||||
|
ramp-5 = ""
|
||||||
|
ramp-6 = ""
|
||||||
|
ramp-7 = ""
|
||||||
|
ramp-8 = ""
|
||||||
|
|
||||||
|
; Only applies if <bar> is used
|
||||||
|
bar-width = 10
|
||||||
|
bar-indicator = |
|
||||||
|
bar-fill = ─
|
||||||
|
bar-empty = ─
|
||||||
|
|
||||||
|
[module/mpd]
|
||||||
|
type = internal/mpd
|
||||||
|
|
||||||
|
; Host where mpd is running (either ip or domain name)
|
||||||
|
; Can also be the full path to a unix socket where mpd is running.
|
||||||
|
host = 127.0.0.1
|
||||||
|
port = 6600
|
||||||
|
; password = mysecretpassword
|
||||||
|
|
||||||
|
; Seconds to sleep between progressbar/song timer sync
|
||||||
|
; Default: 1
|
||||||
|
interval = 2
|
||||||
|
|
||||||
|
; Available tags:
|
||||||
|
; <label-song> (default)
|
||||||
|
; <label-time>
|
||||||
|
; <bar-progress>
|
||||||
|
; <toggle> - gets replaced with <icon-(pause|play)>
|
||||||
|
; <toggle-stop> - gets replaced with <icon-(stop|play)>
|
||||||
|
; <icon-random>
|
||||||
|
; <icon-repeat>
|
||||||
|
; <icon-repeatone> (deprecated)
|
||||||
|
; <icon-single> - Toggle playing only a single song. Replaces <icon-repeatone>
|
||||||
|
; <icon-consume>
|
||||||
|
; <icon-prev>
|
||||||
|
; <icon-stop>
|
||||||
|
; <icon-play>
|
||||||
|
; <icon-pause>
|
||||||
|
; <icon-next>
|
||||||
|
; <icon-seekb>
|
||||||
|
; <icon-seekf>
|
||||||
|
format-online = <icon-prev> <icon-seekb> <icon-stop> <toggle> <icon-seekf> <icon-next> <icon-repeat> <icon-random> <bar-progress> <label-time> <label-song>
|
||||||
|
;format-playing = ${self.format-online}
|
||||||
|
;format-paused = ${self.format-online}
|
||||||
|
;format-stopped = ${self.format-online}
|
||||||
|
|
||||||
|
; Available tags:
|
||||||
|
; <label-offline>
|
||||||
|
; Default: ""
|
||||||
|
;format-offline = <label-offline>
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %artist%
|
||||||
|
; %album-artist%
|
||||||
|
; %album%
|
||||||
|
; %date%
|
||||||
|
; %title%
|
||||||
|
; Default: %artist% - %title%
|
||||||
|
label-song = 𝄞 %artist% - %title%
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %elapsed%
|
||||||
|
; %total%
|
||||||
|
; Default: %elapsed% / %total%
|
||||||
|
;label-time = %elapsed% / %total%
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; None
|
||||||
|
label-offline = 🎜 mpd is offline
|
||||||
|
|
||||||
|
; Only applies if <icon-X> is used
|
||||||
|
icon-play = ⏵
|
||||||
|
icon-pause = ⏸
|
||||||
|
icon-stop = ⏹
|
||||||
|
icon-prev = ⏮
|
||||||
|
icon-next = ⏭
|
||||||
|
icon-seekb = ⏪
|
||||||
|
icon-seekf = ⏩
|
||||||
|
icon-random = 🔀
|
||||||
|
icon-repeat = 🔁
|
||||||
|
icon-repeatone = 🔂
|
||||||
|
icon-single = 🔂
|
||||||
|
icon-consume = ✀
|
||||||
|
|
||||||
|
; Used to display the state of random/repeat/repeatone/single
|
||||||
|
; Only applies if <icon-[random|repeat|repeatone|single]> is used
|
||||||
|
toggle-on-foreground = #ff
|
||||||
|
toggle-off-foreground = #55
|
||||||
|
|
||||||
|
; Only applies if <bar-progress> is used
|
||||||
|
bar-progress-width = 45
|
||||||
|
bar-progress-indicator = |
|
||||||
|
bar-progress-fill = ─
|
||||||
|
bar-progress-empty = ─
|
||||||
|
|
||||||
|
[module/github]
|
||||||
|
type = internal/github
|
||||||
|
|
||||||
|
; Accessing an access token stored in file
|
||||||
|
;token = ${file:/path/to/file/containing/github/access.token}
|
||||||
|
|
||||||
|
; Accessing an access token stored in an environment variable
|
||||||
|
token = ${env:GITHUB_ACCESS_TOKEN}
|
||||||
|
|
||||||
|
; The github user for the token
|
||||||
|
; Effectively required; otherwise the module uses a deprecated method of fetching
|
||||||
|
; notifications, which has stopped working
|
||||||
|
user = fscotto
|
||||||
|
|
||||||
|
; Whether empty notifications should be displayed or not
|
||||||
|
empty-notifications = false
|
||||||
|
|
||||||
|
; Number of seconds in between requests
|
||||||
|
interval = 10
|
||||||
|
|
||||||
|
; Github API URL
|
||||||
|
; Default: https://api.github.com/
|
||||||
|
;api-url = https://hub.example.org/api/v3/
|
||||||
|
|
||||||
|
; Available tags:
|
||||||
|
; <label> (default)
|
||||||
|
format = <label>
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %notifications% (default)
|
||||||
|
; Default: Notifications: %notifications%
|
||||||
|
label = %notifications%
|
||||||
|
|
||||||
|
; Used when GitHub can't be reached
|
||||||
|
; Available tags:
|
||||||
|
; <label-offline> (default)
|
||||||
|
format-offline = <label-offline>
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; None
|
||||||
|
; Default: Offline
|
||||||
|
label-offline = Offline
|
||||||
|
|
||||||
|
[module/spotify]
|
||||||
|
type = custom/script
|
||||||
|
tail = true
|
||||||
|
interval = 1
|
||||||
|
; prefix symbol is shown before the text
|
||||||
|
format-prefix = " "
|
||||||
|
format-prefix-foreground = ${colors.blue}
|
||||||
|
format = <label>
|
||||||
|
format-foreground = ${colors.sapphire}
|
||||||
|
exec = ~/.config/polybar/scripts/scroll_spotify_status.sh
|
||||||
|
|
||||||
|
[module/spotify-prev]
|
||||||
|
type = custom/script
|
||||||
|
exec = echo " "
|
||||||
|
format = <label>
|
||||||
|
click-left = playerctl previous -p spotify
|
||||||
|
|
||||||
|
[module/spotify-play-pause]
|
||||||
|
type = custom/ipc
|
||||||
|
hook-0 = echo " "
|
||||||
|
hook-1 = echo " "
|
||||||
|
initial = 1
|
||||||
|
click-left = playerctl play-pause -p spotify
|
||||||
|
|
||||||
|
[module/spotify-next]
|
||||||
|
type = custom/script
|
||||||
|
exec = echo " "
|
||||||
|
format = <label>
|
||||||
|
click-left = playerctl next -p spotify
|
||||||
21
i3/.config/polybar/scripts/battery_combo.sh
Executable file
21
i3/.config/polybar/scripts/battery_combo.sh
Executable file
@@ -0,0 +1,21 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Paths to battery capacity files
|
||||||
|
battery0_capacity="/sys/class/power_supply/BAT0/capacity"
|
||||||
|
battery1_capacity="/sys/class/power_supply/BAT1/capacity"
|
||||||
|
|
||||||
|
# Check if the capacity files exist
|
||||||
|
if [[ -f "$battery0_capacity" && -f "$battery1_capacity" ]]; then
|
||||||
|
# Read the battery percentages
|
||||||
|
battery0_charge=$(cat "$battery0_capacity")
|
||||||
|
battery1_charge=$(cat "$battery1_capacity")
|
||||||
|
|
||||||
|
# Calculate the average charge
|
||||||
|
average_charge=$(( (battery0_charge + battery1_charge) / 2 ))
|
||||||
|
|
||||||
|
# Print the average percentage
|
||||||
|
echo "$average_charge%"
|
||||||
|
else
|
||||||
|
# If one of the files is missing, print an error
|
||||||
|
echo "Error: one or more battery capacity files not found."
|
||||||
|
fi
|
||||||
51
i3/.config/polybar/scripts/get_spotify_status.sh
Executable file
51
i3/.config/polybar/scripts/get_spotify_status.sh
Executable file
@@ -0,0 +1,51 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# The name of polybar bar which houses the main spotify module and the control modules.
|
||||||
|
PARENT_BAR="now-playing"
|
||||||
|
PARENT_BAR_PID=$(pgrep -a "polybar" | grep "$PARENT_BAR" | cut -d" " -f1)
|
||||||
|
|
||||||
|
# Set the source audio player here.
|
||||||
|
# Players supporting the MPRIS spec are supported.
|
||||||
|
# Examples: spotify, vlc, chrome, mpv and others.
|
||||||
|
# Use `playerctld` to always detect the latest player.
|
||||||
|
# See more here: https://github.com/altdesktop/playerctl/#selecting-players-to-control
|
||||||
|
PLAYER="playerctld"
|
||||||
|
|
||||||
|
# Format of the information displayed
|
||||||
|
# Eg. {{ artist }} - {{ album }} - {{ title }}
|
||||||
|
# See more attributes here: https://github.com/altdesktop/playerctl/#printing-properties-and-metadata
|
||||||
|
FORMAT="{{ title }} - {{ artist }}"
|
||||||
|
|
||||||
|
# Sends $2 as message to all polybar PIDs that are part of $1
|
||||||
|
update_hooks() {
|
||||||
|
while IFS= read -r id
|
||||||
|
do
|
||||||
|
polybar-msg -p "$id" hook spotify-play-pause $2 1>/dev/null 2>&1
|
||||||
|
done < <(echo "$1")
|
||||||
|
}
|
||||||
|
|
||||||
|
PLAYERCTL_STATUS=$(playerctl --player=$PLAYER status 2>/dev/null)
|
||||||
|
EXIT_CODE=$?
|
||||||
|
|
||||||
|
if [ $EXIT_CODE -eq 0 ]; then
|
||||||
|
STATUS=$PLAYERCTL_STATUS
|
||||||
|
else
|
||||||
|
STATUS="No player is running"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$1" == "--status" ]; then
|
||||||
|
echo "$STATUS"
|
||||||
|
else
|
||||||
|
if [ "$STATUS" = "Stopped" ]; then
|
||||||
|
echo "No music is playing"
|
||||||
|
elif [ "$STATUS" = "Paused" ]; then
|
||||||
|
update_hooks "$PARENT_BAR_PID" 2
|
||||||
|
playerctl --player=$PLAYER metadata --format "$FORMAT"
|
||||||
|
elif [ "$STATUS" = "No player is running" ]; then
|
||||||
|
echo "$STATUS"
|
||||||
|
else
|
||||||
|
update_hooks "$PARENT_BAR_PID" 1
|
||||||
|
playerctl --player=$PLAYER metadata --format "$FORMAT"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
65
i3/.config/polybar/scripts/launch.sh
Normal file
65
i3/.config/polybar/scripts/launch.sh
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
DIR="$HOME/.config/polybar"
|
||||||
|
|
||||||
|
get_bars () {
|
||||||
|
find -H $DIR -name "config.ini" | xargs cat | grep -e "\[bar\/" | sort -u | sed "s/\[bar\// /g" | sed "s/.$//g"
|
||||||
|
}
|
||||||
|
|
||||||
|
error () {
|
||||||
|
cat <<- EOF
|
||||||
|
Usage : launch.sh [bar] [theme]
|
||||||
|
|
||||||
|
bars (defined in any config.ini):
|
||||||
|
EOF
|
||||||
|
|
||||||
|
get_bars
|
||||||
|
|
||||||
|
cat <<- EOF
|
||||||
|
themes:
|
||||||
|
rounded
|
||||||
|
grayblocks
|
||||||
|
EOF
|
||||||
|
exit 0
|
||||||
|
}
|
||||||
|
|
||||||
|
# Launch the bar
|
||||||
|
launch-bar () {
|
||||||
|
# Terminate already running bar instances
|
||||||
|
killall -q polybar
|
||||||
|
|
||||||
|
if [[ -f ~/.config/bspwm/bspwmrc ]]; then
|
||||||
|
sed -i -e "s/polybar.*/polybar\/launch\.sh $bar $style \&/g" ~/.config/bspwm/bspwmrc
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Wait until the processes have been shut down
|
||||||
|
while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done
|
||||||
|
|
||||||
|
if type "xrandr"; then
|
||||||
|
for m in $(xrandr --query | grep " connected" | cut -d" " -f1); do
|
||||||
|
POLYBAR_MONITOR=$m polybar --reload $bar -c "$DIR"/"$style"/config.ini &
|
||||||
|
done
|
||||||
|
|
||||||
|
else
|
||||||
|
polybar --reload $bar -c "$DIR"/"$style"/config.ini &
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
if [[ "$1" = "bspwm" ]]; then
|
||||||
|
bar="bspwm"
|
||||||
|
elif [[ "$1" = "awesomewm" ]]; then
|
||||||
|
bar="awesomewm"
|
||||||
|
else
|
||||||
|
error
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
if [[ "$2" = "rounded" ]]; then
|
||||||
|
style="rounded"
|
||||||
|
launch-bar
|
||||||
|
elif [[ "$2" = "grayblocks" ]]; then
|
||||||
|
style="grayblocks"
|
||||||
|
launch-bar
|
||||||
|
else
|
||||||
|
error
|
||||||
|
fi
|
||||||
13
i3/.config/polybar/scripts/scroll_spotify_status.sh
Executable file
13
i3/.config/polybar/scripts/scroll_spotify_status.sh
Executable file
@@ -0,0 +1,13 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# see man zscroll for documentation of the following parameters
|
||||||
|
zscroll -l 30 \
|
||||||
|
--delay 0.1 \
|
||||||
|
--scroll-padding " " \
|
||||||
|
--match-command "`dirname $0`/get_spotify_status.sh --status" \
|
||||||
|
--match-text "Playing" "--scroll 1" \
|
||||||
|
--match-text "Paused" "--scroll 0" \
|
||||||
|
--update-check true "`dirname $0`/get_spotify_status.sh" &
|
||||||
|
|
||||||
|
wait
|
||||||
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
[options]
|
|
||||||
background=1e1e2e
|
|
||||||
overlay_text_color=cdd6f4
|
|
||||||
overlay_background_color=11111b
|
|
||||||
@@ -1,468 +0,0 @@
|
|||||||
# Config relating to the Lazygit UI
|
|
||||||
gui:
|
|
||||||
# The number of lines you scroll by when scrolling the main window
|
|
||||||
scrollHeight: 2
|
|
||||||
# If true, allow scrolling past the bottom of the content in the main window
|
|
||||||
scrollPastBottom: true
|
|
||||||
# See https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#scroll-off-margin
|
|
||||||
scrollOffMargin: 2
|
|
||||||
# One of: 'margin' (default) | 'jump'
|
|
||||||
scrollOffBehavior: margin
|
|
||||||
# If true, capture mouse events.
|
|
||||||
# When mouse events are captured, it's a little harder to select text: e.g. requiring you to hold the option key when on macOS.
|
|
||||||
mouseEvents: true
|
|
||||||
# If true, do not show a warning when discarding changes in the staging view.
|
|
||||||
skipDiscardChangeWarning: false
|
|
||||||
# If true, do not show warning when applying/popping the stash
|
|
||||||
skipStashWarning: false
|
|
||||||
# If true, do not show a warning when attempting to commit without any staged files; instead stage all unstaged files.
|
|
||||||
skipNoStagedFilesWarning: false
|
|
||||||
# If true, do not show a warning when rewording a commit via an external editor
|
|
||||||
skipRewordInEditorWarning: false
|
|
||||||
# Fraction of the total screen width to use for the left side section. You may want to pick a small number (e.g. 0.2) if you're using a narrow screen, so that you can see more of the main section.
|
|
||||||
# Number from 0 to 1.0.
|
|
||||||
sidePanelWidth: 0.3333
|
|
||||||
# If true, increase the height of the focused side window; creating an accordion effect.
|
|
||||||
expandFocusedSidePanel: false
|
|
||||||
# The weight of the expanded side panel, relative to the other panels. 2 means
|
|
||||||
# twice as tall as the other panels. Only relevant if `expandFocusedSidePanel` is true.
|
|
||||||
expandedSidePanelWeight: 2
|
|
||||||
# Sometimes the main window is split in two (e.g. when the selected file has both staged and unstaged changes). This setting controls how the two sections are split.
|
|
||||||
# Options are:
|
|
||||||
# - 'horizontal': split the window horizontally
|
|
||||||
# - 'vertical': split the window vertically
|
|
||||||
# - 'flexible': (default) split the window horizontally if the window is wide enough, otherwise split vertically
|
|
||||||
mainPanelSplitMode: flexible
|
|
||||||
# How the window is split when in half screen mode (i.e. after hitting '+' once).
|
|
||||||
# Possible values:
|
|
||||||
# - 'left': split the window horizontally (side panel on the left, main view on the right)
|
|
||||||
# - 'top': split the window vertically (side panel on top, main view below)
|
|
||||||
enlargedSideViewLocation: left
|
|
||||||
# One of 'auto' (default) | 'en' | 'zh-CN' | 'zh-TW' | 'pl' | 'nl' | 'ja' | 'ko' | 'ru'
|
|
||||||
language: auto
|
|
||||||
# Format used when displaying time e.g. commit time.
|
|
||||||
# Uses Go's time format syntax: https://pkg.go.dev/time#Time.Format
|
|
||||||
timeFormat: 02 Jan 06
|
|
||||||
# Format used when displaying time if the time is less than 24 hours ago.
|
|
||||||
# Uses Go's time format syntax: https://pkg.go.dev/time#Time.Format
|
|
||||||
shortTimeFormat: 3:04PM
|
|
||||||
# Config relating to colors and styles.
|
|
||||||
# See https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#color-attributes
|
|
||||||
theme:
|
|
||||||
# Border color of focused window
|
|
||||||
activeBorderColor:
|
|
||||||
- "#8caaee"
|
|
||||||
- bold
|
|
||||||
# Border color of non-focused windows
|
|
||||||
inactiveBorderColor:
|
|
||||||
- "#a5adce"
|
|
||||||
# Border color of focused window when searching in that window
|
|
||||||
searchingActiveBorderColor:
|
|
||||||
- "#e5c890"
|
|
||||||
# Color of keybindings help text in the bottom line
|
|
||||||
optionsTextColor:
|
|
||||||
- "#8caaee"
|
|
||||||
# Background color of selected line.
|
|
||||||
# See https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#highlighting-the-selected-line
|
|
||||||
selectedLineBgColor:
|
|
||||||
- "#414559"
|
|
||||||
# Foreground color of copied commit
|
|
||||||
cherryPickedCommitFgColor:
|
|
||||||
- "#8caaee"
|
|
||||||
# Background color of copied commit
|
|
||||||
cherryPickedCommitBgColor:
|
|
||||||
- "#51576d"
|
|
||||||
# Color for file with unstaged changes
|
|
||||||
unstagedChangesColor:
|
|
||||||
- "#e78284"
|
|
||||||
# Default text color
|
|
||||||
defaultFgColor:
|
|
||||||
- "#c6d0f5"
|
|
||||||
authorColors:
|
|
||||||
"Fabio Scotto di Santolo": "#babbf1"
|
|
||||||
branchColors:
|
|
||||||
develop: yellow
|
|
||||||
feature: blue
|
|
||||||
fix: red
|
|
||||||
hotfix: red
|
|
||||||
# Config relating to the commit length indicator
|
|
||||||
commitLength:
|
|
||||||
# If true, show an indicator of commit message length
|
|
||||||
show: true
|
|
||||||
# If true, show the '5 of 20' footer at the bottom of list views
|
|
||||||
showListFooter: true
|
|
||||||
# If true, display the files in the file views as a tree. If false, display the files as a flat list.
|
|
||||||
# This can be toggled from within Lazygit with the '~' key, but that will not change the default.
|
|
||||||
showFileTree: true
|
|
||||||
# If true, show a random tip in the command log when Lazygit starts
|
|
||||||
showRandomTip: true
|
|
||||||
# If true, show the command log
|
|
||||||
showCommandLog: true
|
|
||||||
# If true, show the bottom line that contains keybinding info and useful buttons. If false, this line will be hidden except to display a loader for an in-progress action.
|
|
||||||
showBottomLine: true
|
|
||||||
# If true, show jump-to-window keybindings in window titles.
|
|
||||||
showPanelJumps: true
|
|
||||||
# Deprecated: use nerdFontsVersion instead
|
|
||||||
showIcons: false
|
|
||||||
# Nerd fonts version to use.
|
|
||||||
# One of: '2' | '3' | empty string (default)
|
|
||||||
# If empty, do not show icons.
|
|
||||||
nerdFontsVersion: "3"
|
|
||||||
# If true (default), file icons are shown in the file views. Only relevant if NerdFontsVersion is not empty.
|
|
||||||
showFileIcons: true
|
|
||||||
# Length of author name in (non-expanded) commits view. 2 means show initials only.
|
|
||||||
commitAuthorShortLength: 2
|
|
||||||
# Length of author name in expanded commits view. 2 means show initials only.
|
|
||||||
commitAuthorLongLength: 17
|
|
||||||
# Length of commit hash in commits view. 0 shows '*' if NF icons aren't on.
|
|
||||||
commitHashLength: 8
|
|
||||||
# If true, show commit hashes alongside branch names in the branches view.
|
|
||||||
showBranchCommitHash: false
|
|
||||||
# Whether to show the divergence from the base branch in the branches view.
|
|
||||||
# One of: 'none' | 'onlyArrow' | 'arrowAndNumber'
|
|
||||||
showDivergenceFromBaseBranch: none
|
|
||||||
# Height of the command log view
|
|
||||||
commandLogSize: 8
|
|
||||||
# Whether to split the main window when viewing file changes.
|
|
||||||
# One of: 'auto' | 'always'
|
|
||||||
# If 'auto', only split the main window when a file has both staged and unstaged changes
|
|
||||||
splitDiff: auto
|
|
||||||
# Default size for focused window. Window size can be changed from within Lazygit with '+' and '_' (but this won't change the default).
|
|
||||||
# One of: 'normal' (default) | 'half' | 'full'
|
|
||||||
screenMode: normal
|
|
||||||
# Window border style.
|
|
||||||
# One of 'rounded' (default) | 'single' | 'double' | 'hidden'
|
|
||||||
border: rounded
|
|
||||||
# If true, show a seriously epic explosion animation when nuking the working tree.
|
|
||||||
animateExplosion: true
|
|
||||||
# Whether to stack UI components on top of each other.
|
|
||||||
# One of 'auto' (default) | 'always' | 'never'
|
|
||||||
portraitMode: auto
|
|
||||||
# How things are filtered when typing '/'.
|
|
||||||
# One of 'substring' (default) | 'fuzzy'
|
|
||||||
filterMode: substring
|
|
||||||
# Config relating to the spinner.
|
|
||||||
spinner:
|
|
||||||
# The frames of the spinner animation.
|
|
||||||
frames:
|
|
||||||
- "|"
|
|
||||||
- /
|
|
||||||
- "-"
|
|
||||||
- \
|
|
||||||
# The "speed" of the spinner in milliseconds.
|
|
||||||
rate: 50
|
|
||||||
# Status panel view.
|
|
||||||
# One of 'dashboard' (default) | 'allBranchesLog'
|
|
||||||
statusPanelView: dashboard
|
|
||||||
# Config relating to git
|
|
||||||
git:
|
|
||||||
# See https://github.com/jesseduffield/lazygit/blob/master/docs/Custom_Pagers.md
|
|
||||||
paging:
|
|
||||||
# Value of the --color arg in the git diff command. Some pagers want this to be set to 'always' and some want it set to 'never'
|
|
||||||
colorArg: always
|
|
||||||
# e.g.
|
|
||||||
# diff-so-fancy
|
|
||||||
# delta --dark --paging=never
|
|
||||||
# ydiff -p cat -s --wrap --width={{columnWidth}}
|
|
||||||
pager: "delta --paging=never"
|
|
||||||
# If true, Lazygit will use whatever pager is specified in `$GIT_PAGER`, `$PAGER`, or your *git config*. If the pager ends with something like ` | less` we will strip that part out, because less doesn't play nice with our rendering approach. If the custom pager uses less under the hood, that will also break rendering (hence the `--paging=never` flag for the `delta` pager).
|
|
||||||
useConfig: false
|
|
||||||
# e.g. 'difft --color=always'
|
|
||||||
externalDiffCommand: ""
|
|
||||||
# Config relating to committing
|
|
||||||
commit:
|
|
||||||
# If true, pass '--signoff' flag when committing
|
|
||||||
signOff: false
|
|
||||||
# Automatic WYSIWYG wrapping of the commit message as you type
|
|
||||||
autoWrapCommitMessage: true
|
|
||||||
# If autoWrapCommitMessage is true, the width to wrap to
|
|
||||||
autoWrapWidth: 72
|
|
||||||
# Config relating to merging
|
|
||||||
merging:
|
|
||||||
# If true, run merges in a subprocess so that if a commit message is required, Lazygit will not hang
|
|
||||||
# Only applicable to unix users.
|
|
||||||
manualCommit: false
|
|
||||||
# Extra args passed to `git merge`, e.g. --no-ff
|
|
||||||
args: "--no-ff"
|
|
||||||
# The commit message to use for a squash merge commit. Can contain "{{selectedRef}}" and "{{currentBranch}}" placeholders.
|
|
||||||
squashMergeMessage: Squash merge {{selectedRef}} into {{currentBranch}}
|
|
||||||
# list of branches that are considered 'main' branches, used when displaying commits
|
|
||||||
mainBranches:
|
|
||||||
- master
|
|
||||||
- main
|
|
||||||
# Prefix to use when skipping hooks. E.g. if set to 'WIP', then pre-commit hooks will be skipped when the commit message starts with 'WIP'
|
|
||||||
skipHookPrefix: WIP
|
|
||||||
# If true, periodically fetch from remote
|
|
||||||
autoFetch: true
|
|
||||||
# If true, periodically refresh files and submodules
|
|
||||||
autoRefresh: true
|
|
||||||
# If true, pass the --all arg to git fetch
|
|
||||||
fetchAll: true
|
|
||||||
# Command used when displaying the current branch git log in the main window
|
|
||||||
branchLogCmd: git log --graph --color=always --abbrev-commit --decorate --date=relative --pretty=medium {{branchName}} --
|
|
||||||
# If true, do not spawn a separate process when using GPG
|
|
||||||
overrideGpg: false
|
|
||||||
# If true, do not allow force pushes
|
|
||||||
disableForcePushing: false
|
|
||||||
# See https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#predefined-commit-message-prefix
|
|
||||||
commitPrefix:
|
|
||||||
- # pattern to match on. E.g. for 'feature/AB-123' to match on the AB-123 use "^\\w+\\/(\\w+-\\w+).*"
|
|
||||||
pattern: ""
|
|
||||||
# Replace directive. E.g. for 'feature/AB-123' to start the commit message with 'AB-123 ' use "[$1] "
|
|
||||||
replace: ""
|
|
||||||
# See https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#predefined-branch-name-prefix
|
|
||||||
branchPrefix: ""
|
|
||||||
# If true, parse emoji strings in commit messages e.g. render :rocket: as 🚀
|
|
||||||
# (This should really be under 'gui', not 'git')
|
|
||||||
parseEmoji: true
|
|
||||||
# Config for showing the log in the commits view
|
|
||||||
log:
|
|
||||||
# One of: 'date-order' | 'author-date-order' | 'topo-order' | 'default'
|
|
||||||
# 'topo-order' makes it easier to read the git log graph, but commits may not
|
|
||||||
# appear chronologically. See https://git-scm.com/docs/
|
|
||||||
#
|
|
||||||
# Deprecated: Configure this with `Log menu -> Commit sort order` (<c-l> in the commits window by default).
|
|
||||||
order: topo-order
|
|
||||||
# This determines whether the git graph is rendered in the commits panel
|
|
||||||
# One of 'always' | 'never' | 'when-maximised'
|
|
||||||
#
|
|
||||||
# Deprecated: Configure this with `Log menu -> Show git graph` (<c-l> in the commits window by default).
|
|
||||||
showGraph: always
|
|
||||||
# displays the whole git graph by default in the commits view (equivalent to passing the `--all` argument to `git log`)
|
|
||||||
showWholeGraph: false
|
|
||||||
# When copying commit hashes to the clipboard, truncate them to this
|
|
||||||
# length. Set to 40 to disable truncation.
|
|
||||||
truncateCopiedCommitHashesTo: 12
|
|
||||||
allBranchesLogCmds:
|
|
||||||
- git log --graph --all --color=always --abbrev-commit --decorate --date=relative --pretty=medium
|
|
||||||
# Periodic update checks
|
|
||||||
update:
|
|
||||||
# One of: 'prompt' (default) | 'background' | 'never'
|
|
||||||
method: prompt
|
|
||||||
# Period in days between update checks
|
|
||||||
days: 14
|
|
||||||
# Background refreshes
|
|
||||||
refresher:
|
|
||||||
# File/submodule refresh interval in seconds.
|
|
||||||
# Auto-refresh can be disabled via option 'git.autoRefresh'.
|
|
||||||
refreshInterval: 10
|
|
||||||
# Re-fetch interval in seconds.
|
|
||||||
# Auto-fetch can be disabled via option 'git.autoFetch'.
|
|
||||||
fetchInterval: 60
|
|
||||||
# If true, show a confirmation popup before quitting Lazygit
|
|
||||||
confirmOnQuit: false
|
|
||||||
# If true, exit Lazygit when the user presses escape in a context where there is nothing to cancel/close
|
|
||||||
quitOnTopLevelReturn: false
|
|
||||||
# Config relating to things outside of Lazygit like how files are opened, copying to clipboard, etc
|
|
||||||
os:
|
|
||||||
# Command for editing a file. Should contain "{{filename}}".
|
|
||||||
edit: ""
|
|
||||||
# Command for editing a file at a given line number. Should contain
|
|
||||||
# "{{filename}}", and may optionally contain "{{line}}".
|
|
||||||
editAtLine: ""
|
|
||||||
# Same as EditAtLine, except that the command needs to wait until the
|
|
||||||
# window is closed.
|
|
||||||
editAtLineAndWait: ""
|
|
||||||
# For opening a directory in an editor
|
|
||||||
openDirInEditor: ""
|
|
||||||
# A built-in preset that sets all of the above settings. Supported presets
|
|
||||||
# are defined in the getPreset function in editor_presets.go.
|
|
||||||
editPreset: ""
|
|
||||||
# Command for opening a file, as if the file is double-clicked. Should
|
|
||||||
# contain "{{filename}}", but doesn't support "{{line}}".
|
|
||||||
open: ""
|
|
||||||
# Command for opening a link. Should contain "{{link}}".
|
|
||||||
openLink: ""
|
|
||||||
# EditCommand is the command for editing a file.
|
|
||||||
# Deprecated: use Edit instead. Note that semantics are different:
|
|
||||||
# EditCommand is just the command itself, whereas Edit contains a
|
|
||||||
# "{{filename}}" variable.
|
|
||||||
editCommand: ""
|
|
||||||
# EditCommandTemplate is the command template for editing a file
|
|
||||||
# Deprecated: use EditAtLine instead.
|
|
||||||
editCommandTemplate: ""
|
|
||||||
# OpenCommand is the command for opening a file
|
|
||||||
# Deprecated: use Open instead.
|
|
||||||
openCommand: ""
|
|
||||||
# OpenLinkCommand is the command for opening a link
|
|
||||||
# Deprecated: use OpenLink instead.
|
|
||||||
openLinkCommand: ""
|
|
||||||
# CopyToClipboardCmd is the command for copying to clipboard.
|
|
||||||
# See https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#custom-command-for-copying-to-and-pasting-from-clipboard
|
|
||||||
copyToClipboardCmd: ""
|
|
||||||
# ReadFromClipboardCmd is the command for reading the clipboard.
|
|
||||||
# See https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#custom-command-for-copying-to-and-pasting-from-clipboard
|
|
||||||
readFromClipboardCmd: ""
|
|
||||||
# If true, don't display introductory popups upon opening Lazygit.
|
|
||||||
disableStartupPopups: true
|
|
||||||
# What to do when opening Lazygit outside of a git repo.
|
|
||||||
# - 'prompt': (default) ask whether to initialize a new repo or open in the most recent repo
|
|
||||||
# - 'create': initialize a new repo
|
|
||||||
# - 'skip': open most recent repo
|
|
||||||
# - 'quit': exit Lazygit
|
|
||||||
notARepository: prompt
|
|
||||||
# If true, display a confirmation when subprocess terminates. This allows you to view the output of the subprocess before returning to Lazygit.
|
|
||||||
promptToReturnFromSubprocess: true
|
|
||||||
# Keybindings
|
|
||||||
keybinding:
|
|
||||||
universal:
|
|
||||||
quit: q
|
|
||||||
quit-alt1: <c-c>
|
|
||||||
return: <esc>
|
|
||||||
quitWithoutChangingDirectory: Q
|
|
||||||
togglePanel: <tab>
|
|
||||||
prevItem: <up>
|
|
||||||
nextItem: <down>
|
|
||||||
prevItem-alt: k
|
|
||||||
nextItem-alt: j
|
|
||||||
prevPage: ","
|
|
||||||
nextPage: .
|
|
||||||
scrollLeft: H
|
|
||||||
scrollRight: L
|
|
||||||
gotoTop: <
|
|
||||||
gotoBottom: ">"
|
|
||||||
toggleRangeSelect: v
|
|
||||||
rangeSelectDown: <s-down>
|
|
||||||
rangeSelectUp: <s-up>
|
|
||||||
prevBlock: <left>
|
|
||||||
nextBlock: <right>
|
|
||||||
prevBlock-alt: h
|
|
||||||
nextBlock-alt: l
|
|
||||||
nextBlock-alt2: <tab>
|
|
||||||
prevBlock-alt2: <backtab>
|
|
||||||
jumpToBlock:
|
|
||||||
- "1"
|
|
||||||
- "2"
|
|
||||||
- "3"
|
|
||||||
- "4"
|
|
||||||
- "5"
|
|
||||||
nextMatch: "n"
|
|
||||||
prevMatch: "N"
|
|
||||||
startSearch: /
|
|
||||||
optionMenu: <disabled>
|
|
||||||
optionMenu-alt1: "?"
|
|
||||||
select: <space>
|
|
||||||
goInto: <enter>
|
|
||||||
confirm: <enter>
|
|
||||||
confirmInEditor: <a-enter>
|
|
||||||
remove: d
|
|
||||||
new: "n"
|
|
||||||
edit: e
|
|
||||||
openFile: o
|
|
||||||
scrollUpMain: <pgup>
|
|
||||||
scrollDownMain: <pgdown>
|
|
||||||
scrollUpMain-alt1: K
|
|
||||||
scrollDownMain-alt1: J
|
|
||||||
scrollUpMain-alt2: <c-u>
|
|
||||||
scrollDownMain-alt2: <c-d>
|
|
||||||
executeShellCommand: ":"
|
|
||||||
createRebaseOptionsMenu: m
|
|
||||||
# 'Files' appended for legacy reasons
|
|
||||||
pushFiles: P
|
|
||||||
# 'Files' appended for legacy reasons
|
|
||||||
pullFiles: p
|
|
||||||
refresh: R
|
|
||||||
createPatchOptionsMenu: <c-p>
|
|
||||||
nextTab: "]"
|
|
||||||
prevTab: "["
|
|
||||||
nextScreenMode: +
|
|
||||||
prevScreenMode: _
|
|
||||||
undo: z
|
|
||||||
redo: <c-z>
|
|
||||||
filteringMenu: <c-s>
|
|
||||||
diffingMenu: W
|
|
||||||
diffingMenu-alt: <c-e>
|
|
||||||
copyToClipboard: <c-o>
|
|
||||||
openRecentRepos: <c-r>
|
|
||||||
submitEditorText: <enter>
|
|
||||||
extrasMenu: "@"
|
|
||||||
toggleWhitespaceInDiffView: <c-w>
|
|
||||||
increaseContextInDiffView: "}"
|
|
||||||
decreaseContextInDiffView: "{"
|
|
||||||
increaseRenameSimilarityThreshold: )
|
|
||||||
decreaseRenameSimilarityThreshold: (
|
|
||||||
openDiffTool: <c-t>
|
|
||||||
status:
|
|
||||||
checkForUpdate: u
|
|
||||||
recentRepos: <enter>
|
|
||||||
allBranchesLogGraph: a
|
|
||||||
files:
|
|
||||||
commitChanges: c
|
|
||||||
commitChangesWithoutHook: w
|
|
||||||
amendLastCommit: A
|
|
||||||
commitChangesWithEditor: C
|
|
||||||
findBaseCommitForFixup: <c-f>
|
|
||||||
confirmDiscard: x
|
|
||||||
ignoreFile: i
|
|
||||||
refreshFiles: r
|
|
||||||
stashAllChanges: s
|
|
||||||
viewStashOptions: S
|
|
||||||
toggleStagedAll: a
|
|
||||||
viewResetOptions: D
|
|
||||||
fetch: f
|
|
||||||
toggleTreeView: "`"
|
|
||||||
openMergeTool: M
|
|
||||||
openStatusFilter: <c-b>
|
|
||||||
copyFileInfoToClipboard: "y"
|
|
||||||
branches:
|
|
||||||
createPullRequest: o
|
|
||||||
viewPullRequestOptions: O
|
|
||||||
copyPullRequestURL: <c-y>
|
|
||||||
checkoutBranchByName: c
|
|
||||||
forceCheckoutBranch: F
|
|
||||||
rebaseBranch: r
|
|
||||||
renameBranch: R
|
|
||||||
mergeIntoCurrentBranch: M
|
|
||||||
viewGitFlowOptions: i
|
|
||||||
fastForward: f
|
|
||||||
createTag: T
|
|
||||||
pushTag: P
|
|
||||||
setUpstream: u
|
|
||||||
fetchRemote: f
|
|
||||||
sortOrder: s
|
|
||||||
worktrees:
|
|
||||||
viewWorktreeOptions: w
|
|
||||||
commits:
|
|
||||||
squashDown: s
|
|
||||||
renameCommit: r
|
|
||||||
renameCommitWithEditor: R
|
|
||||||
viewResetOptions: g
|
|
||||||
markCommitAsFixup: f
|
|
||||||
createFixupCommit: F
|
|
||||||
squashAboveCommits: S
|
|
||||||
moveDownCommit: <c-j>
|
|
||||||
moveUpCommit: <c-k>
|
|
||||||
amendToCommit: A
|
|
||||||
resetCommitAuthor: a
|
|
||||||
pickCommit: p
|
|
||||||
revertCommit: t
|
|
||||||
cherryPickCopy: C
|
|
||||||
pasteCommits: V
|
|
||||||
markCommitAsBaseForRebase: B
|
|
||||||
tagCommit: T
|
|
||||||
checkoutCommit: <space>
|
|
||||||
resetCherryPick: <c-R>
|
|
||||||
copyCommitAttributeToClipboard: "y"
|
|
||||||
openLogMenu: <c-l>
|
|
||||||
openInBrowser: o
|
|
||||||
viewBisectOptions: b
|
|
||||||
startInteractiveRebase: i
|
|
||||||
amendAttribute:
|
|
||||||
resetAuthor: a
|
|
||||||
setAuthor: A
|
|
||||||
addCoAuthor: c
|
|
||||||
stash:
|
|
||||||
popStash: g
|
|
||||||
renameStash: r
|
|
||||||
commitFiles:
|
|
||||||
checkoutCommitFile: c
|
|
||||||
main:
|
|
||||||
toggleSelectHunk: a
|
|
||||||
pickBothHunks: b
|
|
||||||
editSelectHunk: E
|
|
||||||
submodules:
|
|
||||||
init: i
|
|
||||||
update: u
|
|
||||||
bulkMenu: b
|
|
||||||
commitMessage:
|
|
||||||
commitMenu: <c-o>
|
|
||||||
8
lazyvim/.config/nvim/.gitignore
vendored
8
lazyvim/.config/nvim/.gitignore
vendored
@@ -1,8 +0,0 @@
|
|||||||
tt.*
|
|
||||||
.tests
|
|
||||||
doc/tags
|
|
||||||
debug
|
|
||||||
.repro
|
|
||||||
foo.*
|
|
||||||
*.log
|
|
||||||
data
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
{
|
|
||||||
"neodev": {
|
|
||||||
"library": {
|
|
||||||
"enabled": true,
|
|
||||||
"plugins": true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"neoconf": {
|
|
||||||
"plugins": {
|
|
||||||
"lua_ls": {
|
|
||||||
"enabled": true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,201 +0,0 @@
|
|||||||
Apache License
|
|
||||||
Version 2.0, January 2004
|
|
||||||
http://www.apache.org/licenses/
|
|
||||||
|
|
||||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|
||||||
|
|
||||||
1. Definitions.
|
|
||||||
|
|
||||||
"License" shall mean the terms and conditions for use, reproduction,
|
|
||||||
and distribution as defined by Sections 1 through 9 of this document.
|
|
||||||
|
|
||||||
"Licensor" shall mean the copyright owner or entity authorized by
|
|
||||||
the copyright owner that is granting the License.
|
|
||||||
|
|
||||||
"Legal Entity" shall mean the union of the acting entity and all
|
|
||||||
other entities that control, are controlled by, or are under common
|
|
||||||
control with that entity. For the purposes of this definition,
|
|
||||||
"control" means (i) the power, direct or indirect, to cause the
|
|
||||||
direction or management of such entity, whether by contract or
|
|
||||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
|
||||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
|
||||||
|
|
||||||
"You" (or "Your") shall mean an individual or Legal Entity
|
|
||||||
exercising permissions granted by this License.
|
|
||||||
|
|
||||||
"Source" form shall mean the preferred form for making modifications,
|
|
||||||
including but not limited to software source code, documentation
|
|
||||||
source, and configuration files.
|
|
||||||
|
|
||||||
"Object" form shall mean any form resulting from mechanical
|
|
||||||
transformation or translation of a Source form, including but
|
|
||||||
not limited to compiled object code, generated documentation,
|
|
||||||
and conversions to other media types.
|
|
||||||
|
|
||||||
"Work" shall mean the work of authorship, whether in Source or
|
|
||||||
Object form, made available under the License, as indicated by a
|
|
||||||
copyright notice that is included in or attached to the work
|
|
||||||
(an example is provided in the Appendix below).
|
|
||||||
|
|
||||||
"Derivative Works" shall mean any work, whether in Source or Object
|
|
||||||
form, that is based on (or derived from) the Work and for which the
|
|
||||||
editorial revisions, annotations, elaborations, or other modifications
|
|
||||||
represent, as a whole, an original work of authorship. For the purposes
|
|
||||||
of this License, Derivative Works shall not include works that remain
|
|
||||||
separable from, or merely link (or bind by name) to the interfaces of,
|
|
||||||
the Work and Derivative Works thereof.
|
|
||||||
|
|
||||||
"Contribution" shall mean any work of authorship, including
|
|
||||||
the original version of the Work and any modifications or additions
|
|
||||||
to that Work or Derivative Works thereof, that is intentionally
|
|
||||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
|
||||||
or by an individual or Legal Entity authorized to submit on behalf of
|
|
||||||
the copyright owner. For the purposes of this definition, "submitted"
|
|
||||||
means any form of electronic, verbal, or written communication sent
|
|
||||||
to the Licensor or its representatives, including but not limited to
|
|
||||||
communication on electronic mailing lists, source code control systems,
|
|
||||||
and issue tracking systems that are managed by, or on behalf of, the
|
|
||||||
Licensor for the purpose of discussing and improving the Work, but
|
|
||||||
excluding communication that is conspicuously marked or otherwise
|
|
||||||
designated in writing by the copyright owner as "Not a Contribution."
|
|
||||||
|
|
||||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
|
||||||
on behalf of whom a Contribution has been received by Licensor and
|
|
||||||
subsequently incorporated within the Work.
|
|
||||||
|
|
||||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
|
||||||
this License, each Contributor hereby grants to You a perpetual,
|
|
||||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
||||||
copyright license to reproduce, prepare Derivative Works of,
|
|
||||||
publicly display, publicly perform, sublicense, and distribute the
|
|
||||||
Work and such Derivative Works in Source or Object form.
|
|
||||||
|
|
||||||
3. Grant of Patent License. Subject to the terms and conditions of
|
|
||||||
this License, each Contributor hereby grants to You a perpetual,
|
|
||||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
||||||
(except as stated in this section) patent license to make, have made,
|
|
||||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
|
||||||
where such license applies only to those patent claims licensable
|
|
||||||
by such Contributor that are necessarily infringed by their
|
|
||||||
Contribution(s) alone or by combination of their Contribution(s)
|
|
||||||
with the Work to which such Contribution(s) was submitted. If You
|
|
||||||
institute patent litigation against any entity (including a
|
|
||||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
|
||||||
or a Contribution incorporated within the Work constitutes direct
|
|
||||||
or contributory patent infringement, then any patent licenses
|
|
||||||
granted to You under this License for that Work shall terminate
|
|
||||||
as of the date such litigation is filed.
|
|
||||||
|
|
||||||
4. Redistribution. You may reproduce and distribute copies of the
|
|
||||||
Work or Derivative Works thereof in any medium, with or without
|
|
||||||
modifications, and in Source or Object form, provided that You
|
|
||||||
meet the following conditions:
|
|
||||||
|
|
||||||
(a) You must give any other recipients of the Work or
|
|
||||||
Derivative Works a copy of this License; and
|
|
||||||
|
|
||||||
(b) You must cause any modified files to carry prominent notices
|
|
||||||
stating that You changed the files; and
|
|
||||||
|
|
||||||
(c) You must retain, in the Source form of any Derivative Works
|
|
||||||
that You distribute, all copyright, patent, trademark, and
|
|
||||||
attribution notices from the Source form of the Work,
|
|
||||||
excluding those notices that do not pertain to any part of
|
|
||||||
the Derivative Works; and
|
|
||||||
|
|
||||||
(d) If the Work includes a "NOTICE" text file as part of its
|
|
||||||
distribution, then any Derivative Works that You distribute must
|
|
||||||
include a readable copy of the attribution notices contained
|
|
||||||
within such NOTICE file, excluding those notices that do not
|
|
||||||
pertain to any part of the Derivative Works, in at least one
|
|
||||||
of the following places: within a NOTICE text file distributed
|
|
||||||
as part of the Derivative Works; within the Source form or
|
|
||||||
documentation, if provided along with the Derivative Works; or,
|
|
||||||
within a display generated by the Derivative Works, if and
|
|
||||||
wherever such third-party notices normally appear. The contents
|
|
||||||
of the NOTICE file are for informational purposes only and
|
|
||||||
do not modify the License. You may add Your own attribution
|
|
||||||
notices within Derivative Works that You distribute, alongside
|
|
||||||
or as an addendum to the NOTICE text from the Work, provided
|
|
||||||
that such additional attribution notices cannot be construed
|
|
||||||
as modifying the License.
|
|
||||||
|
|
||||||
You may add Your own copyright statement to Your modifications and
|
|
||||||
may provide additional or different license terms and conditions
|
|
||||||
for use, reproduction, or distribution of Your modifications, or
|
|
||||||
for any such Derivative Works as a whole, provided Your use,
|
|
||||||
reproduction, and distribution of the Work otherwise complies with
|
|
||||||
the conditions stated in this License.
|
|
||||||
|
|
||||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
|
||||||
any Contribution intentionally submitted for inclusion in the Work
|
|
||||||
by You to the Licensor shall be under the terms and conditions of
|
|
||||||
this License, without any additional terms or conditions.
|
|
||||||
Notwithstanding the above, nothing herein shall supersede or modify
|
|
||||||
the terms of any separate license agreement you may have executed
|
|
||||||
with Licensor regarding such Contributions.
|
|
||||||
|
|
||||||
6. Trademarks. This License does not grant permission to use the trade
|
|
||||||
names, trademarks, service marks, or product names of the Licensor,
|
|
||||||
except as required for reasonable and customary use in describing the
|
|
||||||
origin of the Work and reproducing the content of the NOTICE file.
|
|
||||||
|
|
||||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
|
||||||
agreed to in writing, Licensor provides the Work (and each
|
|
||||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
||||||
implied, including, without limitation, any warranties or conditions
|
|
||||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
|
||||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
|
||||||
appropriateness of using or redistributing the Work and assume any
|
|
||||||
risks associated with Your exercise of permissions under this License.
|
|
||||||
|
|
||||||
8. Limitation of Liability. In no event and under no legal theory,
|
|
||||||
whether in tort (including negligence), contract, or otherwise,
|
|
||||||
unless required by applicable law (such as deliberate and grossly
|
|
||||||
negligent acts) or agreed to in writing, shall any Contributor be
|
|
||||||
liable to You for damages, including any direct, indirect, special,
|
|
||||||
incidental, or consequential damages of any character arising as a
|
|
||||||
result of this License or out of the use or inability to use the
|
|
||||||
Work (including but not limited to damages for loss of goodwill,
|
|
||||||
work stoppage, computer failure or malfunction, or any and all
|
|
||||||
other commercial damages or losses), even if such Contributor
|
|
||||||
has been advised of the possibility of such damages.
|
|
||||||
|
|
||||||
9. Accepting Warranty or Additional Liability. While redistributing
|
|
||||||
the Work or Derivative Works thereof, You may choose to offer,
|
|
||||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
|
||||||
or other liability obligations and/or rights consistent with this
|
|
||||||
License. However, in accepting such obligations, You may act only
|
|
||||||
on Your own behalf and on Your sole responsibility, not on behalf
|
|
||||||
of any other Contributor, and only if You agree to indemnify,
|
|
||||||
defend, and hold each Contributor harmless for any liability
|
|
||||||
incurred by, or claims asserted against, such Contributor by reason
|
|
||||||
of your accepting any such warranty or additional liability.
|
|
||||||
|
|
||||||
END OF TERMS AND CONDITIONS
|
|
||||||
|
|
||||||
APPENDIX: How to apply the Apache License to your work.
|
|
||||||
|
|
||||||
To apply the Apache License to your work, attach the following
|
|
||||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
|
||||||
replaced with your own identifying information. (Don't include
|
|
||||||
the brackets!) The text should be enclosed in the appropriate
|
|
||||||
comment syntax for the file format. We also recommend that a
|
|
||||||
file or class name and description of purpose be included on the
|
|
||||||
same "printed page" as the copyright notice for easier
|
|
||||||
identification within third-party archives.
|
|
||||||
|
|
||||||
Copyright [yyyy] [name of copyright owner]
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
-- bootstrap lazy.nvim, LazyVim and your plugins
|
|
||||||
require("config.lazy")
|
|
||||||
require("user.utils")
|
|
||||||
@@ -1,60 +0,0 @@
|
|||||||
{
|
|
||||||
"LazyVim": { "branch": "main", "commit": "25abbf546d564dc484cf903804661ba12de45507" },
|
|
||||||
"SchemaStore.nvim": { "branch": "main", "commit": "8e74c08998fd786239caba373344f4e4601e21fe" },
|
|
||||||
"alpha-nvim": { "branch": "main", "commit": "2b3cbcdd980cae1e022409289245053f62fb50f6" },
|
|
||||||
"blink.cmp": { "branch": "main", "commit": "bae4bae0eedd1fa55f34b685862e94a222d5c6f8" },
|
|
||||||
"bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" },
|
|
||||||
"catppuccin": { "branch": "main", "commit": "30fa4d122d9b22ad8b2e0ab1b533c8c26c4dde86" },
|
|
||||||
"clangd_extensions.nvim": { "branch": "main", "commit": "b67cc417d9020fb4b83d46662351b4d16894905e" },
|
|
||||||
"conform.nvim": { "branch": "master", "commit": "b4aab989db276993ea5dcb78872be494ce546521" },
|
|
||||||
"dial.nvim": { "branch": "master", "commit": "7c8baea9f058c6ab25381b731baba7f7d8a34cef" },
|
|
||||||
"flash.nvim": { "branch": "main", "commit": "3c942666f115e2811e959eabbdd361a025db8b63" },
|
|
||||||
"friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
|
|
||||||
"fzf-lua": { "branch": "main", "commit": "c045825f99a2618ee7453d46dd6e84a61ee53a56" },
|
|
||||||
"gitsigns.nvim": { "branch": "main", "commit": "6e3c66548035e50db7bd8e360a29aec6620c3641" },
|
|
||||||
"grug-far.nvim": { "branch": "main", "commit": "385d1949dc21d0c39e7a74b4f4a25da18817bc86" },
|
|
||||||
"hardtime.nvim": { "branch": "main", "commit": "6d7664d5bdfaea44c5f50b29f5239fab7b00c273" },
|
|
||||||
"harpoon": { "branch": "harpoon2", "commit": "ed1f853847ffd04b2b61c314865665e1dadf22c7" },
|
|
||||||
"hydra.nvim": { "branch": "main", "commit": "8c4a9f621ec7cdc30411a1f3b6d5eebb12b469dc" },
|
|
||||||
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
|
|
||||||
"lazydev.nvim": { "branch": "main", "commit": "2367a6c0a01eb9edb0464731cc0fb61ed9ab9d2c" },
|
|
||||||
"lualine.nvim": { "branch": "master", "commit": "b8c23159c0161f4b89196f74ee3a6d02cdc3a955" },
|
|
||||||
"markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" },
|
|
||||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "1a31f824b9cd5bc6f342fc29e9a53b60d74af245" },
|
|
||||||
"mason-nvim-dap.nvim": { "branch": "main", "commit": "86389a3dd687cfaa647b6f44731e492970034baa" },
|
|
||||||
"mason.nvim": { "branch": "main", "commit": "fc98833b6da5de5a9c5b1446ac541577059555be" },
|
|
||||||
"mini.ai": { "branch": "main", "commit": "45a26d032d8703f280c69c2ed9fb4e1bfc8f24f9" },
|
|
||||||
"mini.icons": { "branch": "main", "commit": "f9a177c11daa7829389b7b6eaaec8b8a5c47052d" },
|
|
||||||
"mini.nvim": { "branch": "main", "commit": "ddb70da6ec6aa896cfde87350d1e8dffb57ddef0" },
|
|
||||||
"mini.pairs": { "branch": "main", "commit": "6e1cc569130f25b2c6fa16d8b21b31ddb1420a4a" },
|
|
||||||
"multicursors.nvim": { "branch": "main", "commit": "72225ea9e4443c3f4b9df91d0193e07c4ee8d382" },
|
|
||||||
"neo-tree.nvim": { "branch": "main", "commit": "46fa0c22ca39e05fe15744102d21feb07fe9a94a" },
|
|
||||||
"noice.nvim": { "branch": "main", "commit": "0427460c2d7f673ad60eb02b35f5e9926cf67c59" },
|
|
||||||
"none-ls.nvim": { "branch": "main", "commit": "53ec77181d96494b9dc9457110dd62dc623cc78d" },
|
|
||||||
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
|
|
||||||
"nvim-dap": { "branch": "master", "commit": "7891b01beedc37cef4eaf2e92563bd0a5b6e9c58" },
|
|
||||||
"nvim-dap-go": { "branch": "main", "commit": "b4421153ead5d726603b02743ea40cf26a51ed5f" },
|
|
||||||
"nvim-dap-python": { "branch": "master", "commit": "030385d03363988370adaa5cf21fa465daddb088" },
|
|
||||||
"nvim-dap-ui": { "branch": "master", "commit": "cf91d5e2d07c72903d052f5207511bf7ecdb7122" },
|
|
||||||
"nvim-dap-virtual-text": { "branch": "master", "commit": "fbdb48c2ed45f4a8293d0d483f7730d24467ccb6" },
|
|
||||||
"nvim-lint": { "branch": "master", "commit": "f126af5345c7472e9a0cdbe1d1a29209be72c4c4" },
|
|
||||||
"nvim-lspconfig": { "branch": "master", "commit": "408cf07b97535825cca6f1afa908d98348712ba6" },
|
|
||||||
"nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" },
|
|
||||||
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
|
|
||||||
"nvim-treesitter-textobjects": { "branch": "master", "commit": "71385f191ec06ffc60e80e6b0c9a9d5daed4824c" },
|
|
||||||
"nvim-ts-autotag": { "branch": "main", "commit": "a1d526af391f6aebb25a8795cbc05351ed3620b5" },
|
|
||||||
"nvim-web-devicons": { "branch": "master", "commit": "f66cdfef5e84112045b9ebc3119fee9bddb3c687" },
|
|
||||||
"persistence.nvim": { "branch": "main", "commit": "166a79a55bfa7a4db3e26fc031b4d92af71d0b51" },
|
|
||||||
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
|
|
||||||
"refactoring.nvim": { "branch": "master", "commit": "74b608dfee827c2372250519d433cc21cb083407" },
|
|
||||||
"render-markdown.nvim": { "branch": "main", "commit": "e76eb2e4262f0f0a1a7bd7a454dd7d44f1299afd" },
|
|
||||||
"snacks.nvim": { "branch": "main", "commit": "bc0630e43be5699bb94dadc302c0d21615421d93" },
|
|
||||||
"telescope.nvim": { "branch": "master", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
|
|
||||||
"todo-comments.nvim": { "branch": "main", "commit": "304a8d204ee787d2544d8bc23cd38d2f929e7cc5" },
|
|
||||||
"tokyonight.nvim": { "branch": "main", "commit": "057ef5d260c1931f1dffd0f052c685dcd14100a3" },
|
|
||||||
"trouble.nvim": { "branch": "main", "commit": "85bedb7eb7fa331a2ccbecb9202d8abba64d37b3" },
|
|
||||||
"ts-comments.nvim": { "branch": "main", "commit": "1bd9d0ba1d8b336c3db50692ffd0955fe1bb9f0c" },
|
|
||||||
"venv-selector.nvim": { "branch": "regexp", "commit": "d2326e7433fdeb10f7d0d1237c18b91b353f9f8b" },
|
|
||||||
"which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" },
|
|
||||||
"yazi.nvim": { "branch": "main", "commit": "8ce0abb50c30fdc486c465ddfab28510346e6bd7" }
|
|
||||||
}
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
{
|
|
||||||
"extras": [
|
|
||||||
"lazyvim.plugins.extras.dap.core",
|
|
||||||
"lazyvim.plugins.extras.editor.dial",
|
|
||||||
"lazyvim.plugins.extras.editor.fzf",
|
|
||||||
"lazyvim.plugins.extras.editor.refactoring",
|
|
||||||
"lazyvim.plugins.extras.editor.telescope",
|
|
||||||
"lazyvim.plugins.extras.lang.clangd",
|
|
||||||
"lazyvim.plugins.extras.lang.git",
|
|
||||||
"lazyvim.plugins.extras.lang.go",
|
|
||||||
"lazyvim.plugins.extras.lang.json",
|
|
||||||
"lazyvim.plugins.extras.lang.markdown",
|
|
||||||
"lazyvim.plugins.extras.lang.python",
|
|
||||||
"lazyvim.plugins.extras.lang.toml",
|
|
||||||
"lazyvim.plugins.extras.lang.yaml",
|
|
||||||
"lazyvim.plugins.extras.lang.zig",
|
|
||||||
"lazyvim.plugins.extras.lsp.none-ls",
|
|
||||||
"lazyvim.plugins.extras.ui.alpha"
|
|
||||||
],
|
|
||||||
"install_version": 7,
|
|
||||||
"news": {
|
|
||||||
"NEWS.md": "10960"
|
|
||||||
},
|
|
||||||
"version": 8
|
|
||||||
}
|
|
||||||
@@ -1,33 +0,0 @@
|
|||||||
-- Autocmds are automatically loaded on the VeryLazy event
|
|
||||||
-- Default autocmds that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/autocmds.lua
|
|
||||||
-- Add any additional autocmds here
|
|
||||||
|
|
||||||
local augroup = vim.api.nvim_create_augroup
|
|
||||||
local autocmd = vim.api.nvim_create_autocmd
|
|
||||||
local view_group = augroup("auto_view", { clear = true })
|
|
||||||
|
|
||||||
autocmd({ "BufWinLeave", "BufWritePost", "WinLeave" }, {
|
|
||||||
desc = "Save view with mkview for real files",
|
|
||||||
group = view_group,
|
|
||||||
callback = function(args)
|
|
||||||
if vim.b[args.buf].view_activated then
|
|
||||||
vim.cmd.mkview({ mods = { emsg_silent = true } })
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
|
|
||||||
autocmd("BufWinEnter", {
|
|
||||||
desc = "Try to load file view if available and enable view saving for real files",
|
|
||||||
group = view_group,
|
|
||||||
callback = function(args)
|
|
||||||
if not vim.b[args.buf].view_activated then
|
|
||||||
local filetype = vim.api.nvim_get_option_value("filetype", { buf = args.buf })
|
|
||||||
local buftype = vim.api.nvim_get_option_value("buftype", { buf = args.buf })
|
|
||||||
local ignore_filetypes = { "gitcommit", "gitrebase", "svg", "hgcommit" }
|
|
||||||
if buftype == "" and filetype and filetype ~= "" and not vim.tbl_contains(ignore_filetypes, filetype) then
|
|
||||||
vim.b[args.buf].view_activated = true
|
|
||||||
vim.cmd.loadview({ mods = { emsg_silent = true } })
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
@@ -1,42 +0,0 @@
|
|||||||
-- Keymaps are automatically loaded on the VeryLazy event
|
|
||||||
-- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua
|
|
||||||
-- Add any additional keymaps here
|
|
||||||
|
|
||||||
local map = vim.keymap.set
|
|
||||||
|
|
||||||
-- Buffer management
|
|
||||||
map("n", "<leader>bn", ":bnext<CR>", { noremap = true, silent = true, desc = "Next buffer" })
|
|
||||||
map("n", "<leader>bp", ":bprevious<CR>", { noremap = true, silent = true, desc = "Previous buffer" })
|
|
||||||
map("n", "<leader>bd", ":bdelete<CR>", { noremap = true, silent = true, desc = "Delete buffer" })
|
|
||||||
|
|
||||||
-- Copy to system clipboard (if not already mapped)
|
|
||||||
map({ "n", "v" }, "<leader>y", [["+y]], { noremap = true, silent = true, desc = "Copy to system clipboard" })
|
|
||||||
|
|
||||||
-- Paste from system clipboard
|
|
||||||
map("n", "<leader>p", [["+p]], { noremap = true, silent = true, desc = "Paste from system clipboard" })
|
|
||||||
|
|
||||||
vim.keymap.set("n", "<leader>cc", function()
|
|
||||||
local file1 = vim.fn.expand("%")
|
|
||||||
|
|
||||||
local project_root = vim.fn.systemlist("git rev-parse --show-toplevel")[1]
|
|
||||||
if project_root == "" then
|
|
||||||
project_root = vim.fn.getcwd()
|
|
||||||
end
|
|
||||||
|
|
||||||
require("telescope.builtin").find_files({
|
|
||||||
prompt_title = "Compare with...",
|
|
||||||
cwd = project_root,
|
|
||||||
hidden = true,
|
|
||||||
follow = true,
|
|
||||||
attach_mappings = function(_, map)
|
|
||||||
map("i", "<CR>", function(prompt_bufnr)
|
|
||||||
local actions = require("telescope.actions")
|
|
||||||
local action_state = require("telescope.actions.state")
|
|
||||||
local file2 = action_state.get_selected_entry().path
|
|
||||||
actions.close(prompt_bufnr)
|
|
||||||
require("user.utils").meld_diff(file1, file2)
|
|
||||||
end)
|
|
||||||
return true
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
end, { desc = "Compare with" })
|
|
||||||
@@ -1,170 +0,0 @@
|
|||||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
|
||||||
if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
|
||||||
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
|
|
||||||
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
|
|
||||||
if vim.v.shell_error ~= 0 then
|
|
||||||
vim.api.nvim_echo({
|
|
||||||
{ "Failed to clone lazy.nvim:\n", "ErrorMsg" },
|
|
||||||
{ out, "WarningMsg" },
|
|
||||||
{ "\nPress any key to exit..." },
|
|
||||||
}, true, {})
|
|
||||||
vim.fn.getchar()
|
|
||||||
os.exit(1)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
vim.opt.rtp:prepend(lazypath)
|
|
||||||
|
|
||||||
-- Start LazyVim plugins
|
|
||||||
require("lazy").setup({
|
|
||||||
spec = {
|
|
||||||
-- add LazyVim and import its plugins
|
|
||||||
{ "LazyVim/LazyVim", import = "lazyvim.plugins" },
|
|
||||||
-- import/override with your plugins
|
|
||||||
{ import = "plugins" },
|
|
||||||
},
|
|
||||||
defaults = {
|
|
||||||
-- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup.
|
|
||||||
-- If you know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default.
|
|
||||||
lazy = false,
|
|
||||||
-- It's recommended to leave version=false for now, since a lot the plugin that support versioning,
|
|
||||||
-- have outdated releases, which may break your Neovim install.
|
|
||||||
version = false, -- always use the latest git commit
|
|
||||||
-- version = "*", -- try installing the latest stable version for plugins that support semver
|
|
||||||
},
|
|
||||||
checker = { enabled = true }, -- automatically check for plugin updates
|
|
||||||
performance = {
|
|
||||||
rtp = {
|
|
||||||
-- disable some rtp plugins
|
|
||||||
disabled_plugins = {
|
|
||||||
"gzip",
|
|
||||||
"matchit",
|
|
||||||
"matchparen",
|
|
||||||
"netrwPlugin",
|
|
||||||
"tarPlugin",
|
|
||||||
"tohtml",
|
|
||||||
"tutor",
|
|
||||||
"zipPlugin",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
cache = true,
|
|
||||||
})
|
|
||||||
|
|
||||||
-- Configure status bar
|
|
||||||
require("config.statusline")
|
|
||||||
|
|
||||||
-- Configure Markdown rendering rules
|
|
||||||
require("render-markdown").setup({
|
|
||||||
heading = { position = "inline" },
|
|
||||||
quote = { repeat_linebreak = true },
|
|
||||||
win_options = {
|
|
||||||
showbreak = {
|
|
||||||
default = "",
|
|
||||||
rendered = " ",
|
|
||||||
},
|
|
||||||
breakindent = {
|
|
||||||
default = false,
|
|
||||||
rendered = true,
|
|
||||||
},
|
|
||||||
breakindentopt = {
|
|
||||||
default = "",
|
|
||||||
rendered = "",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
checkbox = {
|
|
||||||
unchecked = { icon = "✘ " },
|
|
||||||
checked = { icon = "✔ " },
|
|
||||||
},
|
|
||||||
code = {
|
|
||||||
position = "right",
|
|
||||||
width = "block",
|
|
||||||
right_pad = 10,
|
|
||||||
},
|
|
||||||
latex = {
|
|
||||||
enabled = false,
|
|
||||||
},
|
|
||||||
link = {
|
|
||||||
custom = {
|
|
||||||
c = {
|
|
||||||
pattern = "%.[ch]$",
|
|
||||||
icon = " ",
|
|
||||||
},
|
|
||||||
golang = {
|
|
||||||
pattern = "%.go$",
|
|
||||||
icon = " ",
|
|
||||||
},
|
|
||||||
python = {
|
|
||||||
pattern = "%.py$",
|
|
||||||
icon = " ",
|
|
||||||
},
|
|
||||||
lua = {
|
|
||||||
pattern = "%.lua$",
|
|
||||||
icon = " ",
|
|
||||||
},
|
|
||||||
-- shell = {
|
|
||||||
-- pattern = "%.[sh|zsh]$",
|
|
||||||
-- icon = " ",
|
|
||||||
-- },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
-- Configure TreeSitter syntax parsers
|
|
||||||
require("nvim-treesitter.configs").setup({
|
|
||||||
-- A list of parser names, or "all" (the listed parsers MUST always be installed)
|
|
||||||
ensure_installed = {
|
|
||||||
"c",
|
|
||||||
"lua",
|
|
||||||
"bash",
|
|
||||||
"go",
|
|
||||||
"gomod",
|
|
||||||
"gowork",
|
|
||||||
"gosum",
|
|
||||||
"json",
|
|
||||||
"markdown",
|
|
||||||
"markdown_inline",
|
|
||||||
"python",
|
|
||||||
"zig",
|
|
||||||
},
|
|
||||||
|
|
||||||
-- Install parsers synchronously (only applied to `ensure_installed`)
|
|
||||||
sync_install = false,
|
|
||||||
|
|
||||||
-- Automatically install missing parsers when entering buffer
|
|
||||||
-- Recommendation: set to false if you don't have `tree-sitter` CLI installed locally
|
|
||||||
auto_install = true,
|
|
||||||
|
|
||||||
-- List of parsers to ignore installing (or "all")
|
|
||||||
ignore_install = { "javascript" },
|
|
||||||
|
|
||||||
---- If you need to change the installation directory of the parsers (see -> Advanced Setup)
|
|
||||||
-- parser_install_dir = "/some/path/to/store/parsers", -- Remember to run vim.opt.runtimepath:append("/some/path/to/store/parsers")!
|
|
||||||
|
|
||||||
highlight = {
|
|
||||||
enable = true,
|
|
||||||
|
|
||||||
-- NOTE: these are the names of the parsers and not the filetype. (for example if you want to
|
|
||||||
-- disable highlighting for the `tex` filetype, you need to include `latex` in this list as this is
|
|
||||||
-- the name of the parser)
|
|
||||||
-- list of language that will be disabled
|
|
||||||
disable = {},
|
|
||||||
-- Or use a function for more flexibility, e.g. to disable slow treesitter highlight for large files
|
|
||||||
disable = function(lang, buf)
|
|
||||||
local max_filesize = 100 * 1024 -- 100 KB
|
|
||||||
local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf))
|
|
||||||
if ok and stats and stats.size > max_filesize then
|
|
||||||
return true
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
|
|
||||||
-- Setting this to true will run `:h syntax` and tree-sitter at the same time.
|
|
||||||
-- Set this to `true` if you depend on 'syntax' being enabled (like for indentation).
|
|
||||||
-- Using this option may slow down your editor, and you may see some duplicate highlights.
|
|
||||||
-- Instead of true it can also be a list of languages
|
|
||||||
additional_vim_regex_highlighting = false,
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
-- Configure Mini.AI for textobjects command
|
|
||||||
require("mini.ai").setup()
|
|
||||||
@@ -1,57 +0,0 @@
|
|||||||
-- Options are automatically loaded before lazy.nvim startup
|
|
||||||
-- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua
|
|
||||||
-- Add any additional options here
|
|
||||||
|
|
||||||
local opt = vim.opt
|
|
||||||
|
|
||||||
-- Encoding
|
|
||||||
opt.encoding = "utf-8"
|
|
||||||
opt.fileencoding = "utf-8"
|
|
||||||
|
|
||||||
-- Line numbers
|
|
||||||
opt.number = true
|
|
||||||
opt.relativenumber = true
|
|
||||||
|
|
||||||
-- Enable mouse in all modes
|
|
||||||
opt.mouse = "a"
|
|
||||||
|
|
||||||
-- Better searching
|
|
||||||
opt.ignorecase = true
|
|
||||||
opt.smartcase = true
|
|
||||||
|
|
||||||
-- Highlight current line
|
|
||||||
opt.cursorline = true
|
|
||||||
opt.cursorlineopt = "number"
|
|
||||||
|
|
||||||
-- Enable true color support
|
|
||||||
opt.termguicolors = true
|
|
||||||
|
|
||||||
-- Enable system clipboard
|
|
||||||
opt.clipboard = "unnamedplus"
|
|
||||||
|
|
||||||
-- Indentation
|
|
||||||
-- opt.softtabstop = 8
|
|
||||||
-- opt.shiftwidth = 8
|
|
||||||
-- opt.tabstop = 8
|
|
||||||
opt.expandtab = true
|
|
||||||
opt.smartindent = true
|
|
||||||
|
|
||||||
-- Split behavior
|
|
||||||
opt.splitright = true
|
|
||||||
opt.splitbelow = true
|
|
||||||
|
|
||||||
-- Enable undo file to persist undo history
|
|
||||||
opt.undofile = true
|
|
||||||
|
|
||||||
-- Set upbar similar to statusline (optional)
|
|
||||||
opt.statusline = "%f %m %r %=%-14.(%l,%c%V%) %P"
|
|
||||||
|
|
||||||
-- Persistent signcolumn to avoid text shifting
|
|
||||||
opt.signcolumn = "yes"
|
|
||||||
|
|
||||||
-- Show file name and modified flag in the window bar
|
|
||||||
opt.winbar = "%=%m %f"
|
|
||||||
|
|
||||||
-- Backup files
|
|
||||||
opt.swapfile = false
|
|
||||||
opt.backup = false
|
|
||||||
@@ -1,219 +0,0 @@
|
|||||||
-- Eviline config for lualine
|
|
||||||
-- Author: shadmansaleh
|
|
||||||
-- Credit: glepnir
|
|
||||||
local lualine = require("lualine")
|
|
||||||
|
|
||||||
-- Color table for highlights
|
|
||||||
-- stylua: ignore
|
|
||||||
local colors = {
|
|
||||||
bg = '#202328',
|
|
||||||
fg = '#bbc2cf',
|
|
||||||
yellow = '#ECBE7B',
|
|
||||||
cyan = '#008080',
|
|
||||||
darkblue = '#081633',
|
|
||||||
green = '#98be65',
|
|
||||||
orange = '#FF8800',
|
|
||||||
violet = '#a9a1e1',
|
|
||||||
magenta = '#c678dd',
|
|
||||||
blue = '#51afef',
|
|
||||||
red = '#ec5f67',
|
|
||||||
}
|
|
||||||
|
|
||||||
local conditions = {
|
|
||||||
buffer_not_empty = function()
|
|
||||||
return vim.fn.empty(vim.fn.expand("%:t")) ~= 1
|
|
||||||
end,
|
|
||||||
hide_in_width = function()
|
|
||||||
return vim.fn.winwidth(0) > 80
|
|
||||||
end,
|
|
||||||
check_git_workspace = function()
|
|
||||||
local filepath = vim.fn.expand("%:p:h")
|
|
||||||
local gitdir = vim.fn.finddir(".git", filepath .. ";")
|
|
||||||
return gitdir and #gitdir > 0 and #gitdir < #filepath
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
|
|
||||||
-- Config
|
|
||||||
local config = {
|
|
||||||
options = {
|
|
||||||
-- Disable sections and component separators
|
|
||||||
component_separators = "",
|
|
||||||
section_separators = "",
|
|
||||||
theme = "catppuccin",
|
|
||||||
},
|
|
||||||
sections = {
|
|
||||||
-- these are to remove the defaults
|
|
||||||
lualine_a = {},
|
|
||||||
lualine_b = {},
|
|
||||||
lualine_y = {},
|
|
||||||
lualine_z = {},
|
|
||||||
-- These will be filled later
|
|
||||||
lualine_c = {},
|
|
||||||
lualine_x = {},
|
|
||||||
},
|
|
||||||
inactive_sections = {
|
|
||||||
-- these are to remove the defaults
|
|
||||||
lualine_a = {},
|
|
||||||
lualine_b = {},
|
|
||||||
lualine_y = {},
|
|
||||||
lualine_z = {},
|
|
||||||
lualine_c = {},
|
|
||||||
lualine_x = {},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
-- Inserts a component in lualine_c at left section
|
|
||||||
local function ins_left(component)
|
|
||||||
table.insert(config.sections.lualine_c, component)
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Inserts a component in lualine_x at right section
|
|
||||||
local function ins_right(component)
|
|
||||||
table.insert(config.sections.lualine_x, component)
|
|
||||||
end
|
|
||||||
|
|
||||||
ins_left({
|
|
||||||
function()
|
|
||||||
return "▊"
|
|
||||||
end,
|
|
||||||
color = { fg = colors.blue }, -- Sets highlighting of component
|
|
||||||
padding = { left = 0, right = 1 }, -- We don't need space before this
|
|
||||||
})
|
|
||||||
|
|
||||||
-- -- Function to get the current mode indicator as a single character
|
|
||||||
local function mode()
|
|
||||||
-- Map of modes to their respective shorthand indicators
|
|
||||||
local mode_map = {
|
|
||||||
n = "NORMAL", -- Normal mode
|
|
||||||
v = "VISUAL", -- Visual mode
|
|
||||||
[""] = "VISUAL BLOCK", -- Visual block mode
|
|
||||||
V = "VISUAL LINE", -- Visual line mode
|
|
||||||
c = "COMMAND", -- Command-line mode
|
|
||||||
no = "N-INSERT", -- NInsert mode
|
|
||||||
s = "SELECT", -- Select mode
|
|
||||||
S = "SELECT-LINE", -- Select line mode
|
|
||||||
ic = "INSERT", -- Insert mode (completion)
|
|
||||||
R = "REPLACE", -- Replace mode
|
|
||||||
Rv = "VISUAL REPLACE", -- Virtual Replace mode
|
|
||||||
cv = "COMMAND-LINE", -- Command-line mode
|
|
||||||
ce = "C", -- Ex mode
|
|
||||||
r = "R", -- Prompt mode
|
|
||||||
rm = "M", -- More mode
|
|
||||||
["r?"] = "?", -- Confirm mode
|
|
||||||
["!"] = "!", -- Shell mode
|
|
||||||
t = "TERMINAL", -- Terminal mode
|
|
||||||
}
|
|
||||||
-- Return the mode shorthand or [UNKNOWN] if no match
|
|
||||||
return mode_map[vim.fn.mode()] or "[UNKNOWN]"
|
|
||||||
end
|
|
||||||
|
|
||||||
ins_left({
|
|
||||||
-- mode component
|
|
||||||
mode,
|
|
||||||
color = function()
|
|
||||||
-- auto change color according to neovims mode
|
|
||||||
local mode_color = {
|
|
||||||
n = colors.red,
|
|
||||||
i = colors.green,
|
|
||||||
v = colors.blue,
|
|
||||||
[""] = colors.blue,
|
|
||||||
V = colors.blue,
|
|
||||||
c = colors.magenta,
|
|
||||||
no = colors.red,
|
|
||||||
s = colors.orange,
|
|
||||||
S = colors.orange,
|
|
||||||
[""] = colors.orange,
|
|
||||||
ic = colors.yellow,
|
|
||||||
R = colors.violet,
|
|
||||||
Rv = colors.violet,
|
|
||||||
cv = colors.red,
|
|
||||||
ce = colors.red,
|
|
||||||
r = colors.cyan,
|
|
||||||
rm = colors.cyan,
|
|
||||||
["r?"] = colors.cyan,
|
|
||||||
["!"] = colors.red,
|
|
||||||
t = colors.red,
|
|
||||||
}
|
|
||||||
return { fg = mode_color[vim.fn.mode()] }
|
|
||||||
end,
|
|
||||||
padding = { right = 1 },
|
|
||||||
})
|
|
||||||
|
|
||||||
ins_left({
|
|
||||||
-- filesize component
|
|
||||||
"filesize",
|
|
||||||
cond = conditions.buffer_not_empty,
|
|
||||||
})
|
|
||||||
|
|
||||||
ins_left({
|
|
||||||
"filename",
|
|
||||||
cond = conditions.buffer_not_empty,
|
|
||||||
color = { fg = colors.magenta, gui = "bold" },
|
|
||||||
})
|
|
||||||
|
|
||||||
ins_left({ "location" })
|
|
||||||
|
|
||||||
ins_left({ "progress", color = { fg = colors.fg, gui = "bold" } })
|
|
||||||
|
|
||||||
ins_left({
|
|
||||||
"diagnostics",
|
|
||||||
sources = { "nvim_diagnostic" },
|
|
||||||
symbols = { error = " ", warn = " ", info = " " },
|
|
||||||
diagnostics_color = {
|
|
||||||
error = { fg = colors.red },
|
|
||||||
warn = { fg = colors.yellow },
|
|
||||||
info = { fg = colors.cyan },
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
-- Insert mid section. You can make any number of sections in neovim :)
|
|
||||||
-- for lualine it's any number greater then 2
|
|
||||||
ins_left({
|
|
||||||
function()
|
|
||||||
return "%="
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
|
|
||||||
-- Add components to right sections
|
|
||||||
ins_right({
|
|
||||||
"o:encoding", -- option component same as &encoding in viml
|
|
||||||
fmt = string.upper, -- I'm not sure why it's upper case either ;)
|
|
||||||
cond = conditions.hide_in_width,
|
|
||||||
color = { fg = colors.green, gui = "bold" },
|
|
||||||
})
|
|
||||||
|
|
||||||
ins_right({
|
|
||||||
"fileformat",
|
|
||||||
fmt = string.upper,
|
|
||||||
icons_enabled = false, -- I think icons are cool but Eviline doesn't have them. sigh
|
|
||||||
color = { fg = colors.green, gui = "bold" },
|
|
||||||
})
|
|
||||||
|
|
||||||
ins_right({
|
|
||||||
"branch",
|
|
||||||
icon = "",
|
|
||||||
color = { fg = colors.violet, gui = "bold" },
|
|
||||||
})
|
|
||||||
|
|
||||||
ins_right({
|
|
||||||
"diff",
|
|
||||||
-- Is it me or the symbol for modified us really weird
|
|
||||||
symbols = { added = " ", modified = " ", removed = " " },
|
|
||||||
diff_color = {
|
|
||||||
added = { fg = colors.green },
|
|
||||||
modified = { fg = colors.orange },
|
|
||||||
removed = { fg = colors.red },
|
|
||||||
},
|
|
||||||
cond = conditions.hide_in_width,
|
|
||||||
})
|
|
||||||
|
|
||||||
ins_right({
|
|
||||||
function()
|
|
||||||
return "▊"
|
|
||||||
end,
|
|
||||||
color = { fg = colors.blue },
|
|
||||||
padding = { left = 1 },
|
|
||||||
})
|
|
||||||
|
|
||||||
-- Now don't forget to initialize lualine
|
|
||||||
lualine.setup(config)
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
return {
|
|
||||||
"goolord/alpha-nvim",
|
|
||||||
opts = function(_, opts)
|
|
||||||
local logo = [[
|
|
||||||
███╗ ██╗███████╗ ██████╗ ██╗ ██╗██╗███╗ ███╗
|
|
||||||
████╗ ██║██╔════╝██╔═══██╗██║ ██║██║████╗ ████║
|
|
||||||
██╔██╗ ██║█████╗ ██║ ██║██║ ██║██║██╔████╔██║
|
|
||||||
██║╚██╗██║██╔══╝ ██║ ██║╚██╗ ██╔╝██║██║╚██╔╝██║
|
|
||||||
██║ ╚████║███████╗╚██████╔╝ ╚████╔╝ ██║██║ ╚═╝ ██║
|
|
||||||
╚═╝ ╚═══╝╚══════╝ ╚═════╝ ╚═══╝ ╚═╝╚═╝ ╚═╝
|
|
||||||
|
|
||||||
[ @elijahmanor ]
|
|
||||||
]]
|
|
||||||
opts.section.header.val = vim.split(logo, "\n", { trimempty = true })
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
@@ -1,96 +0,0 @@
|
|||||||
return {
|
|
||||||
{
|
|
||||||
"mason-org/mason.nvim",
|
|
||||||
opts = {
|
|
||||||
ui = {
|
|
||||||
icons = {
|
|
||||||
package_installed = "✓",
|
|
||||||
package_pending = "➜",
|
|
||||||
package_uninstalled = "✗",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
ensure_installed = {
|
|
||||||
-- LSP servers
|
|
||||||
"clangd", -- C / C++
|
|
||||||
"gopls", -- Go
|
|
||||||
"python-lsp-server", -- Python
|
|
||||||
"bash-language-server", -- Bash
|
|
||||||
"zls", -- Zig
|
|
||||||
"lua-language-server", -- Lua
|
|
||||||
-- Formatters / Linters
|
|
||||||
"stylua", -- Lua formatter
|
|
||||||
"shfmt", -- Shell formatter
|
|
||||||
"black", -- Python formatter
|
|
||||||
"clang-format", -- C/C++ formatter
|
|
||||||
"goimports", -- Go formatter
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"hrsh7th/nvim-cmp",
|
|
||||||
dependencies = {
|
|
||||||
"hrsh7th/cmp-nvim-lsp",
|
|
||||||
"hrsh7th/cmp-buffer",
|
|
||||||
"hrsh7th/cmp-path",
|
|
||||||
"hrsh7th/cmp-nvim-lua",
|
|
||||||
"saadparwaiz1/cmp_luasnip",
|
|
||||||
"L3MON4D3/LuaSnip",
|
|
||||||
"onsails/lspkind.nvim", -- icone carine nel completamento
|
|
||||||
},
|
|
||||||
opts = function(_, opts)
|
|
||||||
local cmp = require("cmp")
|
|
||||||
local luasnip = require("luasnip")
|
|
||||||
local lspkind = require("lspkind")
|
|
||||||
|
|
||||||
-- Carica snippet
|
|
||||||
require("luasnip.loaders.from_vscode").lazy_load()
|
|
||||||
|
|
||||||
opts.snippet = {
|
|
||||||
expand = function(args)
|
|
||||||
luasnip.lsp_expand(args.body)
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
|
|
||||||
opts.mapping = vim.tbl_extend("force", opts.mapping, {
|
|
||||||
["<C-Space>"] = cmp.mapping.complete(),
|
|
||||||
["<CR>"] = cmp.mapping.confirm({ select = true }),
|
|
||||||
["<Tab>"] = cmp.mapping(function(fallback)
|
|
||||||
if cmp.visible() then
|
|
||||||
cmp.select_next_item()
|
|
||||||
elseif luasnip.expand_or_jumpable() then
|
|
||||||
luasnip.expand_or_jump()
|
|
||||||
else
|
|
||||||
fallback()
|
|
||||||
end
|
|
||||||
end, { "i", "s" }),
|
|
||||||
["<S-Tab>"] = cmp.mapping(function(fallback)
|
|
||||||
if cmp.visible() then
|
|
||||||
cmp.select_prev_item()
|
|
||||||
elseif luasnip.jumpable(-1) then
|
|
||||||
luasnip.jump(-1)
|
|
||||||
else
|
|
||||||
fallback()
|
|
||||||
end
|
|
||||||
end, { "i", "s" }),
|
|
||||||
})
|
|
||||||
|
|
||||||
opts.sources = cmp.config.sources({
|
|
||||||
{ name = "nvim_lsp" },
|
|
||||||
{ name = "luasnip" },
|
|
||||||
{ name = "nvim_lua" },
|
|
||||||
{ name = "buffer" },
|
|
||||||
{ name = "path" },
|
|
||||||
})
|
|
||||||
|
|
||||||
opts.formatting = {
|
|
||||||
format = lspkind.cmp_format({
|
|
||||||
mode = "symbol_text",
|
|
||||||
maxwidth = 50,
|
|
||||||
ellipsis_char = "...",
|
|
||||||
}),
|
|
||||||
}
|
|
||||||
|
|
||||||
return opts
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
return {
|
|
||||||
"catppuccin/nvim",
|
|
||||||
name = "catppuccin",
|
|
||||||
lazy = false,
|
|
||||||
priority = 1000,
|
|
||||||
opts = {
|
|
||||||
flavour = "mocha",
|
|
||||||
transparent_background = false,
|
|
||||||
},
|
|
||||||
config = function(_, opts)
|
|
||||||
require("catppuccin").setup(opts)
|
|
||||||
-- vim.cmd.colorscheme("catppuccin-mocha")
|
|
||||||
vim.cmd.colorscheme("tokyonight-night")
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
@@ -1,108 +0,0 @@
|
|||||||
return {
|
|
||||||
{
|
|
||||||
"mfussenegger/nvim-dap",
|
|
||||||
dependencies = {
|
|
||||||
"leoluz/nvim-dap-go",
|
|
||||||
"rcarriga/nvim-dap-ui",
|
|
||||||
"theHamsta/nvim-dap-virtual-text",
|
|
||||||
"nvim-neotest/nvim-nio",
|
|
||||||
"williamboman/mason.nvim",
|
|
||||||
"jay-babu/mason-nvim-dap.nvim", -- Dependency for managing DAP adapters with Mason
|
|
||||||
"mfussenegger/nvim-dap-python", -- Dependency for Python debugging
|
|
||||||
},
|
|
||||||
config = function()
|
|
||||||
local dap = require("dap")
|
|
||||||
local dapui = require("dapui")
|
|
||||||
local mason_dap = require("mason-nvim-dap")
|
|
||||||
|
|
||||||
-- Configure mason-nvim-dap to automatically install DAP adapters
|
|
||||||
mason_dap.setup({
|
|
||||||
ensure_installed = {
|
|
||||||
"delve", -- Go Debugger Adapter
|
|
||||||
"codelldb", -- C/C++ Debugger Adapter
|
|
||||||
"debugpy", -- Python Debugger Adapter
|
|
||||||
},
|
|
||||||
handlers = {},
|
|
||||||
})
|
|
||||||
|
|
||||||
-- Set up the DAP UI
|
|
||||||
dapui.setup()
|
|
||||||
|
|
||||||
-- Set up the Go debugging configurations
|
|
||||||
require("dap-go").setup()
|
|
||||||
|
|
||||||
-- Set up the Python debugging configurations
|
|
||||||
require("dap-python").setup()
|
|
||||||
|
|
||||||
-- Configure nvim-dap-virtual-text
|
|
||||||
require("nvim-dap-virtual-text").setup({
|
|
||||||
display_callback = function(variable)
|
|
||||||
local name = string.lower(variable.name)
|
|
||||||
local value = string.lower(variable.value)
|
|
||||||
if name:match("secret") or name:match("api") or value:match("secret") or value:match("api") then
|
|
||||||
return "*****"
|
|
||||||
end
|
|
||||||
|
|
||||||
if #variable.value > 15 then
|
|
||||||
return " " .. string.sub(variable.value, 1, 15) .. "... "
|
|
||||||
end
|
|
||||||
|
|
||||||
return " " .. variable.value
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
|
|
||||||
-- Configure the CodeLLDB adapter for C/C++
|
|
||||||
dap.adapters.codelldb = {
|
|
||||||
type = "server",
|
|
||||||
port = "${port}",
|
|
||||||
executable = {
|
|
||||||
command = vim.fn.stdpath("data") .. "/mason/bin/codelldb",
|
|
||||||
args = { "--port", "${port}" },
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
-- Define launch configurations for C/C++
|
|
||||||
dap.configurations.c = {
|
|
||||||
{
|
|
||||||
name = "Launch C",
|
|
||||||
type = "codelldb",
|
|
||||||
request = "launch",
|
|
||||||
program = function()
|
|
||||||
return vim.fn.input("Path to executable: ", vim.fn.getcwd() .. "/", "file")
|
|
||||||
end,
|
|
||||||
cwd = "${workspaceFolder}",
|
|
||||||
stopOnEntry = false,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
dap.configurations.cpp = dap.configurations.c
|
|
||||||
|
|
||||||
-- Your keyboard shortcuts for debugging
|
|
||||||
vim.keymap.set("n", "<space>b", dap.toggle_breakpoint)
|
|
||||||
vim.keymap.set("n", "<space>gb", dap.run_to_cursor)
|
|
||||||
vim.keymap.set("n", "<space>?", function()
|
|
||||||
dapui.eval(nil, { enter = true })
|
|
||||||
end)
|
|
||||||
vim.keymap.set("n", "<F9>", dap.continue)
|
|
||||||
vim.keymap.set("n", "<F7>", dap.step_into)
|
|
||||||
vim.keymap.set("n", "<F8>", dap.step_over)
|
|
||||||
vim.keymap.set("n", "<F6>", dap.step_out)
|
|
||||||
vim.keymap.set("n", "<F5>", dap.step_back)
|
|
||||||
vim.keymap.set("n", "<F12>", dap.restart)
|
|
||||||
|
|
||||||
-- Listeners to open and close the DAP UI automatically
|
|
||||||
dap.listeners.before.attach.dapui_config = function()
|
|
||||||
dapui.open()
|
|
||||||
end
|
|
||||||
dap.listeners.before.launch.dapui_config = function()
|
|
||||||
dapui.open()
|
|
||||||
end
|
|
||||||
dap.listeners.before.event_terminated.dapui_config = function()
|
|
||||||
dapui.close()
|
|
||||||
end
|
|
||||||
dap.listeners.before.event_exited.dapui_config = function()
|
|
||||||
dapui.close()
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
return {
|
|
||||||
{ "windwp/nvim-spectre", enabled = false },
|
|
||||||
}
|
|
||||||
@@ -1,57 +0,0 @@
|
|||||||
return {
|
|
||||||
"nvimtools/none-ls.nvim",
|
|
||||||
config = function()
|
|
||||||
local null_ls = require("null-ls")
|
|
||||||
|
|
||||||
null_ls.setup({
|
|
||||||
sources = {
|
|
||||||
-- C
|
|
||||||
null_ls.builtins.formatting.clang_format.with({
|
|
||||||
extra_args = {
|
|
||||||
"--style={BasedOnStyle: LLVM, IndentWidth: 8, TabWith: 8, UseTab: Always, BreakBeforeBraces: Linux, AllowShortIfStatementsOnASingleLine: false, AllowShortLoopsOnASingleLine: false, AllowShortFunctionsOnASingleLine: InlineOnly, ColumnLimit: 80, AlignConsecutiveDeclarations: false, AlignConsecutiveAssignments: false, AlignEscapedNewlines: Left, AlignOperands: false, IndentCaseLabels: false, SpaceBeforeParens: ControlStatements }",
|
|
||||||
},
|
|
||||||
}),
|
|
||||||
|
|
||||||
-- Go
|
|
||||||
null_ls.builtins.formatting.goimports,
|
|
||||||
|
|
||||||
-- Zig
|
|
||||||
-- null_ls.builtins.formatting.zigfmt,
|
|
||||||
|
|
||||||
-- Lua
|
|
||||||
null_ls.builtins.formatting.stylua.with({
|
|
||||||
extra_args = {
|
|
||||||
"--indent-type",
|
|
||||||
"Spaces",
|
|
||||||
"--indent-width",
|
|
||||||
"2",
|
|
||||||
"--column-width",
|
|
||||||
"120",
|
|
||||||
},
|
|
||||||
}),
|
|
||||||
|
|
||||||
-- Python
|
|
||||||
null_ls.builtins.formatting.black.with({
|
|
||||||
extra_args = { "--line-length", "79" },
|
|
||||||
}),
|
|
||||||
|
|
||||||
-- Shell
|
|
||||||
null_ls.builtins.formatting.shfmt.with({
|
|
||||||
extra_args = { "-i", "2", "-ci", "-bn", "-sr", "-p" },
|
|
||||||
}),
|
|
||||||
},
|
|
||||||
|
|
||||||
-- Auto-format on save
|
|
||||||
on_attach = function(client, bufnr)
|
|
||||||
if client.supports_method("textDocument/formatting") then
|
|
||||||
vim.api.nvim_create_autocmd("BufWritePre", {
|
|
||||||
buffer = bufnr,
|
|
||||||
callback = function()
|
|
||||||
vim.lsp.buf.format({ async = false })
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
return {
|
|
||||||
"m4xshen/hardtime.nvim",
|
|
||||||
lazy = false,
|
|
||||||
dependencies = { "MunifTanjim/nui.nvim" },
|
|
||||||
enabled = false,
|
|
||||||
opts = {},
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
return {
|
|
||||||
"ThePrimeagen/harpoon",
|
|
||||||
branch = "harpoon2",
|
|
||||||
dependencies = { "nvim-lua/plenary.nvim" },
|
|
||||||
}
|
|
||||||
@@ -1,58 +0,0 @@
|
|||||||
return {
|
|
||||||
"neovim/nvim-lspconfig",
|
|
||||||
|
|
||||||
-- How to add an LSP for a specific programming language?
|
|
||||||
-- 1. Use `:Mason` to install the corresponding LSP.
|
|
||||||
-- 2. Add the configuration below. The syntax is `lspconfig.<name>.setup(...)`
|
|
||||||
-- Hint (find <name> here): https://github.com/neovim/nvim-lspconfig/blob/master/doc/configs.md
|
|
||||||
config = function()
|
|
||||||
-- Set different settings for different languages' LSP.
|
|
||||||
-- Support List: https://github.com/neovim/nvim-lspconfig/blob/master/doc/configs.md
|
|
||||||
local lspconfig = require("lspconfig")
|
|
||||||
|
|
||||||
-- Case 1. For CMake Users
|
|
||||||
-- $ cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON .
|
|
||||||
-- Case 2. For Bazel Users, use https://github.com/hedronvision/bazel-compile-commands-extractor
|
|
||||||
-- Case 3. If you don't use any build tool and all files in a project use the same build flags
|
|
||||||
-- Place your compiler flags in the compile_flags.txt file, located in the root directory
|
|
||||||
-- of your project. Each line in the file should contain a single compiler flag.
|
|
||||||
-- src: https://clangd.llvm.org/installation#compile_commandsjson
|
|
||||||
lspconfig.clangd.setup({})
|
|
||||||
lspconfig.gopls.setup({})
|
|
||||||
lspconfig.bashls.setup({})
|
|
||||||
lspconfig.zls.setup({})
|
|
||||||
lspconfig.pylsp.setup({
|
|
||||||
settings = {
|
|
||||||
-- configure plugins in pylsp
|
|
||||||
pylsp = {
|
|
||||||
plugins = {
|
|
||||||
pyflakes = { enabled = false },
|
|
||||||
pycodestyle = { enabled = false },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
})
|
|
||||||
lspconfig.lua_ls.setup({
|
|
||||||
settings = {
|
|
||||||
Lua = {
|
|
||||||
runtime = {
|
|
||||||
-- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim).
|
|
||||||
version = "LuaJIT",
|
|
||||||
},
|
|
||||||
diagnostics = {
|
|
||||||
-- Get the language server to recognize the `vim` global.
|
|
||||||
globals = { "vim" },
|
|
||||||
},
|
|
||||||
workspace = {
|
|
||||||
-- Make the server aware of Neovim runtime files.
|
|
||||||
library = vim.api.nvim_get_runtime_file("", true),
|
|
||||||
},
|
|
||||||
-- Do not send telemetry data containing a randomized but unique identifier.
|
|
||||||
telemetry = {
|
|
||||||
enable = false,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
return {
|
|
||||||
"nvim-lualine/lualine.nvim",
|
|
||||||
dependencies = { "nvim-tree/nvim-web-devicons" },
|
|
||||||
}
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
return {
|
|
||||||
"MeanderingProgrammer/render-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
|
|
||||||
---@module 'render-markdown'
|
|
||||||
---@type render.md.UserConfig
|
|
||||||
opts = {},
|
|
||||||
}
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
return {
|
|
||||||
"smoka7/multicursors.nvim",
|
|
||||||
event = "VeryLazy",
|
|
||||||
dependencies = {
|
|
||||||
"nvimtools/hydra.nvim",
|
|
||||||
},
|
|
||||||
opts = {},
|
|
||||||
cmd = { "MCstart", "MCvisual", "MCclear", "MCpattern", "MCvisualPattern", "MCunderCursor" },
|
|
||||||
keys = {
|
|
||||||
{
|
|
||||||
mode = { "v", "n" },
|
|
||||||
"<Leader>m",
|
|
||||||
"<cmd>MCstart<cr>",
|
|
||||||
desc = "Create a selection for selected text or word under the cursor",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
return {
|
|
||||||
"nvim-neo-tree/neo-tree.nvim",
|
|
||||||
enabled = false,
|
|
||||||
}
|
|
||||||
@@ -1,522 +0,0 @@
|
|||||||
return {
|
|
||||||
"folke/snacks.nvim",
|
|
||||||
priority = 1000,
|
|
||||||
lazy = false,
|
|
||||||
---@type snacks.Config
|
|
||||||
opts = {
|
|
||||||
bigfile = { enabled = true },
|
|
||||||
dashboard = { enabled = false },
|
|
||||||
explorer = { enabled = false },
|
|
||||||
indent = { enabled = true },
|
|
||||||
input = { enabled = true },
|
|
||||||
notifier = {
|
|
||||||
enabled = true,
|
|
||||||
timeout = 3000,
|
|
||||||
},
|
|
||||||
picker = { enabled = true },
|
|
||||||
quickfile = { enabled = true },
|
|
||||||
scope = { enabled = true },
|
|
||||||
scroll = { enabled = true },
|
|
||||||
statuscolumn = { enabled = true },
|
|
||||||
words = { enabled = true },
|
|
||||||
styles = {
|
|
||||||
notification = {
|
|
||||||
-- wo = { wrap = true } -- Wrap notifications
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
keys = {
|
|
||||||
-- Top Pickers & Explorer
|
|
||||||
{
|
|
||||||
"<leader><space>",
|
|
||||||
function()
|
|
||||||
Snacks.picker.smart()
|
|
||||||
end,
|
|
||||||
desc = "Smart Find Files",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>,",
|
|
||||||
function()
|
|
||||||
Snacks.picker.buffers()
|
|
||||||
end,
|
|
||||||
desc = "Buffers",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>/",
|
|
||||||
function()
|
|
||||||
Snacks.picker.grep()
|
|
||||||
end,
|
|
||||||
desc = "Grep",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>:",
|
|
||||||
function()
|
|
||||||
Snacks.picker.command_history()
|
|
||||||
end,
|
|
||||||
desc = "Command History",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>n",
|
|
||||||
function()
|
|
||||||
Snacks.picker.notifications()
|
|
||||||
end,
|
|
||||||
desc = "Notification History",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>fb",
|
|
||||||
function()
|
|
||||||
Snacks.picker.buffers()
|
|
||||||
end,
|
|
||||||
desc = "Buffers",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>fc",
|
|
||||||
function()
|
|
||||||
Snacks.picker.files({ cwd = vim.fn.stdpath("config") })
|
|
||||||
end,
|
|
||||||
desc = "Find Config File",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>ff",
|
|
||||||
function()
|
|
||||||
Snacks.picker.files()
|
|
||||||
end,
|
|
||||||
desc = "Find Files",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>fg",
|
|
||||||
function()
|
|
||||||
Snacks.picker.git_files()
|
|
||||||
end,
|
|
||||||
desc = "Find Git Files",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>fp",
|
|
||||||
function()
|
|
||||||
Snacks.picker.projects()
|
|
||||||
end,
|
|
||||||
desc = "Projects",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>fr",
|
|
||||||
function()
|
|
||||||
Snacks.picker.recent()
|
|
||||||
end,
|
|
||||||
desc = "Recent",
|
|
||||||
},
|
|
||||||
-- git
|
|
||||||
{
|
|
||||||
"<leader>gb",
|
|
||||||
function()
|
|
||||||
Snacks.picker.git_branches()
|
|
||||||
end,
|
|
||||||
desc = "Git Branches",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>gl",
|
|
||||||
function()
|
|
||||||
Snacks.picker.git_log()
|
|
||||||
end,
|
|
||||||
desc = "Git Log",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>gL",
|
|
||||||
function()
|
|
||||||
Snacks.picker.git_log_line()
|
|
||||||
end,
|
|
||||||
desc = "Git Log Line",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>gs",
|
|
||||||
function()
|
|
||||||
Snacks.picker.git_status()
|
|
||||||
end,
|
|
||||||
desc = "Git Status",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>gS",
|
|
||||||
function()
|
|
||||||
Snacks.picker.git_stash()
|
|
||||||
end,
|
|
||||||
desc = "Git Stash",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>gd",
|
|
||||||
function()
|
|
||||||
Snacks.picker.git_diff()
|
|
||||||
end,
|
|
||||||
desc = "Git Diff (Hunks)",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>gf",
|
|
||||||
function()
|
|
||||||
Snacks.picker.git_log_file()
|
|
||||||
end,
|
|
||||||
desc = "Git Log File",
|
|
||||||
},
|
|
||||||
-- Grep
|
|
||||||
{
|
|
||||||
"<leader>sb",
|
|
||||||
function()
|
|
||||||
Snacks.picker.lines()
|
|
||||||
end,
|
|
||||||
desc = "Buffer Lines",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>sB",
|
|
||||||
function()
|
|
||||||
Snacks.picker.grep_buffers()
|
|
||||||
end,
|
|
||||||
desc = "Grep Open Buffers",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>sg",
|
|
||||||
function()
|
|
||||||
Snacks.picker.grep()
|
|
||||||
end,
|
|
||||||
desc = "Grep",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>sw",
|
|
||||||
function()
|
|
||||||
Snacks.picker.grep_word()
|
|
||||||
end,
|
|
||||||
desc = "Visual selection or word",
|
|
||||||
mode = { "n", "x" },
|
|
||||||
},
|
|
||||||
-- search
|
|
||||||
{
|
|
||||||
'<leader>s"',
|
|
||||||
function()
|
|
||||||
Snacks.picker.registers()
|
|
||||||
end,
|
|
||||||
desc = "Registers",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>s/",
|
|
||||||
function()
|
|
||||||
Snacks.picker.search_history()
|
|
||||||
end,
|
|
||||||
desc = "Search History",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>sa",
|
|
||||||
function()
|
|
||||||
Snacks.picker.autocmds()
|
|
||||||
end,
|
|
||||||
desc = "Autocmds",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>sb",
|
|
||||||
function()
|
|
||||||
Snacks.picker.lines()
|
|
||||||
end,
|
|
||||||
desc = "Buffer Lines",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>sc",
|
|
||||||
function()
|
|
||||||
Snacks.picker.command_history()
|
|
||||||
end,
|
|
||||||
desc = "Command History",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>sC",
|
|
||||||
function()
|
|
||||||
Snacks.picker.commands()
|
|
||||||
end,
|
|
||||||
desc = "Commands",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>sd",
|
|
||||||
function()
|
|
||||||
Snacks.picker.diagnostics()
|
|
||||||
end,
|
|
||||||
desc = "Diagnostics",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>sD",
|
|
||||||
function()
|
|
||||||
Snacks.picker.diagnostics_buffer()
|
|
||||||
end,
|
|
||||||
desc = "Buffer Diagnostics",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>sh",
|
|
||||||
function()
|
|
||||||
Snacks.picker.help()
|
|
||||||
end,
|
|
||||||
desc = "Help Pages",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>sH",
|
|
||||||
function()
|
|
||||||
Snacks.picker.highlights()
|
|
||||||
end,
|
|
||||||
desc = "Highlights",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>si",
|
|
||||||
function()
|
|
||||||
Snacks.picker.icons()
|
|
||||||
end,
|
|
||||||
desc = "Icons",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>sj",
|
|
||||||
function()
|
|
||||||
Snacks.picker.jumps()
|
|
||||||
end,
|
|
||||||
desc = "Jumps",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>sk",
|
|
||||||
function()
|
|
||||||
Snacks.picker.keymaps()
|
|
||||||
end,
|
|
||||||
desc = "Keymaps",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>sl",
|
|
||||||
function()
|
|
||||||
Snacks.picker.loclist()
|
|
||||||
end,
|
|
||||||
desc = "Location List",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>sm",
|
|
||||||
function()
|
|
||||||
Snacks.picker.marks()
|
|
||||||
end,
|
|
||||||
desc = "Marks",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>sM",
|
|
||||||
function()
|
|
||||||
Snacks.picker.man()
|
|
||||||
end,
|
|
||||||
desc = "Man Pages",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>sp",
|
|
||||||
function()
|
|
||||||
Snacks.picker.lazy()
|
|
||||||
end,
|
|
||||||
desc = "Search for Plugin Spec",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>sq",
|
|
||||||
function()
|
|
||||||
Snacks.picker.qflist()
|
|
||||||
end,
|
|
||||||
desc = "Quickfix List",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>sR",
|
|
||||||
function()
|
|
||||||
Snacks.picker.resume()
|
|
||||||
end,
|
|
||||||
desc = "Resume",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>su",
|
|
||||||
function()
|
|
||||||
Snacks.picker.undo()
|
|
||||||
end,
|
|
||||||
desc = "Undo History",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>uC",
|
|
||||||
function()
|
|
||||||
Snacks.picker.colorschemes()
|
|
||||||
end,
|
|
||||||
desc = "Colorschemes",
|
|
||||||
},
|
|
||||||
-- LSP
|
|
||||||
{
|
|
||||||
"gd",
|
|
||||||
function()
|
|
||||||
Snacks.picker.lsp_definitions()
|
|
||||||
end,
|
|
||||||
desc = "Goto Definition",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"gD",
|
|
||||||
function()
|
|
||||||
Snacks.picker.lsp_declarations()
|
|
||||||
end,
|
|
||||||
desc = "Goto Declaration",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"gr",
|
|
||||||
function()
|
|
||||||
Snacks.picker.lsp_references()
|
|
||||||
end,
|
|
||||||
nowait = true,
|
|
||||||
desc = "References",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"gI",
|
|
||||||
function()
|
|
||||||
Snacks.picker.lsp_implementations()
|
|
||||||
end,
|
|
||||||
desc = "Goto Implementation",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"gy",
|
|
||||||
function()
|
|
||||||
Snacks.picker.lsp_type_definitions()
|
|
||||||
end,
|
|
||||||
desc = "Goto T[y]pe Definition",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>ss",
|
|
||||||
function()
|
|
||||||
Snacks.picker.lsp_symbols()
|
|
||||||
end,
|
|
||||||
desc = "LSP Symbols",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>sS",
|
|
||||||
function()
|
|
||||||
Snacks.picker.lsp_workspace_symbols()
|
|
||||||
end,
|
|
||||||
desc = "LSP Workspace Symbols",
|
|
||||||
},
|
|
||||||
-- Other
|
|
||||||
{
|
|
||||||
"<leader>z",
|
|
||||||
function()
|
|
||||||
Snacks.zen()
|
|
||||||
end,
|
|
||||||
desc = "Toggle Zen Mode",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>Z",
|
|
||||||
function()
|
|
||||||
Snacks.zen.zoom()
|
|
||||||
end,
|
|
||||||
desc = "Toggle Zoom",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>.",
|
|
||||||
function()
|
|
||||||
Snacks.scratch()
|
|
||||||
end,
|
|
||||||
desc = "Toggle Scratch Buffer",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>S",
|
|
||||||
function()
|
|
||||||
Snacks.scratch.select()
|
|
||||||
end,
|
|
||||||
desc = "Select Scratch Buffer",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>n",
|
|
||||||
function()
|
|
||||||
Snacks.notifier.show_history()
|
|
||||||
end,
|
|
||||||
desc = "Notification History",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>bd",
|
|
||||||
function()
|
|
||||||
Snacks.bufdelete()
|
|
||||||
end,
|
|
||||||
desc = "Delete Buffer",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>cR",
|
|
||||||
function()
|
|
||||||
Snacks.rename.rename_file()
|
|
||||||
end,
|
|
||||||
desc = "Rename File",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>gB",
|
|
||||||
function()
|
|
||||||
Snacks.gitbrowse()
|
|
||||||
end,
|
|
||||||
desc = "Git Browse",
|
|
||||||
mode = { "n", "v" },
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>gg",
|
|
||||||
function()
|
|
||||||
Snacks.lazygit()
|
|
||||||
end,
|
|
||||||
desc = "Lazygit",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>un",
|
|
||||||
function()
|
|
||||||
Snacks.notifier.hide()
|
|
||||||
end,
|
|
||||||
desc = "Dismiss All Notifications",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<c-/>",
|
|
||||||
function()
|
|
||||||
Snacks.terminal()
|
|
||||||
end,
|
|
||||||
desc = "Toggle Terminal",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<c-_>",
|
|
||||||
function()
|
|
||||||
Snacks.terminal()
|
|
||||||
end,
|
|
||||||
desc = "which_key_ignore",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"]]",
|
|
||||||
function()
|
|
||||||
Snacks.words.jump(vim.v.count1)
|
|
||||||
end,
|
|
||||||
desc = "Next Reference",
|
|
||||||
mode = { "n", "t" },
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"[[",
|
|
||||||
function()
|
|
||||||
Snacks.words.jump(-vim.v.count1)
|
|
||||||
end,
|
|
||||||
desc = "Prev Reference",
|
|
||||||
mode = { "n", "t" },
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"<leader>N",
|
|
||||||
desc = "Neovim News",
|
|
||||||
function()
|
|
||||||
Snacks.win({
|
|
||||||
file = vim.api.nvim_get_runtime_file("doc/news.txt", false)[1],
|
|
||||||
width = 0.6,
|
|
||||||
height = 0.6,
|
|
||||||
wo = {
|
|
||||||
spell = false,
|
|
||||||
wrap = false,
|
|
||||||
signcolumn = "yes",
|
|
||||||
statuscolumn = " ",
|
|
||||||
conceallevel = 3,
|
|
||||||
},
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
init = function()
|
|
||||||
vim.api.nvim_create_autocmd("User", {
|
|
||||||
pattern = "VeryLazy",
|
|
||||||
callback = function()
|
|
||||||
-- Setup some globals for debugging (lazy-loaded)
|
|
||||||
_G.dd = function(...)
|
|
||||||
Snacks.debug.inspect(...)
|
|
||||||
end
|
|
||||||
_G.bt = function()
|
|
||||||
Snacks.debug.backtrace()
|
|
||||||
end
|
|
||||||
vim.print = _G.dd -- Override print to use snacks for `:=` command
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
return {
|
|
||||||
"nvim-telescope/telescope.nvim",
|
|
||||||
tag = "0.1.8",
|
|
||||||
dependencies = { "nvim-lua/plenary.nvim" },
|
|
||||||
}
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
return {
|
|
||||||
"mikavilpas/yazi.nvim",
|
|
||||||
dependencies = { "nvim-lua/plenary.nvim" },
|
|
||||||
opts = {},
|
|
||||||
keys = {
|
|
||||||
{ "<leader>e", "<cmd>Yazi<cr>", desc = "Open Yazi" },
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
file1=$(fzf --prompt="Select first file: " < <(find . -type f))
|
|
||||||
[ -z "$file1" ] && echo "Aborted." && exit 1
|
|
||||||
|
|
||||||
file2=$(fzf --prompt="Select second file: " < <(find . -type f))
|
|
||||||
[ -z "$file2" ] && echo "Aborted." && exit 1
|
|
||||||
|
|
||||||
echo "🔍 Comparing:"
|
|
||||||
echo " 1: $file1"
|
|
||||||
echo " 2: $file2"
|
|
||||||
|
|
||||||
meld "$file1" "$file2" &
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
-- This file contains all custom functions for integrate external tools.
|
|
||||||
|
|
||||||
-- Meld for comparing and merging files
|
|
||||||
local M = {}
|
|
||||||
|
|
||||||
function M.meld_diff(file1, file2)
|
|
||||||
if not file1 or not file2 then
|
|
||||||
print("Usage: :lua require'user.utils'.meld_diff('file1', 'file2')")
|
|
||||||
return
|
|
||||||
end
|
|
||||||
local cmd = string.format("meld '%s' '%s' &", file1, file2)
|
|
||||||
os.execute(cmd)
|
|
||||||
end
|
|
||||||
|
|
||||||
return M
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
indent_type = "Spaces"
|
|
||||||
indent_width = 2
|
|
||||||
column_width = 120
|
|
||||||
|
|
||||||
Binary file not shown.
@@ -1,435 +0,0 @@
|
|||||||
|
|
||||||
# An example configuration file for MPD.
|
|
||||||
# Read the user manual for documentation: http://www.musicpd.org/doc/user/
|
|
||||||
|
|
||||||
|
|
||||||
# Files and directories #######################################################
|
|
||||||
#
|
|
||||||
# This setting controls the top directory which MPD will search to discover the
|
|
||||||
# available audio files and add them to the daemon's online database. This
|
|
||||||
# setting defaults to the XDG directory, otherwise the music directory will be
|
|
||||||
# be disabled and audio files will only be accepted over ipc socket (using
|
|
||||||
# file:// protocol) or streaming files over an accepted protocol.
|
|
||||||
#
|
|
||||||
#music_directory "~/music"
|
|
||||||
music_directory "~/Music"
|
|
||||||
#
|
|
||||||
# This setting sets the MPD internal playlist directory. The purpose of this
|
|
||||||
# directory is storage for playlists created by MPD. The server will use
|
|
||||||
# playlist files not created by the server but only if they are in the MPD
|
|
||||||
# format. This setting defaults to playlist saving being disabled.
|
|
||||||
#
|
|
||||||
#playlist_directory "~/.mpd/playlists"
|
|
||||||
playlist_directory "~/.config/mpd/playlists"
|
|
||||||
#
|
|
||||||
# This setting sets the location of the MPD database. This file is used to
|
|
||||||
# load the database at server start up and store the database while the
|
|
||||||
# server is not up. This setting defaults to disabled which will allow
|
|
||||||
# MPD to accept files over ipc socket (using file:// protocol) or streaming
|
|
||||||
# files over an accepted protocol.
|
|
||||||
#
|
|
||||||
db_file "~/.config/mpd/database"
|
|
||||||
#db_file "~/.mpd/database"
|
|
||||||
|
|
||||||
# These settings are the locations for the daemon log files for the daemon.
|
|
||||||
#
|
|
||||||
# The special value "syslog" makes MPD use the local syslog daemon. This
|
|
||||||
# setting defaults to logging to syslog.
|
|
||||||
#
|
|
||||||
# If you use systemd, do not configure a log_file. With systemd, MPD
|
|
||||||
# defaults to the systemd journal, which is fine.
|
|
||||||
#
|
|
||||||
#log_file "~/.mpd/log"
|
|
||||||
|
|
||||||
# This setting sets the location of the file which stores the process ID
|
|
||||||
# for use of mpd --kill and some init scripts. This setting is disabled by
|
|
||||||
# default and the pid file will not be stored.
|
|
||||||
#
|
|
||||||
# If you use systemd, do not configure a pid_file.
|
|
||||||
#
|
|
||||||
#pid_file "~/.mpd/pid"
|
|
||||||
pid_file "~/.config/mpd/pid"
|
|
||||||
|
|
||||||
# This setting sets the location of the file which contains information about
|
|
||||||
# most variables to get MPD back into the same general shape it was in before
|
|
||||||
# it was brought down. This setting is disabled by default and the server
|
|
||||||
# state will be reset on server start up.
|
|
||||||
#
|
|
||||||
#state_file "~/.mpd/state"
|
|
||||||
state_file "~/.config/mpd/state"
|
|
||||||
#
|
|
||||||
# The location of the sticker database. This is a database which
|
|
||||||
# manages dynamic information attached to songs.
|
|
||||||
#
|
|
||||||
#sticker_file "~/.mpd/sticker.sql"
|
|
||||||
sticker_file "~/.config/mpd/sticker.sql"
|
|
||||||
#
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
|
|
||||||
# General music daemon options ################################################
|
|
||||||
#
|
|
||||||
# This setting specifies the user that MPD will run as. MPD should never run as
|
|
||||||
# root and you may use this setting to make MPD change its user ID after
|
|
||||||
# initialization. This setting is disabled by default and MPD is run as the
|
|
||||||
# current user.
|
|
||||||
#
|
|
||||||
#user "nobody"
|
|
||||||
#
|
|
||||||
# This setting specifies the group that MPD will run as. If not specified
|
|
||||||
# primary group of user specified with "user" setting will be used (if set).
|
|
||||||
# This is useful if MPD needs to be a member of group such as "audio" to
|
|
||||||
# have permission to use sound card.
|
|
||||||
#
|
|
||||||
#group "nogroup"
|
|
||||||
#
|
|
||||||
# This setting sets the address for the daemon to listen on. Careful attention
|
|
||||||
# should be paid if this is assigned to anything other than the default, any.
|
|
||||||
# This setting can deny access to control of the daemon. Not effective if
|
|
||||||
# systemd socket activation is in use.
|
|
||||||
#
|
|
||||||
# For network
|
|
||||||
#bind_to_address "any"
|
|
||||||
#
|
|
||||||
# And for Unix Socket
|
|
||||||
#bind_to_address "~/.mpd/socket"
|
|
||||||
#
|
|
||||||
# This setting is the TCP port that is desired for the daemon to get assigned
|
|
||||||
# to.
|
|
||||||
#
|
|
||||||
#port "6600"
|
|
||||||
#
|
|
||||||
# Suppress all messages below the given threshold. Use "verbose" for
|
|
||||||
# troubleshooting. Available setting arguments are "notice", "info", "verbose",
|
|
||||||
# "warning" and "error".
|
|
||||||
#
|
|
||||||
#log_level "notice"
|
|
||||||
#
|
|
||||||
# Setting "restore_paused" to "yes" puts MPD into pause mode instead
|
|
||||||
# of starting playback after startup.
|
|
||||||
#
|
|
||||||
#restore_paused "no"
|
|
||||||
#
|
|
||||||
# This setting enables MPD to create playlists in a format usable by other
|
|
||||||
# music players.
|
|
||||||
#
|
|
||||||
#save_absolute_paths_in_playlists "no"
|
|
||||||
#
|
|
||||||
# This setting defines a list of tag types that will be extracted during the
|
|
||||||
# audio file discovery process. The complete list of possible values can be
|
|
||||||
# found in the user manual.
|
|
||||||
#metadata_to_use "artist,album,title,track,name,genre,date,composer,performer,disc"
|
|
||||||
#
|
|
||||||
# This example just enables the "comment" tag without disabling all
|
|
||||||
# the other supported tags:
|
|
||||||
#metadata_to_use "+comment"
|
|
||||||
#
|
|
||||||
# This setting enables automatic update of MPD's database when files in
|
|
||||||
# music_directory are changed.
|
|
||||||
#
|
|
||||||
auto_update "yes"
|
|
||||||
#
|
|
||||||
# Limit the depth of the directories being watched, 0 means only watch
|
|
||||||
# the music directory itself. There is no limit by default.
|
|
||||||
#
|
|
||||||
#auto_update_depth "3"
|
|
||||||
#
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
|
|
||||||
# Symbolic link behavior ######################################################
|
|
||||||
#
|
|
||||||
# If this setting is set to "yes", MPD will discover audio files by following
|
|
||||||
# symbolic links outside of the configured music_directory.
|
|
||||||
#
|
|
||||||
#follow_outside_symlinks "yes"
|
|
||||||
#
|
|
||||||
# If this setting is set to "yes", MPD will discover audio files by following
|
|
||||||
# symbolic links inside of the configured music_directory.
|
|
||||||
#
|
|
||||||
#follow_inside_symlinks "yes"
|
|
||||||
#
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
|
|
||||||
# Zeroconf / Avahi Service Discovery ##########################################
|
|
||||||
#
|
|
||||||
# If this setting is set to "yes", service information will be published with
|
|
||||||
# Zeroconf / Avahi.
|
|
||||||
#
|
|
||||||
#zeroconf_enabled "yes"
|
|
||||||
#
|
|
||||||
# The argument to this setting will be the Zeroconf / Avahi unique name for
|
|
||||||
# this MPD server on the network. %h will be replaced with the hostname.
|
|
||||||
#
|
|
||||||
#zeroconf_name "Music Player @ %h"
|
|
||||||
#
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
|
|
||||||
# Permissions #################################################################
|
|
||||||
#
|
|
||||||
# If this setting is set, MPD will require password authorization. The password
|
|
||||||
# setting can be specified multiple times for different password profiles.
|
|
||||||
#
|
|
||||||
#password "password@read,add,control,admin"
|
|
||||||
#
|
|
||||||
# This setting specifies the permissions a user has who has not yet logged in.
|
|
||||||
#
|
|
||||||
#default_permissions "read,add,control,admin"
|
|
||||||
#
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
|
|
||||||
# Database #######################################################################
|
|
||||||
#
|
|
||||||
# An example of a database section instead of the old 'db_file' setting.
|
|
||||||
# It enables mounting other storages into the music directory.
|
|
||||||
#
|
|
||||||
#database {
|
|
||||||
# plugin "simple"
|
|
||||||
# path "~/.local/share/mpd/db
|
|
||||||
# cache_directory "~/.local/share/mpd/cache"
|
|
||||||
#}
|
|
||||||
#
|
|
||||||
# An example of database config for a satellite setup
|
|
||||||
#
|
|
||||||
#music_directory "nfs://fileserver.local/srv/mp3"
|
|
||||||
#database {
|
|
||||||
# plugin "proxy"
|
|
||||||
# host "other.mpd.host"
|
|
||||||
# port "6600"
|
|
||||||
#}
|
|
||||||
|
|
||||||
# Input #######################################################################
|
|
||||||
#
|
|
||||||
input {
|
|
||||||
plugin "curl"
|
|
||||||
# proxy "proxy.isp.com:8080"
|
|
||||||
# proxy_user "user"
|
|
||||||
# proxy_password "password"
|
|
||||||
}
|
|
||||||
|
|
||||||
#
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
# Audio Output ################################################################
|
|
||||||
#
|
|
||||||
# MPD supports various audio output types, as well as playing through multiple
|
|
||||||
# audio outputs at the same time, through multiple audio_output settings
|
|
||||||
# blocks. Setting this block is optional, though the server will only attempt
|
|
||||||
# autodetection for one sound card.
|
|
||||||
#
|
|
||||||
# An example of an ALSA output:
|
|
||||||
#
|
|
||||||
audio_output {
|
|
||||||
type "pulse"
|
|
||||||
name "pulse audio"
|
|
||||||
}
|
|
||||||
|
|
||||||
# audio_output {
|
|
||||||
# type "pipewire"
|
|
||||||
# name "PipeWire Sound Server"
|
|
||||||
# }
|
|
||||||
|
|
||||||
#audio_output {
|
|
||||||
# type "alsa"
|
|
||||||
# name "My ALSA Device"
|
|
||||||
## device "hw:0,0" # optional
|
|
||||||
## mixer_type "hardware" # optional
|
|
||||||
## mixer_device "default" # optional
|
|
||||||
## mixer_control "PCM" # optional
|
|
||||||
## mixer_index "0" # optional
|
|
||||||
#}
|
|
||||||
#
|
|
||||||
# An example of an OSS output:
|
|
||||||
#
|
|
||||||
#audio_output {
|
|
||||||
# type "oss"
|
|
||||||
# name "My OSS Device"
|
|
||||||
## device "/dev/dsp" # optional
|
|
||||||
## mixer_type "hardware" # optional
|
|
||||||
## mixer_device "/dev/mixer" # optional
|
|
||||||
## mixer_control "PCM" # optional
|
|
||||||
#}
|
|
||||||
#
|
|
||||||
# An example of a shout output (for streaming to Icecast):
|
|
||||||
#
|
|
||||||
#audio_output {
|
|
||||||
# type "shout"
|
|
||||||
# encoder "vorbis" # optional
|
|
||||||
# name "My Shout Stream"
|
|
||||||
# host "localhost"
|
|
||||||
# port "8000"
|
|
||||||
# mount "/mpd.ogg"
|
|
||||||
# password "hackme"
|
|
||||||
# quality "5.0"
|
|
||||||
# bitrate "128"
|
|
||||||
# format "44100:16:1"
|
|
||||||
## protocol "icecast2" # optional
|
|
||||||
## user "source" # optional
|
|
||||||
## description "My Stream Description" # optional
|
|
||||||
## url "http://example.com" # optional
|
|
||||||
## genre "jazz" # optional
|
|
||||||
## public "no" # optional
|
|
||||||
## timeout "2" # optional
|
|
||||||
## mixer_type "software" # optional
|
|
||||||
#}
|
|
||||||
#
|
|
||||||
# An example of a recorder output:
|
|
||||||
#
|
|
||||||
#audio_output {
|
|
||||||
# type "recorder"
|
|
||||||
# name "My recorder"
|
|
||||||
# encoder "vorbis" # optional, vorbis or lame
|
|
||||||
# path "/var/lib/mpd/recorder/mpd.ogg"
|
|
||||||
## quality "5.0" # do not define if bitrate is defined
|
|
||||||
# bitrate "128" # do not define if quality is defined
|
|
||||||
# format "44100:16:1"
|
|
||||||
#}
|
|
||||||
#
|
|
||||||
# An example of a httpd output (built-in HTTP streaming server):
|
|
||||||
#
|
|
||||||
#audio_output {
|
|
||||||
# type "httpd"
|
|
||||||
# name "My HTTP Stream"
|
|
||||||
# encoder "vorbis" # optional, vorbis or lame
|
|
||||||
# port "8000"
|
|
||||||
# bind_to_address "0.0.0.0" # optional, IPv4 or IPv6
|
|
||||||
## quality "5.0" # do not define if bitrate is defined
|
|
||||||
# bitrate "128" # do not define if quality is defined
|
|
||||||
# format "44100:16:1"
|
|
||||||
# max_clients "0" # optional 0=no limit
|
|
||||||
#}
|
|
||||||
#
|
|
||||||
# An example of a pulseaudio output (streaming to a remote pulseaudio server)
|
|
||||||
#
|
|
||||||
#audio_output {
|
|
||||||
# type "pulse"
|
|
||||||
# name "My Pulse Output"
|
|
||||||
## server "remote_server" # optional
|
|
||||||
## sink "remote_server_sink" # optional
|
|
||||||
## media_role "media_role" #optional
|
|
||||||
#}
|
|
||||||
#
|
|
||||||
# An example of a winmm output (Windows multimedia API).
|
|
||||||
#
|
|
||||||
#audio_output {
|
|
||||||
# type "winmm"
|
|
||||||
# name "My WinMM output"
|
|
||||||
## device "Digital Audio (S/PDIF) (High Definition Audio Device)" # optional
|
|
||||||
# or
|
|
||||||
## device "0" # optional
|
|
||||||
## mixer_type "hardware" # optional
|
|
||||||
#}
|
|
||||||
#
|
|
||||||
# An example of a wasapi output (Windows multimedia API).
|
|
||||||
#
|
|
||||||
#audio_output {
|
|
||||||
# type "wasapi"
|
|
||||||
# name "My WASAPI output"
|
|
||||||
## device "Digital Audio (S/PDIF) (High Definition Audio Device)" # optional
|
|
||||||
# or
|
|
||||||
## device "0" # optional
|
|
||||||
## Exclusive mode blocks all other audio source, and get best audio quality without resampling.
|
|
||||||
## exclusive "no" # optional
|
|
||||||
## Enumerate all devices in log.
|
|
||||||
## enumerate "no" # optional
|
|
||||||
#}
|
|
||||||
#
|
|
||||||
# An example of an openal output.
|
|
||||||
#
|
|
||||||
#audio_output {
|
|
||||||
# type "openal"
|
|
||||||
# name "My OpenAL output"
|
|
||||||
## device "Digital Audio (S/PDIF) (High Definition Audio Device)" # optional
|
|
||||||
#}
|
|
||||||
#
|
|
||||||
# An example of an sndio output.
|
|
||||||
#
|
|
||||||
#audio_output {
|
|
||||||
# type "sndio"
|
|
||||||
# name "sndio output"
|
|
||||||
# mixer_type "hardware"
|
|
||||||
#}
|
|
||||||
#
|
|
||||||
# An example of an OS X output:
|
|
||||||
#
|
|
||||||
#audio_output {
|
|
||||||
# type "osx"
|
|
||||||
# name "My OS X Device"
|
|
||||||
## device "Built-in Output" # optional
|
|
||||||
## channel_map "-1,-1,0,1" # optional
|
|
||||||
#}
|
|
||||||
#
|
|
||||||
## Example "pipe" output:
|
|
||||||
#
|
|
||||||
#audio_output {
|
|
||||||
# type "pipe"
|
|
||||||
# name "my pipe"
|
|
||||||
# command "aplay -f cd 2>/dev/null"
|
|
||||||
## Or if you're want to use AudioCompress
|
|
||||||
# command "AudioCompress -m | aplay -f cd 2>/dev/null"
|
|
||||||
## Or to send raw PCM stream through PCM:
|
|
||||||
# command "nc example.org 8765"
|
|
||||||
# format "44100:16:2"
|
|
||||||
#}
|
|
||||||
#
|
|
||||||
## An example of a null output (for no audio output):
|
|
||||||
#
|
|
||||||
#audio_output {
|
|
||||||
# type "null"
|
|
||||||
# name "My Null Output"
|
|
||||||
# mixer_type "none" # optional
|
|
||||||
#}
|
|
||||||
#
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
|
|
||||||
# Normalization automatic volume adjustments ##################################
|
|
||||||
#
|
|
||||||
# This setting specifies the type of ReplayGain to use. This setting can have
|
|
||||||
# the argument "off", "album", "track" or "auto". "auto" is a special mode that
|
|
||||||
# chooses between "track" and "album" depending on the current state of
|
|
||||||
# random playback. If random playback is enabled then "track" mode is used.
|
|
||||||
# See <https://wiki.hydrogenaud.io/index.php?title=Replaygain> for
|
|
||||||
# more details about ReplayGain.
|
|
||||||
# This setting is off by default.
|
|
||||||
#
|
|
||||||
#replaygain "album"
|
|
||||||
#
|
|
||||||
# This setting sets the pre-amp used for files that have ReplayGain tags. By
|
|
||||||
# default this setting is disabled.
|
|
||||||
#
|
|
||||||
#replaygain_preamp "0"
|
|
||||||
#
|
|
||||||
# This setting sets the pre-amp used for files that do NOT have ReplayGain tags.
|
|
||||||
# By default this setting is disabled.
|
|
||||||
#
|
|
||||||
#replaygain_missing_preamp "0"
|
|
||||||
#
|
|
||||||
# This setting enables or disables ReplayGain limiting.
|
|
||||||
# MPD calculates actual amplification based on the ReplayGain tags
|
|
||||||
# and replaygain_preamp / replaygain_missing_preamp setting.
|
|
||||||
# If replaygain_limit is enabled MPD will never amplify audio signal
|
|
||||||
# above its original level. If replaygain_limit is disabled such amplification
|
|
||||||
# might occur. By default this setting is enabled.
|
|
||||||
#
|
|
||||||
#replaygain_limit "yes"
|
|
||||||
#
|
|
||||||
# This setting enables on-the-fly normalization volume adjustment. This will
|
|
||||||
# result in the volume of all playing audio to be adjusted so the output has
|
|
||||||
# equal "loudness". This setting is disabled by default.
|
|
||||||
#
|
|
||||||
#volume_normalization "no"
|
|
||||||
#
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
# Character Encoding ##########################################################
|
|
||||||
#
|
|
||||||
# If file or directory names do not display correctly for your locale then you
|
|
||||||
# may need to modify this setting.
|
|
||||||
#
|
|
||||||
#filesystem_charset "UTF-8"
|
|
||||||
#
|
|
||||||
###############################################################################
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
sw_volume: 100
|
|
||||||
audio_device_state:1:pulse audio
|
|
||||||
state: play
|
|
||||||
current: 11
|
|
||||||
time: 15.469000
|
|
||||||
random: 1
|
|
||||||
repeat: 0
|
|
||||||
single: 0
|
|
||||||
consume: 0
|
|
||||||
crossfade: 0
|
|
||||||
mixrampdb: 0.000000
|
|
||||||
mixrampdelay: -1.000000
|
|
||||||
playlist_begin
|
|
||||||
0:佐々木恵梨 - Ring of Fortune.mp3
|
|
||||||
1:放課後ティータイム - わたしの恋はホッチキス.mp3
|
|
||||||
2:早見沙織 - ここから、ここから -白石結月 ソロver.-.mp3
|
|
||||||
3:瀬戸麻沙美,黒沢ともよ,小澤亜李 - さよなら。ありがとう。.mp3
|
|
||||||
4:コアラモード. - 七色シンフォニー.mp3
|
|
||||||
5:泠鸢yousa - 前前前世(Slow Ver.).mp3
|
|
||||||
6:放課後ティータイム - わたしの恋はホッチキス.mp3
|
|
||||||
7:佐々木恵梨 - Ring of Fortune.mp3
|
|
||||||
8:放課後ティータイム - わたしの恋はホッチキス.mp3
|
|
||||||
9:早見沙織 - ここから、ここから -白石結月 ソロver.-.mp3
|
|
||||||
10:瀬戸麻沙美,黒沢ともよ,小澤亜李 - さよなら。ありがとう。.mp3
|
|
||||||
11:コアラモード. - 七色シンフォニー.mp3
|
|
||||||
12:泠鸢yousa - 前前前世(Slow Ver.).mp3
|
|
||||||
playlist_end
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
CTRL+1 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_VL.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_VL.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode A (HQ)"
|
|
||||||
CTRL+2 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_Soft_VL.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_VL.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode B (HQ)"
|
|
||||||
CTRL+3 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Upscale_Denoise_CNN_x2_VL.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode C (HQ)"
|
|
||||||
CTRL+4 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_VL.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_VL.glsl:~~/shaders/Anime4K_Restore_CNN_M.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode A+A (HQ)"
|
|
||||||
CTRL+5 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_Soft_VL.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_VL.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Restore_CNN_Soft_M.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode B+B (HQ)"
|
|
||||||
CTRL+6 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Upscale_Denoise_CNN_x2_VL.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Restore_CNN_M.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode C+A (HQ)"
|
|
||||||
|
|
||||||
CTRL+0 no-osd change-list glsl-shaders clr ""; show-text "GLSL shaders cleared"
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
hwdec=auto
|
|
||||||
# vo=gpu-next #This will break Anime4K
|
|
||||||
gpu-api=opengl
|
|
||||||
script-opts=ytdl_hook-ytdl_path=yt-dlp
|
|
||||||
|
|
||||||
# Main mpv options
|
|
||||||
background-color='#1e1e2e'
|
|
||||||
osd-back-color='#11111b'
|
|
||||||
osd-border-color='#11111b'
|
|
||||||
osd-color='#cdd6f4'
|
|
||||||
osd-shadow-color='#1e1e2e'
|
|
||||||
|
|
||||||
# Stats script options
|
|
||||||
# Options are on separate lines for clarity
|
|
||||||
# Colors are in #BBGGRR format
|
|
||||||
script-opts-append=stats-border_color=251818
|
|
||||||
script-opts-append=stats-font_color=f4d6cd
|
|
||||||
script-opts-append=stats-plot_bg_border_color=afe2f9
|
|
||||||
script-opts-append=stats-plot_bg_color=251818
|
|
||||||
script-opts-append=stats-plot_color=afe2f9
|
|
||||||
|
|
||||||
# External script options
|
|
||||||
# It is fine to leave these here even if one does not use these scripts because they are just ignored unless a script uses them
|
|
||||||
|
|
||||||
# UOSC options
|
|
||||||
script-opts-append=uosc-color=foreground=f9e2af,foreground_text=313244,background=1e1e2e,background_text=cdd6f4,curtain=181825,success=a6e3a1,error=f38ba8
|
|
||||||
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -1 +0,0 @@
|
|||||||
249598
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
include ~/.newsboat/dark
|
|
||||||
|
|
||||||
auto-reload yes # fetch new content when starting program
|
|
||||||
reload-time 10 # fetch new content every 10 minutes
|
|
||||||
notify-always yes # update tmux counters after every fetch
|
|
||||||
notify-format "%d %n %f"
|
|
||||||
notify-program "~/.tmux/plugins/tmux-newsboat/bin/tmux-newsboat"
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
color listnormal color15 default
|
|
||||||
color listnormal_unread color2 default
|
|
||||||
color listfocus_unread color2 color0
|
|
||||||
color listfocus default color0
|
|
||||||
color background default default
|
|
||||||
color article default default
|
|
||||||
color end-of-text-marker color8 default
|
|
||||||
color info color4 color8
|
|
||||||
color hint-separator default color8
|
|
||||||
color hint-description default color8
|
|
||||||
color title color14 color8
|
|
||||||
|
|
||||||
highlight article "^(Feed|Title|Author|Link|Date): .+" color4 default bold
|
|
||||||
highlight article "^(Feed|Title|Author|Link|Date):" color14 default bold
|
|
||||||
|
|
||||||
highlight article "\\((link|image|video)\\)" color8 default
|
|
||||||
highlight article "https?://[^ ]+" color4 default
|
|
||||||
highlight article "\[[0-9]+\]" color6 default bold
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
######################################################################
|
|
||||||
######################################################################
|
|
||||||
####### FEEDS RSS ######
|
|
||||||
######################################################################
|
|
||||||
######################################################################
|
|
||||||
|
|
||||||
# Archlinux updates
|
|
||||||
https://archlinux.org/feeds/packages/
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
# Transparency and shadows
|
|
||||||
shadow = true
|
|
||||||
shadow-radius = 12
|
|
||||||
shadow-offset-x = -12
|
|
||||||
shadow-offset-y = -12
|
|
||||||
shadow-opacity = 0.3
|
|
||||||
|
|
||||||
fading = true
|
|
||||||
fade-in-step = 0.03
|
|
||||||
fade-out-step = 0.03
|
|
||||||
|
|
||||||
backend = "glx"
|
|
||||||
vsync = true
|
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
@theme "catppuccin"
|
//@theme "catppuccin"
|
||||||
|
|
||||||
configuration {
|
configuration {
|
||||||
modi: "drun,window,filebrowser,ssh";
|
modi: "drun,window,filebrowser,ssh";
|
||||||
@@ -18,3 +18,4 @@ configuration {
|
|||||||
display-filebrowser: " filebrowser:";
|
display-filebrowser: " filebrowser:";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@theme "/home/fscotto/.config/rofi/themes/catppuccin-lavrent-mocha.rasi"
|
||||||
|
|||||||
@@ -9,32 +9,6 @@ $git_metrics\
|
|||||||
$git_status\
|
$git_status\
|
||||||
$hg_branch\
|
$hg_branch\
|
||||||
$package\
|
$package\
|
||||||
$bun\
|
|
||||||
$c\
|
|
||||||
$cmake\
|
|
||||||
$elixir\
|
|
||||||
$erlang\
|
|
||||||
$gleam\
|
|
||||||
$golang\
|
|
||||||
$gradle\
|
|
||||||
$haskell\
|
|
||||||
$haxe\
|
|
||||||
$helm\
|
|
||||||
$java\
|
|
||||||
$kotlin\
|
|
||||||
$lua\
|
|
||||||
$nodejs\
|
|
||||||
$ocaml\
|
|
||||||
$perl\
|
|
||||||
$php\
|
|
||||||
$python\
|
|
||||||
$ruby\
|
|
||||||
$rust\
|
|
||||||
$scala\
|
|
||||||
$swift\
|
|
||||||
$terraform\
|
|
||||||
$vagrant\
|
|
||||||
$zig\
|
|
||||||
$docker_context\
|
$docker_context\
|
||||||
$buf\
|
$buf\
|
||||||
$guix_shell\
|
$guix_shell\
|
||||||
@@ -49,7 +23,6 @@ $custom\
|
|||||||
$sudo\
|
$sudo\
|
||||||
$cmd_duration\
|
$cmd_duration\
|
||||||
$line_break\
|
$line_break\
|
||||||
$jobs\
|
|
||||||
$time\
|
$time\
|
||||||
$status\
|
$status\
|
||||||
$container\
|
$container\
|
||||||
@@ -186,7 +159,7 @@ crust = "#11111b"
|
|||||||
|
|
||||||
[character]
|
[character]
|
||||||
# Note the use of Catppuccin color 'maroon'
|
# Note the use of Catppuccin color 'maroon'
|
||||||
success_symbol = "[[♥](peach) ❯](maroon)"
|
success_symbol = "[❯](maroon)"
|
||||||
error_symbol = "[❯](red)"
|
error_symbol = "[❯](red)"
|
||||||
vimcmd_symbol = "[❮](green)"
|
vimcmd_symbol = "[❮](green)"
|
||||||
|
|
||||||
@@ -311,49 +284,49 @@ disabled = false
|
|||||||
format = "[$symbol ]($style)"
|
format = "[$symbol ]($style)"
|
||||||
|
|
||||||
[os.symbols]
|
[os.symbols]
|
||||||
Alpaquita = " "
|
Alpaquita = ""
|
||||||
Alpine = " "
|
Alpine = ""
|
||||||
AlmaLinux = " "
|
AlmaLinux = " "
|
||||||
Amazon = " "
|
Amazon = ""
|
||||||
Android = " "
|
Android = " "
|
||||||
Arch = " "
|
Arch = ""
|
||||||
Artix = " "
|
Artix = ""
|
||||||
CentOS = " "
|
CentOS = ""
|
||||||
Debian = " "
|
Debian = ""
|
||||||
DragonFly = " "
|
DragonFly = ""
|
||||||
Emscripten = " "
|
Emscripten = " "
|
||||||
EndeavourOS = " "
|
EndeavourOS = " "
|
||||||
Fedora = " "
|
Fedora = ""
|
||||||
FreeBSD = " "
|
FreeBSD = ""
|
||||||
Garuda = " "
|
Garuda = ""
|
||||||
Gentoo = " "
|
Gentoo = ""
|
||||||
HardenedBSD = " "
|
HardenedBSD = ""
|
||||||
Illumos = " "
|
Illumos = ""
|
||||||
Kali = " "
|
Kali = " "
|
||||||
Linux = " "
|
Linux = ""
|
||||||
Mabox = " "
|
Mabox = ""
|
||||||
Macos = " "
|
Macos = ""
|
||||||
Manjaro = " "
|
Manjaro = ""
|
||||||
Mariner = " "
|
Mariner = ""
|
||||||
MidnightBSD = " "
|
MidnightBSD = ""
|
||||||
Mint = " "
|
Mint = ""
|
||||||
NetBSD = " "
|
NetBSD = ""
|
||||||
NixOS = " "
|
NixOS = ""
|
||||||
OpenBSD = " "
|
OpenBSD = ""
|
||||||
openSUSE = " "
|
openSUSE = ""
|
||||||
OracleLinux = " "
|
OracleLinux = ""
|
||||||
Pop = " "
|
Pop = ""
|
||||||
Raspbian = " "
|
Raspbian = ""
|
||||||
Redhat = " "
|
Redhat = ""
|
||||||
RedHatEnterprise = " "
|
RedHatEnterprise = ""
|
||||||
RockyLinux = " "
|
RockyLinux = ""
|
||||||
Redox = " "
|
Redox = ""
|
||||||
Solus = " "
|
Solus = ""
|
||||||
SUSE = " "
|
SUSE = ""
|
||||||
Ubuntu = " "
|
Ubuntu = ""
|
||||||
Unknown = " "
|
Unknown = ""
|
||||||
Void = " "
|
Void = ""
|
||||||
Windows = " "
|
Windows = ""
|
||||||
|
|
||||||
[package]
|
[package]
|
||||||
symbol = " "
|
symbol = " "
|
||||||
|
|||||||
@@ -1,21 +0,0 @@
|
|||||||
[main]
|
|
||||||
font=Noto Sans Regular:size=10
|
|
||||||
icon-theme=Papirus
|
|
||||||
include=~/.config/fuzzel/themes/catppuccin-mocha/blue.ini
|
|
||||||
hide-before-typing=no
|
|
||||||
fields=filename,name,generic
|
|
||||||
match-mode=fzf
|
|
||||||
sort-result=yes
|
|
||||||
match-counter=yes
|
|
||||||
show-actions=no
|
|
||||||
anchor = center
|
|
||||||
x-margin=0
|
|
||||||
y-margin=0
|
|
||||||
lines=10
|
|
||||||
width=70
|
|
||||||
tabs=4
|
|
||||||
horizontal-pad=40
|
|
||||||
vertical-pad=8
|
|
||||||
inner-pad=0
|
|
||||||
layer=overlay # values (top, overlay)
|
|
||||||
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
[colors]
|
|
||||||
background=303446dd
|
|
||||||
text=c6d0f5ff
|
|
||||||
prompt=b5bfe2ff
|
|
||||||
placeholder=838ba7ff
|
|
||||||
input=c6d0f5ff
|
|
||||||
match=8caaeeff
|
|
||||||
selection=626880ff
|
|
||||||
selection-text=c6d0f5ff
|
|
||||||
selection-match=8caaeeff
|
|
||||||
counter=838ba7ff
|
|
||||||
border=8caaeeff
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
[colors]
|
|
||||||
background=303446dd
|
|
||||||
text=c6d0f5ff
|
|
||||||
prompt=b5bfe2ff
|
|
||||||
placeholder=838ba7ff
|
|
||||||
input=c6d0f5ff
|
|
||||||
match=eebebeff
|
|
||||||
selection=626880ff
|
|
||||||
selection-text=c6d0f5ff
|
|
||||||
selection-match=eebebeff
|
|
||||||
counter=838ba7ff
|
|
||||||
border=eebebeff
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
[colors]
|
|
||||||
background=303446dd
|
|
||||||
text=c6d0f5ff
|
|
||||||
prompt=b5bfe2ff
|
|
||||||
placeholder=838ba7ff
|
|
||||||
input=c6d0f5ff
|
|
||||||
match=a6d189ff
|
|
||||||
selection=626880ff
|
|
||||||
selection-text=c6d0f5ff
|
|
||||||
selection-match=a6d189ff
|
|
||||||
counter=838ba7ff
|
|
||||||
border=a6d189ff
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
[colors]
|
|
||||||
background=303446dd
|
|
||||||
text=c6d0f5ff
|
|
||||||
prompt=b5bfe2ff
|
|
||||||
placeholder=838ba7ff
|
|
||||||
input=c6d0f5ff
|
|
||||||
match=babbf1ff
|
|
||||||
selection=626880ff
|
|
||||||
selection-text=c6d0f5ff
|
|
||||||
selection-match=babbf1ff
|
|
||||||
counter=838ba7ff
|
|
||||||
border=babbf1ff
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
[colors]
|
|
||||||
background=303446dd
|
|
||||||
text=c6d0f5ff
|
|
||||||
prompt=b5bfe2ff
|
|
||||||
placeholder=838ba7ff
|
|
||||||
input=c6d0f5ff
|
|
||||||
match=ea999cff
|
|
||||||
selection=626880ff
|
|
||||||
selection-text=c6d0f5ff
|
|
||||||
selection-match=ea999cff
|
|
||||||
counter=838ba7ff
|
|
||||||
border=ea999cff
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
[colors]
|
|
||||||
background=303446dd
|
|
||||||
text=c6d0f5ff
|
|
||||||
prompt=b5bfe2ff
|
|
||||||
placeholder=838ba7ff
|
|
||||||
input=c6d0f5ff
|
|
||||||
match=ca9ee6ff
|
|
||||||
selection=626880ff
|
|
||||||
selection-text=c6d0f5ff
|
|
||||||
selection-match=ca9ee6ff
|
|
||||||
counter=838ba7ff
|
|
||||||
border=ca9ee6ff
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
[colors]
|
|
||||||
background=303446dd
|
|
||||||
text=c6d0f5ff
|
|
||||||
prompt=b5bfe2ff
|
|
||||||
placeholder=838ba7ff
|
|
||||||
input=c6d0f5ff
|
|
||||||
match=ef9f76ff
|
|
||||||
selection=626880ff
|
|
||||||
selection-text=c6d0f5ff
|
|
||||||
selection-match=ef9f76ff
|
|
||||||
counter=838ba7ff
|
|
||||||
border=ef9f76ff
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
[colors]
|
|
||||||
background=303446dd
|
|
||||||
text=c6d0f5ff
|
|
||||||
prompt=b5bfe2ff
|
|
||||||
placeholder=838ba7ff
|
|
||||||
input=c6d0f5ff
|
|
||||||
match=f4b8e4ff
|
|
||||||
selection=626880ff
|
|
||||||
selection-text=c6d0f5ff
|
|
||||||
selection-match=f4b8e4ff
|
|
||||||
counter=838ba7ff
|
|
||||||
border=f4b8e4ff
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
[colors]
|
|
||||||
background=303446dd
|
|
||||||
text=c6d0f5ff
|
|
||||||
prompt=b5bfe2ff
|
|
||||||
placeholder=838ba7ff
|
|
||||||
input=c6d0f5ff
|
|
||||||
match=e78284ff
|
|
||||||
selection=626880ff
|
|
||||||
selection-text=c6d0f5ff
|
|
||||||
selection-match=e78284ff
|
|
||||||
counter=838ba7ff
|
|
||||||
border=e78284ff
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
[colors]
|
|
||||||
background=303446dd
|
|
||||||
text=c6d0f5ff
|
|
||||||
prompt=b5bfe2ff
|
|
||||||
placeholder=838ba7ff
|
|
||||||
input=c6d0f5ff
|
|
||||||
match=f2d5cfff
|
|
||||||
selection=626880ff
|
|
||||||
selection-text=c6d0f5ff
|
|
||||||
selection-match=f2d5cfff
|
|
||||||
counter=838ba7ff
|
|
||||||
border=f2d5cfff
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
[colors]
|
|
||||||
background=303446dd
|
|
||||||
text=c6d0f5ff
|
|
||||||
prompt=b5bfe2ff
|
|
||||||
placeholder=838ba7ff
|
|
||||||
input=c6d0f5ff
|
|
||||||
match=85c1dcff
|
|
||||||
selection=626880ff
|
|
||||||
selection-text=c6d0f5ff
|
|
||||||
selection-match=85c1dcff
|
|
||||||
counter=838ba7ff
|
|
||||||
border=85c1dcff
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
[colors]
|
|
||||||
background=303446dd
|
|
||||||
text=c6d0f5ff
|
|
||||||
prompt=b5bfe2ff
|
|
||||||
placeholder=838ba7ff
|
|
||||||
input=c6d0f5ff
|
|
||||||
match=99d1dbff
|
|
||||||
selection=626880ff
|
|
||||||
selection-text=c6d0f5ff
|
|
||||||
selection-match=99d1dbff
|
|
||||||
counter=838ba7ff
|
|
||||||
border=99d1dbff
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
[colors]
|
|
||||||
background=303446dd
|
|
||||||
text=c6d0f5ff
|
|
||||||
prompt=b5bfe2ff
|
|
||||||
placeholder=838ba7ff
|
|
||||||
input=c6d0f5ff
|
|
||||||
match=81c8beff
|
|
||||||
selection=626880ff
|
|
||||||
selection-text=c6d0f5ff
|
|
||||||
selection-match=81c8beff
|
|
||||||
counter=838ba7ff
|
|
||||||
border=81c8beff
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
[colors]
|
|
||||||
background=303446dd
|
|
||||||
text=c6d0f5ff
|
|
||||||
prompt=b5bfe2ff
|
|
||||||
placeholder=838ba7ff
|
|
||||||
input=c6d0f5ff
|
|
||||||
match=e5c890ff
|
|
||||||
selection=626880ff
|
|
||||||
selection-text=c6d0f5ff
|
|
||||||
selection-match=e5c890ff
|
|
||||||
counter=838ba7ff
|
|
||||||
border=e5c890ff
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
[colors]
|
|
||||||
background=eff1f5dd
|
|
||||||
text=4c4f69ff
|
|
||||||
prompt=5c5f77ff
|
|
||||||
placeholder=8c8fa1ff
|
|
||||||
input=4c4f69ff
|
|
||||||
match=1e66f5ff
|
|
||||||
selection=acb0beff
|
|
||||||
selection-text=4c4f69ff
|
|
||||||
selection-match=1e66f5ff
|
|
||||||
counter=8c8fa1ff
|
|
||||||
border=1e66f5ff
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
[colors]
|
|
||||||
background=eff1f5dd
|
|
||||||
text=4c4f69ff
|
|
||||||
prompt=5c5f77ff
|
|
||||||
placeholder=8c8fa1ff
|
|
||||||
input=4c4f69ff
|
|
||||||
match=dd7878ff
|
|
||||||
selection=acb0beff
|
|
||||||
selection-text=4c4f69ff
|
|
||||||
selection-match=dd7878ff
|
|
||||||
counter=8c8fa1ff
|
|
||||||
border=dd7878ff
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
[colors]
|
|
||||||
background=eff1f5dd
|
|
||||||
text=4c4f69ff
|
|
||||||
prompt=5c5f77ff
|
|
||||||
placeholder=8c8fa1ff
|
|
||||||
input=4c4f69ff
|
|
||||||
match=40a02bff
|
|
||||||
selection=acb0beff
|
|
||||||
selection-text=4c4f69ff
|
|
||||||
selection-match=40a02bff
|
|
||||||
counter=8c8fa1ff
|
|
||||||
border=40a02bff
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
[colors]
|
|
||||||
background=eff1f5dd
|
|
||||||
text=4c4f69ff
|
|
||||||
prompt=5c5f77ff
|
|
||||||
placeholder=8c8fa1ff
|
|
||||||
input=4c4f69ff
|
|
||||||
match=7287fdff
|
|
||||||
selection=acb0beff
|
|
||||||
selection-text=4c4f69ff
|
|
||||||
selection-match=7287fdff
|
|
||||||
counter=8c8fa1ff
|
|
||||||
border=7287fdff
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
[colors]
|
|
||||||
background=eff1f5dd
|
|
||||||
text=4c4f69ff
|
|
||||||
prompt=5c5f77ff
|
|
||||||
placeholder=8c8fa1ff
|
|
||||||
input=4c4f69ff
|
|
||||||
match=e64553ff
|
|
||||||
selection=acb0beff
|
|
||||||
selection-text=4c4f69ff
|
|
||||||
selection-match=e64553ff
|
|
||||||
counter=8c8fa1ff
|
|
||||||
border=e64553ff
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
[colors]
|
|
||||||
background=eff1f5dd
|
|
||||||
text=4c4f69ff
|
|
||||||
prompt=5c5f77ff
|
|
||||||
placeholder=8c8fa1ff
|
|
||||||
input=4c4f69ff
|
|
||||||
match=8839efff
|
|
||||||
selection=acb0beff
|
|
||||||
selection-text=4c4f69ff
|
|
||||||
selection-match=8839efff
|
|
||||||
counter=8c8fa1ff
|
|
||||||
border=8839efff
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
[colors]
|
|
||||||
background=eff1f5dd
|
|
||||||
text=4c4f69ff
|
|
||||||
prompt=5c5f77ff
|
|
||||||
placeholder=8c8fa1ff
|
|
||||||
input=4c4f69ff
|
|
||||||
match=fe640bff
|
|
||||||
selection=acb0beff
|
|
||||||
selection-text=4c4f69ff
|
|
||||||
selection-match=fe640bff
|
|
||||||
counter=8c8fa1ff
|
|
||||||
border=fe640bff
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
[colors]
|
|
||||||
background=eff1f5dd
|
|
||||||
text=4c4f69ff
|
|
||||||
prompt=5c5f77ff
|
|
||||||
placeholder=8c8fa1ff
|
|
||||||
input=4c4f69ff
|
|
||||||
match=ea76cbff
|
|
||||||
selection=acb0beff
|
|
||||||
selection-text=4c4f69ff
|
|
||||||
selection-match=ea76cbff
|
|
||||||
counter=8c8fa1ff
|
|
||||||
border=ea76cbff
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user