Compare commits

...

16 Commits

Author SHA1 Message Date
3ff0adcbf3 libsecret credentials 2025-11-14 19:24:58 +01:00
c6705a2229 ssh vim and tmux 2025-11-14 13:39:26 +01:00
41e9336603 sshconfig 2025-03-05 11:27:17 +01:00
93473be663 Vundle -> Plug 2024-03-31 15:42:40 +02:00
912afb5576 ssh config 2024-01-26 08:29:27 +01:00
913de0fa24 slurm alias 2024-01-24 10:25:00 +01:00
1d1cabbd38 Slurm aliases 2024-01-19 09:31:58 +01:00
75b08a39f6 Read npy files 2024-01-18 16:40:44 +01:00
af4e2d4364 pylab 2023-12-21 08:06:55 +01:00
5b12de7672 vimrc: YCM only if python3 enabled 2023-12-20 12:47:22 +01:00
144ea8b936 i3 2023-11-26 16:43:56 +01:00
6ec0d320c3 Update 2023-11-26 16:43:30 +01:00
f81face7de ssh 2023-11-26 16:43:30 +01:00
1fbd656840 i3 2023-11-21 19:43:30 +01:00
eabfa84c6a vimrc: node 2023-11-21 19:40:50 +01:00
10ff2034bb vimrc: YCM only if python3 enabled 2023-05-17 11:29:50 +02:00
13 changed files with 133 additions and 114 deletions

View File

@@ -43,7 +43,7 @@ source_existing ~/.bash_prompt.kuba
source_existing ~/.python-venv.kuba/bin/activate
if command -v ipython &> /dev/null; then
alias p=ipython
alias p="ipython --pylab"
elif command -v python &> /dev/null; then
alias p=python
fi

View File

@@ -1,12 +0,0 @@
[$Version]
update_info=okular.upd:annotation-toolbar,okular.upd:builtin-annotations
[Identity]
IdentityAuthor=Jakub Fojt
[Main View]
SplitterSizes=145,719
[Reviews]
BuiltinAnnotationTools=<tool name="Yellow Highlighter" type="highlight" id="1"><engine type="TextSelector" color="#fff9f06b"><annotation type="Highlight" opacity="0.5" color="#fff9f06b"/></engine><shortcut>2</shortcut></tool>,<tool type="underline" id="2"><engine type="TextSelector" color="#ff0000"><annotation type="Underline" color="#ffff0000"/></engine></tool>,<tool type="squiggly" id="3"><engine type="TextSelector" color="#ff0000"><annotation type="Squiggly" color="#ffff0000"/></engine></tool>,<tool type="strikeout" id="4"><engine type="TextSelector" color="#ff0000"><annotation type="StrikeOut" color="#ffff0000"/></engine></tool>,<tool name="Totalpoäng" type="typewriter" id="5"><engine type="PickPoint" block="true"><annotation textColor="#1a5fb4" type="Typewriter" color="#00ffffff" width="0" font="Cantarell\\,26\\,-1\\,5\\,50\\,0\\,0\\,0\\,0\\,0"/></engine></tool>,<tool type="note-inline" id="6"><engine hoverIcon="tool-note-inline" type="PickPoint" block="true" color="#ffff00"><annotation textColor="#ff000000" type="FreeText" color="#ffffff00"/></engine></tool>,<tool name="Yellow popup note" type="note-linked" id="7"><engine hoverIcon="tool-note" type="PickPoint" color="#fff9f06b"><annotation icon="Comment" type="Text" color="#fff9f06b"/></engine><shortcut>8</shortcut></tool>,<tool type="ink" id="8"><engine type="SmoothLine" color="#00ff00"><annotation type="Ink" color="#ff00ff00" width="2"/></engine></tool>,<tool name="Arrow" type="straight-line" id="9"><engine type="PolyLine" color="#000000" points="2"><annotation type="Line" endStyle="3" color="#ff000000" width="2"/></engine></tool>,<tool type="straight-line" id="10"><engine type="PolyLine" color="#000000" points="2"><annotation type="Line" color="#ff000000" width="2"/></engine></tool>,<tool name="Yellow transparent fill" type="rectangle" id="11"><engine type="PickPoint" block="true" color="#fff9f06b"><annotation type="GeomSquare" opacity="0.5" color="#fff9f06b" innerColor="#f9f06b" width="5"/></engine><shortcut>5</shortcut></tool>,<tool name="Green transparent fill" type="ellipse" id="12"><engine type="PickPoint" block="true" color="#ff33d17a"><annotation type="GeomCircle" opacity="0.5" color="#ff33d17a" innerColor="#33d17a" width="5"/></engine><shortcut>6</shortcut></tool>,<tool type="polygon" id="13"><engine type="PolyLine" color="#007eee" points="-1"><annotation type="Line" color="#ff007eee" width="2"/></engine></tool>,<tool type="stamp" id="14"><engine hoverIcon="Sold" type="PickPoint" block="true" size="64"><annotation icon="Sold" type="Stamp"/></engine></tool>
QuickAnnotationTools=<tool id="1" name="Red highlighter" type="highlight"><engine type="TextSelector" color="#fff66151"><annotation opacity="0.5" type="Highlight" color="#fff66151"/></engine><shortcut>1</shortcut></tool>,<tool id="2" name="Yellow Highlighter" type="highlight"><engine type="TextSelector" color="#fff9f06b"><annotation opacity="0.5" type="Highlight" color="#fff9f06b"/></engine><shortcut>2</shortcut></tool>,<tool id="3" name="Green Highlighter" type="highlight"><engine type="TextSelector" color="#ff8ff0a4"><annotation opacity="0.5" type="Highlight" color="#ff8ff0a4"/></engine><shortcut>3</shortcut></tool>,<tool id="4" name="Red transparent fill" type="rectangle"><engine block="true" type="PickPoint" color="#fff66151"><annotation width="5" innerColor="#f66151" opacity="0.5" type="GeomSquare" color="#fff66151"/></engine><shortcut>4</shortcut></tool>,<tool id="5" name="Yellow transparent fill" type="rectangle"><engine block="true" type="PickPoint" color="#fff9f06b"><annotation width="5" innerColor="#f9f06b" opacity="0.5" type="GeomSquare" color="#fff9f06b"/></engine><shortcut>5</shortcut></tool>,<tool id="6" name="Green transparent fill" type="rectangle"><engine block="true" type="PickPoint" color="#ff8ff0a4"><annotation width="5" innerColor="#8ff0a4" opacity="0.5" type="GeomSquare" color="#ff8ff0a4"/></engine><shortcut>6</shortcut></tool>,<tool id="7" name="Red popup note" type="note-linked"><engine hoverIcon="tool-note" type="PickPoint" color="#fff66151"><annotation icon="Comment" type="Text" color="#fff66151"/></engine><shortcut>7</shortcut></tool>,<tool id="8" name="Yellow popup note" type="note-linked"><engine hoverIcon="tool-note" type="PickPoint" color="#fff9f06b"><annotation icon="Comment" type="Text" color="#fff9f06b"/></engine><shortcut>8</shortcut></tool>,<tool id="9" name="Green pop-up note" type="note-linked"><engine hoverIcon="tool-note" type="PickPoint" color="#ff8ff0a4"><annotation icon="Comment" type="Text" color="#ff8ff0a4"/></engine><shortcut>9</shortcut></tool>,<tool id="10" type="note-inline"><engine hoverIcon="tool-note-inline" block="true" type="PickPoint" color="#ffff00"><annotation textColor="#ff000000" type="FreeText" color="#ffffff00"/></engine></tool>,<tool id="11" name="Insert Text" type="typewriter"><engine block="true" type="PickPoint"><annotation width="0" textColor="#000000" type="Typewriter" color="#00ffffff"/></engine></tool>,<tool id="12" name="Totalpoäng" type="typewriter"><engine block="true" type="PickPoint"><annotation width="0" textColor="#1a5fb4" type="Typewriter" font="Cantarell\\,26\\,-1\\,5\\,50\\,0\\,0\\,0\\,0\\,0" color="#00ffffff"/></engine></tool>,<tool id="13" type="underline"><engine type="TextSelector" color="#ff0000"><annotation type="Underline" color="#ffff0000"/></engine></tool>

View File

@@ -121,7 +121,12 @@ inactive-opacity-override = false;
# Specify a list of conditions of windows that should never be considered focused.
# focus-exclude = []
focus-exclude = [ "class_g = 'Cairo-clock'" ];
focus-exclude = [ "class_g = 'Cairo-clock'",
"class_g = 'firefox'",
"class_g = 'zoom'",
"class_g = 'Soffice'",
"class_g = 'libreoffice-impress'"
];
# Use fixed inactive dim value, instead of adjusting according to window opacity.
# inactive-dim-fixed = 1.0

View File

@@ -7,7 +7,7 @@
process = git-lfs filter-process
required = true
[credential]
helper = cache --timeout=3600
helper = libsecret
[color]
ui = auto
[pull]

2
.i3

Submodule .i3 updated: 6c27c94e91...6f3a75a596

View File

@@ -5,18 +5,18 @@
i3config="/tmp/i3_${USER}_config"
rm -f $i3config
if [ -f ~/.i3/base.config ]; then
cat ~/.i3/base.config >> $i3config
if [ -f "$HOME/.i3/base.config" ]; then
cat "$HOME/.i3/base.config" >> $i3config
fi
if [ "`hostname`" = "kubaArch-Laptop" ] && [ -f ~/.i3/home.config ]; then
cat ~/.i3/home.config >> $i3config
elif [ "`hostname`" = "kubaDesktop" ] && [ -f ~/.i3/home.config ]; then
cat ~/.i3/home.config >> $i3config
elif [ "`hostname`" = "JakubArch" ] && [ -f ~/.i3/work.config ]; then
cat ~/.i3/work.config >> $i3config
if [ "`hostname`" = "kubaArch-Laptop" ] && [ -f "$HOME/.i3/home.config" ]; then
cat "$HOME/.i3/home.config" >> $i3config
elif [ "`hostname`" = "kubaDesktop" ] && [ -f "$HOME/.i3/home.config" ]; then
cat "$HOME/.i3/home.config" >> $i3config
elif [ "`hostname`" = "JakubArch" ] && [ -f "$HOME/.i3/work.config" ]; then
cat "$HOME/.i3/work.config" >> $i3config
fi
#exec i3 -c $i3config -V >> ~/${WM}.log 2>&1
sh ~/.i3/scripts/displays.sh auto
sh "$HOME/.i3/scripts/displays.sh" auto
exec i3 -c $i3config

View File

@@ -11,12 +11,18 @@ except ImportError:
class Wrap:
def __init__(self, fname):
n = np.load(fname, allow_pickle=True)
files = n.files
globs = globals()
if isinstance(n, np.lib.npyio.NpzFile):
files = n.files
print('Contains files', files)
for f in files:
setattr(self, f, n[f])
globs[f] = n[f]
else:
print('Loaded data of shape', n.shape)
setattr(self, 'data', n)
globs['data'] = n
argv = argv[argv.index('--')+1:]
archives = [Wrap(arg) for arg in argv]
@@ -94,3 +100,32 @@ watch_modify() {
[ "$base" == "$file_name" ] && echo ${@:2} && ${@:2}
done
}
pdftoclipboard() {
if [ $# -lt 1 ]; then
echo "Usage pdftoclipboard FILE [DPI]
Convert pdf file FILE to png and copy to clipboard. Default DPI is 600
"
return
fi
file="$1"
dpi="${2:-600}"
pdftoppm -png -r "$dpi" "$file" | xclip -sel clip -t image/png -i
}
gitgrepsed() {
if [ $# -lt 2 ]; then
echo "Usage gitgrepsed SEARCH REPLACE
Search and replace in git repository.
Alias for git grep -l \$SEARCH | xargs sed -i "s/\$SEARCH/\$REPLACE/g"
"
return
fi
search="$1"
replace="$2"
git grep -l "$search" | xargs sed -i "s/$search/$replace/g"
}

3
.modules.kuba/node.lua Normal file
View File

@@ -0,0 +1,3 @@
local home = os.getenv("HOME")
local pkg = pathJoin(home, "node-v21.1.0-linux-x64")
prepend_path("PATH", pathJoin(pkg, "bin"))

View File

@@ -3,9 +3,11 @@ Defines useful SLURM aliases
]==])
set_alias("si", 'sinfo -e -o "%9P %4a %8s %.10l %11A %6z %.7m %40N"')
set_alias("q", 'squeue -u $USER -o "%7A %56j %2t %16S %.10M %.10L %.2D %4N"')
set_alias("q", 'squeue -u $USER -o "%8A %56j %2t %16S %.10M %.10L %.2D %4N"')
set_alias("ql", 'squeue -u $USER -o "%8A %7K %56j %2t %3r %16S %.10M %.10L %.4D %8N %4f"')
set_alias("qll", 'squeue -u $USER -o "%8A %7K %150j %2t %3r %16S %.10M %.10L %.4D %8N %4f"')
set_alias("qa", 'squeue -o "%8A %10u %.6Q %24j %2t %3r %16S %.10M %.10L %.4D %16N" -S t,-p | less')
set_alias("qq", 'squeue -u $USER -o "%8A %7K %76j %9F %2t %.10L"')
set_alias("qid", 'squeue -h -u $USER -o "%A"')
set_alias("scancelall", 'squeue -h -u $USER -o "%A" | xargs scancel')

View File

@@ -7,5 +7,6 @@ local loadscript = pathJoin(path, '.' .. myModuleName() .. '.sh');
execute{cmd='source ' .. loadscript, modeA={"load"}}
execute{cmd='unset -f npz_preview npz_previewi ' ..
'rsync_wrap rsync_wrap_huge selc selv cliipc clipv watch_modify pdftoclipboard gitgrepsed' ..
'rsync_wrap rsync_wrap_huge selc selv cliipc clipv watch_modify' ..
';', modeA={"unload"}}

View File

@@ -15,15 +15,15 @@ Host aino
User jakub
Port 22209
Host tahoe
HostName tahoe.fy.chalmers.se
Host puffinus
HostName puffinus.fy.chalmers.se
User jakub
Port 22209
Host geym
HostName geym.fy.chalmers.se
User jakub
Port 22209
Host sharknado
HostName 130.239.81.182
User ubuntu
IdentityFile ~/.ssh/jupyterhub_rsa
Host pi4
HostName 192.168.0.200
@@ -48,11 +48,7 @@ Host vera2
User fojt
Host tetralith
Hostname tetralith1.nsc.liu.se
User x_jakfo
Host tetralith2
Hostname tetralith2.nsc.liu.se
Hostname tetralith.nsc.liu.se
User x_jakfo
Host remote11
@@ -66,34 +62,7 @@ Host remote11
Host dardel
Hostname dardel.pdc.kth.se
User fojt
GSSAPIAuthentication yes
GSSAPIKeyExchange yes
GSSAPIDelegateCredentials yes
PreferredAuthentications gssapi-keyex,gssapi-with-mic
Host beskow
Hostname beskow.pdc.kth.se
User fojt
GSSAPIAuthentication yes
GSSAPIKeyExchange yes
GSSAPIDelegateCredentials yes
PreferredAuthentications gssapi-keyex,gssapi-with-mic
Host pdctransfer
Hostname t04n27.pdc.kth.se
User fojt
GSSAPIAuthentication yes
GSSAPIKeyExchange yes
GSSAPIDelegateCredentials yes
PreferredAuthentications gssapi-keyex,gssapi-with-mic
Host tegner
Hostname tegner.pdc.kth.se
User fojt
GSSAPIAuthentication yes
GSSAPIKeyExchange yes
GSSAPIDelegateCredentials yes
PreferredAuthentications gssapi-keyex,gssapi-with-mic
IdentityFile ~/.ssh/id-ed25519-pdc
Host *
ForwardAgent no

View File

@@ -11,9 +11,14 @@ set -g default-terminal "screen-256color"
bind-key j command-prompt -p "join pane from:" "join-pane -s '%%'"
bind-key s command-prompt -p "send pane to:" "join-pane -t '%%'"
# ssh socket, important to create symlink in ~/.ssh/rc
set -g update-environment -r
set-environment -g 'SSH_AUTH_SOCK' ~/.ssh/ssh_auth_sock
# Update the session environment upon attaching
set-option -g update-environment 'SSH_AUTH_SOCK SSH_CONNECTION DISPLAY'
set-hook -g client-attached 'run-shell /bin/update_display.sh'
# Rename the session to the path
set-option -g status-interval 5
set-option -g automatic-rename on
set-option -g automatic-rename-format '#{pane_current_path}'
# Shorten delay for relaying Esc (to e.g. vim). Too short and PgUp will not work
set -sg escape-time 20

93
.vimrc
View File

@@ -2,48 +2,50 @@ let mapleader = ","
set nocompatible " be iMproved, required
filetype off " required
let vundle_dir="~/.vim/bundle/Vundle.vim"
if filereadable(expand(vundle_dir) . "/README.md")
" set the runtime path to include Vundle and initialize
let &rtp .= "," . vundle_dir
call vundle#begin()
let plug_fpath="~/.vim/autoload/plug.vim"
if filereadable(expand(plug_fpath))
call plug#begin()
Plugin 'VundleVim/Vundle.vim' " let Vundle manage Vundle, required
Plugin 'scrooloose/nerdtree'
Plugin 'c.vim'
Plugin 'jeetsukumaran/vim-buffergator'
Plugin 'ericcurtin/CurtineIncSw.vim'
Plugin 'tpope/vim-fugitive'
Plugin 'tpope/vim-surround'
Plugin 'ctrlpvim/ctrlp.vim'
Plugin 'rhysd/vim-clang-format'
Plugin 'godlygeek/tabular'
Plugin 'airblade/vim-gitgutter'
Plugin 'jeetsukumaran/vim-pythonsense'
Plugin 'easymotion/vim-easymotion'
Plugin 'cpiger/NeoDebug'
Plugin 'ivan-krukov/vim-snakemake'
Plugin 'nvie/vim-flake8'
Plugin 'ludovicchabant/vim-gutentags'
Plugin 'junegunn/vim-peekaboo'
if empty($VIM_DISABLE_YCM)
Plugin 'ycm-core/YouCompleteMe'
Plug 'scrooloose/nerdtree'
Plug 'vim-scripts/c.vim'
Plug 'jeetsukumaran/vim-buffergator'
Plug 'ericcurtin/CurtineIncSw.vim'
Plug 'tpope/vim-fugitive'
Plug 'tpope/vim-surround'
Plug 'ctrlpvim/ctrlp.vim'
Plug 'rhysd/vim-clang-format'
Plug 'godlygeek/tabular'
Plug 'airblade/vim-gitgutter'
Plug 'jeetsukumaran/vim-pythonsense'
Plug 'easymotion/vim-easymotion'
Plug 'cpiger/NeoDebug'
Plug 'ivan-krukov/vim-snakemake'
Plug 'nvie/vim-flake8'
Plug 'ludovicchabant/vim-gutentags'
Plug 'junegunn/vim-peekaboo'
if has('python3') && empty($VIM_DISABLE_YCM)
Plug 'ycm-core/YouCompleteMe', { 'do': './install.py' }
endif
Plugin 'dense-analysis/ale'
Plugin 'tpope/vim-unimpaired'
Plugin 'JuliaEditorSupport/julia-vim'
Plugin 'tell-k/vim-autopep8'
Plugin 'jpalardy/vim-slime'
Plugin 'preservim/tagbar'
Plug 'dense-analysis/ale'
Plug 'tpope/vim-unimpaired'
Plug 'JuliaEditorSupport/julia-vim'
Plug 'tell-k/vim-autopep8'
Plug 'tell-k/vim-autoflake'
Plug 'jpalardy/vim-slime'
Plug 'preservim/tagbar'
Plug 'wellle/context.vim'
call vundle#end() " required
call plug#end()
else
let vundle_repo="https://github.com/VundleVim/Vundle.vim.git"
echo "Vundle not installed, type :CloneVundle to clone the vundle repo and install it"
command! CloneVundle execute "!git clone " . vundle_repo . " " . vundle_dir | source $MYVIMRC | echo "Cloned Vundle. Do :PluginInstall"
let plug_url="https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim"
echo "Plug not installed, type :CurlPlug to download and install plug"
command! CurlPlug execute "!curl -fLo " . plug_fpath . " --create-dirs " . plug_url | source $MYVIMRC | echo "Curled Plug. Do :PlugInstall"
endif
set tabstop=4 " show existing tab with 4 spaces width
set shiftwidth=4 " when indenting with '>', use 4 spaces width
set expandtab " On pressing tab, insert 4 spaces
if !exists("vimrc_autocmds_loaded")
let vimrc_autocmds_loaded = 1
@@ -59,6 +61,10 @@ if !exists("vimrc_autocmds_loaded")
au BufRead,BufNewFile *.md setlocal textwidth=80 | setlocal colorcolumn=80
au BufRead,BufNewFile *.py setlocal colorcolumn=100
au FileType html setlocal shiftwidth=2 tabstop=2
autocmd FileType javascript setlocal shiftwidth=2 tabstop=2
autocmd FileType javascriptreact setlocal shiftwidth=2 tabstop=2
autocmd FileType typescript setlocal shiftwidth=2 tabstop=2
autocmd FileType typescriptreact setlocal shiftwidth=2 tabstop=2
if exists(":NERDTree")
" Open NERDTree if no file specified
@@ -84,10 +90,6 @@ autocmd GUIEnter * set visualbell t_vb=
vnoremap > ><CR>gv
vnoremap < <<CR>gv
set tabstop=4 " show existing tab with 4 spaces width
set shiftwidth=4 " when indenting with '>', use 4 spaces width
set expandtab " On pressing tab, insert 4 spaces
set mouse=a
set hlsearch
set scrolloff=5 " Don't let cursor be within 5 lines from top or bottom
@@ -221,6 +223,7 @@ let g:ale_linters = {
\ 'python': ['flake8'],
\ 'c': ['gcc']
\}
let g:ale_virtualtext_cursor = 'disable'
let g:ale_set_highlights = 1
let g:ale_sign_error = '>>'
let g:ale_sign_warning = '--'
@@ -338,12 +341,16 @@ nmap <F2> :NERDTreeToggle<CR>
nmap <F3> :NERDTreeFind<CR>
map <F5> :call CurtineIncSw()<CR>
let g:context_enabled = 0
map <F6> :ContextToggle<CR>
map cp :ContextPeek<CR>
" Julialang
let g:latex_to_unicode_auto = 1
noremap <expr> <F7> LaTeXtoUnicode#Toggle()
noremap! <expr> <F7> LaTeXtoUnicode#Toggle()
autocmd FileType python noremap <buffer> <F8> :call Autopep8()<CR>
autocmd FileType python noremap <buffer> :call Autoflake()<CR> :call Autopep8()<CR>
let g:slime_target = "tmux"
let g:slime_default_config = {"socket_name": "default", "target_pane": "{last}"}
@@ -390,3 +397,7 @@ nmap <Leader>p :set paste! <CR>
map <Leader>n :noh<CR>
vmap <Leader>T :'<,'> Tabularize /
nnoremap <leader>c :execute "set colorcolumn=" . (&colorcolumn == "" ? "120" : "")<CR>
" Insert "Embed IPython" command
:command InsIPython :normal oimport IPython<CR>IPython.embed()<ESC><up>^
nmap <Leader>i :InsIPython <CR>