Compare commits

...

13 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
13 changed files with 123 additions and 109 deletions

View File

@@ -43,7 +43,7 @@ source_existing ~/.bash_prompt.kuba
source_existing ~/.python-venv.kuba/bin/activate source_existing ~/.python-venv.kuba/bin/activate
if command -v ipython &> /dev/null; then if command -v ipython &> /dev/null; then
alias p=ipython alias p="ipython --pylab"
elif command -v python &> /dev/null; then elif command -v python &> /dev/null; then
alias p=python alias p=python
fi 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. # Specify a list of conditions of windows that should never be considered focused.
# focus-exclude = [] # 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. # Use fixed inactive dim value, instead of adjusting according to window opacity.
# inactive-dim-fixed = 1.0 # inactive-dim-fixed = 1.0

View File

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

2
.i3

Submodule .i3 updated: 16d315b6f6...6f3a75a596

View File

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

View File

@@ -11,12 +11,18 @@ except ImportError:
class Wrap: class Wrap:
def __init__(self, fname): def __init__(self, fname):
n = np.load(fname, allow_pickle=True) n = np.load(fname, allow_pickle=True)
files = n.files
globs = globals() globs = globals()
print('Contains files', files) if isinstance(n, np.lib.npyio.NpzFile):
for f in files: files = n.files
setattr(self, f, n[f]) print('Contains files', files)
globs[f] = n[f] 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:] argv = argv[argv.index('--')+1:]
archives = [Wrap(arg) for arg in argv] archives = [Wrap(arg) for arg in argv]
@@ -94,3 +100,32 @@ watch_modify() {
[ "$base" == "$file_name" ] && echo ${@:2} && ${@:2} [ "$base" == "$file_name" ] && echo ${@:2} && ${@:2}
done 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("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("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("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("qid", 'squeue -h -u $USER -o "%A"')
set_alias("scancelall", 'squeue -h -u $USER -o "%A" | xargs scancel') 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='source ' .. loadscript, modeA={"load"}}
execute{cmd='unset -f npz_preview npz_previewi ' .. 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' .. 'rsync_wrap rsync_wrap_huge selc selv cliipc clipv watch_modify' ..
';', modeA={"unload"}} ';', modeA={"unload"}}

View File

@@ -15,15 +15,15 @@ Host aino
User jakub User jakub
Port 22209 Port 22209
Host tahoe Host puffinus
HostName tahoe.fy.chalmers.se HostName puffinus.fy.chalmers.se
User jakub User jakub
Port 22209 Port 22209
Host geym Host sharknado
HostName geym.fy.chalmers.se HostName 130.239.81.182
User jakub User ubuntu
Port 22209 IdentityFile ~/.ssh/jupyterhub_rsa
Host pi4 Host pi4
HostName 192.168.0.200 HostName 192.168.0.200
@@ -48,11 +48,7 @@ Host vera2
User fojt User fojt
Host tetralith Host tetralith
Hostname tetralith1.nsc.liu.se Hostname tetralith.nsc.liu.se
User x_jakfo
Host tetralith2
Hostname tetralith2.nsc.liu.se
User x_jakfo User x_jakfo
Host remote11 Host remote11
@@ -66,34 +62,7 @@ Host remote11
Host dardel Host dardel
Hostname dardel.pdc.kth.se Hostname dardel.pdc.kth.se
User fojt User fojt
GSSAPIAuthentication yes IdentityFile ~/.ssh/id-ed25519-pdc
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
Host * Host *
ForwardAgent no 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 j command-prompt -p "join pane from:" "join-pane -s '%%'"
bind-key s command-prompt -p "send pane to:" "join-pane -t '%%'" bind-key s command-prompt -p "send pane to:" "join-pane -t '%%'"
# ssh socket, important to create symlink in ~/.ssh/rc # Update the session environment upon attaching
set -g update-environment -r set-option -g update-environment 'SSH_AUTH_SOCK SSH_CONNECTION DISPLAY'
set-environment -g 'SSH_AUTH_SOCK' ~/.ssh/ssh_auth_sock 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 # Shorten delay for relaying Esc (to e.g. vim). Too short and PgUp will not work
set -sg escape-time 20 set -sg escape-time 20

78
.vimrc
View File

@@ -2,46 +2,44 @@ let mapleader = ","
set nocompatible " be iMproved, required set nocompatible " be iMproved, required
filetype off " required filetype off " required
let vundle_dir="~/.vim/bundle/Vundle.vim" let plug_fpath="~/.vim/autoload/plug.vim"
if filereadable(expand(vundle_dir) . "/README.md") if filereadable(expand(plug_fpath))
" set the runtime path to include Vundle and initialize call plug#begin()
let &rtp .= "," . vundle_dir
call vundle#begin()
Plugin 'VundleVim/Vundle.vim' " let Vundle manage Vundle, required Plug 'scrooloose/nerdtree'
Plug 'vim-scripts/c.vim'
Plugin 'scrooloose/nerdtree' Plug 'jeetsukumaran/vim-buffergator'
Plugin 'c.vim' Plug 'ericcurtin/CurtineIncSw.vim'
Plugin 'jeetsukumaran/vim-buffergator' Plug 'tpope/vim-fugitive'
Plugin 'ericcurtin/CurtineIncSw.vim' Plug 'tpope/vim-surround'
Plugin 'tpope/vim-fugitive' Plug 'ctrlpvim/ctrlp.vim'
Plugin 'tpope/vim-surround' Plug 'rhysd/vim-clang-format'
Plugin 'ctrlpvim/ctrlp.vim' Plug 'godlygeek/tabular'
Plugin 'rhysd/vim-clang-format' Plug 'airblade/vim-gitgutter'
Plugin 'godlygeek/tabular' Plug 'jeetsukumaran/vim-pythonsense'
Plugin 'airblade/vim-gitgutter' Plug 'easymotion/vim-easymotion'
Plugin 'jeetsukumaran/vim-pythonsense' Plug 'cpiger/NeoDebug'
Plugin 'easymotion/vim-easymotion' Plug 'ivan-krukov/vim-snakemake'
Plugin 'cpiger/NeoDebug' Plug 'nvie/vim-flake8'
Plugin 'ivan-krukov/vim-snakemake' Plug 'ludovicchabant/vim-gutentags'
Plugin 'nvie/vim-flake8' Plug 'junegunn/vim-peekaboo'
Plugin 'ludovicchabant/vim-gutentags'
Plugin 'junegunn/vim-peekaboo'
if has('python3') && empty($VIM_DISABLE_YCM) if has('python3') && empty($VIM_DISABLE_YCM)
Plugin 'ycm-core/YouCompleteMe' Plug 'ycm-core/YouCompleteMe', { 'do': './install.py' }
endif endif
Plugin 'dense-analysis/ale' Plug 'dense-analysis/ale'
Plugin 'tpope/vim-unimpaired' Plug 'tpope/vim-unimpaired'
Plugin 'JuliaEditorSupport/julia-vim' Plug 'JuliaEditorSupport/julia-vim'
Plugin 'tell-k/vim-autopep8' Plug 'tell-k/vim-autopep8'
Plugin 'jpalardy/vim-slime' Plug 'tell-k/vim-autoflake'
Plugin 'preservim/tagbar' Plug 'jpalardy/vim-slime'
Plug 'preservim/tagbar'
Plug 'wellle/context.vim'
call vundle#end() " required call plug#end()
else else
let vundle_repo="https://github.com/VundleVim/Vundle.vim.git" let plug_url="https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim"
echo "Vundle not installed, type :CloneVundle to clone the vundle repo and install it" echo "Plug not installed, type :CurlPlug to download and install plug"
command! CloneVundle execute "!git clone " . vundle_repo . " " . vundle_dir | source $MYVIMRC | echo "Cloned Vundle. Do :PluginInstall" command! CurlPlug execute "!curl -fLo " . plug_fpath . " --create-dirs " . plug_url | source $MYVIMRC | echo "Curled Plug. Do :PlugInstall"
endif endif
set tabstop=4 " show existing tab with 4 spaces width set tabstop=4 " show existing tab with 4 spaces width
@@ -343,12 +341,16 @@ nmap <F2> :NERDTreeToggle<CR>
nmap <F3> :NERDTreeFind<CR> nmap <F3> :NERDTreeFind<CR>
map <F5> :call CurtineIncSw()<CR> map <F5> :call CurtineIncSw()<CR>
let g:context_enabled = 0
map <F6> :ContextToggle<CR>
map cp :ContextPeek<CR>
" Julialang " Julialang
let g:latex_to_unicode_auto = 1 let g:latex_to_unicode_auto = 1
noremap <expr> <F7> LaTeXtoUnicode#Toggle() noremap <expr> <F7> LaTeXtoUnicode#Toggle()
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_target = "tmux"
let g:slime_default_config = {"socket_name": "default", "target_pane": "{last}"} let g:slime_default_config = {"socket_name": "default", "target_pane": "{last}"}
@@ -395,3 +397,7 @@ nmap <Leader>p :set paste! <CR>
map <Leader>n :noh<CR> map <Leader>n :noh<CR>
vmap <Leader>T :'<,'> Tabularize / vmap <Leader>T :'<,'> Tabularize /
nnoremap <leader>c :execute "set colorcolumn=" . (&colorcolumn == "" ? "120" : "")<CR> 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>