diff --git a/foot/.config/foot/foot.ini b/foot/.config/foot/foot.ini index 69025db..b98d08d 100644 --- a/foot/.config/foot/foot.ini +++ b/foot/.config/foot/foot.ini @@ -1,23 +1,53 @@ -font=Hack Nerd Font:pixelsize=12,Font Awesome 6 Free:pixelsize=12 +font=JuliaMono:pixelsize=12 +# moonfly +# Based on https://github.com/bluz71/vim-moonfly-colors + [cursor] -color=000000 ffffff +color = 080808 9e9e9e [colors] -background=1d2021 -foreground=ebdbb2 -regular0=282828 -regular1=cc241d -regular2=98971a -regular3=d79921 -regular4=458588 -regular5=b16286 -regular6=689d6a -regular7=a89984 -bright0=928374 -bright1=fb4934 -bright2=b8bb26 -bright3=fabd2f -bright4=83a598 -bright5=d3869b -bright6=8ec07c -bright7=ebdbb2 +foreground = b2b2b2 +background = 080808 +selection-foreground = 080808 +selection-background = b2ceee + +regular0 = 323437 +regular1 = ff5454 +regular2 = 8cc85f +regular3 = e3c78a +regular4 = 80a0ff +regular5 = d183e8 +regular6 = 79dac8 +regular7 = c6c6c6 + +bright0 = 949494 +bright1 = ff5189 +bright2 = 36c692 +bright3 = c2c292 +bright4 = 74b2ff +bright5 = ae81ff +bright6 = 85dc85 +bright7 = e4e4e4 +# [cursor] +# # bright red cursor +# color=ffffff ff0000 +# ### Default +# [colors] +# foreground=dcdccc +# background=111111 +# regular0=222222 +# regular1=cc9393 +# regular2=7f9f7f +# regular3=d0bf8f +# regular4=6ca0a3 +# regular5=dc8cc3 +# regular6=93e0e3 +# regular7=dcdccc +# bright0=666666 +# bright1=dca3a3 +# bright2=bfebbf +# bright3=f0dfaf +# bright4=8cd0d3 +# bright5=fcace3 +# bright6=b3ffff +# bright7=ffffff diff --git a/foot/.config/foot/high-contrast.ini b/foot/.config/foot/high-contrast.ini new file mode 100644 index 0000000..d016052 --- /dev/null +++ b/foot/.config/foot/high-contrast.ini @@ -0,0 +1,20 @@ + +#[colors] +#background=151515 +#foreground=aeaeae +#regular0=4d4d4d +#regular1=c70031 +#regular2=29cf13 +#regular3=d8e30e +#regular4=3449d1 +#regular5=8400ff +#regular6=0798ab +#regular7=e2d1e3 +#bright0=5a5a5a +#bright1=f05178 +#bright2=6ce05c +#bright3=f3f79e +#bright4=97a4f7 +#bright5=c495f0 +#bright6=68f2e0 +#bright7=ffffff diff --git a/lsd/.config/lsd/config.yaml b/lsd/.config/lsd/config.yaml deleted file mode 100644 index 68572f1..0000000 --- a/lsd/.config/lsd/config.yaml +++ /dev/null @@ -1,2 +0,0 @@ -icons: - when: auto diff --git a/mail/.config/neomutt/accounts/1-mail@oxapentane.com.muttrc b/mail/.config/neomutt/accounts/1-mail@oxapentane.com.muttrc index a00f170..536b91a 100644 --- a/mail/.config/neomutt/accounts/1-mail@oxapentane.com.muttrc +++ b/mail/.config/neomutt/accounts/1-mail@oxapentane.com.muttrc @@ -1,6 +1,6 @@ # vim: filetype=neomuttrc # muttrc file for account mail@oxapentane.com -set realname = "0xA" +set realname = "Grigory Shipunov" set from = "mail@oxapentane.com" alternates "@oxapentane\.com$" set reverse_name @@ -39,12 +39,12 @@ macro index,pager gd "=Drafts" "go to drafts" macro index,pager Md ";=Drafts" "move mail to drafts" macro index,pager Cd ";=Drafts" "copy mail to drafts" set record = "+Sent" -macro index,pager gS "=Sent" "go to sent" -macro index,pager MS ";=Sent" "move mail to sent" -macro index,pager CS ";=Sent" "copy mail to sent" -macro index,pager gs "=sinkhole" "go to sinkhole" -macro index,pager Ms ";=sinkhole" "move mail to sinkhole" -macro index,pager Cs ";=sinkhole" "copy mail to sinkhole" +macro index,pager gs "=Sent" "go to sent" +macro index,pager Ms ";=Sent" "move mail to sent" +macro index,pager Cs ";=Sent" "copy mail to sent" +macro index,pager gh "=sinkhole" "go to sinkhole" +macro index,pager Mh ";=sinkhole" "move mail to sinkhole" +macro index,pager Ch ";=sinkhole" "copy mail to sinkhole" macro index,pager gt "=Trash" "go to trash" macro index,pager Mt ";=Trash" "move mail to trash" macro index,pager Ct ";=Trash" "copy mail to trash" diff --git a/nvim.lua/.config/nvim/init.lua b/nvim.lua/.config/nvim/init.lua new file mode 100644 index 0000000..2d26a74 --- /dev/null +++ b/nvim.lua/.config/nvim/init.lua @@ -0,0 +1,80 @@ +require'plugins' + + + +-- LSP +-- nix +if vim.fn.executable('rnix-lsp') == 1 then + require'lspconfig'.rnix.setup{ + autostart = false, + } +end + +-- Rust +if vim.fn.executable('rust-analyzer') == 1 then + local rt = require'rust-tools' + + rt.setup({ + tools = { + inlay_hints = { + auto = true, + only_current_line = true, + }, + }, + server = { + autostart = false, + on_attach = function(_, bufnr) + vim.keymap.set("n", "h", rt.hover_actions.hover_actions, { buffer = bufnr }) + vim.keymap.set("n", "a", rt.code_action_group.code_action_group, { buffer = bufnr }) + end, + }, + }) + + +end + + +-- require'completion' +local cmp = require'cmp' +cmp.setup({ + snippet = { + expand = function(args) + require'snippy'.expand_snippet(args.body) + end + }, + + mapping = cmp.mapping.preset.insert({ + [''] = cmp.mapping.scroll_docs(-4), + [''] = cmp.mapping.scroll_docs(4), + [''] = cmp.mapping.complete(), + [''] = cmp.mapping.abort(), + [''] = cmp.mapping.confirm({ + behavior = cmp.ConfirmBehavior.Insert, + select = true, + }) + }), + + sources = cmp.config.sources({ + { name = 'nvim_lsp' }, + { name = 'snippy' }, -- For snippy users. + { name = 'buffer' }, + { name = 'path' }, + { name = 'nvim_lua' }, + }), + + formatting = { + format = function(entry, vim_item) + vim_item.kind = string.format('%s', vim_item.kind) + vim_item.menu = ({ + nvim_lsp = '[LSP]', + buffer = '[B]', + path = '[F]', + snippy = '[S]', + nvim_lua = '[vim]', + })[entry.source.name] + + return vim_item + end, + } +}) + diff --git a/nvim.lua/.config/nvim/lua/completion.lua b/nvim.lua/.config/nvim/lua/completion.lua new file mode 100644 index 0000000..e86b59e --- /dev/null +++ b/nvim.lua/.config/nvim/lua/completion.lua @@ -0,0 +1,44 @@ +-- nvim cmp + +return require'cmp'.setup({ + snippet = { + expand = function(args) + require'snippy'.expand_snippet(args.body) + end + }, + + mapping = cmp.mapping.preset.insert({ + [''] = cmp.mapping.scroll_docs(-4), + [''] = cmp.mapping.scroll_docs(4), + [''] = cmp.mapping.complete(), + [''] = cmp.mapping.abort(), + [''] = cmp.mapping.confirm({ + behavior = cmp.ConfirmBehavior.Insert, + select = true, + }) + }), + + sources = cmp.config.sources({ + { name = 'nvim_lsp' }, + { name = 'snippy' }, -- For snippy users. + { name = 'buffer' }, + { name = 'path' }, + { name = 'nvim_lua' }, + }), + + formatting = { + format = function(entry, vim_item) + vim_item.kind = string.format('%s', vim_item.kind) + vim_item.menu = ({ + nvim_lsp = '[LSP]', + buffer = '[B]', + path = '[F]', + snippy = '[S]', + nvim_lua = '[vim]', + })[entry.source.name] + + return vim_item + end, + } +}) + diff --git a/nvim.lua/.config/nvim/lua/lsp/nix.lua b/nvim.lua/.config/nvim/lua/lsp/nix.lua new file mode 100644 index 0000000..b3f61e7 --- /dev/null +++ b/nvim.lua/.config/nvim/lua/lsp/nix.lua @@ -0,0 +1,3 @@ +require'lspconfig'.rnix.setup{ + autostart = false, +} diff --git a/nvim.lua/.config/nvim/lua/lsp/rust.lua b/nvim.lua/.config/nvim/lua/lsp/rust.lua new file mode 100644 index 0000000..28edc8b --- /dev/null +++ b/nvim.lua/.config/nvim/lua/lsp/rust.lua @@ -0,0 +1,32 @@ +-- nvim_lsp object +local nvim_lsp = require'lspconfig' + +local capabilities = vim.lsp.protocol.make_client_capabilities() +capabilities.textDocument.completion.completionItem.snippetSupport = true + +-- Enable rust_analyzer +nvim_lsp.rust_analyzer.setup({ + autostart=false, + capabilities=capabilities, + -- on_attach is a callback called when the language server attachs to the buffer + -- on_attach = on_attach, + settings = { + -- to enable rust-analyzer settings visit: + -- https://github.com/rust-analyzer/rust-analyzer/blob/master/docs/user/generated_config.adoc + ["rust-analyzer"] = { + -- enable clippy diagnostics on save + checkOnSave = { + command = "clippy" + }, + } + } +}) + +-- Enable diagnostics +vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with( + vim.lsp.diagnostic.on_publish_diagnostics, { + virtual_text = false, + signs = true, + update_in_insert = true, + } +) diff --git a/nvim.lua/.config/nvim/lua/plugins.lua b/nvim.lua/.config/nvim/lua/plugins.lua new file mode 100644 index 0000000..853ce45 --- /dev/null +++ b/nvim.lua/.config/nvim/lua/plugins.lua @@ -0,0 +1,59 @@ +local ensure_packer = function() + local fn = vim.fn + local install_path = fn.stdpath('data')..'/site/pack/packer/start/packer.nvim' + if fn.empty(fn.glob(install_path)) > 0 then + fn.system({'git', 'clone', '--depth', '1', 'https://github.com/wbthomason/packer.nvim', install_path}) + vim.cmd [[packadd packer.nvim]] + return true + end + return false +end + +local packer_bootstrap = ensure_packer() + +return require('packer').startup(function(use) + use 'wbthomason/packer.nvim' + + -- insert images into markdown automagically + use 'ferrine/md-img-paste.vim' + + --Better syntax + use 'rust-lang/rust.vim' + use 'LnL7/vim-nix' + use 'cespare/vim-toml' + use 'JuliaEditorSupport/julia-vim' + use 'lervag/vimtex' + use 'lepture/vim-jinja' + use 'neomutt/neomutt.vim' + use 'godlygeek/tabular' + use 'preservim/vim-markdown' + + -- pretty bits + use 'bluz71/vim-moonfly-colors' + use 'vim-airline/vim-airline' + + -- neovim VSCode edition + use 'neovim/nvim-lspconfig' + use 'simrat39/rust-tools.nvim' + -- completion + use 'hrsh7th/nvim-cmp' + use 'hrsh7th/cmp-nvim-lsp' + use 'hrsh7th/cmp-buffer' + use 'hrsh7th/cmp-path' + use 'hrsh7th/cmp-nvim-lua' + -- just because cmp requires snippet + use 'dcampos/nvim-snippy' + use 'dcampos/cmp-snippy' + + -- navigating files + use 'junegunn/fzf' + use 'junegunn/fzf.vim' + + -- Automatically set up your configuration after cloning packer.nvim + -- Put this at the end after all plugins + if packer_bootstrap then + require('packer').sync() + end +end) + + diff --git a/nvim/.config/nvim/init.vim b/nvim/.config/nvim/init.vim index d70ce9e..cd7d4dd 100644 --- a/nvim/.config/nvim/init.vim +++ b/nvim/.config/nvim/init.vim @@ -16,28 +16,21 @@ Plug 'LnL7/vim-nix' Plug 'cespare/vim-toml' Plug 'JuliaEditorSupport/julia-vim' Plug 'lervag/vimtex' -Plug 'vim-pandoc/vim-pandoc' -Plug 'vim-pandoc/vim-pandoc-syntax' -Plug 'vim-pandoc/vim-rmarkdown' Plug 'lepture/vim-jinja' Plug 'neomutt/neomutt.vim' - -" Slimey stuff -Plug 'kassio/neoterm' +Plug 'godlygeek/tabular' +Plug 'preservim/vim-markdown' " pretty bits -Plug 'gruvbox-community/gruvbox' +Plug 'bluz71/vim-moonfly-colors' +"Plug 'jeffkreeftmeijer/vim-dim' Plug 'vim-airline/vim-airline' +"Plug 'vim-airline/vim-airline-themes' Plug 'luochen1990/rainbow' -" Git -Plug 'tpope/vim-fugitive' -Plug 'airblade/vim-gitgutter' - -" completion -Plug 'Shougo/deoplete.nvim' -Plug 'junegunn/fzf' +" navigating files Plug 'junegunn/fzf.vim' +Plug 'junegunn/fzf' call plug#end() @@ -46,16 +39,18 @@ autocmd BufRead,BufNewFile *.nasm set filetype=nasm " Theme set termguicolors -let g:gruvbox_contrast_dark = 'hard' -colorscheme gruvbox -let g:airline_theme = 'gruvbox' -let g:rainbow_active = 1 " rainbow delimiters +let g:airline#extensions#tabline#enabled = 1 +set noshowmode " airline shows it for us +let g:airline#extensions#tabline#buffer_min_count = 2 +let g:airline_theme = 'moonfly' +colorscheme moonfly " langmap russian set langmap=ФИСВУАПРШОЛДЬТЩЗЙКЫЕГМЦЧНЯ;ABCDEFGHIJKLMNOPQRSTUVWXYZ,фисвуапршолдьтщзйкыегмцчня;abcdefghijklmnopqrstuvwxyz " Incrementally show effects of :s, :smagic, :snomagic set icm=split +set signcolumn=yes " insert images into markdown automagically autocmd FileType markdown nmap p :call mdip#MarkdownClipboardImage() @@ -124,30 +119,23 @@ imap " do not conceal stuff set conceallevel=0 -" and another time for supid ones who continue to insist -let g:pandoc#syntax#conceal#use = 0 -let g:tex_conceal = '' - -" vim-pandoc really tries to be 'user-friendly'... -let g:pandoc#modules#disabled = [ "spell", "folding" ] - -" neoterm -let g:neoterm_default_mod='belowright' " open terminal in bottom split -let g:neoterm_size=19 " terminal split size -let g:neoterm_autoscroll=1 " scroll to the bottom when running a command -" REPL interaction -nnoremap :TREPLSendLinej -nnoremap cc :TREPLSendFile -vnoremap :TREPLSendSelection - -" lsp (in lua), and completion -"lua require('lsp-config') +set foldlevel=999 " Whitespace highlight highlight RedundantSpaces ctermbg=red guibg=red -match RedundantSpaces /\s\+$/ +match RedundantSpaces /\s\+\%#\@f :GitFiles -nmap F :Files -nmap b :Buffers +nnoremap f GFiles +nnoremap g Rg +nnoremap b Buffers +nnoremap F Files + +" highlight yanked text +augroup highlight_yank + autocmd! + au TextYankPost * silent! lua vim.highlight.on_yank { higroup='IncSearch', timeout=200 } +augroup END diff --git a/sway/.config/i3status-rust/config.toml b/sway/.config/i3status-rust/config.toml index ff6c357..0a7e4e4 100644 --- a/sway/.config/i3status-rust/config.toml +++ b/sway/.config/i3status-rust/config.toml @@ -1,7 +1,5 @@ [theme] -name = "gruvbox-dark" -[theme.overrides] -idle_bg = "#1d2021" +name = "moonfly" [icons] name = "awesome6" @@ -46,7 +44,7 @@ format = "{1m} {5m} {15m}" [[block]] block = "sound" -on_click = "foot zsh -c pulsemixer" +on_click = "foot --app-id floating-foot zsh -c pulsemixer" headphones_indicator = true [[block]] @@ -65,7 +63,4 @@ if_command = "test -e /sys/class/power_supply/BAT0" [[block]] block = "time" -interval = 5 -format = "%a %F %T" -interval = 1 -icons_format = " " +format = "%a %F %R" diff --git a/sway/.config/i3status-rust/themes/moonfly.toml b/sway/.config/i3status-rust/themes/moonfly.toml new file mode 100644 index 0000000..59632c2 --- /dev/null +++ b/sway/.config/i3status-rust/themes/moonfly.toml @@ -0,0 +1,18 @@ +idle_bg = "#080808" +idle_fg = "#b2b2b2" + +good_bg = "#8cc85f" +good_fg = "#080808" + +info_bg = "#79dac8" +info_fg = "#080808" + +warning_bg = "#e3c78a" +warning_fg = "#080808" + +critical_bg = "#ff5189" +critical_fg = "#080808" + +separator = "/" +separator_fg = "#b2b2b2" +separator_bg = "#080808" diff --git a/sway/.config/rofi/config.rasi b/sway/.config/rofi/config.rasi index 5d72d36..bf12254 100644 --- a/sway/.config/rofi/config.rasi +++ b/sway/.config/rofi/config.rasi @@ -4,4 +4,6 @@ configuration { combi-modi: "drun,ssh"; terminal: "foot"; } -@theme "gruvbox-dark-soft" +//@theme "gruvbox-dark-soft" +//@theme "/nix/store/m66hawy506lv8zpr9j6l9s46kgicvva9-rofi-1.7.5+wayland1/share/rofi/themes/Monokai.rasi" +@theme "/nix/store/g2bj3ngb084x8mjxlix6bwzjy649wbbz-rofi-1.7.5+wayland1/share/rofi/themes/gruvbox-dark-soft.rasi" diff --git a/sway/.config/sway/config b/sway/.config/sway/config index 057abcb..a4a9a64 100644 --- a/sway/.config/sway/config +++ b/sway/.config/sway/config @@ -15,6 +15,8 @@ set $up k set $right l # Your preferred terminal emulator set $term foot +set $floatterm foot --app-id floating-foot + # Your preferred application launcher # Note: pass the final command to swaymsg so that the resulting window can be opened # on the original workspace that the command was run on. @@ -50,10 +52,12 @@ exec swayidle -w \ # Example configuration: # input "10248:257:FTCS1000:00_2808:0101_Touchpad" { + accel_profile adaptive + click_method clickfinger dwt enabled - tap enabled - natural_scroll enabled middle_emulation enabled + natural_scroll enabled + tap enabled } input * { @@ -64,8 +68,9 @@ exec swayidle -w \ # You can get the names of your inputs by running: swaymsg -t get_inputs # Read `man 5 sway-input` for more information about this section. -### override defaults -focus_follows_mouse no +focus_follows_mouse yes +mouse_warping container +seat * hide_cursor 5000 ### Key bindings # @@ -73,6 +78,9 @@ focus_follows_mouse no # # Start a terminal bindsym --to-code $mod+Return exec $term + # start a floating terminal + bindsym --to-code $mod+Shift+Return exec $floatterm + for_window [app_id="floating-foot"] floating enable # Start an editor bindsym --to-code $mod+z exec emacsclient -a="" --create-frame @@ -104,8 +112,10 @@ focus_follows_mouse no bindsym --to-code XF86AudioLowerVolume exec 'pamixer -d 1' bindsym --to-code XF86AudioMute exec 'pamixer -t' bindsym --to-code $mod+Delete exec 'swaylock -eFfk -i ~/.config/sway/wall.jpg -s fill' - bindsym --to-code $mod+p exec 'grim -g "$(slurp)" - | wl-copy' - bindsym --to-code $mod+Mod1+p exec 'grim -g "$(slurp)" ~/Pictures/$(date +"%Y-%m-%d-%H-%M-%S").png' + bindsym --to-code Print exec 'grim -g "$(slurp)" - | wl-copy' + bindsym --to-code $mod+Print exec 'grim -g "$(slurp)" ~/Pictures/$(date +"%Y-%m-%d-%H-%M-%S").png' + bindsym --to-code $mod+m exec 'makoctl dismiss -a' + bindsym --to-code $mod+Shift+m exec 'makoctl restore' # @@ -189,6 +199,7 @@ focus_follows_mouse no # Move focus to the parent container bindsym --to-code $mod+a focus parent + bindsym --to-code $mod+Shift+a focus child # # Scratchpad: # @@ -209,10 +220,10 @@ mode "resize" { # right will grow the containers width # up will shrink the containers height # down will grow the containers height - bindsym --to-code $left resize shrink width 10px - bindsym --to-code $down resize grow height 10px - bindsym --to-code $up resize shrink height 10px - bindsym --to-code $right resize grow width 10px + bindsym --to-code $left resize shrink width 30px + bindsym --to-code $down resize grow height 30px + bindsym --to-code $up resize shrink height 30px + bindsym --to-code $right resize grow width 30px # Ditto, with arrow keys bindsym --to-code Left resize shrink width 10px @@ -227,11 +238,11 @@ mode "resize" { bindsym --to-code $mod+r mode "resize" ## Styling: colors -include gruvbox +include moonfly ## Window styling # Border BG Text Indicator Child Border -client.focused $color05 $color05 $color00 $color01 $color05 +client.focused $color06 $color06 $color00 $color07 $color06 #client.focused_inactive $color00 $color00 $color00 $color00 $color00 # @@ -240,7 +251,7 @@ client.focused $color05 $color05 $color00 $color01 $color05 # Read `man 5 sway-bar` for more information about this section. bar { position top - font pango:Hack, Font Awesome 6 Free 8 + font pango:JuliaMono, Font Awesome 6 Free 8 icon_theme "Adwaita" status_command /run/current-system/sw/bin/i3status-rs colors { @@ -249,17 +260,31 @@ bar { # statusline $color15 # STATE Border BG Text - focused_workspace $color15 $color05 $color00 + focused_workspace $color06 $color06 $color00 } } # default border default_border pixel 2 # Set font -font pango:Hack, Font Awesome 6 Free 8 +font pango:JuliaMono 8 +# Startup applications exec nextcloud --background exec iwgtk -i exec blueman-applet +exec wlsunset -l 51 -L 14 +# window rules +# floating +for_window [app_id="imv"] floating enable; border normal +for_window [app_id="org.twosheds.iwgtk"] floating enable; border normal +for_window [app_id=".blueman-manager-wrapped"] floating enable; border normal +for_window [app_id="com.nextcloud.desktopclient.nextcloud"] floating enable; border normal + +# tabbed containers +for_window [app_id="CubicSDR"] layout tabbed +for_window [app_id="org.wireshark.Wireshark"] layout tabbed + +include ./config.d/* include /etc/sway/config.d/* diff --git a/sway/.config/sway/gruvbox b/sway/.config/sway/gruvbox deleted file mode 100644 index 09a1337..0000000 --- a/sway/.config/sway/gruvbox +++ /dev/null @@ -1,18 +0,0 @@ -set $colorBG #1d2021 -set $colorFG #ebdbb2 -set $color00 #282828 -set $color01 #cc241d -set $color02 #98971a -set $color03 #d79921 -set $color04 #458588 -set $color05 #b16286 -set $color06 #689d6a -set $color07 #a89984 -set $color10 #928374 -set $color11 #fb4934 -set $color12 #b8bb26 -set $color13 #fabd2f -set $color14 #83a598 -set $color15 #d3869b -set $color16 #8ec07c -set $color17 #ebdbb2 diff --git a/sway/.config/sway/moonfly b/sway/.config/sway/moonfly new file mode 100644 index 0000000..c592bac --- /dev/null +++ b/sway/.config/sway/moonfly @@ -0,0 +1,18 @@ +set $colorFG #b2b2b2 +set $colorBG #080808 +set $color00 #323437 +set $color01 #ff5454 +set $color02 #8cc85f +set $color03 #e3c78a +set $color04 #80a0ff +set $color05 #d183e8 +set $color06 #79dac8 +set $color07 #c6c6c6 +set $color10 #949494 +set $color11 #ff5189 +set $color12 #36c692 +set $color13 #c2c292 +set $color14 #74b2ff +set $color15 #ae81ff +set $color16 #85dc85 +set $color17 #e4e4e4 diff --git a/tmux/.tmux.conf b/tmux/.tmux.conf index 77bb976..8b9ed6b 100644 --- a/tmux/.tmux.conf +++ b/tmux/.tmux.conf @@ -1,3 +1,12 @@ +# Plugins +set -g @plugin 'tmux-plugins/tpm' +set -g @plugin 'tmux-plugins/tmux-yank' + +unbind C-b +set -g prefix C-a +bind a send-prefix +bind C-a last-window + # fix esc problems in vim set -s escape-time 0 @@ -9,16 +18,27 @@ set-option -g history-limit 50000 # all the colors we can get set-option -g default-terminal "tmux-256color" -set-option -ga terminal-overrides ",xterm*:Tc" +set-option -ga terminal-overrides ",foot*:Tc" # vi style copy mode setw -g mode-keys vi +set -g status-keys emacs + +# Move between panes with vi keys +bind h select-pane -L +bind j select-pane -D +bind k select-pane -U +bind l select-pane -R # set focus events set-option -g focus-events on # title set -g set-titles on +set -g set-titles-string "#T" + +# mouse +set -g mouse on # theming # modes @@ -26,21 +46,26 @@ setw -g clock-mode-colour white # panes set -g pane-border-style 'fg=colour244' -set -g pane-active-border-style 'fg=colour255' +set -g pane-active-border-style 'fg=colour03' + +bind b break-pane -d # statusbar set -g status-position bottom set -g status-justify left -set -g status-style 'bg=colour8 fg=colour15' -set -g status-right '#[bg=colour0] @#H (^_^) %H:%M ' -set -g status-left '[#S]' -set -g status-right-length 50 -set -g status-left-length 20 +set -g status-style 'bg=colour0 fg=colour15' +#set -g status-right '#[bg=colour0] ' +set -g status-left '[#S]@#H (^_^) [%H:%M] ' +#set -g status-right-length 50 +set -g status-left-length 40 setw -g window-status-current-style 'fg=brightgreen bg=colour0 bold' setw -g window-status-current-format ' #I#[fg=colour15]:#W#[fg=brightgreen]#F ' -setw -g window-status-style 'fg=brightgreen bg=colour236' -setw -g window-status-format ' #I#[fg=colour15]:#W#[fg=green bold]#F ' +setw -g window-status-style 'fg=gray bg=colour0' +setw -g window-status-format ' #I#[fg=colour15]:#W#[fg=gray bold]#F ' setw -g window-status-bell-style 'fg=colour255 bg=colour1 bold' # messages set -g message-style 'fg=black bg=white bold' + +# plugin manager, has to be at the bottom +run '~/.tmux/plugins/tpm/tpm'