Skip to content

Latest commit

 

History

History
1357 lines (1227 loc) · 39.8 KB

Desktop.org

File metadata and controls

1357 lines (1227 loc) · 39.8 KB

Desktop

  • M-x org-babel-tangle

Install AUR helper

pacman -S --needed git base-devel
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si

Dotfiles

alacritty

alacritty.yml

font:
  normal:
    family: Hack
    style: Regular

  bold:
    family: Hack
    style: Bold

  italic:
    family: Hack
    style: Italic

  bold_italic:
    family: Hack
    style: Bold Italic

  size: 14

# Colors (Dracula)
colors:
  # Default colors
  primary:
    background: '0x282a36'
    foreground: '0xf8f8f2'

    # Bright and dim foreground colors
    #
    # The dimmed foreground color is calculated automatically if it is not present.
    # If the bright foreground color is not set, or `draw_bold_text_with_bright_colors`
    # is `false`, the normal foreground color will be used.
    #dim_foreground: '0x9a9a9a'
    #bright_foreground: '0xffffff'

  # Cursor colors
  #
  # Colors which should be used to draw the terminal cursor. If these are unset,
  # the cursor color will be the inverse of the cell color.
  cursor:
    text: '0x44475a'
    cursor: '0xf8f8f2'

  # Selection colors
  #
  # Colors which should be used to draw the selection area. If selection
  # background is unset, selection color will be the inverse of the cell colors.
  # If only text is unset the cell text color will remain the same.
  selection:
    text: '0xf8f8f2'
    background: '0x44475a'

  # Normal colors
  normal:
    black:   '0x000000'
    red:     '0xff5555'
    green:   '0x50fa7b'
    yellow:  '0xf1fa8c'
    blue:    '0xbd93f9'
    magenta: '0xff79c6'
    cyan:    '0x8be9fd'
    white:   '0xbfbfbf'

  # Bright colors
  bright:
    black:   '0x4d4d4d'
    red:     '0xff6e67'
    green:   '0x5af78e'
    yellow:  '0xf4f99d'
    blue:    '0xcaa9fa'
    magenta: '0xff92d0'
    cyan:    '0x9aedfe'
    white:   '0xe6e6e6'

  # Dim colors
  #
  # If the dim colors are not set, they will be calculated automatically based
  # on the `normal` colors.
  dim:
    black:   '0x14151b'
    red:     '0xff2222'
    green:   '0x1ef956'
    yellow:  '0xebf85b'
    blue:    '0x4d5b86'
    magenta: '0xff46b0'
    cyan:    '0x59dffc'
    white:   '0xe6e6d1'

  # Indexed Colors
  #
  # The indexed colors include all colors from 16 to 256.
  # When these are not set, they're filled with sensible defaults.
  #
  # Example:
  #   `- { index: 16, color: '0xff00ff' }`
  #
  indexed_colors: []

mouse:
    hide_when_typing: true

bspwm

bspwmrc

#! /bin/sh
# autostart applications
# simple x hotkey daemon
sxhkd &
# wallpaper
nitrogen --set-scaled --save /data/Cloud/InstantUpload/OpenCamera/IMG_20210108_071757_HDR.jpg &
# statusbar
$HOME/.config/polybar/launch.sh &
# compositor
picom -CGb &
# wlan
sudo netctl start @home &
# redshift bluelight filter
redshift-gtk -l '47.7303:12.8816' &
# bluetooth
blueman-applet &
# wm fix phpstorm
wmname LG3D &
# dunst
dunst &
# fusuma (gestures)
fusuma &
# nextcloud
nextcloud &
# emacs
emacs &

# set workspaces
bspc monitor -d 1 2 3 4 5 6 7 8 9 0

# style
bspc config border_width          3
bspc config window_gap            0
bspc config bottom_padding        0

bspc config borderless_monocle    true
bspc config gapless_monocle       false
bspc config single_monocle        true

bspc config normal_border_color "#282a36"
bspc config focused_border_color "#50fa7b"
bspc config urgent_border_color "#282a36"
bspc config presel_border_color "#282a36"

bspc config ignore_ewmh_focus true

bspc rule -a Firefox follow=false
bspc rule -a Emacs state=tiled

dunst

dunstrc

[global]
    monitor = 0
    follow = mouse
    geometry = "300x5-30+20"
    indicate_hidden = yes
    shrink = no
    transparency = 0
    notification_height = 0
    separator_height = 2
    padding = 8
    horizontal_padding = 8
    frame_width = 3
    frame_color = "#ffffff"
    separator_color = frame
    sort = yes
    idle_threshold = 120
    font = Hack Nerd Font 12
    line_height = 0
    markup = full
    format = "<b>%s</b>\n%b"
    alignment = left
    show_age_threshold = 60
    word_wrap = yes
    ellipsize = middle
    ignore_newline = no
    stack_duplicates = true
    hide_duplicate_count = false
    show_indicators = yes
    icon_position = off
    max_icon_size = 32
    icon_path = /usr/share/icons/Papirus/16x16/devices:/usr/share/icons/Papirus/16x16/status
    sticky_history = yes
    history_length = 20
    dmenu = /usr/bin/dmenu -p dunst:
    browser = /usr/bin/firefox -new-tab
    always_run_script = true
    title = Dunst
    class = Dunst
    startup_notification = false
    verbosity = mesg
    corner_radius = 0
    force_xinerama = false
    mouse_left_click = close_current
    mouse_middle_click = do_action
    mouse_right_click = close_all

[experimental]
    per_monitor_dpi = false

[shortcuts]
    close = ctrl+space
    close_all = ctrl+shift+space
    history = ctrl+grave
    context = ctrl+shift+period

[urgency_low]
    background = "#222222"
    foreground = "#888888"
    timeout = 10

[urgency_normal]
    background = "#285577"
    foreground = "#ffffff"
    timeout = 10

[urgency_critical]
    background = "#900000"
    foreground = "#ffffff"
    frame_color = "#ff0000"
    timeout = 0

fusuma

config.yml

swipe:
  3:
    left:
      command: "bspc desktop -f next"
    right:
      command: "bspc desktop -f prev"

neovim

init.vim (vscode)

"                          _
"   ____  ___  ____ _   __(_)___ ___
"  / __ \/ _ \/ __ \ | / / / __ `__ \
" / / / /  __/ /_/ / |/ / / / / / / /
"/_/ /_/\___/\____/|___/_/_/ /_/ /_/
"
"SETTINGS {{{
set colorcolumn=81                         "set visual ruler for the 81th column
set ruler                                          "always show current position
set magic                                 "for regular expressions turn magic on
set equalalways                                                "same split sizes
set number                                                    "show line numbers
set ignorecase                                               "ignore search case
set smartcase             "disable ignorecase when the first letter is uppercase
set expandtab             "expandtab, instead of tab, do the same range as space
set tabstop=4                                                    "define tabstop
set softtabstop=4                                          "define soft tabstops
set shiftwidth=4                                                     "shiftwidth
set smartindent                                                    "smart indent
set cursorline                                           "highlight current line
set showmatch                                       "highlight matching brackets
set lazyredraw                                         "redraw only if necessary
set nobackup                         "no backup files (auto save file is enough)
set nowritebackup                                               "no write backup
set noswapfile                         "no swap files (auto save file is enough)
set clipboard+=unnamedplus                                    "global copy/paste
set mouse=                                                    "disable gui mouse
set updatetime=400                               "update time 1s for auto saving
set foldmethod=marker                                           "set fold marker
set splitbelow splitright                  "open horizontal splits at the bottom
set completeopt=menu,noinsert       "set the first suggestion but dont insert in
set completeopt-=preview             "don't open the preview split for functions
set nohlsearch                                      "disable search highlighting
set incsearch
set hidden                                                         "for TextEdit
set shortmess+=c                        "don't give ins-completion-menu messages
set signcolumn=yes                                      "always show signcolumns
set termguicolors                                     "enable true color support
set noshowmode                              "dont show mode (lightline shows it)
"use persistent history
if !isdirectory("/tmp/.vim-undo-dir")
    call mkdir("/tmp/.vim-undo-dir", "", 0700)
endif
set undodir=/tmp/.vim-undo-dir                                      "set undodir
set undofile                                                "set persistent undo
"}}}
" MAPPINGS_VISUAL_MODE {{{
"move highlighted lines up
xnoremap K :m '<-2<cr>gv=gv

"move highlighted lines down
xnoremap J :m '>+1<cr>gv=gv

"bind p in visual mode to paste without overriding the current register
xnoremap p pgvy
xmap gc  <Plug>VSCodeCommentary
nmap gc  <Plug>VSCodeCommentary
omap gc  <Plug>VSCodeCommentary
nmap gcc <Plug>VSCodeCommentaryLine

"}}}

init.vim (backup)

"                          _
"   ____  ___  ____ _   __(_)___ ___
"  / __ \/ _ \/ __ \ | / / / __ `__ \
" / / / /  __/ /_/ / |/ / / / / / / /
"/_/ /_/\___/\____/|___/_/_/ /_/ /_/
"
"SETTINGS {{{
set colorcolumn=81                         "set visual ruler for the 81th column
set ruler                                          "always show current position
set magic                                 "for regular expressions turn magic on
set equalalways                                                "same split sizes
set number                                                    "show line numbers
set relativenumber                                    "set relative number scope
set ignorecase                                               "ignore search case
set smartcase             "disable ignorecase when the first letter is uppercase
set expandtab             "expandtab, instead of tab, do the same range as space
set tabstop=4                                                    "define tabstop
set softtabstop=4                                          "define soft tabstops
set shiftwidth=4                                                     "shiftwidth
set smartindent                                                    "smart indent
set cursorline                                           "highlight current line
set showmatch                                       "highlight matching brackets
set lazyredraw                                         "redraw only if necessary
set nobackup                         "no backup files (auto save file is enough)
set nowritebackup                                               "no write backup
set noswapfile                         "no swap files (auto save file is enough)
set clipboard+=unnamedplus                                    "global copy/paste
set mouse=                                                    "disable gui mouse
set updatetime=400                               "update time 1s for auto saving
set foldmethod=marker                                           "set fold marker
set splitbelow splitright                  "open horizontal splits at the bottom
set completeopt=menu,noinsert       "set the first suggestion but dont insert in
set completeopt-=preview             "don't open the preview split for functions
set nohlsearch                                      "disable search highlighting
set incsearch
set hidden                                                         "for TextEdit
set shortmess+=c                        "don't give ins-completion-menu messages
set signcolumn=yes                                      "always show signcolumns
set termguicolors                                     "enable true color support
set noshowmode                              "dont show mode (lightline shows it)
"use persistent history
if !isdirectory("/tmp/.vim-undo-dir")
    call mkdir("/tmp/.vim-undo-dir", "", 0700)
endif
set undodir=/tmp/.vim-undo-dir                                      "set undodir
set undofile                                                "set persistent undo
"}}}
" FUNCTIONS {{{
"less auto compile
function! LessCSSCompress()
    "blog
    "cal system('lessc ./blog/assets/style/main.less ./blog/assets/style/main.css')
    "con6
    cal system('lessc ./webroot/less/main.less ./webroot/less/main.css')
endfunction

"maximize split toggle
function! MaximizeToggle()
    if exists("s:maximize_session")
        exec "source " . s:maximize_session
        call delete(s:maximize_session)
        unlet s:maximize_session
        let &hidden=s:maximize_hidden_save
        unlet s:maximize_hidden_save
    else
        let s:maximize_hidden_save = &hidden
        let s:maximize_session = tempname()
        set hidden
        exec "mksession! " . s:maximize_session
        only
    endif
endfunction


" Terminal Function
let g:term_buf = 0
let g:term_win = 0
function! TermToggle(command, height)
    if win_gotoid(g:term_win)
        hide
    else
        botright new
        exec "resize " . a:height
        try
            exec "buffer " . g:term_buf
        catch
            call termopen(a:command, {"detach": 0})
            let g:term_buf = bufnr("")
            set nonumber
            set norelativenumber
            set signcolumn=no
        endtry
        startinsert!
        let g:term_win = win_getid()
    endif
endfunction

"}}}
" MAPPINGS_MAPLEADER {{{
let mapleader = " "
"}}}
" MAPPINGS_NORMAL_MODE {{{
"open ~/.config/nvim/init.vim in new tab
nnoremap <leader>ei :tabnew ~/.config/nvim/init.vim<CR>

"reload ~/.config/nvim/init.vim
nnoremap <leader>si :source ~/.config/nvim/init.vim<CR>

"which-key
"find
nnoremap <leader>ff :FZF<cr>
nnoremap <leader>fs :Ag<cr>
nnoremap <leader>fb :Buffers<cr>
nnoremap <leader>fh :History:<cr>
nnoremap <leader>fn :NERDTreeFind<cr>
nnoremap <leader>fc :Commits<cr>
"toggle
nnoremap <leader>tn :NERDTreeToggle<cr>
nnoremap <leader>tt :call TermToggle("/usr/bin/zsh", 12)<cr>
nnoremap <leader>tg :call TermToggle("/usr/bin/lazygit", 30)<cr>
nnoremap <leader>t+ :call MaximizeToggle()<cr>
" add
nnoremap <leader>ad "=strftime("%c")<cr>P

"remap fol and eol to work within wrapped lines
noremap  0 g^
noremap  $ g$

"faster split navigation
nnoremap <c-j> <c-w>j
nnoremap <c-k> <c-w>k
nnoremap <c-h> <c-w>h
nnoremap <c-l> <c-w>l

"}}}
" MAPPINGS_VISUAL_MODE {{{
"move highlighted lines up
xnoremap K :m '<-2<cr>gv=gv

"move highlighted lines down
xnoremap J :m '>+1<cr>gv=gv

"bind p in visual mode to paste without overriding the current register
xnoremap p pgvy

"}}}
" MAPPINGS_INSERT_MODE {{{
"pressing <enter> on autocompletion menu doesn't create a new line
inoremap <expr> <cr> ((pumvisible())?("\<C-y>"):("\<cr>"))

"toggle spell check to de_de
inoremap <F5> <C-\><C-O>:setlocal spelllang=de_de spell! spell?<CR>

"toggle spell check to en_us
inoremap <F6> <C-\><C-O>:setlocal spelllang=en_us spell! spell?<CR>

"remap jj to <esc>
inoremap jj <esc>

"}}}
" MAPPINGS_COMMAND_MODE {{{
"write protected files
cmap w!! %!sudo tee > /dev/null %
"}}}
" MAPPINGS_TERMINAL_MODE {{{
tnoremap <Esc> <C-\><C-n>
tnoremap :q <C-\><C-n>:q!<CR>
"}}}
" MAPPINGS_FILE_TYPES {{{
autocmd FileType less nmap <buffer> <leader>c :call LessCSSCompress()<cr>
"}}}
" AUTOCMD {{{
"auto save files
autocmd CursorHold,CursorHoldI * update
autocmd TextChanged,TextChangedI <buffer> silent write

"split highlight
augroup SplitHighlight
    autocmd!
    autocmd WinEnter * setlocal cursorline
    autocmd WinLeave * setlocal nocursorline
augroup END

"highlight all matches when in search mode
augroup vimrc-incsearch-highlight
    autocmd!
    autocmd CmdlineEnter [/\?] :set hlsearch
    autocmd CmdlineLeave [/\?] :set nohlsearch
augroup END

"when term starts, auto go into insert mode
autocmd TermOpen * startinsert

"when term starts, turn off line numbers etc
autocmd TermOpen * setlocal listchars= nonumber norelativenumber

let g:markdown_folding=1
au FileType markdown setlocal foldlevel=99

"}}}
" MISCELLANEOUS_NICE {{{
"jump to last known buffers cursor position when reopening, if possible
if has("autocmd")
    au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$") | exe "normal! g`\"" | endif
endif
"}}}
" PLUGINS_AUTOINSTALL {{{
"auto installs the vim-plug plugin manager if needed
if empty(glob('~/.config/nvim/autoload/plug.vim'))
    silent !curl -fLo ~/.config/nvim/autoload/plug.vim --create-dirs
                \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
    autocmd!
    autocmd VimEnter * PlugInstall
endif
"}}}
" PLUGINS_DEFAULT {{{
call plug#begin('~/.local/share/nvim/plugged')
Plug '~/.fzf' "Fuzzy file finder dir
Plug 'junegunn/fzf.vim' "Fuzzy file finder
Plug 'tmhedberg/matchit' "Extended % matching for HTML, LaTeX...
Plug 'tpope/vim-fugitive' "Needed for gv.vim
Plug 'tpope/vim-surround' "Surroundings: parentheses, brackets, quotes, XML tags, and more
Plug 'Raimondi/delimitMate' "Provides insert mode auto-completion for quotes, parens, brackets, etc.
Plug 'tpope/vim-commentary' "Comment stuff out and in
Plug 'plasticboy/vim-markdown' "Better markdown defaults
Plug 'neoclide/coc.nvim', {'branch': 'release'} "Lsp
Plug 'iamcco/markdown-preview.nvim', { 'do': 'cd app && yarn install'  }
"}}}
" PLUGINS_INTERFACE {{{
Plug 'junegunn/goyo.vim' "Distraction-free writin
Plug 'Yggdroot/indentLine' "Display indention levels
Plug 'scrooloose/nerdtree' "File Viewer
Plug 'itchyny/lightline.vim' "Statusline
Plug 'kshenoy/vim-signature' "Make marks visible in the gutter
Plug 'ryanoasis/vim-devicons' "Icons
Plug 'airblade/vim-gitgutter' "Git annotations beside line numbers
Plug 'liuchengxu/vim-which-key' "vim-which-key is vim port of emacs-which-key that displays available keybindings in popup
Plug 'gorodinskiy/vim-coloresque' "Show hex colors
Plug 'Xuyuanp/nerdtree-git-plugin' "Git integration for NERDTree
Plug 'ntpeters/vim-better-whitespace' "Show trailing whitespace
Plug 'nvim-treesitter/nvim-treesitter' "Better syntax highlighting
Plug 'junegunn/rainbow_parentheses.vim' "Rainbow parentheses
Plug 'dracula/vim', { 'as': 'dracula' } "Dracula Color Theme
Plug 'tiagofumo/vim-nerdtree-syntax-highlight' "Extra syntax and highlight for nerdtree files
"}}}
" PLUGINS_PHP {{{
"Plug 'StanAngeloff/php.vim' "Better syntax highlighting
Plug 'phpactor/phpactor', {'for': 'php', 'do': 'composer install'} "Some nice tools for php development
"}}}
" PLUGINS_TWIG {{{
Plug 'lumiliet/vim-twig' "Better syntax highlighting
"}}}
" PLUGINS_DART_FLUTTER {{{
Plug 'thosakwe/vim-flutter' "Vim commands for Flutter, including hot-reload-on-save and more
Plug 'dart-lang/dart-vim-plugin' "dart-vim-plugin provides filetype detection, syntax highlighting, and indentation for Dart code in Vim
" }}}
" PLUGINS_MIXED {{{
Plug 'mattn/emmet-vim', {'for': ['html', 'twig', 'php', 'js']} "Code completion for html/php
"}}}
" PLUGINS_END {{{
call plug#end()
"}}}
" PLUGINS_CONFIGURATION_LIGHTLINE_VIM {{{
let g:lightline = {
            \ 'colorscheme': 'dracula',
            \ 'active': {
            \   'left': [ [ 'mode', 'paste' ],
            \             [ 'coc-status', 'gitbranch', 'readonly', 'filename', 'modified' ] ]
            \ },
            \ 'component_function': {
            \   'gitbranch': 'fugitive#head',
            \   'cocstatus': 'coc#status'
            \ },
            \ }
"}}}
" PLUGINS_CONFIGURATION_COC.NVIM {{{
" Use <c-space> to trigger completion.
inoremap <silent><expr> <c-space> coc#refresh()

" Use K to show documentation in preview window
nnoremap <silent> K :call <SID>show_documentation()<CR>

function! s:show_documentation()
    if (index(['vim','help'], &filetype) >= 0)
        execute 'h '.expand('<cword>')
    else
        call CocAction('doHover')
    endif
endfunction

" Remap keys for gotos
nmap <silent> gd <Plug>(coc-definition)
nmap <silent> gy <Plug>(coc-type-definition)
nmap <silent> gi <Plug>(coc-implementation)
nmap <silent> gr <Plug>(coc-references)
nmap <silent> ge <Plug>(coc-diagnostic-next)
nmap <silent> gE <Plug>(coc-diagnostic-prev)

" Highlight symbol under cursor on CursorHold
autocmd CursorHold * silent call CocActionAsync('highlight')

" Remap for rename current word
nmap <leader>rn <Plug>(coc-rename)

" Use `:Format` to format current buffer and substitute to delete all
" whitespace, also indent the current buffer, remember position and center
" current line
command! -nargs=0 Format :call CocAction('format')
nnoremap <a-l> ma:Format<cr>:%s/\s\+$//e<cr>`admazz

" Show outline
nmap <C-F12> :<C-u>CocList outline<cr>

" Add status line support, for integration with other plugin, checkout `:h coc-status`
set statusline^=%{coc#status()}%{get(b:,'coc_current_function','')}

" Coc plugins mappings
imap <C-j> <Plug>(coc-snippets-expand-jump)
"}}}
" PLUGINS_CONFIGURATION_FZF.VIM {{{
"jump to existing buffer if possible
let g:fzf_buffers_jump = 1

set wildmode=list:longest,list:full
set wildignore+=*.o,*.obj,.git,*.rbc,*.pyc,__pycache__
let $FZF_DEFAULT_COMMAND =  "find * -path '*/\.*' -prune -o -path 'node_modules/**' -prune -o -path 'target/**' -prune -o -path 'dist/**' -prune -o  -type f -print -o -type l -print 2> /dev/null"

" The Silver Searcher
if executable('ag')
    let $FZF_DEFAULT_COMMAND = 'ag --hidden --ignore .git -g ""'
    set grepprg=ag\ --nogroup\ --nocolor
endif

let g:fzf_action = {
            \ 'ctrl-t': 'tab split',
            \ 'ctrl-x': 'split',
            \ 'ctrl-v': 'vsplit' }

""let g:fzf_layout = { 'window': { 'width': 0.9, 'height': 0.6 } }
"let $FZF_DEFAULT_OPTS='--layout=reverse'
"}}}
" PLUGINS_CONFIGURATION_VIM-COLORS-DRACULA {{{
colorscheme dracula
"}}}
" PLUGINS_CONFIGURATION_NERDTREE {{{
map <leader><space> :NERDTreeToggle<CR>
let NERDTreeQuitOnOpen=1

"Close NERDTree when the only left buffer is NERDTree
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif

"Minimal UI
let NERDTreeMinimalUI=1
"}}}
" PLUGINS_CONFIGURATION_PHPACTOR {{{
" Include use statement
nmap <Leader>u :call phpactor#UseAdd()<CR>

" Invoke the context menu
nmap <Leader>mm :call phpactor#ContextMenu()<CR>
"}}}
" PLUGINS_CONFIGURATION_VIM_MARKDOWN {{{
" let g:vim_markdown_folding_disabled = 1
" let g:vim_markdown_conceal = 0
" let g:vim_markdown_conceal_code_blocks = 0
" }}}
" PLUGINS_CONFIGURATION_VIM_WHICH_KEY {{{
nnoremap <silent> <leader> :WhichKey '<Space>'<CR>
let g:which_key_map =  {}
let g:which_key_map.f = { 'name' : '+file' }
" }}}
" PLUGINS_CONFIGURATION_NVIM_TREESITTER {{{
lua << EOF
require'nvim-treesitter.configs'.setup {
  ensure_installed = "maintained", -- one of "all", "maintained" (parsers with maintainers), or a list of languages
  highlight = {
    enable = true,              -- false will disable the whole extension
  },
}
EOF
" }}}

coc-settings.json

{
    "coc.preferences.useQuickfixForLocations": true,
    "diagnostic.warningSign": "",
    "diagnostic.errorSign": "",
    "diagnostic.infoSign": "",
    "diagnostic.hintSign": "",
    "suggest.completionItemKindLabels": {
        "keyword": "\uf1de",
        "variable": "\ue79b", "value": "\uf89f",
        "operator": "\u03a8",
        "function": "\u0192",
        "reference": "\ufa46",
        "constant": "\uf8fe",
        "method": "\uf09a",
        "struct": "\ufb44",
        "class": "\uf0e8",
        "interface": "\uf417",
        "text": "\ue612",
        "enum": "\uf435",
        "enumMember": "\uf02b",
        "module": "\uf40d",
        "color": "\ue22b",
        "property": "\ue624",
        "field": "\uf9be",
        "unit": "\uf475",
        "event": "\ufacd",
        "file": "\uf723",
        "folder": "\uf114",
        "snippet": "\ue60b",
        "typeParameter": "\uf728",
        "default": "\uf29c"
    },
    "languageserver": {
        "intelephense": {
            "command": "intelephense",
            "args": [
                "--stdio"
            ],
            "filetypes": [
                "php"
            ],
            "initializationOptions": {
                "storagePath": "/tmp/intelephense"
            }
        }
    }
}

snippets

php.snippets

snippet t "this->"
$this->$1
endsnippet

picom

picom.conf

shadow = false;
no-dnd-shadow = true;
no-dock-shadow = true;
clear-shadow = false;

polybar

config

[colors]
background = #E0282a36
background-alt = #073642
foreground = #ffb86c
foreground-alt = #ffffff
primary = #ffb52a
secondary = #e60053
alert = #bd2c40
red = #dc322f

[bar/cerebrum]
top = true
width = 100%
height = 30
radius = 0.0
fixed-center = true
background = ${colors.background}
foreground = ${colors.foreground}
border-size = 0
line-size = 5
border-color = #00000000
padding-left = 0
padding-right = 2
module-margin-left = 2
module-margin-right = 2
font-0 = FontAwesome:size=13;0
font-1 = Hack:pixelsize=13;0
modules-left = bspwm
modules-center =
modules-right = alsa wlan cpu memory eth temperature_cpu temperature_gpu root data arch-updates battery date
tray-position = right
tray-padding = 5
cursor-click = pointer
cursor-scroll = ns-resize
wm-restack = bspwm
margin-top = 0

[module/temperature_cpu]
type = internal/temperature
thermal-zone = 5
warn-temperature = 85
format = <ramp> <label>
format-underline = #ffffff
format-warn = <ramp> <label-warn>
format-warn-underline = ${self.format-underline}
label =  CPU %temperature%
label-warn =  CPU %temperature%
label-warn-foreground =  #bd93f9
label-foreground = #bd93f9
ramp-0 = 
ramp-1 = 
ramp-2 = 
ramp-foreground = ${colors.foreground-alt}

[module/temperature_gpu]
type = internal/temperature
thermal-zone = 4
warn-temperature = 85
format = <ramp> <label>
format-underline = #ffffff
format-warn = <ramp> <label-warn>
format-warn-underline = ${self.format-underline}
label =  GPU %temperature%
label-warn =  GPU %temperature%
label-warn-foreground =  #bd93f9
label-foreground = #bd93f9
ramp-0 = 
ramp-1 = 
ramp-2 = 
ramp-foreground = ${colors.foreground-alt}

[module/arch-updates]
type = custom/script
exec = ~/.config/polybar/scripts/arch-updates.sh
interval = 60
format-underline = #ffffff
format-foreground = #50fa7b

[module/root]
type = internal/fs
mount-0 = /
interval = 30
fixed-values = true
spacing = 4
label-mounted =  / %percentage_used%%
label-mounted-foreground = #f1fa8c
line-size = 0
format-mounted-underline = #ffffff

[module/data]
type = internal/fs
mount-0 = /data
interval = 30
fixed-values = true
spacing = 4
label-mounted =  /data %percentage_used%%
label-mounted-foreground = #f1fa8c
line-size = 0
format-mounted-underline = #ffffff

[module/bspwm]
type = internal/bspwm
label-focused = %index%
label-focused-background = #282a36
label-focused-foreground = #50fa7b
label-focused-underline= #ffb52a
label-focused-padding = 2
label-occupied = %index%
label-occupied-foreground = #50fa7b
label-occupied-padding = 2
label-urgent = %index%
label-urgent-background = #50fa7b
label-urgent-padding = 2
label-empty = %index%
label-empty-foreground = #ffffff
label-empty-padding = 2

[module/cpu]
type = internal/cpu
interval = 1
format-prefix =
format =  <label> <ramp-coreload>
format-prefix-foreground = ${colors.foreground-alt}
format-underline = #ffffff
label = %percentage:2%%
ramp-coreload-spacing = 0
ramp-coreload-font = 3
ramp-coreload-0 = ▁
ramp-coreload-1 = ▂
ramp-coreload-2 = ▃
ramp-coreload-3 = ▄
ramp-coreload-4 = ▅
ramp-coreload-5 = ▆
ramp-coreload-6 = ▇
ramp-coreload-7 = █

[module/memory]
type = internal/memory
interval = 5
format-prefix-foreground = ${colors.foreground-alt}
label =  %percentage_used%%
label-foreground = #50fa7b
format-underline = #ffffff

[module/wlan]
type = internal/network
interface = wlo1
interval = 1
format-connected = <label-connected>
format-connected-underline = #ffffff
label-connected = 
label-connected-foreground = #ff79c6
format-disconnected = offline


[module/date]
type = internal/date
interval = 15
date = %y%m%d
time = %H:%M
format-prefix = 
format-prefix-foreground = ${colors.foreground-alt}
label =   %date%  %time%
label-foreground = #ffffff
line-size = 0
format-underline = #ffffff

[module/alsa]
type = internal/alsa
format-volume = <label-volume>
label-volume = " %percentage%%"
label-volume-foreground = #8be9fd
format-muted-foreground = ${colors.foreground-alt}
label-muted = " muted"
format-volume-underline = #ffffff
format-muted-underline = #12345

[module/battery]
type = internal/battery
battery = BAT1
adapter = AC
full-at = 100
format-charging = <animation-charging> <label-charging>
format-charging-underline = #ffffff
format-charging-foreground = #8be9fd
format-discharging = <ramp-capacity> <label-discharging>
format-discharging-underline = #ffffff
format-discharging-foreground = #8be9fd
format-full-underline= #ffffff
format-full-foreground = #8be9df
label-charging = %percentage%%
label-discharging = %percentage%%
label-full =  
ramp-capacity-0 = 
ramp-capacity-1 = 
ramp-capacity-2 = 
ramp-capacity-3 = 
ramp-capacity-4 = 
bar-capacity-width = 10
animation-charging-0 = 
animation-charging-1 = 
animation-charging-2 = 
animation-charging-3 = 
animation-charging-4 = 
animation-charging-framerate = 750
animation-discharging-0 = 
animation-discharging-1 = 
animation-discharging-2 = 
animation-discharging-3 = 
animation-discharging-4 = 
animation-discharging-framerate = 500

launch.sh

#! /usr/bin/env sh

killall -q polybar

while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done

MONITOR=eDP-1-1 polybar --reload cerebrum &

scripts

arch-updates.sh

#!/bin/sh

if ! updates_arch=$(checkupdates 2> /dev/null | wc -l ); then
    updates_arch=0
fi

if ! updates_aur=$(yay -Qum 2> /dev/null | wc -l); then
    updates_aur=0
fi

updates=$(("$updates_arch" + "$updates_aur"))

echo "$updates"

sxhkd

sxhkdrc

## Application hotkeys Run rofi application launcher
super + d
   dmenu_run

# Run rofi window switcher
super + w rofi -location 0 -show window -display-window '' -show-icons -icon-theme papirus

# Terminal emulator
super + Return
    alacritty

# Open firefox
super + shift + Return
    qutebrowser

# File manager
super + e
    thunar

# Ping
shift + F9
    mh-ping

# Screenshot
shift + Print
    gnome-screenshot --interactive

# Toggle touchpad
super + F4
    sh ~/.doom.d/scripts/toggle-touchpad.sh

## Media keys
# Volume
super + F2
    pactl set-sink-volume 0 +1%
super + F1
    pactl set-sink-volume 0 -1%
super + F3
    pactl set-sink-mute 0 toggle

# Screen backlight
super + shift + F2
    sudo light -A 5
super + shift + F1
    sudo light -U 5
super + shift + F3
    sudo light -S 100


## sxhkd hotkeys
# Reload sxhkd configuration files
super + Escape
    pkill -USR1 -x sxhkd


## bspwm hotkeys
# Restart bspwm
super + shift + r
    killall redshift && bspc wm -r

# Quit bspwm
super + shift + e
    bspc quit

# Close and kill
super + {shift, alt} + q
    bspc node -{c, k}

# Alternate between the tiled and monocle layout
super + m
    bspc desktop -l next

# Send the newest marked node to the newest preselected node
super + y
    bspc node newest.marked.local -n newest.!automatic.local

# Swap the current node and the biggest node
super + g
    bspc node -s biggest


## State/flags
# Set the window state
super + {t,shift + t,s,f}
    bspc node -t {tiled,pseudo_tiled,floating,fullscreen}

# Set the node flags
super + ctrl + {m,x,y,z}
    bspc node -g {marked,locked,sticky,private}


## Focus/swap
# Focus the node in the given direction
super + {_,shift + }{h,j,k,l}
    bspc node -{f,s} {west,south,north,east}

# Focus the node for the given path jump
super + {p,b,comma,period}
    bspc node -f @{parent,brother,first,second}

# Focus the next/previous node in the current desktop
super + {_,shift + }n
    bspc node -f {next,prev}.local

# Focus the next/previous desktop in the current monitor
super + bracket{left,right}
    bspc desktop -f {prev,next}.local

# Focus the last node/desktop
super + {grave,Tab}
    bspc {node,desktop} -f last

# Focus the older or newer node in the focus history
super + {o,i}
    bspc wm -h off; \
    bspc node {older,newer} -f; \
    bspc wm -h on

# Focus or send to the given desktop
super + {_,shift + }{1-9,0}
    bspc {desktop -f,node -d} '^{1-9,10}'


## Preselect
# Preselect the direction
super + ctrl + {h,j,k,l}
    bspc node -p {west,south,north,east}

# Preselect the ratio
super + ctrl + {1-9}
    bspc node -o 0.{1-9}

# Cancel the preselection for the focused node
super + ctrl + space
    bspc node -p cancel

# Cancel the preselection for the focused desktop
super + ctrl + shift + space
    bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel


## Move/resize
# Expand a window by moving one of its side outward
super + alt + {h,j,k,l}
    bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0}

# Contract a window by moving one of its side inward
super + alt + shift + {h,j,k,l}
    bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0}

# Move a floating window
super + {Left,Down,Up,Right}
    bspc node -v {-20 0,0 20,0 -20,20 0}

zsh

zshrc

export ZSH="/home/siatwe/.oh-my-zsh"
export LC_ALL="en_US.UTF-8"
export EDITOR='nvim'
export UPDATE_ZSH_DAYS=30

export ANDROID_HOME=/opt/android-sdk
export PATH="$ANDROID_HOME/tools/bin:$ANDROID_HOME/platform-tools:$ANDROID_HOME/emulator:$PATH"

export PATH="$PATH:/home/siatwe/Projects/flutter/bin"
# set
ZSH_THEME="eastwood"
TERM=xterm-256color

#  plugins
plugins=(
    git
)

# aliases
alias ytd='youtube-dl --extract-audio --audio-format mp3 -i -o "%(title)s.%(ext)s" '
alias :q="exit"
alias 55="cd /data/55"
alias 53="cd /data/53"
alias pl="pacman -Qqe > ~/.package.list"
alias ping="ping -c 3"
alias ds="docker_start_restart"

# Oh my zsh
source $ZSH/oh-my-zsh.sh
# FZF
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
export FZF_DEFAULT_OPTS='--layout=reverse'

Scripts

#!/bin/bash
if xinput list-props 12 | grep "Device Enabled (186):	1" >/dev/null
then
    xinput disable 12
    notify-send -u low -i mouse "Trackpad disabled"
else
    xinput enable 12
    notify-send -u low -i mouse "Trackpad enabled"
fi

List all installed packages

pacman -Qqe