Colorscheme and wallpaper: added catpuccin colorscheme somewhere (IDK) Neovim config in lua Added doom emacs screenshots, since I use it pretty frequently Added X11 configs Modified and deleted some scriptsmaster
@@ -1,40 +1,34 @@ | |||||
Xcursor.size: 20 | |||||
! special | |||||
*.foreground: #effbff | |||||
*.background: #282c34 | |||||
*.cursorColor: #effbff | |||||
*background: #1E1E2E | |||||
*foreground: #CDD6F4 | |||||
! black | ! black | ||||
*.color0: #000000 | |||||
*.color8: #222222 | |||||
*color0: #45475A | |||||
*color8: #585B70 | |||||
! red | ! red | ||||
*.color1: #ffa3a3 | |||||
*.color9: #ff6360 | |||||
*color1: #F38BA8 | |||||
*color9: #F38BA8 | |||||
! green | ! green | ||||
*.color2: #89e19e | |||||
*.color10: #77ff60 | |||||
*color2: #A6E3A1 | |||||
*color10: #A6E3A1 | |||||
! yellow | ! yellow | ||||
*.color3: #fbdf90 | |||||
*.color11: #f1de7f | |||||
*color3: #F9E2AF | |||||
*color11: #F9E2AF | |||||
! blue | ! blue | ||||
*.color4: #7733ee | |||||
*.color12: #7733ee | |||||
*color4: #89B4FA | |||||
*color12: #89B4FA | |||||
! magenta | ! magenta | ||||
*.color5: #9054ff | |||||
*.color13: #9054ff | |||||
*color5: #F5C2E7 | |||||
*color13: #F5C2E7 | |||||
! cyan | ! cyan | ||||
*.color6: #6b90ff | |||||
*.color14: #6b90ff | |||||
*color6: #94E2D5 | |||||
*color14: #94E2D5 | |||||
! white | ! white | ||||
*.color7: #effbff | |||||
*.color15: #effbff | |||||
*.color17: #6600cc | |||||
*color7: #BAC2DE | |||||
*color15: #A6ADC8 |
@@ -24,7 +24,7 @@ | |||||
# dynamic width from 0 to 300 | # dynamic width from 0 to 300 | ||||
# width = (0, 300) | # width = (0, 300) | ||||
# constant width of 300 | # constant width of 300 | ||||
width = (0, 800) | |||||
width = (0, 500) | |||||
# The maximum height of a single notification, excluding the frame. | # The maximum height of a single notification, excluding the frame. | ||||
height = 800 | height = 800 | ||||
@@ -195,7 +195,7 @@ | |||||
max_icon_size = 64 | max_icon_size = 64 | ||||
# Paths to default icons. | # Paths to default icons. | ||||
icon_path = /usr/share/icons/breeze-dark/status/16/:/usr/share/icons/breeze/devices/16/ | |||||
icon_path = /usr/share/icons/breeze-dark/status/16/:/usr/share/icons/breeze-dark/devices/16/:/usr/share/icons/breeze-dark/actions/16/ | |||||
### History ### | ### History ### | ||||
@@ -1,414 +0,0 @@ | |||||
[global] | |||||
### Display ### | |||||
# Which monitor should the notifications be displayed on. | |||||
monitor = 0 | |||||
# Display notification on focused monitor. Possible modes are: | |||||
# mouse: follow mouse pointer | |||||
# keyboard: follow window with keyboard focus | |||||
# none: don't follow anything | |||||
# | |||||
# "keyboard" needs a window manager that exports the | |||||
# _NET_ACTIVE_WINDOW property. | |||||
# This should be the case for almost all modern window managers. | |||||
# | |||||
# If this option is set to mouse or keyboard, the monitor option | |||||
# will be ignored. | |||||
follow = mouse | |||||
# The geometry of the window: | |||||
# [{width}]x{height}[+/-{x}+/-{y}] | |||||
# The geometry of the message window. | |||||
# The height is measured in number of notifications everything else | |||||
# in pixels. If the width is omitted but the height is given | |||||
# ("-geometry x2"), the message window expands over the whole screen | |||||
# (dmenu-like). If width is 0, the window expands to the longest | |||||
# message displayed. A positive x is measured from the left, a | |||||
# negative from the right side of the screen. Y is measured from | |||||
# the top and down respectively. | |||||
# The width can be negative. In this case the actual width is the | |||||
# screen width minus the width defined in within the geometry option. | |||||
geometry = "700x30-30+40" | |||||
# Show how many messages are currently hidden (because of geometry). | |||||
indicate_hidden = yes | |||||
# Shrink window if it's smaller than the width. Will be ignored if | |||||
# width is 0. | |||||
shrink = no | |||||
# The transparency of the window. Range: [0; 100]. | |||||
# This option will only work if a compositing window manager is | |||||
# present (e.g. xcompmgr, compiz, etc.). | |||||
transparency = 15 | |||||
# The height of the entire notification. If the height is smaller | |||||
# than the font height and padding combined, it will be raised | |||||
# to the font height and padding. | |||||
notification_height = 0 | |||||
# Draw a line of "separator_height" pixel height between two | |||||
# notifications. | |||||
# Set to 0 to disable. | |||||
separator_height = 2 | |||||
# Padding between text and separator. | |||||
padding = 8 | |||||
# Horizontal padding. | |||||
horizontal_padding = 8 | |||||
# Defines width in pixels of frame around the notification window. | |||||
# Set to 0 to disable. | |||||
frame_width = 1 | |||||
# Defines color of the frame around the notification window. | |||||
frame_color = "#41008c" | |||||
# Define a color for the separator. | |||||
# possible values are: | |||||
# * auto: dunst tries to find a color fitting to the background; | |||||
# * foreground: use the same color as the foreground; | |||||
# * frame: use the same color as the frame; | |||||
# * anything else will be interpreted as a X color. | |||||
separator_color = frame | |||||
# Sort messages by urgency. | |||||
sort = yes | |||||
# Don't remove messages, if the user is idle (no mouse or keyboard input) | |||||
# for longer than idle_threshold seconds. | |||||
# Set to 0 to disable. | |||||
# A client can set the 'transient' hint to bypass this. See the rules | |||||
# section for how to disable this if necessary | |||||
idle_threshold = 120 | |||||
### Text ### | |||||
font = monospace 13 | |||||
# The spacing between lines. If the height is smaller than the | |||||
# font height, it will get raised to the font height. | |||||
line_height = 0 | |||||
# Possible values are: | |||||
# full: Allow a small subset of html markup in notifications: | |||||
# <b>bold</b> | |||||
# <i>italic</i> | |||||
# <s>strikethrough</s> | |||||
# <u>underline</u> | |||||
# | |||||
# For a complete reference see | |||||
# <http://developer.gnome.org/pango/stable/PangoMarkupFormat.html>. | |||||
# | |||||
# strip: This setting is provided for compatibility with some broken | |||||
# clients that send markup even though it's not enabled on the | |||||
# server. Dunst will try to strip the markup but the parsing is | |||||
# simplistic so using this option outside of matching rules for | |||||
# specific applications *IS GREATLY DISCOURAGED*. | |||||
# | |||||
# no: Disable markup parsing, incoming notifications will be treated as | |||||
# plain text. Dunst will not advertise that it has the body-markup | |||||
# capability if this is set as a global setting. | |||||
# | |||||
# It's important to note that markup inside the format option will be parsed | |||||
# regardless of what this is set to. | |||||
markup = full | |||||
# The format of the message. Possible variables are: | |||||
# %a appname | |||||
# %s summary | |||||
# %b body | |||||
# %i iconname (including its path) | |||||
# %I iconname (without its path) | |||||
# %p progress value if set ([ 0%] to [100%]) or nothing | |||||
# %n progress value if set without any extra characters | |||||
# %% Literal % | |||||
# Markup is allowed | |||||
format = "<b>%s</b>\n%b" | |||||
# Alignment of message text. | |||||
# Possible values are "left", "center" and "right". | |||||
alignment = left | |||||
# Show age of message if message is older than show_age_threshold | |||||
# seconds. | |||||
# Set to -1 to disable. | |||||
show_age_threshold = 60 | |||||
# Split notifications into multiple lines if they don't fit into | |||||
# geometry. | |||||
word_wrap = yes | |||||
# When word_wrap is set to no, specify where to make an ellipsis in long lines. | |||||
# Possible values are "start", "middle" and "end". | |||||
ellipsize = middle | |||||
# Ignore newlines '\n' in notifications. | |||||
ignore_newline = no | |||||
# Stack together notifications with the same content | |||||
stack_duplicates = true | |||||
# Hide the count of stacked notifications with the same content | |||||
hide_duplicate_count = false | |||||
# Display indicators for URLs (U) and actions (A). | |||||
show_indicators = yes | |||||
### Icons ### | |||||
# Align icons left/right/off | |||||
icon_position = left | |||||
# Scale larger icons down to this size, set to 0 to disable | |||||
max_icon_size = 32 | |||||
# Paths to default icons. | |||||
icon_path = /usr/share/icons/Arc/status/32:/usr/share/icons/Arc/devices/32 | |||||
### History ### | |||||
# Should a notification popped up from history be sticky or timeout | |||||
# as if it would normally do. | |||||
sticky_history = yes | |||||
# Maximum amount of notifications kept in history | |||||
history_length = 20 | |||||
### Misc/Advanced ### | |||||
# dmenu path. | |||||
dmenu = /usr/bin/dmenu -p dunst: | |||||
# Browser for opening urls in context menu. | |||||
browser = /usr/bin/firefox -new-tab | |||||
# Always run rule-defined scripts, even if the notification is suppressed | |||||
always_run_script = true | |||||
# Define the title of the windows spawned by dunst | |||||
title = Dunst | |||||
# Define the class of the windows spawned by dunst | |||||
class = Dunst | |||||
# Print a notification on startup. | |||||
# This is mainly for error detection, since dbus (re-)starts dunst | |||||
# automatically after a crash. | |||||
startup_notification = false | |||||
# Manage dunst's desire for talking | |||||
# Can be one of the following values: | |||||
# crit: Critical features. Dunst aborts | |||||
# warn: Only non-fatal warnings | |||||
# mesg: Important Messages | |||||
# info: all unimportant stuff | |||||
# debug: all less than unimportant stuff | |||||
verbosity = mesg | |||||
# Define the corner radius of the notification window | |||||
# in pixel size. If the radius is 0, you have no rounded | |||||
# corners. | |||||
# The radius will be automatically lowered if it exceeds half of the | |||||
# notification height to avoid clipping text and/or icons. | |||||
corner_radius = 0 | |||||
### Legacy | |||||
# Use the Xinerama extension instead of RandR for multi-monitor support. | |||||
# This setting is provided for compatibility with older nVidia drivers that | |||||
# do not support RandR and using it on systems that support RandR is highly | |||||
# discouraged. | |||||
# | |||||
# By enabling this setting dunst will not be able to detect when a monitor | |||||
# is connected or disconnected which might break follow mode if the screen | |||||
# layout changes. | |||||
force_xinerama = false | |||||
### mouse | |||||
# Defines action of mouse event | |||||
# Possible values are: | |||||
# * none: Don't do anything. | |||||
# * do_action: If the notification has exactly one action, or one is marked as default, | |||||
# invoke it. If there are multiple and no default, open the context menu. | |||||
# * close_current: Close current notification. | |||||
# * close_all: Close all notifications. | |||||
mouse_left_click = close_current | |||||
mouse_middle_click = do_action | |||||
mouse_right_click = close_all | |||||
# Experimental features that may or may not work correctly. Do not expect them | |||||
# to have a consistent behaviour across releases. | |||||
[experimental] | |||||
# Calculate the dpi to use on a per-monitor basis. | |||||
# If this setting is enabled the Xft.dpi value will be ignored and instead | |||||
# dunst will attempt to calculate an appropriate dpi value for each monitor | |||||
# using the resolution and physical size. This might be useful in setups | |||||
# where there are multiple screens with very different dpi values. | |||||
per_monitor_dpi = false | |||||
[shortcuts] | |||||
# Shortcuts are specified as [modifier+][modifier+]...key | |||||
# Available modifiers are "ctrl", "mod1" (the alt-key), "mod2", | |||||
# "mod3" and "mod4" (windows-key). | |||||
# Xev might be helpful to find names for keys. | |||||
# Close notification. | |||||
close = ctrl+space | |||||
# Close all notifications. | |||||
close_all = ctrl+shift+space | |||||
# Redisplay last message(s). | |||||
# On the US keyboard layout "grave" is normally above TAB and left | |||||
# of "1". Make sure this key actually exists on your keyboard layout, | |||||
# e.g. check output of 'xmodmap -pke' | |||||
history = ctrl+grave | |||||
# Context menu. | |||||
context = ctrl+shift+period | |||||
[urgency_low] | |||||
# IMPORTANT: colors have to be defined in quotation marks. | |||||
# Otherwise the "#" and following would be interpreted as a comment. | |||||
background = "#222222" | |||||
foreground = "#888888" | |||||
timeout = 10 | |||||
# Icon for notifications with low urgency, uncomment to enable | |||||
#icon = /path/to/icon | |||||
[urgency_normal] | |||||
background = "#41008c" | |||||
foreground = "#ffffff" | |||||
timeout = 10 | |||||
# Icon for notifications with normal urgency, uncomment to enable | |||||
#icon = /path/to/icon | |||||
[urgency_critical] | |||||
background = "#900000" | |||||
foreground = "#ffffff" | |||||
frame_color = "#ff0000" | |||||
timeout = 0 | |||||
# Icon for notifications with critical urgency, uncomment to enable | |||||
#icon = /path/to/icon | |||||
# Every section that isn't one of the above is interpreted as a rules to | |||||
# override settings for certain messages. | |||||
# | |||||
# Messages can be matched by | |||||
# appname (discouraged, see desktop_entry) | |||||
# body | |||||
# category | |||||
# desktop_entry | |||||
# icon | |||||
# match_transient | |||||
# msg_urgency | |||||
# stack_tag | |||||
# summary | |||||
# | |||||
# and you can override the | |||||
# background | |||||
# foreground | |||||
# format | |||||
# frame_color | |||||
# fullscreen | |||||
# new_icon | |||||
# set_stack_tag | |||||
# set_transient | |||||
# timeout | |||||
# urgency | |||||
# | |||||
# Shell-like globbing will get expanded. | |||||
# | |||||
# Instead of the appname filter, it's recommended to use the desktop_entry filter. | |||||
# GLib based applications export their desktop-entry name. In comparison to the appname, | |||||
# the desktop-entry won't get localized. | |||||
# | |||||
# SCRIPTING | |||||
# You can specify a script that gets run when the rule matches by | |||||
# setting the "script" option. | |||||
# The script will be called as follows: | |||||
# script appname summary body icon urgency | |||||
# where urgency can be "LOW", "NORMAL" or "CRITICAL". | |||||
# | |||||
# NOTE: if you don't want a notification to be displayed, set the format | |||||
# to "". | |||||
# NOTE: It might be helpful to run dunst -print in a terminal in order | |||||
# to find fitting options for rules. | |||||
# Disable the transient hint so that idle_threshold cannot be bypassed from the | |||||
# client | |||||
#[transient_disable] | |||||
# match_transient = yes | |||||
# set_transient = no | |||||
# | |||||
# Make the handling of transient notifications more strict by making them not | |||||
# be placed in history. | |||||
#[transient_history_ignore] | |||||
# match_transient = yes | |||||
# history_ignore = yes | |||||
# fullscreen values | |||||
# show: show the notifications, regardless if there is a fullscreen window opened | |||||
# delay: displays the new notification, if there is no fullscreen window active | |||||
# If the notification is already drawn, it won't get undrawn. | |||||
# pushback: same as delay, but when switching into fullscreen, the notification will get | |||||
# withdrawn from screen again and will get delayed like a new notification | |||||
#[fullscreen_delay_everything] | |||||
# fullscreen = delay | |||||
#[fullscreen_show_critical] | |||||
# msg_urgency = critical | |||||
# fullscreen = show | |||||
#[espeak] | |||||
# summary = "*" | |||||
# script = dunst_espeak.sh | |||||
#[script-test] | |||||
# summary = "*script*" | |||||
# script = dunst_test.sh | |||||
#[ignore] | |||||
# # This notification will not be displayed | |||||
# summary = "foobar" | |||||
# format = "" | |||||
#[history-ignore] | |||||
# # This notification will not be saved in history | |||||
# summary = "foobar" | |||||
# history_ignore = yes | |||||
#[skip-display] | |||||
# # This notification will not be displayed, but will be included in the history | |||||
# summary = "foobar" | |||||
# skip_display = yes | |||||
#[signed_on] | |||||
# appname = Pidgin | |||||
# summary = "*signed on*" | |||||
# urgency = low | |||||
# | |||||
#[signed_off] | |||||
# appname = Pidgin | |||||
# summary = *signed off* | |||||
# urgency = low | |||||
# | |||||
#[says] | |||||
# appname = Pidgin | |||||
# summary = *says* | |||||
# urgency = critical | |||||
# | |||||
#[twitter] | |||||
# appname = Pidgin | |||||
# summary = *twitter.com* | |||||
# urgency = normal | |||||
# | |||||
#[stack-volumes] | |||||
# appname = "some_volume_notifiers" | |||||
# set_stack_tag = "volume" | |||||
# | |||||
# vim: ft=cfg |
@@ -1,21 +0,0 @@ | |||||
{ | |||||
"languageserver": { | |||||
"ccls": { | |||||
"command": "ccls", | |||||
"args": ["--log-file=/tmp/ccls.log", "-v=1"], | |||||
"filetypes": ["c", "cc", "cpp", "c++", "objc", "objcpp"], | |||||
"rootPatterns": [".ccls", "compile_commands.json", ".git/", ".hg/"], | |||||
"initializationOptions": { | |||||
"cache": { | |||||
"directory": "/tmp/ccls" | |||||
}, | |||||
"index": { | |||||
"onChange": true | |||||
}, | |||||
"highlight": { | |||||
"lsRanges": true | |||||
} | |||||
} | |||||
} | |||||
} | |||||
} |
@@ -0,0 +1,5 @@ | |||||
require('rin.settings') | |||||
require('rin.plugins') | |||||
require('rin.keymaps') | |||||
require('rin.lsp') | |||||
-- TODO: treesitter, telescope, NERDtree alt |
@@ -1,363 +0,0 @@ | |||||
call plug#begin('~/.vim/plugged') | |||||
Plug 'joshdick/onedark.vim' " Colors | |||||
Plug 'itchyny/lightline.vim' " Lightline statusbar | |||||
Plug 'scrooloose/nerdtree' " Nerdtree | |||||
Plug 'tiagofumo/vim-nerdtree-syntax-highlight' " Highlighting Nerdtree | |||||
Plug 'ryanoasis/vim-devicons' " Icons for Nerdtree | |||||
Plug 'ap/vim-css-color' " Color previews for CSS | |||||
Plug 'junegunn/limelight.vim' | |||||
Plug 'junegunn/fzf.vim' | |||||
Plug 'xolox/vim-misc' | |||||
Plug 'xolox/vim-session' | |||||
Plug 'neoclide/coc.nvim', {'branch': 'release'} | |||||
Plug 'mfussenegger/nvim-dap' | |||||
Plug 'rcarriga/nvim-dap-ui' | |||||
Plug 'jackguo380/vim-lsp-cxx-highlight' | |||||
Plug 'vim-syntastic/syntastic' | |||||
Plug 'rhysd/vim-clang-format' | |||||
Plug 'lambdalisue/suda.vim' | |||||
call plug#end() | |||||
" for transparent background | |||||
function! AdaptColorscheme() | |||||
highlight clear CursorLine | |||||
highlight Normal ctermbg=none | |||||
highlight LineNr ctermbg=none | |||||
highlight Folded ctermbg=none | |||||
highlight NonText ctermbg=none | |||||
highlight SpecialKey ctermbg=none | |||||
highlight VertSplit ctermbg=none | |||||
highlight SignColumn ctermbg=none | |||||
endfunction | |||||
autocmd ColorScheme * call AdaptColorscheme() | |||||
set cursorline | |||||
" colorscheme | |||||
syntax on | |||||
" brackets | |||||
inoremap " ""<left> | |||||
inoremap ' ''<left> | |||||
inoremap ( ()<left> | |||||
inoremap [ []<left> | |||||
inoremap { {}<left> | |||||
inoremap {<CR> {<CR>}<ESC>O | |||||
inoremap {;<CR> {<CR>};<ESC>O | |||||
filetype plugin on | |||||
let g:instant_markdown_browser = "firefox --new-window" | |||||
let g:session_autosave = "no" | |||||
let g:session_autoload = "no" | |||||
" Make Vim more useful | |||||
set nocompatible | |||||
" Long lines as one line | |||||
set nowrap | |||||
" Ruler | |||||
set ruler | |||||
" Horizontal splits will automatically be below | |||||
set splitbelow | |||||
" Vertical splits will automatically be to the right | |||||
set splitright | |||||
" Indent | |||||
set smartindent | |||||
set autoindent | |||||
" Use the OS clipboard by default (on versions compiled with `+clipboard`) | |||||
set clipboard+=unnamedplus | |||||
" Enhance command-line completion | |||||
set wildmenu | |||||
" Disables automatic commenting on newline: | |||||
autocmd FileType * setlocal formatoptions-=c formatoptions-=r formatoptions-=o | |||||
" Allow cursor keys in insert mode | |||||
" Allow backspace in insert mode | |||||
set backspace=indent,eol,start | |||||
" Optimize for fast terminal connections | |||||
set ttyfast | |||||
" Add the g flag to search/replace by default | |||||
set gdefault | |||||
" Use UTF-8 without BOM | |||||
set encoding=utf-8 | |||||
" Change mapleader | |||||
let mapleader="," | |||||
" Don’t add empty newlines at the end of files | |||||
set binary | |||||
set noeol | |||||
set smartcase | |||||
set noswapfile | |||||
set nobackup | |||||
set undodir=~/.vim/undodir | |||||
set undofile | |||||
" 256 colors | |||||
set t_Co=256 | |||||
" Respect modeline in files | |||||
set modeline | |||||
set modelines=4 | |||||
" Enable per-directory .vimrc files and disable unsafe commands in them | |||||
set exrc | |||||
set secure | |||||
" Enable line numbers | |||||
set number | |||||
" Make tabs as wide as two spaces | |||||
set tabstop=4 | |||||
set shiftwidth=4 | |||||
set smarttab | |||||
set expandtab | |||||
" Highlight searches | |||||
set hlsearch | |||||
" Ignore case of searches | |||||
set ignorecase | |||||
" Highlight dynamically as pattern is typed | |||||
set incsearch | |||||
" Always show status line | |||||
set laststatus=2 | |||||
" Enable mouse in all modes | |||||
set mouse=a | |||||
" Disable error bells | |||||
set noerrorbells | |||||
" Don’t reset cursor to start of line when moving around. | |||||
set nostartofline | |||||
" Show the cursor position | |||||
set ruler | |||||
" Don’t show the intro message when starting Vim | |||||
set shortmess=atI | |||||
" Show the current mode | |||||
set showmode | |||||
" Show the filename in the window titlebar | |||||
set title | |||||
" Show the (partial) command as it’s being typed | |||||
set showcmd | |||||
" Use relative line numbers | |||||
set hidden | |||||
set nobackup | |||||
set nowritebackup | |||||
set updatetime=300 | |||||
set shortmess+=c | |||||
" Give more space for displaying messages. | |||||
set cmdheight=2 | |||||
set pumheight=5 | |||||
" Always show the signcolumn, otherwise it would shift the text each time | |||||
" diagnostics appear/become resolved. | |||||
if has("nvim-0.5.0") || has("patch-8.1.1564") | |||||
" Recently vim can merge signcolumn and number column into one | |||||
set signcolumn=number | |||||
else | |||||
set signcolumn=yes | |||||
endif | |||||
inoremap <silent><expr> <TAB> | |||||
\ pumvisible() ? "\<C-n>" : | |||||
\ <SID>check_back_space() ? "\<TAB>" : | |||||
\ coc#refresh() | |||||
inoremap <expr><S-TAB> pumvisible() ? "\<C-p>" : "\<C-h>" | |||||
function! s:check_back_space() abort | |||||
let col = col('.') - 1 | |||||
return !col || getline('.')[col - 1] =~# '\s' | |||||
endfunction | |||||
" Use <c-space> to trigger completion. | |||||
if has('nvim') | |||||
inoremap <silent><expr> <c-return> coc#refresh() | |||||
else | |||||
inoremap <silent><expr> <c-@> coc#refresh() | |||||
endif | |||||
" Make <CR> auto-select the first completion item and notify coc.nvim to | |||||
" format on enter, <cr> could be remapped by other vim plugin | |||||
inoremap <silent><expr> <cr> pumvisible() ? coc#_select_confirm() | |||||
\: "\<C-g>u\<CR>\<c-r>=coc#on_enter()\<CR>" | |||||
" Use `[g` and `]g` to navigate diagnostics | |||||
" Use `:CocDiagnostics` to get all diagnostics of current buffer in location list. | |||||
nmap <silent> [g <Plug>(coc-diagnostic-prev) | |||||
nmap <silent> ]g <Plug>(coc-diagnostic-next) | |||||
" GoTo code navigation. | |||||
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) | |||||
" 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>') | |||||
elseif (coc#rpc#ready()) | |||||
call CocActionAsync('doHover') | |||||
else | |||||
execute '!' . &keywordprg . " " . expand('<cword>') | |||||
endif | |||||
endfunction | |||||
" Highlight the symbol and its references when holding the cursor. | |||||
autocmd CursorHold * silent call CocActionAsync('highlight') | |||||
" Symbol renaming. | |||||
nmap <leader>rn <Plug>(coc-rename) | |||||
" Formatting selected code. | |||||
xmap <leader>f <Plug>(coc-format-selected) | |||||
nmap <leader>f <Plug>(coc-format-selected) | |||||
augroup mygroup | |||||
autocmd! | |||||
" Setup formatexpr specified filetype(s). | |||||
autocmd FileType typescript,json setl formatexpr=CocAction('formatSelected') | |||||
" Update signature help on jump placeholder. | |||||
autocmd User CocJumpPlaceholder call CocActionAsync('showSignatureHelp') | |||||
augroup end | |||||
" Applying codeAction to the selected region. | |||||
" Example: `<leader>aap` for current paragraph | |||||
xmap <leader>a <Plug>(coc-codeaction-selected) | |||||
nmap <leader>a <Plug>(coc-codeaction-selected) | |||||
" Remap keys for applying codeAction to the current buffer. | |||||
nmap <leader>ac <Plug>(coc-codeaction) | |||||
" Apply AutoFix to problem on the current line. | |||||
nmap <leader>qf <Plug>(coc-fix-current) | |||||
" Run the Code Lens action on the current line. | |||||
nmap <leader>cl <Plug>(coc-codelens-action) | |||||
" Remap <C-f> and <C-b> for scroll float windows/popups. | |||||
if has('nvim-0.4.0') || has('patch-8.2.0750') | |||||
nnoremap <silent><nowait><expr> <C-f> coc#float#has_scroll() ? coc#float#scroll(1) : "\<C-f>" | |||||
nnoremap <silent><nowait><expr> <C-b> coc#float#has_scroll() ? coc#float#scroll(0) : "\<C-b>" | |||||
inoremap <silent><nowait><expr> <C-f> coc#float#has_scroll() ? "\<c-r>=coc#float#scroll(1)\<cr>" : "\<Right>" | |||||
inoremap <silent><nowait><expr> <C-b> coc#float#has_scroll() ? "\<c-r>=coc#float#scroll(0)\<cr>" : "\<Left>" | |||||
vnoremap <silent><nowait><expr> <C-f> coc#float#has_scroll() ? coc#float#scroll(1) : "\<C-f>" | |||||
vnoremap <silent><nowait><expr> <C-b> coc#float#has_scroll() ? coc#float#scroll(0) : "\<C-b>" | |||||
endif | |||||
" Add `:Format` command to format current buffer. | |||||
command! -nargs=0 Format :call CocActionAsync('format') | |||||
" Add `:Fold` command to fold current buffer. | |||||
command! -nargs=? Fold :call CocAction('fold', <f-args>) | |||||
" Add `:OR` command for organize imports of the current buffer. | |||||
command! -nargs=0 OR :call CocActionAsync('runCommand', 'editor.action.organizeImport') | |||||
let g:lightline = { | |||||
\ 'colorscheme': 'onedark', | |||||
\ 'active': { | |||||
\ 'left': [ [ 'mode', 'paste' ], | |||||
\ [ 'cocstatus', 'readonly', 'filename', 'modified' ] ] | |||||
\ }, | |||||
\ 'component_function': { | |||||
\ 'cocstatus': 'coc#status' | |||||
\ }, | |||||
\ } | |||||
" Use autocmd to force lightline update. | |||||
autocmd User CocStatusChange,CocDiagnosticChange call lightline#update() | |||||
" Mappings for CoCList | |||||
" Show all diagnostics. | |||||
nnoremap <silent><nowait> <space>a :<C-u>CocList diagnostics<cr> | |||||
" Manage extensions. | |||||
nnoremap <silent><nowait> <space>e :<C-u>CocList extensions<cr> | |||||
" Show commands. | |||||
nnoremap <silent><nowait> <space>c :<C-u>CocList commands<cr> | |||||
" Find symbol of current document. | |||||
nnoremap <silent><nowait> <space>o :<C-u>CocList outline<cr> | |||||
" Search workspace symbols. | |||||
nnoremap <silent><nowait> <space>s :<C-u>CocList -I symbols<cr> | |||||
" Do default action for next item. | |||||
nnoremap <silent><nowait> <space>j :<C-u>CocNext<CR> | |||||
" Do default action for previous item. | |||||
nnoremap <silent><nowait> <space>k :<C-u>CocPrev<CR> | |||||
" Resume latest coc list. | |||||
nnoremap <silent><nowait> <space>p :<C-u>CocListResume<CR> | |||||
" c++ syntax highlighting | |||||
let g:cpp_class_scope_highlight = 1 | |||||
let g:cpp_member_variable_highlight = 1 | |||||
let g:cpp_class_decl_highlight = 1 | |||||
" c++ linting | |||||
let g:syntastic_cpp_checkers = ['cpplint'] | |||||
let g:syntastic_c_checkers = ['cpplint'] | |||||
let g:syntastic_cpp_cpplint_exec = 'cpplint' | |||||
" The following two lines are optional. Configure it to your liking! | |||||
let g:syntastic_check_on_open = 1 | |||||
let g:syntastic_check_on_wq = 0 | |||||
nnoremap <Leader>f :<C-u>ClangFormat<CR> | |||||
" header guards | |||||
function! s:insert_gates() | |||||
let gatename = substitute(toupper(expand("%:t")), "\\.", "_", "g") | |||||
execute "normal! i#ifndef " . gatename | |||||
execute "normal! o#define " . gatename . " " | |||||
execute "normal! Go#endif /* " . gatename . " */" | |||||
normal! ko | |||||
endfunction | |||||
autocmd BufNewFile *.{h,hpp} call <SID>insert_gates() | |||||
if exists("&relativenumber") | |||||
set relativenumber | |||||
au BufReadPost * set relativenumber | |||||
endif " Start scrolling three lines before the horizontal window border | |||||
set scrolloff=3 | |||||
" Toggle spellchecking | |||||
function! ToggleSpellCheck() | |||||
set spell! | |||||
if &spell | |||||
echo "Spellcheck ON" | |||||
else | |||||
echo "Spellcheck OFF" | |||||
endif | |||||
endfunction | |||||
" Better tabbing | |||||
vnoremap < <gv | |||||
vnoremap > >gv | |||||
" Better window navigation | |||||
nnoremap <C-h> <C-w>h | |||||
nnoremap <C-j> <C-w>j | |||||
nnoremap <C-k> <C-w>k | |||||
nnoremap <C-l> <C-w>l | |||||
map <Leader>c :w! \| !make <CR> | |||||
map <Leader>r <c-w>v <c-w>l :terminal ./run.sh <c-r>% <CR>a | |||||
map <Leader>t :!st&<CR><CR> | |||||
map <Leader>o :FZF<CR> | |||||
map <Leader>s :call ToggleSpellCheck()<CR> | |||||
map <Leader>n :NERDTreeToggle<CR> | |||||
map Q gq | |||||
" Insert mode completion | |||||
imap <c-x><c-k> <plug>(fzf-complete-word) | |||||
imap <c-x><c-f> <plug>(fzf-complete-path) | |||||
imap <c-x><c-l> <plug>(fzf-complete-line) | |||||
vnoremap <C-c> "+y | |||||
" Write as root | |||||
cnoremap w!! SudaWrite | |||||
colorscheme onedark | |||||
" Debugging | |||||
map <Leader>db :lua require'dap'.toggle_breakpoint() <CR> | |||||
map <Leader>dc :lua require'dap'.continue() <CR> | |||||
map <Leader>do :lua require'dap'.step_over() <CR> | |||||
map <Leader>di :lua require'dap'.step_into() <CR> | |||||
map <Leader>dn :lua require("dapui").toggle() <CR> | |||||
lua require("dap-conf") | |||||
lua require("dapui").setup() |
@@ -1,32 +0,0 @@ | |||||
local dap = require('dap') | |||||
dap.adapters.cppdbg = { | |||||
id = 'cppdbg', | |||||
type = 'executable', | |||||
command = '/home/rinri/.config/nvim/cpptools/extension/debugAdapters/bin/OpenDebugAD7', | |||||
} | |||||
dap.configurations.cpp = { | |||||
{ | |||||
name = "Launch file", | |||||
type = "cppdbg", | |||||
request = "launch", | |||||
program = function() | |||||
return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/', 'file') | |||||
end, | |||||
cwd = '${workspaceFolder}', | |||||
stopOnEntry = true, | |||||
}, | |||||
{ | |||||
name = 'Attach to gdbserver :1234', | |||||
type = 'cppdbg', | |||||
request = 'launch', | |||||
MIMode = 'gdb', | |||||
miDebuggerServerAddress = 'localhost:1234', | |||||
miDebuggerPath = '/usr/bin/gdb', | |||||
cwd = '${workspaceFolder}', | |||||
program = function() | |||||
return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/', 'file') | |||||
end, | |||||
}, | |||||
} |
@@ -0,0 +1,34 @@ | |||||
local function map(kind, lhs, rhs, opts) | |||||
vim.api.nvim_set_keymap(kind, lhs, rhs, opts) | |||||
end | |||||
local sn = {noremap = true, silent = true} | |||||
-- Brackets | |||||
map('i', '\"', '\"\"<left>', sn) | |||||
map('i', '\'', '\'\'<left>', sn) | |||||
map('i', '(', '()<left>', sn) | |||||
map('i', '[', '[]<left>', sn) | |||||
map('i', '{', '{}<left>', sn) | |||||
map('i', '{<CR>', '{<CR>}<ESC>O', sn) | |||||
map('i', '{;<CR>', '{<CR>};<ESC>O', sn) | |||||
-- Spell check toggle | |||||
map('n', '<F11>', ':set spell!<CR>', sn) | |||||
map('i', '<F11>', '<C-O>:set spell!<CR>', sn) | |||||
-- Identation | |||||
map('v', '<', '<gv', sn) | |||||
map('v', '>', '>gv', sn) | |||||
-- Split navigation | |||||
map('n', '<C-h>', '<C-w>h', sn) | |||||
map('n', '<C-j>', '<C-w>j', sn) | |||||
map('n', '<C-k>', '<C-w>k', sn) | |||||
map('n', '<C-l>', '<C-w>l', sn) | |||||
-- Run Make | |||||
map('n', '<Leader>c', ':w! | !make <CR>', sn) | |||||
map('n', '<Leader>n', ':NERDTreeToggle<CR>', sn) | |||||
map('n', '<Leader>l', ':Limelight!! 0.5 <CR>', sn) |
@@ -0,0 +1,120 @@ | |||||
-- TODO: show function signature help on hover | |||||
-- web, vimtex | |||||
-- Mappings. | |||||
-- See `:help vim.diagnostic.*` for documentation on any of the below functions | |||||
local opts = { noremap = true, silent = true } | |||||
vim.keymap.set('n', '<space>e', vim.diagnostic.open_float, opts) | |||||
vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, opts) | |||||
vim.keymap.set('n', ']d', vim.diagnostic.goto_next, opts) | |||||
vim.keymap.set('n', '<space>q', vim.diagnostic.setloclist, opts) | |||||
-- Use an on_attach function to only map the following keys | |||||
-- after the language server attaches to the current buffer | |||||
local on_attach = function(client, bufnr) | |||||
-- Enable completion triggered by <c-x><c-o> | |||||
vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc') | |||||
-- Mappings. | |||||
-- See `:help vim.lsp.*` for documentation on any of the below functions | |||||
local bufopts = { noremap = true, silent = true, buffer = bufnr } | |||||
vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, bufopts) | |||||
vim.keymap.set('n', 'gd', vim.lsp.buf.definition, bufopts) | |||||
vim.keymap.set('n', 'K', vim.lsp.buf.hover, bufopts) | |||||
vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, bufopts) | |||||
vim.keymap.set('n', '<C-k>', vim.lsp.buf.signature_help, bufopts) | |||||
vim.keymap.set('n', '<space>wa', vim.lsp.buf.add_workspace_folder, bufopts) | |||||
vim.keymap.set('n', '<space>wr', vim.lsp.buf.remove_workspace_folder, bufopts) | |||||
vim.keymap.set('n', '<space>wl', function() | |||||
print(vim.inspect(vim.lsp.buf.list_workspace_folders())) | |||||
end, bufopts) | |||||
vim.keymap.set('n', '<space>D', vim.lsp.buf.type_definition, bufopts) | |||||
vim.keymap.set('n', '<space>rn', vim.lsp.buf.rename, bufopts) | |||||
vim.keymap.set('n', '<space>ca', vim.lsp.buf.code_action, bufopts) | |||||
vim.keymap.set('n', 'gr', vim.lsp.buf.references, bufopts) | |||||
vim.keymap.set('n', '<space>f', vim.lsp.buf.formatting, bufopts) | |||||
end | |||||
local lsp_flags = { | |||||
-- This is the default in Nvim 0.7+ | |||||
debounce_text_changes = 150, | |||||
} | |||||
local servers = { 'tsserver', 'rust_analyzer', 'clangd', 'sumneko_lua' } | |||||
local lspconfig = require('lspconfig') | |||||
lspconfig['sumneko_lua'].setup { | |||||
on_attach = on_attach, | |||||
flags = lsp_flags, | |||||
settings = { | |||||
Lua = { | |||||
runtime = { | |||||
-- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) | |||||
version = 'LuaJIT', | |||||
}, | |||||
diagnostics = { | |||||
-- Get the language server to recognize the `vim` global | |||||
globals = { 'vim' }, | |||||
}, | |||||
workspace = { | |||||
-- Make the server aware of Neovim runtime files | |||||
library = vim.api.nvim_get_runtime_file("", true), | |||||
}, | |||||
-- Do not send telemetry data containing a randomized but unique identifier | |||||
telemetry = { | |||||
enable = false, | |||||
}, | |||||
}, | |||||
}, | |||||
} | |||||
local capabilities = vim.lsp.protocol.make_client_capabilities() | |||||
capabilities = require('cmp_nvim_lsp').update_capabilities(capabilities) | |||||
for _, lsp in ipairs(servers) do | |||||
lspconfig[lsp].setup { | |||||
on_attach = on_attach, | |||||
flags = lsp_flags, | |||||
capabilities = capabilities, | |||||
} | |||||
end | |||||
local luasnip = require 'luasnip' | |||||
local cmp = require 'cmp' | |||||
cmp.setup { | |||||
snippet = { | |||||
expand = function(args) | |||||
luasnip.lsp_expand(args.body) | |||||
end, | |||||
}, | |||||
mapping = cmp.mapping.preset.insert({ | |||||
['<C-d>'] = cmp.mapping.scroll_docs(-4), | |||||
['<C-f>'] = cmp.mapping.scroll_docs(4), | |||||
['<C-Space>'] = cmp.mapping.complete(), | |||||
['<CR>'] = cmp.mapping.confirm { | |||||
behavior = cmp.ConfirmBehavior.Replace, | |||||
select = true, | |||||
}, | |||||
['<Tab>'] = cmp.mapping(function(fallback) | |||||
if cmp.visible() then | |||||
cmp.select_next_item() | |||||
elseif luasnip.expand_or_jumpable() then | |||||
luasnip.expand_or_jump() | |||||
else | |||||
fallback() | |||||
end | |||||
end, { 'i', 's' }), | |||||
['<S-Tab>'] = cmp.mapping(function(fallback) | |||||
if cmp.visible() then | |||||
cmp.select_prev_item() | |||||
elseif luasnip.jumpable(-1) then | |||||
luasnip.jump(-1) | |||||
else | |||||
fallback() | |||||
end | |||||
end, { 'i', 's' }), | |||||
}), | |||||
sources = { | |||||
{ name = 'nvim_lsp' }, | |||||
{ name = 'luasnip' }, | |||||
}, | |||||
} |
@@ -0,0 +1,31 @@ | |||||
-- Automatically run :PackerCompile whenever plugins.lua is updated with an autocommand: | |||||
vim.api.nvim_create_autocmd('BufWritePost', { | |||||
group = vim.api.nvim_create_augroup('PACKER', { clear = true }), | |||||
pattern = 'plugins.lua', | |||||
command = 'source <afile> | PackerCompile', | |||||
}) | |||||
require('mason').setup() | |||||
return require('packer').startup(function(use) | |||||
use 'wbthomason/packer.nvim' | |||||
use 'glepnir/dashboard-nvim' | |||||
use 'joshdick/onedark.vim' | |||||
use 'itchyny/lightline.vim' | |||||
use 'scrooloose/nerdtree' | |||||
use 'tiagofumo/vim-nerdtree-syntax-highlight' | |||||
use 'ryanoasis/vim-devicons' | |||||
use 'ap/vim-css-color' | |||||
use 'vim-syntastic/syntastic' | |||||
use 'rhysd/vim-clang-format' | |||||
use 'lambdalisue/suda.vim' | |||||
use 'neovim/nvim-lspconfig' | |||||
use 'jackguo380/vim-lsp-cxx-highlight' | |||||
use 'williamboman/mason.nvim' | |||||
use 'hrsh7th/nvim-cmp' -- Autocompletion plugin | |||||
use 'hrsh7th/cmp-nvim-lsp' -- LSP source for nvim-cmp | |||||
use 'saadparwaiz1/cmp_luasnip' -- Snippets source for nvim-cmp | |||||
use 'L3MON4D3/LuaSnip' -- Snippets plugin | |||||
-- TODO: add telescope and other useful plugins | |||||
end) | |||||
@@ -0,0 +1,81 @@ | |||||
local g = vim.g | |||||
local o = vim.o | |||||
local api = vim.api | |||||
local opt = vim.opt | |||||
local cmd = vim.cmd | |||||
local home = os.getenv('HOME') | |||||
-- Decrease update time | |||||
o.timeoutlen = 500 | |||||
o.updatetime = 200 | |||||
-- Number of screen lines to keep above and below the cursor | |||||
o.scrolloff = 8 | |||||
o.number = true | |||||
o.relativenumber = true | |||||
o.signcolumn = 'yes:1' | |||||
o.expandtab = true | |||||
-- o.smarttab = true | |||||
o.cindent = true | |||||
-- o.autoindent = true | |||||
o.wrap = false | |||||
o.textwidth = 300 | |||||
o.tabstop = 4 | |||||
o.shiftwidth = 0 | |||||
o.softtabstop = -1 -- If negative, shiftwidth value is used | |||||
o.list = true | |||||
o.listchars = 'trail:·,nbsp:◇,tab:→ ,extends:▸,precedes:◂' | |||||
-- OS clipboard | |||||
o.clipboard = 'unnamedplus' | |||||
-- Mouse in all modes | |||||
opt.mouse = 'a' | |||||
-- Case insensitive searching UNLESS /C or capital in search | |||||
o.ignorecase = true | |||||
o.smartcase = true | |||||
o.backup = false | |||||
o.writebackup = false | |||||
o.undofile = true | |||||
o.undodir = home .. '/.vim/undodir' | |||||
o.swapfile = false | |||||
o.splitright = true | |||||
o.splitbelow = true | |||||
g.lightline = {colorscheme = 'onedark'} | |||||
g.mapleader = ' ' | |||||
g.maplocalleader = ' ' | |||||
o.termguicolors = true | |||||
api.nvim_create_autocmd('ColorScheme', { | |||||
command = [[ | |||||
highlight clear CursorLine | |||||
highlight Normal ctermbg=none | |||||
highlight Normal guibg=none | |||||
highlight LineNr ctermbg=none | |||||
highlight LineNr guibg=none | |||||
highlight Folded ctermbg=none | |||||
highlight Folded guibg=none | |||||
highlight NonText ctermbg=none | |||||
highlight NonText guibg=none | |||||
highlight SpecialKey ctermbg=none | |||||
highlight SpecialKey guibg=none | |||||
highlight VertSplit ctermbg=none | |||||
highlight VertSplit guibg=none | |||||
highlight SignColumn ctermbg=none | |||||
highlight SignColumn guibg=none | |||||
]] | |||||
}) | |||||
cmd('colorscheme onedark') | |||||
-- BUG: this won't update the search count after pressing `n` or `N` | |||||
-- When running macros and regexes on a large file, lazy redraw tells neovim/vim not to draw the screen | |||||
-- o.lazyredraw = true |
@@ -0,0 +1,184 @@ | |||||
-- Automatically generated packer.nvim plugin loader code | |||||
if vim.api.nvim_call_function('has', {'nvim-0.5'}) ~= 1 then | |||||
vim.api.nvim_command('echohl WarningMsg | echom "Invalid Neovim version for packer.nvim! | echohl None"') | |||||
return | |||||
end | |||||
vim.api.nvim_command('packadd packer.nvim') | |||||
local no_errors, error_msg = pcall(function() | |||||
_G._packer = _G._packer or {} | |||||
_G._packer.inside_compile = true | |||||
local time | |||||
local profile_info | |||||
local should_profile = false | |||||
if should_profile then | |||||
local hrtime = vim.loop.hrtime | |||||
profile_info = {} | |||||
time = function(chunk, start) | |||||
if start then | |||||
profile_info[chunk] = hrtime() | |||||
else | |||||
profile_info[chunk] = (hrtime() - profile_info[chunk]) / 1e6 | |||||
end | |||||
end | |||||
else | |||||
time = function(chunk, start) end | |||||
end | |||||
local function save_profiles(threshold) | |||||
local sorted_times = {} | |||||
for chunk_name, time_taken in pairs(profile_info) do | |||||
sorted_times[#sorted_times + 1] = {chunk_name, time_taken} | |||||
end | |||||
table.sort(sorted_times, function(a, b) return a[2] > b[2] end) | |||||
local results = {} | |||||
for i, elem in ipairs(sorted_times) do | |||||
if not threshold or threshold and elem[2] > threshold then | |||||
results[i] = elem[1] .. ' took ' .. elem[2] .. 'ms' | |||||
end | |||||
end | |||||
if threshold then | |||||
table.insert(results, '(Only showing plugins that took longer than ' .. threshold .. ' ms ' .. 'to load)') | |||||
end | |||||
_G._packer.profile_output = results | |||||
end | |||||
time([[Luarocks path setup]], true) | |||||
local package_path_str = "/home/rinri/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?.lua;/home/rinri/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?/init.lua;/home/rinri/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?.lua;/home/rinri/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?/init.lua" | |||||
local install_cpath_pattern = "/home/rinri/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/lua/5.1/?.so" | |||||
if not string.find(package.path, package_path_str, 1, true) then | |||||
package.path = package.path .. ';' .. package_path_str | |||||
end | |||||
if not string.find(package.cpath, install_cpath_pattern, 1, true) then | |||||
package.cpath = package.cpath .. ';' .. install_cpath_pattern | |||||
end | |||||
time([[Luarocks path setup]], false) | |||||
time([[try_loadstring definition]], true) | |||||
local function try_loadstring(s, component, name) | |||||
local success, result = pcall(loadstring(s), name, _G.packer_plugins[name]) | |||||
if not success then | |||||
vim.schedule(function() | |||||
vim.api.nvim_notify('packer.nvim: Error running ' .. component .. ' for ' .. name .. ': ' .. result, vim.log.levels.ERROR, {}) | |||||
end) | |||||
end | |||||
return result | |||||
end | |||||
time([[try_loadstring definition]], false) | |||||
time([[Defining packer_plugins]], true) | |||||
_G.packer_plugins = { | |||||
LuaSnip = { | |||||
loaded = true, | |||||
path = "/home/rinri/.local/share/nvim/site/pack/packer/start/LuaSnip", | |||||
url = "https://github.com/L3MON4D3/LuaSnip" | |||||
}, | |||||
["cmp-nvim-lsp"] = { | |||||
loaded = true, | |||||
path = "/home/rinri/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp", | |||||
url = "https://github.com/hrsh7th/cmp-nvim-lsp" | |||||
}, | |||||
cmp_luasnip = { | |||||
loaded = true, | |||||
path = "/home/rinri/.local/share/nvim/site/pack/packer/start/cmp_luasnip", | |||||
url = "https://github.com/saadparwaiz1/cmp_luasnip" | |||||
}, | |||||
["dashboard-nvim"] = { | |||||
loaded = true, | |||||
path = "/home/rinri/.local/share/nvim/site/pack/packer/start/dashboard-nvim", | |||||
url = "https://github.com/glepnir/dashboard-nvim" | |||||
}, | |||||
["lightline.vim"] = { | |||||
loaded = true, | |||||
path = "/home/rinri/.local/share/nvim/site/pack/packer/start/lightline.vim", | |||||
url = "https://github.com/itchyny/lightline.vim" | |||||
}, | |||||
["mason.nvim"] = { | |||||
loaded = true, | |||||
path = "/home/rinri/.local/share/nvim/site/pack/packer/start/mason.nvim", | |||||
url = "https://github.com/williamboman/mason.nvim" | |||||
}, | |||||
nerdtree = { | |||||
loaded = true, | |||||
path = "/home/rinri/.local/share/nvim/site/pack/packer/start/nerdtree", | |||||
url = "https://github.com/scrooloose/nerdtree" | |||||
}, | |||||
["nvim-cmp"] = { | |||||
loaded = true, | |||||
path = "/home/rinri/.local/share/nvim/site/pack/packer/start/nvim-cmp", | |||||
url = "https://github.com/hrsh7th/nvim-cmp" | |||||
}, | |||||
["nvim-lspconfig"] = { | |||||
loaded = true, | |||||
path = "/home/rinri/.local/share/nvim/site/pack/packer/start/nvim-lspconfig", | |||||
url = "https://github.com/neovim/nvim-lspconfig" | |||||
}, | |||||
["onedark.vim"] = { | |||||
loaded = true, | |||||
path = "/home/rinri/.local/share/nvim/site/pack/packer/start/onedark.vim", | |||||
url = "https://github.com/joshdick/onedark.vim" | |||||
}, | |||||
["packer.nvim"] = { | |||||
loaded = true, | |||||
path = "/home/rinri/.local/share/nvim/site/pack/packer/start/packer.nvim", | |||||
url = "https://github.com/wbthomason/packer.nvim" | |||||
}, | |||||
["suda.vim"] = { | |||||
loaded = true, | |||||
path = "/home/rinri/.local/share/nvim/site/pack/packer/start/suda.vim", | |||||
url = "https://github.com/lambdalisue/suda.vim" | |||||
}, | |||||
syntastic = { | |||||
loaded = true, | |||||
path = "/home/rinri/.local/share/nvim/site/pack/packer/start/syntastic", | |||||
url = "https://github.com/vim-syntastic/syntastic" | |||||
}, | |||||
["vim-clang-format"] = { | |||||
loaded = true, | |||||
path = "/home/rinri/.local/share/nvim/site/pack/packer/start/vim-clang-format", | |||||
url = "https://github.com/rhysd/vim-clang-format" | |||||
}, | |||||
["vim-css-color"] = { | |||||
loaded = true, | |||||
path = "/home/rinri/.local/share/nvim/site/pack/packer/start/vim-css-color", | |||||
url = "https://github.com/ap/vim-css-color" | |||||
}, | |||||
["vim-devicons"] = { | |||||
loaded = true, | |||||
path = "/home/rinri/.local/share/nvim/site/pack/packer/start/vim-devicons", | |||||
url = "https://github.com/ryanoasis/vim-devicons" | |||||
}, | |||||
["vim-lsp-cxx-highlight"] = { | |||||
loaded = true, | |||||
path = "/home/rinri/.local/share/nvim/site/pack/packer/start/vim-lsp-cxx-highlight", | |||||
url = "https://github.com/jackguo380/vim-lsp-cxx-highlight" | |||||
}, | |||||
["vim-nerdtree-syntax-highlight"] = { | |||||
loaded = true, | |||||
path = "/home/rinri/.local/share/nvim/site/pack/packer/start/vim-nerdtree-syntax-highlight", | |||||
url = "https://github.com/tiagofumo/vim-nerdtree-syntax-highlight" | |||||
} | |||||
} | |||||
time([[Defining packer_plugins]], false) | |||||
_G._packer.inside_compile = false | |||||
if _G._packer.needs_bufread == true then | |||||
vim.cmd("doautocmd BufRead") | |||||
end | |||||
_G._packer.needs_bufread = false | |||||
if should_profile then save_profiles() end | |||||
end) | |||||
if not no_errors then | |||||
error_msg = error_msg:gsub('"', '\\"') | |||||
vim.api.nvim_command('echohl ErrorMsg | echom "Error in packer_compiled: '..error_msg..'" | echom "Please check your config for correctness" | echohl None') | |||||
end |
@@ -9,24 +9,26 @@ opacity-rule = [ | |||||
"90:class_g = 'URxvt'", | "90:class_g = 'URxvt'", | ||||
"90:class_g = 'Alacritty'", | "90:class_g = 'Alacritty'", | ||||
"95:class_g = 'St' && focused", | "95:class_g = 'St' && focused", | ||||
"80:class_g = 'St' && !focused", | |||||
"87:class_g = 'St' && !focused", | |||||
"95:class_g = 'cmus' && focused", | |||||
"87:class_g = 'cmus' && !focused", | |||||
"95:class_g = 'cpsrc' && focused", | |||||
"87:class_g = 'cpsrc' && !focused", | |||||
"90:class_g = 'tabbed'", | "90:class_g = 'tabbed'", | ||||
"95:class_g = 'Emacs'", | "95:class_g = 'Emacs'", | ||||
]; | ]; | ||||
# Blur | # Blur | ||||
blur-background = true; | |||||
blur-method = "dual_kawase"; | |||||
blur-strength = 3; | |||||
#blur-method = "dual_kawase"; | |||||
blur-strength = 2; | |||||
blur-background-exclude = [ | blur-background-exclude = [ | ||||
"class_g = 'Dunst'" | "class_g = 'Dunst'" | ||||
]; | ]; | ||||
# Fading | # Fading | ||||
fading = false; | |||||
fading = true; | |||||
fade-in-step = 0.05; | fade-in-step = 0.05; | ||||
fade-out-step = 0.05; | fade-out-step = 0.05; | ||||
fade-exclude = [ ]; | |||||
# Rounded corners | # Rounded corners | ||||
corner-radius=20 | corner-radius=20 | ||||
@@ -1,5 +1,4 @@ | |||||
export PATH=$PATH:/home/rinri/scripts:/home/rinri/scripts/Discord:/home/rinri/.local/bin | export PATH=$PATH:/home/rinri/scripts:/home/rinri/scripts/Discord:/home/rinri/.local/bin | ||||
~/scripts/automount.sh & | |||||
while true; do | while true; do | ||||
# Log stderror to a file | # Log stderror to a file | ||||
dwm 2> ~/.dwm.log | dwm 2> ~/.dwm.log | ||||
@@ -1,16 +1,7 @@ | |||||
# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc. | |||||
# Initialization code that may require console input (password prompts, [y/n] | |||||
# confirmations, etc.) must go above this block; everything else may go below. | |||||
if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then | |||||
source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" | |||||
fi | |||||
export QT_QPA_PLATFORMTHEME=gtk2 | |||||
export EDITOR="nvim" | export EDITOR="nvim" | ||||
export TERMINAL="st" | export TERMINAL="st" | ||||
export BROWSER="firefox" | |||||
export LC_CTYPE=ru_RU.UTF-8 | export LC_CTYPE=ru_RU.UTF-8 | ||||
export WECHALLUSER="rinri" | |||||
export WECHALLTOKEN="5F489-F2870-9F223-96264-58717-4AAB4" | |||||
#export FIFTPATH="/home/rinri/smartcontract/fiftlib" | |||||
# less + man | # less + man | ||||
export LESS_TERMCAP_mb=$'\e[1;32m' | export LESS_TERMCAP_mb=$'\e[1;32m' | ||||
@@ -32,12 +23,8 @@ alias ls="ls --color" | |||||
alias ll="ls --color -l" | alias ll="ls --color -l" | ||||
alias la="ls --color -A" | alias la="ls --color -A" | ||||
alias lal="ls --color -Al" | alias lal="ls --color -Al" | ||||
alias huion="xsetwacom set 'HUION Huion Tablet Pen stylus' Area 4384 3990 24384 15240" | |||||
alias dxyz="ssh root@rinri-d.xyz" | alias dxyz="ssh root@rinri-d.xyz" | ||||
alias mrcon="mcrcon -H rinri-d.xyz -p -t" | |||||
alias vim="nvim" | alias vim="nvim" | ||||
alias minemus="mpv --no-video https://youtu.be/Dg0IjOzopYU" | |||||
alias weebcabin="~/scripts/anime.sh" | |||||
alias cal="cal -m" | alias cal="cal -m" | ||||
alias sudo="doas" | alias sudo="doas" | ||||
@@ -51,7 +38,6 @@ bindkey -v | |||||
zstyle :compinstall filename '/home/rinri/.zshrc' | zstyle :compinstall filename '/home/rinri/.zshrc' | ||||
autoload -U compinit | autoload -U compinit | ||||
zstyle ':completion:*' menu select | |||||
zmodload zsh/complist | zmodload zsh/complist | ||||
compinit | compinit | ||||
_comp_options+=(globdots) | _comp_options+=(globdots) | ||||
@@ -60,12 +46,15 @@ bindkey -s '^o' 'fzfcd\n' | |||||
bindkey -M viins '\e.' insert-last-word | bindkey -M viins '\e.' insert-last-word | ||||
# End of lines added by compinstall | # End of lines added by compinstall | ||||
source ~/src/powerlevel10k/powerlevel10k.zsh-theme | |||||
source ~/src/antigen.zsh | source ~/src/antigen.zsh | ||||
source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh | source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh | ||||
source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.plugin.zsh | |||||
antigen bundle jeffreytse/zsh-vi-mode | antigen bundle jeffreytse/zsh-vi-mode | ||||
antigen apply | antigen apply | ||||
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=8" | |||||
ZSH_AUTOSUGGEST_STRATEGY=(history completion) | |||||
# The plugin will auto execute this zvm_after_init function | # The plugin will auto execute this zvm_after_init function | ||||
function zvm_after_init() { | function zvm_after_init() { | ||||
source /usr/share/fzf/completion.zsh | source /usr/share/fzf/completion.zsh | ||||
@@ -77,6 +66,6 @@ export FZF_DEFAULT_COMMAND="fd --color=never --type f --type l --follow --exclud | |||||
export FZF_DEFAULT_OPTS="--height 50% -1 --reverse --multi --inline-info --preview='[[ \$(file --mime {}) =~ binary ]] && echo {} is a binary file || (bat --style=numbers --color=always {} || cat {}) 2> /dev/null | head -300' --preview-window='right:hidden:wrap' --bind='f3:execute(bat --style=numbers {} || less -f {}),f2:toggle-preview,ctrl-d:half-page-down,ctrl-u:half-page-up,ctrl-a:select-all+accept,ctrl-y:execute-silent(echo {+} | pbcopy)'" | export FZF_DEFAULT_OPTS="--height 50% -1 --reverse --multi --inline-info --preview='[[ \$(file --mime {}) =~ binary ]] && echo {} is a binary file || (bat --style=numbers --color=always {} || cat {}) 2> /dev/null | head -300' --preview-window='right:hidden:wrap' --bind='f3:execute(bat --style=numbers {} || less -f {}),f2:toggle-preview,ctrl-d:half-page-down,ctrl-u:half-page-up,ctrl-a:select-all+accept,ctrl-y:execute-silent(echo {+} | pbcopy)'" | ||||
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh. | |||||
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh | |||||
if [ -e /home/rinri/.nix-profile/etc/profile.d/nix.sh ]; then . /home/rinri/.nix-profile/etc/profile.d/nix.sh; fi # added by Nix installer | if [ -e /home/rinri/.nix-profile/etc/profile.d/nix.sh ]; then . /home/rinri/.nix-profile/etc/profile.d/nix.sh; fi # added by Nix installer | ||||
eval "$(starship init zsh)" |
@@ -1,36 +1,29 @@ | |||||
# My configuration | # My configuration | ||||
- OS: [Arch Linux](https://archlinux.org) | |||||
- OS: [arch linux](https://archlinux.org) | |||||
- WM: [dwm](https://dwm.suckless.org/) | - WM: [dwm](https://dwm.suckless.org/) | ||||
- Terminal: [st](https://st.suckless.org/) | - Terminal: [st](https://st.suckless.org/) | ||||
- Editor: [neovim](https://neovim.io/) | - Editor: [neovim](https://neovim.io/) | ||||
- Editor: [doom emacs](https://github.com/doomemacs/doomemacs) | |||||
- Font: DejaVuMono Nerd Patched | - Font: DejaVuMono Nerd Patched | ||||
- X11 Compositor: [picom](https://github.com/yshui/picom) (dual_kawase blur + rounded corners) | |||||
- X11 Compositor: [picom](https://github.com/yshui/picom) | |||||
- Music player: [cmus](https://github.com/cmus/cmus) | - Music player: [cmus](https://github.com/cmus/cmus) | ||||
- Video player: [mpv](https://mpv.io/) | |||||
- Notifications: [Dunst](https://github.com/dunst-project/dunst) | |||||
- Notifications: [dunst](https://github.com/dunst-project/dunst) | |||||
- Status bar: [slstatus](https://tools.suckless.org/slstatus/) | - Status bar: [slstatus](https://tools.suckless.org/slstatus/) | ||||
- Wallpaper: [pixiv](https://wallhaven.cc/w/p8q1x3) | |||||
- Wallpaper: [pixiv](https://www.pixiv.net/member_illust.php?mode=medium&illust_id=47154393) | |||||
## Screenshots | ## Screenshots | ||||
### Clear: | |||||
![clear](clear.jpg) | ![clear](clear.jpg) | ||||
### Neofetch: | |||||
![neofetch](neofetch.jpg) | ![neofetch](neofetch.jpg) | ||||
### Music player: | |||||
![cmus](cmus.jpg) | ![cmus](cmus.jpg) | ||||
### Text editor (neovim): | |||||
![neovim](vim.jpg) | ![neovim](vim.jpg) | ||||
### Notifications (dunst): | |||||
![doom emacs](emacs.jpg) | |||||
![dunst](dunst.jpg) | ![dunst](dunst.jpg) | ||||
### Browser (firefox): | |||||
![firefox](firefox.jpg) | ![firefox](firefox.jpg) | ||||
### Wallpaper: | |||||
![wall](newwall.jpg) |
@@ -0,0 +1,9 @@ | |||||
Section "Monitor" | |||||
Identifier "eDP" | |||||
EndSection | |||||
Section "Monitor" | |||||
Identifier "HDMI-A-0" | |||||
Option "RightOf" "eDP" | |||||
Option "Primary" "true" | |||||
EndSection |
@@ -0,0 +1,6 @@ | |||||
Section "InputClass" | |||||
Identifier "Tablet" | |||||
Driver "wacom" | |||||
MatchDevicePath "/dev/input/event*" | |||||
MatchUSBID "256c:006d" | |||||
EndSection |
@@ -0,0 +1,5 @@ | |||||
Section "Device" | |||||
Identifier "AMD Graphics" | |||||
Driver "amdgpu" | |||||
Option "TearFree" "true" | |||||
EndSection |
@@ -0,0 +1,8 @@ | |||||
Section "InputClass" | |||||
Identifier "devname" | |||||
Driver "libinput" | |||||
MatchIsTouchpad "on" | |||||
Option "Tapping" "on" | |||||
Option "ClickMethod" "clickfinger" | |||||
Option "TappingButtonMap" "lmr" | |||||
EndSection |
@@ -0,0 +1,3 @@ | |||||
anime.sh | |||||
upload.sh | |||||
download.sh |
@@ -1,3 +1,3 @@ | |||||
#!/bin/sh | #!/bin/sh | ||||
notify-send "Daily Fortune" "$(fortune|cowsay)" | |||||
/home/rinri/scripts/root-notify.sh "Daily Fortune" "$(fortune|cowsay -W 35)" |
@@ -1 +0,0 @@ | |||||
xrandr --output HDMI-1 --same-as eDP-1 |
@@ -2,5 +2,5 @@ | |||||
while read -r p; do | while read -r p; do | ||||
echo "Copying $p..." | echo "Copying $p..." | ||||
cp "$p" fav | |||||
#cp "$p" fav | |||||
done | done |
@@ -1,3 +0,0 @@ | |||||
#!/bin/sh | |||||
pactl set-source-volume alsa_input.pci-0000_04_00.6.analog-stereo 400% |
@@ -1,3 +0,0 @@ | |||||
#!/bin/sh | |||||
setxkbmap -layout us,ru,kz -option grp:alt_shift_toggle |
@@ -0,0 +1,13 @@ | |||||
#!/bin/sh | |||||
card=$(aplay -l | grep Analog | awk '{print $2}' | head -c-2) | |||||
if [ "$(amixer -c"$card" get "Capture" | grep -c "\[on\]")" -gt 0 ]; then | |||||
[ $# -ge 1 ] && amixer -c"$card" set 'Capture' nocap | |||||
[ $# -ge 1 ] && notify-send -t 700 -i "mic-off" "Microphone Muted!" | |||||
printf "" | |||||
else | |||||
[ $# -ge 1 ] && amixer -c"$card" set 'Capture' cap | |||||
[ $# -ge 1 ] && notify-send -t 700 -i "mic-on" "Microphone Activated!" | |||||
printf "" | |||||
fi |
@@ -1,3 +0,0 @@ | |||||
#!/bin/sh | |||||
pactl set-source-volume alsa_input.pci-0000_04_00.6.analog-stereo 25% |
@@ -0,0 +1,19 @@ | |||||
#!/bin/sh | |||||
artist="$(playerctl metadata artist)" | |||||
title="$(playerctl metadata title)" | |||||
if [ $# -ge 1 ]; then | |||||
if [ "$1" -eq 1 ]; then | |||||
playerctl play-pause | |||||
else | |||||
[ "$1" -eq 2 ] && playerctl next | |||||
[ "$1" -eq 3 ] && playerctl previous | |||||
artist="$(playerctl metadata artist)" | |||||
title="$(playerctl metadata title)" | |||||
notify-send -i "media-playback-playing" "Playing now..." "$artist - $title" | |||||
fi | |||||
else | |||||
notify-send -i "media-playback-playing" "Playing now..." "$artist - $title" | |||||
fi | |||||
@@ -0,0 +1,63 @@ | |||||
#!/bin/sh | |||||
sl=25 # study session time in minutes | |||||
bl=5 # break time in minutes | |||||
bll=20 # long break time in minutes | |||||
bls=4 # number of study sessions before long break | |||||
ringtone="$HOME/Media/warcraft-soundtrack/2004 World of Warcraft/ringtone.flac" | |||||
sessions=0 # number of sessions passed | |||||
# if you kill and restart pomodoro.sh, you can specify the number of sessions passed | |||||
[ $# -gt 0 ] && sessions=$1 | |||||
printf "\rStudy time! Sessions done: %d\n" "$sessions" | |||||
notify-send -i "media-playback-playing" "Study time!" | |||||
start="$(date +%s)" # start time stamp | |||||
state=0 # 0 - study, 1 - relax, 2 - long break | |||||
tl=$sl # current time limit | |||||
while : | |||||
do | |||||
now="$(date +%s)" | |||||
left=$((tl * 60 - (now - start))) | |||||
printf "\033[K\r%02d:%02d" "$((left / 60))" "$((left % 60))" | |||||
if [ $left -le 0 ]; then | |||||
printf "\033[1A\033[K" | |||||
if [ $state -eq 0 ]; then | |||||
sessions=$((sessions + 1)) | |||||
if [ $((sessions % bls)) -eq 0 ]; then | |||||
state=2 | |||||
printf "\rLong break time! Sessions done: %d\n" "$sessions" | |||||
notify-send -i "media-playback-paused" "Long break time!" | |||||
mpv --no-vid --no-terminal "$ringtone" & | |||||
tl=$bll | |||||
else | |||||
state=1 | |||||
printf "\rBreak time! Sessions done: %d\n" "$sessions" | |||||
notify-send -i "media-playback-paused" "Break time!" | |||||
mpv --no-vid --no-terminal "$ringtone" & | |||||
tl=$bl | |||||
fi | |||||
else | |||||
state=0 | |||||
printf "\rStudy time! Sessions done: %d\n" "$sessions" | |||||
notify-send -i "media-playback-playing" "Study time!" | |||||
mpv --no-vid --no-terminal "$ringtone" & | |||||
tl=$sl | |||||
fi | |||||
mpvpid=$! | |||||
printf "%s " "Press Enter to start the timer" | |||||
read ans | |||||
printf "\033[1A\033[K" | |||||
start="$(date +%s)" | |||||
kill $mpvpid 2> /dev/null | |||||
fi | |||||
sleep 1 | |||||
done |
@@ -3,8 +3,8 @@ | |||||
chosen=$(echo "Shutdown\nReboot\nSuspend\nHibernate" | dmenu -i -p "Power Management") | chosen=$(echo "Shutdown\nReboot\nSuspend\nHibernate" | dmenu -i -p "Power Management") | ||||
case "$chosen" in | case "$chosen" in | ||||
Shutdown) sudo poweroff;; | |||||
Reboot) sudo reboot;; | |||||
Shutdown) killall picom; systemctl poweroff;; | |||||
Reboot) killall picom; systemctl reboot;; | |||||
Suspend) slock & systemctl suspend;; | Suspend) slock & systemctl suspend;; | ||||
Hibernate) systemctl hibernate;; | Hibernate) systemctl hibernate;; | ||||
esac | esac |
@@ -0,0 +1,12 @@ | |||||
#!/bin/sh | |||||
#Detect the name of the display in use | |||||
display=":$(find /tmp/.X11-unix/* | sed 's#/tmp/.X11-unix/X##' | head -n 1)" | |||||
#Detect the user using such display | |||||
user="$(who | grep "tty1" | awk '{print $1}' | head -n 1)" | |||||
#Detect the id of the user | |||||
uid="$(id -u "$user")" | |||||
sudo -u "$user" DISPLAY="$display" DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/"$uid"/bus notify-send "$@" |
@@ -1,3 +0,0 @@ | |||||
#!/bin/sh | |||||
setxkbmap -layout us,ru -option grp:alt_shift_toggle |
@@ -1 +1,2 @@ | |||||
screenkey --opacity 0.3 -p fixed -g 350x70-10-100 | |||||
#screenkey --opacity 0.3 -p fixed -g 500x70-10-100 | |||||
screenkey --opacity 0.3 -p fixed -g 500x70+3320-100 |
@@ -2,9 +2,7 @@ | |||||
if [ $# -eq 0 ] | if [ $# -eq 0 ] | ||||
then | then | ||||
magick import -window root ~/Screenshots/"$(date +%Y.%m.%d-%T)".jpg | |||||
flameshot screen -n $(($(xrandr | grep -c " connected") - 1)) -c -p ~/Screenshots/"$(date +%Y.%m.%d-%T)".jpg | |||||
else | else | ||||
magick import temp.jpg | |||||
xclip -selection clipboard -t image/png temp.jpg | |||||
rm temp.png | |||||
fi | |||||
flameshot gui -c | |||||
fi |
@@ -0,0 +1,9 @@ | |||||
#!/bin/sh | |||||
# Internal speaker | |||||
# Microphone | |||||
amixer -c 1 sset 'Capture' 100% | |||||
amixer -c 1 sset 'Digital' 100% | |||||
amixer -c 1 sset 'Internal Mic Boost' 0% | |||||
amixer -c 1 sset 'Headset Mic Boost' 0% |
@@ -0,0 +1,3 @@ | |||||
#!/bin/sh | |||||
notify-send "$(printf "`cal -m`\n`cal -m +1month`")" |
@@ -0,0 +1,13 @@ | |||||
#!/bin/sh | |||||
#Detect the name of the display in use | |||||
display=":$(ls /tmp/.X11-unix/* | sed 's#/tmp/.X11-unix/X##' | head -n 1)" | |||||
#Detect the user using such display | |||||
user="$(who | grep "tty1" | awk '{print $1}' | head -n 1)" | |||||
#Detect the id of the user | |||||
uid="$(id -u $user)" | |||||
pacman -Sy | |||||
sudo -u $user DISPLAY=$display DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$uid/bus notify-send -i "view-refresh" "Packages to update: $(pacman -Qqu | wc -l)" |
@@ -2,20 +2,18 @@ | |||||
lxpolkit & | lxpolkit & | ||||
slstatus & | slstatus & | ||||
fcitx5 & | |||||
dunst & | dunst & | ||||
setxkbmap -layout us,ru -option grp:alt_shift_toggle & | |||||
xbanish & | |||||
xrdb ~/.Xresources & | xrdb ~/.Xresources & | ||||
wmname LG3D & | |||||
feh --bg-fill ~/walls/current.png & | feh --bg-fill ~/walls/current.png & | ||||
picom --experimental-backends & | |||||
picom & | |||||
amixer -c 1 sset 'Master' 0% | |||||
amixer -c 1 sset 'Speaker' 0% | |||||
xautolock -time 5 -locker slock.sh & | xautolock -time 5 -locker slock.sh & | ||||
brightnessctl set 100% & | brightnessctl set 100% & | ||||
wmname LG3D & | wmname LG3D & | ||||
emacs --daemon & | emacs --daemon & | ||||
eval $(gnome-keyring-daemon --start) & | |||||
flameshot & | |||||
eval "$(gnome-keyring-daemon --start)" & | |||||
export SSH_AUTH_SOCK & | export SSH_AUTH_SOCK & | ||||
#killall pulseaudio | |||||
~/scripts/start-jack.sh & | |||||
cadence & | |||||
mount ~/nextcloud & | |||||
easyeffects --gapplication-service & |