1
0
mirror of https://github.com/tiyn/dotfiles.git synced 2026-03-09 18:54:47 +01:00

Compare commits

...

56 Commits

Author SHA1 Message Date
1734b04841 nvim: updated dictionaries 2026-03-05 06:35:40 +01:00
727f9265bb Merge branch 'master' of ghthub:tiyn/dotfiles 2026-03-04 05:02:19 +01:00
cfd37d97f2 nvim: updated dictionaries 2026-03-04 05:02:10 +01:00
7dc566ff93 nvim: updated dictionaries 2026-03-04 00:57:06 +01:00
a5b238c3ae Merge branch 'master' of github:tiyn/dotfiles 2026-03-04 00:48:56 +01:00
27ac63f781 zsh: eval opam 2026-03-04 00:48:41 +01:00
3c5691e879 nvim: updated dictionaries 2026-03-04 00:44:41 +01:00
17697e2f8f vifm/eza: improved styling for kepub files 2026-03-03 03:58:22 +01:00
f2c8b6d8e5 git: added (mostly) safe force push alias 2026-03-01 10:40:20 +01:00
f33b4e49f0 git: added amend as alias 2026-03-01 09:21:12 +01:00
87e4a1966e zsh: add auto-venv and remote git push support 2026-03-01 07:57:10 +01:00
8c4b6d593d zsh: enable smart search back- and forwards 2026-03-01 06:05:46 +01:00
e9d5b3ecd4 profile: added ydotool socket path 2026-02-28 23:22:48 +01:00
ec5bfb45d5 zsh: adding alias git graph and link it to keifu 2026-02-28 23:19:41 +01:00
c8f65d1705 zsh: added keifu fix 2026-02-28 13:30:16 +01:00
d3e4da830d nvim: updated dictionaries 2026-02-28 05:47:43 +01:00
58c6169aee Merge branch 'master' of github:tiyn/dotfiles 2026-02-28 03:27:41 +01:00
e04d24f2ad nvim: switched renamer for oil.nvim 2026-02-28 03:27:28 +01:00
d4086706aa nvim: updated dictionaries 2026-02-27 05:11:02 +01:00
fdabd6464d Merge branch 'master' of github:tiyn/dotfiles 2026-02-26 06:01:33 +01:00
f6c061757e nvim: updated dictionaries 2026-02-26 06:00:45 +01:00
1ae799d7cd nvim: moved viper highlighting to separate repository and imported it 2026-02-20 07:31:13 +01:00
4db7a89731 nvim: added viper highlighting 2026-02-20 07:13:27 +01:00
8c75a5097a nvim: updated dictionaries 2026-02-20 06:09:24 +01:00
3bb30e8c41 nvim: updated dictionaries 2026-02-20 06:02:13 +01:00
0cab4e024f nvim: updated dictionaries 2026-02-20 06:01:50 +01:00
1f814f4f72 Merge branch 'master' of github:tiyn/dotfiles 2026-02-18 02:23:02 +01:00
f2f6831bcb nvim: updated dictionaries 2026-02-18 02:22:57 +01:00
be879e53a9 nvim: updated dictionaries 2026-02-17 07:45:20 +01:00
9544ecdfac profile: make pyenv fail safely withouth stopping graphical interface completely 2026-02-17 07:44:15 +01:00
59f74aeadf nvim: updated dictionaries 2026-02-17 07:43:12 +01:00
d32eb6f97a nvim: updated dictionaries 2026-02-15 08:50:49 +01:00
418fc0d897 nvim: updated dictionaries 2026-02-15 03:39:55 +01:00
6c55b3e385 nvim: updated dictionaries 2026-02-12 09:53:24 +01:00
cd8328aa62 nvim: updated dictionaries 2026-02-11 08:43:52 +01:00
ae7b3ef1c1 nvim: updated dictionaries 2026-02-10 03:44:14 +01:00
e8775a1513 sxhkd: fixed wrong key labels 2026-02-09 08:48:51 +01:00
e506e869ac sxhkd: fixed wrong key labels 2026-02-09 08:37:00 +01:00
a88c382fab nvim: updated dictionaries 2026-02-02 08:12:22 +01:00
c47c3b3a05 nvim: updated dictionaries 2026-02-02 08:11:05 +01:00
270b104be5 nvim: updated dictionaries 2026-01-31 10:22:29 +01:00
f52cd361d4 nvim: expanded config for latexindent 2026-01-31 09:30:52 +01:00
377d0db8d8 nvim: added latexindent configs 2026-01-31 09:16:56 +01:00
dd90bae2b0 nvim: added go shells to compiler script 2026-01-31 09:16:31 +01:00
0103b382ad nvim: added go shells to compiler script 2026-01-31 09:16:22 +01:00
4e8a537c32 nvim: updated formatters 2026-01-31 09:14:04 +01:00
8c6178418b nvim: added type- and javascript lsp 2026-01-31 07:48:24 +01:00
7665b17e28 vifm: correctly open aac in vifm as audio 2026-01-29 08:39:26 +01:00
562a728b67 nvim: use carbon and not silicon for .vpr files 2026-01-29 08:33:07 +01:00
049785b3d7 nvim: updated dictionaries 2026-01-29 08:32:32 +01:00
94b0aa1007 nvim: updated dictionaries 2026-01-28 01:57:00 +01:00
8c22d3d714 nvim: updated dictionaries 2026-01-28 01:17:07 +01:00
0496b695c4 nvim: updated dictionaries 2026-01-26 10:10:06 +01:00
75318766b4 git: store credentials by default 2026-01-25 18:49:00 +01:00
e02221c58c nvim: added papis.nvim plugin 2026-01-25 18:48:28 +01:00
3bd40a0109 nvim: updated dictionaries 2026-01-25 18:47:37 +01:00
23 changed files with 472 additions and 125 deletions

View File

@@ -75,10 +75,10 @@ alias contacts="khard"
alias paint="kolourpaint"
# ls(d)
alias l="exa --group-directories-first"
alias la="exa -la --group-directories-first"
alias ll="exa -l --group-directories-first"
alias tree="exa --tree --group-directories-first"
alias l="exa --group-directories-first --icons"
alias la="exa -la --group-directories-first --icons --git"
alias ll="exa -l --group-directories-first --icons --git"
alias tree="exa --tree --group-directories-first --icons"
# mkdir
alias mkdir="mkdir -p"

3
.config/eza/theme.yml Normal file
View File

@@ -0,0 +1,3 @@
extensions:
kepub:
icon: { glyph:  }

View File

@@ -0,0 +1,24 @@
defaultIndent: ' '
indentAfterItems:
itemize: 1
itemize*: 1
enumerate: 1
enumerate*: 1
indentRules:
item: 1
noAdditionalIndentGlobal:
item: 1
indentAfterHeadings:
textit:
indentAfterThisHeading: 1
level: 1
footnote:
indentAfterThisHeading: 1
level: 1
noAdditionalIndent:
textit: 1
footnote: 1
removeTrailingWhitespace:
beforeProcessing: 0
afterProcessing: 1
indentPreamble: 1

View File

@@ -110,6 +110,7 @@ vim.filetype.add({
sage = "python",
sh = "bash",
tex = "tex",
vpr = "viper",
},
})

View File

@@ -16,7 +16,7 @@
"edgy.nvim": { "branch": "main", "commit": "8bfd2808994a988c975694122f68624b8a219f5f" },
"fterm.nvim": { "branch": "master", "commit": "d1320892cc2ebab472935242d9d992a2c9570180" },
"fzy-lua-native": { "branch": "master", "commit": "9d720745d5c2fb563c0d86c17d77612a3519c506" },
"git-blame.nvim": { "branch": "main", "commit": "9874ec1ec8bc53beb33b7cd82c092b85271a578b" },
"git-blame.nvim": { "branch": "master", "commit": "9874ec1ec8bc53beb33b7cd82c092b85271a578b" },
"gitsigns.nvim": { "branch": "main", "commit": "1ee5c1fd068c81f9dd06483e639c2aa4587dc197" },
"goto-preview": { "branch": "main", "commit": "cf561d10b4b104db20375c48b86cf36af9f96e00" },
"image.nvim": { "branch": "master", "commit": "446a8a5cc7a3eae3185ee0c697732c32a5547a0b" },
@@ -29,10 +29,11 @@
"lsp_signature.nvim": { "branch": "master", "commit": "b58cca003d1d3311213d6db0352f58d8e57bfff0" },
"lspkind-nvim": { "branch": "master", "commit": "3ddd1b4edefa425fda5a9f95a4f25578727c0bb3" },
"lualine.nvim": { "branch": "master", "commit": "b8c23159c0161f4b89196f74ee3a6d02cdc3a955" },
"luasnip": { "branch": "master", "commit": "03c8e67eb7293c404845b3982db895d59c0d1538" },
"luasnip": { "branch": "master", "commit": "458560534a73f7f8d7a11a146c801db00b081df0" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "6bdb14f230de0904229ec367b410fb817e59b072" },
"mason-null-ls.nvim": { "branch": "main", "commit": "de19726de7260c68d94691afb057fa73d3cc53e7" },
"mason.nvim": { "branch": "main", "commit": "ad7146aa61dcaeb54fa900144d768f040090bff0" },
"mini.icons": { "branch": "main", "commit": "ff2e4f1d29f659cc2bad0f9256f2f6195c6b2428" },
"modes.nvim": { "branch": "main", "commit": "0932ba4e0bdc3457ac89a8aeed4d56ca0b36977a" },
"molten-nvim": { "branch": "main", "commit": "a286aa914d9a154bc359131aab788b5a077a5a99" },
"none-ls.nvim": { "branch": "main", "commit": "5cf63841461b49989972d35bf886e076a1ab3649" },
@@ -52,18 +53,20 @@
"nvim-web-devicons": { "branch": "master", "commit": "b8221e42cf7287c4dcde81f232f58d7b947c210d" },
"nvim-yarp": { "branch": "master", "commit": "bb5f5e038bfe119d3b777845a76b0b919b35ebc8" },
"ogpt.nvim": { "branch": "main", "commit": "0fae02db8cb07391f86c3dbe807f62190a2d997f" },
"oil.nvim": { "branch": "master", "commit": "0fcc83805ad11cf714a949c98c605ed717e0b83e" },
"otter.nvim": { "branch": "main", "commit": "fc0aa35b1985077d11a20ddf4006bf40f2cd7397" },
"outline.nvim": { "branch": "main", "commit": "6b62f73a6bf317531d15a7ae1b724e85485d8148" },
"papis.nvim": { "branch": "main", "commit": "25e69f25e51b2d46178a213356adbc28b0f918ef" },
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
"popup-menu.nvim": { "branch": "master", "commit": "b618bd0c824a20417d845fa0022327228e6988a2" },
"projections.nvim": { "branch": "pre_release", "commit": "889914169fa1f5c00fb8659653b5a8330fb223e6" },
"promise-async": { "branch": "main", "commit": "119e8961014c9bfaf1487bf3c2a393d254f337e2" },
"quarto-nvim": { "branch": "main", "commit": "0e9491509b38efbd83d3f41dbfacc7fc4bd40191" },
"renamer.nvim": { "branch": "master", "commit": "1614d466df53899f11dd5395eaac3c09a275c384" },
"rustaceanvim": { "branch": "master", "commit": "12504405821c05874d2d1f6b5ec919f9808e2c99" },
"spelunker.vim": { "branch": "master", "commit": "a0bc530f62798bbe053905555a4aa9ed713485eb" },
"sqlite.lua": { "branch": "master", "commit": "50092d60feb242602d7578398c6eb53b4a8ffe7b" },
"tabular": { "branch": "master", "commit": "12437cd1b53488e24936ec4b091c9324cafee311" },
"tccs.nvim": { "branch": "master", "commit": "e50c1504286b5ee2700961a600f26c9b338bd042" },
"tccs.nvim": { "branch": "master", "commit": "b729bc7702d67db41898c5d65847a766384fc734" },
"telescope-words.nvim": { "branch": "main", "commit": "295d51fe1e525fee18c0c164ad0ae5fb23273aa0" },
"telescope.nvim": { "branch": "master", "commit": "776b509f80dd49d8205b9b0d94485568236d1192" },
"tidy.nvim": { "branch": "main", "commit": "c8cd0e6e0108da25c3e10c3f33d8c03b3d8806f1" },
@@ -75,6 +78,7 @@
"vim-illuminate": { "branch": "master", "commit": "0d1e93684da00ab7c057410fecfc24f434698898" },
"vim-markdown": { "branch": "master", "commit": "8f6cb3a6ca4e3b6bcda0730145a0b700f3481b51" },
"vim-renamer": { "branch": "master", "commit": "9c6346eb4556cf2d8ca55de6969247ab14fe2383" },
"viper.nvim": { "branch": "master", "commit": "4f406ae891113fc1bfda308052c835a185188670" },
"which-key.nvim": { "branch": "main", "commit": "b4177e3eaf15fe5eb8357ebac2286d488be1ed00" },
"wilder.nvim": { "branch": "master", "commit": "679f348dc90d80ff9ba0e7c470c40a4d038dcecf" },
"winshift.nvim": { "branch": "main", "commit": "37468ed6f385dfb50402368669766504c0e15583" }

View File

@@ -114,3 +114,8 @@ end, {
nargs = 1,
complete = 'file'
})
-- stevearc/oil.nvim
vim.api.nvim_create_user_command('Renamer', function(opts)
vim.cmd("Oil " .. opts.args)
end, { nargs = "*" })

View File

@@ -1,30 +1,78 @@
Ambiguity
Artifact
Artifacts
Betreuerrolle
Bonitur
Entlebucher Sennenhund
Branch
Crowd-Interaction
Destruction
Developer
Dictation
Dreams
Entlebucher
Extraction
For-Loop
Formatter
Französischvokabeln
GOAT
Genervtheit
Gestresstheit
Gym
Homeserver
Immigrationsgeschichte
Impro-Theater
Improtheater
Infokratie
Ira
Jahreszeitenunterschied
Jahreszeitenunterschiede
Kardinälin
Königinnensubstanz
LLM-Paper
Magazinbeute
Magazinbeuten
Meta
Mods
Ne
Orgas
Poetry
Poetry-Slam
Poetryslam
Pollenhose
SDS-Plenum
SPM-Gruppe
Scammer
Sennenhund
Slam
Slammern
Slams
Soundness
Speech-to-Text
Stations
Torrenting
Uni-Theater
Unitheater
Verification
While-Loop
Wrap-Up-Folie
Zweifelsfall
algenverseucht
aneinandergelehnt
bürgerlicher
bürgerlichere
bürgerlicheren
cyber-physische
egozentristisch
gedätscht
gepiekst
histoire
ira
performistisch
pseudomotivierend
pseudomotivierende
respekt-
rumgealbert
shiftete
ultra
Ça
ça

View File

@@ -1,56 +1,149 @@
APV
Accuracy
Akallabêth
Annoyed Altisaur
Altisaur
An
Anki
Annoyed
ApoRed
Arrabbiata
Asiahung
Aule
Aules
Barros
Beek
Boarding Party
Bela
Betterov
Boarding
Boelsen
Bontjes
Brusch
CAR
CATS
CDSS
Casper
Caspers
Cato
CdE
Chrysalis
Combi
Commander
Daisy's
DeepSeek
Dekarldent
Destiny 2
Doom-Scrolling
Doyma
Eckhoff
Edain
Elodie
Eyal
FIDO-Stick
Flac
Forest
Frevert
Freverts
Friesenturnier
Gathering
GrapheneOS
Greater
Grixis
Gump
Guttersnipe
Habenhausen
Hailo
Hellmers
Higgers
Hough
Hue
Höper
IFAM
IFAMs
IMRaD
Ikigai
Int
Ira
JT
Jeanine
Karamasov
Kluge
Kratom
Kreyenhop
Kubitschek
Käte
LLMs
LightDM
MTG
Maarten
Magic
Magic: The Gathering
Maite
Marten
Mathis
Matvey
Mauli
Mentos
Metzener
MiiMii
Mint
Nate
NeoVIM
NextCloud
Nim
Númenor
OFFIS
Oberweseler
Odysee
Opam
OpenCloud
Overwatch
Pane
Papis
Pauper
Peperaci
PfingstAka
PfingstAka
PfingstAkademie
Pluribus
PopOS
Precision
Precon
Precons
PyEnv
Rebowl
Reeves
Rocq
Ruschenbaum
SPM
Sagehorn
Scheller
Sedef
Severance
Shinies
Shiny
Skyrim
SommerAka
SommerAkademie
Souleyman
SpotiFLAC
Stina
Stud.IP
TCAV
Thinkpad
Tjark
Tornow
TrackPoint
UDEV
VIM
Weizman
Willenborg
WinterAka
WinterAkademie
Writhing Chrysalis
Writhing
Ziegeleiweg
Zimin
eKiwi
flac
inf
liquidctl
npy
zedbraxmen

View File

@@ -8,24 +8,13 @@ return {
lua = { "stylua" },
markdown = { "mdformat" },
python = { "isort", "yapf" },
sh = { "beautysh" },
shell = { "beautysh" },
sh = { "shfmt" },
bash = { "shfmt" },
zsh = { "shfmt" },
tex = { "latexindent" },
yaml = { "yamlfmt" },
},
})
require("conform").formatters.latexindent = {
args = require("conform.util").extend_args(
require("conform.formatters.latexindent").args,
{ "-y=defaultIndent: ' '" }
),
}
require("conform").formatters.beautysh = {
args = require("conform.util").extend_args(
require("conform.formatters.beautysh").args,
{ "--indent-size=2", "--force-function-style=fnpar" }
),
}
end,
},
}

View File

@@ -1,15 +1,15 @@
return {
-- lang server installations
{
'williamboman/mason.nvim',
"williamboman/mason.nvim",
dependencies = {
{
'nvimtools/none-ls.nvim',
"nvimtools/none-ls.nvim",
config = function()
require("null-ls").setup({
sources = {
-- latex
-- require("null-ls").builtins.formatting.latexindent,
-- assembler
require("null-ls").builtins.formatting.asmfmt,
-- lua
require("null-ls").builtins.formatting.stylua,
-- markdown
@@ -18,20 +18,20 @@ return {
require("null-ls").builtins.formatting.isort,
require("null-ls").builtins.formatting.yapf,
-- shell
-- require("null-ls").builtins.formatting.beautysh,
require("null-ls").builtins.formatting.shfmt,
-- yaml
require("null-ls").builtins.formatting.yamlfmt,
}
},
})
end
end,
},
{
'jay-babu/mason-null-ls.nvim',
"jay-babu/mason-null-ls.nvim",
opts = {
automatic_installation = true,
ensure_installed = {
-- latex
"latexindent",
-- assembler
"asmfmt",
-- lua
"stylua",
-- markdown
@@ -40,13 +40,13 @@ return {
"isort",
"yapf",
-- shell
"beautysh",
"shfmt",
-- yaml
"yamlfmt",
}
}
},
},
},
},
opts = { ui = { icons = Install_signs } }
}
opts = { ui = { icons = Install_signs } },
},
}

View File

@@ -24,22 +24,40 @@ return {
require("mason-lspconfig").setup({
automatic_setup = true,
ensure_installed = {
"bashls",
-- assembler
"asm_lsp",
-- c
"clangd",
-- docker
"dockerls",
-- go
"gopls",
-- html
"html",
-- json
"jsonls",
-- xml
"lemminx",
-- latex
"ltex",
"lua_ls",
"marksman",
"nimls",
"pyright",
"r_language_server",
"sqlls",
"texlab",
-- "tsserver",
-- lua
"lua_ls",
-- markdown
"marksman",
-- nim
"nimls",
-- python
"pyright",
-- r
"r_language_server",
-- shell
"bashls",
-- sql
"sqlls",
-- typescript / javascript
"ts_ls",
-- yaml
"yamlls",
},
})

View File

@@ -21,6 +21,7 @@ return {
"python",
"rust",
"lua",
"yaml",
},
-- highlight = { enable = true },
autotag = { enable = false },

View File

@@ -0,0 +1,10 @@
return {
-- rename files in buffer
{
"stevearc/oil.nvim",
---@module 'oil'
---@type oil.setupopts
opts = {},
dependencies = { "nvim-mini/mini.icons" },
},
}

View File

@@ -0,0 +1,32 @@
return {
"jghauser/papis.nvim",
dependencies = {
"kkharji/sqlite.lua",
"MunifTanjim/nui.nvim",
-- If not already installed, you may also want one of:
"hrsh7th/nvim-cmp",
-- {
-- "saghen/blink.cmp",
-- config = function()
-- require("blink.cmp").setup({
-- sources = {
-- -- add 'papis' to the list of sources for the yaml filetype
-- per_filetype = {
-- yaml = { "papis" }
-- },
-- }
-- })
-- end,
-- },
-- Choose one of the following two if not already installed:
"nvim-telescope/telescope.nvim",
-- "folke/snacks.nvim",
},
config = function()
require("papis").setup({
-- Your configuration goes here
enable_keymaps = true,
})
end,
}

View File

@@ -1,10 +0,0 @@
return {
-- rename files in buffer
{
'qpkorr/vim-renamer',
priority = 100,
config = function()
require('renamer')
end
}
}

View File

@@ -0,0 +1,8 @@
return {
-- highlighting for the viper verification language
"tiyn/viper.nvim",
event = { "BufReadPre *.vpr", "FileType viper" },
config = function()
require("viper").setup()
end,
}

View File

@@ -28,13 +28,13 @@ super + b
super + m
thunderbird
super + bracketright
super + plus
lmc mute_toggle
super + backslash
super + numbersign
lmc deaf_toggle
super + bracketleft
super + udiaeresis
dnd toggle
super + apostrophe
super + odiaeresis
lmc tap_toggle
super + shift + l

View File

@@ -208,11 +208,11 @@ fileviewer *.djvu
\ %pc
\ vifmimg clear
" epub
filextype *.epub
" (k)epub
filextype *.epub,*.kepub
\ {View in zathura}
\ zathura ./%f,
fileviewer *.epub
fileviewer *.epub,*.kepub
\ vifmimg epub %px %py %pw %ph %c
\ %pc
\ vifmimg clear
@@ -223,7 +223,7 @@ filextype *.svg
\ inkview %f,
" Audio
filetype *.wav,*.mp3,*.flac,*.m4a,*.wma,*.ape,*.ac3,*.og[agx],*.spx,*.opus
filetype *.wav,*.mp3,*.flac,*.m4a,*.wma,*.ape,*.ac3,*.og[agx],*.spx,*.opus,*.aac
\ {Play using mpv}
\ mpv %c,
\ {Play using ffplay}
@@ -434,13 +434,13 @@ set vifminfo=dhistory,savedirs,chistory,state,tui,shistory,
" file types
set classify=' :dir:/, :exe:, :reg:, :link:'
" various file names
set classify+=' ::../::, ::*.sh::, ::*.[hc]pp::, ::*.[hc]::, ::/^copying|license$/::, ::.git/,,*.git/::, ::*.epub,,*.fb2,,*.djvu::, ::*.pdf::, ::*.htm,,*.html,,**.[sx]html,,*.xml::'
set classify+=' ::../::, ::*.sh::, ::*.[hc]pp::, ::*.[hc]::, ::/^copying|license$/::, ::.git/,,*.git/::, ::*.epub,,*.kepub,,*.fb2,,*.djvu::, ::*.pdf::, ::*.htm,,*.html,,**.[sx]html,,*.xml::'
" archives
set classify+=' ::*.7z,,*.ace,,*.arj,,*.bz2,,*.cpio,,*.deb,,*.dz,,*.gz,,*.jar,,*.lzh,,*.lzma,,*.rar,,*.rpm,,*.rz,,*.tar,,*.taz,,*.tb2,,*.tbz,,*.tbz2,,*.tgz,,*.tlz,,*.trz,,*.txz,,*.tz,,*.tz2,,*.xz,,*.z,,*.zip,,*.zoo::'
" images
set classify+=' ::*.bmp,,*.gif,,*.jpeg,,*.jpg,,*.ico,,*.png,,*.ppm,,*.svg,,*.svgz,,*.tga,,*.tif,,*.tiff,,*.xbm,,*.xcf,,*.xpm,,*.xspf,,*.xwd::'
set classify+=' ::*.bmp,,*.gif,,*.jpeg,,*.jpg,,*.ico,,*.png,,*.ppm,,*.svg,,*.svgz,,*.tga,,*.tif,,*.tiff,,*.xbm,,*.xcf,,*.xpm,,*.xspf,,*.xwd,,*.webp::'
" audio
set classify+=' ::*.aac,,*.anx,,*.asf,,*.au,,*.axa,,*.flac,,*.m2a,,*.m4a,,*.mid,,*.midi,,*.mp3,,*.mpc,,*.oga,,*.ogg,,*.ogx,,*.ra,,*.ram,,*.rm,,*.spx,,*.wav,,*.wma,,*.ac3::'
set classify+=' ::*.aac,,*.anx,,*.asf,,*.au,,*.axa,,*.flac,,*.m2a,,*.m4a,,*.mid,,*.midi,,*.mp3,,*.mpc,,*.oga,,*.ogg,,*.ogx,,*.ra,,*.ram,,*.rm,,*.spx,,*.wav,,*.wma,,*.ac3,,*.opus,,*.aac::'
" media
set classify+=' ::*.avi,,*.ts,,*.axv,,*.divx,,*.m2v,,*.m4p,,*.m4v,,.mka,,*.mkv,,*.mov,,*.mp4,,*.flv,,*.mp4v,,*.mpeg,,*.mpg,,*.nuv,,*.ogv,,*.pbm,,*.pgm,,*.qt,,*.vob,,*.wmv,,*.xvid::'
" office files

View File

@@ -85,89 +85,189 @@ function +vi-git-stash() {
# CUSTOM WIDGETS #
##################
_git_fix_main_master() {
_find_venv_upwards() {
local dir="$PWD"
while [[ "$dir" != "/" ]]; do
if [[ -f "$dir/pyvenv.cfg" ]]; then
echo "$dir"
return
fi
dir=$(dirname "$dir")
done
}
_auto_venv() {
local venv_dir
venv_dir=$(_find_venv_upwards)
if [[ -n "$VIRTUAL_ENV" && "$VIRTUAL_ENV" != "$venv_dir" ]]; then
deactivate 2>/dev/null
fi
if [[ -n "$venv_dir" && "$VIRTUAL_ENV" != "$venv_dir" ]]; then
source "$venv_dir/bin/activate"
fi
}
autoload -U add-zsh-hook
add-zsh-hook chpwd _auto_venv
_auto_venv
_accept_line() {
# automatically push to remote
if [[ "$BUFFER" == "git push" ]]; then
local branch
branch=$(git symbolic-ref --short HEAD 2>/dev/null)
if [[ -n "$branch" ]]; then
git rev-parse --abbrev-ref --symbolic-full-name @{u} &>/dev/null
if [[ $? -ne 0 ]]; then
BUFFER="git push -u origin $branch"
fi
fi
fi
# use keifu instead of git log --graph
if [[ "$BUFFER" =~ ^([a-zA-Z0-9_-]+)[[:space:]]+([a-zA-Z0-9_-]+)(.*)$ ]]; then
local cmd=${match[1]}
local subcmd=${match[2]}
local rest=${match[3]}
# directly via git log --graph
if [[ "$cmd" == "git" && "$subcmd" == "log" && "$rest" == *"--graph"* ]]; then
BUFFER="keifu"
zle accept-line
return
fi
# check for git-alias
if [[ "$cmd" == "git" ]]; then
local alias_expansion
alias_expansion=$(git config --get "alias.$subcmd" 2>/dev/null)
if [[ -n "$alias_expansion" && "$alias_expansion" == log*--graph* ]]; then
BUFFER="keifu"
zle accept-line
return
fi
fi
# shell-alias
if alias "$cmd" &>/dev/null; then
local expansion=$(alias "$cmd")
expansion=${expansion#*=}
expansion=${expansion#\'}
expansion=${expansion%\'}
if [[ "$expansion" =~ --git-dir=([^[:space:]]+) ]]; then
local gitdir=${match[1]}
if [[ "$subcmd" == "log" && "$rest" == *"--graph"* ]]; then
BUFFER="(cd $gitdir && keifu)"
zle accept-line
return
fi
# git-alias within shell-alias
local alias_expansion
alias_expansion=$(git --git-dir="$gitdir" config --get "alias.$subcmd" 2>/dev/null)
if [[ -n "$alias_expansion" && "$alias_expansion" == log*--graph* ]]; then
BUFFER="(cd $gitdir && keifu)"
zle accept-line
return
fi
fi
fi
fi
# swap main and master Fix
if [[ $BUFFER == git\ * ]]; then
local has_main=0
local has_master=0
git rev-parse --verify main >/dev/null 2>&1 && has_main=1
git rev-parse --verify master >/dev/null 2>&1 && has_master=1
if [[ $has_main -eq 1 && $has_master -eq 0 ]]; then
if [[ $BUFFER == *" master"* ]]; then
BUFFER=${BUFFER//" master"/" main"}
fi
BUFFER=${BUFFER//" master"/" main"}
fi
if [[ $has_master -eq 1 && $has_main -eq 0 ]]; then
if [[ $BUFFER == *" main"* ]]; then
BUFFER=${BUFFER//" main"/" master"}
fi
BUFFER=${BUFFER//" main"/" master"}
fi
fi
zle accept-line
}
zle -N _git_fix_main_master
bindkey "^M" _git_fix_main_master
zle -N _accept_line
bindkey "^M" _accept_line
#########
# STYLE #
#########
# Set style for version control
# set style for version control
zstyle ':vcs_info:*' enable git
zstyle ':vcs_info:git*:*' get-revision true
zstyle ':vcs_info:git*:*' check-for-changes true
zstyle ':vcs_info:git*' formats "(%s) %c%u %b%m"
zstyle ':vcs_info:git*' actionformats "(%s|%a) %12.12i %c%u %b%m"
# Show remote ref name and number of commits ahead-of or behind
# Show count of stashed changes
# show remote ref name and number of commits ahead-of or behind
# show count of stashed changes
zstyle ':vcs_info:git*+set-message:*' hooks git-st git-stash
# Set style for completion options
# set style for completion options
zstyle ':completion:*' menu select
zstyle ':completion:*' matcher-list '' 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*' # Case insensitive completion
zmodload zsh/complist
_comp_options+=(globdots)
# Disable sort when completing `git checkout`
# disable sort when completing `git checkout`
zstyle ':completion:*:git-checkout:*' sort false
# Set descriptions format to enable group support
# set descriptions format to enable group support
zstyle ':completion:*:descriptions' format '[%d]'
# Set list-colors to enable filename colorizing
# set list-colors to enable filename colorizing
zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}
# Preview directory's content with eza when completing cd
# preview directory's content with eza when completing cd
zstyle ':fzf-tab:complete:cd:*' fzf-preview 'eza -1 --color=always $realpath'
# Switch group using `,` and `.`
# switch group using `,` and `.`
zstyle ':fzf-tab:*' switch-group ',' '.'
# Set default Vim Cursor shape
# set default Vim Cursor shape
zle -N zle-keymap-select
zle -N zle-line-init
echo -ne '\e[5 q'
# Set default prompt
# set default prompt
PS1='%B%{$fg[blue]%}[%{$fg[blue]%}%n%{$fg[blue]%}@%{$fg[blue]%}%M %{$fg[blue]%}%~%{$fg[blue]%}]%{$reset_color%}\$%b '
RPROMPT='%B%{$fg[blue]%}$vcs_info_msg_0_%{$reset_color%}%b'
setopt prompt_subst
# Copy to x11 clipboard
# copy to x11 clipboard
x11-clip-wrap-widgets copy $copy_widgets
x11-clip-wrap-widgets paste $paste_widgets
# Enable colors
# enable colors
autoload -U colors && colors
# Enable git info in prompt
# enable git info in prompt
autoload -Uz vcs_info
# enable smart history search
bindkey -M vicmd 'j' history-beginning-search-forward
bindkey -M vicmd 'k' history-beginning-search-backward
###############
# KEYBINDINGS #
###############
# Enable vi mode
# enable vi mode
bindkey -v
export KEYTIMEOUT=1
# Vim bindings in tab mode
# vim bindings in tab mode
bindkey -M menuselect 'h' vi-backward-char
bindkey -M menuselect 'k' vi-up-line-or-history
bindkey -M menuselect 'l' vi-forward-char
@@ -178,48 +278,50 @@ bindkey -v '^?' backward-delete-char
# ADDITIONAL FEATURES #
#######################
# Load alias
# load alias
[ -f "$HOME/.config/aliasrc" ] && source "$HOME/.config/aliasrc" # Load aliases
# Disable ctrl-s and ctrl-q.
# disable ctrl-s and ctrl-q.
stty -ixon
# Automatically cd if given a directory
# automatically cd if given a directory
setopt autocd autopushd
# Enable compinit
# enable compinit
autoload -Uz compinit && compinit
# Plugin: command not found notice
# plugin: command not found notice
[ -f "/usr/share/doc/pkgfile/command-not-found.zsh" ] && source /usr/share/doc/pkgfile/command-not-found.zsh
# Plugin: fuzzy completion
# plugin: fuzzy completion
[ -f "/usr/share/zsh/plugins/fzf-tab-git/fzf-tab.plugin.zsh" ] && source /usr/share/zsh/plugins/fzf-tab-git/fzf-tab.plugin.zsh
# Plugin: autosuggestions
# plugin: autosuggestions
[ -f "/usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh" ] && source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh && bindkey '^ ' autosuggest-accept
# Plugin: syntax highlighting
# plugin: syntax highlighting
[ -f "/usr/share/zsh/plugins/fast-syntax-highlighting/fast-syntax-highlighting.plugin.zsh" ] && source /usr/share/zsh/plugins/fast-syntax-highlighting/fast-syntax-highlighting.plugin.zsh
# Plugin: Autopair
# plugin: Autopair
[ -f "/usr/share/zsh/plugins/zsh-autopair/zsh-autopair.plugin.zsh" ] && source /usr/share/zsh/plugins/zsh-autopair/zsh-autopair.plugin.zsh
# Open shell with tmux always
# open shell with tmux always
if [[ -n "$PS1" ]] && [[ -z "$TMUX" ]] && [[ -n "$SSH_CONNECTION" ]]; then
tmux attack-session -t $USER || tmux new-session -s $USER
fi
# set up thefuck
# thefuck
eval $(thefuck --alias)
# python
eval "$(pyenv init -)"
# opam
[[ ! -r "$HOME/.opam/opam-init/init.zsh" ]] || source "$HOME/.opam/opam-init/init.zsh" > /dev/null 2> /dev/null
##########################
# COMMANDS BEFORE PROMPT #
##########################
# Display pfetch when starting zsh
pfetch

View File

@@ -22,3 +22,9 @@
show-syntax-themes = true
[merge]
conflictStyle = zdiff3
[credential]
helper = store
[alias]
graph = log --graph
amend = commit --amend --no-edit
fpush = push --force-with-lease --force-if-includes

2
.indentconfig.yaml Normal file
View File

@@ -0,0 +1,2 @@
paths:
- /home/user/.config/latexindent/latexindent.yaml

View File

@@ -10,7 +10,7 @@ file=$(readlink -f "$1")
dir=$(dirname "$file")
base="${file%.*}"
basenodir="${1%.*}"
vipercmd="silicon" #"carbon"
vipercmd="carbon" #"silicon"
cd "$dir" || exit
@@ -26,27 +26,30 @@ textype() { \
}
case "$file" in
*\.vpr) $vipercmd "$file" ;;
*\.ms) refer -PS -e "$file" | groff -me -ms -kept -T pdf > "$base".pdf ;;
*\.mom) refer -PS -e "$file" | groff -mom -kept -T pdf > "$base".pdf ;;
*\.[0-9]) refer -PS -e "$file" | groff -mandoc -T pdf > "$base".pdf ;;
*\.rmd) echo "require(rmarkdown); render('$file')" | R -q --vanilla ;;
*\.m) octave -qW "$file" ;;
*\.md) pandoc "$file" --pdf-engine=xelatex -o "$base".pdf ;;
*config.h) sudo make install ;;
*\.tex) textype "$file" ;;
*\.java) java "$file" ;;
*\.js) node "$file" ;;
*\.c) if [ -f Makefile ]; then make run; else cc "$file" -o "$base" && "$base"; fi ;;
*\.nim) nim c -r -d:noColors "$file" ;;
*\.py) python3 "$file" ;;
*\.bash) bash "$file" ;;
*\.go) go run "$file" ;;
*\.lua) lua "$file" ;;
*\.md) pandoc "$file" --pdf-engine=xelatex -o "$base".pdf ;;
*\.mom) refer -PS -e "$file" | groff -mom -kept -T pdf > "$base".pdf ;;
*\.ms) refer -PS -e "$file" | groff -me -ms -kept -T pdf > "$base".pdf ;;
*\.py) python3 "$file" ;;
*\.rmd) echo "require(rmarkdown); render('$file')" | R -q --vanilla ;;
*\.sent) setsid sent "$file" 2>/dev/null & ;;
*config.h) sudo make install ;;
*\.c) if [ -f Makefile ]; then make run; else cc "$file" -o "$base" && "$base"; fi ;;
*\.java) java "$file" ;;
*\.js) node "$file" ;;
*\.m) octave -qW "$file" ;;
*\.nim) nim c -r -d:noColors "$file" ;;
*\.r|*\.R) Rscript "$file" ;;
*\.smt2) z3 "$file" ;;
*\.rs) (cd "$dir" && cargo locate-project >/dev/null 2>&1) \
&& (cd "$(dirname "$(cd "$dir" && cargo locate-project --message-format plain)")" && cargo run) \
|| (rustc "$file" && "./$(basename "${file%.rs}")") ;;
*\.sh) dash "$file" ;;
*\.smt2) z3 "$file" ;;
*\.tex) textype "$file" ;;
*\.vpr) $vipercmd "$file" ;;
*\.zsh) zsh "$file" ;;
*) sed 1q "$file" | grep "^#!/" | sed "s/^#!//" | xargs -r -I % "$file" ;;
esac

View File

@@ -48,6 +48,8 @@ export CUDA_DIR="/opt/cuda"
export CUDA_PATH="/opt/cuda"
export XLA_FLAGS=--xla_gpu_cuda_data_dir=/opt/cuda
export YDOTOOL_SOCKET="$HOME/.ydotool_socket"
# external programs
export OPENAUDIBLE_HOME="${HOME}/documents/openaudible"
@@ -72,9 +74,15 @@ export VIPER_BOOGIE="$HOME/.dotnet/tools/boogie"
# python
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"
if [ -d "$PYENV_ROOT" ] && [ -x "PYENV_ROOT/bin/pyenv" ]; then
export PATH="$PYENV_ROOT/bin:$PATH"
if command -v timeout >/DEV/NULL 2>&1; then
timeout 2s -c sh -c 'eval "$($PYENV_ROOT/bin/pyenv init --path)"' 2>/dev/null
else
eval "$($PYENV_ROOT/bin/pyenv init --path 2>/dev/null)" || true
fi
fi
# less/man colors
export LESS=-R