feat!: migrate from stow to chezmoi
This commit is contained in:
commit
02cdb3858b
7
.chezmoiignore
Normal file
7
.chezmoiignore
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
README.md
|
||||||
|
install.sh
|
||||||
|
scripts
|
||||||
|
utils
|
||||||
|
{{- if ne .chezmoi.hostname "ecole" }}
|
||||||
|
.config/gtk-3.0
|
||||||
|
{{- end }}
|
||||||
128
dot_bashrc
Normal file
128
dot_bashrc
Normal file
@ -0,0 +1,128 @@
|
|||||||
|
# ~/.bashrc: executed by bash(1) for non-login shells.
|
||||||
|
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
|
||||||
|
# for examples
|
||||||
|
|
||||||
|
# If not running interactively, don't do anything
|
||||||
|
case $- in
|
||||||
|
*i*) ;;
|
||||||
|
*) return;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# don't put duplicate lines or lines starting with space in the history.
|
||||||
|
# See bash(1) for more options
|
||||||
|
HISTCONTROL=ignoreboth
|
||||||
|
|
||||||
|
# append to the history file, don't overwrite it
|
||||||
|
shopt -s histappend
|
||||||
|
|
||||||
|
# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
|
||||||
|
HISTSIZE=1000
|
||||||
|
HISTFILESIZE=2000
|
||||||
|
|
||||||
|
# check the window size after each command and, if necessary,
|
||||||
|
# update the values of LINES and COLUMNS.
|
||||||
|
shopt -s checkwinsize
|
||||||
|
|
||||||
|
# If set, the pattern "**" used in a pathname expansion context will
|
||||||
|
# match all files and zero or more directories and subdirectories.
|
||||||
|
#shopt -s globstar
|
||||||
|
|
||||||
|
# make less more friendly for non-text input files, see lesspipe(1)
|
||||||
|
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
|
||||||
|
|
||||||
|
# set variable identifying the chroot you work in (used in the prompt below)
|
||||||
|
if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
|
||||||
|
debian_chroot=$(cat /etc/debian_chroot)
|
||||||
|
fi
|
||||||
|
|
||||||
|
# set a fancy prompt (non-color, unless we know we "want" color)
|
||||||
|
case "$TERM" in
|
||||||
|
xterm-color|*-256color) color_prompt=yes;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# uncomment for a colored prompt, if the terminal has the capability; turned
|
||||||
|
# off by default to not distract the user: the focus in a terminal window
|
||||||
|
# should be on the output of commands, not on the prompt
|
||||||
|
force_color_prompt=yes
|
||||||
|
|
||||||
|
if [ -n "$force_color_prompt" ]; then
|
||||||
|
if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
|
||||||
|
# We have color support; assume it's compliant with Ecma-48
|
||||||
|
# (ISO/IEC-6429). (Lack of such support is extremely rare, and such
|
||||||
|
# a case would tend to support setf rather than setaf.)
|
||||||
|
color_prompt=yes
|
||||||
|
else
|
||||||
|
color_prompt=
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$color_prompt" = yes ]; then
|
||||||
|
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
|
||||||
|
else
|
||||||
|
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
|
||||||
|
fi
|
||||||
|
unset color_prompt force_color_prompt
|
||||||
|
|
||||||
|
# If this is an xterm set the title to user@host:dir
|
||||||
|
case "$TERM" in
|
||||||
|
xterm*|rxvt*)
|
||||||
|
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# enable color support of ls and also add handy aliases
|
||||||
|
if [ -x /usr/bin/dircolors ]; then
|
||||||
|
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
|
||||||
|
alias ls='ls --color=auto'
|
||||||
|
#alias dir='dir --color=auto'
|
||||||
|
#alias vdir='vdir --color=auto'
|
||||||
|
|
||||||
|
alias grep='grep --color=auto'
|
||||||
|
alias fgrep='fgrep --color=auto'
|
||||||
|
alias egrep='egrep --color=auto'
|
||||||
|
fi
|
||||||
|
|
||||||
|
# colored GCC warnings and errors
|
||||||
|
#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'
|
||||||
|
|
||||||
|
# some more ls aliases
|
||||||
|
alias ll='ls -alF'
|
||||||
|
alias la='ls -A'
|
||||||
|
alias l='ls -CF'
|
||||||
|
alias c='clear'
|
||||||
|
alias csc='sudo cytech-site-change'
|
||||||
|
alias quit='exit'
|
||||||
|
alias compresse='echo "tar -cv [nomDuFichieràCompresser] -f [nomArchive].tar"'
|
||||||
|
alias cps='cp ~/Desktop/Programme/script-c/script.sh ./script.sh'
|
||||||
|
alias sql='mysql -u thomas -p'
|
||||||
|
alias waterfox='~/waterfox/waterfox'
|
||||||
|
|
||||||
|
# Add an "alert" alias for long running commands. Use like so:
|
||||||
|
# sleep 10; alert
|
||||||
|
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
|
||||||
|
|
||||||
|
# Alias definitions.
|
||||||
|
# You may want to put all your additions into a separate file like
|
||||||
|
# ~/.bash_aliases, instead of adding them here directly.
|
||||||
|
# See /usr/share/doc/bash-doc/examples in the bash-doc package.
|
||||||
|
|
||||||
|
if [ -f ~/.bash_aliases ]; then
|
||||||
|
. ~/.bash_aliases
|
||||||
|
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
|
||||||
|
|
||||||
|
eval "$(zoxide init --cmd cd bash)"
|
||||||
|
|
||||||
|
eval "$(oh-my-posh init bash)"
|
||||||
4
dot_scryerrc
Normal file
4
dot_scryerrc
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
:- use_module(library(clpz)).
|
||||||
|
:- use_module(library(lists)).
|
||||||
|
:- use_module(library(reif)).
|
||||||
|
:- use_module(library(dif)).
|
||||||
312
dot_vimrc
Normal file
312
dot_vimrc
Normal file
@ -0,0 +1,312 @@
|
|||||||
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||||
|
"
|
||||||
|
" ██╗ ██╗██╗███╗ ███╗██████╗ ██████╗
|
||||||
|
" ██║ ██║██║████╗ ████║██╔══██╗██╔════╝
|
||||||
|
" ██║ ██║██║██╔████╔██║██████╔╝██║
|
||||||
|
" ╚██╗ ██╔╝██║██║╚██╔╝██║██╔══██╗██║
|
||||||
|
" ╚████╔╝ ██║██║ ╚═╝ ██║██║ ██║╚██████╗
|
||||||
|
" ╚═══╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝
|
||||||
|
"
|
||||||
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||||
|
|
||||||
|
" Disable compatibility with vi which can cause unexpected issues.
|
||||||
|
set nocompatible
|
||||||
|
|
||||||
|
" Enable type file detection. Vim will be able to try to detect the type of file in use.
|
||||||
|
filetype on
|
||||||
|
|
||||||
|
" Enable plugins and load plugin for the detected file type.
|
||||||
|
filetype plugin on
|
||||||
|
|
||||||
|
" Load an indent file for the detected file type.
|
||||||
|
filetype indent on
|
||||||
|
|
||||||
|
" Turn syntax highlighting on.
|
||||||
|
syntax on
|
||||||
|
|
||||||
|
" Add numbers to each line on the left-hand side.
|
||||||
|
set number
|
||||||
|
|
||||||
|
" Highlight cursor line underneath the cursor horizontally.
|
||||||
|
set cursorline
|
||||||
|
|
||||||
|
" Highlight cursor line underneath the cursor vertically.
|
||||||
|
set cursorcolumn
|
||||||
|
|
||||||
|
" Set shift width to 4 spaces.
|
||||||
|
set shiftwidth=4
|
||||||
|
|
||||||
|
" Set tab width to 4 columns.
|
||||||
|
set tabstop=4
|
||||||
|
|
||||||
|
" Use space characters instead of tabs.
|
||||||
|
set expandtab
|
||||||
|
|
||||||
|
" Do not save backup files.
|
||||||
|
set nobackup
|
||||||
|
|
||||||
|
" Do not let cursor scroll below or above N number of lines when scrolling.
|
||||||
|
set scrolloff=10
|
||||||
|
|
||||||
|
" Do not wrap lines. Allow long lines to extend as far as the line goes.
|
||||||
|
set nowrap
|
||||||
|
|
||||||
|
" While searching though a file incrementally highlight matching characters as you type.
|
||||||
|
set incsearch
|
||||||
|
|
||||||
|
" Ignore capital letters during search.
|
||||||
|
set ignorecase
|
||||||
|
|
||||||
|
" Intelligent indent for programming
|
||||||
|
set autoindent
|
||||||
|
set smartindent
|
||||||
|
|
||||||
|
" Override the ignorecase option if searching for capital letters.
|
||||||
|
" This will allow you to search specifically for capital letters.
|
||||||
|
set smartcase
|
||||||
|
|
||||||
|
" Show partial command you type in the last line of the screen.
|
||||||
|
set showcmd
|
||||||
|
|
||||||
|
" Show the mode you are on the last line.
|
||||||
|
set showmode
|
||||||
|
|
||||||
|
" Show matching words during a search.
|
||||||
|
set showmatch
|
||||||
|
|
||||||
|
" Use highlighting when doing a search.
|
||||||
|
set hlsearch
|
||||||
|
|
||||||
|
" Set the commands to save in history default number is 20.
|
||||||
|
set history=1000
|
||||||
|
|
||||||
|
" Enable auto completion menu after pressing TAB.
|
||||||
|
set wildmenu
|
||||||
|
|
||||||
|
" Make wildmenu behave like similar to Bash completion.
|
||||||
|
set wildmode=list:longest
|
||||||
|
|
||||||
|
" There are certain files that we would never want to edit with Vim.
|
||||||
|
" Wildmenu will ignore files with these extensions.
|
||||||
|
set wildignore=*.docx,*.jpg,*.png,*.gif,*.pdf,*.pyc,*.exe,*.flv,*.img,*.xlsx
|
||||||
|
|
||||||
|
" Permit the recognition of alias by vim
|
||||||
|
set shell=/bin/zsh
|
||||||
|
set shellcmdflag=-ic
|
||||||
|
|
||||||
|
" PLUGINS ---------------------------------------------------------------- {{{
|
||||||
|
|
||||||
|
call plug#begin('~/.vim/plugged')
|
||||||
|
Plug 'dense-analysis/ale'
|
||||||
|
|
||||||
|
Plug 'preservim/nerdtree'
|
||||||
|
|
||||||
|
Plug 'chrisbra/vim-commentary'
|
||||||
|
|
||||||
|
Plug 'vim-airline/vim-airline'
|
||||||
|
|
||||||
|
Plug 'wfxr/minimap.vim'
|
||||||
|
|
||||||
|
Plug 'morhetz/gruvbox'
|
||||||
|
|
||||||
|
call plug#end()
|
||||||
|
|
||||||
|
" }}}
|
||||||
|
|
||||||
|
|
||||||
|
" MAPPINGS --------------------------------------------------------------- {{{
|
||||||
|
|
||||||
|
" Set the backslash as the leader key.
|
||||||
|
let mapleader = ","
|
||||||
|
|
||||||
|
" Press ,, to jump back to the last cursor position.
|
||||||
|
nnoremap <leader>, ``
|
||||||
|
|
||||||
|
" Put a word into double "
|
||||||
|
nnoremap <leader>" viw<esc>a"<esc>bi"<esc>lel
|
||||||
|
|
||||||
|
" Print a ( and it's matching )
|
||||||
|
inoremap ( ()<esc>ha
|
||||||
|
|
||||||
|
" Print a double "
|
||||||
|
inoremap " ""<esc>ha
|
||||||
|
|
||||||
|
" Open a command block delimited by {}
|
||||||
|
inoremap <leader>' {<esc>o<esc>o<esc>0a}<esc>ki
|
||||||
|
|
||||||
|
" Type jj to exit insert mode quickly.
|
||||||
|
inoremap jj <Esc>
|
||||||
|
|
||||||
|
" Press the space bar to type the : character in command mode.
|
||||||
|
nnoremap <space> :
|
||||||
|
|
||||||
|
" Pressing the letter o will open a new line below the current one.
|
||||||
|
" Exit insert mode after creating a new line above or below the current line.
|
||||||
|
nnoremap o o<esc>
|
||||||
|
nnoremap O O<esc>
|
||||||
|
|
||||||
|
" Center the cursor vertically when moving to the next word during a search.
|
||||||
|
nnoremap n nzz
|
||||||
|
nnoremap N Nzz
|
||||||
|
|
||||||
|
" Yank from cursor to the end of line.
|
||||||
|
nnoremap Y y$
|
||||||
|
|
||||||
|
" Map the navigating keys to match the AZERTY keyboard
|
||||||
|
nnoremap j h
|
||||||
|
nnoremap k j
|
||||||
|
nnoremap l k
|
||||||
|
nnoremap m l
|
||||||
|
|
||||||
|
" Same as the above but in visual mode
|
||||||
|
vnoremap j h
|
||||||
|
vnoremap k j
|
||||||
|
vnoremap l k
|
||||||
|
vnoremap m l
|
||||||
|
|
||||||
|
" You can split the window in Vim by typing :split or :vsplit.
|
||||||
|
" Navigate the split view easier by pressing CTRL+j, CTRL+k, CTRL+l, or CTRL+m.
|
||||||
|
nnoremap <c-k> <c-w>j
|
||||||
|
nnoremap <c-l> <c-w>k
|
||||||
|
nnoremap <c-j> <c-w>h
|
||||||
|
nnoremap <c-m> <c-w>l
|
||||||
|
|
||||||
|
" Resize split windows using arrow keys by pressing:
|
||||||
|
" CTRL+UP, CTRL+DOWN, CTRL+LEFT, or CTRL+RIGHT.
|
||||||
|
noremap <c-up> <c-w>+
|
||||||
|
noremap <c-down> <c-w>-
|
||||||
|
noremap <c-left> <c-w>>
|
||||||
|
noremap <c-right> <c-w><
|
||||||
|
|
||||||
|
" Delete a line in normal mode
|
||||||
|
inoremap <c-d> <esc>ddi
|
||||||
|
|
||||||
|
" NERDTree specific mappings.
|
||||||
|
" Map the F3 key to toggle NERDTree open and close.
|
||||||
|
nnoremap <c-n> :NERDTreeToggle<cr>
|
||||||
|
|
||||||
|
" Have nerdtree ignore certain files and directories.
|
||||||
|
let NERDTreeIgnore=['\.git$', '\.jpg$', '\.mp4$', '\.ogg$', '\.iso$', '\.pdf$', '\.pyc$', '\.odt$', '\.png$', '\.gif$', '\.db$']
|
||||||
|
|
||||||
|
" }}}
|
||||||
|
|
||||||
|
|
||||||
|
" VIMSCRIPT -------------------------------------------------------------- {{{
|
||||||
|
|
||||||
|
" This will enable code folding.
|
||||||
|
" Use the marker method of folding.
|
||||||
|
augroup filetype_vim
|
||||||
|
autocmd!
|
||||||
|
autocmd FileType vim setlocal foldmethod=marker
|
||||||
|
augroup END
|
||||||
|
|
||||||
|
" Enable the marker method of folding.
|
||||||
|
augroup filetype_vim
|
||||||
|
autocmd!
|
||||||
|
autocmd FileType vim setlocal foldmethod=marker
|
||||||
|
augroup END
|
||||||
|
|
||||||
|
" If the current file type is HTML, set indentation to 2 spaces.
|
||||||
|
autocmd Filetype html setlocal tabstop=2 shiftwidth=2 expandtab
|
||||||
|
|
||||||
|
" If Vim version is equal to or greater than 7.3 enable undofile.
|
||||||
|
" This allows you to undo changes to a file even after saving it.
|
||||||
|
if version >= 703
|
||||||
|
set undodir=~/.vim/backup
|
||||||
|
set undofile
|
||||||
|
set undoreload=10000
|
||||||
|
endif
|
||||||
|
|
||||||
|
" You can split a window into sections by typing `:split` or `:vsplit`.
|
||||||
|
" Display cursorline and cursorcolumn ONLY in active window.
|
||||||
|
augroup cursor_off
|
||||||
|
autocmd!
|
||||||
|
autocmd WinLeave * set nocursorline nocursorcolumn
|
||||||
|
autocmd WinEnter * set cursorline cursorcolumn
|
||||||
|
augroup END
|
||||||
|
|
||||||
|
" If GUI version of Vim is running set these options.
|
||||||
|
" if has('gui_running')
|
||||||
|
|
||||||
|
" Set the background tone.
|
||||||
|
" set background=dark
|
||||||
|
|
||||||
|
" Set the color scheme.
|
||||||
|
" colorscheme wal
|
||||||
|
|
||||||
|
" Set a custom font you have installed on your computer.
|
||||||
|
" Syntax: set guifont=<font_name>\ <font_weight>\ <size>
|
||||||
|
" set guifont=Cartograph\ Regular\ 12
|
||||||
|
|
||||||
|
" Display more of the file by default.
|
||||||
|
" Hide the toolbar.
|
||||||
|
" set guioptions-=T
|
||||||
|
|
||||||
|
" Hide the the left-side scroll bar.
|
||||||
|
" set guioptions-=L
|
||||||
|
|
||||||
|
" Hide the the right-side scroll bar.
|
||||||
|
" set guioptions-=r
|
||||||
|
|
||||||
|
" Hide the the menu bar.
|
||||||
|
" set guioptions-=m
|
||||||
|
|
||||||
|
" Hide the the bottom scroll bar.
|
||||||
|
" set guioptions-=b
|
||||||
|
|
||||||
|
" Map ,m to toggle the menu, toolbar, and scroll bar.
|
||||||
|
" <Bar> is the pipe character.
|
||||||
|
" <CR> is the enter key.
|
||||||
|
" nnoremap <leader>m :if &guioptions=~#'mTr'<Bar>
|
||||||
|
" \set guioptions-=mTr<Bar>
|
||||||
|
" \else<Bar>
|
||||||
|
" \set guioptions+=mTr<Bar>
|
||||||
|
" \endif<CR>
|
||||||
|
|
||||||
|
" endif
|
||||||
|
|
||||||
|
" gruvbox
|
||||||
|
"Use 24-bit (true-color) mode in Vim/Neovim when outside tmux.
|
||||||
|
"If you're using tmux version 2.2 or later, you can remove the outermost $TMUX check and use tmux's 24-bit color support
|
||||||
|
"(see < http://sunaku.github.io/tmux-24bit-color.html#usage > for more information.)
|
||||||
|
if (empty($TMUX) && getenv('TERM_PROGRAM') != 'Apple_Terminal')
|
||||||
|
if (has("nvim"))
|
||||||
|
"For Neovim 0.1.3 and 0.1.4 < https://github.com/neovim/neovim/pull/2198 >
|
||||||
|
let $NVIM_TUI_ENABLE_TRUE_COLOR=1
|
||||||
|
endif
|
||||||
|
"For Neovim > 0.1.5 and Vim > patch 7.4.1799 < https://github.com/vim/vim/commit/61be73bb0f965a895bfb064ea3e55476ac175162 >
|
||||||
|
"Based on Vim patch 7.4.1770 (`guicolors` option) < https://github.com/vim/vim/commit/8a633e3427b47286869aa4b96f2bfc1fe65b25cd >
|
||||||
|
" < https://github.com/neovim/neovim/wiki/Following-HEAD#20160511 >
|
||||||
|
if (has("termguicolors"))
|
||||||
|
set termguicolors
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
let g:airline_powerline_fonts = 1
|
||||||
|
set background=dark
|
||||||
|
let g:gruvbox_contrast_dark = 'soft'
|
||||||
|
let g:gruvbox_transparent_bg = 1
|
||||||
|
let g:gruvbox_termcolors=16
|
||||||
|
colorscheme gruvbox
|
||||||
|
hi! Normal guibg=NONE ctermbg=NONE
|
||||||
|
|
||||||
|
" }}}
|
||||||
|
|
||||||
|
|
||||||
|
" STATUS LINE ------------------------------------------------------------ {{{
|
||||||
|
|
||||||
|
" Clear status line when vimrc is reloaded.
|
||||||
|
set statusline=
|
||||||
|
|
||||||
|
" Status line left side.
|
||||||
|
set statusline+=\ %F\ %M\ %Y\ %R
|
||||||
|
|
||||||
|
" Use a divider to separate the left side from the right side.
|
||||||
|
set statusline+=%=
|
||||||
|
|
||||||
|
" Status line right side.
|
||||||
|
set statusline+=\ ascii:\ %b\ hex:\ 0x%B\ row:\ %l\ col:\ %c\ percent:\ %p%%
|
||||||
|
|
||||||
|
" Show the status on the second to last line.
|
||||||
|
set laststatus=2
|
||||||
|
|
||||||
|
" }}}
|
||||||
BIN
dot_wallpapers/backwater.jpg
Normal file
BIN
dot_wallpapers/backwater.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.0 MiB |
BIN
dot_wallpapers/empire.png
Normal file
BIN
dot_wallpapers/empire.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 19 MiB |
BIN
dot_wallpapers/empire_gruvbox.png
Normal file
BIN
dot_wallpapers/empire_gruvbox.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 7.0 MiB |
165
dot_zshrc
Normal file
165
dot_zshrc
Normal file
@ -0,0 +1,165 @@
|
|||||||
|
##########################################################################
|
||||||
|
#
|
||||||
|
# ███████╗███████╗██╗ ██╗██████╗ ██████╗
|
||||||
|
# ╚══███╔╝██╔════╝██║ ██║██╔══██╗██╔════╝
|
||||||
|
# ███╔╝ ███████╗███████║██████╔╝██║
|
||||||
|
# ███╔╝ ╚════██║██╔══██║██╔══██╗██║
|
||||||
|
# ███████╗███████║██║ ██║██║ ██║╚██████╗
|
||||||
|
# ╚══════╝╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝
|
||||||
|
#
|
||||||
|
##########################################################################
|
||||||
|
|
||||||
|
# Zsh and Zinit configuration ---------------------------------------------------------------- {{{
|
||||||
|
|
||||||
|
# If you come from bash you might have to change your $PATH.
|
||||||
|
export PATH=$HOME/bin:/usr/local/bin:$HOME/.local/bin/:$HOME/.cargo/bin/:$PATH
|
||||||
|
|
||||||
|
# Path to your Zinit installation.
|
||||||
|
export ZSH="${XDG_DATE_HOME:-${HOME}/.local/share}/zinit/zinit.git"
|
||||||
|
|
||||||
|
# Download and install Zinit if it's not already installed
|
||||||
|
if [ ! -d $ZSH ]; then
|
||||||
|
git clone https://github.com/zdharma-continuum/zinit.git $ZSH
|
||||||
|
fi
|
||||||
|
|
||||||
|
source $ZSH/zinit.zsh
|
||||||
|
|
||||||
|
# Theme ---------------------------------------------------------------- {{{
|
||||||
|
|
||||||
|
# Set the theme to use with Oh My Posh
|
||||||
|
eval "$(oh-my-posh init zsh --config $HOME/.config/ohmyposh/prompt.json)"
|
||||||
|
|
||||||
|
# }}}
|
||||||
|
|
||||||
|
# General options ---------------------------------------------------------------- {{{
|
||||||
|
|
||||||
|
# Uncomment the following line to use case-sensitive completion.
|
||||||
|
# CASE_SENSITIVE="true"
|
||||||
|
|
||||||
|
# Uncomment the following line if pasting URLs and other text is messed up.
|
||||||
|
# DISABLE_MAGIC_FUNCTIONS="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="dd.mm.yyyy"
|
||||||
|
|
||||||
|
# }}}
|
||||||
|
|
||||||
|
# Plugins and snippets ---------------------------------------------------------------- {{{
|
||||||
|
|
||||||
|
zinit light zsh-users/zsh-syntax-highlighting
|
||||||
|
zinit light zsh-users/zsh-autosuggestions
|
||||||
|
zinit light zsh-users/zsh-completions
|
||||||
|
zinit ice from'gh-r' as'program'
|
||||||
|
zinit light sei40kr/fast-alias-tips-bin
|
||||||
|
zinit light sei40kr/zsh-fast-alias-tips
|
||||||
|
|
||||||
|
zinit snippet OMZP::git
|
||||||
|
zinit snippet OMZP::zoxide
|
||||||
|
|
||||||
|
# }}}
|
||||||
|
|
||||||
|
# History ---------------------------------------------------------------- {{{
|
||||||
|
|
||||||
|
HISTSIZE=5000 # The number of commands to remember in the command history
|
||||||
|
HISTFILE=~/.zsh_history # The file to save the command history to
|
||||||
|
SAVEHIST=$HISTSIZE # The number of commands to save in the history file
|
||||||
|
HISTDUP=erase # Erase duplicates in the history file
|
||||||
|
setopt appendhistory # Append history to the history file
|
||||||
|
setopt sharehistory # Share history between all sessions
|
||||||
|
setopt hist_ignore_space # Ignore commands that start with a space
|
||||||
|
setopt hist_ignore_dups # Ignore duplicate commands
|
||||||
|
setopt hist_ignore_all_dups # Ignore all duplicate commands
|
||||||
|
setopt hist_save_no_dups # Do not save duplicate commands
|
||||||
|
setopt hist_find_no_dups # Do not display duplicate commands
|
||||||
|
|
||||||
|
# Key bindings
|
||||||
|
bindkey "^p" history-search-backward # Search backward in history
|
||||||
|
bindkey "^n" history-search-forward # Search forward in history
|
||||||
|
|
||||||
|
# }}}
|
||||||
|
|
||||||
|
# Completion ---------------------------------------------------------------- {{{
|
||||||
|
|
||||||
|
# Zsh allows command completion.
|
||||||
|
# The completion is very modifiable, here are some options
|
||||||
|
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}'
|
||||||
|
zstyle ':completion:*:descriptions' format '%U%B%d%b%u'
|
||||||
|
zstyle ':completion:*:warnings' format '%BSorry, no results'
|
||||||
|
zstyle ':completion:*' menu select=2
|
||||||
|
zstyle ':completion:*' select-prompt %SScrolling active: current selection at %p%s
|
||||||
|
zstyle ':completion:*' list-colors '${(s.:.)LS_COLORS}'
|
||||||
|
|
||||||
|
# Load bash completion functions
|
||||||
|
autoload -Uz +X compinit && compinit
|
||||||
|
autoload -Uz +X bashcompinit && bashcompinit
|
||||||
|
|
||||||
|
# -q is for quiet; actually run all the `compdef's saved before `compinit` call
|
||||||
|
# (`compinit' declares the `compdef' function, so it cannot be used until
|
||||||
|
# `compinit' is ran; Zinit solves this via intercepting the `compdef'-calls and
|
||||||
|
# storing them for later use with `zinit cdreplay')
|
||||||
|
zinit cdreplay -q
|
||||||
|
|
||||||
|
# }}}
|
||||||
|
|
||||||
|
# }}}
|
||||||
|
|
||||||
|
# User configuration ---------------------------------------------------------------- {{{
|
||||||
|
|
||||||
|
# Preferred editor for local and remote sessions
|
||||||
|
if [[ -n $SSH_CONNECTION ]]; then
|
||||||
|
export EDITOR='nvim'
|
||||||
|
else
|
||||||
|
export EDITOR='vim'
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Compilation flags
|
||||||
|
# export ARCHFLAGS="-arch x86_64"
|
||||||
|
|
||||||
|
# Aliases ---------------------------------------------------------------- {{{
|
||||||
|
|
||||||
|
# Set personal aliases
|
||||||
|
# For a full list of active aliases, run `alias`.
|
||||||
|
alias ls='lsd'
|
||||||
|
alias ll='ls -alF'
|
||||||
|
alias rm='rip'
|
||||||
|
alias cat='bat'
|
||||||
|
alias grep='rg'
|
||||||
|
alias find='fd -H'
|
||||||
|
alias sed='sd'
|
||||||
|
alias c='clear'
|
||||||
|
alias prolog='~/.config/scryer-prolog/target/release/scryer-prolog' # À remplacer par prolog='scryer-prolog'
|
||||||
|
alias csc='sudo cytech-site-change'
|
||||||
|
alias quit='exit'
|
||||||
|
alias compresse='echo "tar -cv [nomDuFichieràCompresser] -f [nomArchive].tar"'
|
||||||
|
alias maj='~/./miseajour.sh'
|
||||||
|
alias vi='\vim'
|
||||||
|
alias vim='nvim'
|
||||||
|
|
||||||
|
# }}}
|
||||||
|
|
||||||
|
# Allow zoxide to work and to replace cd
|
||||||
|
eval "$(zoxide init --cmd cd zsh)"
|
||||||
|
|
||||||
|
# }}}
|
||||||
25
private_dot_config/bat/config
Normal file
25
private_dot_config/bat/config
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
# 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="gruvbox-dark"
|
||||||
|
|
||||||
|
# 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=never
|
||||||
|
|
||||||
|
# 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"
|
||||||
287
private_dot_config/betterfox/user.js
Normal file
287
private_dot_config/betterfox/user.js
Normal file
@ -0,0 +1,287 @@
|
|||||||
|
//
|
||||||
|
/* You may copy+paste this file and use it as it is.
|
||||||
|
*
|
||||||
|
* If you make changes to your about:config while the program is running, the
|
||||||
|
* changes will be overwritten by the user.js when the application restarts.
|
||||||
|
*
|
||||||
|
* To make lasting changes to preferences, you will have to edit the user.js.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* Betterfox *
|
||||||
|
* "Ad meliora" *
|
||||||
|
* version: 126 *
|
||||||
|
* url: https://github.com/yokoffing/Betterfox *
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* SECTION: FASTFOX *
|
||||||
|
****************************************************************************/
|
||||||
|
/** GENERAL ***/
|
||||||
|
user_pref("content.notify.interval", 100000);
|
||||||
|
|
||||||
|
/** GFX ***/
|
||||||
|
user_pref("gfx.canvas.accelerated.cache-items", 4096);
|
||||||
|
user_pref("gfx.canvas.accelerated.cache-size", 512);
|
||||||
|
user_pref("gfx.content.skia-font-cache-size", 20);
|
||||||
|
|
||||||
|
/** DISK CACHE ***/
|
||||||
|
user_pref("browser.cache.jsbc_compression_level", 3);
|
||||||
|
|
||||||
|
/** MEDIA CACHE ***/
|
||||||
|
user_pref("media.memory_cache_max_size", 65536);
|
||||||
|
user_pref("media.cache_readahead_limit", 7200);
|
||||||
|
user_pref("media.cache_resume_threshold", 3600);
|
||||||
|
|
||||||
|
/** IMAGE CACHE ***/
|
||||||
|
user_pref("image.mem.decode_bytes_at_a_time", 32768);
|
||||||
|
|
||||||
|
/** NETWORK ***/
|
||||||
|
user_pref("network.http.max-connections", 1800);
|
||||||
|
user_pref("network.http.max-persistent-connections-per-server", 10);
|
||||||
|
user_pref("network.http.max-urgent-start-excessive-connections-per-host", 5);
|
||||||
|
user_pref("network.http.pacing.requests.enabled", false);
|
||||||
|
user_pref("network.dnsCacheExpiration", 3600);
|
||||||
|
user_pref("network.ssl_tokens_cache_capacity", 10240);
|
||||||
|
|
||||||
|
/** SPECULATIVE LOADING ***/
|
||||||
|
user_pref("network.dns.disablePrefetch", true);
|
||||||
|
user_pref("network.dns.disablePrefetchFromHTTPS", true);
|
||||||
|
user_pref("network.prefetch-next", false);
|
||||||
|
user_pref("network.predictor.enabled", false);
|
||||||
|
user_pref("network.predictor.enable-prefetch", false);
|
||||||
|
|
||||||
|
/** EXPERIMENTAL ***/
|
||||||
|
user_pref("layout.css.grid-template-masonry-value.enabled", true);
|
||||||
|
user_pref("dom.enable_web_task_scheduling", true);
|
||||||
|
user_pref("dom.security.sanitizer.enabled", true);
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* SECTION: SECUREFOX *
|
||||||
|
****************************************************************************/
|
||||||
|
/** TRACKING PROTECTION ***/
|
||||||
|
user_pref("browser.contentblocking.category", "strict");
|
||||||
|
user_pref("urlclassifier.trackingSkipURLs", "*.reddit.com, *.twitter.com, *.twimg.com, *.tiktok.com");
|
||||||
|
user_pref("urlclassifier.features.socialtracking.skipURLs", "*.instagram.com, *.twitter.com, *.twimg.com");
|
||||||
|
user_pref("network.cookie.sameSite.noneRequiresSecure", true);
|
||||||
|
user_pref("browser.download.start_downloads_in_tmp_dir", true);
|
||||||
|
user_pref("browser.helperApps.deleteTempFileOnExit", true);
|
||||||
|
user_pref("browser.uitour.enabled", false);
|
||||||
|
user_pref("privacy.globalprivacycontrol.enabled", true);
|
||||||
|
|
||||||
|
/** OCSP & CERTS / HPKP ***/
|
||||||
|
user_pref("security.OCSP.enabled", 0);
|
||||||
|
user_pref("security.remote_settings.crlite_filters.enabled", true);
|
||||||
|
user_pref("security.pki.crlite_mode", 2);
|
||||||
|
|
||||||
|
/** SSL / TLS ***/
|
||||||
|
user_pref("security.ssl.treat_unsafe_negotiation_as_broken", true);
|
||||||
|
user_pref("browser.xul.error_pages.expert_bad_cert", true);
|
||||||
|
user_pref("security.tls.enable_0rtt_data", false);
|
||||||
|
|
||||||
|
/** DISK AVOIDANCE ***/
|
||||||
|
user_pref("browser.privatebrowsing.forceMediaMemoryCache", true);
|
||||||
|
user_pref("browser.sessionstore.interval", 60000);
|
||||||
|
|
||||||
|
/** SHUTDOWN & SANITIZING ***/
|
||||||
|
user_pref("privacy.history.custom", true);
|
||||||
|
|
||||||
|
/** SEARCH / URL BAR ***/
|
||||||
|
user_pref("browser.search.separatePrivateDefault.ui.enabled", true);
|
||||||
|
user_pref("browser.urlbar.update2.engineAliasRefresh", true);
|
||||||
|
user_pref("browser.search.suggest.enabled", false);
|
||||||
|
user_pref("browser.urlbar.suggest.quicksuggest.sponsored", false);
|
||||||
|
user_pref("browser.urlbar.suggest.quicksuggest.nonsponsored", false);
|
||||||
|
user_pref("browser.formfill.enable", false);
|
||||||
|
user_pref("security.insecure_connection_text.enabled", true);
|
||||||
|
user_pref("security.insecure_connection_text.pbmode.enabled", true);
|
||||||
|
user_pref("network.IDN_show_punycode", true);
|
||||||
|
|
||||||
|
/** HTTPS-FIRST POLICY ***/
|
||||||
|
user_pref("dom.security.https_first", true);
|
||||||
|
user_pref("dom.security.https_first_schemeless", true);
|
||||||
|
|
||||||
|
/** PASSWORDS ***/
|
||||||
|
user_pref("signon.formlessCapture.enabled", false);
|
||||||
|
user_pref("signon.privateBrowsingCapture.enabled", false);
|
||||||
|
user_pref("network.auth.subresource-http-auth-allow", 1);
|
||||||
|
user_pref("editor.truncate_user_pastes", false);
|
||||||
|
|
||||||
|
/** MIXED CONTENT + CROSS-SITE ***/
|
||||||
|
user_pref("security.mixed_content.block_display_content", true);
|
||||||
|
user_pref("security.mixed_content.upgrade_display_content", true);
|
||||||
|
user_pref("security.mixed_content.upgrade_display_content.image", true);
|
||||||
|
user_pref("pdfjs.enableScripting", false);
|
||||||
|
user_pref("extensions.postDownloadThirdPartyPrompt", false);
|
||||||
|
|
||||||
|
/** HEADERS / REFERERS ***/
|
||||||
|
user_pref("network.http.referer.XOriginTrimmingPolicy", 2);
|
||||||
|
|
||||||
|
/** CONTAINERS ***/
|
||||||
|
user_pref("privacy.userContext.ui.enabled", true);
|
||||||
|
|
||||||
|
/** WEBRTC ***/
|
||||||
|
user_pref("media.peerconnection.ice.proxy_only_if_behind_proxy", true);
|
||||||
|
user_pref("media.peerconnection.ice.default_address_only", true);
|
||||||
|
|
||||||
|
/** SAFE BROWSING ***/
|
||||||
|
user_pref("browser.safebrowsing.downloads.remote.enabled", false);
|
||||||
|
|
||||||
|
/** MOZILLA ***/
|
||||||
|
user_pref("permissions.default.desktop-notification", 2);
|
||||||
|
user_pref("permissions.default.geo", 2);
|
||||||
|
user_pref("geo.provider.network.url", "https://location.services.mozilla.com/v1/geolocate?key=%MOZILLA_API_KEY%");
|
||||||
|
user_pref("permissions.manager.defaultsUrl", "");
|
||||||
|
user_pref("webchannel.allowObject.urlWhitelist", "");
|
||||||
|
|
||||||
|
/** TELEMETRY ***/
|
||||||
|
user_pref("datareporting.policy.dataSubmissionEnabled", false);
|
||||||
|
user_pref("datareporting.healthreport.uploadEnabled", false);
|
||||||
|
user_pref("toolkit.telemetry.unified", false);
|
||||||
|
user_pref("toolkit.telemetry.enabled", false);
|
||||||
|
user_pref("toolkit.telemetry.server", "data:,");
|
||||||
|
user_pref("toolkit.telemetry.archive.enabled", false);
|
||||||
|
user_pref("toolkit.telemetry.newProfilePing.enabled", false);
|
||||||
|
user_pref("toolkit.telemetry.shutdownPingSender.enabled", false);
|
||||||
|
user_pref("toolkit.telemetry.updatePing.enabled", false);
|
||||||
|
user_pref("toolkit.telemetry.bhrPing.enabled", false);
|
||||||
|
user_pref("toolkit.telemetry.firstShutdownPing.enabled", false);
|
||||||
|
user_pref("toolkit.telemetry.coverage.opt-out", true);
|
||||||
|
user_pref("toolkit.coverage.opt-out", true);
|
||||||
|
user_pref("toolkit.coverage.endpoint.base", "");
|
||||||
|
user_pref("browser.newtabpage.activity-stream.feeds.telemetry", false);
|
||||||
|
user_pref("browser.newtabpage.activity-stream.telemetry", false);
|
||||||
|
|
||||||
|
/** EXPERIMENTS ***/
|
||||||
|
user_pref("app.shield.optoutstudies.enabled", false);
|
||||||
|
user_pref("app.normandy.enabled", false);
|
||||||
|
user_pref("app.normandy.api_url", "");
|
||||||
|
|
||||||
|
/** CRASH REPORTS ***/
|
||||||
|
user_pref("breakpad.reportURL", "");
|
||||||
|
user_pref("browser.tabs.crashReporting.sendReport", false);
|
||||||
|
user_pref("browser.crashReports.unsubmittedCheck.autoSubmit2", false);
|
||||||
|
|
||||||
|
/** DETECTION ***/
|
||||||
|
user_pref("captivedetect.canonicalURL", "");
|
||||||
|
user_pref("network.captive-portal-service.enabled", false);
|
||||||
|
user_pref("network.connectivity-service.enabled", false);
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* SECTION: PESKYFOX *
|
||||||
|
****************************************************************************/
|
||||||
|
/** MOZILLA UI ***/
|
||||||
|
user_pref("browser.privatebrowsing.vpnpromourl", "");
|
||||||
|
user_pref("extensions.getAddons.showPane", false);
|
||||||
|
user_pref("extensions.htmlaboutaddons.recommendations.enabled", false);
|
||||||
|
user_pref("browser.discovery.enabled", false);
|
||||||
|
user_pref("browser.shell.checkDefaultBrowser", false);
|
||||||
|
user_pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons", false);
|
||||||
|
user_pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features", false);
|
||||||
|
user_pref("browser.preferences.moreFromMozilla", false);
|
||||||
|
user_pref("browser.tabs.tabmanager.enabled", false);
|
||||||
|
user_pref("browser.aboutConfig.showWarning", false);
|
||||||
|
user_pref("browser.aboutwelcome.enabled", false);
|
||||||
|
|
||||||
|
/** THEME ADJUSTMENTS ***/
|
||||||
|
user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true);
|
||||||
|
user_pref("browser.compactmode.show", true);
|
||||||
|
user_pref("browser.display.focus_ring_on_anything", true);
|
||||||
|
user_pref("browser.display.focus_ring_style", 0);
|
||||||
|
user_pref("browser.display.focus_ring_width", 0);
|
||||||
|
user_pref("layout.css.prefers-color-scheme.content-override", 2);
|
||||||
|
user_pref("browser.privateWindowSeparation.enabled", false); // WINDOWS
|
||||||
|
|
||||||
|
/** COOKIE BANNER HANDLING ***/
|
||||||
|
user_pref("cookiebanners.service.mode", 1);
|
||||||
|
user_pref("cookiebanners.service.mode.privateBrowsing", 1);
|
||||||
|
|
||||||
|
/** FULLSCREEN NOTICE ***/
|
||||||
|
user_pref("full-screen-api.transition-duration.enter", "0 0");
|
||||||
|
user_pref("full-screen-api.transition-duration.leave", "0 0");
|
||||||
|
user_pref("full-screen-api.warning.delay", -1);
|
||||||
|
user_pref("full-screen-api.warning.timeout", 0);
|
||||||
|
|
||||||
|
/** URL BAR ***/
|
||||||
|
user_pref("browser.urlbar.suggest.calculator", true);
|
||||||
|
user_pref("browser.urlbar.unitConversion.enabled", true);
|
||||||
|
user_pref("browser.urlbar.trending.featureGate", false);
|
||||||
|
|
||||||
|
/** NEW TAB PAGE ***/
|
||||||
|
user_pref("browser.newtabpage.activity-stream.feeds.topsites", false);
|
||||||
|
user_pref("browser.newtabpage.activity-stream.feeds.section.topstories", false);
|
||||||
|
|
||||||
|
/** POCKET ***/
|
||||||
|
user_pref("extensions.pocket.enabled", false);
|
||||||
|
|
||||||
|
/** DOWNLOADS ***/
|
||||||
|
user_pref("browser.download.always_ask_before_handling_new_types", true);
|
||||||
|
user_pref("browser.download.manager.addToRecentDocs", false);
|
||||||
|
|
||||||
|
/** PDF ***/
|
||||||
|
user_pref("browser.download.open_pdf_attachments_inline", true);
|
||||||
|
|
||||||
|
/** TAB BEHAVIOR ***/
|
||||||
|
user_pref("browser.bookmarks.openInTabClosesMenu", false);
|
||||||
|
user_pref("browser.menu.showViewImageInfo", true);
|
||||||
|
user_pref("findbar.highlightAll", true);
|
||||||
|
user_pref("layout.word_select.eat_space_to_next_word", false);
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* START: MY OVERRIDES *
|
||||||
|
****************************************************************************/
|
||||||
|
// visit https://github.com/yokoffing/Betterfox/wiki/Common-Overrides
|
||||||
|
// visit https://github.com/yokoffing/Betterfox/wiki/Optional-Hardening
|
||||||
|
// Enter your personal overrides below this line:
|
||||||
|
|
||||||
|
// PREF: restore login manager
|
||||||
|
user_pref("signon.rememberSignons", true);
|
||||||
|
|
||||||
|
// PREF: allow websites to ask you for your location
|
||||||
|
user_pref("permissions.default.geo", 0);
|
||||||
|
|
||||||
|
// PREF: restore search engine suggestions
|
||||||
|
user_pref("browser.search.suggest.enabled", true);
|
||||||
|
|
||||||
|
// PREF: enable HTTPS-Only Mode
|
||||||
|
// Warn me before loading sites that don't support HTTPS
|
||||||
|
// in both Normal and Private Browsing windows.
|
||||||
|
user_pref("dom.security.https_only_mode", true);
|
||||||
|
user_pref("dom.security.https_only_mode_error_page_user_suggestions", true);
|
||||||
|
|
||||||
|
// PREF: do not save extra session data such as form content,
|
||||||
|
// scrollbar positions, and POST data after crashes or restarts
|
||||||
|
user_pref("browser.sessionstore.privacy_level", 2);
|
||||||
|
|
||||||
|
// PREF: delete cookies, cache, and site data on shutdown
|
||||||
|
user_pref("privacy.sanitize.sanitizeOnShutdown", true);
|
||||||
|
user_pref("privacy.clearOnShutdown.cache", true);
|
||||||
|
user_pref("privacy.clearOnShutdown.cookies", true);
|
||||||
|
user_pref("privacy.clearOnShutdown.offlineApps", true);
|
||||||
|
|
||||||
|
// PREF: set DoH provider
|
||||||
|
user_pref("network.trr.uri", "");
|
||||||
|
|
||||||
|
// PREF: enforce DNS-over-HTTPS (DoH)
|
||||||
|
user_pref("network.trr.mode", 3);
|
||||||
|
user_pref("network.dns.skipTRR-when-parental-control-enabled", false);
|
||||||
|
|
||||||
|
// PREF: disable all DRM content
|
||||||
|
user_pref("media.eme.enabled", false);
|
||||||
|
|
||||||
|
// PREF: hide the setting; this also disables the DRM prompt (optional)
|
||||||
|
user_pref("browser.eme.ui.enabled", false);
|
||||||
|
|
||||||
|
// PREF: require safe SSL negotiation
|
||||||
|
// [ERROR] SSL_ERROR_UNSAFE_NEGOTIATION
|
||||||
|
user_pref("security.ssl.require_safe_negotiation", true);
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* SECTION: SMOOTHFOX *
|
||||||
|
****************************************************************************/
|
||||||
|
// visit https://github.com/yokoffing/Betterfox/blob/main/Smoothfox.js
|
||||||
|
// Enter your scrolling overrides below this line:
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* END: BETTERFOX *
|
||||||
|
****************************************************************************/
|
||||||
68
private_dot_config/dunst/dunstrc
Normal file
68
private_dot_config/dunst/dunstrc
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
[global]
|
||||||
|
monitor = 0
|
||||||
|
follow = mouse
|
||||||
|
width = 300
|
||||||
|
height = 300
|
||||||
|
origin = top-right
|
||||||
|
offset = 10x50
|
||||||
|
scale = 0
|
||||||
|
notification_limit = 0
|
||||||
|
progress_bar = true
|
||||||
|
progress_bar_height = 10
|
||||||
|
progress_bar_frame_width = 1
|
||||||
|
progress_bar_min_width = 150
|
||||||
|
progress_bar_max_width = 300
|
||||||
|
indicate_hidden = yes
|
||||||
|
transparency = 0
|
||||||
|
separator_height = 2
|
||||||
|
padding = 8
|
||||||
|
horizontal_padding = 8
|
||||||
|
text_icon_padding = 0
|
||||||
|
frame_width = 2
|
||||||
|
frame_color = "#504945"
|
||||||
|
separator_color = frame
|
||||||
|
sort = yes
|
||||||
|
font = JetBrainsMono Nerd Font 11
|
||||||
|
line_height = 0
|
||||||
|
markup = full
|
||||||
|
format = "<b>%s</b>\n%b"
|
||||||
|
alignment = left
|
||||||
|
vertical_alignment = center
|
||||||
|
show_age_threshold = 60
|
||||||
|
ellipsize = middle
|
||||||
|
ignore_newline = no
|
||||||
|
stack_duplicates = true
|
||||||
|
hide_duplicate_count = false
|
||||||
|
show_indicators = yes
|
||||||
|
icon_position = left
|
||||||
|
min_icon_size = 0
|
||||||
|
max_icon_size = 32
|
||||||
|
icon_path = /usr/share/icons/Papirus-Dark/16x16/status/:/usr/share/icons/Papirus-Dark/16x16/devices/
|
||||||
|
sticky_history = yes
|
||||||
|
history_length = 20
|
||||||
|
browser = /usr/bin/firefox -new-tab
|
||||||
|
always_run_script = true
|
||||||
|
title = Dunst
|
||||||
|
class = Dunst
|
||||||
|
corner_radius = 8
|
||||||
|
ignore_dbusclose = false
|
||||||
|
force_xinerama = false
|
||||||
|
mouse_left_click = close_current
|
||||||
|
mouse_middle_click = do_action, close_current
|
||||||
|
mouse_right_click = close_all
|
||||||
|
|
||||||
|
[urgency_low]
|
||||||
|
background = "#282828"
|
||||||
|
foreground = "#ebdbb2"
|
||||||
|
timeout = 10
|
||||||
|
|
||||||
|
[urgency_normal]
|
||||||
|
background = "#3c3836"
|
||||||
|
foreground = "#ebdbb2"
|
||||||
|
timeout = 10
|
||||||
|
|
||||||
|
[urgency_critical]
|
||||||
|
background = "#cc241d"
|
||||||
|
foreground = "#ebdbb2"
|
||||||
|
frame_color = "#fb4934"
|
||||||
|
timeout = 0
|
||||||
186
private_dot_config/eww/eww.scss
Normal file
186
private_dot_config/eww/eww.scss
Normal file
@ -0,0 +1,186 @@
|
|||||||
|
/* ~/.config/eww/eww.scss */
|
||||||
|
|
||||||
|
/* Variables pour les couleurs Gruvbox */
|
||||||
|
$bg0: rgba(40, 40, 40, 0.95);
|
||||||
|
$bg1: rgba(60, 56, 54, 0.8);
|
||||||
|
$bg2: rgba(80, 73, 69, 0.8);
|
||||||
|
$fg: #ebdbb2;
|
||||||
|
$green: #98971a;
|
||||||
|
$bright-green: #b8bb26;
|
||||||
|
$red: #cc241d;
|
||||||
|
$bright-red: #fb4934;
|
||||||
|
$blue: #458588;
|
||||||
|
$purple: #b16286;
|
||||||
|
$aqua: #689d6a;
|
||||||
|
$orange: #d65d0e;
|
||||||
|
|
||||||
|
/* Styles de base pour le centre de contrôle */
|
||||||
|
.control-center {
|
||||||
|
background-color: $bg0;
|
||||||
|
border: 2px solid $bg2;
|
||||||
|
border-radius: 12px;
|
||||||
|
padding: 1.5rem;
|
||||||
|
color: $fg;
|
||||||
|
animation: slide-in 200ms ease-out;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* En-tête du centre de contrôle */
|
||||||
|
.header {
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
font-size: 1.2rem;
|
||||||
|
font-weight: bold;
|
||||||
|
|
||||||
|
.close-button {
|
||||||
|
margin-left: auto;
|
||||||
|
padding: 0 8px;
|
||||||
|
border-radius: 6px;
|
||||||
|
background: transparent;
|
||||||
|
color: $fg;
|
||||||
|
font-size: 1.4rem;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
background: $red;
|
||||||
|
color: $bg0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Styles communs pour toutes les sections */
|
||||||
|
.section {
|
||||||
|
background: $bg1;
|
||||||
|
border-radius: 10px;
|
||||||
|
padding: 1rem;
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Section des curseurs */
|
||||||
|
.sliders-box {
|
||||||
|
.slider {
|
||||||
|
margin: 0.5rem 0;
|
||||||
|
|
||||||
|
.icon {
|
||||||
|
min-width: 2rem;
|
||||||
|
margin-right: 1rem;
|
||||||
|
font-size: 1.2rem;
|
||||||
|
color: $fg;
|
||||||
|
|
||||||
|
&.muted {
|
||||||
|
color: $red;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
scale {
|
||||||
|
min-width: 180px;
|
||||||
|
min-height: 20px;
|
||||||
|
|
||||||
|
trough {
|
||||||
|
background: $bg2;
|
||||||
|
border-radius: 6px;
|
||||||
|
min-height: 6px;
|
||||||
|
|
||||||
|
highlight {
|
||||||
|
background: $green;
|
||||||
|
border-radius: 6px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&:hover trough highlight {
|
||||||
|
background: $bright-green;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Section des toggles rapides */
|
||||||
|
.toggles-box {
|
||||||
|
.toggle {
|
||||||
|
background: $bg2;
|
||||||
|
min-width: 3rem;
|
||||||
|
min-height: 3rem;
|
||||||
|
border-radius: 8px;
|
||||||
|
font-size: 1.3rem;
|
||||||
|
transition: all 200ms ease;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
background: darken($bg2, 10%);
|
||||||
|
}
|
||||||
|
|
||||||
|
&.active {
|
||||||
|
background: $green;
|
||||||
|
color: $bg0;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
background: $bright-green;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Section d'information système */
|
||||||
|
.system-info {
|
||||||
|
.system-info-item {
|
||||||
|
margin: 0.5rem 0;
|
||||||
|
|
||||||
|
.icon {
|
||||||
|
min-width: 2rem;
|
||||||
|
font-size: 1.2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
label {
|
||||||
|
margin-right: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.progress-bar {
|
||||||
|
min-width: 100px;
|
||||||
|
|
||||||
|
trough {
|
||||||
|
background: $bg2;
|
||||||
|
border-radius: 4px;
|
||||||
|
min-height: 6px;
|
||||||
|
|
||||||
|
progress {
|
||||||
|
background: $green;
|
||||||
|
border-radius: 4px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Couleurs progressives basées sur les classes */
|
||||||
|
&.high progress {
|
||||||
|
background: $red;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.medium progress {
|
||||||
|
background: $orange;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Animation d'entrée du panneau */
|
||||||
|
@keyframes slide-in {
|
||||||
|
from {
|
||||||
|
opacity: 0;
|
||||||
|
transform: translateY(-10px);
|
||||||
|
}
|
||||||
|
to {
|
||||||
|
opacity: 1;
|
||||||
|
transform: translateY(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Animation pour les transitions d'état des boutons */
|
||||||
|
.toggle, .close-button {
|
||||||
|
transition: all 200ms ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Style des tooltips */
|
||||||
|
tooltip {
|
||||||
|
background: $bg0;
|
||||||
|
border: 1px solid $bg2;
|
||||||
|
border-radius: 6px;
|
||||||
|
|
||||||
|
label {
|
||||||
|
color: $fg;
|
||||||
|
padding: 4px 8px;
|
||||||
|
}
|
||||||
|
}
|
||||||
113
private_dot_config/eww/eww.yuck
Normal file
113
private_dot_config/eww/eww.yuck
Normal file
@ -0,0 +1,113 @@
|
|||||||
|
;; Définition de la fenêtre principale
|
||||||
|
(defwindow control_center
|
||||||
|
:monitor 0
|
||||||
|
:geometry (geometry :x "8px"
|
||||||
|
:y "42px"
|
||||||
|
:width "280px"
|
||||||
|
:height "400px"
|
||||||
|
:anchor "top right")
|
||||||
|
:stacking "fg"
|
||||||
|
:exclusive false
|
||||||
|
(control_center_widget))
|
||||||
|
|
||||||
|
;; Widget principal qui organise tous nos contrôles
|
||||||
|
(defwidget control_center_widget []
|
||||||
|
(box :class "control-center"
|
||||||
|
:orientation "v"
|
||||||
|
:space-evenly false
|
||||||
|
|
||||||
|
;; En-tête avec le titre
|
||||||
|
(box :class "header"
|
||||||
|
:orientation "h"
|
||||||
|
:space-evenly false
|
||||||
|
(label :text "Control Center")
|
||||||
|
(button :onclick "eww close control_center"
|
||||||
|
:class "close-button"
|
||||||
|
"×"))
|
||||||
|
|
||||||
|
;; Section des curseurs
|
||||||
|
(box :class "section sliders-box"
|
||||||
|
:orientation "v"
|
||||||
|
:spacing 10
|
||||||
|
(volume-slider)
|
||||||
|
(brightness-slider))
|
||||||
|
|
||||||
|
;; Section d'information système
|
||||||
|
(box :class "section system-info"
|
||||||
|
:orientation "v"
|
||||||
|
:spacing 5
|
||||||
|
(cpu-info)
|
||||||
|
(memory-info)
|
||||||
|
(battery-info))))
|
||||||
|
|
||||||
|
;; Widgets individuels pour chaque contrôle
|
||||||
|
(defwidget volume-slider []
|
||||||
|
(box :class "slider"
|
||||||
|
:orientation "h"
|
||||||
|
:space-evenly false
|
||||||
|
(button :onclick "pactl set-sink-mute @DEFAULT_SINK@ toggle"
|
||||||
|
:class "icon ${volume-muted ? 'muted' : ''}"
|
||||||
|
{volume-muted ? "" : ""})
|
||||||
|
(scale :min 0
|
||||||
|
:max 101
|
||||||
|
:value volume
|
||||||
|
:onchange "pactl set-sink-volume @DEFAULT_SINK@ {}%")))
|
||||||
|
|
||||||
|
(defwidget brightness-slider []
|
||||||
|
(box :class "slider"
|
||||||
|
:orientation "h"
|
||||||
|
:space-evenly false
|
||||||
|
(label :class "icon" :text "")
|
||||||
|
(scale :min 0
|
||||||
|
:max 101
|
||||||
|
:value brightness
|
||||||
|
:onchange "brightnessctl set {}%")))
|
||||||
|
|
||||||
|
(defwidget cpu-info []
|
||||||
|
(box :class "system-info-item"
|
||||||
|
:orientation "h"
|
||||||
|
:space-evenly false
|
||||||
|
(label :class "icon" :text "")
|
||||||
|
(label :text "CPU: ${cpu}%")
|
||||||
|
(progress :value cpu
|
||||||
|
:class "progress-bar")))
|
||||||
|
|
||||||
|
(defwidget memory-info []
|
||||||
|
(box :class "system-info-item"
|
||||||
|
:orientation "h"
|
||||||
|
:space-evenly false
|
||||||
|
(label :class "icon" :text "")
|
||||||
|
(label :text "RAM: ${memory}%")
|
||||||
|
(progress :value memory
|
||||||
|
:class "progress-bar")))
|
||||||
|
|
||||||
|
(defwidget battery-info []
|
||||||
|
(box :class "system-info-item"
|
||||||
|
:orientation "h"
|
||||||
|
:space-evenly false
|
||||||
|
(label :class "icon" :text {battery-icon})
|
||||||
|
(label :text "Battery: ${battery}%")
|
||||||
|
(progress :value battery
|
||||||
|
:class "progress-bar")))
|
||||||
|
|
||||||
|
;; Variables pour les écouteurs d'événements
|
||||||
|
(deflisten volume :initial "0"
|
||||||
|
"scripts/get-volume.sh")
|
||||||
|
|
||||||
|
(deflisten volume-muted :initial "false"
|
||||||
|
"scripts/get-mute-state.sh")
|
||||||
|
|
||||||
|
(deflisten brightness :initial "0"
|
||||||
|
"scripts/get-brightness.sh")
|
||||||
|
|
||||||
|
(deflisten cpu :initial "0"
|
||||||
|
"scripts/get-cpu.sh")
|
||||||
|
|
||||||
|
(deflisten memory :initial "0"
|
||||||
|
"scripts/get-memory.sh")
|
||||||
|
|
||||||
|
(deflisten battery :initial "0"
|
||||||
|
"scripts/get-battery.sh")
|
||||||
|
|
||||||
|
(deflisten battery-icon :initial ""
|
||||||
|
"scripts/get-battery-icon.sh")"
|
||||||
22
private_dot_config/eww/scripts/get-battery-icon.sh
Executable file
22
private_dot_config/eww/scripts/get-battery-icon.sh
Executable file
@ -0,0 +1,22 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Détermine l'icône de batterie appropriée
|
||||||
|
|
||||||
|
while true; do
|
||||||
|
capacity=$(cat /sys/class/power_supply/BAT0/capacity 2>/dev/null || echo "0")
|
||||||
|
status=$(cat /sys/class/power_supply/BAT0/status 2>/dev/null || echo "Unknown")
|
||||||
|
|
||||||
|
if [ "$status" = "Charging" ]; then
|
||||||
|
echo ""
|
||||||
|
elif [ $capacity -ge 90 ]; then
|
||||||
|
echo ""
|
||||||
|
elif [ $capacity -ge 70 ]; then
|
||||||
|
echo ""
|
||||||
|
elif [ $capacity -ge 40 ]; then
|
||||||
|
echo ""
|
||||||
|
elif [ $capacity -ge 20 ]; then
|
||||||
|
echo ""
|
||||||
|
else
|
||||||
|
echo ""
|
||||||
|
fi
|
||||||
|
sleep 5
|
||||||
|
done
|
||||||
8
private_dot_config/eww/scripts/get-battery.sh
Executable file
8
private_dot_config/eww/scripts/get-battery.sh
Executable file
@ -0,0 +1,8 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Surveille le niveau de batterie
|
||||||
|
|
||||||
|
while true; do
|
||||||
|
# Récupère le pourcentage de batterie
|
||||||
|
cat /sys/class/power_supply/BAT0/capacity 2>/dev/null || echo "0"
|
||||||
|
sleep 5
|
||||||
|
done
|
||||||
8
private_dot_config/eww/scripts/get-brightness.sh
Executable file
8
private_dot_config/eww/scripts/get-brightness.sh
Executable file
@ -0,0 +1,8 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Surveille la luminosité de l'écran
|
||||||
|
|
||||||
|
while true; do
|
||||||
|
# Récupère le pourcentage de luminosité actuel
|
||||||
|
brightnessctl -m | awk -F, '{print substr($4, 0, length($4)-1)}'
|
||||||
|
sleep 0.5
|
||||||
|
done
|
||||||
8
private_dot_config/eww/scripts/get-cpu.sh
Executable file
8
private_dot_config/eww/scripts/get-cpu.sh
Executable file
@ -0,0 +1,8 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Surveille l'utilisation du CPU
|
||||||
|
|
||||||
|
while true; do
|
||||||
|
# Calcule l'utilisation CPU moyenne
|
||||||
|
top -bn1 | grep "Cpu(s)" | awk '{print int($2 + $4)}'
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
8
private_dot_config/eww/scripts/get-memory.sh
Executable file
8
private_dot_config/eww/scripts/get-memory.sh
Executable file
@ -0,0 +1,8 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Surveille l'utilisation de la mémoire
|
||||||
|
|
||||||
|
while true; do
|
||||||
|
# Calcule le pourcentage de mémoire utilisée
|
||||||
|
free | grep Mem | awk '{print int($3/$2 * 100)}'
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
8
private_dot_config/eww/scripts/get-mute-state.sh
Executable file
8
private_dot_config/eww/scripts/get-mute-state.sh
Executable file
@ -0,0 +1,8 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Surveille l'état muet de l'audio
|
||||||
|
|
||||||
|
while true; do
|
||||||
|
# Renvoie "true" si le son est coupé, "false" sinon
|
||||||
|
pactl get-sink-mute @DEFAULT_SINK@ | grep -q "yes" && echo "true" || echo "false"
|
||||||
|
sleep 0.5
|
||||||
|
done
|
||||||
8
private_dot_config/eww/scripts/get-volume.sh
Executable file
8
private_dot_config/eww/scripts/get-volume.sh
Executable file
@ -0,0 +1,8 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Ce script surveille en continu le niveau du volume
|
||||||
|
|
||||||
|
while true; do
|
||||||
|
# Récupère le volume actuel en pourcentage, supprime le symbole %
|
||||||
|
pactl get-sink-volume @DEFAULT_SINK@ | grep -Po '[0-9]{1,3}(?=%)' | head -1
|
||||||
|
sleep 0.5
|
||||||
|
done
|
||||||
63
private_dot_config/fish/config.fish
Normal file
63
private_dot_config/fish/config.fish
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
set fish_greeting
|
||||||
|
|
||||||
|
# Plugins installation and configuration
|
||||||
|
# The fish_inclusion variable is used to avoid multiple inclusions of the plugins
|
||||||
|
# because of the fish configuration file being sourced every time fisher is called
|
||||||
|
# Everithing related to the plugins must be in the if block
|
||||||
|
if not set -q fish_inclusion
|
||||||
|
|
||||||
|
set -U fish_inclusion 1
|
||||||
|
|
||||||
|
function install_fisher_plugin
|
||||||
|
set -l plugin_path $argv[1]
|
||||||
|
set -l plugin_name $argv[2]
|
||||||
|
|
||||||
|
if not test -e $plugin_path
|
||||||
|
if test $plugin_name = "jorgebucaran/fisher"
|
||||||
|
# Install Fisher
|
||||||
|
curl -sL https://raw.githubusercontent.com/jorgebucaran/fisher/main/functions/fisher.fish | source && fisher install $plugin_name
|
||||||
|
else
|
||||||
|
fisher install $plugin_name
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
install_fisher_plugin ~/.config/fish/functions/fisher.fish jorgebucaran/fisher
|
||||||
|
install_fisher_plugin ~/.config/fish/functions/theme_gruvbox.fish jomik/fish-gruvbox # Gruvbox theme for bg and fg
|
||||||
|
install_fisher_plugin ~/.config/fish/conf.d/gruvbox.fish sujaybokil/fish-gruvbox # Gruvbox theme for syntax highlighting
|
||||||
|
install_fisher_plugin ~/.config/fish/conf.d/autopair.fish jorgebucaran/autopair.fish
|
||||||
|
install_fisher_plugin ~/.config/fish/conf.d/sponge.fish meaningful-ooo/sponge
|
||||||
|
install_fisher_plugin ~/.config/fish/conf.d/abbr_tips.fish gazorby/fish-abbreviation-tips
|
||||||
|
|
||||||
|
theme_gruvbox dark soft
|
||||||
|
|
||||||
|
set sponge_regex_patterns '^\s+.*'
|
||||||
|
set sponge_allow_previously_successful true
|
||||||
|
|
||||||
|
set -eU fish_inclusion
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
# Set personal aliases
|
||||||
|
# For a full list of active aliases, run `alias`.
|
||||||
|
alias ls='lsd'
|
||||||
|
alias ll='ls -alF'
|
||||||
|
alias rm='rip'
|
||||||
|
alias cat='bat'
|
||||||
|
alias grep='rg'
|
||||||
|
alias find='fd -H'
|
||||||
|
alias sed='sd'
|
||||||
|
alias c='clear'
|
||||||
|
alias prolog='~/.config/scryer-prolog/target/release/scryer-prolog' # À remplacer par prolog='scryer-prolog'
|
||||||
|
alias csc='sudo cytech-site-change'
|
||||||
|
alias quit='exit'
|
||||||
|
alias compresse='echo "tar -cv [nomDuFichieràCompresser] -f [nomArchive].tar"'
|
||||||
|
alias maj='~/./miseajour.sh'
|
||||||
|
alias vi='/usr/sbin/vim'
|
||||||
|
alias vim='nvim'
|
||||||
|
|
||||||
|
# Set the Oh-My-Posh prompt
|
||||||
|
oh-my-posh init fish --config $HOME/.config/ohmyposh/prompt.json | source
|
||||||
|
|
||||||
|
# Allow zoxide to work and to replace cd
|
||||||
|
zoxide init --cmd cd fish | source
|
||||||
16
private_dot_config/gtk-3.0/settings.ini
Normal file
16
private_dot_config/gtk-3.0/settings.ini
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
[Settings]
|
||||||
|
gtk-theme-name=Gruvbox-Material-Dark
|
||||||
|
gtk-icon-theme-name=Gruvbox-Material-Dark
|
||||||
|
gtk-font-name=JetBrainsMono Nerd Font 11
|
||||||
|
gtk-cursor-theme-name=Bibata-Modern-Classic
|
||||||
|
gtk-cursor-theme-size=24
|
||||||
|
gtk-toolbar-style=GTK_TOOLBAR_ICONS
|
||||||
|
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
|
||||||
|
gtk-button-images=1
|
||||||
|
gtk-menu-images=1
|
||||||
|
gtk-enable-event-sounds=0
|
||||||
|
gtk-enable-input-feedback-sounds=0
|
||||||
|
gtk-xft-antialias=1
|
||||||
|
gtk-xft-hinting=1
|
||||||
|
gtk-xft-hintstyle=hintslight
|
||||||
|
gtk-xft-rgba=rgb
|
||||||
11
private_dot_config/hypr/env.conf
Normal file
11
private_dot_config/hypr/env.conf
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
# GTK theme
|
||||||
|
env = GTK_THEME,Gruvbox-Material-Dark
|
||||||
|
env = XCURSOR_THEME,Bibata-Modern-Classic
|
||||||
|
env = XCURSOR_SIZE,24
|
||||||
|
|
||||||
|
# Qt theme
|
||||||
|
env = QT_QPA_PLATFORMTHEME,qt5ct
|
||||||
|
env = QT_QPA_PLATFORM,wayland
|
||||||
|
env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1
|
||||||
|
|
||||||
|
env = KITTY_ENABLE_WAYLAND,1
|
||||||
99
private_dot_config/hypr/hyprland.conf
Normal file
99
private_dot_config/hypr/hyprland.conf
Normal file
@ -0,0 +1,99 @@
|
|||||||
|
input {
|
||||||
|
kb_layout = fr
|
||||||
|
repeat_rate = 50
|
||||||
|
repeat_delay = 300
|
||||||
|
|
||||||
|
follow_mouse = 1
|
||||||
|
touchpad {
|
||||||
|
natural_scroll = yes
|
||||||
|
}
|
||||||
|
|
||||||
|
sensitivity = -0.3 # -1.0 - 1.0, 0 means no modification.
|
||||||
|
accel_profile = flat
|
||||||
|
}
|
||||||
|
|
||||||
|
# Gruvbox variables
|
||||||
|
$bg = rgb(282828)
|
||||||
|
$bg1 = rgb(3c3836)
|
||||||
|
$bg2 = rgb(504945)
|
||||||
|
$fg = rgb(ebdbb2)
|
||||||
|
$red = rgb(cc241d)
|
||||||
|
$green = rgb(98971a)
|
||||||
|
$yellow = rgb(d79921)
|
||||||
|
$blue = rgb(458588)
|
||||||
|
$purple = rgb(b16286)
|
||||||
|
$aqua = rgb(689d6a)
|
||||||
|
$orange = rgb(d65d0e)
|
||||||
|
|
||||||
|
# Monitor configuration
|
||||||
|
monitor=,preferred,auto,1
|
||||||
|
|
||||||
|
# General configuration
|
||||||
|
general {
|
||||||
|
gaps_in = 5
|
||||||
|
gaps_out = 10
|
||||||
|
border_size = 2
|
||||||
|
col.active_border = $green $blue 45deg
|
||||||
|
col.inactive_border = $bg2
|
||||||
|
layout = dwindle
|
||||||
|
}
|
||||||
|
|
||||||
|
# Window decoration
|
||||||
|
decoration {
|
||||||
|
rounding = 8
|
||||||
|
active_opacity = 1.0
|
||||||
|
inactive_opacity = 0.95
|
||||||
|
blur {
|
||||||
|
enabled = true
|
||||||
|
size = 5
|
||||||
|
passes = 2
|
||||||
|
new_optimizations = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# Animations
|
||||||
|
animations {
|
||||||
|
enabled = true
|
||||||
|
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
|
||||||
|
animation = windows, 1, 7, myBezier
|
||||||
|
animation = windowsOut, 1, 7, default, popin 80%
|
||||||
|
animation = border, 1, 10, default
|
||||||
|
animation = fade, 1, 7, default
|
||||||
|
animation = workspaces, 1, 6, default
|
||||||
|
}
|
||||||
|
|
||||||
|
# Layout
|
||||||
|
dwindle {
|
||||||
|
pseudotile = true
|
||||||
|
preserve_split = true
|
||||||
|
}
|
||||||
|
|
||||||
|
misc {
|
||||||
|
disable_splash_rendering = true
|
||||||
|
disable_hyprland_logo = true
|
||||||
|
}
|
||||||
|
|
||||||
|
# Basic workspaces configuration
|
||||||
|
workspace=1,default:true
|
||||||
|
workspace=2
|
||||||
|
workspace=3
|
||||||
|
workspace=4
|
||||||
|
workspace=5
|
||||||
|
workspace=HDMI-A-1,6
|
||||||
|
workspace=HDMI-A-1,7
|
||||||
|
workspace=HDMI-A-1,8
|
||||||
|
workspace=HDMI-A-1,9
|
||||||
|
workspace=HDMI-A-1,0
|
||||||
|
|
||||||
|
# Window rules
|
||||||
|
windowrule = float, ^(pavucontrol)$
|
||||||
|
windowrule = float, ^(nm-connection-editor)$
|
||||||
|
windowrule = float, ^(rofi)$
|
||||||
|
|
||||||
|
# Autostart
|
||||||
|
exec-once = waybar
|
||||||
|
exec-once = hyprpaper
|
||||||
|
exec-once = dunst
|
||||||
|
|
||||||
|
source = ~/.config/hypr/keybindings.conf
|
||||||
|
source = ~/.config/hypr/env.conf
|
||||||
11
private_dot_config/hypr/hyprpaper.conf
Normal file
11
private_dot_config/hypr/hyprpaper.conf
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
# Preloading wallpapers
|
||||||
|
preload = ~/.wallpapers/empire.png
|
||||||
|
|
||||||
|
# Per monitor configuration
|
||||||
|
wallpaper = ,~/.wallpapers/empire.png
|
||||||
|
|
||||||
|
# Enable IPC mode
|
||||||
|
ipc = true
|
||||||
|
|
||||||
|
# Disable splash screen
|
||||||
|
splash = false
|
||||||
37
private_dot_config/hypr/keybindings.conf
Normal file
37
private_dot_config/hypr/keybindings.conf
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
$mainMod = SUPER # windows key
|
||||||
|
|
||||||
|
# Workspace actions
|
||||||
|
bind = ALT, TAB, workspace, e+1
|
||||||
|
bind = ALT SHIFT, TAB, workspace, e-1
|
||||||
|
bind = $mainMod, TAB, workspace, r+1
|
||||||
|
bind = $mainMod SHIFT, TAB, workspace, r-1
|
||||||
|
bind = $mainMod, return, workspace, empty
|
||||||
|
|
||||||
|
# Window/Session actions
|
||||||
|
bind = $mainMod, Q, killactive
|
||||||
|
bind = $mainMod, return, fullscreen
|
||||||
|
bind = $mainMod, L, exec, swaylock
|
||||||
|
|
||||||
|
# Application shortcuts
|
||||||
|
bind = $mainMod, T, exec, kitty
|
||||||
|
bind = $mainMod, E, exec, dolphin
|
||||||
|
bind = $mainMod, F, exec, firefox
|
||||||
|
|
||||||
|
# Move focus with ALT + WASD
|
||||||
|
bind = ALT, Q, movefocus, l
|
||||||
|
bind = ALT, D, movefocus, r
|
||||||
|
bind = ALT, Z, movefocus, u
|
||||||
|
bind = ALT, S, movefocus, d
|
||||||
|
|
||||||
|
# Resize windows
|
||||||
|
binde = $mainMod SHIFT, right, resizeactive, 30 0
|
||||||
|
binde = $mainMod SHIFT, left, resizeactive, -30 0
|
||||||
|
binde = $mainMod SHIFT, up, resizeactive, 0 -30
|
||||||
|
binde = $mainMod SHIFT, down, resizeactive, 0 30
|
||||||
|
|
||||||
|
# Move/Resize windows with mainMod + LMB/RMB and dragging
|
||||||
|
bindm = $mainMod, mouse:272, movewindow
|
||||||
|
bindm = $mainMod, mouse:273, resizewindow
|
||||||
|
|
||||||
|
# Trigger when the switch is turning off
|
||||||
|
bindl= , switch:on:Lid Switch, exec, swaylock && systemctl suspend
|
||||||
1472
private_dot_config/kitty/kitty.conf
Normal file
1472
private_dot_config/kitty/kitty.conf
Normal file
File diff suppressed because it is too large
Load Diff
149
private_dot_config/lsd/config.yaml
Normal file
149
private_dot_config/lsd/config.yaml
Normal file
@ -0,0 +1,149 @@
|
|||||||
|
# == Classic ==
|
||||||
|
# This is a shorthand to override some of the options to be backwards compatible
|
||||||
|
# with `ls`. It affects the "color"->"when", "sorting"->"dir-grouping", "date"
|
||||||
|
# and "icons"->"when" options.
|
||||||
|
# Possible values: false, true
|
||||||
|
classic: false
|
||||||
|
|
||||||
|
# == Blocks ==
|
||||||
|
# This specifies the columns and their order when using the long and the tree
|
||||||
|
# layout.
|
||||||
|
# Possible values: permission, user, group, context, size, date, name, inode, links, git
|
||||||
|
blocks:
|
||||||
|
- permission
|
||||||
|
- user
|
||||||
|
- group
|
||||||
|
- size
|
||||||
|
- date
|
||||||
|
- git
|
||||||
|
- name
|
||||||
|
|
||||||
|
# == Color ==
|
||||||
|
# This has various color options. (Will be expanded in the future.)
|
||||||
|
color:
|
||||||
|
# When to colorize the output.
|
||||||
|
# When "classic" is set, this is set to "never".
|
||||||
|
# Possible values: never, auto, always
|
||||||
|
when: auto
|
||||||
|
# How to colorize the output.
|
||||||
|
# When "classic" is set, this is set to "no-color".
|
||||||
|
# Possible values: default, custom
|
||||||
|
# When "custom" is set, lsd will look in the config directory for `colors.yaml`.
|
||||||
|
theme: default
|
||||||
|
|
||||||
|
# == Date ==
|
||||||
|
# This specifies the date format for the date column. The freeform format
|
||||||
|
# accepts a strftime like string.
|
||||||
|
# When "classic" is set, this is set to "date".
|
||||||
|
# Possible values: date, locale, relative, '+<date_format>'
|
||||||
|
# `date_format` will be a `strftime` formatted value. e.g. `date: '+%d %b %y %X'` will give you a date like this: 17 Jun 21 20:14:55
|
||||||
|
date: date
|
||||||
|
|
||||||
|
# == Dereference ==
|
||||||
|
# Whether to dereference symbolic links.
|
||||||
|
# Possible values: false, true
|
||||||
|
dereference: false
|
||||||
|
|
||||||
|
# == Display ==
|
||||||
|
# What items to display. Do not specify this for the default behavior.
|
||||||
|
# Possible values: all, almost-all, directory-only
|
||||||
|
# display: all
|
||||||
|
|
||||||
|
# == Icons ==
|
||||||
|
icons:
|
||||||
|
# When to use icons.
|
||||||
|
# When "classic" is set, this is set to "never".
|
||||||
|
# Possible values: always, auto, never
|
||||||
|
when: auto
|
||||||
|
# Which icon theme to use.
|
||||||
|
# Possible values: fancy, unicode
|
||||||
|
theme: fancy
|
||||||
|
# Separator between icon and the name
|
||||||
|
# Default to 1 space
|
||||||
|
separator: " "
|
||||||
|
|
||||||
|
# == Ignore Globs ==
|
||||||
|
# A list of globs to ignore when listing.
|
||||||
|
# ignore-globs:
|
||||||
|
# - .git
|
||||||
|
|
||||||
|
# == Indicators ==
|
||||||
|
# Whether to add indicator characters to certain listed files.
|
||||||
|
# Possible values: false, true
|
||||||
|
indicators: false
|
||||||
|
|
||||||
|
# == Layout ==
|
||||||
|
# Which layout to use. "oneline" might be a bit confusing here and should be
|
||||||
|
# called "one-per-line". It might be changed in the future.
|
||||||
|
# Possible values: grid, tree, oneline
|
||||||
|
layout: grid
|
||||||
|
|
||||||
|
# == Recursion ==
|
||||||
|
recursion:
|
||||||
|
# Whether to enable recursion.
|
||||||
|
# Possible values: false, true
|
||||||
|
enabled: false
|
||||||
|
# How deep the recursion should go. This has to be a positive integer. Leave
|
||||||
|
# it unspecified for (virtually) infinite.
|
||||||
|
# depth: 3
|
||||||
|
|
||||||
|
# == Size ==
|
||||||
|
# Specifies the format of the size column.
|
||||||
|
# Possible values: default, short, bytes
|
||||||
|
size: default
|
||||||
|
|
||||||
|
# == Permission ==
|
||||||
|
# Specify the format of the permission column
|
||||||
|
# Possible value: rwx, octal, attributes (windows only), disabled
|
||||||
|
# permission: rwx
|
||||||
|
|
||||||
|
# == Sorting ==
|
||||||
|
sorting:
|
||||||
|
# Specify what to sort by.
|
||||||
|
# Possible values: extension, name, time, size, version
|
||||||
|
column: name
|
||||||
|
# Whether to reverse the sorting.
|
||||||
|
# Possible values: false, true
|
||||||
|
reverse: false
|
||||||
|
# Whether to group directories together and where.
|
||||||
|
# When "classic" is set, this is set to "none".
|
||||||
|
# Possible values: first, last, none
|
||||||
|
dir-grouping: none
|
||||||
|
|
||||||
|
# == No Symlink ==
|
||||||
|
# Whether to omit showing symlink targets
|
||||||
|
# Possible values: false, true
|
||||||
|
no-symlink: false
|
||||||
|
|
||||||
|
# == Total size ==
|
||||||
|
# Whether to display the total size of directories.
|
||||||
|
# Possible values: false, true
|
||||||
|
total-size: false
|
||||||
|
|
||||||
|
# == Hyperlink ==
|
||||||
|
# Attach hyperlink to filenames
|
||||||
|
# Possible values: always, auto, never
|
||||||
|
hyperlink: never
|
||||||
|
|
||||||
|
# == Symlink arrow ==
|
||||||
|
# Specifies how the symlink arrow display, chars in both ascii and utf8
|
||||||
|
symlink-arrow: ⇒
|
||||||
|
|
||||||
|
# == Header ==
|
||||||
|
# Whether to display block headers.
|
||||||
|
# Possible values: false, true
|
||||||
|
header: false
|
||||||
|
|
||||||
|
# == Literal ==
|
||||||
|
# Whether to show quotes on filenames.
|
||||||
|
# Possible values: false, true
|
||||||
|
# literal: false
|
||||||
|
|
||||||
|
# == Truncate owner ==
|
||||||
|
# How to truncate the username and group names for a file if they exceed a certain
|
||||||
|
# number of characters.
|
||||||
|
# truncate-owner:
|
||||||
|
# Number of characters to keep. By default, no truncation is done (empty value).
|
||||||
|
# after:
|
||||||
|
# String to be appended to a name if truncated.
|
||||||
|
# marker: ""
|
||||||
37
private_dot_config/nvim/init.lua
Normal file
37
private_dot_config/nvim/init.lua
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
vim.g.base46_cache = vim.fn.stdpath "data" .. "/nvchad/base46/"
|
||||||
|
vim.g.mapleader = ","
|
||||||
|
|
||||||
|
-- bootstrap lazy and all plugins
|
||||||
|
local lazypath = vim.fn.stdpath "data" .. "/lazy/lazy.nvim"
|
||||||
|
|
||||||
|
if not vim.loop.fs_stat(lazypath) then
|
||||||
|
local repo = "https://github.com/folke/lazy.nvim.git"
|
||||||
|
vim.fn.system { "git", "clone", "--filter=blob:none", repo, "--branch=stable", lazypath }
|
||||||
|
end
|
||||||
|
|
||||||
|
vim.opt.rtp:prepend(lazypath)
|
||||||
|
|
||||||
|
local lazy_config = require "configs.lazy"
|
||||||
|
|
||||||
|
-- load plugins
|
||||||
|
require("lazy").setup({
|
||||||
|
{
|
||||||
|
"NvChad/NvChad",
|
||||||
|
lazy = false,
|
||||||
|
branch = "v2.5",
|
||||||
|
import = "nvchad.plugins",
|
||||||
|
},
|
||||||
|
|
||||||
|
{ import = "plugins" },
|
||||||
|
}, lazy_config)
|
||||||
|
|
||||||
|
-- load theme
|
||||||
|
dofile(vim.g.base46_cache .. "defaults")
|
||||||
|
dofile(vim.g.base46_cache .. "statusline")
|
||||||
|
|
||||||
|
require "options"
|
||||||
|
require "nvchad.autocmds"
|
||||||
|
|
||||||
|
vim.schedule(function()
|
||||||
|
require "mappings"
|
||||||
|
end)
|
||||||
70
private_dot_config/nvim/lua/autocmds.lua
Normal file
70
private_dot_config/nvim/lua/autocmds.lua
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
local autocmd = vim.api.nvim_create_autocmd
|
||||||
|
|
||||||
|
-- dont list quickfix buffers
|
||||||
|
autocmd("FileType", {
|
||||||
|
pattern = "qf",
|
||||||
|
callback = function()
|
||||||
|
vim.opt_local.buflisted = false
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
|
||||||
|
-- reload some chadrc options on-save
|
||||||
|
autocmd("BufWritePost", {
|
||||||
|
pattern = vim.tbl_map(function(path)
|
||||||
|
return vim.fs.normalize(vim.loop.fs_realpath(path))
|
||||||
|
end, vim.fn.glob(vim.fn.stdpath "config" .. "/lua/**/*.lua", true, true, true)),
|
||||||
|
group = vim.api.nvim_create_augroup("ReloadNvChad", {}),
|
||||||
|
|
||||||
|
callback = function(opts)
|
||||||
|
local fp = vim.fn.fnamemodify(vim.fs.normalize(vim.api.nvim_buf_get_name(opts.buf)), ":r") --[[@as string]]
|
||||||
|
local app_name = vim.env.NVIM_APPNAME and vim.env.NVIM_APPNAME or "nvim"
|
||||||
|
local module = string.gsub(fp, "^.*/" .. app_name .. "/lua/", ""):gsub("/", ".")
|
||||||
|
|
||||||
|
require("plenary.reload").reload_module "nvconfig"
|
||||||
|
require("plenary.reload").reload_module "chadrc"
|
||||||
|
require("plenary.reload").reload_module "base46"
|
||||||
|
require("plenary.reload").reload_module(module)
|
||||||
|
|
||||||
|
local config = require "nvconfig"
|
||||||
|
|
||||||
|
-- statusline
|
||||||
|
require("plenary.reload").reload_module "nvchad.stl.utils"
|
||||||
|
require("plenary.reload").reload_module("nvchad.stl." .. config.ui.statusline.theme)
|
||||||
|
vim.opt.statusline = "%!v:lua.require('nvchad.stl." .. config.ui.statusline.theme .. "')()"
|
||||||
|
|
||||||
|
-- tabufline
|
||||||
|
if config.ui.tabufline.enabled then
|
||||||
|
require("plenary.reload").reload_module "nvchad.tabufline.modules"
|
||||||
|
vim.opt.tabline = "%!v:lua.require('nvchad.tabufline.modules')()"
|
||||||
|
end
|
||||||
|
|
||||||
|
require("base46").load_all_highlights()
|
||||||
|
-- vim.cmd("redraw!")
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
|
||||||
|
-- user event that loads after UIEnter + only if file buf is there
|
||||||
|
vim.api.nvim_create_autocmd({ "UIEnter", "BufReadPost", "BufNewFile" }, {
|
||||||
|
group = vim.api.nvim_create_augroup("NvFilePost", { clear = true }),
|
||||||
|
callback = function(args)
|
||||||
|
local file = vim.api.nvim_buf_get_name(args.buf)
|
||||||
|
local buftype = vim.api.nvim_buf_get_option(args.buf, "buftype")
|
||||||
|
|
||||||
|
if not vim.g.ui_entered and args.event == "UIEnter" then
|
||||||
|
vim.g.ui_entered = true
|
||||||
|
end
|
||||||
|
|
||||||
|
if file ~= "" and buftype ~= "nofile" and vim.g.ui_entered then
|
||||||
|
vim.api.nvim_exec_autocmds("User", { pattern = "FilePost", modeline = false })
|
||||||
|
vim.api.nvim_del_augroup_by_name "NvFilePost"
|
||||||
|
|
||||||
|
vim.schedule(function()
|
||||||
|
vim.api.nvim_exec_autocmds("FileType", {})
|
||||||
|
|
||||||
|
if vim.g.editorconfig then
|
||||||
|
require("editorconfig").config(args.buf)
|
||||||
|
end
|
||||||
|
end, 0)
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
})
|
||||||
149
private_dot_config/nvim/lua/chadrc.lua
Normal file
149
private_dot_config/nvim/lua/chadrc.lua
Normal file
@ -0,0 +1,149 @@
|
|||||||
|
--------------------------------------------------------------------------
|
||||||
|
--
|
||||||
|
-- ██████╗██╗ ██╗ █████╗ ██████╗ ██████╗ ██████╗
|
||||||
|
-- ██╔════╝██║ ██║██╔══██╗██╔══██╗██╔══██╗██╔════╝
|
||||||
|
-- ██║ ███████║███████║██║ ██║██████╔╝██║
|
||||||
|
-- ██║ ██╔══██║██╔══██║██║ ██║██╔══██╗██║
|
||||||
|
-- ╚██████╗██║ ██║██║ ██║██████╔╝██║ ██║╚██████╗
|
||||||
|
-- ╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝╚═════╝ ╚═╝ ╚═╝ ╚═════╝
|
||||||
|
--
|
||||||
|
--------------------------------------------------------------------------
|
||||||
|
|
||||||
|
---@type ChadrcConfig
|
||||||
|
local options = {
|
||||||
|
|
||||||
|
ui = {
|
||||||
|
------------------------------- nvchad_ui modules -----------------------------
|
||||||
|
statusline = {
|
||||||
|
enabled = true,
|
||||||
|
theme = "default", -- default/vscode/vscode_colored/minimal
|
||||||
|
-- default/round/block/arrow separators work only for default statusline theme
|
||||||
|
-- round and block will work for minimal theme only
|
||||||
|
separator_style = "arrow",
|
||||||
|
order = nil,
|
||||||
|
modules = nil,
|
||||||
|
},
|
||||||
|
|
||||||
|
-- lazyload it when there are 1+ buffers
|
||||||
|
tabufline = {
|
||||||
|
enabled = true,
|
||||||
|
lazyload = true,
|
||||||
|
order = { "treeOffset", "buffers", "tabs", "btns" },
|
||||||
|
modules = nil,
|
||||||
|
},
|
||||||
|
|
||||||
|
telescope = { style = "bordered" }, -- borderless / bordered
|
||||||
|
|
||||||
|
cmp = {
|
||||||
|
icons = true,
|
||||||
|
icons_left = false, -- only for non-atom styles!
|
||||||
|
lspkind_text = true,
|
||||||
|
style = "default", -- default/flat_light/flat_dark/atom/atom_colored
|
||||||
|
format_colors = {
|
||||||
|
tailwind = false, -- will work for css lsp too
|
||||||
|
icon = "",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
nvdash = {
|
||||||
|
load_on_startup = true,
|
||||||
|
header = {
|
||||||
|
" I use ",
|
||||||
|
" ██████ █████ █████ █████ ███ ",
|
||||||
|
" ░░██████ ░░███ ░░███ ░░███ ░░░ ",
|
||||||
|
" ░███░███ ░███ ██████ ██████ ░███ ░███ ████ █████████████ ",
|
||||||
|
" ░███░░███░███ ███░░███ ███░░███ ░███ ░███ ░░███ ░░███░░███░░███ ",
|
||||||
|
" ░███ ░░██████ ░███████ ░███ ░███ ░░███ ███ ░███ ░███ ░███ ░███ ",
|
||||||
|
" ░███ ░░█████ ░███░░░ ░███ ░███ ░░░█████░ ░███ ░███ ░███ ░███ ",
|
||||||
|
" █████ ░░█████░░██████ ░░██████ ░░███ █████ █████░███ █████ ",
|
||||||
|
" ░░░░░ ░░░░░ ░░░░░░ ░░░░░░ ░░░ ░░░░░ ░░░░░ ░░░ ░░░░░ ",
|
||||||
|
" btw ",
|
||||||
|
},
|
||||||
|
buttons = {
|
||||||
|
{ txt = " Find file", keys = ", f f", cmd = "Telescope find_files" },
|
||||||
|
{ txt = " Recent Files", keys = ", f o", cmd = "Telescope oldfiles" },
|
||||||
|
{ txt = " Find Word", keys = ", f w", cmd = "Telescope live_grep" },
|
||||||
|
{ txt = " Bookmarks", keys = ", m a", cmd = "Telescope marks" },
|
||||||
|
{ txt = " Themes", keys = ", t h", cmd = "Telescope themes" },
|
||||||
|
{ txt = " Mappings", keys = ", c h", cmd = "NvCheatsheet" },
|
||||||
|
{ txt = "─", hl = "NvDashFooter", no_gap = true, rep = true },
|
||||||
|
|
||||||
|
{
|
||||||
|
txt = function()
|
||||||
|
local stats = require("lazy").stats()
|
||||||
|
local ms = math.floor(stats.startuptime) .. " ms"
|
||||||
|
return " Loaded " .. stats.loaded .. "/" .. stats.count .. " plugins in " .. ms
|
||||||
|
end,
|
||||||
|
hl = "NvDashFooter",
|
||||||
|
no_gap = true,
|
||||||
|
},
|
||||||
|
|
||||||
|
{ txt = "─", hl = "NvDashFooter", no_gap = true, rep = true },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
term = {
|
||||||
|
winopts = { number = false, relativenumber = false },
|
||||||
|
sizes = { sp = 0.3, vsp = 0.2, ["bo sp"] = 0.3, ["bo vsp"] = 0.2 },
|
||||||
|
float = {
|
||||||
|
relative = "editor",
|
||||||
|
row = 0.3,
|
||||||
|
col = 0.25,
|
||||||
|
width = 0.5,
|
||||||
|
height = 0.4,
|
||||||
|
border = "single",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
lsp = {
|
||||||
|
signature = true,
|
||||||
|
semantic_tokens = false,
|
||||||
|
},
|
||||||
|
|
||||||
|
cheatsheet = { theme = "grid" }, -- simple/grid
|
||||||
|
|
||||||
|
base46 = {
|
||||||
|
integrations = {
|
||||||
|
"codeactionmenu",
|
||||||
|
"cmp",
|
||||||
|
"dap",
|
||||||
|
"defaults",
|
||||||
|
"devicons",
|
||||||
|
"git",
|
||||||
|
"lsp",
|
||||||
|
"lspsaga",
|
||||||
|
"markview",
|
||||||
|
"mason",
|
||||||
|
"notify",
|
||||||
|
"nvcheatsheet",
|
||||||
|
"nvimtree",
|
||||||
|
"statusline",
|
||||||
|
"syntax",
|
||||||
|
"treesitter",
|
||||||
|
"trouble",
|
||||||
|
"tbline",
|
||||||
|
"telescope",
|
||||||
|
"whichkey",
|
||||||
|
},
|
||||||
|
|
||||||
|
theme = "gruvbox", -- default theme
|
||||||
|
|
||||||
|
hl_override = {
|
||||||
|
Comment = { fg = "#928374" },
|
||||||
|
["@comment"] = { fg = "#928374" },
|
||||||
|
LineNr = { fg = "#928374" },
|
||||||
|
},
|
||||||
|
transparency = true,
|
||||||
|
},
|
||||||
|
|
||||||
|
colorify = {
|
||||||
|
enabled = true,
|
||||||
|
mode = "virtual", -- fg, bg, virtual
|
||||||
|
virt_text = " ",
|
||||||
|
highlight = { hex = true, lspvars = true },
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
local status, chadrc = pcall(require, "chadrc")
|
||||||
|
return vim.tbl_deep_extend("force", options, status and chadrc or {})
|
||||||
26
private_dot_config/nvim/lua/configs/conform.lua
Normal file
26
private_dot_config/nvim/lua/configs/conform.lua
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
local options = {
|
||||||
|
lsp_fallback = true,
|
||||||
|
|
||||||
|
formatters_by_ft = {
|
||||||
|
lua = { "stylua" },
|
||||||
|
python = { "ruff", "black" },
|
||||||
|
c = { "clang-format" },
|
||||||
|
cpp = { "clang-format" },
|
||||||
|
html = { "prettier" },
|
||||||
|
css = { "prettier" },
|
||||||
|
javascript = { "prettier" },
|
||||||
|
markdown = { "prettier" },
|
||||||
|
md = { "prettier" },
|
||||||
|
text = { "prettier" },
|
||||||
|
json = { "prettier" },
|
||||||
|
yaml = { "prettier" },
|
||||||
|
toml = { "prettier" },
|
||||||
|
},
|
||||||
|
|
||||||
|
format_on_save = {
|
||||||
|
timeout_ms = 500,
|
||||||
|
lsp_fallback = true,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
return options
|
||||||
47
private_dot_config/nvim/lua/configs/lazy.lua
Normal file
47
private_dot_config/nvim/lua/configs/lazy.lua
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
return {
|
||||||
|
defaults = { lazy = true },
|
||||||
|
install = { colorscheme = { "nvchad" } },
|
||||||
|
|
||||||
|
ui = {
|
||||||
|
icons = {
|
||||||
|
ft = "",
|
||||||
|
lazy = " ",
|
||||||
|
loaded = "",
|
||||||
|
not_loaded = "",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
performance = {
|
||||||
|
rtp = {
|
||||||
|
disabled_plugins = {
|
||||||
|
"2html_plugin",
|
||||||
|
"tohtml",
|
||||||
|
"getscript",
|
||||||
|
"getscriptPlugin",
|
||||||
|
"gzip",
|
||||||
|
"logipat",
|
||||||
|
"netrw",
|
||||||
|
"netrwPlugin",
|
||||||
|
"netrwSettings",
|
||||||
|
"netrwFileHandlers",
|
||||||
|
"matchit",
|
||||||
|
"tar",
|
||||||
|
"tarPlugin",
|
||||||
|
"rrhelper",
|
||||||
|
"spellfile_plugin",
|
||||||
|
"vimball",
|
||||||
|
"vimballPlugin",
|
||||||
|
"zip",
|
||||||
|
"zipPlugin",
|
||||||
|
"tutor",
|
||||||
|
"rplugin",
|
||||||
|
"syntax",
|
||||||
|
"synmenu",
|
||||||
|
"optwin",
|
||||||
|
"compiler",
|
||||||
|
"bugreport",
|
||||||
|
"ftplugin",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
14
private_dot_config/nvim/lua/configs/lspconfig.lua
Normal file
14
private_dot_config/nvim/lua/configs/lspconfig.lua
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
require("nvchad.configs.lspconfig").defaults()
|
||||||
|
|
||||||
|
local lspconfig = require("lspconfig")
|
||||||
|
|
||||||
|
local nvlsp = require("nvchad.configs.lspconfig")
|
||||||
|
local servers = { "jdtls", "html", "cssls", "clangd", "pylsp", "basedpyright", "ruff" }
|
||||||
|
|
||||||
|
for _, lsp in ipairs(servers) do
|
||||||
|
lspconfig[lsp].setup({
|
||||||
|
on_init = nvlsp.on_init,
|
||||||
|
on_attach = nvlsp.on_attach,
|
||||||
|
capabilities = nvlsp.capabilities,
|
||||||
|
})
|
||||||
|
end
|
||||||
84
private_dot_config/nvim/lua/configs/overrides.lua
Normal file
84
private_dot_config/nvim/lua/configs/overrides.lua
Normal file
@ -0,0 +1,84 @@
|
|||||||
|
local M = {}
|
||||||
|
|
||||||
|
M.treesitter = {
|
||||||
|
ensure_installed = {
|
||||||
|
"vim",
|
||||||
|
"lua",
|
||||||
|
"html",
|
||||||
|
"css",
|
||||||
|
"javascript",
|
||||||
|
"typescript",
|
||||||
|
"tsx",
|
||||||
|
"php",
|
||||||
|
"c",
|
||||||
|
"cpp",
|
||||||
|
"java",
|
||||||
|
"python",
|
||||||
|
"ninja",
|
||||||
|
"rst",
|
||||||
|
"markdown",
|
||||||
|
"markdown_inline",
|
||||||
|
"bash",
|
||||||
|
"fish",
|
||||||
|
"regex",
|
||||||
|
"git_config",
|
||||||
|
"gitcommit",
|
||||||
|
"git_rebase",
|
||||||
|
"gitignore",
|
||||||
|
"gitattributes",
|
||||||
|
"dockerfile",
|
||||||
|
},
|
||||||
|
indent = {
|
||||||
|
enable = true,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
M.mason = {
|
||||||
|
cmd = true,
|
||||||
|
pkgs = {
|
||||||
|
-- lua stuff
|
||||||
|
"lua-language-server",
|
||||||
|
"stylua",
|
||||||
|
|
||||||
|
-- web dev stuff
|
||||||
|
"css-lsp",
|
||||||
|
"html-lsp",
|
||||||
|
"prettier",
|
||||||
|
|
||||||
|
-- c/cpp stuff
|
||||||
|
"clangd",
|
||||||
|
"clang-format",
|
||||||
|
|
||||||
|
-- java stuff
|
||||||
|
"jdtls",
|
||||||
|
"java-test",
|
||||||
|
"java-debug-adapter",
|
||||||
|
"spring-boot-tools",
|
||||||
|
"lombok",
|
||||||
|
|
||||||
|
-- python stuff
|
||||||
|
"pylsp",
|
||||||
|
"basedpyright",
|
||||||
|
"ruff",
|
||||||
|
"black",
|
||||||
|
|
||||||
|
"hadolint",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
-- git support in nvimtree
|
||||||
|
M.nvimtree = {
|
||||||
|
git = {
|
||||||
|
enable = true,
|
||||||
|
},
|
||||||
|
renderer = {
|
||||||
|
highlight_git = true,
|
||||||
|
icons = {
|
||||||
|
show = {
|
||||||
|
git = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
return M
|
||||||
212
private_dot_config/nvim/lua/mappings.lua
Normal file
212
private_dot_config/nvim/lua/mappings.lua
Normal file
@ -0,0 +1,212 @@
|
|||||||
|
local map = vim.keymap.set
|
||||||
|
|
||||||
|
map("i", "<C-b>", "<ESC>^i", { desc = "Move Beginning of line" })
|
||||||
|
map("i", "<C-e>", "<End>", { desc = "Move End of line" })
|
||||||
|
map("i", "<C-h>", "<Left>", { desc = "Move Left" })
|
||||||
|
map("i", "<C-l>", "<Right>", { desc = "Move Right" })
|
||||||
|
map("i", "<C-j>", "<Down>", { desc = "Move Down" })
|
||||||
|
map("i", "<C-k>", "<Up>", { desc = "Move Up" })
|
||||||
|
|
||||||
|
map("n", "<Esc>", "<cmd>noh<CR>", { desc = "General Clear highlights" })
|
||||||
|
|
||||||
|
map("n", "<C-s>", "<cmd>w<CR>", { desc = "File Save" })
|
||||||
|
map("n", "<C-c>", "<cmd>%y+<CR>", { desc = "File Copy whole" })
|
||||||
|
|
||||||
|
map("n", "<leader>n", "<cmd>set nu!<CR>", { desc = "Toggle Line number" })
|
||||||
|
map("n", "<leader>rn", "<cmd>set rnu!<CR>", { desc = "Toggle Relative number" })
|
||||||
|
map("n", "<leader>ch", "<cmd>NvCheatsheet<CR>", { desc = "Toggle NvCheatsheet" })
|
||||||
|
|
||||||
|
map("n", "<leader>fm", function()
|
||||||
|
require("conform").format { lsp_fallback = true }
|
||||||
|
end, { desc = "Format Files" })
|
||||||
|
|
||||||
|
-- lsp mappings
|
||||||
|
map("n", "<A-CR>", "<cmd>Lspsaga code_action<CR>", { desc = "Lsp code action" })
|
||||||
|
map("v", "<A-CR>", "<cmd>Lspsaga code_action<CR>", { desc = "Lsp code action" })
|
||||||
|
map("n", "<A-p>", "<cmd>Lspsaga peek_definition<CR>", { desc = "Lsp peek definition" })
|
||||||
|
map("n", "<A-P>", "<cmd>Lspsaga peek_type_definition<CR>", { desc = "Lsp peek type definition" })
|
||||||
|
map("v", "<A-p>", "<cmd>Lspsaga peek_definition<CR>", { desc = "Lsp peek definition" })
|
||||||
|
map("v", "<A-P>", "<cmd>Lspsaga peek_type_definition<CR>", { desc = "Lsp peek type definition" })
|
||||||
|
map("n", "<A-g>", "<cmd>Lspsaga goto_definition<CR>", { desc = "Lsp goto definition" })
|
||||||
|
map("n", "<A-G>", "<cmd>Lspsaga goto_type_definition<CR>", { desc = "Lsp goto type definition" })
|
||||||
|
map("v", "<A-g>", "<cmd>Lspsaga goto_definition<CR>", { desc = "Lsp goto definition" })
|
||||||
|
map("v", "<A-G>", "<cmd>Lspsaga goto_type_definition<CR>", { desc = "Lsp goto type definition" })
|
||||||
|
map("n", "<A-r>", "<cmd>Lspsaga rename ++project<CR>", { desc = "Lsp rename" })
|
||||||
|
map("v", "<A-r>", "<cmd>Lspsaga rename ++project<CR>", { desc = "Lsp rename" })
|
||||||
|
map("n", "<A-d>", "<cmd>Lspsaga diagnostic_jump_next<CR>", { desc = "Lsp diagnostic next" })
|
||||||
|
map("v", "<A-d>", "<cmd>Lspsaga diagnostic_jump_next<CR>", { desc = "Lsp diagnostic next" })
|
||||||
|
map("n", "<A-D>", "<cmd>Lspsaga diagnostic_jump_prev<CR>", { desc = "Lsp diagnostic previous" })
|
||||||
|
map("v", "<A-D>", "<cmd>Lspsaga diagnostic_jump_prev<CR>", { desc = "Lsp diagnostic previous" })
|
||||||
|
|
||||||
|
-- tabufline
|
||||||
|
map("n", "<leader>b", "<cmd>enew<CR>", { desc = "Buffer New" })
|
||||||
|
|
||||||
|
map("n", "<tab>", function()
|
||||||
|
require("nvchad.tabufline").next()
|
||||||
|
end, { desc = "Buffer Goto next" })
|
||||||
|
|
||||||
|
map("n", "<S-tab>", function()
|
||||||
|
require("nvchad.tabufline").prev()
|
||||||
|
end, { desc = "Buffer Goto prev" })
|
||||||
|
|
||||||
|
map("n", "<leader>x", function()
|
||||||
|
require("nvchad.tabufline").close_buffer()
|
||||||
|
end, { desc = "Buffer Close" })
|
||||||
|
|
||||||
|
-- Comment
|
||||||
|
map("n", "<leader>/", "gcc", { desc = "Comment toggle", remap = true })
|
||||||
|
map("v", "<leader>/", "gc", { desc = "Comment toggle", remap = true })
|
||||||
|
|
||||||
|
-- Spider nvim movement
|
||||||
|
map("n", "w", "<cmd>lua require('spider').motion('w')<CR>", {desc = "Spider Move to next word"})
|
||||||
|
map("n", "b", "<cmd>lua require('spider').motion('b')<CR>", {desc = "Spider Move to previous word"})
|
||||||
|
map("n", "e", "<cmd>lua require('spider').motion('e')<CR>", {desc = "Spider Move to end of word"})
|
||||||
|
map("v", "w", "<cmd>lua require('spider').motion('w')<CR>", {desc = "Spider Move to next word"})
|
||||||
|
map("v", "b", "<cmd>lua require('spider').motion('b')<CR>", {desc = "Spider Move to previous word"})
|
||||||
|
map("v", "e", "<cmd>lua require('spider').motion('e')<CR>", {desc = "Spider Move to end of word"})
|
||||||
|
|
||||||
|
-- nvimtree
|
||||||
|
map("n", "<C-n>", "<cmd>NvimTreeToggle<CR>", { desc = "Nvimtree Toggle window" })
|
||||||
|
map("n", "<leader>e", "<cmd>NvimTreeFocus<CR>", { desc = "Nvimtree Focus window" })
|
||||||
|
|
||||||
|
-- telescope
|
||||||
|
map("n", "<leader>fw", "<cmd>Telescope live_grep<CR>", { desc = "Telescope Live grep" })
|
||||||
|
map("n", "<leader>fb", "<cmd>Telescope buffers<CR>", { desc = "Telescope Find buffers" })
|
||||||
|
map("n", "<leader>fh", "<cmd>Telescope help_tags<CR>", { desc = "Telescope Help page" })
|
||||||
|
|
||||||
|
map("n", "<leader>fo", "<cmd>Telescope oldfiles<CR>", { desc = "Telescope Find oldfiles" })
|
||||||
|
map("n", "<leader>fz", "<cmd>Telescope current_buffer_fuzzy_find<CR>", { desc = "Telescope Find in current buffer" })
|
||||||
|
map("n", "<leader>cm", "<cmd>Telescope git_commits<CR>", { desc = "Telescope Git commits" })
|
||||||
|
map("n", "<leader>gt", "<cmd>Telescope git_status<CR>", { desc = "Telescope Git status" })
|
||||||
|
map("n", "<leader>pt", "<cmd>Telescope terms<CR>", { desc = "Telescope Pick hidden term" })
|
||||||
|
map("n", "<leader>th", "<cmd>Telescope themes<CR>", { desc = "Telescope Nvchad themes" })
|
||||||
|
map("n", "<leader>ff", "<cmd>Telescope find_files<cr>", { desc = "Telescope Find files" })
|
||||||
|
map(
|
||||||
|
"n",
|
||||||
|
"<leader>fa",
|
||||||
|
"<cmd>Telescope find_files follow=true no_ignore=true hidden=true<CR>",
|
||||||
|
{ desc = "Telescope Find all files" }
|
||||||
|
)
|
||||||
|
|
||||||
|
-- terminal
|
||||||
|
map("t", "<C-x>", "<C-\\><C-N>", { desc = "Terminal Escape terminal mode" })
|
||||||
|
|
||||||
|
-- new terminals
|
||||||
|
map("n", "<leader>h", function()
|
||||||
|
require("nvchad.term").new { pos = "sp", size = 0.3 }
|
||||||
|
end, { desc = "Terminal New horizontal term" })
|
||||||
|
|
||||||
|
map("n", "<leader>v", function()
|
||||||
|
require("nvchad.term").new { pos = "vsp", size = 0.3 }
|
||||||
|
end, { desc = "Terminal New vertical window" })
|
||||||
|
|
||||||
|
-- toggleable
|
||||||
|
map({ "n", "t" }, "<A-v>", function()
|
||||||
|
require("nvchad.term").toggle { pos = "vsp", id = "vtoggleTerm", size = 0.3 }
|
||||||
|
end, { desc = "Terminal Toggleable vertical term" })
|
||||||
|
|
||||||
|
map({ "n", "t" }, "<A-h>", function()
|
||||||
|
require("nvchad.term").toggle { pos = "sp", id = "htoggleTerm", size = 0.3 }
|
||||||
|
end, { desc = "Terminal New horizontal term" })
|
||||||
|
|
||||||
|
map({ "n", "t" }, "<A-i>", function()
|
||||||
|
require("nvchad.term").toggle { pos = "float", id = "floatTerm" }
|
||||||
|
end, { desc = "Terminal Toggle Floating term" })
|
||||||
|
|
||||||
|
map("t", "<ESC>", function()
|
||||||
|
local win = vim.api.nvim_get_current_win()
|
||||||
|
vim.api.nvim_win_close(win, true)
|
||||||
|
end, { desc = "Terminal Close term in terminal mode" })
|
||||||
|
|
||||||
|
-- whichkey
|
||||||
|
map("n", "<leader>wK", "<cmd>WhichKey <CR>", { desc = "Whichkey all keymaps" })
|
||||||
|
|
||||||
|
map("n", "<leader>wk", function()
|
||||||
|
vim.cmd("WhichKey " .. vim.fn.input "WhichKey: ")
|
||||||
|
end, { desc = "Whichkey query lookup" })
|
||||||
|
|
||||||
|
-- blankline
|
||||||
|
map("n", "<leader>cc", function()
|
||||||
|
local config = { scope = {} }
|
||||||
|
config.scope.exclude = { language = {}, node_type = {} }
|
||||||
|
config.scope.include = { node_type = {} }
|
||||||
|
local node = require("ibl.scope").get(vim.api.nvim_get_current_buf(), config)
|
||||||
|
|
||||||
|
if node then
|
||||||
|
local start_row, _, end_row, _ = node:range()
|
||||||
|
if start_row ~= end_row then
|
||||||
|
vim.api.nvim_win_set_cursor(vim.api.nvim_get_current_win(), { start_row + 1, 0 })
|
||||||
|
vim.api.nvim_feedkeys("_", "n", true)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end, { desc = "Blankline Jump to current context" })
|
||||||
|
|
||||||
|
-- copilotchat
|
||||||
|
map("n", "<leader>cch", function()
|
||||||
|
local actions = require("CopilotChat.actions")
|
||||||
|
require("CopilotChat.integrations.telescope").pick(actions.help_actions())
|
||||||
|
end, { desc = "CopilotChat - Help actions" })
|
||||||
|
map("n", "<leader>ccp", function()
|
||||||
|
local actions = require("CopilotChat.actions")
|
||||||
|
require("CopilotChat.integrations.telescope").pick(actions.prompt_actions())
|
||||||
|
end, { desc = "CopilotChat - Prompt actions" })
|
||||||
|
map("v", "<leader>cch", function()
|
||||||
|
local actions = require("CopilotChat.actions")
|
||||||
|
require("CopilotChat.integrations.telescope").pick(actions.help_actions())
|
||||||
|
end, { desc = "CopilotChat - Help actions" })
|
||||||
|
map("v", "<leader>ccp", function()
|
||||||
|
local actions = require("CopilotChat.actions")
|
||||||
|
require("CopilotChat.integrations.telescope").pick(actions.prompt_actions())
|
||||||
|
end, { desc = "CopilotChat - Prompt actions" })
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- Custom mappings
|
||||||
|
map("n", "<space>", ":", { desc = "Enter command mode" })
|
||||||
|
map({ "n", "v" }, "j", "h", { desc = "Move left" })
|
||||||
|
map({ "n", "v" }, "k", "j", { desc = "Move down" })
|
||||||
|
map({ "n", "v" }, "l", "k", { desc = "Move up" })
|
||||||
|
map({ "n", "v" }, "m", "l", { desc = "Move right" })
|
||||||
|
map("n", "<C-j>", "<C-w>h", { desc = "Move the cursor to the left window" })
|
||||||
|
map("n", "<C-k>", "<C-w>j", { desc = "Move the cursor to the bottom window" })
|
||||||
|
map("n", "<C-l>", "<C-w>k", { desc = "Move the cursor to the upper window" })
|
||||||
|
map("n", "<C-m>", "<C-w>l", { desc = "Move the cursor to the right window" })
|
||||||
|
map("n", "<C-up>", "<C-w>+", { desc = "Enlarge window upwards" })
|
||||||
|
map("n", "<C-down>", "<C-w>-", { desc = "Enlarge window downwards" })
|
||||||
|
map("n", "<C-left>", "<C-w>>", { desc = "Enlarge window to the left" })
|
||||||
|
map("n", "<C-right>", "<C-w><", { desc = "Enlarge window to the rigth" })
|
||||||
|
map("n", "o", "o<ESC>")
|
||||||
|
map("n", "O", "O<ESC>")
|
||||||
|
map("n", "n", "nzz")
|
||||||
|
map("n", "N", "Nzz")
|
||||||
|
map({ "n", "v" }, "y", "\"+y")
|
||||||
|
map("n", "yy", "\"+yy")
|
||||||
|
map({ "n", "v" }, "Y", "\"+yg_")
|
||||||
|
map({ "n", "v" }, "p", "\"+p")
|
||||||
|
map({ "n", "v" }, "P", "\"+P")
|
||||||
|
map("n", "<leader>a", function()
|
||||||
|
require("treesj").toggle()
|
||||||
|
end, { desc = "Extends or retracts an instruction block" })
|
||||||
|
map("n", "<leader>gb", "<cmd>Gitsigns blame<CR>", { desc = "Git blame" })
|
||||||
|
map("v", "<leader>gb", "<cmd>Gitsigns blame<CR>", { desc = "Git blame" })
|
||||||
|
map("i", "jj", "<ESC>", { desc = "Go into normal mode" })
|
||||||
|
map("i", "<C-d>", "<ESC>ddi", { desc = "Delete a line" })
|
||||||
|
|
||||||
|
-- Disable mappings
|
||||||
|
-- local nomap = vim.keymap.del
|
||||||
|
|
||||||
|
-- nomap("n", "h")
|
||||||
|
-- nomap("n", "j")
|
||||||
|
-- nomap("n", "k")
|
||||||
|
-- nomap("n", "l")
|
||||||
|
-- nomap("n", "<C-h>")
|
||||||
|
-- nomap("n", "<C-j>")
|
||||||
|
-- nomap("n", "<C-k>")
|
||||||
|
-- nomap("n", "<C-l>")
|
||||||
|
-- nomap("n", "<leader>")
|
||||||
|
|
||||||
|
-- nomap("v", "h")
|
||||||
|
-- nomap("v", "j")
|
||||||
|
-- nomap("v", "k")
|
||||||
|
-- nomap("v", "l")
|
||||||
13
private_dot_config/nvim/lua/options.lua
Normal file
13
private_dot_config/nvim/lua/options.lua
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
require("nvchad.options")
|
||||||
|
|
||||||
|
vim.opt.termguicolors = true
|
||||||
|
|
||||||
|
-- Modification de la taille des tabulations
|
||||||
|
vim.opt.shiftwidth = 4
|
||||||
|
vim.opt.tabstop = 4
|
||||||
|
vim.opt.softtabstop = 4
|
||||||
|
|
||||||
|
vim.opt.shell = "/usr/local/bin/fish"
|
||||||
|
|
||||||
|
-- local o = vim.o
|
||||||
|
-- o.cursorlineopt ='both' -- to enable cursorline!
|
||||||
63
private_dot_config/nvim/lua/plugins/init.lua
Normal file
63
private_dot_config/nvim/lua/plugins/init.lua
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
local overrides = require("configs.overrides")
|
||||||
|
|
||||||
|
return {
|
||||||
|
-- Format the file on save
|
||||||
|
{
|
||||||
|
"stevearc/conform.nvim",
|
||||||
|
event = 'BufWritePre',
|
||||||
|
config = function()
|
||||||
|
require "configs.conform"
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
-- Install the parser (overrides)
|
||||||
|
{
|
||||||
|
"nvim-treesitter/nvim-treesitter",
|
||||||
|
opts = overrides.treesitter,
|
||||||
|
},
|
||||||
|
-- File explorer (overrides)
|
||||||
|
{
|
||||||
|
"nvim-tree/nvim-tree.lua",
|
||||||
|
opts = overrides.nvimtree,
|
||||||
|
},
|
||||||
|
-- Install and manage LSP servers (overrides)
|
||||||
|
{
|
||||||
|
"williamboman/mason.nvim",
|
||||||
|
opts = overrides.mason,
|
||||||
|
},
|
||||||
|
-- LSP configuration (overrides)
|
||||||
|
{
|
||||||
|
"neovim/nvim-lspconfig",
|
||||||
|
config = function()
|
||||||
|
require("nvchad.configs.lspconfig").defaults()
|
||||||
|
require "configs.lspconfig"
|
||||||
|
end,
|
||||||
|
dependencies = {
|
||||||
|
{
|
||||||
|
"nvimdev/lspsaga.nvim",
|
||||||
|
config = function()
|
||||||
|
require('lspsaga').setup({
|
||||||
|
lightbulb = {
|
||||||
|
virtual_text = false,
|
||||||
|
},
|
||||||
|
code_action = {
|
||||||
|
extend_gitsigns = true,
|
||||||
|
},
|
||||||
|
rename = {
|
||||||
|
auto_save = true,
|
||||||
|
}
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
dependencies = {
|
||||||
|
"nvim-treesitter/nvim-treesitter",
|
||||||
|
"nvim-tree/nvim-web-devicons",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"mfussenegger/nvim-dap",
|
||||||
|
dependencies = {
|
||||||
|
"mfussenegger/nvim-dap-python",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
343
private_dot_config/nvim/lua/plugins/plugins.lua
Normal file
343
private_dot_config/nvim/lua/plugins/plugins.lua
Normal file
@ -0,0 +1,343 @@
|
|||||||
|
local plugins = {
|
||||||
|
-- Open binary files in hex mode and edit them
|
||||||
|
{
|
||||||
|
"RaafatTurki/hex.nvim",
|
||||||
|
config = true,
|
||||||
|
lazy = false,
|
||||||
|
},
|
||||||
|
-- Auto-save files when in normal mode
|
||||||
|
{
|
||||||
|
"Pocco81/auto-save.nvim",
|
||||||
|
lazy = false,
|
||||||
|
config = function()
|
||||||
|
require("auto-save").setup({})
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
-- Open every file where you left off
|
||||||
|
{
|
||||||
|
"ethanholz/nvim-lastplace",
|
||||||
|
event = "BufRead",
|
||||||
|
config = function()
|
||||||
|
require("nvim-lastplace").setup({
|
||||||
|
lastplace_ignore_buftype = { "quickfix", "nofile", "help" },
|
||||||
|
lastplace_ignore_filetype = { "gitcommit", "gitrebase", "svn", "hgcommit", },
|
||||||
|
lastplace_open_folds = true,
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
-- Map keys for better word movement
|
||||||
|
{
|
||||||
|
"chrisgrieser/nvim-spider",
|
||||||
|
lazy = true,
|
||||||
|
},
|
||||||
|
-- Map keys for smooth scrolling
|
||||||
|
{
|
||||||
|
"karb94/neoscroll.nvim",
|
||||||
|
event = "WinScrolled",
|
||||||
|
config = function()
|
||||||
|
require('neoscroll').setup({
|
||||||
|
-- All these keys will be mapped to their corresponding default scrolling animation
|
||||||
|
mappings = { '<C-u>', '<C-d>', '<C-b>', '<C-f>', '<C-y>', '<C-e>', 'zt', 'zz', 'zb' },
|
||||||
|
hide_cursor = true, -- Hide cursor while scrolling
|
||||||
|
stop_eof = true, -- Stop at <EOF> when scrolling downwards
|
||||||
|
use_local_scrolloff = false, -- Use the local scope of scrolloff instead of the global scope
|
||||||
|
respect_scrolloff = false, -- Stop scrolling when the cursor reaches the scrolloff margin of the file
|
||||||
|
cursor_scrolls_alone = true, -- The cursor will keep on scrolling even if the window cannot scroll further
|
||||||
|
easing_function = nil, -- Default easing function
|
||||||
|
pre_hook = nil, -- Function to run before the scrolling animation starts
|
||||||
|
post_hook = nil, -- Function to run after the scrolling animation ends
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
-- Underline current and matching word
|
||||||
|
{
|
||||||
|
"itchyny/vim-cursorword",
|
||||||
|
event = {"BufEnter", "BufNewFile"},
|
||||||
|
config = function()
|
||||||
|
vim.api.nvim_command("augroup user_plugin_cursorword")
|
||||||
|
vim.api.nvim_command("autocmd!")
|
||||||
|
vim.api.nvim_command("autocmd FileType NvimTree,lspsagafinder,dashboard,vista let b:cursorword = 0")
|
||||||
|
vim.api.nvim_command("autocmd WinEnter * if &diff || &pvw | let b:cursorword = 0 | endif")
|
||||||
|
vim.api.nvim_command("autocmd InsertEnter * let b:cursorword = 0")
|
||||||
|
vim.api.nvim_command("autocmd InsertLeave * let b:cursorword = 1")
|
||||||
|
vim.api.nvim_command("augroup END")
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
-- Highlight the entire line in visual line mode
|
||||||
|
{
|
||||||
|
"0xAdk/full_visual_line.nvim",
|
||||||
|
keys = 'V',
|
||||||
|
opts = {},
|
||||||
|
},
|
||||||
|
-- Display number of uses of a Function
|
||||||
|
{
|
||||||
|
'VidocqH/lsp-lens.nvim',
|
||||||
|
event = "VeryLazy",
|
||||||
|
opts = {
|
||||||
|
setup = function()
|
||||||
|
require('lsp-lens').setup()
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
-- Split or join block of code
|
||||||
|
{
|
||||||
|
"Wansmer/treesj",
|
||||||
|
dependencies = { 'nvim-treesitter/nvim-treesitter' },
|
||||||
|
config = function()
|
||||||
|
require('treesj').setup({
|
||||||
|
use_default_keymaps = false,
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
-- Replace the UI for messages, cmdline, and the popupmenu
|
||||||
|
{
|
||||||
|
"folke/noice.nvim",
|
||||||
|
event = "VeryLazy",
|
||||||
|
config = function()
|
||||||
|
require("noice").setup({
|
||||||
|
lsp = {
|
||||||
|
override = {
|
||||||
|
["vim.lsp.util.convert_input_to_markdown_lines"] = true,
|
||||||
|
["vim.lsp.util.stylize_markdown"] = true,
|
||||||
|
["cmp.entry.get_documentation"] = true,
|
||||||
|
},
|
||||||
|
signature = { enable = false },
|
||||||
|
hover = { enable = false },
|
||||||
|
},
|
||||||
|
presets = {
|
||||||
|
bottom_search = true,
|
||||||
|
command_palette = true,
|
||||||
|
long_message_to_split = true,
|
||||||
|
inc_rename = false,
|
||||||
|
lsp_doc_border = false,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
dependencies = {
|
||||||
|
"MunifTanjim/nui.nvim",
|
||||||
|
{
|
||||||
|
"rcarriga/nvim-notify",
|
||||||
|
opts = {
|
||||||
|
background_colour = "#000000",
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
opts = {
|
||||||
|
},
|
||||||
|
},
|
||||||
|
-- Display the lsp diagnostics in a window
|
||||||
|
{
|
||||||
|
"folke/trouble.nvim",
|
||||||
|
opts = {}, -- for default options, refer to the configuration section for custom setup.
|
||||||
|
cmd = "Trouble",
|
||||||
|
keys = {
|
||||||
|
{
|
||||||
|
"<leader>xx",
|
||||||
|
"<cmd>Trouble diagnostics toggle<cr>",
|
||||||
|
desc = "Diagnostics (Trouble)",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"<leader>cs",
|
||||||
|
"<cmd>Trouble symbols toggle focus=false<cr>",
|
||||||
|
desc = "Symbols (Trouble)",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
-- Minimap plugin
|
||||||
|
{
|
||||||
|
"gorbit99/codewindow.nvim",
|
||||||
|
lazy = false,
|
||||||
|
config = function()
|
||||||
|
local codewindow = require("codewindow")
|
||||||
|
-- vim.api.nvim_set_hl(0, "CodewindowBorder", {fg = "#928374"})
|
||||||
|
codewindow.setup({
|
||||||
|
auto_enable = true,
|
||||||
|
minimap_width = 10,
|
||||||
|
screen_bounds = "background",
|
||||||
|
window_border = "none",
|
||||||
|
})
|
||||||
|
codewindow.apply_default_keybinds({})
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
-- Highlight the indent line and the current chunk
|
||||||
|
{
|
||||||
|
"shellRaining/hlchunk.nvim",
|
||||||
|
event = { "UIEnter" },
|
||||||
|
config = function()
|
||||||
|
require("hlchunk").setup({
|
||||||
|
chunk = {
|
||||||
|
enable = true,
|
||||||
|
chars = {
|
||||||
|
horizontal_line = "─",
|
||||||
|
vertical_line = "│",
|
||||||
|
left_top = "╭",
|
||||||
|
left_bottom = "╰",
|
||||||
|
right_arrow = ">",
|
||||||
|
},
|
||||||
|
style = {
|
||||||
|
{ fg = "#FABD2F" },
|
||||||
|
{ fg = "#c21f30" }, -- this fg is used to highlight wrong chunk
|
||||||
|
},
|
||||||
|
},
|
||||||
|
indent = {
|
||||||
|
enable = false,
|
||||||
|
},
|
||||||
|
line_num = {
|
||||||
|
enable = true,
|
||||||
|
style = "#FABD2F",
|
||||||
|
},
|
||||||
|
blank = {
|
||||||
|
enable = false,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
end
|
||||||
|
},
|
||||||
|
-- Integrate Github Copilot in NeoVim
|
||||||
|
{
|
||||||
|
"zbirenbaum/copilot.lua",
|
||||||
|
lazy = false,
|
||||||
|
cmd = "Copilot",
|
||||||
|
event = "InsertEnter",
|
||||||
|
config = function()
|
||||||
|
require("copilot").setup({
|
||||||
|
panel = {
|
||||||
|
enabled = true,
|
||||||
|
auto_refresh = true,
|
||||||
|
keymap = {
|
||||||
|
jump_prev = "[[",
|
||||||
|
jump_next = "]]",
|
||||||
|
accept = "<CR>",
|
||||||
|
refresh = "gr",
|
||||||
|
open = "<M-CR>"
|
||||||
|
},
|
||||||
|
layout = {
|
||||||
|
position = "bottom", -- | top | left | right
|
||||||
|
ratio = 0.4
|
||||||
|
},
|
||||||
|
},
|
||||||
|
suggestion = {
|
||||||
|
enabled = true,
|
||||||
|
auto_trigger = true,
|
||||||
|
debounce = 75,
|
||||||
|
keymap = {
|
||||||
|
accept = "<M-l>",
|
||||||
|
accept_word = false,
|
||||||
|
accept_line = false,
|
||||||
|
next = "<M-]>",
|
||||||
|
prev = "<M-[>",
|
||||||
|
dismiss = "<C-]>",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
filetypes = {
|
||||||
|
yaml = false,
|
||||||
|
markdown = true,
|
||||||
|
help = false,
|
||||||
|
gitcommit = false,
|
||||||
|
gitrebase = false,
|
||||||
|
hgcommit = false,
|
||||||
|
svn = false,
|
||||||
|
cvs = false,
|
||||||
|
["."] = false,
|
||||||
|
},
|
||||||
|
copilot_node_command = 'node', -- Node.js version must be > 18.x
|
||||||
|
server_opts_overrides = {},
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
-- Chat for copilot
|
||||||
|
{
|
||||||
|
"CopilotC-Nvim/CopilotChat.nvim",
|
||||||
|
event = "VeryLazy",
|
||||||
|
branch = "main",
|
||||||
|
dependencies = {
|
||||||
|
{ "zbirenbaum/copilot.lua" }, -- or github/copilot.vim
|
||||||
|
{ "nvim-lua/plenary.nvim" }, -- for curl, log wrapper
|
||||||
|
{
|
||||||
|
'MeanderingProgrammer/render-markdown.nvim',
|
||||||
|
dependencies = { 'nvim-treesitter/nvim-treesitter', 'nvim-tree/nvim-web-devicons' },
|
||||||
|
---@module 'render-markdown'
|
||||||
|
---@type render.md.UserConfig
|
||||||
|
opts = {},
|
||||||
|
config = function ()
|
||||||
|
require('render-markdown').setup({
|
||||||
|
file_types = { 'markdown', 'copilot-chat' },
|
||||||
|
})
|
||||||
|
end
|
||||||
|
},
|
||||||
|
},
|
||||||
|
build = "make tiktoken",
|
||||||
|
opts = {
|
||||||
|
debug = true, -- Enable debugging
|
||||||
|
model = "claude-3.5-sonnet",
|
||||||
|
},
|
||||||
|
keys = {
|
||||||
|
{
|
||||||
|
"<leader>ccq",
|
||||||
|
function()
|
||||||
|
local input = vim.fn.input("Quick Chat: ")
|
||||||
|
if input ~= "" then
|
||||||
|
require("CopilotChat").ask(input, { selection = require("CopilotChat.select").buffer })
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
desc = "CopilotChat - Quick chat",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"<leader>ccf",
|
||||||
|
function()
|
||||||
|
require("CopilotChat").ask("Fix this, using the lsp diagnostics if needed", { selection = require("CopilotChat.select").visual })
|
||||||
|
end,
|
||||||
|
desc = "CopilotChat - Fix this",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
config = function ()
|
||||||
|
require('CopilotChat').setup({
|
||||||
|
highlight_headers = false,
|
||||||
|
separator = '---',
|
||||||
|
error_header = '> [!ERROR] Error',
|
||||||
|
})
|
||||||
|
end
|
||||||
|
},
|
||||||
|
-- Suspend unused lsp
|
||||||
|
{
|
||||||
|
"zeioth/garbage-day.nvim",
|
||||||
|
dependencies = "neovim/nvim-lspconfig",
|
||||||
|
event = "VeryLazy",
|
||||||
|
},
|
||||||
|
-- DAP and JTDLS (lsp) configuration for Java
|
||||||
|
{
|
||||||
|
"nvim-java/nvim-java",
|
||||||
|
lazy = false,
|
||||||
|
dependencies = {
|
||||||
|
"nvim-java/lua-async-await",
|
||||||
|
"nvim-java/nvim-java-core",
|
||||||
|
"nvim-java/nvim-java-test",
|
||||||
|
"nvim-java/nvim-java-dap",
|
||||||
|
"nvim-java/nvim-java-refactor",
|
||||||
|
"MunifTanjim/nui.nvim",
|
||||||
|
"neovim/nvim-lspconfig",
|
||||||
|
"mfussenegger/nvim-dap",
|
||||||
|
{
|
||||||
|
"williamboman/mason.nvim",
|
||||||
|
opts = {
|
||||||
|
registries = {
|
||||||
|
"github:nvim-java/mason-registry",
|
||||||
|
"github:mason-org/mason-registry",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"williamboman/mason-lspconfig.nvim",
|
||||||
|
opts = {
|
||||||
|
handlers = {
|
||||||
|
["jdtls"] = function()
|
||||||
|
require("java").setup()
|
||||||
|
require("lspconfig").jdtls.setup({})
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return plugins
|
||||||
138
private_dot_config/ohmyposh/prompt.json
Normal file
138
private_dot_config/ohmyposh/prompt.json
Normal file
@ -0,0 +1,138 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json",
|
||||||
|
"blocks": [
|
||||||
|
{
|
||||||
|
"alignment": "left",
|
||||||
|
"segments": [
|
||||||
|
{
|
||||||
|
"background": "#a313a8",
|
||||||
|
"foreground": "#FFEB3B",
|
||||||
|
"style": "plain",
|
||||||
|
"template": "\u26a1 ",
|
||||||
|
"type": "root"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"background": "#3A3A3A",
|
||||||
|
"foreground": "#ffffff",
|
||||||
|
"leading_diamond": "\u256d\u2500\ue0b6",
|
||||||
|
"style": "diamond",
|
||||||
|
"template": "{{ if .WSL }}WSL at {{ end }}{{.Icon}} ",
|
||||||
|
"type": "os"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"background": "#458588",
|
||||||
|
"foreground": "#ffffff",
|
||||||
|
"leading_diamond": "<#49404f>\ue0b0</>",
|
||||||
|
"properties": {
|
||||||
|
"folder_icon": "...",
|
||||||
|
"folder_separator_icon": " \ue0bd ",
|
||||||
|
"home_icon": "\ueb06",
|
||||||
|
"style": "agnoster_short"
|
||||||
|
},
|
||||||
|
"style": "diamond",
|
||||||
|
"template": " {{ .Path }} ",
|
||||||
|
"trailing_diamond": "\ue0b0",
|
||||||
|
"type": "path"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"background": "#98971A",
|
||||||
|
"background_templates": [
|
||||||
|
"{{ if or (.Working.Changed) (.Staging.Changed) }}#FF9248{{ end }}",
|
||||||
|
"{{ if and (gt .Ahead 0) (gt .Behind 0) }}#FF4500{{ end }}",
|
||||||
|
"{{ if gt .Ahead 0 }}#B388FF{{ end }}",
|
||||||
|
"{{ if gt .Behind 0 }}#B388FF{{ end }}"
|
||||||
|
],
|
||||||
|
"foreground": "#000000",
|
||||||
|
"powerline_symbol": "\ue0b0",
|
||||||
|
"properties": {
|
||||||
|
"fetch_stash_count": true,
|
||||||
|
"fetch_status": true
|
||||||
|
},
|
||||||
|
"style": "powerline",
|
||||||
|
"template": " {{ .HEAD }}{{ if .Staging.Changed }} \uf046 {{ .Staging.String }}</>{{ end }}{{ if and (.Working.Changed) (.Staging.Changed) }} |{{ end }}{{ if .Working.Changed }} \uf044 {{ .Working.String }}{{ end }}{{ if gt .StashCount 0 }} \ueb4b {{ .StashCount }}{{ end }} ",
|
||||||
|
"type": "git"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"background": "#49404f",
|
||||||
|
"foreground": "#ffffff",
|
||||||
|
"leading_diamond": "<transparent,#49404f>\ue0b0</>",
|
||||||
|
"properties": {
|
||||||
|
"style": "dallas",
|
||||||
|
"threshold": 0
|
||||||
|
},
|
||||||
|
"style": "diamond",
|
||||||
|
"template": " {{ .FormattedMs }}s ",
|
||||||
|
"trailing_diamond": "\ue0b0",
|
||||||
|
"type": "executiontime"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"background": "#910000",
|
||||||
|
"foreground": "#ffffff",
|
||||||
|
"powerline_symbol": "\ue0b0",
|
||||||
|
"style": "powerline",
|
||||||
|
"template": "<transparent> \uf12a</> {{ reason .Code }} ",
|
||||||
|
"type": "status"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type": "prompt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"alignment": "right",
|
||||||
|
"segments": [
|
||||||
|
{
|
||||||
|
"background": "#29315A",
|
||||||
|
"foreground": "#43CCEA",
|
||||||
|
"leading_diamond": "\ue0c5",
|
||||||
|
"trailing_diamond": "\ue0bc",
|
||||||
|
"style": "diamond",
|
||||||
|
"template": " {{ .UserName }}<transparent> / </>{{ .Shell }} ",
|
||||||
|
"type": "session"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"background": "#29315A",
|
||||||
|
"foreground": "#3EC669",
|
||||||
|
"properties": {
|
||||||
|
"time_format": "15:04:05"
|
||||||
|
},
|
||||||
|
"leading_diamond": "\ue0ba",
|
||||||
|
"style": "diamond",
|
||||||
|
"template": " {{ .CurrentDate | date .Format }} ",
|
||||||
|
"type": "time"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type": "prompt"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"alignment": "left",
|
||||||
|
"newline": true,
|
||||||
|
"segments": [
|
||||||
|
{
|
||||||
|
"foreground": "#49404f",
|
||||||
|
"style": "plain",
|
||||||
|
"template": "\u2570\u2500",
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"foreground": "#ffffff",
|
||||||
|
"foreground_templates": [
|
||||||
|
"{{ if gt .Code 0 }}#ff0000{{ end }}"
|
||||||
|
],
|
||||||
|
"properties": {
|
||||||
|
"always_enabled": true
|
||||||
|
},
|
||||||
|
"style": "plain",
|
||||||
|
"template": "\u276f ",
|
||||||
|
"type": "status"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type": "prompt"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"transient_prompt": {
|
||||||
|
"background": "transparent",
|
||||||
|
"foreground": "#ebdbb2",
|
||||||
|
"template": "> "
|
||||||
|
},
|
||||||
|
"console_title_template": "{{if .Root}} \u26a1 {{end}}{{.Folder | replace \"~\" \"🏚\" }} @ {{.HostName}}",
|
||||||
|
"version": 3
|
||||||
|
}
|
||||||
25
private_dot_config/qt5ct/qt5ct.conf
Normal file
25
private_dot_config/qt5ct/qt5ct.conf
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
[Appearance]
|
||||||
|
color_scheme_path=/usr/share/qt5ct/colors/darker.conf
|
||||||
|
custom_palette=true
|
||||||
|
icon_theme=Gruvbox-Material-Dark
|
||||||
|
standard_dialogs=default
|
||||||
|
style=kvantum-dark
|
||||||
|
|
||||||
|
[Fonts]
|
||||||
|
fixed="JetBrainsMono Nerd Font,11,-1,5,50,0,0,0,0,0"
|
||||||
|
general="JetBrainsMono Nerd Font,11,-1,5,50,0,0,0,0,0"
|
||||||
|
|
||||||
|
[Interface]
|
||||||
|
activate_item_on_single_click=1
|
||||||
|
buttonbox_layout=0
|
||||||
|
cursor_flash_time=1000
|
||||||
|
dialog_buttons_have_icons=1
|
||||||
|
double_click_interval=400
|
||||||
|
gui_effects=@Invalid()
|
||||||
|
keyboard_scheme=2
|
||||||
|
menus_have_icons=true
|
||||||
|
show_shortcuts_in_context_menus=true
|
||||||
|
stylesheets=@Invalid()
|
||||||
|
toolbutton_style=4
|
||||||
|
underline_shortcut=1
|
||||||
|
wheel_scroll_lines=3
|
||||||
16
private_dot_config/rofi/config.rasi
Normal file
16
private_dot_config/rofi/config.rasi
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
configuration {
|
||||||
|
modi: "drun,run,window";
|
||||||
|
font: "JetBrainsMono Nerd Font 12";
|
||||||
|
terminal: "kitty";
|
||||||
|
drun-display-format: "{icon} {name}";
|
||||||
|
location: 0;
|
||||||
|
disable-history: false;
|
||||||
|
hide-scrollbar: true;
|
||||||
|
display-drun: " Apps ";
|
||||||
|
display-run: " Run ";
|
||||||
|
display-window: " Window";
|
||||||
|
display-Network: " Network";
|
||||||
|
sidebar-mode: true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@theme "gruvbox"
|
||||||
95
private_dot_config/rofi/gruvbox.rasi
Normal file
95
private_dot_config/rofi/gruvbox.rasi
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
* {
|
||||||
|
bg-col: #282828;
|
||||||
|
bg-col-light: #3c3836;
|
||||||
|
border-col: #504945;
|
||||||
|
selected-col: #98971a;
|
||||||
|
blue: #458588;
|
||||||
|
fg-col: #ebdbb2;
|
||||||
|
fg-col2: #282828;
|
||||||
|
grey: #928374;
|
||||||
|
width: 600;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-text, element-icon , mode-switcher {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
window {
|
||||||
|
height: 360px;
|
||||||
|
border: 3px;
|
||||||
|
border-color: @border-col;
|
||||||
|
background-color: @bg-col;
|
||||||
|
}
|
||||||
|
|
||||||
|
mainbox {
|
||||||
|
background-color: @bg-col;
|
||||||
|
}
|
||||||
|
|
||||||
|
inputbar {
|
||||||
|
children: [prompt,entry];
|
||||||
|
background-color: @bg-col;
|
||||||
|
border-radius: 5px;
|
||||||
|
padding: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
prompt {
|
||||||
|
background-color: @selected-col;
|
||||||
|
padding: 6px;
|
||||||
|
text-color: @bg-col;
|
||||||
|
border-radius: 3px;
|
||||||
|
margin: 20px 0px 0px 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
textbox-prompt-colon {
|
||||||
|
expand: false;
|
||||||
|
str: ":";
|
||||||
|
}
|
||||||
|
|
||||||
|
entry {
|
||||||
|
padding: 6px;
|
||||||
|
margin: 20px 0px 0px 10px;
|
||||||
|
text-color: @fg-col;
|
||||||
|
background-color: @bg-col;
|
||||||
|
}
|
||||||
|
|
||||||
|
listview {
|
||||||
|
border: 0px 0px 0px;
|
||||||
|
padding: 6px 0px 0px;
|
||||||
|
margin: 10px 0px 0px 20px;
|
||||||
|
columns: 2;
|
||||||
|
lines: 5;
|
||||||
|
background-color: @bg-col;
|
||||||
|
}
|
||||||
|
|
||||||
|
element {
|
||||||
|
padding: 5px;
|
||||||
|
background-color: @bg-col;
|
||||||
|
text-color: @fg-col ;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-icon {
|
||||||
|
size: 25px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected {
|
||||||
|
background-color: @selected-col ;
|
||||||
|
text-color: @fg-col2 ;
|
||||||
|
}
|
||||||
|
|
||||||
|
mode-switcher {
|
||||||
|
spacing: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
button {
|
||||||
|
padding: 10px;
|
||||||
|
background-color: @bg-col-light;
|
||||||
|
text-color: @grey;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
horizontal-align: 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
button selected {
|
||||||
|
background-color: @bg-col;
|
||||||
|
text-color: @selected-col;
|
||||||
|
}
|
||||||
55
private_dot_config/swaylock/config
Normal file
55
private_dot_config/swaylock/config
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
# General appearance settings
|
||||||
|
font=JetBrainsMono Nerd Font
|
||||||
|
font-size=20
|
||||||
|
|
||||||
|
# Enable effects
|
||||||
|
screenshots
|
||||||
|
fade-in=0.2
|
||||||
|
effect-blur=15x3
|
||||||
|
effect-scale=0.3
|
||||||
|
effect-vignette=0.2:0.5
|
||||||
|
|
||||||
|
# Lock indicator
|
||||||
|
indicator
|
||||||
|
indicator-radius=100
|
||||||
|
indicator-thickness=7
|
||||||
|
indicator-caps-lock
|
||||||
|
|
||||||
|
# Inner ring
|
||||||
|
inside-color=282828aa
|
||||||
|
inside-clear-color=98971a66
|
||||||
|
inside-caps-lock-color=d7992166
|
||||||
|
inside-ver-color=45858866
|
||||||
|
inside-wrong-color=cc241d66
|
||||||
|
|
||||||
|
# Outer ring
|
||||||
|
ring-color=98971a66
|
||||||
|
ring-clear-color=98971acc
|
||||||
|
ring-caps-lock-color=d79921cc
|
||||||
|
ring-ver-color=458588cc
|
||||||
|
ring-wrong-color=cc241dcc
|
||||||
|
|
||||||
|
# Text
|
||||||
|
text-color=ebdbb2cc
|
||||||
|
text-clear-color=282828cc
|
||||||
|
text-caps-lock-color=282828cc
|
||||||
|
text-ver-color=282828cc
|
||||||
|
text-wrong-color=282828cc
|
||||||
|
|
||||||
|
# Special keys
|
||||||
|
key-hl-color=98971acc
|
||||||
|
bs-hl-color=cc241dcc
|
||||||
|
caps-lock-key-hl-color=d79921cc
|
||||||
|
caps-lock-bs-hl-color=cc241dcc
|
||||||
|
|
||||||
|
# Separator
|
||||||
|
separator-color=28282800
|
||||||
|
|
||||||
|
# Date and time format
|
||||||
|
timestr=%H:%M:%S
|
||||||
|
datestr=%A, %d %B
|
||||||
|
|
||||||
|
# Behavior
|
||||||
|
ignore-empty-password
|
||||||
|
show-failed-attempts
|
||||||
|
show-keyboard-layout
|
||||||
20
private_dot_config/tealdeer/config.toml
Normal file
20
private_dot_config/tealdeer/config.toml
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
[display]
|
||||||
|
use_pager = false
|
||||||
|
compact = false
|
||||||
|
|
||||||
|
[style.description]
|
||||||
|
bold = true
|
||||||
|
|
||||||
|
[style.command_name]
|
||||||
|
foreground = "blue"
|
||||||
|
bold = true
|
||||||
|
|
||||||
|
[style.exemple_text]
|
||||||
|
background = "blue"
|
||||||
|
|
||||||
|
[style.exemple_variable]
|
||||||
|
underline = true
|
||||||
|
|
||||||
|
[updates]
|
||||||
|
auto_update = true
|
||||||
|
auto_update_interval_hours = 360
|
||||||
229
private_dot_config/topgrade.d/topgrade.toml
Normal file
229
private_dot_config/topgrade.d/topgrade.toml
Normal file
@ -0,0 +1,229 @@
|
|||||||
|
# Include any additional configuration file(s)
|
||||||
|
# [include] sections are processed in the order you write them
|
||||||
|
# Files in $CONFIG_DIR/topgrade.d/ are automatically included before this file
|
||||||
|
[include]
|
||||||
|
# paths = ["~/.config/topgrade/topgrade.toml"]
|
||||||
|
|
||||||
|
|
||||||
|
[misc]
|
||||||
|
# Run `sudo -v` to cache credentials at the start of the run
|
||||||
|
# This avoids a blocking password prompt in the middle of an unattended run
|
||||||
|
# (default: false)
|
||||||
|
pre_sudo = true
|
||||||
|
|
||||||
|
# Sudo command to be used
|
||||||
|
sudo_command = "sudo"
|
||||||
|
|
||||||
|
# Disable specific steps - same options as the command line flag
|
||||||
|
# disable = ["system", "emacs"]
|
||||||
|
|
||||||
|
# Ignore failures for these steps
|
||||||
|
# ignore_failures = ["powershell"]
|
||||||
|
|
||||||
|
# List of remote machines with Topgrade installed on them
|
||||||
|
# remote_topgrades = ["toothless", "pi", "parnas"]
|
||||||
|
|
||||||
|
# Path to Topgrade executable on remote machines
|
||||||
|
# remote_topgrade_path = ".cargo/bin/topgrade"
|
||||||
|
|
||||||
|
# Arguments to pass to SSH when upgrading remote systems
|
||||||
|
# ssh_arguments = "-o ConnectTimeout=2"
|
||||||
|
|
||||||
|
# Do not set the terminal title (default: true)
|
||||||
|
set_title = true
|
||||||
|
|
||||||
|
# Display the time in step titles (default: true)
|
||||||
|
display_time = true
|
||||||
|
|
||||||
|
# Don't ask for confirmations (no default value)
|
||||||
|
assume_yes = true
|
||||||
|
|
||||||
|
# Do not ask to retry failed steps (default: false)
|
||||||
|
no_retry = true
|
||||||
|
|
||||||
|
# Run inside tmux (default: false)
|
||||||
|
# run_in_tmux = true
|
||||||
|
|
||||||
|
# Cleanup temporary or old files (default: false)
|
||||||
|
cleanup = true
|
||||||
|
|
||||||
|
# Send a notification for every step (default: false)
|
||||||
|
notify_each_step = false
|
||||||
|
|
||||||
|
# Skip sending a notification at the end of a run (default: false)
|
||||||
|
skip_notify = true
|
||||||
|
|
||||||
|
# The Bash-it branch to update (default: "stable")
|
||||||
|
# bashit_branch = "stable"
|
||||||
|
|
||||||
|
# Run specific steps - same options as the command line flag
|
||||||
|
# only = ["system", "emacs"]
|
||||||
|
|
||||||
|
# Whether to self update
|
||||||
|
#
|
||||||
|
# this will be ignored if the binary is built without self update support
|
||||||
|
#
|
||||||
|
# available also via setting the environment variable TOPGRADE_NO_SELF_UPGRADE)
|
||||||
|
no_self_update = false
|
||||||
|
|
||||||
|
# Extra tracing filter directives
|
||||||
|
# These are prepended to the `--log-filter` argument
|
||||||
|
# See: https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html#directives
|
||||||
|
# log_filters = ["topgrade::command=debug", "warn"]
|
||||||
|
|
||||||
|
|
||||||
|
# Commands to run before anything
|
||||||
|
[pre_commands]
|
||||||
|
# "Emacs Snapshot" = "rm -rf ~/.emacs.d/elpa.bak && cp -rl ~/.emacs.d/elpa ~/.emacs.d/elpa.bak"
|
||||||
|
|
||||||
|
|
||||||
|
# Commands to run after anything
|
||||||
|
[post_commands]
|
||||||
|
# "Emacs Snapshot" = "rm -rf ~/.emacs.d/elpa.bak && cp -rl ~/.emacs.d/elpa ~/.emacs.d/elpa.bak"
|
||||||
|
|
||||||
|
|
||||||
|
# Custom commands
|
||||||
|
[commands]
|
||||||
|
# "Python Environment" = "~/dev/.env/bin/pip install -i https://pypi.python.org/simple -U --upgrade-strategy eager jupyter"
|
||||||
|
# "Custom command using interactive shell (unix)" = "-i vim_upgrade"
|
||||||
|
|
||||||
|
|
||||||
|
[python]
|
||||||
|
# enable_pip_review = true ###disabled by default
|
||||||
|
# enable_pip_review_local = true ###disabled by default
|
||||||
|
# enable_pipupgrade = true ###disabled by default
|
||||||
|
# pipupgrade_arguments = "-y -u --pip-path pip" ###disabled by default
|
||||||
|
|
||||||
|
|
||||||
|
[composer]
|
||||||
|
# self_update = true
|
||||||
|
|
||||||
|
|
||||||
|
[brew]
|
||||||
|
# greedy_cask = true
|
||||||
|
# autoremove = true
|
||||||
|
|
||||||
|
|
||||||
|
[linux]
|
||||||
|
# Arch Package Manager to use.
|
||||||
|
# Allowed values:
|
||||||
|
# autodetect, aura, garuda_update, pacman, pamac, paru, pikaur, trizen, yay
|
||||||
|
arch_package_manager = "pacman"
|
||||||
|
|
||||||
|
# Arguments to pass yay (or paru) when updating packages
|
||||||
|
# yay_arguments = "--nodevel"
|
||||||
|
|
||||||
|
# Arguments to pass dnf when updating packages
|
||||||
|
# dnf_arguments = "--refresh"
|
||||||
|
|
||||||
|
# aura_aur_arguments = "-kx"
|
||||||
|
|
||||||
|
# aura_pacman_arguments = ""
|
||||||
|
# garuda_update_arguments = ""
|
||||||
|
|
||||||
|
# show_arch_news = true
|
||||||
|
|
||||||
|
# trizen_arguments = "--devel"
|
||||||
|
|
||||||
|
# pikaur_arguments = ""
|
||||||
|
|
||||||
|
# pamac_arguments = "--no-devel"
|
||||||
|
|
||||||
|
# enable_tlmgr = true
|
||||||
|
|
||||||
|
# emerge_sync_flags = "-q"
|
||||||
|
|
||||||
|
# emerge_update_flags = "-uDNa --with-bdeps=y world"
|
||||||
|
|
||||||
|
# redhat_distro_sync = false
|
||||||
|
|
||||||
|
# suse_dup = false
|
||||||
|
|
||||||
|
# rpm_ostree = false
|
||||||
|
|
||||||
|
# nix_arguments = "--flake"
|
||||||
|
|
||||||
|
# nix_env_arguments = "--prebuilt-only"
|
||||||
|
|
||||||
|
# Extra Home Manager arguments
|
||||||
|
# home_manager_arguments = ["--flake", "file"]
|
||||||
|
|
||||||
|
|
||||||
|
[git]
|
||||||
|
# How many repos to pull at max in parallel
|
||||||
|
# max_concurrency = 5
|
||||||
|
|
||||||
|
# Additional git repositories to pull
|
||||||
|
# repos = [
|
||||||
|
# "~/src/*/",
|
||||||
|
# "~/.config/something"
|
||||||
|
# ]
|
||||||
|
|
||||||
|
# Don't pull the predefined git repos
|
||||||
|
# pull_predefined = false
|
||||||
|
|
||||||
|
# Arguments to pass Git when pulling Repositories
|
||||||
|
# arguments = "--rebase --autostash"
|
||||||
|
|
||||||
|
|
||||||
|
[windows]
|
||||||
|
# Manually select Windows updates
|
||||||
|
# accept_all_updates = false
|
||||||
|
|
||||||
|
# open_remotes_in_new_terminal = true
|
||||||
|
|
||||||
|
# wsl_update_pre_release = true
|
||||||
|
|
||||||
|
# wsl_update_use_web_download = true
|
||||||
|
|
||||||
|
# Causes Topgrade to rename itself during the run to allow package managers
|
||||||
|
# to upgrade it. Use this only if you installed Topgrade by using a package
|
||||||
|
# manager such as Scoop or Cargo
|
||||||
|
# self_rename = true
|
||||||
|
|
||||||
|
# Enable WinGet upgrade
|
||||||
|
# enable_winget = true
|
||||||
|
|
||||||
|
|
||||||
|
[npm]
|
||||||
|
# Use sudo if the NPM directory isn't owned by the current user
|
||||||
|
# use_sudo = true
|
||||||
|
|
||||||
|
|
||||||
|
[yarn]
|
||||||
|
# Run `yarn global upgrade` with `sudo`
|
||||||
|
# use_sudo = true
|
||||||
|
|
||||||
|
|
||||||
|
[vim]
|
||||||
|
# For `vim-plug`, execute `PlugUpdate!` instead of `PlugUpdate`
|
||||||
|
# force_plug_update = true
|
||||||
|
|
||||||
|
|
||||||
|
[firmware]
|
||||||
|
# Offer to update firmware; if false just check for and display available updates
|
||||||
|
# upgrade = true
|
||||||
|
|
||||||
|
|
||||||
|
[vagrant]
|
||||||
|
# Vagrant directories
|
||||||
|
# directories = []
|
||||||
|
|
||||||
|
# power on vagrant boxes if needed
|
||||||
|
# power_on = true
|
||||||
|
|
||||||
|
# Always suspend vagrant boxes instead of powering off
|
||||||
|
# always_suspend = true
|
||||||
|
|
||||||
|
|
||||||
|
[flatpak]
|
||||||
|
# Use sudo for updating the system-wide installation
|
||||||
|
# use_sudo = true
|
||||||
|
|
||||||
|
|
||||||
|
[distrobox]
|
||||||
|
# use_root = false
|
||||||
|
|
||||||
|
# containers = ["archlinux-latest"]
|
||||||
|
[containers]
|
||||||
|
# ignored_containers = ["ghcr.io/rancher-sandbox/rancher-desktop/rdx-proxy:latest"]
|
||||||
100
private_dot_config/waybar/config
Normal file
100
private_dot_config/waybar/config
Normal file
@ -0,0 +1,100 @@
|
|||||||
|
{
|
||||||
|
"layer": "top",
|
||||||
|
"position": "top",
|
||||||
|
"height": 30,
|
||||||
|
"spacing": 0,
|
||||||
|
"margin-top": 4,
|
||||||
|
"margin-left": 8,
|
||||||
|
"margin-right": 8,
|
||||||
|
|
||||||
|
"modules-left": [
|
||||||
|
"hyprland/window"
|
||||||
|
],
|
||||||
|
|
||||||
|
"modules-center": [
|
||||||
|
"hyprland/workspaces"
|
||||||
|
],
|
||||||
|
|
||||||
|
"modules-right": [
|
||||||
|
"custom/controls",
|
||||||
|
"network",
|
||||||
|
"battery",
|
||||||
|
"clock",
|
||||||
|
"custom/power"
|
||||||
|
],
|
||||||
|
|
||||||
|
"hyprland/window": {
|
||||||
|
"format": "{}",
|
||||||
|
"max-length": 50,
|
||||||
|
"separate-outputs": true
|
||||||
|
},
|
||||||
|
|
||||||
|
"hyprland/workspaces": {
|
||||||
|
"format": "{icon}",
|
||||||
|
"on-click": "activate",
|
||||||
|
"format-icons": {
|
||||||
|
"1": "•",
|
||||||
|
"2": "•",
|
||||||
|
"3": "•",
|
||||||
|
"4": "•",
|
||||||
|
"5": "•",
|
||||||
|
"urgent": "",
|
||||||
|
"active": "",
|
||||||
|
"default": "·"
|
||||||
|
},
|
||||||
|
"persistent-workspaces": {
|
||||||
|
"*": 5
|
||||||
|
},
|
||||||
|
"sort-by-number": true
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/controls": {
|
||||||
|
"format": "",
|
||||||
|
"on-click": "~/.config/waybar/scripts/control-center.sh",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
|
||||||
|
"clock": {
|
||||||
|
"format": " {:%H:%M}",
|
||||||
|
"format-alt": " {:%a %d %b}",
|
||||||
|
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
|
||||||
|
"calendar": {
|
||||||
|
"mode": "month",
|
||||||
|
"format": {
|
||||||
|
"months": "<span color='#98971a'>{}</span>",
|
||||||
|
"days": "<span color='#458588'>{}</span>",
|
||||||
|
"weeks": "<span color='#b16286'>W{}</span>",
|
||||||
|
"weekdays": "<span color='#cc241d'>{}</span>",
|
||||||
|
"today": "<span color='#fb4934'><b>{}</b></span>"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"battery": {
|
||||||
|
"states": {
|
||||||
|
"good": 95,
|
||||||
|
"warning": 30,
|
||||||
|
"critical": 15
|
||||||
|
},
|
||||||
|
"format": "{icon}",
|
||||||
|
"format-charging": "",
|
||||||
|
"format-plugged": "",
|
||||||
|
"format-alt": "{capacity}%",
|
||||||
|
"format-icons": ["", "", "", "", ""]
|
||||||
|
},
|
||||||
|
|
||||||
|
"network": {
|
||||||
|
"format-wifi": "",
|
||||||
|
"format-ethernet": "",
|
||||||
|
"format-linked": "",
|
||||||
|
"format-disconnected": "",
|
||||||
|
"tooltip-format": "{essid} ({signalStrength}%)",
|
||||||
|
"on-click": "nm-connection-editor"
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/power": {
|
||||||
|
"format": "",
|
||||||
|
"on-click": "wlogout -b 4",
|
||||||
|
"tooltip": false
|
||||||
|
}
|
||||||
|
}
|
||||||
16
private_dot_config/waybar/scripts/control-center.sh
Executable file
16
private_dot_config/waybar/scripts/control-center.sh
Executable file
@ -0,0 +1,16 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
WINDOW_NAME="control_center"
|
||||||
|
|
||||||
|
# Vérifie si la fenêtre est déjà ouverte
|
||||||
|
if eww list-windows | grep -q "^${WINDOW_NAME}\*$"; then
|
||||||
|
# Si ouverte, la ferme
|
||||||
|
eww close $WINDOW_NAME
|
||||||
|
else
|
||||||
|
# Si fermée, on s'assure que le daemon tourne et on ouvre la fenêtre
|
||||||
|
if ! eww ping > /dev/null 2>&1; then
|
||||||
|
eww daemon
|
||||||
|
sleep 0.5
|
||||||
|
fi
|
||||||
|
eww open $WINDOW_NAME
|
||||||
|
fi
|
||||||
128
private_dot_config/waybar/style.css
Normal file
128
private_dot_config/waybar/style.css
Normal file
@ -0,0 +1,128 @@
|
|||||||
|
* {
|
||||||
|
font-family: "JetBrainsMono Nerd Font";
|
||||||
|
font-size: 13px;
|
||||||
|
min-height: 0;
|
||||||
|
transition: all 0.3s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
window#waybar {
|
||||||
|
background: transparent;
|
||||||
|
color: #ebdbb2;
|
||||||
|
}
|
||||||
|
|
||||||
|
tooltip {
|
||||||
|
background: rgba(40, 40, 40, 0.95);
|
||||||
|
border: 2px solid rgba(80, 73, 69, 0.9);
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
tooltip label {
|
||||||
|
color: #ebdbb2;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces {
|
||||||
|
background: rgba(60, 56, 54, 0.8);
|
||||||
|
border-radius: 8px;
|
||||||
|
margin: 4px;
|
||||||
|
padding: 2px 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button {
|
||||||
|
padding: 0 4px;
|
||||||
|
background: transparent;
|
||||||
|
color: #928374;
|
||||||
|
border: none;
|
||||||
|
border-radius: 0;
|
||||||
|
margin: 0 2px;
|
||||||
|
transition: all 0.3s ease;
|
||||||
|
font-size: 18px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.active {
|
||||||
|
color: #ebdbb2;
|
||||||
|
font-weight: bold;
|
||||||
|
padding: 0 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button:hover {
|
||||||
|
color: #ebdbb2;
|
||||||
|
text-shadow: 0 0 2px rgba(235, 219, 178, 0.377);
|
||||||
|
background: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
#window {
|
||||||
|
background: rgba(60, 56, 54, 0.8);
|
||||||
|
border-radius: 8px;
|
||||||
|
margin: 4px;
|
||||||
|
padding: 0 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-controls {
|
||||||
|
background: rgba(104, 157, 106, 0.8);
|
||||||
|
color: #282828;
|
||||||
|
border-radius: 8px;
|
||||||
|
margin: 4px;
|
||||||
|
padding: 0 12px;
|
||||||
|
font-size: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-controls:hover {
|
||||||
|
background: rgba(142, 192, 124, 0.8);
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-power {
|
||||||
|
background: rgba(204, 36, 29, 0.8);
|
||||||
|
color: #282828;
|
||||||
|
border-radius: 8px;
|
||||||
|
margin: 4px;
|
||||||
|
padding: 0 8px;
|
||||||
|
font-size: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-power:hover {
|
||||||
|
background: rgba(251, 73, 52, 0.8);
|
||||||
|
}
|
||||||
|
|
||||||
|
#clock,
|
||||||
|
#battery,
|
||||||
|
#network {
|
||||||
|
background: rgba(60, 56, 54, 0.8);
|
||||||
|
padding: 0 12px;
|
||||||
|
margin: 4px 2px;
|
||||||
|
border-radius: 8px;
|
||||||
|
min-width: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#clock {
|
||||||
|
background-color: rgba(146, 131, 116, 0.8);
|
||||||
|
color: #282828;
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery {
|
||||||
|
background-color: rgba(152, 151, 26, 0.8);
|
||||||
|
color: #282828;
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery.charging {
|
||||||
|
background-color: rgba(184, 187, 38, 0.8);
|
||||||
|
}
|
||||||
|
|
||||||
|
#battery.critical:not(.charging) {
|
||||||
|
background-color: rgba(204, 36, 29, 0.8);
|
||||||
|
animation: blink 0.5s linear infinite alternate;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes blink {
|
||||||
|
to {
|
||||||
|
background-color: rgba(251, 73, 52, 0.8);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#network {
|
||||||
|
background-color: rgba(69, 133, 136, 0.8);
|
||||||
|
color: #282828;
|
||||||
|
}
|
||||||
|
|
||||||
|
#network.disconnected {
|
||||||
|
background-color: rgba(204, 36, 29, 0.8);
|
||||||
|
}
|
||||||
24
private_dot_config/wlogout/layout
Normal file
24
private_dot_config/wlogout/layout
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
{
|
||||||
|
"label" : "lock",
|
||||||
|
"action" : "swaylock",
|
||||||
|
"text" : "Verrouiller",
|
||||||
|
"keybind" : "l"
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"label" : "suspend",
|
||||||
|
"action" : "systemctl suspend",
|
||||||
|
"text" : "Suspendre",
|
||||||
|
"keybind" : "u"
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"label" : "reboot",
|
||||||
|
"action" : "systemctl reboot",
|
||||||
|
"text" : "Redémarrer",
|
||||||
|
"keybind" : "r"
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"label" : "shutdown",
|
||||||
|
"action" : "systemctl poweroff",
|
||||||
|
"text" : "Éteindre",
|
||||||
|
"keybind" : "s"
|
||||||
|
}
|
||||||
63
private_dot_config/wlogout/style.css
Normal file
63
private_dot_config/wlogout/style.css
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
* {
|
||||||
|
background-image: none;
|
||||||
|
font-family: "JetBrainsMono Nerd Font";
|
||||||
|
font-size: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
window {
|
||||||
|
background-color: rgba(29, 32, 33, 0.85);
|
||||||
|
}
|
||||||
|
|
||||||
|
button {
|
||||||
|
color: #928374;
|
||||||
|
background-color: rgba(60, 56, 54, 0.7);
|
||||||
|
border-style: solid;
|
||||||
|
border-width: 2px;
|
||||||
|
border-radius: 20px;
|
||||||
|
border-color: rgba(80, 73, 69, 0.5);
|
||||||
|
padding: 20px;
|
||||||
|
margin: 20px;
|
||||||
|
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-position: center;
|
||||||
|
background-size: 25%;
|
||||||
|
transition: all 0.3s ease;
|
||||||
|
outline: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
button:focus, button:active, button:hover {
|
||||||
|
background-color: rgba(152, 151, 26, 0.7);
|
||||||
|
color: #282828;
|
||||||
|
border-color: #98971a;
|
||||||
|
}
|
||||||
|
|
||||||
|
#lock {
|
||||||
|
background-image: image(url("/usr/share/wlogout/icons/lock.png"));
|
||||||
|
}
|
||||||
|
|
||||||
|
#logout {
|
||||||
|
background-image: image(url("/usr/share/wlogout/icons/logout.png"));
|
||||||
|
}
|
||||||
|
|
||||||
|
#suspend {
|
||||||
|
background-image: image(url("/usr/share/wlogout/icons/suspend.png"));
|
||||||
|
}
|
||||||
|
|
||||||
|
#hibernate {
|
||||||
|
background-image: image(url("/usr/share/wlogout/icons/hibernate.png"));
|
||||||
|
}
|
||||||
|
|
||||||
|
#shutdown {
|
||||||
|
background-image: image(url("/usr/share/wlogout/icons/shutdown.png"));
|
||||||
|
}
|
||||||
|
|
||||||
|
#reboot {
|
||||||
|
background-image: image(url("/usr/share/wlogout/icons/reboot.png"));
|
||||||
|
}
|
||||||
|
|
||||||
|
button label {
|
||||||
|
padding-top: 120px;
|
||||||
|
color: inherit;
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
@ -0,0 +1,3 @@
|
|||||||
|
[preferred]
|
||||||
|
default=hyprland;gtk
|
||||||
|
org.freedesktop.impl.portal.FileChooser=kde
|
||||||
Loading…
Reference in New Issue
Block a user