Initial commit

This commit is contained in:
Fabio Scotto di Santolo
2025-07-25 11:02:18 +02:00
commit 6249ebcb1f
73 changed files with 12227 additions and 0 deletions

271
.gitignore vendored Normal file
View File

@@ -0,0 +1,271 @@
nvim/dot-config/nvim/lazy-lock.json
# Created by https://www.toptal.com/developers/gitignore/api/perl,python,ruby
# Edit at https://www.toptal.com/developers/gitignore?templates=perl,python,ruby
### Perl ###
!Build/
.last_cover_stats
/META.yml
/META.json
/MYMETA.*
*.o
*.pm.tdy
*.bs
# Devel::Cover
cover_db/
# Devel::NYTProf
nytprof.out
# Dist::Zilla
/.build/
# Module::Build
_build/
Build
Build.bat
# Module::Install
inc/
# ExtUtils::MakeMaker
/blib/
/_eumm/
/*.gz
/Makefile
/Makefile.old
/MANIFEST.bak
/pm_to_blib
/*.zip
### Python ###
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
# C extensions
*.so
# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST
# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
# Installer logs
pip-log.txt
pip-delete-this-directory.txt
# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/
# Translations
*.mo
*.pot
# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal
# Flask stuff:
instance/
.webassets-cache
# Scrapy stuff:
.scrapy
# Sphinx documentation
docs/_build/
# PyBuilder
.pybuilder/
target/
# Jupyter Notebook
.ipynb_checkpoints
# IPython
profile_default/
ipython_config.py
# pyenv
# For a library or package, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
# .python-version
# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock
# poetry
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
# This is especially recommended for binary packages to ensure reproducibility, and is more
# commonly ignored for libraries.
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
#poetry.lock
# pdm
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
#pdm.lock
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
# in version control.
# https://pdm.fming.dev/#use-with-ide
.pdm.toml
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
__pypackages__/
# Celery stuff
celerybeat-schedule
celerybeat.pid
# SageMath parsed files
*.sage.py
# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/
# Spyder project settings
.spyderproject
.spyproject
# Rope project settings
.ropeproject
# mkdocs documentation
/site
# mypy
.mypy_cache/
.dmypy.json
dmypy.json
# Pyre type checker
.pyre/
# pytype static type analyzer
.pytype/
# Cython debug symbols
cython_debug/
# PyCharm
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/
### Python Patch ###
# Poetry local configuration file - https://python-poetry.org/docs/configuration/#local-configuration
poetry.toml
# ruff
.ruff_cache/
# LSP config files
pyrightconfig.json
### Ruby ###
*.gem
*.rbc
/.config
/coverage/
/InstalledFiles
/pkg/
/spec/reports/
/spec/examples.txt
/test/tmp/
/test/version_tmp/
/tmp/
# Used by dotenv library to load environment variables.
# .env
# Ignore Byebug command history file.
.byebug_history
## Specific to RubyMotion:
.dat*
.repl_history
*.bridgesupport
build-iPhoneOS/
build-iPhoneSimulator/
## Specific to RubyMotion (use of CocoaPods):
#
# We recommend against adding the Pods directory to your .gitignore. However
# you should judge for yourself, the pros and cons are mentioned at:
# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
# vendor/Pods/
## Documentation cache and generated files:
/.yardoc/
/_yardoc/
/doc/
/rdoc/
## Environment normalization:
/.bundle/
/vendor/bundle
/lib/bundler/man/
# for a library or gem, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
# Gemfile.lock
# .ruby-version
# .ruby-gemset
# unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
.rvmrc
# Used by RuboCop. Remote config files pulled in from inherit_from directive.
# .rubocop-https?--*
# End of https://www.toptal.com/developers/gitignore/api/perl,python,ruby

30
.gitmodules vendored Normal file
View File

@@ -0,0 +1,30 @@
[submodule "tmux/.tmux/plugins/tpm"]
path = tmux/.tmux/plugins/tpm
url = https://github.com/tmux-plugins/tpm
[submodule "tmux/.tmux/plugins/tmux-autoreload"]
path = tmux/.tmux/plugins/tmux-autoreload
url = https://git::@github.com/b0o/tmux-autoreload
[submodule "tmux/.tmux/plugins/tmux-open"]
path = tmux/.tmux/plugins/tmux-open
url = https://git::@github.com/tmux-plugins/tmux-open
[submodule "tmux/.tmux/plugins/tmux-powerline"]
path = tmux/.tmux/plugins/tmux-powerline
url = https://git::@github.com/erikw/tmux-powerline
[submodule "tmux/.tmux/plugins/tmux-sensible"]
path = tmux/.tmux/plugins/tmux-sensible
url = https://git::@github.com/tmux-plugins/tmux-sensible
[submodule "tmux/.tmux/plugins/tmux-power"]
path = tmux/.tmux/plugins/tmux-power
url = https://git::@github.com/wfxr/tmux-power
[submodule "tmux/.tmux/plugins/tmux"]
path = tmux/.tmux/plugins/tmux
url = https://github.com/catppuccin/tmux.git
[submodule "zsh/.oh-my-zsh/custom/plugins/zsh-autosuggestions"]
path = zsh/.oh-my-zsh/custom/plugins/zsh-autosuggestions
url = https://github.com/zsh-users/zsh-autosuggestions.git
[submodule "zsh/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting"]
path = zsh/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting
url = https://github.com/zsh-users/zsh-syntax-highlighting.git
[submodule "zsh/.oh-my-zsh/custom/plugins/fzf"]
path = zsh/.oh-my-zsh/custom/plugins/fzf
url = https://github.com/junegunn/fzf.git

142
README.md Normal file
View File

@@ -0,0 +1,142 @@
# 🪟 WindowsSpecific Dotfiles
This branch (`windows`) contains only the configuration files and tools I use on **Windows systems**.
It is separated from the main branch to avoid mixing Linux/macOS configurations with those required only for Windows or WSL.
---
## 📦 Included Configurations
This branch includes:
- PowerShell and PowerShell Core profile settings (`Microsoft.PowerShell_profile.ps1`)
- Windows Terminal settings (`settings.json`)
- Neovim configuration (used via WSL or native Windows installation)
- `starship.toml` prompt configuration
- `zsh/` folder for WSL Zsh integration (if used)
- Windows-specific `.gitconfig` overrides
- Helper scripts (e.g., `.ps1`, `.bat`, or `.sh` under WSL)
- Optional tools: `fzf`, `bat`, `zoxide`, `ripgrep`, `fd` (via WSL or Windows-native)
---
## 🚀 Quick Setup
> ⚠️ This assumes [Git](https://git-scm.com), [PowerShell 7+](https://learn.microsoft.com/powershell/scripting/install/installing-powershell), and optionally [Windows Terminal](https://aka.ms/terminal) are installed.
Clone and install:
```powershell
git clone https://github.com/fscotto/dotfiles -b windows $HOME\.dotfiles
cd $HOME\.dotfiles
.\bootstrap_windows.ps1
````
The script will:
* Copy or symlink PowerShell profile(s)
* Configure Windows Terminal settings
* Place `starship.toml` in the correct location
* Configure Neovim under `$env:LOCALAPPDATA\nvim` or WSL
* Set up additional tools if available
---
## 🧰 Optional Tools
Install these tools to get the best experience:
| Tool | Installation (native) | Usage |
| ---------- | ------------------------------ | -------------------------- |
| `starship` | `winget install starship` | Prompt in PowerShell/Zsh |
| `zoxide` | `winget install zoxide` | Smarter `cd` |
| `bat` | `winget install bat` | Better `cat` |
| `fzf` | `winget install fzf` | Fuzzy file finder |
| `fd` | `winget install fd` | Fast file search |
| `ripgrep` | `winget install ripgrep` | Recursive grep alternative |
| `neovim` | `winget install Neovim.Neovim` | Editor (native or WSL) |
> You can also install these inside WSL with `apt` or `xbps-install`, depending on the distro.
---
## 🧪 Neovim in WSL or Windows
This setup supports both native Neovim (in `AppData\Local\nvim`) and WSL Neovim (`~/.config/nvim`):
* Use the same config by syncing with `stow`, `rclone`, or a symbolic link
* Make sure `nvim` is in your `$PATH` (native or via WSL)
* Optional plugin managers: lazy.nvim, vim-plug, etc.
---
## ⚙️ Git Configuration
This branch includes Windows-specific Git settings (e.g. line endings, credential manager):
```bash
# .gitconfig.windows
[core]
autocrlf = true
[credential]
helper = manager-core
```
You can include this in your global config with:
```bash
git config --global include.path ~/.dotfiles/.gitconfig.windows
```
---
## 🖥️ Windows Terminal Settings
Settings are stored at:
```text
%LOCALAPPDATA%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json
```
> You can symlink or manually copy from this repo if needed.
---
## 🧭 Branch Structure
| Branch | Purpose | Content |
| --------- | -------------------------------- | ----------------------------------------- |
| `master` | Main configuration (Linux/macOS) | Shell, Neovim, Tmux, tools, etc. |
| `windows` | Windows-only configuration | PowerShell, Windows Terminal, WSL support |
---
## 📂 Directory Structure
```text
dotfiles/
├── powershell/ # PowerShell profiles
├── windows-terminal/ # Windows Terminal settings
├── nvim/ # Neovim config (optional WSL sync)
├── starship.toml # Prompt config
├── bootstrap_windows.ps1 # Setup script
└── .gitconfig.windows # Git config overrides
```
---
## 🤝 Contributing
Found a useful Windows-only configuration or script?
Feel free to fork and open a pull request against the `windows` branch.
---
## 📝 License
MIT — Feel free to use, modify, and adapt.
---
> Maintained by [fscotto](https://github.com/fscotto)
> For Windows configuration only. See the `master` branch for full cross-platform support.

7
bash/.bash_logout Normal file
View File

@@ -0,0 +1,7 @@
# ~/.bash_logout: executed by bash(1) when login shell exits.
# when leaving the console clear the screen to increase privacy
if [ "$SHLVL" = 1 ]; then
[ -x /usr/bin/clear_console ] && /usr/bin/clear_console -q
fi

6
bash/.bash_profile Normal file
View File

@@ -0,0 +1,6 @@
#
# ~/.bash_profile
#
[[ -f ~/.bashrc ]] && . ~/.bashrc
[[ -f ~/.profile ]] && . ~/.profile

187
bash/.bashrc Normal file
View File

@@ -0,0 +1,187 @@
#
# ~/.bashrc
#
# If not running interactively, don't do anything
[[ $- != *i* ]] && return
shopt -s autocd
shopt -s checkwinsize
shopt -s cdspell
shopt -s cmdhist
shopt -s histappend
shopt -s hostcomplete
# Make colorcoding available for everyone
Black='\e[0;30m' # Black
Red='\e[0;31m' # Red
Green='\e[0;32m' # Green
Yellow='\e[0;33m' # Yellow
Blue='\e[0;34m' # Blue
Purple='\e[0;35m' # Purple
Cyan='\e[0;36m' # Cyan
White='\e[0;37m' # White
# Bold
BBlack='\e[1;30m' # Black
BRed='\e[1;31m' # Red
BGreen='\e[1;32m' # Green
BYellow='\e[1;33m' # Yellow
BBlue='\e[1;34m' # Blue
BPurple='\e[1;35m' # Purple
BCyan='\e[1;36m' # Cyan
BWhite='\e[1;37m' # White
# Background
On_Black='\e[40m' # Black
On_Red='\e[41m' # Red
On_Green='\e[42m' # Green
On_Yellow='\e[43m' # Yellow
On_Blue='\e[44m' # Blue
On_Purple='\e[45m' # Purple
On_Cyan='\e[46m' # Cyan
On_White='\e[47m' # White
NC="\e[m" # Color Reset
# new alert text
ALERT=${BWhite}${On_Red} # Bold White on red background
# Creates an archive (*.tar.gz) from given directory.
function maketar() { tar cvzf "${1%%/}.tar.gz" "${1%%/}/"; }
# Create a ZIP archive of a file or folder.
function makezip() { zip -r "${1%%/}.zip" "$1" ; }
function extract {
if [ -z "$1" ]; then
# display usage if no parameters given
echo "Usage: extract <path/file_name>.<zip|rar|bz2|gz|tar|tbz2|tgz|Z|7z|xz|ex|tar.bz2|tar.gz|tar.xz>"
else
if [ -f $1 ] ; then
# NAME=${1%.*}
# mkdir $NAME && cd $NAME
case $1 in
*.tar.bz2) tar xvjf ../$1 ;;
*.tar.gz) tar xvzf ../$1 ;;
*.tar.xz) tar xvJf ../$1 ;;
*.lzma) unlzma ../$1 ;;
*.bz2) bunzip2 ../$1 ;;
*.rar) unrar x -ad ../$1 ;;
*.gz) gunzip ../$1 ;;
*.tar) tar xvf ../$1 ;;
*.tbz2) tar xvjf ../$1 ;;
*.tgz) tar xvzf ../$1 ;;
*.zip) unzip ../$1 ;;
*.Z) uncompress ../$1 ;;
*.7z) 7z x ../$1 ;;
*.xz) unxz ../$1 ;;
*.exe) cabextract ../$1 ;;
*) echo "extract: '$1' - unknown archive method" ;;
esac
else
echo "$1 - file does not exist"
fi
fi
}
# jump directorys upwards until it hits a directory with multiple folders
function up(){
local d=""
limit=$1
for ((i=1 ; i <= limit ; i++))
do
d=$d/..
done
d=$(echo $d | sed 's/^\///')
if [ -z "$d" ]; then
d=..
fi
cd "$d" || exit
}
# create an directory and directly cd into it
function mcd() {
mkdir -p "$1"
cd "$1" || exit
}
function parse_git_branch() {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/'
}
function my_ip() {
INTERFACE=$(ip addr | awk '/state UP/ {print $2}' | sed 's/.$//')
echo "$(/sbin/ifconfig $INTERFACE | awk "/inet/ {print $2} " | sed -e s/addr://)"
}
function welcome() {
#------------------------------------------
#------WELCOME MESSAGE---------------------
# customize this first message with a message of your choice.
# this will display the username, date, time, a calendar, the amount of users, and the up time.
clear
# Gotta love ASCII art with figlet
#figlet "Welcome, " $USER;
toilet -f starwars -t "Welcome, " $USER;
#echo -e ""; cal ;
fastfetch 2> /dev/null
echo ""
echo -ne "Today is "; date
echo -e ""
echo -ne "Up time:";uptime | awk /'up/'
echo -en "Local IP Address : "; my_ip | awk '{print $2}'
echo "";
}
[ -r "$HOME/.bashrc.aliases" ] && . "$HOME/.bashrc.aliases"
# export QT_STYLE_OVERRIDE=gtk
# export QT_SELECT=qt5
if [[ $LANG = '' ]]; then
export LANG=it_IT.UTF-8
fi
if [ -n "$SSH_CLIENT" ]; then
ssh_placeholder=' {SSH::SESSION}'
fi
if [ -f "$HOME/.bash-git-prompt/gitprompt.sh" ]; then
# To only show the git prompt in or under a repository directory
GIT_PROMPT_ONLY_IN_REPO=0
# To use upstream's default theme
GIT_PROMPT_THEME=Custom
source "$HOME/.bash-git-prompt/gitprompt.sh"
fi
# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if ! shopt -oq posix; then
if [ -f /usr/share/bash-completion/bash_completion ]; then
. /usr/share/bash-completion/bash_completion
elif [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
fi
[ -e "/etc/DIR_COLORS" ] && DIR_COLORS="/etc/DIR_COLORS"
[ -e "$HOME/.dircolors" ] && DIR_COLORS="$HOME/.dircolors"
[ -e "$DIR_COLORS" ] || DIR_COLORS=""
[ -f "$HOME/.ghcup/env" ] && . "$HOME/.ghcup/env"
if [ -f "/home/linuxbrew/.linuxbrew/bin/brew" ]; then
# Initialize Homebrew
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
fi
if command -v starship > /dev/null 2>&1; then
eval "$(starship init bash)"
fi
if command -v zoxide > /dev/null 2>&1; then
# Initialize Zoxide
eval "$(zoxide init bash)"
fi

49
bash/.bashrc.aliases Normal file
View File

@@ -0,0 +1,49 @@
#
# ~/.bashrc.aliases
#
# Alias di cambio directory
alias ..="cd .."
alias ...="cd ../.."
alias .3="cd ../../.."
alias .4="cd ../../../.."
alias .5="cd ../../../../.."
alias cd..="cd .."
alias home="cd ~"
# Alias del comando ls
alias l="ls -CF --color=always"
alias ls="ls --color=always"
alias lla="ls -lisah"
alias ll="ls -lh"
alias la="ls -CFa"
alias lsl="ls -lhFA | less"
# Output colorato comandi vari
alias grep='grep --color=auto'
alias gcc='colorgcc'
alias diff='colordiff'
# Alias vari
alias path='echo -e ${PATH//:/\\n}' # path: Echo all executable Paths
alias mkdir="mkdir -pv"
alias journalctl='sudo journalctl'
alias failed='sudo systemctl --failed'
alias se='ls /usr/bin | grep'
alias df='df -h'
alias du='du -h'
alias please='sudo $(fc -ln -1)'
alias userlist="cut -d: -f1 /etc/passwd | sort"
alias fhere="find . -name "
alias free="free -mth"
alias ps="ps auxf"
alias psgrep="ps aux | grep -v grep | grep -i -e VSZ -e"
alias wget="wget -c"
alias histg="history | grep"
alias myip="curl http://ipecho.net/plain; echo"
alias logs="find /var/log -type f -exec file {} \; | grep 'text' | cut -d' ' -f1 | sed -e's/:$//g' | grep -v '[0-9]$' | xargs tail -f"
alias folders='find . -maxdepth 1 -type d -print0 | xargs -0 du -sk | sort -rn'
alias vpn-add='nmcli connection import type openvpn file'
alias pbcopy='xsel --clipboard --input'
alias pbpaste='xsel --clipboard --output'
alias stow='stow --dotfiles -d ~/.dotfiles '

30
bat/.config/bat/config Normal file
View File

@@ -0,0 +1,30 @@
# This is `bat`s configuration file. Each line either contains a comment or
# a command-line option that you want to pass to `bat` by default. You can
# run `bat --help` to get a list of all possible configuration options.
# Specify desired highlighting theme (e.g. "TwoDark"). Run `bat --list-themes`
# for a list of all available themes
# Theme
--theme="Catppuccin Mocha"
# Style
--style="header,changes,numbers"
# Enable this to use italic text on the terminal. This is not supported on all
# terminal emulators (like tmux, by default):
--italic-text=always
# Uncomment the following line to disable automatic paging:
--paging=auto
# Uncomment the following line if you are using less version >= 551 and want to
# enable mouse scrolling support in `bat` when running inside tmux. This might
# disable text selection, unless you press shift.
--pager="less --RAW-CONTROL-CHARS --quit-if-one-screen --mouse"
# Syntax mappings: map a certain filename pattern to a language.
# Example 1: use the C++ syntax for Arduino .ino files
# Example 2: Use ".gitignore"-style highlighting for ".ignore" files
--map-syntax "*.ino:C++"
--map-syntax ".ignore:Git Ignore"

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,72 @@
{
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
"logo": {
"padding": {
"top": 2
},
"type": "small"
},
"display": {
"separator": " -> "
},
"modules": [
"break",
{
"type": "title",
"keyWidth": 10,
"format": " {6}{7}{8}"
},
{
"type": "custom",
"format": " ╭───────────────────────╮"
},
{
"type": "kernel",
"key": " ",
"keyColor": "yellow"
},
{
"type": "wm",
"key": " ",
"keyColor": "blue"
},
{
"type": "shell",
"key": " ",
"keyColor": "yellow"
},
{
"type": "terminal",
"key": " ",
"keyColor": "blue"
},
/*
{
"type": "packages",
"key": "󰏖 ",
"keyColor": "yellow"
},
*/
{
"type": "memory",
"key": "󰍛 ",
"keyColor": "magenta",
// format: used / total
"format": "{1} / {2}"
},
{
"type": "uptime",
"key": "󰔛 ",
"keyColor": "green"
},
{
"type": "custom",
"format": " ╰───────────────────────╯"
},
{
"type": "custom",
"format": " \u001b[31m \u001b[32m \u001b[33m \u001b[34m \u001b[35m \u001b[36m \u001b[37m \u001b[90m "
},
"break",
]
}

View File

@@ -0,0 +1,137 @@
// Load with --load-config examples/2.jsonc
// Note that you must replace the image path to an existing image to display it.
{
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
"logo": {
"padding": {
"top": 2
}
},
"display": {
"separator": " 󰑃 "
},
"modules": [
{
"type": "custom",
"format": "\u001b[90m┌────────────────────────────────────────────────────────────┐"
},
{
"type": "title",
"keyWidth": 10,
"format": " {6}{7}{8}"
},
{
"type": "custom",
"format": "\u001b[90m└────────────────────────────────────────────────────────────┘"
},
{
"type": "custom",
"format": "\u001b[90m \u001b[31m \u001b[32m \u001b[33m \u001b[34m \u001b[35m \u001b[36m \u001b[37m \u001b[38m \u001b[39m  \u001b[38m \u001b[37m \u001b[36m \u001b[35m \u001b[34m \u001b[33m \u001b[32m \u001b[31m \u001b[90m "
},
{
"type": "custom",
"format": "\u001b[90m┌────────────────────────────────────────────────────────────┐"
},
{
"type": "os",
"key": " DISTRO",
"keyColor": "yellow"
},
{
"type": "kernel",
"key": "│ ├",
"keyColor": "yellow"
},
{
"type": "packages",
"key": "│ ├󰏖",
"keyColor": "yellow"
},
{
"type": "shell",
"key": "│ └",
"keyColor": "yellow"
},
{
"type": "wm",
"key": " DE/WM",
"keyColor": "blue"
},
{
"type": "theme",
"key": "│ ├󰉼",
"keyColor": "blue"
},
{
"type": "icons",
"key": "│ ├󰀻",
"keyColor": "blue"
},
{
"type": "terminal",
"key": "│ ├",
"keyColor": "blue"
},
{
"type": "wallpaper",
"key": "│ └󰸉",
"keyColor": "blue"
},
{
"type": "host",
"key": "󰌢 SYSTEM",
"keyColor": "green"
},
{
"type": "cpu",
"key": "│ ├󰻠",
"keyColor": "green"
},
{
"type": "gpu",
"key": "│ ├󰻑",
"keyColor": "green"
},
{
"type": "display",
"key": "│ ├󰍹",
"keyColor": "green",
"compactType": "original-with-refresh-rate"
},
{
"type": "memory",
"key": "│ ├󰾆",
"keyColor": "green"
},
{
"type": "swap",
"key": "│ ├󰓡",
"keyColor": "green"
},
{
"type": "uptime",
"key": "│ ├󰅐",
"keyColor": "green"
},
// {
// "type": "disk",
// "key": "│ └󰍹",
// "keyColor": "green"
// },
{
"type": "sound",
"key": " AUDIO",
"keyColor": "cyan"
},
{
"type": "custom",
"format": "\u001b[90m└────────────────────────────────────────────────────────────┘"
},
{
"type": "custom",
"format": "\u001b[90m \u001b[31m \u001b[32m \u001b[33m \u001b[34m \u001b[35m \u001b[36m \u001b[37m \u001b[38m \u001b[39m  \u001b[38m \u001b[37m \u001b[36m \u001b[35m \u001b[34m \u001b[33m \u001b[32m \u001b[31m \u001b[90m "
},
"break",
]
}

77
git/.gitconfig Normal file
View File

@@ -0,0 +1,77 @@
[init]
defaultBranch = main
[core]
excludesfile = ~/.gitignore_global
pager = delta
[user]
name = Fabio Scotto di Santolo
email = fabio.scottodisantolo@gmail.com
signingkey = 9DDD59AD62494FB2
editor = nvim
[fetch]
prune = true
[remote "origin"]
prune = true
[pull]
rebase = true
[commit]
gpgsign = true
[merge]
conflictstyle = diff3
[color]
ui = always
[color "status"]
branch = magenta
untracked = cyan
unmerged = yellow bold
[color "diff"]
frag = magenta bold
old = red bold
new = green bold
whitespace = red reverse
[color "diff-highlight"]
oldNormal = red bold
oldHighlight = red bold 52
newNormal = green bold
newHighlight = green bold 52
[help]
autocorrect = 30
[interactive]
diffFilter = delta --color-only
[alias]
co = checkout
br = branch
ci = commit
st = status
ld = log -p
lg = log --graph --abbrev-commit --decorate --date=relative --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(bold yellow)%d%C(reset)%n' --all
glog = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset'
onelinegraph = log --oneline --graph --decorate
undo = reset --soft HEAD~1
stash-all = stash save --include-untracked
expireunreachablenow = reflog expire --expire-unreachable=now --all
gcunreachablenow = gc --prune=now
[include]
path = ~/.themes.gitignore
[delta]
features = catppuccin-mocha navigate
true-color = always
colorMoved = default
tabs = 4
side-by-side = true

73
git/.gitignore_global Normal file
View File

@@ -0,0 +1,73 @@
# Created by https://www.toptal.com/developers/gitignore/api/windows,macos,linux
# Edit at https://www.toptal.com/developers/gitignore?templates=windows,macos,linux
### Linux ###
*~
# temporary files which can be created if a process still has a handle open of a deleted file
.fuse_hidden*
# KDE directory preferences
.directory
# Linux trash folder which might appear on any partition or disk
.Trash-*
# .nfs files are created when an open file is removed but is still being accessed
.nfs*
### macOS ###
# General
.DS_Store
.AppleDouble
.LSOverride
# Icon must end with two \r
Icon
# Thumbnails
._*
# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent
# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk
### Windows ###
# Windows thumbnail cache files
Thumbs.db
Thumbs.db:encryptable
ehthumbs.db
ehthumbs_vista.db
# Dump file
*.stackdump
# Folder config file
[Dd]esktop.ini
# Recycle Bin used on file shares
$RECYCLE.BIN/
# Windows Installer files
*.cab
*.msi
*.msix
*.msm
*.msp
# Windows shortcuts
*.lnk
# End of https://www.toptal.com/developers/gitignore/api/windows,macos,linux

667
git/.themes.gitignore Normal file
View File

@@ -0,0 +1,667 @@
# To use these themes, first include this file in your own gitconfig file:
#
# [include]
# path = PATH/TO/delta/themes.gitconfig
#
# Then, in your own gitconfig file, activate the chosen theme, e.g.
#
# [delta]
# features = kingfisher
#
# Please add your own themes to this file, and open a PR.
#
# Instructions:
#
# 1. The name of the theme must be the name of some sort of wild organism:
# mammal, bird, plant, mollusk -- whatever. It can be in any language.
#
# 2. Use `delta --show-config` to list all the style settings that are active in
# your current delta environment, but only include settings in your theme
# that are essential to its appearance.
#
# 3. Include either `dark = true` or `light = true` according to whether it is
# designed for a light or dark terminal background. (This marks a feature as
# a "theme", causing it to be picked up by `delta --show-themes`).
#
# 4. Feel free to include a comment line indicating who is the author of the
# theme. E.g. a link to your github user page.
[delta "colibri"]
# author: https://github.com/pablospe
# Based on woolly-mammoth: https://github.com/Kr1ss-XD.
commit-decoration-style = 130 box
dark = true
file-decoration-style = "#606018" overline
file-added-label = [●]
file-copied-label = [C]
file-modified-label = [+]
file-removed-label = [⛌]
file-renamed-label = [→]
file-style = 232 bold 184
hunk-header-style = syntax bold italic 237
line-numbers = true
line-numbers-left-format = "{nm:>1}┊"
line-numbers-left-style = red
line-numbers-minus-style = red bold
line-numbers-plus-style = green bold
line-numbers-right-format = " {np:>1}┊"
line-numbers-right-style = green
line-numbers-zero-style = "#545474" italic
minus-emph-style = normal "#80002a"
minus-style = normal "#5e0000"
plus-emph-style = syntax bold "#007e5e"
plus-style = syntax "#003500"
syntax-theme = OneHalfDark
whitespace-error-style = "#80002a" reverse
zero-style = syntax
blame-format = "{author:<18} ({commit:>7}) ┊{timestamp:^16}┊ "
[delta "collared-trogon"]
# author: https://github.com/clnoll
commit-decoration-style = bold box ul
dark = true
file-decoration-style = none
file-style = omit
hunk-header-decoration-style = "#022b45" box ul
hunk-header-file-style = "#999999"
hunk-header-line-number-style = bold "#003300"
hunk-header-style = file line-number syntax
line-numbers = true
line-numbers-left-style = "#022b45"
line-numbers-minus-style = "#80002a"
line-numbers-plus-style = "#003300"
line-numbers-right-style = "#022b45"
line-numbers-zero-style = "#999999"
minus-emph-style = normal "#80002a"
minus-style = normal "#330011"
plus-emph-style = syntax "#003300"
plus-style = syntax "#001a00"
syntax-theme = Nord
[delta "coracias-caudatus"]
# author: https://github.com/clnoll
commit-decoration-style = ol "#7536ff"
commit-style = "#200078"
file-decoration-style = none
file-style = omit
hunk-header-decoration-style = "#cfd6ff" ul
hunk-header-file-style = "#858dff"
hunk-header-line-number-style = "#7536ff"
hunk-header-style = file line-number syntax
light = true
line-numbers = true
line-numbers-left-format = "{nm:>4} ."
line-numbers-left-style = "#e3ab02"
line-numbers-minus-style = "#ff38b6"
line-numbers-plus-style = "#00e0c2"
line-numbers-right-format = "{np:>4} "
line-numbers-right-style = white
line-numbers-zero-style = "#cccccc"
minus-emph-style = bold "#ff3838" "#ffe3f7"
minus-style = "#ff0080"
plus-emph-style = "#008a81" bold "#00ffbf"
plus-style = syntax "#cffff3"
syntax-theme = GitHub
[delta "hoopoe"]
# author: https://github.com/dandavison
light = true
pink = "#ffe0e0"
dark-pink = "#ffc0c0"
green = "#d0ffd0"
dark-green = "#a0efa0"
dark-green-2 = "#067a00"
minus-style = normal hoopoe.pink
minus-emph-style = normal hoopoe.dark-pink
minus-non-emph-style = minus-style
plus-style = syntax hoopoe.green
plus-emph-style = syntax hoopoe.dark-green
plus-non-emph-style = plus-style
minus-empty-line-marker-style = minus-style
plus-empty-line-marker-style = plus-style
commit-decoration-style = blue ol
commit-style = raw
file-style = omit
hunk-header-decoration-style = blue box
hunk-header-file-style = red
hunk-header-line-number-style = hoopoe.dark-green-2
hunk-header-style = file line-number syntax
syntax-theme = GitHub
zero-style = syntax
[delta "tangara-chilensis"]
# author: https://github.com/clnoll
commit-decoration-style = bold box ul "#34fd50"
dark = true
file-decoration-style = none
file-style = omit
hunk-header-decoration-style = "#00b494" box ul
hunk-header-file-style = "#999999"
hunk-header-line-number-style = bold "#03a4ff"
hunk-header-style = file line-number syntax
line-numbers = true
line-numbers-left-style = black
line-numbers-minus-style = "#B10036"
line-numbers-plus-style = "#03a4ff"
line-numbers-right-style = black
line-numbers-zero-style = "#999999"
minus-emph-style = normal "#de004e"
minus-style = normal "#990017"
plus-emph-style = syntax "#03a4ff"
plus-style = syntax "#450eff"
side-by-side = true
syntax-theme = Vibrant Sunburst
[delta "villsau"]
# author: https://github.com/torarnv
dark = true
file-style = omit
hunk-header-decoration-style = omit
hunk-header-file-style = magenta
hunk-header-line-number-style = dim magenta
hunk-header-style = file line-number syntax
line-numbers = false
minus-emph-style = bold red 52
minus-empty-line-marker-style = normal "#3f0001"
minus-non-emph-style = dim red
minus-style = bold red
plus-emph-style = bold green 22
plus-empty-line-marker-style = normal "#002800"
plus-non-emph-style = dim green
plus-style = bold green
syntax-theme = OneHalfDark
whitespace-error-style = reverse red
zero-style = dim syntax
[delta "woolly-mammoth"]
# author: https://github.com/Kr1ss-XD
commit-decoration-style = 232 130 box
commit-style = 232 bold italic 130
dark = true
file-added-label = [+]
file-copied-label = [C]
file-decoration-style = "#606018" overline
file-modified-label = [M]
file-removed-label = [-]
file-renamed-label = [R]
file-style = 232 bold 184
hunk-header-decoration-style = none
hunk-header-style = syntax bold italic 237
line-numbers = true
line-numbers-left-format = "{nm:>1}┊"
line-numbers-left-style = red
line-numbers-minus-style = red italic black
line-numbers-plus-style = green italic black
line-numbers-right-format = "{np:>1}┊"
line-numbers-right-style = green
line-numbers-zero-style = "#545474" italic
minus-emph-style = syntax bold "#780000"
minus-style = syntax "#400000"
plus-emph-style = syntax bold "#007800"
plus-style = syntax "#004000"
syntax-theme = Vibrant Sunburst
whitespace-error-style = "#280050" reverse
zero-style = syntax
blame-format = "{author:<18} ({commit:>7}) ┊{timestamp:^16}┊ "
blame-palette = "#101010 #200020 #002800 #000028 #202000 #280000 #002020 #002800 #202020"
[delta "calochortus-lyallii"]
# author: https://github.com/manojkarthick
commit-decoration-style = none
dark = true
file-added-label = [+]
file-copied-label = [C]
file-decoration-style = none
file-modified-label = [M]
file-removed-label = [-]
file-renamed-label = [R]
file-style = 232 bold 184
hunk-header-decoration-style = none
hunk-header-file-style = "#999999"
hunk-header-line-number-style = bold "#03a4ff"
hunk-header-style = file line-number syntax
line-numbers = true
line-numbers-left-style = black
line-numbers-minus-style = "#B10036"
line-numbers-plus-style = "#03a4ff"
line-numbers-right-style = black
line-numbers-zero-style = "#999999"
minus-emph-style = syntax bold "#780000"
minus-style = syntax "#400000"
plus-emph-style = syntax bold "#007800"
plus-style = syntax "#004000"
whitespace-error-style = "#280050" reverse
zero-style = syntax
syntax-theme = Nord
[delta "mantis-shrimp"]
#author: https://github.com/2kabhishek
dark = true
side-by-side = true
keep-plus-minus-markers = true
hyperlinks = true
file-added-label = [+]
file-copied-label = [==]
file-modified-label = [*]
file-removed-label = [-]
file-renamed-label = [->]
file-style = omit
zero-style = syntax
syntax-theme = Monokai Extended
commit-decoration-style ="#11ce16" box
commit-style = "#ffd21a" bold italic
hunk-header-decoration-style = "#1688f0" box ul
hunk-header-file-style = "#c63bee" ul bold
hunk-header-line-number-style = "#ffd21a" box bold
hunk-header-style = file line-number syntax bold italic
line-numbers = true
line-numbers-left-format = "{nm:>1}|"
line-numbers-left-style = "#1688f0"
line-numbers-minus-style = "#ff0051" bold
line-numbers-plus-style = "#03e57f" bold
line-numbers-right-format = "{np:>1}|"
line-numbers-right-style = "#1688f0"
line-numbers-zero-style = "#aaaaaa" italic
minus-emph-style = syntax bold "#b80000"
minus-style = syntax "#5d001e"
plus-emph-style = syntax bold "#007800"
plus-style = syntax "#004433"
whitespace-error-style = "#280050"
[delta "mantis-shrimp-lite"]
#author: https://github.com/2kabhishek
dark = true
side-by-side = true
keep-plus-minus-markers = true
file-added-label = [+]
file-copied-label = [==]
file-modified-label = [*]
file-removed-label = [-]
file-renamed-label = [->]
file-style = omit
zero-style = syntax
syntax-theme = Monokai Extended
commit-decoration-style = green box
commit-style = yellow bold italic
hunk-header-decoration-style = blue box ul
hunk-header-file-style = purple ul bold
hunk-header-line-number-style = yellow box bold
hunk-header-style = file line-number syntax bold italic
line-numbers = true
line-numbers-left-format = "{nm:>1}|"
line-numbers-left-style = blue
line-numbers-minus-style = red bold
line-numbers-plus-style = green bold
line-numbers-right-format = "{np:>1}|"
line-numbers-right-style = blue
line-numbers-zero-style = white italic
minus-emph-style = syntax bold red
plus-emph-style = syntax bold green
whitespace-error-style = purple bold
[delta "zebra-dark"]
minus-style = syntax "#330f0f"
minus-emph-style = syntax "#4f1917"
plus-style = syntax "#0e2f19"
plus-emph-style = syntax "#174525"
map-styles = \
bold purple => syntax "#330f29", \
bold blue => syntax "#271344", \
bold cyan => syntax "#0d3531", \
bold yellow => syntax "#222f14"
zero-style = syntax
whitespace-error-style = "#aaaaaa"
[delta "zebra-light"]
minus-style = syntax "#fbdada"
minus-emph-style = syntax "#f6b6b6"
plus-style = syntax "#d6ffd6"
plus-emph-style = syntax "#adffad"
map-styles = \
bold purple => syntax "#feecf7", \
bold blue => syntax "#e5dff6", \
bold cyan => syntax "#d8fdf6", \
bold yellow => syntax "#f4ffe0"
zero-style = syntax
whitespace-error-style = "#aaaaaa"
[delta "chameleon"]
#author: https://github.com/AirOnSkin
dark = true
line-numbers = true
side-by-side = true
keep-plus-minus-markers = false
syntax-theme = Nord
file-style = "#434C5E" bold
file-decoration-style = "#434C5E" ul
file-added-label = [+]
file-copied-label = [==]
file-modified-label = [*]
file-removed-label = [-]
file-renamed-label = [->]
hunk-header-style = omit
line-numbers-left-format = " {nm:>3} │"
line-numbers-left-style = red
line-numbers-right-format = " {np:>3} │"
line-numbers-right-style = green
line-numbers-minus-style = red italic black
line-numbers-plus-style = green italic black
line-numbers-zero-style = "#434C5E" italic
minus-style = bold red
minus-emph-style = bold "#202020" "#FF5555"
minus-non-emph-style = bold
plus-style = bold green
plus-emph-style = bold "#202020" "#50FA7B"
plus-non-emph-style = bold
zero-style = syntax
blame-code-style = syntax
blame-format = "{author:<18} ({commit:>9}) {timestamp:^16}"
blame-palette = "#2E3440" "#3B4252" "#434C5E" "#4C566A"
merge-conflict-begin-symbol = ~
merge-conflict-end-symbol = ~
merge-conflict-ours-diff-header-style = "#F1FA8C" bold
merge-conflict-ours-diff-header-decoration-style = "#434C5E" box
merge-conflict-theirs-diff-header-style = "#F1FA8C" bold
merge-conflict-theirs-diff-header-decoration-style = "#434C5E" box
[delta "gruvmax-fang"]
# author: https://github.com/maxfangx
# General appearance
dark = true
syntax-theme = gruvbox-dark
# File
file-style = "#FFFFFF" bold
file-added-label = [+]
file-copied-label = [==]
file-modified-label = [*]
file-removed-label = [-]
file-renamed-label = [->]
file-decoration-style = "#434C5E" ul
file-decoration-style = "#84786A" ul
# No hunk headers
hunk-header-style = omit
# Line numbers
line-numbers = true
line-numbers-left-style = "#84786A"
line-numbers-right-style = "#84786A"
line-numbers-minus-style = "#A02A11"
line-numbers-plus-style = "#479B36"
line-numbers-zero-style = "#84786A"
line-numbers-left-format = " {nm:>3} │"
line-numbers-right-format = " {np:>3} │"
# Diff contents
inline-hint-style = syntax
minus-style = syntax "#330011"
minus-emph-style = syntax "#80002a"
minus-non-emph-style = syntax auto
plus-style = syntax "#001a00"
plus-emph-style = syntax "#003300"
plus-non-emph-style = syntax auto
whitespace-error-style = "#FB4934" reverse
# Commit hash
commit-decoration-style = normal box
commit-style = "#ffffff" bold
# Blame
blame-code-style = syntax
blame-format = "{author:>18} ({commit:>8}) {timestamp:<13} "
blame-palette = "#000000" "#1d2021" "#282828" "#3c3836"
# Merge conflicts
merge-conflict-begin-symbol = ⌃
merge-conflict-end-symbol = ⌄
merge-conflict-ours-diff-header-style = "#FABD2F" bold
merge-conflict-theirs-diff-header-style = "#FABD2F" bold overline
merge-conflict-ours-diff-header-decoration-style = ''
merge-conflict-theirs-diff-header-decoration-style = ''
[delta "discord"]
commit-style = omit
file-style = 34 ul
file-decoration-style = none
hunk-header-style = omit
minus-style = 31
minus-non-emph-style = 31
minus-emph-style = 40
minus-empty-line-marker-style = 31
zero-style = 30
plus-style = 32
plus-non-emph-style = 32
plus-emph-style = 40
grep-file-style = 34
grep-line-number-style = 34
whitespace-error-style = 41
blame-code-style = omit
true-color = never
file-modified-label = changed:
right-arrow = >
hyperlinks = false
keep-plus-minus-markers = true
diff-stat-align-width = 10
syntax-theme = none
width = variable
[delta "mellow-barbet"]
# author: https://github.com/kvrohit
# To configure terminal colors see https://github.com/kvrohit/mellow.nvim#terminals
dark = true
syntax-theme = base16
line-numbers = true
side-by-side = true
file-style = brightwhite
file-decoration-style = none
file-added-label = [+]
file-copied-label = [==]
file-modified-label = [*]
file-removed-label = [-]
file-renamed-label = [->]
hunk-header-decoration-style = "#3e3e43" box ul
plus-style = brightgreen black
plus-emph-style = black green
minus-style = brightred black
minus-emph-style = black red
line-numbers-minus-style = brightred
line-numbers-plus-style = brightgreen
line-numbers-left-style = "#3e3e43"
line-numbers-right-style = "#3e3e43"
line-numbers-zero-style = "#57575f"
zero-style = syntax
whitespace-error-style = black bold
blame-code-style = syntax
blame-palette = "#161617" "#1b1b1d" "#2a2a2d" "#3e3e43"
merge-conflict-begin-symbol = ~
merge-conflict-end-symbol = ~
merge-conflict-ours-diff-header-style = yellow bold
merge-conflict-ours-diff-header-decoration-style = "#3e3e43" box
merge-conflict-theirs-diff-header-style = yellow bold
merge-conflict-theirs-diff-header-decoration-style = "#3e3e43" box
[delta "arctic-fox"]
# author: https://github.com/anthony-halim
dark = true
syntax-theme = Nord
file-added-label = [+]
file-copied-label = [==]
file-modified-label = [*]
file-removed-label = [-]
file-renamed-label = [->]
file-style = omit
hunk-header-decoration-style = "#5E81AC" ul
hunk-header-file-style = blue ul bold
hunk-header-line-number-style = yellow box bold
hunk-header-style = file line-number syntax bold italic
plus-style = brightgreen
plus-emph-style = black green
minus-style = brightred
minus-emph-style = black red
line-numbers = true
line-numbers-minus-style = brightred
line-numbers-plus-style = brightgreen
line-numbers-left-style = "#5E81AC"
line-numbers-right-style = "#5E81AC"
line-numbers-zero-style = "#4C566A"
zero-style = syntax
whitespace-error-style = black bold
blame-code-style = syntax
blame-format = "{author:<18} {commit:<6} {timestamp:<15}"
blame-palette = "#2E3440" "#3B4252" "#434C5E"
merge-conflict-begin-symbol = ~
merge-conflict-end-symbol = ~
merge-conflict-ours-diff-header-style = yellow bold
merge-conflict-ours-diff-header-decoration-style = "#5E81AC" box
merge-conflict-theirs-diff-header-style = yellow bold
merge-conflict-theirs-diff-header-decoration-style = "#5E81AC" box
[delta "corvus"]
# author: https://github.com/evilwaveforms
dark = true
commit-style = "#949494"
file-style = omit
syntax-theme = none
hunk-header-decoration-style = "#949494" ul
hunk-header-file-style = "#949494"
hunk-header-style = "#949494"
line-numbers = true
line-numbers-left-style = "#949494"
line-numbers-right-style = "#949494"
line-numbers-left-format = "{nm:>2}|"
line-numbers-right-format = "{np:>3} "
line-numbers-plus-style = "#54c047"
line-numbers-minus-style = bold "#591102"
plus-style = "#54c047"
plus-emph-style = bold "#54c047"
plus-non-emph-style = dim "#54c047"
minus-style = normal "#591102"
minus-emph-style = normal "#591102"
minus-non-emph-style = bold "#591102"
blame-code-style = omit
blame-format = "{author:<18} {commit:<6} {timestamp:<15}"
blame-palette = "#000000" "#343434"
zero-style = dim
[delta "catppuccin-latte"]
blame-palette = "#eff1f5 #e6e9ef #dce0e8 #ccd0da #bcc0cc"
commit-decoration-style = box ul
light = true
file-decoration-style = "#4c4f69"
file-style = "#4c4f69"
hunk-header-decoration-style = box ul
hunk-header-file-style = bold
hunk-header-line-number-style = bold "#6c6f85"
hunk-header-style = file line-number syntax
line-numbers = true
line-numbers-left-style = "#9ca0b0"
line-numbers-minus-style = bold "#d20f39"
line-numbers-plus-style = bold "#40a02b"
line-numbers-right-style = "#9ca0b0"
line-numbers-zero-style = "#9ca0b0"
# 25% red 75% base
minus-emph-style = bold syntax "#e8b9c6"
# 10% red 90% base
minus-style = syntax "#ecdae2"
# 25% green 75% base
plus-emph-style = bold syntax "#c3ddc3"
# 10% green 90% base
plus-style = syntax "#dee8e0"
map-styles = \
bold purple => syntax "#d5c3f4", \
bold blue => syntax "#bbcff5", \
bold cyan => syntax "#b4def1", \
bold yellow => syntax "#ebd9bf"
# Should match the name of the bat theme
syntax-theme = Catppuccin Latte
[delta "catppuccin-frappe"]
blame-palette = "#303446 #292c3c #232634 #414559 #51576d"
commit-decoration-style = box ul
dark = true
file-decoration-style = "#c6d0f5"
file-style = "#c6d0f5"
hunk-header-decoration-style = box ul
hunk-header-file-style = bold
hunk-header-line-number-style = bold "#a5adce"
hunk-header-style = file line-number syntax
line-numbers = true
line-numbers-left-style = "#737994"
line-numbers-minus-style = bold "#e78284"
line-numbers-plus-style = bold "#a6d189"
line-numbers-right-style = "#737994"
line-numbers-zero-style = "#737994"
# 25% red 75% base
minus-emph-style = bold syntax "#5e4855"
# 10% red 90% base
minus-style = syntax "#433c4c"
# 25% green 75% base
plus-emph-style = bold syntax "#4e5b56"
# 10% green 90% base
plus-style = syntax "#3c444d"
map-styles = \
bold purple => syntax "#574f6e", \
bold blue => syntax "#475270", \
bold cyan => syntax "#4a5b6b", \
bold yellow => syntax "#5d5958"
# Should match the name of the bat theme
syntax-theme = Catppuccin Frappe
[delta "catppuccin-macchiato"]
blame-palette = "#24273a #1e2030 #181926 #363a4f #494d64"
commit-decoration-style = box ul
dark = true
file-decoration-style = "#cad3f5"
file-style = "#cad3f5"
hunk-header-decoration-style = box ul
hunk-header-file-style = bold
hunk-header-line-number-style = bold "#a5adcb"
hunk-header-style = file line-number syntax
line-numbers = true
line-numbers-left-style = "#6e738d"
line-numbers-minus-style = bold "#ed8796"
line-numbers-plus-style = bold "#a6da95"
line-numbers-right-style = "#6e738d"
line-numbers-zero-style = "#6e738d"
# 25% red 75% base
minus-emph-style = bold syntax "#563f51"
# 10% red 90% base
minus-style = syntax "#383143"
# 25% green 75% base
plus-emph-style = bold syntax "#455450"
# 10% green 90% base
plus-style = syntax "#313943"
map-styles = \
bold purple => syntax "#4d4569", \
bold blue => syntax "#3e4868", \
bold cyan => syntax "#3f5364", \
bold yellow => syntax "#575253"
# Should match the name of the bat theme
syntax-theme = Catppuccin Macchiato
[delta "catppuccin-mocha"]
blame-palette = "#1e1e2e #181825 #11111b #313244 #45475a"
commit-decoration-style = box ul
dark = true
file-decoration-style = "#cdd6f4"
file-style = "#cdd6f4"
hunk-header-decoration-style = box ul
hunk-header-file-style = bold
hunk-header-line-number-style = bold "#a6adc8"
hunk-header-style = file line-number syntax
line-numbers = true
line-numbers-left-style = "#6c7086"
line-numbers-minus-style = bold "#f38ba8"
line-numbers-plus-style = bold "#a6e3a1"
line-numbers-right-style = "#6c7086"
line-numbers-zero-style = "#6c7086"
# 25% red 75% base
minus-emph-style = bold syntax "#53394c"
# 10% red 90% base
minus-style = syntax "#34293a"
# 25% green 75% base
plus-emph-style = bold syntax "#404f4a"
# 10% green 90% base
plus-style = syntax "#2c3239"
map-styles = \
bold purple => syntax "#494060", \
bold blue => syntax "#384361", \
bold cyan => syntax "#384d5d", \
bold yellow => syntax "#544f4e"
# Should match the name of the bat theme
syntax-theme = Catppuccin Mocha

8
lazyvim/.config/nvim/.gitignore vendored Normal file
View File

@@ -0,0 +1,8 @@
tt.*
.tests
doc/tags
debug
.repro
foo.*
*.log
data

View File

@@ -0,0 +1,15 @@
{
"neodev": {
"library": {
"enabled": true,
"plugins": true
}
},
"neoconf": {
"plugins": {
"lua_ls": {
"enabled": true
}
}
}
}

View File

@@ -0,0 +1,201 @@
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.

View File

@@ -0,0 +1,4 @@
# 💤 LazyVim
A starter template for [LazyVim](https://github.com/LazyVim/LazyVim).
Refer to the [documentation](https://lazyvim.github.io/installation) to get started.

View File

@@ -0,0 +1,2 @@
-- bootstrap lazy.nvim, LazyVim and your plugins
require("config.lazy")

View File

@@ -0,0 +1,46 @@
{
"LazyVim": { "branch": "main", "commit": "25abbf546d564dc484cf903804661ba12de45507" },
"SchemaStore.nvim": { "branch": "main", "commit": "c957914d75b4a008ce09f4116e57e59fe6e3fae1" },
"alpha-nvim": { "branch": "main", "commit": "2b3cbcdd980cae1e022409289245053f62fb50f6" },
"blink.cmp": { "branch": "main", "commit": "bae4bae0eedd1fa55f34b685862e94a222d5c6f8" },
"bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" },
"catppuccin": { "branch": "main", "commit": "e762a47478377612e59f01aa51db961f605c9aa4" },
"conform.nvim": { "branch": "master", "commit": "973f3cb73887d510321653044791d7937c7ec0fa" },
"crates.nvim": { "branch": "main", "commit": "c915ab5334a46178f64ce17ab606a79454bcd14f" },
"flash.nvim": { "branch": "main", "commit": "3c942666f115e2811e959eabbdd361a025db8b63" },
"friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
"fzf-lua": { "branch": "main", "commit": "accfef9ddb36a79bd2b41f5dcebd36dddcaf8c79" },
"gitsigns.nvim": { "branch": "main", "commit": "1fcaddcc427ff5802b6602f46de37a5352d0f9e0" },
"glow.nvim": { "branch": "main", "commit": "5d5954b2f22e109d4a6eba8b2618c5b96e4ee7a2" },
"grug-far.nvim": { "branch": "main", "commit": "45981a9af7f4e666a3cdaedb1d21d2ab926727a2" },
"hydra.nvim": { "branch": "main", "commit": "8c4a9f621ec7cdc30411a1f3b6d5eebb12b469dc" },
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
"lazydev.nvim": { "branch": "main", "commit": "2367a6c0a01eb9edb0464731cc0fb61ed9ab9d2c" },
"lualine.nvim": { "branch": "master", "commit": "a94fc68960665e54408fe37dcf573193c4ce82c9" },
"markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "1a31f824b9cd5bc6f342fc29e9a53b60d74af245" },
"mason.nvim": { "branch": "main", "commit": "fc98833b6da5de5a9c5b1446ac541577059555be" },
"mini.ai": { "branch": "main", "commit": "1cd4f021a05c29acd4ab511c0981da14217daf38" },
"mini.icons": { "branch": "main", "commit": "b8f6fa6f5a3fd0c56936252edcd691184e5aac0c" },
"mini.pairs": { "branch": "main", "commit": "1e1ca3f60f58d4050bf814902b472eec9963a5dd" },
"multicursors.nvim": { "branch": "main", "commit": "72225ea9e4443c3f4b9df91d0193e07c4ee8d382" },
"neo-tree.nvim": { "branch": "main", "commit": "b85cc7611ff8fb443b0a1591c53669ead195a826" },
"noice.nvim": { "branch": "main", "commit": "0427460c2d7f673ad60eb02b35f5e9926cf67c59" },
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
"nvim-lint": { "branch": "master", "commit": "9c6207559297b24f0b7c32829f8e45f7d65b991f" },
"nvim-lspconfig": { "branch": "master", "commit": "169745f176f58becad80363c3f8f2315ed6bb365" },
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
"nvim-treesitter-textobjects": { "branch": "master", "commit": "89ebe73cd2836db80a22d9748999ace0241917a5" },
"nvim-ts-autotag": { "branch": "main", "commit": "a1d526af391f6aebb25a8795cbc05351ed3620b5" },
"persistence.nvim": { "branch": "main", "commit": "166a79a55bfa7a4db3e26fc031b4d92af71d0b51" },
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
"refactoring.nvim": { "branch": "master", "commit": "74b608dfee827c2372250519d433cc21cb083407" },
"rustaceanvim": { "branch": "master", "commit": "628ff0137003d2ff245a06aff101142a5c88391e" },
"snacks.nvim": { "branch": "main", "commit": "bc0630e43be5699bb94dadc302c0d21615421d93" },
"telescope-file-browser.nvim": { "branch": "master", "commit": "7bf55ed0ff5be182ad3301cff266581fc1c56cce" },
"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" },
"which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" }
}

View File

@@ -0,0 +1,18 @@
{
"extras": [
"lazyvim.plugins.extras.editor.refactoring",
"lazyvim.plugins.extras.lang.docker",
"lazyvim.plugins.extras.lang.git",
"lazyvim.plugins.extras.lang.go",
"lazyvim.plugins.extras.lang.python",
"lazyvim.plugins.extras.lang.rust",
"lazyvim.plugins.extras.lang.toml",
"lazyvim.plugins.extras.lang.yaml",
"lazyvim.plugins.extras.ui.alpha"
],
"install_version": 7,
"news": {
"NEWS.md": "10960"
},
"version": 8
}

View File

@@ -0,0 +1,3 @@
-- 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

View File

@@ -0,0 +1,33 @@
-- 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
-- Resume last Telescope search
-- map(
-- "n",
-- "<leader>sx",
-- require("telescope.builtin").resume,
-- { noremap = true, silent = true, desc = "Resume Telescope" }
-- )
-- 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" })
-- Window navigation (splits)
map("n", "<leader>sh", "<C-w>h", { noremap = true, silent = true, desc = "Window left" })
map("n", "<leader>sj", "<C-w>j", { noremap = true, silent = true, desc = "Window down" })
map("n", "<leader>sk", "<C-w>k", { noremap = true, silent = true, desc = "Window up" })
map("n", "<leader>sl", "<C-w>l", { noremap = true, silent = true, desc = "Window right" })
-- Quick save
map("n", "<leader>w", ":w<CR>", { noremap = true, silent = true, desc = "Save file" })
-- 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" })

View File

@@ -0,0 +1,51 @@
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)
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
},
install = { colorscheme = { "tokyonight", "habamax", "catppuccin" } },
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,
})

View File

@@ -0,0 +1,51 @@
-- 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
-- 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
-- Enable true color support
opt.termguicolors = true
-- Enable system clipboard
opt.clipboard = "unnamedplus"
-- Indentation
opt.expandtab = false
opt.shiftwidth = 8
opt.tabstop = 8
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"
-- Fold method
opt.foldmethod = "expr"
opt.foldexpr = "nvim_treesitter#foldexpr()"
opt.foldlevel = 99 -- open all folds by default
-- Show file name and modified flag in the window bar
opt.winbar = "%=%m %f"

View File

@@ -0,0 +1,16 @@
return {
"goolord/alpha-nvim",
opts = function(_, opts)
local logo = [[
███╗ ██╗███████╗ ██████╗ ██╗ ██╗██╗███╗ ███╗
████╗ ██║██╔════╝██╔═══██╗██║ ██║██║████╗ ████║
██╔██╗ ██║█████╗ ██║ ██║██║ ██║██║██╔████╔██║
██║╚██╗██║██╔══╝ ██║ ██║╚██╗ ██╔╝██║██║╚██╔╝██║
██║ ╚████║███████╗╚██████╔╝ ╚████╔╝ ██║██║ ╚═╝ ██║
╚═╝ ╚═══╝╚══════╝ ╚═════╝ ╚═══╝ ╚═╝╚═╝ ╚═╝
[ @elijahmanor ]
]]
opts.section.header.val = vim.split(logo, "\n", { trimempty = true })
end,
}

View File

@@ -0,0 +1,14 @@
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")
end,
}

View File

@@ -0,0 +1,3 @@
return {
{ "windwp/nvim-spectre", enabled = false },
}

View File

@@ -0,0 +1,13 @@
return {
"nvim-telescope/telescope-file-browser.nvim",
keys = {
{
"<leader>sB",
":Telescope file_browser path=%:p:h=%:p:h<cr>",
desc = "Browser Files",
},
},
config = function()
require("telescope").load_extension("file_browser")
end,
}

View File

@@ -0,0 +1,6 @@
return {
"LazyVim/LazyVim",
opts = {
colorscheme = "catppuccin-mocha",
},
}

View File

@@ -0,0 +1,37 @@
return {
-- Browser preview plugin
{
"iamcco/markdown-preview.nvim",
cmd = { "MarkdownPreviewToggle", "MarkdownPreview", "MarkdownPreviewStop" },
build = "cd app && yarn install",
init = function()
vim.g.mkdp_filetypes = { "markdown" }
vim.g.mkdp_auto_start = 0
vim.g.mkdp_browser = "firefox" -- use your preferred browser
vim.g.mkdp_sync_scroll_type = "middle"
end,
ft = { "markdown" },
keys = {
{
"<leader>Mp",
"<cmd>MarkdownPreviewToggle<CR>",
desc = "Preview Markdown (Browser)",
},
},
},
-- Terminal-based preview with Glow
{
"ellisonleao/glow.nvim",
config = true, -- uses default config
cmd = "Glow",
ft = { "markdown" },
keys = {
{
"<leader>Mg",
"<cmd>Glow<CR>",
desc = "Preview Markdown (Glow)",
},
},
},
}

View File

@@ -0,0 +1,17 @@
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",
},
},
}

View File

@@ -0,0 +1,3 @@
indent_type = "Spaces"
indent_width = 2
column_width = 120

View File

@@ -0,0 +1,245 @@
# set PowerShell to UTF-8
[console]::InputEncoding = [console]::OutputEncoding = New-Object System.Text.UTF8Encoding
function Clear-Cache {
# add clear cache logic here
Write-Host "Clearing cache..." -ForegroundColor Cyan
# Clear Windows Prefetch
Write-Host "Clearing Windows Prefetch..." -ForegroundColor Yellow
Remove-Item -Path "$env:SystemRoot\Prefetch\*" -Force -ErrorAction SilentlyContinue
# Clear Windows Temp
Write-Host "Clearing Windows Temp..." -ForegroundColor Yellow
Remove-Item -Path "$env:SystemRoot\Temp\*" -Recurse -Force -ErrorAction SilentlyContinue
# Clear User Temp
Write-Host "Clearing User Temp..." -ForegroundColor Yellow
Remove-Item -Path "$env:TEMP\*" -Recurse -Force -ErrorAction SilentlyContinue
# Clear Internet Explorer Cache
Write-Host "Clearing Internet Explorer Cache..." -ForegroundColor Yellow
Remove-Item -Path "$env:LOCALAPPDATA\Microsoft\Windows\INetCache\*" -Recurse -Force -ErrorAction SilentlyContinue
Write-Host "Cache clearing completed." -ForegroundColor Green
}
# Utility Functions
function Test-CommandExists {
param($command)
$exists = $null -ne (Get-Command $command -ErrorAction SilentlyContinue)
return $exists
}
# Editor Configuration
$EDITOR = if (Test-CommandExists nvim) { 'nvim' }
elseif (Test-CommandExists pvim) { 'pvim' }
elseif (Test-CommandExists vim) { 'vim' }
elseif (Test-CommandExists vi) { 'vi' }
elseif (Test-CommandExists code) { 'code' }
elseif (Test-CommandExists notepad++) { 'notepad++' }
elseif (Test-CommandExists sublime_text) { 'sublime_text' }
else { 'notepad' }
# Quick Access to Editing the Profile
function Edit-Profile {
edit $PROFILE.CurrentUserCurrentHost
}
function New-File($file) {
"" | Out-File $file -Encoding UTF8
}
function Get-RecursiveItems($name) {
Get-ChildItem -recurse -filter "*${name}*" -ErrorAction SilentlyContinue | ForEach-Object {
Write-Output "$($_.FullName)"
}
}
function Get-PubIP {
(Invoke-WebRequest http://ifconfig.me/ip).Content
}
function Update-Profile {
& $PROFILE
}
function Expand-Zip ($file) {
Write-Output("Extracting", $file, "to", $pwd)
$fullFile = Get-ChildItem -Path $pwd -Filter $file | ForEach-Object { $_.FullName }
Expand-Archive -Path $fullFile -DestinationPath $pwd
}
function Find-String($regex, $dir) {
if ( $dir ) {
Get-ChildItem $dir | Select-String $regex
return
}
$input | Select-String $regex
}
function Set-String($file, $find, $replace) {
(Get-Content $file).replace("$find", $replace) | Set-Content $file
}
function Get-InitialRows {
param($Path, $n = 10)
Get-Content $Path -Head $n
}
function Get-LastRows {
param($Path, $n = 10, [switch]$f = $false)
Get-Content $Path -Tail $n -Wait:$f
}
function Get-Paths {
$delim = ':'
if ( $IsWindows ) {
$delim = ';'
}
$env:PATH -split ($delim)
}
function New-Link ($target, $link) {
New-Item -Path $link -ItemType SymbolicLink -Value $target
}
Set-Alias -Name edit -Value $EDITOR
Set-Alias -Name ep -Value Edit-Profile
Set-Alias tig 'C:\Program Files\Git\usr\bin\tig.exe'
Set-Alias less 'C:\Program Files\Git\usr\bin\less.exe'
# Enhanced PowerShell Experience
# Enhanced PSReadLine Configuration
$PSReadLineOptions = @{
EditMode = 'Emacs'
HistoryNoDuplicates = $true
HistorySearchCursorMovesToEnd = $true
PredictionSource = 'History'
PredictionViewStyle = 'ListView'
BellStyle = 'None'
Colors = @{
Command = '#87CEEB' # SkyBlue (pastel)
Parameter = '#98FB98' # PaleGreen (pastel)
Operator = '#FFB6C1' # LightPink (pastel)
Variable = '#DDA0DD' # Plum (pastel)
String = '#FFDAB9' # PeachPuff (pastel)
Number = '#B0E0E6' # PowderBlue (pastel)
Type = '#F0E68C' # Khaki (pastel)
Comment = '#D3D3D3' # LightGray (pastel)
Keyword = '#8367c7' # Violet (pastel)
Error = '#FF6347' # Tomato (keeping it close to red for visibility)
}
}
Set-PSReadLineOption @PSReadLineOptions
# Custom key handlers
Set-PSReadLineKeyHandler -Key UpArrow -Function HistorySearchBackward
Set-PSReadLineKeyHandler -Key DownArrow -Function HistorySearchForward
Set-PSReadLineKeyHandler -Key Tab -Function MenuComplete
Set-PSReadLineKeyHandler -Chord 'Ctrl+d' -Function DeleteChar
Set-PSReadLineKeyHandler -Chord 'Ctrl+w' -Function BackwardDeleteWord
Set-PSReadLineKeyHandler -Chord 'Alt+d' -Function DeleteWord
Set-PSReadLineKeyHandler -Chord 'Ctrl+LeftArrow' -Function BackwardWord
Set-PSReadLineKeyHandler -Chord 'Ctrl+RightArrow' -Function ForwardWord
Set-PSReadLineKeyHandler -Chord 'Ctrl+z' -Function Undo
Set-PSReadLineKeyHandler -Chord 'Ctrl+y' -Function Redo
# Custom functions for PSReadLine
Set-PSReadLineOption -AddToHistoryHandler {
param($line)
$sensitive = @('password', 'secret', 'token', 'apikey', 'connectionstring')
$hasSensitive = $sensitive | Where-Object { $line -match $_ }
return ($null -eq $hasSensitive)
}
# Improved prediction settings
Set-PSReadLineOption -PredictionSource HistoryAndPlugin
Set-PSReadLineOption -MaximumHistoryCount 10000
# Custom completion for common commands
$scriptblock = {
param($wordToComplete, $commandAst, $cursorPosition)
$customCompletions = @{
'git' = @('status', 'add', 'commit', 'push', 'pull', 'clone', 'checkout')
'mvn' = @('compile', 'package', 'test', 'install', 'verify', 'deploy')
}
$command = $commandAst.CommandElements[0].Value
if ($customCompletions.ContainsKey($command)) {
$customCompletions[$command] | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterValue', $_)
}
}
}
Register-ArgumentCompleter -Native -CommandName git, mvn -ScriptBlock $scriptblock
$scriptblock = {
param($wordToComplete, $commandAst, $cursorPosition)
dotnet complete --position $cursorPosition $commandAst.ToString() |
ForEach-Object {
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterValue', $_)
}
}
Register-ArgumentCompleter -Native -CommandName dotnet -ScriptBlock $scriptblock
# Setting Prompt with Oh My Posh
oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\peru.omp.json" | Invoke-Expression
if (Get-Command zoxide -ErrorAction SilentlyContinue) {
Invoke-Expression (& { (zoxide init --cmd cd powershell | Out-String) })
}
else {
Write-Host "zoxide command not found. Attempting to install via winget..."
try {
winget install -e --id ajeetdsouza.zoxide
Write-Host "zoxide installed successfully. Initializing..."
Invoke-Expression (& { (zoxide init powershell | Out-String) })
}
catch {
Write-Error "Failed to install zoxide. Error: $_"
}
}
Set-Alias -Name z -Value __zoxide_z -Option AllScope -Scope Global -Force
Set-Alias -Name zi -Value __zoxide_zi -Option AllScope -Scope Global -Force
if (-not (Get-Module -ListAvailable -Name Microsoft.WinGet.CommandNotFound) -and $IsWindows) {
Install-Module -Name Microsoft.WinGet.CommandNotFound -Scope CurrentUser -Force -SkipPublisherCheck
}
if ($IsWindows) {
Import-Module -Name Microsoft.WinGet.CommandNotFound
}
function Add-Module ($moduleName) {
if (-not (Get-Module -ListAvailable -Name $moduleName)) {
Install-Module -Name $moduleName -Scope CurrentUser -Force -SkipPublisherCheck
}
}
# Import Modules and External Profiles
Add-Module Terminal-Icons
Import-Module -Name Terminal-Icons
Add-Module cd-extras
Import-Module -Name cd-extras
Add-Module PsHosts
Import-Module -Name PsHosts
Add-Module z
Import-Module -Name z
# PowerShell FZF integration
Add-Module PSFzf
Import-Module -Name PSFzf
Set-PsFzfOption -PSReadlineChordProvider 'Ctrl+f' -PsReadlineChordReverseHistory 'Ctrl+r'
Set-PsFzfOption -EnableAliasFuzzyKillProcess -EnableAliasFuzzyEdit -EnableAliasFuzzyGitStatus -EnableAliasFuzzySetLocation
# example command - use $Location with a different command:
$commandOverride = [ScriptBlock]{ param($Location) Write-Host $Location }
# pass your override to PSFzf:
Set-PsFzfOption -AltCCommand $commandOverride

View File

@@ -0,0 +1,392 @@
format = """
$username\
$directory\
$vcsh\
$git_branch\
$git_commit\
$git_state\
$git_metrics\
$git_status\
$hg_branch\
$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\
$buf\
$guix_shell\
$nix_shell\
$conda\
$meson\
$spack\
$memory_usage\
$direnv\
$env_var\
$custom\
$sudo\
$cmd_duration\
$line_break\
$jobs\
$time\
$status\
$container\
$os\
$shell\
$character
"""
right_format = """
$localip\
$shlvl\
$kubernetes\
$aws\
$gcloud\
$openstack\
$azure
"""
# Sets user-defined palette
palette = "catppuccin_mocha"
# palette tables should be last in the config ⚓️
[palettes.catppuccin_macchiato]
rosewater = "#f4dbd6"
flamingo = "#f0c6c6"
pink = "#f5bde6"
mauve = "#c6a0f6"
red = "#ed8796"
maroon = "#ee99a0"
peach = "#f5a97f"
yellow = "#eed49f"
green = "#a6da95"
teal = "#8bd5ca"
sky = "#91d7e3"
sapphire = "#7dc4e4"
blue = "#8aadf4"
lavender = "#b7bdf8"
text = "#cad3f5"
subtext1 = "#b8c0e0"
subtext0 = "#a5adcb"
overlay2 = "#939ab7"
overlay1 = "#8087a2"
overlay0 = "#6e738d"
surface2 = "#5b6078"
surface1 = "#494d64"
surface0 = "#363a4f"
base = "#24273a"
mantle = "#1e2030"
crust = "#181926"
[palettes.catppuccin_frappe]
rosewater = "#f2d5cf"
flamingo = "#eebebe"
pink = "#f4b8e4"
mauve = "#ca9ee6"
red = "#e78284"
maroon = "#ea999c"
peach = "#ef9f76"
yellow = "#e5c890"
green = "#a6d189"
teal = "#81c8be"
sky = "#99d1db"
sapphire = "#85c1dc"
blue = "#8caaee"
lavender = "#babbf1"
text = "#c6d0f5"
subtext1 = "#b5bfe2"
subtext0 = "#a5adce"
overlay2 = "#949cbb"
overlay1 = "#838ba7"
overlay0 = "#737994"
surface2 = "#626880"
surface1 = "#51576d"
surface0 = "#414559"
base = "#303446"
mantle = "#292c3c"
crust = "#232634"
[palettes.catppuccin_latte]
rosewater = "#dc8a78"
flamingo = "#dd7878"
pink = "#ea76cb"
mauve = "#8839ef"
red = "#d20f39"
maroon = "#e64553"
peach = "#fe640b"
yellow = "#df8e1d"
green = "#40a02b"
teal = "#179299"
sky = "#04a5e5"
sapphire = "#209fb5"
blue = "#1e66f5"
lavender = "#7287fd"
text = "#4c4f69"
subtext1 = "#5c5f77"
subtext0 = "#6c6f85"
overlay2 = "#7c7f93"
overlay1 = "#8c8fa1"
overlay0 = "#9ca0b0"
surface2 = "#acb0be"
surface1 = "#bcc0cc"
surface0 = "#ccd0da"
base = "#eff1f5"
mantle = "#e6e9ef"
crust = "#dce0e8"
[palettes.catppuccin_mocha]
rosewater = "#f5e0dc"
flamingo = "#f2cdcd"
pink = "#f5c2e7"
mauve = "#cba6f7"
red = "#f38ba8"
maroon = "#eba0ac"
peach = "#fab387"
yellow = "#f9e2af"
green = "#a6e3a1"
teal = "#94e2d5"
sky = "#89dceb"
sapphire = "#74c7ec"
blue = "#89b4fa"
lavender = "#b4befe"
text = "#cdd6f4"
subtext1 = "#bac2de"
subtext0 = "#a6adc8"
overlay2 = "#9399b2"
overlay1 = "#7f849c"
overlay0 = "#6c7086"
surface2 = "#585b70"
surface1 = "#45475a"
surface0 = "#313244"
base = "#1e1e2e"
mantle = "#181825"
crust = "#11111b"
[character]
# Note the use of Catppuccin color 'maroon'
success_symbol = "[[♥](peach) ](maroon)"
error_symbol = "[](red)"
vimcmd_symbol = "[](green)"
[aws]
symbol = " "
[azure]
disabled = false
[buf]
symbol = " "
[c]
symbol = " "
[conda]
symbol = " "
[crystal]
symbol = " "
[dart]
symbol = " "
[directory]
read_only = " 󰌾"
truncate_to_repo = false
truncation_length = 4
style = "bold lavender"
[directory.substitutions]
"Documents" = "󰈙 "
"Downloads" = " "
"Music" = "󰝚 "
"Pictures" = " "
"Projects" = "󰲋 "
"Videos" = " "
[docker_context]
symbol = " "
[elixir]
symbol = " "
[elm]
symbol = " "
[env_var.VIMSHELL] # vim subshell
format = "[$env_value]($style)"
style = 'green italic'
[fennel]
symbol = " "
[fossil_branch]
symbol = " "
[git_branch]
symbol = " "
[git_status]
ahead = "⇡${count}"
behind = "⇣${count}"
deleted = "x"
diverged = "⇕⇡${ahead_count}⇣${behind_count}"
style = "bold yellow"
[golang]
symbol = " "
[guix_shell]
symbol = " "
[haskell]
symbol = " "
[haxe]
symbol = " "
[hg_branch]
symbol = " "
[hostname]
ssh_symbol = " "
[kubernetes]
format = "on [$symbol$context( \\($namespace\\))]($style) "
disabled = false
[java]
symbol = " "
[julia]
symbol = " "
[kotlin]
symbol = " "
[lua]
symbol = " "
[memory_usage]
symbol = "󰍛 "
[meson]
symbol = "󰔷 "
[nim]
symbol = "󰆥 "
[nix_shell]
symbol = " "
[nodejs]
symbol = " "
[ocaml]
symbol = " "
[os]
disabled = false
format = "[$symbol ]($style)"
[os.symbols]
Alpaquita = " "
Alpine = " "
AlmaLinux = " "
Amazon = " "
Android = " "
Arch = " "
Artix = " "
CentOS = " "
Debian = " "
DragonFly = " "
Emscripten = " "
EndeavourOS = " "
Fedora = " "
FreeBSD = " "
Garuda = "󰛓 "
Gentoo = " "
HardenedBSD = "󰞌 "
Illumos = "󰈸 "
Kali = " "
Linux = " "
Mabox = " "
Macos = " "
Manjaro = " "
Mariner = " "
MidnightBSD = " "
Mint = " "
NetBSD = " "
NixOS = " "
OpenBSD = "󰈺 "
openSUSE = " "
OracleLinux = "󰌷 "
Pop = " "
Raspbian = " "
Redhat = " "
RedHatEnterprise = " "
RockyLinux = " "
Redox = "󰀘 "
Solus = "󰠳 "
SUSE = " "
Ubuntu = " "
Unknown = " "
Void = " "
Windows = "󰍲 "
[package]
symbol = "󰏗 "
[perl]
symbol = " "
[php]
symbol = " "
[pijul_channel]
symbol = " "
[python]
symbol = " "
[rlang]
symbol = "󰟔 "
[ruby]
symbol = " "
[rust]
symbol = " "
[scala]
symbol = " "
[swift]
symbol = " "
[username]
show_always = true
[zig]
symbol = " "

45
tmux/.tmux.conf Normal file
View File

@@ -0,0 +1,45 @@
# Change command shortcut
unbind C-b
set -g prefix C-x
bind C-x send-prefix
# Renumbered windows and panels
set -g renumber-window on
set -g base-index 1
setw -g pane-base-index 1
bind c new-window -c "#{pane_current_path}"
# Fix Tmux for colors
set-option -a terminal-features 'xterm-256color:RGB'
set -g allow-passthrough on
set -ga update-environment TERM
set -ga update-environment TERM_PROGRAM
# List of plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'tmux-plugins/tmux-open'
set -g @plugin 'wfxr/tmux-power'
set -g @plugin 'catppuccin/tmux'
set-option -g @plugin 'b0o/tmux-autoreload'
# Customizing Catppuccin theme
set -g @catppuccin_flavour 'mocha'
set -g @catppuccin_window_left_separator ""
set -g @catppuccin_window_right_separator " "
set -g @catppuccin_window_middle_separator " █"
set -g @catppuccin_window_number_position "right"
set -g @catppuccin_window_default_fill "number"
set -g @catppuccin_window_default_text "#W"
set -g @catppuccin_window_current_fill "number"
set -g @catppuccin_window_current_text "#W"
set -g @catppuccin_status_modules_right "directory user host session"
set -g @catppuccin_status_left_separator " "
set -g @catppuccin_status_right_separator ""
set -g @catppuccin_status_fill "icon"
set -g @catppuccin_status_connect_separator "no"
set -g @catppuccin_directory_text "#{pane_current_path}"
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm'

View File

@@ -0,0 +1,163 @@
" Name: catppuccin_frappe.vim
set background=dark
hi clear
if exists('syntax on')
syntax reset
endif
let g:colors_name='catppuccin_frappe'
set t_Co=256
let s:rosewater = "#F2D5CF"
let s:flamingo = "#EEBEBE"
let s:pink = "#F4B8E4"
let s:mauve = "#CA9EE6"
let s:red = "#E78284"
let s:maroon = "#EA999C"
let s:peach = "#EF9F76"
let s:yellow = "#E5C890"
let s:green = "#A6D189"
let s:teal = "#81C8BE"
let s:sky = "#99D1DB"
let s:sapphire = "#85C1DC"
let s:blue = "#8CAAEE"
let s:lavender = "#BABBF1"
let s:text = "#C6D0F5"
let s:subtext1 = "#B5BFE2"
let s:subtext0 = "#A5ADCE"
let s:overlay2 = "#949CBB"
let s:overlay1 = "#838BA7"
let s:overlay0 = "#737994"
let s:surface2 = "#626880"
let s:surface1 = "#51576D"
let s:surface0 = "#414559"
let s:base = "#303446"
let s:mantle = "#292C3C"
let s:crust = "#232634"
function! s:hi(group, guisp, guifg, guibg, gui, cterm)
let cmd = ""
if a:guisp != ""
let cmd = cmd . " guisp=" . a:guisp
endif
if a:guifg != ""
let cmd = cmd . " guifg=" . a:guifg
endif
if a:guibg != ""
let cmd = cmd . " guibg=" . a:guibg
endif
if a:gui != ""
let cmd = cmd . " gui=" . a:gui
endif
if a:cterm != ""
let cmd = cmd . " cterm=" . a:cterm
endif
if cmd != ""
exec "hi " . a:group . cmd
endif
endfunction
call s:hi("Normal", "NONE", s:text, s:base, "NONE", "NONE")
call s:hi("Visual", "NONE", "NONE", s:surface1,"bold", "bold")
call s:hi("Conceal", "NONE", s:overlay1, "NONE", "NONE", "NONE")
call s:hi("ColorColumn", "NONE", "NONE", s:surface0, "NONE", "NONE")
call s:hi("Cursor", "NONE", s:base, s:rosewater, "NONE", "NONE")
call s:hi("lCursor", "NONE", s:base, s:rosewater, "NONE", "NONE")
call s:hi("CursorIM", "NONE", s:base, s:rosewater, "NONE", "NONE")
call s:hi("CursorColumn", "NONE", "NONE", s:mantle, "NONE", "NONE")
call s:hi("CursorLine", "NONE", "NONE", s:surface0, "NONE", "NONE")
call s:hi("Directory", "NONE", s:blue, "NONE", "NONE", "NONE")
call s:hi("DiffAdd", "NONE", s:base, s:green, "NONE", "NONE")
call s:hi("DiffChange", "NONE", s:base, s:yellow, "NONE", "NONE")
call s:hi("DiffDelete", "NONE", s:base, s:red, "NONE", "NONE")
call s:hi("DiffText", "NONE", s:base, s:blue, "NONE", "NONE")
call s:hi("EndOfBuffer", "NONE", "NONE", "NONE", "NONE", "NONE")
call s:hi("ErrorMsg", "NONE", s:red, "NONE", "bolditalic" , "bold,italic")
call s:hi("VertSplit", "NONE", s:crust, "NONE", "NONE", "NONE")
call s:hi("Folded", "NONE", s:blue, s:surface1, "NONE", "NONE")
call s:hi("FoldColumn", "NONE", s:overlay0, s:base, "NONE", "NONE")
call s:hi("SignColumn", "NONE", s:surface1, s:base, "NONE", "NONE")
call s:hi("IncSearch", "NONE", s:surface1, s:pink, "NONE", "NONE")
call s:hi("CursorLineNR", "NONE", s:lavender, "NONE", "NONE", "NONE")
call s:hi("LineNr", "NONE", s:surface1, "NONE", "NONE", "NONE")
call s:hi("MatchParen", "NONE", s:peach, "NONE", "bold", "bold")
call s:hi("ModeMsg", "NONE", s:text, "NONE", "bold", "bold")
call s:hi("MoreMsg", "NONE", s:blue, "NONE", "NONE", "NONE")
call s:hi("NonText", "NONE", s:overlay0, "NONE", "NONE", "NONE")
call s:hi("Pmenu", "NONE", s:overlay2, s:surface0, "NONE", "NONE")
call s:hi("PmenuSel", "NONE", s:text, s:surface1, "bold", "bold")
call s:hi("PmenuSbar", "NONE", "NONE", s:surface1, "NONE", "NONE")
call s:hi("PmenuThumb", "NONE", "NONE", s:overlay0, "NONE", "NONE")
call s:hi("Question", "NONE", s:blue, "NONE", "NONE", "NONE")
call s:hi("QuickFixLine", "NONE", "NONE", s:surface1, "bold", "bold")
call s:hi("Search", "NONE", s:pink, s:surface1, "bold", "bold")
call s:hi("SpecialKey", "NONE", s:subtext0, "NONE", "NONE", "NONE")
call s:hi("SpellBad", "NONE", s:base, s:red, "NONE", "NONE")
call s:hi("SpellCap", "NONE", s:base, s:yellow, "NONE", "NONE")
call s:hi("SpellLocal", "NONE", s:base, s:blue, "NONE", "NONE")
call s:hi("SpellRare", "NONE", s:base, s:green, "NONE", "NONE")
call s:hi("StatusLine", "NONE", s:text, s:mantle, "NONE", "NONE")
call s:hi("StatusLineNC", "NONE", s:surface1, s:mantle, "NONE", "NONE")
call s:hi("StatusLineTerm", "NONE", s:text, s:mantle, "NONE", "NONE")
call s:hi("StatusLineTermNC", "NONE", s:surface1, s:mantle, "NONE", "NONE")
call s:hi("TabLine", "NONE", s:surface1, s:mantle, "NONE", "NONE")
call s:hi("TabLineFill", "NONE", "NONE", s:mantle, "NONE", "NONE")
call s:hi("TabLineSel", "NONE", s:green, s:surface1, "NONE", "NONE")
call s:hi("Title", "NONE", s:blue, "NONE", "bold", "bold")
call s:hi("VisualNOS", "NONE", "NONE", s:surface1, "bold", "bold")
call s:hi("WarningMsg", "NONE", s:yellow, "NONE", "NONE", "NONE")
call s:hi("WildMenu", "NONE", "NONE", s:overlay0, "NONE", "NONE")
call s:hi("Comment", "NONE", s:overlay0, "NONE", "NONE", "NONE")
call s:hi("Constant", "NONE", s:peach, "NONE", "NONE", "NONE")
call s:hi("Identifier", "NONE", s:flamingo, "NONE", "NONE", "NONE")
call s:hi("Statement", "NONE", s:mauve, "NONE", "NONE", "NONE")
call s:hi("PreProc", "NONE", s:pink, "NONE", "NONE", "NONE")
call s:hi("Type", "NONE", s:blue, "NONE", "NONE", "NONE")
call s:hi("Special", "NONE", s:pink, "NONE", "NONE", "NONE")
call s:hi("Underlined", "NONE", s:text, s:base, "underline", "underline")
call s:hi("Error", "NONE", s:red, "NONE", "NONE", "NONE")
call s:hi("Todo", "NONE", s:base, s:flamingo, "bold", "bold")
call s:hi("String", "NONE", s:green, "NONE", "NONE", "NONE")
call s:hi("Character", "NONE", s:teal, "NONE", "NONE", "NONE")
call s:hi("Number", "NONE", s:peach, "NONE", "NONE", "NONE")
call s:hi("Boolean", "NONE", s:peach, "NONE", "NONE", "NONE")
call s:hi("Float", "NONE", s:peach, "NONE", "NONE", "NONE")
call s:hi("Function", "NONE", s:blue, "NONE", "NONE", "NONE")
call s:hi("Conditional", "NONE", s:red, "NONE", "NONE", "NONE")
call s:hi("Repeat", "NONE", s:red, "NONE", "NONE", "NONE")
call s:hi("Label", "NONE", s:peach, "NONE", "NONE", "NONE")
call s:hi("Operator", "NONE", s:sky, "NONE", "NONE", "NONE")
call s:hi("Keyword", "NONE", s:pink, "NONE", "NONE", "NONE")
call s:hi("Include", "NONE", s:pink, "NONE", "NONE", "NONE")
call s:hi("StorageClass", "NONE", s:yellow, "NONE", "NONE", "NONE")
call s:hi("Structure", "NONE", s:yellow, "NONE", "NONE", "NONE")
call s:hi("Typedef", "NONE", s:yellow, "NONE", "NONE", "NONE")
call s:hi("debugPC", "NONE", "NONE", s:crust, "NONE", "NONE")
call s:hi("debugBreakpoint", "NONE", s:overlay0, s:base, "NONE", "NONE")
hi link Define PreProc
hi link Macro PreProc
hi link PreCondit PreProc
hi link SpecialChar Special
hi link Tag Special
hi link Delimiter Special
hi link SpecialComment Special
hi link Debug Special
hi link Exception Error
hi link StatusLineTerm StatusLine
hi link StatusLineTermNC StatusLineNC
hi link Terminal Normal
hi link Ignore Comment
" Set terminal colors for playing well with plugins like fzf
let g:terminal_ansi_colors = [
\ s:surface1, s:red, s:green, s:yellow, s:blue, s:pink, s:teal, s:subtext1,
\ s:surface2, s:red, s:green, s:yellow, s:blue, s:pink, s:teal, s:subtext0
\ ]

View File

@@ -0,0 +1,163 @@
" Name: catppuccin_latte.vim
set background=dark
hi clear
if exists('syntax on')
syntax reset
endif
let g:colors_name='catppuccin_latte'
set t_Co=256
let s:rosewater = "#DC8A78"
let s:flamingo = "#DD7878"
let s:pink = "#EA76CB"
let s:mauve = "#8839EF"
let s:red = "#D20F39"
let s:maroon = "#E64553"
let s:peach = "#FE640B"
let s:yellow = "#DF8E1D"
let s:green = "#40A02B"
let s:teal = "#179299"
let s:sky = "#04A5E5"
let s:sapphire = "#209FB5"
let s:blue = "#1E66F5"
let s:lavender = "#7287FD"
let s:text = "#4C4F69"
let s:subtext1 = "#5C5F77"
let s:subtext0 = "#6C6F85"
let s:overlay2 = "#7C7F93"
let s:overlay1 = "#8C8FA1"
let s:overlay0 = "#9CA0B0"
let s:surface2 = "#ACB0BE"
let s:surface1 = "#BCC0CC"
let s:surface0 = "#CCD0DA"
let s:base = "#EFF1F5"
let s:mantle = "#E6E9EF"
let s:crust = "#DCE0E8"
function! s:hi(group, guisp, guifg, guibg, gui, cterm)
let cmd = ""
if a:guisp != ""
let cmd = cmd . " guisp=" . a:guisp
endif
if a:guifg != ""
let cmd = cmd . " guifg=" . a:guifg
endif
if a:guibg != ""
let cmd = cmd . " guibg=" . a:guibg
endif
if a:gui != ""
let cmd = cmd . " gui=" . a:gui
endif
if a:cterm != ""
let cmd = cmd . " cterm=" . a:cterm
endif
if cmd != ""
exec "hi " . a:group . cmd
endif
endfunction
call s:hi("Normal", "NONE", s:text, s:base, "NONE", "NONE")
call s:hi("Visual", "NONE", "NONE", s:surface1,"bold", "bold")
call s:hi("Conceal", "NONE", s:overlay1, "NONE", "NONE", "NONE")
call s:hi("ColorColumn", "NONE", "NONE", s:surface0, "NONE", "NONE")
call s:hi("Cursor", "NONE", s:base, s:rosewater, "NONE", "NONE")
call s:hi("lCursor", "NONE", s:base, s:rosewater, "NONE", "NONE")
call s:hi("CursorIM", "NONE", s:base, s:rosewater, "NONE", "NONE")
call s:hi("CursorColumn", "NONE", "NONE", s:mantle, "NONE", "NONE")
call s:hi("CursorLine", "NONE", "NONE", s:surface0, "NONE", "NONE")
call s:hi("Directory", "NONE", s:blue, "NONE", "NONE", "NONE")
call s:hi("DiffAdd", "NONE", s:base, s:green, "NONE", "NONE")
call s:hi("DiffChange", "NONE", s:base, s:yellow, "NONE", "NONE")
call s:hi("DiffDelete", "NONE", s:base, s:red, "NONE", "NONE")
call s:hi("DiffText", "NONE", s:base, s:blue, "NONE", "NONE")
call s:hi("EndOfBuffer", "NONE", "NONE", "NONE", "NONE", "NONE")
call s:hi("ErrorMsg", "NONE", s:red, "NONE", "bolditalic" , "bold,italic")
call s:hi("VertSplit", "NONE", s:crust, "NONE", "NONE", "NONE")
call s:hi("Folded", "NONE", s:blue, s:surface1, "NONE", "NONE")
call s:hi("FoldColumn", "NONE", s:overlay0, s:base, "NONE", "NONE")
call s:hi("SignColumn", "NONE", s:surface1, s:base, "NONE", "NONE")
call s:hi("IncSearch", "NONE", s:surface1, s:pink, "NONE", "NONE")
call s:hi("CursorLineNR", "NONE", s:lavender, "NONE", "NONE", "NONE")
call s:hi("LineNr", "NONE", s:surface1, "NONE", "NONE", "NONE")
call s:hi("MatchParen", "NONE", s:peach, "NONE", "bold", "bold")
call s:hi("ModeMsg", "NONE", s:text, "NONE", "bold", "bold")
call s:hi("MoreMsg", "NONE", s:blue, "NONE", "NONE", "NONE")
call s:hi("NonText", "NONE", s:overlay0, "NONE", "NONE", "NONE")
call s:hi("Pmenu", "NONE", s:overlay2, s:surface0, "NONE", "NONE")
call s:hi("PmenuSel", "NONE", s:text, s:surface1, "bold", "bold")
call s:hi("PmenuSbar", "NONE", "NONE", s:surface1, "NONE", "NONE")
call s:hi("PmenuThumb", "NONE", "NONE", s:overlay0, "NONE", "NONE")
call s:hi("Question", "NONE", s:blue, "NONE", "NONE", "NONE")
call s:hi("QuickFixLine", "NONE", "NONE", s:surface1, "bold", "bold")
call s:hi("Search", "NONE", s:pink, s:surface1, "bold", "bold")
call s:hi("SpecialKey", "NONE", s:subtext0, "NONE", "NONE", "NONE")
call s:hi("SpellBad", "NONE", s:base, s:red, "NONE", "NONE")
call s:hi("SpellCap", "NONE", s:base, s:yellow, "NONE", "NONE")
call s:hi("SpellLocal", "NONE", s:base, s:blue, "NONE", "NONE")
call s:hi("SpellRare", "NONE", s:base, s:green, "NONE", "NONE")
call s:hi("StatusLine", "NONE", s:text, s:mantle, "NONE", "NONE")
call s:hi("StatusLineNC", "NONE", s:surface1, s:mantle, "NONE", "NONE")
call s:hi("StatusLineTerm", "NONE", s:text, s:mantle, "NONE", "NONE")
call s:hi("StatusLineTermNC", "NONE", s:surface1, s:mantle, "NONE", "NONE")
call s:hi("TabLine", "NONE", s:surface1, s:mantle, "NONE", "NONE")
call s:hi("TabLineFill", "NONE", "NONE", s:mantle, "NONE", "NONE")
call s:hi("TabLineSel", "NONE", s:green, s:surface1, "NONE", "NONE")
call s:hi("Title", "NONE", s:blue, "NONE", "bold", "bold")
call s:hi("VisualNOS", "NONE", "NONE", s:surface1, "bold", "bold")
call s:hi("WarningMsg", "NONE", s:yellow, "NONE", "NONE", "NONE")
call s:hi("WildMenu", "NONE", "NONE", s:overlay0, "NONE", "NONE")
call s:hi("Comment", "NONE", s:overlay0, "NONE", "NONE", "NONE")
call s:hi("Constant", "NONE", s:peach, "NONE", "NONE", "NONE")
call s:hi("Identifier", "NONE", s:flamingo, "NONE", "NONE", "NONE")
call s:hi("Statement", "NONE", s:mauve, "NONE", "NONE", "NONE")
call s:hi("PreProc", "NONE", s:pink, "NONE", "NONE", "NONE")
call s:hi("Type", "NONE", s:blue, "NONE", "NONE", "NONE")
call s:hi("Special", "NONE", s:pink, "NONE", "NONE", "NONE")
call s:hi("Underlined", "NONE", s:text, s:base, "underline", "underline")
call s:hi("Error", "NONE", s:red, "NONE", "NONE", "NONE")
call s:hi("Todo", "NONE", s:base, s:flamingo, "bold", "bold")
call s:hi("String", "NONE", s:green, "NONE", "NONE", "NONE")
call s:hi("Character", "NONE", s:teal, "NONE", "NONE", "NONE")
call s:hi("Number", "NONE", s:peach, "NONE", "NONE", "NONE")
call s:hi("Boolean", "NONE", s:peach, "NONE", "NONE", "NONE")
call s:hi("Float", "NONE", s:peach, "NONE", "NONE", "NONE")
call s:hi("Function", "NONE", s:blue, "NONE", "NONE", "NONE")
call s:hi("Conditional", "NONE", s:red, "NONE", "NONE", "NONE")
call s:hi("Repeat", "NONE", s:red, "NONE", "NONE", "NONE")
call s:hi("Label", "NONE", s:peach, "NONE", "NONE", "NONE")
call s:hi("Operator", "NONE", s:sky, "NONE", "NONE", "NONE")
call s:hi("Keyword", "NONE", s:pink, "NONE", "NONE", "NONE")
call s:hi("Include", "NONE", s:pink, "NONE", "NONE", "NONE")
call s:hi("StorageClass", "NONE", s:yellow, "NONE", "NONE", "NONE")
call s:hi("Structure", "NONE", s:yellow, "NONE", "NONE", "NONE")
call s:hi("Typedef", "NONE", s:yellow, "NONE", "NONE", "NONE")
call s:hi("debugPC", "NONE", "NONE", s:crust, "NONE", "NONE")
call s:hi("debugBreakpoint", "NONE", s:overlay0, s:base, "NONE", "NONE")
hi link Define PreProc
hi link Macro PreProc
hi link PreCondit PreProc
hi link SpecialChar Special
hi link Tag Special
hi link Delimiter Special
hi link SpecialComment Special
hi link Debug Special
hi link Exception Error
hi link StatusLineTerm StatusLine
hi link StatusLineTermNC StatusLineNC
hi link Terminal Normal
hi link Ignore Comment
" Set terminal colors for playing well with plugins like fzf
let g:terminal_ansi_colors = [
\ s:subtext1, s:red, s:green, s:yellow, s:blue, s:pink, s:teal, s:surface2,
\ s:subtext0, s:red, s:green, s:yellow, s:blue, s:pink, s:teal, s:surface1
\ ]

View File

@@ -0,0 +1,163 @@
" Name: catppuccin_macchiato.vim
set background=dark
hi clear
if exists('syntax on')
syntax reset
endif
let g:colors_name='catppuccin_macchiato'
set t_Co=256
let s:rosewater = "#F4DBD6"
let s:flamingo = "#F0C6C6"
let s:pink = "#F5BDE6"
let s:mauve = "#C6A0F6"
let s:red = "#ED8796"
let s:maroon = "#EE99A0"
let s:peach = "#F5A97F"
let s:yellow = "#EED49F"
let s:green = "#A6DA95"
let s:teal = "#8BD5CA"
let s:sky = "#91D7E3"
let s:sapphire = "#7DC4E4"
let s:blue = "#8AADF4"
let s:lavender = "#B7BDF8"
let s:text = "#CAD3F5"
let s:subtext1 = "#B8C0E0"
let s:subtext0 = "#A5ADCB"
let s:overlay2 = "#939AB7"
let s:overlay1 = "#8087A2"
let s:overlay0 = "#6E738D"
let s:surface2 = "#5B6078"
let s:surface1 = "#494D64"
let s:surface0 = "#363A4F"
let s:base = "#24273A"
let s:mantle = "#1E2030"
let s:crust = "#181926"
function! s:hi(group, guisp, guifg, guibg, gui, cterm)
let cmd = ""
if a:guisp != ""
let cmd = cmd . " guisp=" . a:guisp
endif
if a:guifg != ""
let cmd = cmd . " guifg=" . a:guifg
endif
if a:guibg != ""
let cmd = cmd . " guibg=" . a:guibg
endif
if a:gui != ""
let cmd = cmd . " gui=" . a:gui
endif
if a:cterm != ""
let cmd = cmd . " cterm=" . a:cterm
endif
if cmd != ""
exec "hi " . a:group . cmd
endif
endfunction
call s:hi("Normal", "NONE", s:text, s:base, "NONE", "NONE")
call s:hi("Visual", "NONE", "NONE", s:surface1,"bold", "bold")
call s:hi("Conceal", "NONE", s:overlay1, "NONE", "NONE", "NONE")
call s:hi("ColorColumn", "NONE", "NONE", s:surface0, "NONE", "NONE")
call s:hi("Cursor", "NONE", s:base, s:rosewater, "NONE", "NONE")
call s:hi("lCursor", "NONE", s:base, s:rosewater, "NONE", "NONE")
call s:hi("CursorIM", "NONE", s:base, s:rosewater, "NONE", "NONE")
call s:hi("CursorColumn", "NONE", "NONE", s:mantle, "NONE", "NONE")
call s:hi("CursorLine", "NONE", "NONE", s:surface0, "NONE", "NONE")
call s:hi("Directory", "NONE", s:blue, "NONE", "NONE", "NONE")
call s:hi("DiffAdd", "NONE", s:base, s:green, "NONE", "NONE")
call s:hi("DiffChange", "NONE", s:base, s:yellow, "NONE", "NONE")
call s:hi("DiffDelete", "NONE", s:base, s:red, "NONE", "NONE")
call s:hi("DiffText", "NONE", s:base, s:blue, "NONE", "NONE")
call s:hi("EndOfBuffer", "NONE", "NONE", "NONE", "NONE", "NONE")
call s:hi("ErrorMsg", "NONE", s:red, "NONE", "bolditalic" , "bold,italic")
call s:hi("VertSplit", "NONE", s:crust, "NONE", "NONE", "NONE")
call s:hi("Folded", "NONE", s:blue, s:surface1, "NONE", "NONE")
call s:hi("FoldColumn", "NONE", s:overlay0, s:base, "NONE", "NONE")
call s:hi("SignColumn", "NONE", s:surface1, s:base, "NONE", "NONE")
call s:hi("IncSearch", "NONE", s:surface1, s:pink, "NONE", "NONE")
call s:hi("CursorLineNR", "NONE", s:lavender, "NONE", "NONE", "NONE")
call s:hi("LineNr", "NONE", s:surface1, "NONE", "NONE", "NONE")
call s:hi("MatchParen", "NONE", s:peach, "NONE", "bold", "bold")
call s:hi("ModeMsg", "NONE", s:text, "NONE", "bold", "bold")
call s:hi("MoreMsg", "NONE", s:blue, "NONE", "NONE", "NONE")
call s:hi("NonText", "NONE", s:overlay0, "NONE", "NONE", "NONE")
call s:hi("Pmenu", "NONE", s:overlay2, s:surface0, "NONE", "NONE")
call s:hi("PmenuSel", "NONE", s:text, s:surface1, "bold", "bold")
call s:hi("PmenuSbar", "NONE", "NONE", s:surface1, "NONE", "NONE")
call s:hi("PmenuThumb", "NONE", "NONE", s:overlay0, "NONE", "NONE")
call s:hi("Question", "NONE", s:blue, "NONE", "NONE", "NONE")
call s:hi("QuickFixLine", "NONE", "NONE", s:surface1, "bold", "bold")
call s:hi("Search", "NONE", s:pink, s:surface1, "bold", "bold")
call s:hi("SpecialKey", "NONE", s:subtext0, "NONE", "NONE", "NONE")
call s:hi("SpellBad", "NONE", s:base, s:red, "NONE", "NONE")
call s:hi("SpellCap", "NONE", s:base, s:yellow, "NONE", "NONE")
call s:hi("SpellLocal", "NONE", s:base, s:blue, "NONE", "NONE")
call s:hi("SpellRare", "NONE", s:base, s:green, "NONE", "NONE")
call s:hi("StatusLine", "NONE", s:text, s:mantle, "NONE", "NONE")
call s:hi("StatusLineNC", "NONE", s:surface1, s:mantle, "NONE", "NONE")
call s:hi("StatusLineTerm", "NONE", s:text, s:mantle, "NONE", "NONE")
call s:hi("StatusLineTermNC", "NONE", s:surface1, s:mantle, "NONE", "NONE")
call s:hi("TabLine", "NONE", s:surface1, s:mantle, "NONE", "NONE")
call s:hi("TabLineFill", "NONE", "NONE", s:mantle, "NONE", "NONE")
call s:hi("TabLineSel", "NONE", s:green, s:surface1, "NONE", "NONE")
call s:hi("Title", "NONE", s:blue, "NONE", "bold", "bold")
call s:hi("VisualNOS", "NONE", "NONE", s:surface1, "bold", "bold")
call s:hi("WarningMsg", "NONE", s:yellow, "NONE", "NONE", "NONE")
call s:hi("WildMenu", "NONE", "NONE", s:overlay0, "NONE", "NONE")
call s:hi("Comment", "NONE", s:overlay0, "NONE", "NONE", "NONE")
call s:hi("Constant", "NONE", s:peach, "NONE", "NONE", "NONE")
call s:hi("Identifier", "NONE", s:flamingo, "NONE", "NONE", "NONE")
call s:hi("Statement", "NONE", s:mauve, "NONE", "NONE", "NONE")
call s:hi("PreProc", "NONE", s:pink, "NONE", "NONE", "NONE")
call s:hi("Type", "NONE", s:blue, "NONE", "NONE", "NONE")
call s:hi("Special", "NONE", s:pink, "NONE", "NONE", "NONE")
call s:hi("Underlined", "NONE", s:text, s:base, "underline", "underline")
call s:hi("Error", "NONE", s:red, "NONE", "NONE", "NONE")
call s:hi("Todo", "NONE", s:base, s:flamingo, "bold", "bold")
call s:hi("String", "NONE", s:green, "NONE", "NONE", "NONE")
call s:hi("Character", "NONE", s:teal, "NONE", "NONE", "NONE")
call s:hi("Number", "NONE", s:peach, "NONE", "NONE", "NONE")
call s:hi("Boolean", "NONE", s:peach, "NONE", "NONE", "NONE")
call s:hi("Float", "NONE", s:peach, "NONE", "NONE", "NONE")
call s:hi("Function", "NONE", s:blue, "NONE", "NONE", "NONE")
call s:hi("Conditional", "NONE", s:red, "NONE", "NONE", "NONE")
call s:hi("Repeat", "NONE", s:red, "NONE", "NONE", "NONE")
call s:hi("Label", "NONE", s:peach, "NONE", "NONE", "NONE")
call s:hi("Operator", "NONE", s:sky, "NONE", "NONE", "NONE")
call s:hi("Keyword", "NONE", s:pink, "NONE", "NONE", "NONE")
call s:hi("Include", "NONE", s:pink, "NONE", "NONE", "NONE")
call s:hi("StorageClass", "NONE", s:yellow, "NONE", "NONE", "NONE")
call s:hi("Structure", "NONE", s:yellow, "NONE", "NONE", "NONE")
call s:hi("Typedef", "NONE", s:yellow, "NONE", "NONE", "NONE")
call s:hi("debugPC", "NONE", "NONE", s:crust, "NONE", "NONE")
call s:hi("debugBreakpoint", "NONE", s:overlay0, s:base, "NONE", "NONE")
hi link Define PreProc
hi link Macro PreProc
hi link PreCondit PreProc
hi link SpecialChar Special
hi link Tag Special
hi link Delimiter Special
hi link SpecialComment Special
hi link Debug Special
hi link Exception Error
hi link StatusLineTerm StatusLine
hi link StatusLineTermNC StatusLineNC
hi link Terminal Normal
hi link Ignore Comment
" Set terminal colors for playing well with plugins like fzf
let g:terminal_ansi_colors = [
\ s:surface1, s:red, s:green, s:yellow, s:blue, s:pink, s:teal, s:subtext1,
\ s:surface2, s:red, s:green, s:yellow, s:blue, s:pink, s:teal, s:subtext0
\ ]

View File

@@ -0,0 +1,163 @@
" Name: catppuccin_mocha.vim
set background=dark
hi clear
if exists('syntax on')
syntax reset
endif
let g:colors_name='catppuccin_mocha'
set t_Co=256
let s:rosewater = "#F5E0DC"
let s:flamingo = "#F2CDCD"
let s:pink = "#F5C2E7"
let s:mauve = "#CBA6F7"
let s:red = "#F38BA8"
let s:maroon = "#EBA0AC"
let s:peach = "#FAB387"
let s:yellow = "#F9E2AF"
let s:green = "#A6E3A1"
let s:teal = "#94E2D5"
let s:sky = "#89DCEB"
let s:sapphire = "#74C7EC"
let s:blue = "#89B4FA"
let s:lavender = "#B4BEFE"
let s:text = "#CDD6F4"
let s:subtext1 = "#BAC2DE"
let s:subtext0 = "#A6ADC8"
let s:overlay2 = "#9399B2"
let s:overlay1 = "#7F849C"
let s:overlay0 = "#6C7086"
let s:surface2 = "#585B70"
let s:surface1 = "#45475A"
let s:surface0 = "#313244"
let s:base = "#1E1E2E"
let s:mantle = "#181825"
let s:crust = "#11111B"
function! s:hi(group, guisp, guifg, guibg, gui, cterm)
let cmd = ""
if a:guisp != ""
let cmd = cmd . " guisp=" . a:guisp
endif
if a:guifg != ""
let cmd = cmd . " guifg=" . a:guifg
endif
if a:guibg != ""
let cmd = cmd . " guibg=" . a:guibg
endif
if a:gui != ""
let cmd = cmd . " gui=" . a:gui
endif
if a:cterm != ""
let cmd = cmd . " cterm=" . a:cterm
endif
if cmd != ""
exec "hi " . a:group . cmd
endif
endfunction
call s:hi("Normal", "NONE", s:text, s:base, "NONE", "NONE")
call s:hi("Visual", "NONE", "NONE", s:surface1,"bold", "bold")
call s:hi("Conceal", "NONE", s:overlay1, "NONE", "NONE", "NONE")
call s:hi("ColorColumn", "NONE", "NONE", s:surface0, "NONE", "NONE")
call s:hi("Cursor", "NONE", s:base, s:rosewater, "NONE", "NONE")
call s:hi("lCursor", "NONE", s:base, s:rosewater, "NONE", "NONE")
call s:hi("CursorIM", "NONE", s:base, s:rosewater, "NONE", "NONE")
call s:hi("CursorColumn", "NONE", "NONE", s:mantle, "NONE", "NONE")
call s:hi("CursorLine", "NONE", "NONE", s:surface0, "NONE", "NONE")
call s:hi("Directory", "NONE", s:blue, "NONE", "NONE", "NONE")
call s:hi("DiffAdd", "NONE", s:base, s:green, "NONE", "NONE")
call s:hi("DiffChange", "NONE", s:base, s:yellow, "NONE", "NONE")
call s:hi("DiffDelete", "NONE", s:base, s:red, "NONE", "NONE")
call s:hi("DiffText", "NONE", s:base, s:blue, "NONE", "NONE")
call s:hi("EndOfBuffer", "NONE", "NONE", "NONE", "NONE", "NONE")
call s:hi("ErrorMsg", "NONE", s:red, "NONE", "bolditalic" , "bold,italic")
call s:hi("VertSplit", "NONE", s:crust, "NONE", "NONE", "NONE")
call s:hi("Folded", "NONE", s:blue, s:surface1, "NONE", "NONE")
call s:hi("FoldColumn", "NONE", s:overlay0, s:base, "NONE", "NONE")
call s:hi("SignColumn", "NONE", s:surface1, s:base, "NONE", "NONE")
call s:hi("IncSearch", "NONE", s:surface1, s:pink, "NONE", "NONE")
call s:hi("CursorLineNR", "NONE", s:lavender, "NONE", "NONE", "NONE")
call s:hi("LineNr", "NONE", s:surface1, "NONE", "NONE", "NONE")
call s:hi("MatchParen", "NONE", s:peach, "NONE", "bold", "bold")
call s:hi("ModeMsg", "NONE", s:text, "NONE", "bold", "bold")
call s:hi("MoreMsg", "NONE", s:blue, "NONE", "NONE", "NONE")
call s:hi("NonText", "NONE", s:overlay0, "NONE", "NONE", "NONE")
call s:hi("Pmenu", "NONE", s:overlay2, s:surface0, "NONE", "NONE")
call s:hi("PmenuSel", "NONE", s:text, s:surface1, "bold", "bold")
call s:hi("PmenuSbar", "NONE", "NONE", s:surface1, "NONE", "NONE")
call s:hi("PmenuThumb", "NONE", "NONE", s:overlay0, "NONE", "NONE")
call s:hi("Question", "NONE", s:blue, "NONE", "NONE", "NONE")
call s:hi("QuickFixLine", "NONE", "NONE", s:surface1, "bold", "bold")
call s:hi("Search", "NONE", s:pink, s:surface1, "bold", "bold")
call s:hi("SpecialKey", "NONE", s:subtext0, "NONE", "NONE", "NONE")
call s:hi("SpellBad", "NONE", s:base, s:red, "NONE", "NONE")
call s:hi("SpellCap", "NONE", s:base, s:yellow, "NONE", "NONE")
call s:hi("SpellLocal", "NONE", s:base, s:blue, "NONE", "NONE")
call s:hi("SpellRare", "NONE", s:base, s:green, "NONE", "NONE")
call s:hi("StatusLine", "NONE", s:text, s:mantle, "NONE", "NONE")
call s:hi("StatusLineNC", "NONE", s:surface1, s:mantle, "NONE", "NONE")
call s:hi("StatusLineTerm", "NONE", s:text, s:mantle, "NONE", "NONE")
call s:hi("StatusLineTermNC", "NONE", s:surface1, s:mantle, "NONE", "NONE")
call s:hi("TabLine", "NONE", s:surface1, s:mantle, "NONE", "NONE")
call s:hi("TabLineFill", "NONE", "NONE", s:mantle, "NONE", "NONE")
call s:hi("TabLineSel", "NONE", s:green, s:surface1, "NONE", "NONE")
call s:hi("Title", "NONE", s:blue, "NONE", "bold", "bold")
call s:hi("VisualNOS", "NONE", "NONE", s:surface1, "bold", "bold")
call s:hi("WarningMsg", "NONE", s:yellow, "NONE", "NONE", "NONE")
call s:hi("WildMenu", "NONE", "NONE", s:overlay0, "NONE", "NONE")
call s:hi("Comment", "NONE", s:overlay0, "NONE", "NONE", "NONE")
call s:hi("Constant", "NONE", s:peach, "NONE", "NONE", "NONE")
call s:hi("Identifier", "NONE", s:flamingo, "NONE", "NONE", "NONE")
call s:hi("Statement", "NONE", s:mauve, "NONE", "NONE", "NONE")
call s:hi("PreProc", "NONE", s:pink, "NONE", "NONE", "NONE")
call s:hi("Type", "NONE", s:blue, "NONE", "NONE", "NONE")
call s:hi("Special", "NONE", s:pink, "NONE", "NONE", "NONE")
call s:hi("Underlined", "NONE", s:text, s:base, "underline", "underline")
call s:hi("Error", "NONE", s:red, "NONE", "NONE", "NONE")
call s:hi("Todo", "NONE", s:base, s:flamingo, "bold", "bold")
call s:hi("String", "NONE", s:green, "NONE", "NONE", "NONE")
call s:hi("Character", "NONE", s:teal, "NONE", "NONE", "NONE")
call s:hi("Number", "NONE", s:peach, "NONE", "NONE", "NONE")
call s:hi("Boolean", "NONE", s:peach, "NONE", "NONE", "NONE")
call s:hi("Float", "NONE", s:peach, "NONE", "NONE", "NONE")
call s:hi("Function", "NONE", s:blue, "NONE", "NONE", "NONE")
call s:hi("Conditional", "NONE", s:red, "NONE", "NONE", "NONE")
call s:hi("Repeat", "NONE", s:red, "NONE", "NONE", "NONE")
call s:hi("Label", "NONE", s:peach, "NONE", "NONE", "NONE")
call s:hi("Operator", "NONE", s:sky, "NONE", "NONE", "NONE")
call s:hi("Keyword", "NONE", s:pink, "NONE", "NONE", "NONE")
call s:hi("Include", "NONE", s:pink, "NONE", "NONE", "NONE")
call s:hi("StorageClass", "NONE", s:yellow, "NONE", "NONE", "NONE")
call s:hi("Structure", "NONE", s:yellow, "NONE", "NONE", "NONE")
call s:hi("Typedef", "NONE", s:yellow, "NONE", "NONE", "NONE")
call s:hi("debugPC", "NONE", "NONE", s:crust, "NONE", "NONE")
call s:hi("debugBreakpoint", "NONE", s:overlay0, s:base, "NONE", "NONE")
hi link Define PreProc
hi link Macro PreProc
hi link PreCondit PreProc
hi link SpecialChar Special
hi link Tag Special
hi link Delimiter Special
hi link SpecialComment Special
hi link Debug Special
hi link Exception Error
hi link StatusLineTerm StatusLine
hi link StatusLineTermNC StatusLineNC
hi link Terminal Normal
hi link Ignore Comment
" Set terminal colors for playing well with plugins like fzf
let g:terminal_ansi_colors = [
\ s:surface1, s:red, s:green, s:yellow, s:blue, s:pink, s:teal, s:subtext1,
\ s:surface2, s:red, s:green, s:yellow, s:blue, s:pink, s:teal, s:subtext0
\ ]

61
vim/.vimrc Normal file
View File

@@ -0,0 +1,61 @@
" ----------------------------------------
" Appearance and Colorscheme: Catppuccin
" ----------------------------------------
set termguicolors " Enable true color support
colorscheme catppuccin_mocha " Use the mocha variant (dark theme)
" Optional: Lightline support (if installed)
let g:lightline = { 'colorscheme': 'catppuccin_mocha' }
" ----------------------------------------
" Smart indentation for C development
" ----------------------------------------
filetype plugin indent on
syntax enable
set autoindent " Copy indentation from previous line
set cindent " Use C-style indentation
set cinoptions=:0,l1,t0,g0 " Linux style: brace on new line, minimal alignment
set noexpandtab " Use real tab characters (not spaces)
set shiftwidth=8 " Indent by 8 columns
set softtabstop=8 " Insert/delete 8 spaces with tab/backspace
set tabstop=8 " A tab character is 8 columns wide
" ----------------------------------------
" Formatting on save with clang-format
" (requires clang-format installed)
" ----------------------------------------
let g:clang_format#style_options = {
\ 'BasedOnStyle': 'LLVM',
\ 'IndentWidth': 8,
\ 'TabWidth': 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'
\ }
autocmd BufWritePre *.c,*.h silent! execute '%!clang-format'
"autocmd BufWritePre *.c,*.h call system('clang-format -i ' . shellescape(@%))
" ----------------------------------------
" General UI settings
" ----------------------------------------
set number " Show line numbers
set cursorline " Highlight current line
set ruler " Show cursor position
set wildmenu " Enhanced command-line completion
set nowrap " Don't wrap long lines
set mouse=a " Enable mouse support

View File

@@ -0,0 +1,46 @@
is_debian_based() {
# Checking /etc/os-release
if [[ -f /etc/os-release ]]; then
. /etc/os-release
if [[ "$ID_LIKE" == *"debian"* ]] || [[ "$ID" == "debian" ]]; then
return 0 # OK: Debian-based
fi
fi
# Alternative check: /etc/debian_version
if [[ -f /etc/debian_version ]]; then
return 0 # OK: Debian-based
fi
return 1 # NO Debian-based
}
alias ls="eza --color=always --group-directories-first --icons"
# Replace some more things with better alternatives
if is_debian_based; then
alias bat='batcat'
alias fd='fdfind'
fi
alias cat='bat --style header --style snip --style changes --style header --pager never'
# Replace df command tool
alias df='duf'
# Replace Vim implementation
alias vi='nvim'
alias vim='nvim'
# Replace grep command tool
alias grep='ugrep --color=auto'
alias egrep='ugrep -E --color=auto'
alias fgrep='ugrep -F --color=auto'
# 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 pbcopy='xsel --clipboard --input'
alias pbpaste='xsel --clipboard --output'
alias stow='stow -d $DOTFILES '

3
zsh/.profile.d/dotfiles.sh Executable file
View File

@@ -0,0 +1,3 @@
#/usr/bin/env bash
export DOTFILES="$HOME/.dotfiles"

3
zsh/.profile.d/editor.sh Executable file
View File

@@ -0,0 +1,3 @@
#!/usr/bin/env bash
export EDITOR=vim

38
zsh/.profile.d/fzf.sh Executable file
View File

@@ -0,0 +1,38 @@
#!/usr/bin/env bash
is_debian_based() {
# Checking /etc/os-release
if [[ -f /etc/os-release ]]; then
. /etc/os-release
if [[ "$ID_LIKE" == *"debian"* ]] || [[ "$ID" == "debian" ]]; then
return 0 # OK: Debian-based
fi
fi
# Alternative check: /etc/debian_version
if [[ -f /etc/debian_version ]]; then
return 0 # OK: Debian-based
fi
return 1 # NO Debian-based
}
# Add fzf keybindings and enhancements
if is_debian_based; then
export FZF_CTRL_T_COMMAND="fdfind --type f"
export FZF_ALT_C_COMMAND="fdfind --type d"
else
export FZF_CTRL_T_COMMAND="fd --type f"
export FZF_ALT_C_COMMAND="fd --type d"
fi
export FZF_CTRL_R_OPTS="--preview 'echo {}'"
# Export Catppuccin Mocha theme for FZF
export FZF_DEFAULT_OPTS=" \
--height 60% --layout=reverse --border \
--color=bg+:#313244,bg:#1E1E2E,spinner:#F5E0DC,hl:#F38BA8 \
--color=fg:#CDD6F4,header:#F38BA8,info:#CBA6F7,pointer:#F5E0DC \
--color=marker:#B4BEFE,fg+:#CDD6F4,prompt:#CBA6F7,hl+:#F38BA8 \
--color=selected-bg:#45475A \
--color=border:#313244,label:#CDD6F4"

3
zsh/.profile.d/ghcup.sh Executable file
View File

@@ -0,0 +1,3 @@
#!/usr/bin/env bash
[ -f "$HOME/.ghcup/env" ] && . "$HOME/.ghcup/env"

12
zsh/.profile.d/go.sh Executable file
View File

@@ -0,0 +1,12 @@
#!/usr/bin/env bash
case $(uname -s) in
"Linux")
export GOPATH="$HOME/.local/share/Go";;
"Darwin")
export GOPATH="$HOME/Library/Go";;
*)
echo "Operating System unknown";;
esac
export GOBIN=$GOPATH/bin

3
zsh/.profile.d/graalvm.sh Executable file
View File

@@ -0,0 +1,3 @@
#!/usr/bin/env bash
export GRAALVM_HOME="${HOME}/.local/share/mise/installs/java/graalvm-community-23.0.1"

5
zsh/.profile.d/help.sh Executable file
View File

@@ -0,0 +1,5 @@
#!/usr/bin/env bash
if [[ $SHELL == "zsh" ]]; then
export HELPDIR=/usr/share/zsh/"${ZSH_VERSION}"/help
fi

3
zsh/.profile.d/homebrew.sh Executable file
View File

@@ -0,0 +1,3 @@
#!/usr/bin/env bash
export HOMEBREW_NO_ENV_HINTS=1

3
zsh/.profile.d/java.sh Executable file
View File

@@ -0,0 +1,3 @@
#!/usr/bin/env bash
export JAVA_HOME="${HOME}/.local/share/mise/installs/java/23.0.1"

4
zsh/.profile.d/jmeter.sh Executable file
View File

@@ -0,0 +1,4 @@
#!/usr/bin/env bash
JMETER_HOME="$(which jmeter)"
export JMETER_HOME

5
zsh/.profile.d/rust.sh Executable file
View File

@@ -0,0 +1,5 @@
#!/usr/bin/env bash
if [ -e "$HOME/.cargo" ]; then
source "$HOME/.cargo/env"
fi

41
zsh/.profile.d/ssh-agent.sh Executable file
View File

@@ -0,0 +1,41 @@
#!/usr/bin/env zsh
# This script sets up ssh-agent and gpg-agent differently for WSL and Linux Mint.
# On WSL, it uses keychain to start agents.
# On Linux Mint (or other Linux), it assumes gnome-keyring manages agents automatically.
# Detect if running inside WSL by checking /proc/version for "Microsoft"
if grep -qi microsoft /proc/version; then
IS_WSL=true
else
IS_WSL=false
fi
if [ "$IS_WSL" = true ]; then
# We are in WSL - start keychain for ssh and gpg agents
# Adjust these variables to your actual SSH and GPG key names
SSH_KEY="$HOME/.ssh/id_rsa_deadalus"
#GPG_KEY=9DDD59AD62494FB2
# Check if keychain is installed
if command -v keychain >/dev/null 2>&1; then
SHORT_HOST=${SHORT_HOST:-${(%):-%m}}
# Start keychain quietly with no GUI prompts for ssh agents
eval "$(keychain --quiet --nogui --agents ssh $SSH_KEY)"
# Get the filenames to store/lookup the environment from
_keychain_env_sh="$HOME/.keychain/$SHORT_HOST-sh"
_keychain_env_sh_gpg="$HOME/.keychain/$SHORT_HOST-sh-gpg"
# Source environment settings.
[ -f "$_keychain_env_sh" ] && . "$_keychain_env_sh"
[ -f "$_keychain_env_sh_gpg" ] && . "$_keychain_env_sh_gpg"
else
echo "Warning: keychain is not installed. Please install keychain to manage ssh/gpg agents."
fi
else
# Not WSL - assume gnome-keyring handles ssh-agent and gpg-agent
# Do nothing here to avoid conflicts with gnome-keyring
fi

9
zsh/.profile.d/sway-startup.sh Executable file
View File

@@ -0,0 +1,9 @@
#!/usr/bin/env bash
if [ -z "$DISPLAY" ] && [ "$(tty)" = "/dev/tty1" ]; then
if [ -n "$DBUS_SESSION_BUS_ADDRESS" ]; then
exec sway
else
exec dbus-launch --exit-with-session sway
fi
fi

3
zsh/.profile.d/venv.sh Executable file
View File

@@ -0,0 +1,3 @@
#/usr/bin/env bash
export VIRTUAL_ENV_DISABLE_PROMPT=1

7
zsh/.zlogout Normal file
View File

@@ -0,0 +1,7 @@
# ~/.bash_logout: executed by bash(1) when login shell exits.
# when leaving the console clear the screen to increase privacy
if [ "$SHLVL" = 1 ]; then
[ -x /usr/bin/clear_console ] && /usr/bin/clear_console -q
fi

7
zsh/.zprofile Normal file
View File

@@ -0,0 +1,7 @@
# Load profiles from /etc/profile.d
if test -d $HOME/.profile.d/; then
for profile in $HOME/.profile.d/*.sh; do
test -r "$profile" && . "$profile"
done
unset profile
fi

18
zsh/.zshenv Normal file
View File

@@ -0,0 +1,18 @@
[ -f "$HOME/.ghcup/env" ] && . "$HOME/.ghcup/env"
if [ -f "/home/linuxbrew/.linuxbrew/bin/brew" ]; then
# Initialize Homebrew
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
fi
if command -v starship > /dev/null 2>&1; then
# Initialize Starship
eval "$(starship init zsh)"
fi
# Aggiungi ~/.local/bin a PATH se non c'è già
case ":$PATH:" in
*":$HOME/.local/bin:"*) ;;
*) export PATH="$HOME/.local/bin:$PATH" ;;
esac

128
zsh/.zshrc Normal file
View File

@@ -0,0 +1,128 @@
# If you come from bash you might have to change your $PATH.
# export PATH=$HOME/bin:/usr/local/bin:$PATH
# Path to your oh-my-zsh installation.
export ZSH="$HOME/.oh-my-zsh"
[[ ! -f ~/.zshenv ]] || source ~/.zshenv
# Set name of the theme to load --- if set to "random", it will
# load a random theme each time oh-my-zsh is loaded, in which case,
# to know which specific one was loaded, run: echo $RANDOM_THEME
# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
# ZSH_THEME="robbyrussell"
# Set list of themes to pick from when loading at random
# Setting this variable when ZSH_THEME=random will cause zsh to load
# a theme from this variable instead of looking in $ZSH/themes/
# If set to an empty array, this variable will have no effect.
# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )
# Uncomment the following line to use case-sensitive completion.
# CASE_SENSITIVE="true"
# Uncomment the following line to use hyphen-insensitive completion.
# Case-sensitive completion must be off. _ and - will be interchangeable.
# HYPHEN_INSENSITIVE="true"
# Uncomment one of the following lines to change the auto-update behavior
# zstyle ':omz:update' mode disabled # disable automatic updates
# zstyle ':omz:update' mode auto # update automatically without asking
# zstyle ':omz:update' mode reminder # just remind me to update when it's time
# Uncomment the following line to change how often to auto-update (in days).
# zstyle ':omz:update' frequency 13
# Uncomment the following line if pasting URLs and other text is messed up.
# DISABLE_MAGIC_FUNCTIONS="true"
# Uncomment the following line to disable colors in ls.
# DISABLE_LS_COLORS="true"
# Uncomment the following line to disable auto-setting terminal title.
# DISABLE_AUTO_TITLE="true"
# Uncomment the following line to enable command auto-correction.
# ENABLE_CORRECTION="true"
# Uncomment the following line to display red dots whilst waiting for completion.
# You can also set it to another string to have that shown instead of the default red dots.
# e.g. COMPLETION_WAITING_DOTS="%F{yellow}waiting...%f"
# Caution: this setting can cause issues with multiline prompts in zsh < 5.7.1 (see #5765)
# COMPLETION_WAITING_DOTS="true"
# Uncomment the following line if you want to disable marking untracked files
# under VCS as dirty. This makes repository status check for large repositories
# much, much faster.
# DISABLE_UNTRACKED_FILES_DIRTY="true"
# Uncomment the following line if you want to change the command execution time
# stamp shown in the history command output.
# You can set one of the optional three formats:
# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
# or set a custom format using the strftime function format specifications,
# see 'man strftime' for details.
# HIST_STAMPS="mm/dd/yyyy"
# Would you like to use another custom folder than $ZSH/custom?
ZSH_CUSTOM=$ZSH/custom
# Which plugins would you like to load?
# Standard plugins can be found in $ZSH/plugins/
# Custom plugins may be added to $ZSH_CUSTOM/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(
aws
colored-man-pages
command-not-found
gitignore
mise
zoxide
zsh-autosuggestions
zsh-interactive-cd
zsh-navigation-tools
zsh-syntax-highlighting
)
source $ZSH/oh-my-zsh.sh
# User configuration
# export MANPATH="/usr/local/man:$MANPATH"
# You may need to manually set your language environment
# export LANG=en_US.UTF-8
# Preferred editor for local and remote sessions
# if [[ -n $SSH_CONNECTION ]]; then
# export EDITOR='vim'
# else
# export EDITOR='mvim'
# fi
# Compilation flags
# export ARCHFLAGS="-arch x86_64"
# Set personal aliases, overriding those provided by oh-my-zsh libs,
# plugins, and themes. Aliases can be placed here, though oh-my-zsh
# users are encouraged to define aliases within the ZSH_CUSTOM folder.
# For a full list of active aliases, run `alias`.
#
# Example aliases
# alias zshconfig="mate ~/.zshrc"
# alias ohmyzsh="mate ~/.oh-my-zsh"
# Setup emacs keymap
bindkey -e
fpath=(~/.zsh $fpath)
autoload run-help
autoload -Uz compinit && compinit -u
export FZF_HOME=$HOME/.oh-my-zsh/custom/plugins/fzf
source <(fzf --zsh)
source "$FZF_HOME/shell/key-bindings.zsh"
source "$FZF_HOME/shell/completion.zsh"