Updated dotfiles with new vimrc and restic config. Added hubic cloud config.

nixos
lanxu 2018-07-03 23:04:46 +03:00
parent 5fbcd20084
commit 582b43c278
6 changed files with 157 additions and 127 deletions

23
.config/awesome/hubic.lua Normal file
View File

@ -0,0 +1,23 @@
-- {{{ Grab environment
local setmetatable = setmetatable
-- }}}
local temp = {};
-- {{{ Date widget type
local function worker(format, warg)
local f = io.popen("hubic.py")
temp[0] = "";
for line in f:lines() do
temp[0] = temp[0] .. line
end
io.close(f)
return temp
end
-- }}}
return setmetatable(temp, { __call = function(_, ...) return worker(...) end })

View File

@ -0,0 +1,80 @@
local naughty = require("naughty")
local wibox = require("wibox")
local gears = require("gears")
local focused = require("awful.screen").focused
local easy_async = require("awful.spawn").easy_async
local function factory(args)
local args = args or {}
local timeout = args.timeout or 5
local status_cmd = args.status_cmd or "hubic status"
local full_cmd = args.full_cmd or "hubic status"
local cloud = { widget = wibox.widget.textbox() }
local settings = args.settings or function() end
local followtag = args.followtag or true
local notification_preset = args.notification_preset or { font = "Monospace 10" }
cloud.widget:set_markup("N/A")
function cloud.show(tout)
cloud.hide()
if followtag then
notification_preset.screen = focused()
end
cloud.notification = naughty.notify({
text = cloud.notification_text,
-- icon = cloud.icon
timeout = 0,
preset = notification_preset,
})
end
function cloud.hide()
if cloud.notification then
naughty.destroy(cloud.notification)
end
end
function cloud.attach(obj)
obj:connect_signal("mouse::enter", function()
cloud.show()
end)
obj:connect_signal("mouse::leave", function()
cloud.hide()
end)
obj:connect_signal("button::press", function()
cloud.update()
cloud.show()
end)
end
function cloud.update()
local cmd = string.format(full_cmd)
easy_async(cmd, function(response, stderr, reason, exit_code)
local res = string.match(response, 'State: (.-)Up')
res = res:gsub("%s+", "")
res = string.gsub(res, "%s+", "")
currentstatus = res or "No"
cloud.notification_text = response
widget = cloud.widget
settings()
end)
end
cloud.attach(cloud.widget)
gears.timer {
timeout = timeout,
autostart = true,
callback = cloud.update
}
cloud.update()
return cloud
end
return factory

View File

@ -256,6 +256,8 @@ awful.screen.connect_for_each_screen(function(s)
spacer,
mydpmsstatus,
spacer,
mycloudstatus,
spacer,
mycpu,
spacer,
mymem,
@ -592,9 +594,9 @@ awful.rules.rules = {
properties = { screen = primary_screen, tag = "GFX" } },
{ rule = { class = "Blender" },
properties = { screen = primary_screen, tag = "GFX" } },
{ rule = { class = "Steam", name = "Friends" },
properties = { screen = secondary_screen, tag = "Other", width = 200 } },
{ rule = { class = "Steam" },
{ rule = { class = "Steam", name = "Friends List" },
properties = { screen = secondary_screen, tag = "Other", width = 300 } },
{ rule = { class = "Steam", name = "Steam" },
properties = { screen = secondary_screen, tag = "Other" } },
}
-- }}}

View File

@ -1,4 +1,5 @@
local gputemp = require("gputemp")
local hubic = require("hubic")
local dpmsstatus = require("dpmsstatus")
local lain = require("lain")
local vicious = require("vicious") -- Custom
@ -41,6 +42,10 @@ mymem = lain.widget.mem({
mygputemp = wibox.widget.textbox()
vicious.register(mygputemp, gputemp, create_markup("GPU", "$0", "", valuecolor), 15, "AMD")
-- Hubic
myhubic = wibox.widget.textbox()
vicious.register(myhubic, hubic, create_markup("CLOUD", "$0", "", valuecolor), 15, "HUBIC")
-- Volume
volume = lain.widget.pulse({
scallback = function()
@ -65,7 +70,8 @@ lain.widget.calendar({
})
-- CPU temperature
local tempfile = "/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A03:00/device:14/ATK0110:00/hwmon/hwmon1/temp1_input"
local tempfile = "/sys/bus/pci/drivers/k10temp/0000:00:18.3/hwmon/hwmon2/temp1_input"
if file_exists(tempfile) == false then
tempfile = "/sys/class/thermal/thermal_zone0/temp"
end
@ -107,3 +113,10 @@ myserverstatus = mcstatus({
end
})
local cloudstatus = require("lanxu/cloudstatus")
mycloudstatus = cloudstatus({
settings = function()
widget.markup = create_markup("CLOUD", currentstatus, "", valuecolor)
end
})

156
.vimrc
View File

@ -3,18 +3,18 @@
" Start plugins
call plug#begin('~/.vim/plugged')
" Sensible defaults
Plug 'tpope/vim-sensible'
" Javascript
Plug 'heavenshell/vim-jsdoc', {'for': 'javascript'}
"Plug 'moll/vim-node', {'for': 'javascript'}
Plug 'sheerun/vim-polyglot'
" C/C++
"Plug 'majutsushi/tagbar'
Plug 'vim-scripts/DoxygenToolkit.vim', {'for': 'cpp'}
" Syntax checking
"Plug 'Valloric/YouCompleteMe'
"Plug 'Valloric/YouCompleteMe' " alternative #1, full-blown
Plug 'w0rp/ale',
"Plug 'scrooloose/syntastic'
" Useful plugins
Plug 'Raimondi/delimitMate'
@ -48,116 +48,55 @@ let g:airline_powerline_fonts = 1
call plug#end()
filetype plugin indent on
" Other
" Magical color setup
set t_Co=256
set background=dark
syntax on
let base16colorspace=256
colorscheme base16-default-dark
"colorscheme solarized
"colorscheme gruvbox
"colorscheme molokai
"let g:molokai_original = 1
"let g:rehash256 = 1
"colorscheme distinguished
"colorscheme ir_black
"colorscheme summerfruit256
" Other
set autoindent " Automatically indent
syntax on
set cindent " Indentation for c
set number " Add line numbers
set hlsearch " Highlight search
set sessionoptions=blank,buffers,curdir,folds,globals,help,localoptions,options,resize,tabpages,winsize,winpos
"set autochdir " Change directory automatically
"set sessionoptions=blank,buffers,curdir,folds,globals,help,localoptions,options,resize,tabpages,winsize,winpos
set autochdir " Change directory automatically
"set backupdir=~/.vim/temp/ " Save temporary backups to temp dir
"set directory=~/.vim/temp/ " Save temporary files to temp dir
set hidden " Allow changing buffers eventhough they're not saved
"set hidden " Allow changing buffers eventhough they're not saved
"set autowrite " Automatically save the buffer when changing to another buffers
"set autowriteall " Automatically save ALL buffers when changing to another buffers
set wildchar=<Tab> wildmenu wildmode=full " Show possible commands by pressing TAB
set wildcharm=<C-Z> " This will allow you to access bufferlist with wildcard by pressing F10
nnoremap <F10> :b <C-Z>
"set wildchar=<Tab> wildmenu wildmode=full " Show possible commands by pressing TAB
"set wildcharm=<C-Z> " This will allow you to access bufferlist with wildcard by pressing F10
set colorcolumn=80
" Set GUI parameters
if has("gui_running")
" GUI options.
set guioptions-=m " remove menu bar
set guioptions-=T " remove toolbar
set guioptions-=r " remove right-hand scroll bar
set guioptions-=L " remove left-hand scroll bar
set guifont=Fura\ Code\ Nerd\ Font\ 10
set guiheadroom=0
endif
" Keybindings
" Long list following
" Indentation
map <F7> mzgg=G`z
map <F3> %s<cr>
" NerdTree
map <F2> :NERDTreeToggle<cr>
imap <F2> <esc>:NERDTreeToggle<cr>i
" NerdCommenter
map <C-c> <leader>ci
au BufRead,BufNewFile jquery.*.js set ft=javascript syntax=jquery
"augroup vimrc
" au BufReadPre * setlocal foldmethod=indent
" au BufWinEnter * if &fdm == 'indent' | setlocal foldmethod=manual | endif
"augroup END
inoremap <F9> <C-O>za
nnoremap <F9> za
onoremap <F9> <C-C>za
vnoremap <F9> zf
set nocp
filetype plugin on
filetype plugin indent on
" configure tags - add additional tags here or comment out not-used ones
"set tags+=~/.vim/tags/cpp
"set tags+=~/.vim/tags/gl
"set tags+=~/.vim/tags/sdl
"set tags+=~/.vim/tags/boost
"set tags+=~/.vim/tags/opencv2
"set tags+=~/.vim/tags/mesa
" build tags of your own project with Ctrl-F12
"map <C-F12> :!ctags -R --sort=yes --c++-kinds=+p --fields=+iaS --extra=+q ../src/<CR>
" OmniCppComplete
"let OmniCpp_NamespaceSearch = 1
"let OmniCpp_GlobalScopeSearch = 1
"let OmniCpp_ShowAccess = 1
"let OmniCpp_ShowPrototypeInAbbr = 1 " show function parameters
"let OmniCpp_MayCompleteDot = 1 " autocomplete after .
"let OmniCpp_MayCompleteArrow = 1 " autocomplete after ->
"let OmniCpp_MayCompleteScope = 1 " autocomplete after ::
"let OmniCpp_DefaultNamespaces = ["std", "_GLIBCXX_STD", "cv", "boost"]
"au BufNewFile,BufRead,BufEnter *.cpp,*.hpp,*.cc,*.hh set omnifunc=omni#cpp#complete#Main
"" automatically open and close the popup menu / preview window
"au CursorMovedI,InsertLeave * if pumvisible() == 0|silent! pclose|endif
"set completeopt=menuone,menu,longest,preview
"map <C-TAB> :e %:p:s,.h$,.X123X,:s,.cpp$,.h,:s,.X123X$,.cpp,<CR>
"map <C-TAB> :e %:p:s,.hh$,.X123X,:s,.cc$,.hh,:s,.X123X$,.cc,<CR>
" Uncomment the following to have Vim jump to the last position when
" reopening a file
if has("autocmd")
au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
endif
if has("gui_running")
" GUI is running or is about to start.
" Maximize gvim window.
" set lines=999 columns=999
"set lines=50 columns=100
"set guifont=Source\ Code\ Pro\ 11\ -1\ 5\ 50\ 0\ 0\ 0\ 1\ 0
"set guifont=Source\ Code\ Pro\ Medium\ 11
" GUI options.
set guioptions-=m "remove menu bar
set guioptions-=T "remove toolbar
set guioptions-=r "remove right-hand scroll bar
set guioptions-=L "remove left-hand scroll bar
"set guifont=DejaVu\ Sans\ Mono\ 10
set guifont=Fura\ Code\ Nerd\ Font\ 10
"set guifont=Fira\ Mono\ 10
"set guifont=Source\ Code\ Pro\ 10
"set guifont=Terminus\ 11
set guiheadroom=0
endif
" thesaurus and dictionary stuff
"set dictionary+=/usr/share/dict/words
"set thesaurus+=/home/julankin/.vim/mthes10/mthesaur.txt
" tab navigation like firefox
nnoremap <C-S-tab> :tabprevious<CR>
@ -167,41 +106,15 @@ inoremap <C-S-tab> <Esc>:tabprevious<CR>i
inoremap <C-tab> <Esc>:tabnext<CR>i
inoremap <C-t> <Esc>:tabnew<CR>
"set colorcolumn=80
" YouCompleteMe
let g:ycm_add_preview_to_completeopt=0
let g:ycm_confirm_extra_conf=0
let g:ycm_global_ycm_extra_conf = '~/.vim/.ycm_extra_conf.py'
set completeopt-=preview
" Session parameters
set ssop-=options " do not store global and local values in a session
set ssop-=folds " do not store folds
" Fix backspace
"set backspace=indent,eol,start
" Syntastic
"set statusline+=%#warningmsg#
"set statusline+=%{SyntasticStatuslineFlag()}
"set statusline+=%*
"set laststatus=2
"let g:syntastic_always_populate_loc_list = 1
"let g:syntastic_auto_loc_list = 0
"let g:syntastic_check_on_open = 1
"let g:syntastic_check_on_wq = 0
"let g:syntastic_javascript_checkers = ['eslint']
map <F12> :GoTo<CR>
" Toggle number
:nmap <C-N><C-N> :set invnumber<CR>
" Toggle hlsearch
:nnoremap <silent> <Space> :nohlsearch<Bar>:echo<CR>
autocmd BufRead,BufNewFile *.es6 setfiletype javascript
"map <F12> :%!tidy -q --tidy-mark 0 2>/dev/null<CR>
" Configure for jsdoc
let g:jsdoc_enable_es6 = 1
@ -210,16 +123,15 @@ let g:jsdoc_enable_es6 = 1
autocmd BufWritePre *.js %s/\s\+$//e
autocmd BufWritePre *.cpp %s/\s\+$//e
" Indentation
set tabstop=4
set softtabstop=0
set expandtab
set shiftwidth=2
set smarttab
" Set sane defaults for tabs
autocmd Filetype python setlocal ts=4 sw=4 sts=0 expandtab
autocmd Filetype cpp setlocal ts=4 sw=4 sts=0 expandtab
autocmd Filetype javascript setlocal ts=2 sw=2 sts=0 expandtab
autocmd Filetype vue setlocal ts=2 sw=2 sts=0 expandtab
autocmd Filetype json setlocal ts=2 sw=2 sts=0 expandtab
autocmd Filetype html setlocal ts=4 sw=4 sts=0 expandtab
" ultisnips
let g:UltiSnipsExpandTrigger="<c-tab>"
let g:UltiSnipsJumpForwardTrigger="<c-b>"
let g:UltiSnipsJumpBackwardTrigger="<c-z>"

2
.zshrc
View File

@ -52,7 +52,7 @@ alias runsteam="LD_PRELOAD='/usr/$LIB/libstdc++.so.6 /usr/$LIB/libgcc_s.so.1 /us
alias steamgamesdir='cd ~/.local/share/Steam/SteamApps/common'
alias emsdksetup='source $EMSDK/emsdk_env.sh'
alias runwinesteam="MESA_GL_VERSION_OVERRIDE=3.3COMPAT PULSE_LATENCY_MSEC=60 run-desktop.py ~/.local/share/applications/wine/Programs/Steam/Steam.desktop"
alias rbackup="restic -r rclone:hubic:default/Backups/ChimeraLinux"
# https://github.com/chriskempson/base16-shell
# git clone https://github.com/chriskempson/base16-shell.git ~/.config/base16-shell
source $HOME/.config/base16-shell/scripts/base16-default-dark.sh