start full-soy vim config, change colors a bit, general YOLO commit

This commit is contained in:
Grigory Shipunov 2022-10-02 02:21:55 +02:00
parent 4ff5fc37a6
commit 4bda92d47d
Signed by: 0xa
GPG key ID: 91FA5E5BF9AA901C
17 changed files with 439 additions and 120 deletions

View file

@ -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

View file

@ -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

View file

@ -1,2 +0,0 @@
icons:
when: auto

View file

@ -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 "<change-folder>=Drafts<enter>" "go to drafts"
macro index,pager Md ";<save-message>=Drafts<enter>" "move mail to drafts"
macro index,pager Cd ";<copy-message>=Drafts<enter>" "copy mail to drafts"
set record = "+Sent"
macro index,pager gS "<change-folder>=Sent<enter>" "go to sent"
macro index,pager MS ";<save-message>=Sent<enter>" "move mail to sent"
macro index,pager CS ";<copy-message>=Sent<enter>" "copy mail to sent"
macro index,pager gs "<change-folder>=sinkhole<enter>" "go to sinkhole"
macro index,pager Ms ";<save-message>=sinkhole<enter>" "move mail to sinkhole"
macro index,pager Cs ";<copy-message>=sinkhole<enter>" "copy mail to sinkhole"
macro index,pager gs "<change-folder>=Sent<enter>" "go to sent"
macro index,pager Ms ";<save-message>=Sent<enter>" "move mail to sent"
macro index,pager Cs ";<copy-message>=Sent<enter>" "copy mail to sent"
macro index,pager gh "<change-folder>=sinkhole<enter>" "go to sinkhole"
macro index,pager Mh ";<save-message>=sinkhole<enter>" "move mail to sinkhole"
macro index,pager Ch ";<copy-message>=sinkhole<enter>" "copy mail to sinkhole"
macro index,pager gt "<change-folder>=Trash<enter>" "go to trash"
macro index,pager Mt ";<save-message>=Trash<enter>" "move mail to trash"
macro index,pager Ct ";<copy-message>=Trash<enter>" "copy mail to trash"

View file

@ -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", "<Leader>h", rt.hover_actions.hover_actions, { buffer = bufnr })
vim.keymap.set("n", "<Leader>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({
['<C-b>'] = cmp.mapping.scroll_docs(-4),
['<C-f>'] = cmp.mapping.scroll_docs(4),
['<C-Space>'] = cmp.mapping.complete(),
['<C-e>'] = cmp.mapping.abort(),
['<Tab>'] = 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,
}
})

View file

@ -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({
['<C-b>'] = cmp.mapping.scroll_docs(-4),
['<C-f>'] = cmp.mapping.scroll_docs(4),
['<C-Space>'] = cmp.mapping.complete(),
['<C-e>'] = cmp.mapping.abort(),
['<Tab>'] = 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,
}
})

View file

@ -0,0 +1,3 @@
require'lspconfig'.rnix.setup{
autostart = false,
}

View file

@ -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,
}
)

View file

@ -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)

View file

@ -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 <buffer><silent> <localleader>p :call mdip#MarkdownClipboardImage()<CR>
@ -124,30 +119,23 @@ imap <F1> <Esc>
" 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 <leader><cr> :TREPLSendLine<cr>j
nnoremap <leader>cc :TREPLSendFile
vnoremap <leader><cr> :TREPLSendSelection<cr>
" 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\+\%#\@<!$/
" TeX
let g:tex_conceal = ''
" fzf
nmap <leader>f :GitFiles<cr>
nmap <leader>F :Files<cr>
nmap <leader>b :Buffers<cr>
nnoremap <leader>f <cmd>GFiles<cr>
nnoremap <leader>g <cmd>Rg<cr>
nnoremap <leader>b <cmd>Buffers<cr>
nnoremap <leader>F <cmd>Files<cr>
" highlight yanked text
augroup highlight_yank
autocmd!
au TextYankPost * silent! lua vim.highlight.on_yank { higroup='IncSearch', timeout=200 }
augroup END

View file

@ -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"

View file

@ -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"

View file

@ -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"

View file

@ -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/*

View file

@ -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

18
sway/.config/sway/moonfly Normal file
View file

@ -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

View file

@ -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'