diff options
author | ZachIR <zachir@librem.one> | 2025-04-25 19:24:18 -0500 |
---|---|---|
committer | ZachIR <zachir@librem.one> | 2025-04-25 19:24:18 -0500 |
commit | bb8562117c6cb324c60e79847dfd50583e73f52a (patch) | |
tree | f3c9d92cf427aa712c7fb893256b525b72c45b44 | |
parent | e6e3c16bc3492d77063a1b1356ebb44d0e7e4ed5 (diff) | |
parent | b372316155d6ba4ee14f8fc63905d1368717b3cb (diff) |
Merge branch 'master' into car
-rw-r--r-- | gtk-2.0/gtkrc | 6 | ||||
-rw-r--r-- | gtk-3.0/settings.ini | 14 | ||||
-rw-r--r-- | hypr/hyprland.conf | 66 | ||||
-rw-r--r-- | nvim/init.lua | 5 | ||||
-rw-r--r-- | nvim/init.vim | 306 | ||||
-rw-r--r-- | nvim/lua/colorscheme.lua | 8 | ||||
-rw-r--r-- | nvim/lua/keymaps.lua | 97 | ||||
-rw-r--r-- | nvim/lua/options.lua | 32 | ||||
-rw-r--r-- | nvim/lua/plugins.lua | 106 | ||||
-rw-r--r-- | nvim/lua/term.lua | 51 | ||||
-rw-r--r-- | sh/aliases | 3 | ||||
-rw-r--r-- | sh/profile | 12 | ||||
-rw-r--r-- | vim/vimrc | 4 | ||||
-rw-r--r-- | waybar/config | 23 | ||||
-rw-r--r-- | waybar/style.css | 26 | ||||
-rw-r--r-- | xsettingsd/xsettingsd.conf | 2 | ||||
-rw-r--r-- | yay/config.json | 6 | ||||
-rw-r--r-- | zsh/zshrc | 8 |
18 files changed, 370 insertions, 405 deletions
diff --git a/gtk-2.0/gtkrc b/gtk-2.0/gtkrc index 3c97dc3..d0152f7 100644 --- a/gtk-2.0/gtkrc +++ b/gtk-2.0/gtkrc @@ -1,12 +1,12 @@ # DO NOT EDIT! This file will be overwritten by nwg-look. # Any customization should be done in ~/.gtkrc-2.0.mine instead. -gtk-theme-name="Flat-Remix-GTK-Green-Darkest" +gtk-theme-name="Flat-Remix-GTK-Red-Darkest" gtk-icon-theme-name="Cosmic" -gtk-font-name="Cantarell 11" +gtk-font-name="Noto Sans, 10" gtk-cursor-theme-name="BreezeX-Black" gtk-cursor-theme-size=32 -gtk-toolbar-style=GTK_TOOLBAR_ICONS +gtk-toolbar-style=3 gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR gtk-button-images=0 gtk-menu-images=0 diff --git a/gtk-3.0/settings.ini b/gtk-3.0/settings.ini index 85d3ba5..c597fa3 100644 --- a/gtk-3.0/settings.ini +++ b/gtk-3.0/settings.ini @@ -1,10 +1,10 @@ [Settings] -gtk-theme-name=Flat-Remix-GTK-Green-Darkest +gtk-theme-name=Flat-Remix-GTK-Red-Darkest gtk-icon-theme-name=Cosmic -gtk-font-name=Cantarell 11 +gtk-font-name=Noto Sans, 10 gtk-cursor-theme-name=BreezeX-Black gtk-cursor-theme-size=32 -gtk-toolbar-style=GTK_TOOLBAR_ICONS +gtk-toolbar-style=3 gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR gtk-button-images=0 gtk-menu-images=0 @@ -14,4 +14,10 @@ gtk-xft-antialias=1 gtk-xft-hinting=1 gtk-xft-hintstyle=hintslight gtk-xft-rgba=rgb -gtk-application-prefer-dark-theme=0 +gtk-application-prefer-dark-theme=1 +gtk-decoration-layout=icon:minimize,maximize,close +gtk-enable-animations=true +gtk-modules=colorreload-gtk-module +gtk-primary-button-warps-slider=true +gtk-sound-theme-name=ocean +gtk-xft-dpi=98304 diff --git a/hypr/hyprland.conf b/hypr/hyprland.conf index 5bd103d..cb14e19 100644 --- a/hypr/hyprland.conf +++ b/hypr/hyprland.conf @@ -68,7 +68,7 @@ input { disable_while_typing = true natural_scroll = false tap_button_map = "lrm" - clickfinger_behavior = false + clickfinger_behavior = true tap-to-click = true drag_lock = false tap-and-drag = true @@ -104,7 +104,7 @@ misc { disable_splash_rendering = true enable_swallow = true swallow_regex = ^(kitty)$ - swallow_exception_regex = ^(.*ueberzug|n?vim .*)$ + swallow_exception_regex = ^(wev|.*ueberzug|n?vi?m? .*)$ vfr = true vrr = 1 } @@ -163,8 +163,9 @@ master { special_scale_factor = 0.55 mfact = 0.55 # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more - new_status = inherit - new_on_top = true + new_status = slave + new_on_top = false + new_on_active = before #no_gaps_when_only = false orientation = left inherit_fullscreen = true @@ -191,37 +192,8 @@ plugin { # Example windowrule v1 # windowrule = float, ^(kitty)$ # Example windowrule v2 -# windowrulev2 = float, class:^(kitty)$, title:^(kitty)$ +# windowrule = float, class:^(kitty)$, title:^(kitty)$ # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more -windowrule = fullscreen, ^(Xephyr)$ -windowrule = float, title:^(LibreWolf - Choose User Profile)$ -windowrule = float, ^(xdg-desktop-portal-gtk) -windowrule = float, title:^(UNDERTALE)$ -windowrule = float, ^(Tk)$ -windowrule = float, ^(lxqt-policykit-agent)$ -windowrule = float, ^(Kdenlive)$ -windowrulev2 = stayfocused, title:^()$, class:^(steam)$ -windowrulev2 = minsize 1 1, title:^()$, class:^(steam)$ -windowrulev2 = stayfocused, title:^(menu)$,class:^(yabridge-host.exe.so)$ -windowrulev2 = minsize 1 1, title:^(menu)$,class:^(yabridge-host.exe.so)$ -windowrulev2 = float, class:^(yabridge-host.exe.so)$, title:^(menu)$ -windowrulev2 = float, floating:0, title:^(menu*) -windowrule = workspace 2, title:^(REAPER .*initializing.*)$ -windowrulev2 = tile, class:^(REAPER)$, title:^(.*REAPER v[0-9.]* - Licensed for personal/small business use)$ -windowrule = tile, ^(WebApp-Qobuz[0-9]*)$ -windowrulev2 = float, title:^(menu)$ -windowrulev2 = move cursor -50% -50%, class:^(yabridge-host.exe.so)$, title:^(menu)$ -#windowrulev2 = nofocus, class:^(yabridge-host.exe.so)$, title:^(\s*)$ -#windowrulev2 = move cursor -50% -50%, class:^(REAPER)$, title:^(Snap/Grid Settings)$ -#windowrulev2 = move cursor -50% -50%, class:^(REAPER)$, title:^(Routing for track [0-9]*)$ -#windowrulev2 = move cursor -50% -50%, class:^(REAPER)$, title:^(Metronome and pre-roll settings)$ -#windowrulev2 = move cursor -50% -50%, class:^(yabridge-host.exe.so)$, title:^(menu)$ -#windowrulev2 = nofocus, class:^(yabridge-host.exe.so)$, title:^(\s*)$ -#windowrulev2 = move cursor -50% -50%, class:^(yabridge-host.exe.so)$, title:^(\s*)$ -#windowrulev2 = move cursor -50% -50%, class:^(REAPER)$, title:^(Snap/Grid Settings)$ -#windowrulev2 = move cursor -50% -50%, class:^(REAPER)$, title:^(Routing for track [0-9]*)$ -#windowrulev2 = float, floating:0, title:^(menu)$ -#windowrulev2 = forceinput, title:^(menu)$ #}}} #{{{ Mods @@ -361,75 +333,75 @@ bind = $mainMod, Comma, exec, acpi-notify.sh #{{{ Scratchpads bind = $mainMod CONTROL, Z, exec, pypr toggle sphtop -$sphtop = ^(sphtop)$ +$sphtop = class:^(sphtop)$ windowrule = float,$sphtop windowrule = workspace special:sphtop silent,$sphtop windowrule = size 50% 50%,$sphtop windowrule = move 25% 25%,$sphtop bind = $mainMod CONTROL, X, exec, pypr toggle spterm -$spterm = ^(spterm)$ +$spterm = class:^(spterm)$ windowrule = float,$spterm -windowrule = workspace special:spterm silent,$dropterm +windowrule = workspace special:spterm silent,$spterm windowrule = size 50% 50%,$spterm windowrule = move 25% 25%,$spterm bind = $mainMod CONTROL, C, exec, pypr toggle sppmxr -$sppmxr = ^(sppmxr)$ +$sppmxr = class:^(sppmxr)$ windowrule = float,$sppmxr windowrule = workspace special:sppmxr silent,$sppmxr windowrule = size 50% 50%,$sppmxr windowrule = move 25% 25%,$sppmxr bind = $mainMod CONTROL, V, exec, pypr toggle spblue -$spblue = ^(spblue)$ +$spblue = class:^(spblue)$ windowrule = float,$spblue windowrule = workspace special:spblue silent,$spblue windowrule = size 50% 50%,$spblue windowrule = move 25% 25%,$spblue bind = $mainMod CONTROL, B, exec, pypr toggle spncmp -$spncmp = ^(spncmp)$ +$spncmp = class:^(spncmp)$ windowrule = float,$spncmp windowrule = workspace special:spncmp silent,$spncmp windowrule = size 50% 50%,$spncmp windowrule = move 25% 25%,$spncmp bind = $mainMod CONTROL, A, exec, pypr toggle spmutt -$spmutt = ^(spmutt)$ +$spmutt = class:^(spmutt)$ windowrule = float,$spmutt windowrule = workspace special:spmutt silent,$spmutt windowrule = size 50% 50%,$spmutt windowrule = move 25% 25%,$spmutt bind = $mainMod CONTROL, S, exec, pypr toggle spprof -$spprof = ^(spprof)$ +$spprof = class:^(spprof)$ windowrule = float,$spprof windowrule = workspace special:spprof silent,$spprof windowrule = size 50% 50%,$spprof windowrule = move 25% 25%,$spprof bind = $mainMod CONTROL, D, exec, pypr toggle spirss -$spirss = ^(spirss)$ +$spirss = class:^(spirss)$ windowrule = float,$spirss windowrule = workspace special:spirss silent,$spirss windowrule = size 50% 50%,$spirss windowrule = move 25% 25%,$spirss bind = $mainMod CONTROL, F, exec, pypr toggle sptodo -$sptodo = ^(sptodo)$ +$sptodo = class:^(sptodo)$ windowrule = float,$sptodo windowrule = workspace special:sptodo silent,$sptodo windowrule = size 50% 50%,$sptodo windowrule = move 25% 25%,$sptodo bind = $mainMod CONTROL, G, exec, pypr toggle sptrmc -$sptrmc = ^(sptrmc)$ +$sptrmc = class:^(sptrmc)$ windowrule = float,$sptrmc windowrule = workspace special:sptrmc silent,$sptrmc windowrule = size 50% 50%,$sptrmc windowrule = move 25% 25%,$sptrmc bind = $mainMod CONTROL, Q, exec, pypr toggle qpwgraph -$spqpwg = ^(org\.rncbc\.qpwgraph)$ +$spqpwg = class:^(org\.rncbc\.qpwgraph)$ windowrule = float,$spqpwg windowrule = workspace special:spqpwg silent,$spqpwg windowrule = size 50% 50%,$spqpwg windowrule = move 25% 25%,$spqpwg bind = $mainMod CONTROL, E, togglespecialworkspace, speasy -$speasy = ^(com\.github\.wwmm\.easyeffects)$ +$speasy = class:^(com\.github\.wwmm\.easyeffects)$ windowrule = float,$speasy windowrule = workspace special:speasy silent,$speasy windowrule = size 50% 50%,$speasy diff --git a/nvim/init.lua b/nvim/init.lua new file mode 100644 index 0000000..cf11420 --- /dev/null +++ b/nvim/init.lua @@ -0,0 +1,5 @@ +require('options') +require('keymaps') +require('plugins') +require('colorscheme') +require('term') diff --git a/nvim/init.vim b/nvim/init.vim deleted file mode 100644 index 812bf3e..0000000 --- a/nvim/init.vim +++ /dev/null @@ -1,306 +0,0 @@ -set runtimepath^=$XDG_CONFIG_HOME/vim -set runtimepath+=$XDG_DATA_HOME/vim -set runtimepath+=$XDG_CONFIG_HOME/vim/after - -set packpath^=$XDG_DATA_HOME/vim,$XDG_CONFIG_HOME/vim -set packpath+=$XDG_CONFIG_HOME/vim/after,$XDG_DATA_HOME/vim/after - -let g:netrw_home = $XDG_DATA_HOME."/vim" -call mkdir($XDG_DATA_HOME."/vim/spell", 'p') - -set backupdir=$XDG_STATE_HOME/vim/backup | call mkdir(&backupdir, 'p') -set directory=$XDG_STATE_HOME/vim/swap | call mkdir(&directory, 'p') -set undodir=$XDG_STATE_HOME/vim/undo | call mkdir(&undodir, 'p') -set viewdir=$XDG_STATE_HOME/vim/view | call mkdir(&viewdir, 'p') - -if !has('nvim') | set viminfofile=$XDG_STATE_HOME/vim/viminfo | endif - -" vimplugs {{{ -call plug#begin('~/.config/nvim/plugged') -" colorschemes {{{ -Plug 'tomasiser/vim-code-dark' " codedark color scheme -Plug 'flazz/vim-colorschemes' " meta-color scheme package -Plug 'tomasiser/vim-code-dark' " codedark color scheme -Plug 'flazz/vim-colorschemes' " meta-color scheme package -Plug 'ZachIndigo/vim-preglow' " my old color scheme -" }}} -" language support {{{ -Plug 'axvr/org.vim' " basic org markup language implementation -Plug 'ziglang/zig.vim' " zig programming language -Plug 'jdonaldson/vaxe' " haxe programming language -Plug 'xuhdev/vim-latex-live-preview', { 'for': 'tex' } " latex live preview support -Plug 'waycrate/swhkd-vim' " swhkd syntax highlighting -Plug 'HiPhish/guile.vim' " guile syntax highlighting -" }}} -" utility {{{ -Plug 'preservim/nerdtree' " directory tree interface -Plug 'Xuyuanp/nerdtree-git-plugin' " git status indicator for nerdtree -Plug 'PhilRunninger/nerdtree-visual-selection' " allows visual selection mode in nerdtree -Plug 'tpope/vim-fugitive' " git command interface -Plug 'junegunn/goyo.vim' " simplify the user interface (distraction-free) [BROKEN] -Plug 'junegunn/limelight.vim' " focus on single paragraph of text at a time -Plug 'vim-airline/vim-airline' " powerline the vim bottom bar -Plug 'nathanaelkane/vim-indent-guides' " indent guides for vim -Plug 'mhinz/vim-signify' " use signs to show diffs -Plug 'tpope/vim-endwise' " auto end functions/if statements -Plug 'tpope/vim-surround' " auto close stuff -Plug 'mattn/emmet-vim' " html css easy formating -Plug 'godlygeek/tabular' " Needed for vim-markdown -Plug 'plasticboy/vim-markdown' " Better markdown support -Plug 'ryanoasis/vim-devicons' " dev icons for nerdtree -" }}} -call plug#end() - -" }}} -" nvim options {{{ - -"" nvimrc: -"" General - -set showmatch " Highlight matching brace - -set number -set relativenumber - -colorscheme Dark2 - -set hlsearch " Highlight all search results -set smartcase " Enable smart-case search -set incsearch " Searches for strings incrementally - -set expandtab " Use spaces instead of tabs -set shiftwidth=2 " Number of auto-indent spaces -set smartindent " Enable smart-indent -set smarttab " Enable smart-tabs -set softtabstop=2 " Number of spaces per Tab - -"" Advanced -set ruler " Show row and column ruler information -set undolevels=1000 " Number of undo levels -set backspace=indent,eol,start " Backspace behaviour -filetype plugin indent on - -"" GUI Config -set guifont=mononoki\ Nerd\ Font\ Mono:h12 - -"hi Normal guibg=NONE ctermbg=NONE -"hi NonText guibg=NONE ctermbg=NONE -"set background=dark - -set foldmethod=marker - -set conceallevel=2 - -" set leader key - -let mapleader="'" - -" emmet {{{ -let g:user_emmet_leader_key='<C-a>' -" }}} - -" zig config {{{ -let g:zig_fmt_autosave = 1 -" }}} - -" latex live preview {{{ -let g:livepreview_previewer = 'zathura' -let g:livepreview_use_biber = 1 -let g:livepreview_cursorhold_recompile = 0 -" }}} - -" vim-markdown {{{ -let g:vim_markdown_folding_disabled = 1 -let g:vim_markdown_folding_level = 3 -let g:vim_markdown_toc_autofit = 1 -let g:vim_markdown_emphasis_multiline = 0 -let g:tex_conceal = "" -let g:vim_markdown_math = 1 -let g:vim_markdown_conceal_code_blocks = 1 -let g:vim_markdown_fenced_languages = ['c++=cpp', 'viml=vim', 'bash=sh', 'ini=dosini'] -let g:vim_markdown_follow_anchor = 1 -let g:vim_markdown_math = 1 -let g:vim_markdown_frontmatter = 1 -let g:vim_markdown_toml_frontmatter = 1 -let g:vim_markdown_strikethrough = 1 -let g:vim_markdown_no_extensions_in_markdown = 1 -let g:vim_markdown_autowrite = 1 -let g:vim_markdown_auto_insert_bullets = 0 -let g:vim_markdown_new_list_item_indent = 0 -let g:vim_markdown_edit_url_in = 'tab' -" }}} - -" NERDTree config {{{ -let g:NERDTreeGitStatusUseNerdFonts = 1 " use nerd fonts -let g:NERDTreeGitStatusShowClean = 1 " default: 0 -let g:NERDTreeDirArrowExpandable = '>' -let g:NERDTreeDirArrowCollapsible = '<' -let g:NERDTreeMapToggleHidden = 'z' -" }}} - -" Goyo config {{{ -let g:goyo_width = '90%' -let g:goyo_height = '100%' -" }}} - -" limelight config {{{ -let g:limelight_conceal_ctermfg = 'gray' -let g:limelight_conceal_guifg = 'gray' -" }}} - -" devicon config {{{ -let g:airline_powerline_fonts = 1 -let g:webdevicons_enable_nerdtree = 1 -" }}} - -" vim-indent-guides config {{{ -let g:indent_guides_enable_on_vim_startup = 0 -" }}} - -" vim-signify config {{{ -set updatetime=100 -" }}} - -" }}} -" Functions {{{ -" Goyo functions {{{ -function! s:goyo_enter() - if executable('tmux') && strlen($TMUX) - silent !tmux set status off - silent !tmux list-panes -F '\#F' | grep -q Z || tmux resize-pane -Z - endif - set noshowmode - set noshowcmd - set scrolloff=999 - Limelight - NERDTreeClose -endfunction -function! s:goyo_leave() - if executable('tmux') && strlen('$TMUX') - silent !tmux set status on - silent !tmux list-panes -F '\#F' | grep -q Z && tmux resize-pane -Z - endif - set showmode - set showcmd - set scrolloff=5 - Limelight! - NERDTree -endfunction -" }}} -" }}} -" Autocommands {{{ -" Goyo autocommands {{{ -autocmd! User GoyoEnter nested call <SID>goyo_enter() -autocmd! User GoyoLeave nested call <SID>goyo_leave() -" }}} -" NERDTree autocmds {{{ -autocmd StdinReadPre * let s:std_in=1 -autocmd VimEnter * if argc() == 0 && !exists('s:std_in') | NERDTree | wincmd p | endif -autocmd VimEnter * if argc() == 1 && isdirectory(argv()[0]) && !exists('s:std_in') | - \ execute 'NERDTree' argv()[0] | wincmd p | enew | execute 'cd '.argv()[0] | endif -autocmd BufEnter * if tabpagenr('$') == 1 && winnr('$') == 1 && exists('b:NERDTree') && b:NERDTree.isTabTree() | quit | endif -autocmd BufEnter * if winnr('$') == 1 && exists('b:NERDTree') && b:NERDTree.isTabTree() | quit | endif -"autocmd BufEnter * if bufname('#') =~ 'NERD_tree_\d\+' && bufname('%') !~ 'NERD_tree_\d\+' && winnr('$') > 1 | - "\ let buf=bufnr() | buffer# | execute "normal! \<C-W>w" | execute 'buffer;.buf | endif -autocmd BufWinEnter * if getcmdwintype() == '' | silent NERDTreeMirror | endif -" }}} -" custom augroup {{{ -augroup custom - autocmd! - "au BufEnter *.tex :LLPStartPreview - au BufEnter *.md :set textwidth=80 - au BufEnter *.ms :set textwidth=80 - "au BufEnter *.c :colo DevC++ - "au BufEnter *.h :colo DevC++ - "au BufEnter *.cc :colo DevC++ - "au BufEnter *.hh :colo DevC++ - "au BufEnter *.cpp :colo DevC++ - "au BufEnter *.hpp :colo DevC++ - au BufWritePost init.vim :source % - "au BufWritePost *.tex :make - au BufWritePost *sxhkdrc* :!pkill -USR1 -x sxhkd - au BufWritePost .Xresources :!xrdb ~/.Xresources - au BufWritePost .gitignore :!git add .gitignore -augroup end -" }}} -" }}} -" keybindings {{{ - -" direction keys - -inoremap <Down> <C-o>gj -inoremap <Up> <C-o>gk -inoremap <Home> <C-o>g<Home> -inoremap <End> <C-o>g<End> -vnoremap <Down> <C-o>gj -vnoremap <Up> <C-o>gk -vnoremap <Home> <C-o>g<Home> -vnoremap <End> <C-o>g<End> -nnoremap <Down> gj -nnoremap <Up> gk - -" clear search highlights -nnoremap <leader>/ :noh<CR> - -" toggles -nnoremap <leader>tn :set number!<CR> -nnoremap <leader>tr :set relativenumber!<CR> -nnoremap <leader>tt :NERDTreeToggle<CR> - -" tabs -nnoremap <leader>th :tabprevious<CR> -nnoremap <leader>tl :tabnext<CR> -nnoremap <leader>tk :tabnew<CR> -nnoremap <leader>tj :tabclose<CR> - -" splits -nnoremap <leader>wh :vertical resize -1<CR> -nnoremap <leader>wj :resize -1<CR> -nnoremap <leader>wk :resize +1<CR> -nnoremap <leader>wl :vertical resize +1<CR> - -" config -nnoremap <leader>en :e ~/.config/nvim/init.vim<CR> -nnoremap <leader>ec :source %<CR> - -" write as root -nnoremap ZW :w !pkexec tee % >/dev/null - -" Goyo -nnoremap <leader>G :Goyo<CR> - -" windows -nnoremap <C-h> <C-w>h -nnoremap <C-j> <C-w>j -nnoremap <C-k> <C-w>k -nnoremap <C-l> <C-w>l -vnoremap <C-h> <C-w>h -vnoremap <C-j> <C-w>j -vnoremap <C-k> <C-w>k -vnoremap <C-l> <C-w>l - -" files -" these may go away soon -nnoremap <leader>xx :q<CR> -nnoremap <leader>x! :q!<CR> -" these are the new standard -nnoremap <leader>qq :q<CR> -nnoremap <leader>q! :q!<CR> -nnoremap <leader>wq :wq<CR> -nnoremap <leader>ww :w<CR> -nnoremap <leader>ee :e - -" escape for term windows -tnoremap <Esc> <C-\><C-n> - -" vim-plug -nnoremap <leader>pi :PlugInstall<CR> -nnoremap <leader>pu :PlugUpdate<CR> -nnoremap <leader>pU :PlugUpgrade<CR> -nnoremap <leader>pc :PlugClean<CR> - -" fugitive -nnoremap <leader>gp :G pull<CR> -nnoremap <leader>gd :G diff %<CR> - -" }}} diff --git a/nvim/lua/colorscheme.lua b/nvim/lua/colorscheme.lua new file mode 100644 index 0000000..66516fa --- /dev/null +++ b/nvim/lua/colorscheme.lua @@ -0,0 +1,8 @@ +-- define your colorscheme here +local colorscheme = 'badwolf' + +local is_ok, _ = pcall(vim.cmd, "colorscheme " .. colorscheme) +if not is_ok then + vim.notify('colorscheme ' .. colorscheme .. ' not found!') + return +end diff --git a/nvim/lua/keymaps.lua b/nvim/lua/keymaps.lua new file mode 100644 index 0000000..26037c6 --- /dev/null +++ b/nvim/lua/keymaps.lua @@ -0,0 +1,97 @@ +-- define common options +local opts = { + noremap = true, -- non-recursive + silent = true, -- do not show message +} + +-- set leader key +vim.g.mapleader = "'" + +----------------- +-- Normal mode -- +----------------- + +-- Hint: set `:h vim.map.set()` +-- Better window navigation +vim.keymap.set('n', '<C-h>', '<C-w>h', opts) +vim.keymap.set('n', '<C-j>', '<C-w>j', opts) +vim.keymap.set('n', '<C-k>', '<C-w>k', opts) +vim.keymap.set('n', '<C-l>', '<C-w>l', opts) + +-- Resize with arrows +vim.keymap.set('n', '<C-Up>', ':resize -2<CR>', opts) +vim.keymap.set('n', '<C-Down>', ':resize +2<CR>', opts) +vim.keymap.set('n', '<C-Left>', ':vertical resize -2<CR>', opts) +vim.keymap.set('n', '<C-Right>', ':vertical resize +2<CR>', opts) +vim.keymap.set('n', '<leader>wh :vertical resize', '-1<CR>') +vim.keymap.set('n', '<leader>wj :resize', '-1<CR>') +vim.keymap.set('n', '<leader>wk :resize', '+1<CR>') +vim.keymap.set('n', '<leader>wl :vertical resize', '+1<CR>') + +-- NerdTREE +vim.keymap.set('n', '<leader>tt', ':NERDTreeToggle<CR>') + +-- files +-- these may go away soon +vim.keymap.set('n', '<leader>xx', ':q<CR>') +vim.keymap.set('n', '<leader>x!', ':q!<CR>') + +-- Close with leader +vim.keymap.set('n', '<leader>ww', ':w<CR>', opts) +vim.keymap.set('n', '<leader>qq', ':q<CR>', opts) +vim.keymap.set('n', '<leader>wq', ':wq<CR>', opts) +vim.keymap.set('n', '<leader>q!', ':q!<CR>', opts) +vim.keymap.set('n', '<leader>wq', ':wq<CR>') +vim.keymap.set('n', '<leader>ee :e', '') + +-- Tabs with leader +vim.keymap.set('n', '<leader>th', ':tabprevious<CR>', opts) +vim.keymap.set('n', '<leader>tl', ':tabnext<CR>', opts) +vim.keymap.set('n', '<leader>tk', ':tabnew<CR>', opts) +vim.keymap.set('n', '<leader>tj', ':tabclose<CR>', opts) + +-- Write with sudo +vim.keymap.set('n', 'ZW', ':w !pkexec tee % >/dev/null', opts) + +-- clear search highlights +vim.keymap.set('n', '<leader>/', ':noh<CR>') + +-- toggles +vim.keymap.set('n', '<leader>tn :set', 'number!<CR>') +vim.keymap.set('n', '<leader>tr :set', 'relativenumber!<CR>') + +-- write as root +vim.keymap.set('n', 'ZW', ':w !pkexec tee % >/dev/null') + +-- config +vim.keymap.set('n', '<leader>en', ':e ~/.config/nvim/init.lua<CR>') +vim.keymap.set('n', '<leader>ec', ':source %<CR>') +vim.keymap.set('n', '<leader>er', ':source ~/.config/nvim/init.lua<CR>') + +-- Goyo +vim.keymap.set('n', '<leader>G', ':Goyo<CR>') + +-- fugitive +vim.keymap.set('n', '<leader>gp :G', 'pull<CR>') +vim.keymap.set('n', '<leader>gd :G diff', '%<CR>') + +----------------- +-- Visual mode -- +----------------- + +-- Hint: start visual mode with the same area as the previous area and the same mode +--vim.keymap.set('v', '<', '<gv', opts) +--vim.keymap.set('v', '>', '>gv', opts) + +-- windows +vim.keymap.set('v', '<C-h>', '<C-w>h') +vim.keymap.set('v', '<C-j>', '<C-w>j') +vim.keymap.set('v', '<C-k>', '<C-w>k') +vim.keymap.set('v', '<C-l>', '<C-w>l') + +-------------- +-- TERMINAL -- +-------------- + +-- escape for term windows +vim.keymap.set('t', '<Esc>', '<C-\\><C-n>') diff --git a/nvim/lua/options.lua b/nvim/lua/options.lua new file mode 100644 index 0000000..1d4826e --- /dev/null +++ b/nvim/lua/options.lua @@ -0,0 +1,32 @@ +-- Hint: use `:h <option>` to figure out the meaning if needed +vim.opt.clipboard = 'unnamedplus' -- use system clipboard +vim.opt.completeopt = {'menu', 'menuone', 'noselect'} +vim.opt.mouse = 'a' -- allow the mouse to be used in nvim + +-- Tab +vim.opt.tabstop = 2 -- number of visual spaces per TAB +vim.opt.softtabstop = 2 -- number of spaces in tab when editing +vim.opt.shiftwidth = 2 -- insert 2 spaces on a tab +vim.opt.expandtab = true -- tabs are spaces + +-- UI config +vim.opt.number = true -- show absolute number +vim.opt.relativenumber = true -- show relative numbers +vim.opt.cursorline = true -- highlight cursor line underneath cursor horizontally +vim.opt.splitbelow = true -- open new vertical splits bottom +vim.opt.splitright = true -- open new horizontal splits right +-- vim.opt.termguicolors = true -- enable 24-bit RGB color in the TUI +vim.opt.showmode = false -- show the "-- INSERT --" and other hints + +-- Searching +vim.opt.incsearch = true -- search as characters are entered +vim.opt.hlsearch = false -- do not highlight matches +vim.opt.ignorecase = true -- ignore case in searches by default +vim.opt.smartcase = true -- but make it case sensitive if an uppercase is entered + +-- Etc +vim.opt.ruler = true -- Show row and column ruler info +vim.opt.undolevels = 1000 -- Number of undo levels +vim.opt.backspace = { "indent", "eol", "start" } -- Backspace behavior +vim.opt.foldmethod = "marker" +vim.opt.conceallevel = 2 diff --git a/nvim/lua/plugins.lua b/nvim/lua/plugins.lua new file mode 100644 index 0000000..0801939 --- /dev/null +++ b/nvim/lua/plugins.lua @@ -0,0 +1,106 @@ +local lazypath = vim.fn.stdpath("data") .. "lazy/lazy.nvim" +if not (vim.uv or vim.loop).fs_stat(lazypath) then + vim.fn.system({ + "git", + "clone", + "--filter=blob:none", + "https://github.com/folke/lazy.nvim.git", + "--branch=stable", -- latest stable rtelease + lazypath, + }) +end +vim.opt.rtp:prepend(lazypath) + +require("lazy").setup({ + "tanvirtin/monokai.nvim", + 'preservim/nerdtree', + 'ziglang/zig.vim', + "lervag/vimtex", + 'tomasiser/vim-code-dark', + 'flazz/vim-colorschemes', + 'tomasiser/vim-code-dark', + 'flazz/vim-colorschemes', + 'ZachIndigo/vim-preglow', + 'axvr/org.vim', + 'ziglang/zig.vim', + 'jdonaldson/vaxe', + 'xuhdev/vim-latex-live-preview', + 'waycrate/swhkd-vim', + 'HiPhish/guile.vim', + 'preservim/nerdtree', + 'Xuyuanp/nerdtree-git-plugin', + 'PhilRunninger/nerdtree-visual-selection', + 'tpope/vim-fugitive', + 'junegunn/goyo.vim', + 'junegunn/limelight.vim', + 'vim-airline/vim-airline', + 'nathanaelkane/vim-indent-guides', + 'mhinz/vim-signify', + 'tpope/vim-endwise', + 'tpope/vim-surround', + 'mattn/emmet-vim', + 'godlygeek/tabular', + 'plasticboy/vim-markdown', + 'ryanoasis/vim-devicons', + {'akinsho/toggleterm.nvim', version = "*", config = true}, +}) + +-------------------- +-- Plugin Options -- +-------------------- + +-- emmet +vim.g.user_emmet_leader_key='<C-a>' + +-- zig config +vim.g.zig_fmt_autosave = 1 + +-- latex live preview +vim.g.livepreview_previewer = 'zathura' +vim.g.livepreview_use_biber = 1 +vim.g.livepreview_cursorhold_recompile = 0 + +-- vim-markdown +vim.g.vim_markdown_folding_disabled = 1 +vim.g.vim_markdown_folding_level = 3 +vim.g.vim_markdown_toc_autofit = 1 +vim.g.vim_markdown_emphasis_multiline = 0 +vim.g.tex_conceal = "" +vim.g.vim_markdown_math = 1 +vim.g.vim_markdown_conceal_code_blocks = 1 +vim.g.vim_markdown_fenced_languages = { 'c++=cpp', 'viml=vim', 'bash=sh', 'ini=dosini' } +vim.g.vim_markdown_follow_anchor = 1 +vim.g.vim_markdown_math = 1 +vim.g.vim_markdown_frontmatter = 1 +vim.g.vim_markdown_toml_frontmatter = 1 +vim.g.vim_markdown_strikethrough = 1 +vim.g.vim_markdown_no_extensions_in_markdown = 1 +vim.g.vim_markdown_autowrite = 1 +vim.g.vim_markdown_auto_insert_bullets = 0 +vim.g.vim_markdown_new_list_item_indent = 0 +vim.g.vim_markdown_edit_url_in = 'tab' + +-- NERDTree config +vim.g.NERDTreeGitStatusUseNerdFonts = 1 -- use nerd fonts +vim.g.NERDTreeGitStatusShowClean = 1 -- default: 0 +vim.g.NERDTreeDirArrowExpandable = '>' +vim.g.NERDTreeDirArrowCollapsible = '<' +vim.g.NERDTreeMapToggleHidden = 'z' + +-- Goyo config +vim.g.goyo_width = '90%' +vim.g.goyo_height = '100%' + +-- limelight config +vim.g.limelight_conceal_ctermfg = 'gray' +vim.g.limelight_conceal_guifg = 'gray' + +-- devicon config +vim.g.airline_powerline_fonts = 1 +vim.g.webdevicons_enable_nerdtree = 1 + +-- vim-indent-guides config +vim.g.indent_guides_enable_on_vim_startup = 0 + +-- vim-signify config +vim.opt.updatetime=100 diff --git a/nvim/lua/term.lua b/nvim/lua/term.lua new file mode 100644 index 0000000..9f3062d --- /dev/null +++ b/nvim/lua/term.lua @@ -0,0 +1,51 @@ +require("toggleterm").setup{ + -- size can be a number or function which is passed the current terminal + size = function(term) + if term.direction == "horizontal" then + return 15 + elseif term.direction == "vertical" then + return vim.o.columns * 0.4 + end + end, + open_mapping = [[<c-\>]], -- or { [[<c-\>]], [[<c-¥>]] } if you also use a Japanese keyboard. + hide_numbers = true, -- hide the number column in toggleterm buffers + shade_filetypes = {}, + autochdir = false, -- when neovim changes it current directory the terminal will change it's own when next it's opened + shade_terminals = true, -- NOTE: this option takes priority over highlights specified so if you specify Normal highlights you should set this to false + shading_factor = '-30', -- the percentage by which to lighten dark terminal background, default: -30 + shading_ratio = '-3', -- the ratio of shading factor for light/dark terminal background, default: -3 + start_in_insert = true, + insert_mappings = true, -- whether or not the open mapping applies in insert mode + terminal_mappings = true, -- whether or not the open mapping applies in the opened terminals + persist_size = true, + persist_mode = true, -- if set to true (default) the previous terminal mode will be remembered + direction = 'horizontal', + close_on_exit = true, -- close the terminal window when the process exits + clear_env = false, -- use only environmental variables from `env`, passed to jobstart() + -- Change the default shell. Can be a string or a function returning a string + shell = vim.o.shell, + auto_scroll = true, -- automatically scroll to the bottom on terminal output + -- This field is only relevant if direction is set to 'float' + float_opts = { + -- The border key is *almost* the same as 'nvim_open_win' + -- see :h nvim_open_win for details on borders however + -- the 'curved' border is a custom border type + -- not natively supported but implemented in this plugin. + border = 'single', + -- like `size`, width, height, row, and col can be a number or function which is passed the current terminal + winblend = 3, + title_pos = 'left' + }, + winbar = { + enabled = false, + name_formatter = function(term) -- term: Terminal + return term.name + end + }, + responsiveness = { + -- breakpoint in terms of `vim.o.columns` at which terminals will start to stack on top of each other + -- instead of next to each other + -- default = 0 which means the feature is turned off + horizontal_breakpoint = 135, + } +} @@ -33,7 +33,8 @@ alias nv='nvim' alias v='nvim' ## Change utils -alias rm='rm -i' +#alias rm='rm -i' +alias rm='trash-put' alias cp='cp -i' alias srsync='rsync -KPUcrtvyz' @@ -49,21 +49,21 @@ export MPD_HOST="$XDG_CONFIG_HOME/mpd/socket" export GTK2_RC_FILES="$XDG_CONFIG_HOME"/gtk-2.0/gtkrc export RENPY_PATH_TO_SAVES="$XDG_DATA_HOME" export XINITRC="$XDG_CONFIG_HOME"/X11/xinitrc -#export XAUTHORITY="$XDG_RUNTIME_DIR"/X11/Xauthority -export VIMINIT="set nocp | source ${XDG_CONFIG_HOME:-$HOME.config}/vim/vimrc" +export XAUTHORITY="$XDG_RUNTIME_DIR"/X11/Xauthority +#export VIMINIT="set nocp | source ${XDG_CONFIG_HOME:-$HOME.config}/vim/vimrc" export ANDROID_USER_HOME="$XDG_DATA_HOME"/android export XCURSOR_PATH="/usr/share/icons:$XDG_DATA_HOME/icons" export PYTHONSTARTUP="$XDG_CONFIG_HOME"/python/pythonrc # Scaling -export QT_AUTO_SCREEN_SCALE_FACTOR=0 -export QT_SCALE_FACTOR=1 -export QT_SCREEN_SCALE_FACTORS="1;1;1" +#export QT_AUTO_SCREEN_SCALE_FACTOR=0 +#export QT_SCALE_FACTOR=1 +#export QT_SCREEN_SCALE_FACTORS="1;1;1" export GDK_SCALE=1 export GDK_DPI_SCALE=1 # Theming -export QT_QPA_PLATFORMTHEME=qt6ct +#export QT_QPA_PLATFORMTHEME=qt6ct # Fix wayland stuff export MOZ_ENABLE_WAYLAND=1 @@ -260,7 +260,7 @@ nnoremap <leader>wk :resize +1<CR> nnoremap <leader>wl :vertical resize +1<CR> " config -nnoremap <leader>en :e ~/.config/nvim/init.vim<CR> +nnoremap <leader>en :e ~/.config/vim/vimrc<CR> nnoremap <leader>ec :source %<CR> " write as root @@ -303,4 +303,4 @@ nnoremap <leader>pc :PlugClean<CR> nnoremap <leader>gp :G pull<CR> nnoremap <leader>gd :G diff %<CR> -" }}} +" }} diff --git a/waybar/config b/waybar/config index a178ed6..70b7b67 100644 --- a/waybar/config +++ b/waybar/config @@ -11,7 +11,7 @@ "modules-left":[ "hyprland/workspaces", "custom/launcher", "hyprland/window"], "modules-center":[], - "modules-right":[ "mpd", "idle_inhibitor", "pulseaudio", "cpu", "memory", "temperature#cpu", "temperature#gpu", "backlight", "battery", "network", "clock", "tray", "custom/power"], + "modules-right":[ "tray", "mpd", "idle_inhibitor", "wireplumber", "cpu", "memory", "temperature#cpu", "temperature#gpu", "backlight", "battery", "network", "clock", "custom/power"], // Modules configuration @@ -135,24 +135,13 @@ "max-length": 22, "on-click-right": "bash ~/.config/rofi/wifi_menu/rofi_wifi_menu" }, - "pulseaudio": { + "wireplumber": { // "scroll-step": 1, // %, can be a float "format": "{volume}% {icon}", - "format-bluetooth": "{volume}% {icon}", - "format-bluetooth-muted": "{icon} {format_source}", - "format-muted": "{format_source}", - "format-source": "", - "format-source-muted": "", - "format-icons": { - "headphone": "", - "hands-free": "", - "headset": "", - "phone": "", - "portable": "", - "car": "", - "default": ["", "", ""] - }, - "on-click": "pavucontrol" + "format-muted": "{volume}% ", + "format-icons": ["", "", ""], + "on-click": "volsv -t", + "scroll-step": 0.1 }, "custom/launcher":{ "format": "", diff --git a/waybar/style.css b/waybar/style.css index 88b8900..05af6ab 100644 --- a/waybar/style.css +++ b/waybar/style.css @@ -53,7 +53,7 @@ window#waybar.hidden { */ #workspaces button.active { - background: #198844; + background: #EC0101; } /* @@ -81,7 +81,7 @@ window#waybar.hidden { #temperature, #backlight, #network, -#pulseaudio, +#wireplumber, #custom-media, #custom-launcher, #custom-power, @@ -157,7 +157,7 @@ label:focus { } #memory { - background-color: #198844; + background-color: #EC0101; color: #ffffff; } @@ -167,12 +167,12 @@ label:focus { } #backlight { - background-color: #198844; + background-color: #EC0101; color: #ffffff; } #network { - background-color: #198844; + background-color: #EC0101; color: #ffffff; } @@ -181,14 +181,14 @@ label:focus { color: #ffffff; } -#pulseaudio { - background-color: #198844; +#wireplumber { + background-color: #EC0101; color: #ffffff; } -#pulseaudio.muted { +#wireplumber.muted { background-color: #1b1d1c; - color: #198844; + color: #EC0101; } #custom-media { @@ -278,19 +278,19 @@ label:focus { } #tray { - background-color: #198844; + background-color: #EC0101; color: #ffffff; } #tray > .passive { -gtk-icon-effect: dim; - background-color: #198844; + background-color: #EC0101; color: #ffffff; } #tray > .needs-attention { -gtk-icon-effect: highlight; - background-color: #198844; + background-color: #EC0101; color: #ffffff; } @@ -301,7 +301,7 @@ label:focus { } #idle_inhibitor.activated { - background-color: #198844; + background-color: #EC0101; color: #ffffff; border-radius: 20px 0px 0px 20px; diff --git a/xsettingsd/xsettingsd.conf b/xsettingsd/xsettingsd.conf index e762fa9..622b06f 100644 --- a/xsettingsd/xsettingsd.conf +++ b/xsettingsd/xsettingsd.conf @@ -1,4 +1,4 @@ -Net/ThemeName "Flat-Remix-GTK-Green-Darkest" +Net/ThemeName "Flat-Remix-GTK-Red-Darkest" Net/IconThemeName "Cosmic" Gtk/CursorThemeName "BreezeX-Black" Net/EnableEventSounds 1 diff --git a/yay/config.json b/yay/config.json index 2b64b70..c06f416 100644 --- a/yay/config.json +++ b/yay/config.json @@ -10,7 +10,7 @@ "pacmanconf": "/etc/pacman.conf", "redownload": "no", "answerclean": "All", - "answerdiff": "", + "answerdiff": "All", "answeredit": "", "answerupgrade": "", "gitbin": "git", @@ -36,8 +36,8 @@ "provides": true, "pgpfetch": true, "cleanmenu": true, - "diffmenu": false, - "editmenu": true, + "diffmenu": true, + "editmenu": false, "combinedupgrade": false, "useask": false, "batchinstall": false, @@ -44,9 +44,13 @@ bindkey "${key[End]}" end-of-line bindkey "${key[PageUp]}" history-substring-search-up bindkey "${key[PageDown]}" history-substring-search-down -MYPROMPT=$'%S%F{002}[%n@%m]\UE0B2%F{015}%s%~%S%F{002}\UE0B0%#%s\UE0B0%f ' +if (env | grep -Fq 'DISTROBOX'); then + MYPROMPT=$'%F{000}%K{004}[%n@%m]%F{015}\UE0B2%K{015}%F{000}%~%F{015}%K{004}\UE0B0%F{000}%#%F{004}%k\UE0B0%f ' +else + MYPROMPT=$'%F{015}%K{009}[%n@%m]%F{015}\UE0B2%K{015}%F{000}%~%F{015}%K{009}\UE0B0%F{015}%#%F{009}%k\UE0B0%f ' +fi function zle-line-init zle-keymap-select { - VIM_PROMPT=$'%S%F{012}[%n@%m]\UE0B2%F{015}%s%~%S%F{012}\UE0B0%#%s\UE0B0%f ' + VIM_PROMPT=$'%F{000}%K{012}[%n@%m]%F{015}\UE0B2%K{015}%F{000}%~%F{015}%K{012}\UE0B0%F{000}%#%F{012}%k\UE0B0%f ' PS1="${${KEYMAP/vicmd/$VIM_PROMPT}/main/$MYPROMPT}" zle reset-prompt } |