diff --git a/.config/i3status/config b/.config/i3status/config deleted file mode 100644 index f200efc..0000000 --- a/.config/i3status/config +++ /dev/null @@ -1,111 +0,0 @@ -############################################################################### -# ceerious i3 status config -# see "man i3status" for documentation. -# -# It is important that this file is edited as UTF-8. -# The following line should contain a sharp s: -# ß -# If the above line is not correctly displayed, fix your editor first! -############################################################################### - -general { - interval = 1 - colors = true - color_good = '#88b090' - color_degraded = '#ccdc90' - color_bad = '#e89393' -} - -order += "volume master" -order += "disk /" -#order += "disk /data" -#order += "disk /home" -#order += "run_watch DHCP" -#order += "ipv6" -#order += "run_watch VPN" -order += "wireless wlp4s0" -#order += "ethernet enp5s0" -order += "battery 0" -order += "cpu_temperature 0" -order += "cpu_usage 0" -order += "load" -order += "tztime local" - -#wireless wlp4s0 { -# format_up = "%quality  %essid %ip" -# format_down = "" -#} - -#ethernet enp5s0 { -# # if you use %speed, i3status requires root privileges -# format_up = "%ip (%speed)" -# format_down = "" -#} - -battery 0 { - format = "%status %percentage %remaining" - format_down = "" - last_full_capacity = true - integer_battery_capacity = true - low_threshold = 11 - threshold_type = percentage - hide_seconds = true - status_chr = " " - status_bat = " " - status_unk = " " - status_full = " " -} - -run_watch DHCP { - pidfile = "/var/run/dhclient*.pid" -} - -run_watch VPN { - pidfile = "/var/run/vpnc/pid" -} - -#%Y-%m-%d %H:%M:%S' -tztime local { - format = " %d/%m/%Y  %H:%M" -} - -load { - format = " %1min" -} - -cpu_usage { - format = " %usage" -} - -cpu_temperature 0 { - format = " %degrees°C" -} - -disk "/" { - format = " %avail" - prefix_type = custom - low_threshold = 20 - threshold_type = percentage_avail -} - -#disk "/data" { -# format = " %avail" -# prefix_type = custom -# low_threshold = 20 -# threshold_type = percentage_avail -#} - -#disk "/data" { -# format = " %avail" -# prefix_type = custom -# low_threshold = 20 -# threshold_type = percentage_avail -#} - -volume master { - format = "%volume  " - format_muted = " " - device = "default" - mixer = "Master" - mixer_idx = 0 -} diff --git a/.config/papis/config b/.config/papis/config deleted file mode 100644 index 23b4bab..0000000 --- a/.config/papis/config +++ /dev/null @@ -1,29 +0,0 @@ -[settings] -default-library = academia - -opentool = xdg-open -file-browser = vifm - -ref-format = {doc[author_list][0][surname]}{doc[year]} - -add-confirm = True -add-name = {doc[author]}-{doc[title]} -add-folder-name = {doc[author]}-{doc[title]} -file-name = {doc[author]}_{doc[year]}_{doc[title]} -add-file-name = {doc[author]}_{doc[year]}_{doc[title]} - -mark-header-format = {mark[value]}: {mark[name]} -mark-opener-format = zathura --page {mark[value]} - -notes-name = notes.Rmd - -[tui] -editmode = vi -options_list.selected_margin_style = bg:ansiwhite fg:ansiblack -options_list.unselected_margin_style = bg:ansiblack - -[test] -dir = ~/documents/library - -[academia] -dir = ~/Nextcloud/Library/academia diff --git a/README.md b/README.md index 82a76b7..e133ea2 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,52 @@ # dotfiles Read-Me and Roadmap -__ **THE BELOW README IS OUT OF DATE DO NOT FOLLOW ITS INSTALL INSTRUCTIONS** __ + +## What's in these dotfiles +* [x] vim configuration for simple programming tasks (especially go/typescript/python/bash) and prose +* [x] academic workflow tools, to allow quick citation, pdf compilation, and preview +* [x] simple, efficient polybar with package update notification, and spotify integration +* [x] tmux session management through `tm` and `tl` tools +* [x] quick terminal-wide color management through `sd`/`sD`/`sl`/`sL` commands, allowing two light and dark color-schemes +* [x] many vim color-schemes with quick light/dark switching (`F8`) and theme switch (`+F8`) +* [x] quick directory jumping using z, with fzf integration +* [x] fzf integrations for bibtex citation, vim buffer management, most recently used switching, shell command history, and more + +## Quick-Start + +The dotfiles are based on a bare-repository residing in your home directory. To enable a faster usage of the dotfile git commands, a `dot` command is supplied which mirrors the usual `git` functionality, but solely applies it to your dotfiles. + +To install you need git on your system; to effectively use the dotfiles you should be using zsh (`chsh -s /bin/zsh` to switch your current user to the shell). + +Clone the bare repo, rename it and force a checkout with the following command - **NOTE** this WILL **OVERWRITE YOUR EXISTING FILES**, so have a look at what is contained beforehand. + +`git clone https://gitlab.com/marty-oehme/dotfiles.git df && cp -rf df/.git ~/.dotfiles && rm -rf df && cd ~ && git --git-dir=$HOME/.dotfiles/ checkout -f master` + +It will clone your dotfiles into the .dotfiles directory in your home directory and then force a checkout of the current master branch. Open a new terminal window and you should live in the dotfiles. + +## What's in these dotfiles + +* [x] vim configuration for simple programming tasks (especially go/typescript/python/bash) and prose +* [x] academic workflow tools, to allow quick citation, pdf compilation, and preview +* [x] simple, efficient polybar with package update notification, and spotify integration +* [x] tmux session management through `tm` and `tl` tools +* [x] quick terminal-wide color management through `sd`/`sD`/`sl`/`sL` commands, allowing two light and dark color-schemes +* [x] many vim color-schemes with quick light/dark switching (`F8`) and theme switch (`+F8`) +* [x] quick directory jumping using z, with fzf integration +* [x] fzf integrations for bibtex citation, vim buffer management, most recently used switching, shell command history, and more + +## Notable Folders + +* generally, most configuration for applications follows the XDG specifications, keeping configuration in .config directory and supplementary files in .local/share directory +* `.config/shell` contains all the general zsh/bash/sh configuration and environment variables usually contained in .zshrc/.zprofile/..; it is divided in login shell config (loginrc.d), general shell config (rc.d) and zsh specific (zsh.d) +* `.config/rofi` contains additional scripts and a simple theming framework for rofi and should probably be migrated into the correct directories at some point +* `.local/bin` contains most executable user scripts +* `.local/share/pandoc` contains configuration for academic latex (pandoc, really) writing and is of interest if you want to use this functionality +* `.xinitrc` is used for x initialization and program startup, customize to your needs +* `.gitlab-ci.yml` is only used for simple CI code linting and static analysis on gitlab, can be deleted on individual deployments + +NOTE: + +**THE BELOW README IS OUT OF DATE DO NOT FOLLOW ITS INSTALL INSTRUCTIONS** At some point I will get around to updating it diff --git a/.config/alacritty/alacritty.yml b/alacritty/.config/alacritty/alacritty.yml similarity index 100% rename from .config/alacritty/alacritty.yml rename to alacritty/.config/alacritty/alacritty.yml diff --git a/.config/bootstrap/install b/bootstrap/.config/bootstrap/install similarity index 100% rename from .config/bootstrap/install rename to bootstrap/.config/bootstrap/install diff --git a/.config/bootstrap/packages.csv b/bootstrap/.config/bootstrap/packages.csv similarity index 100% rename from .config/bootstrap/packages.csv rename to bootstrap/.config/bootstrap/packages.csv diff --git a/.config/fontconfig/fonts.conf b/fontconfig/.config/fontconfig/fonts.conf similarity index 100% rename from .config/fontconfig/fonts.conf rename to fontconfig/.config/fontconfig/fonts.conf diff --git a/.config/gopass/config.yml b/gopass/.config/gopass/config.yml similarity index 100% rename from .config/gopass/config.yml rename to gopass/.config/gopass/config.yml diff --git a/.Xresources b/home/.Xresources similarity index 100% rename from .Xresources rename to home/.Xresources diff --git a/.bash_profile b/home/.bash_profile similarity index 100% rename from .bash_profile rename to home/.bash_profile diff --git a/.bashrc b/home/.bashrc similarity index 100% rename from .bashrc rename to home/.bashrc diff --git a/.gitlab-ci.yml b/home/.gitlab-ci.yml similarity index 100% rename from .gitlab-ci.yml rename to home/.gitlab-ci.yml diff --git a/.xinitrc b/home/.xinitrc similarity index 100% rename from .xinitrc rename to home/.xinitrc diff --git a/.zprofile b/home/.zprofile similarity index 100% rename from .zprofile rename to home/.zprofile diff --git a/.zshrc b/home/.zshrc similarity index 100% rename from .zshrc rename to home/.zshrc diff --git a/.config/i3/config b/i3/.config/i3/config similarity index 100% rename from .config/i3/config rename to i3/.config/i3/config diff --git a/.config/i3/scripts/i3-applications-autostart b/i3/.config/i3/scripts/i3-applications-autostart similarity index 100% rename from .config/i3/scripts/i3-applications-autostart rename to i3/.config/i3/scripts/i3-applications-autostart diff --git a/.config/libinput-gestures.conf b/libinput-gestures/.config/libinput-gestures.conf similarity index 100% rename from .config/libinput-gestures.conf rename to libinput-gestures/.config/libinput-gestures.conf diff --git a/nvim/.config/nvim/colo.vim b/nvim/.config/nvim/colo.vim new file mode 100644 index 0000000..cc9ab5a --- /dev/null +++ b/nvim/.config/nvim/colo.vim @@ -0,0 +1 @@ +colo nord diff --git a/.config/nvim/init.vim b/nvim/.config/nvim/init.vim similarity index 100% rename from .config/nvim/init.vim rename to nvim/.config/nvim/init.vim diff --git a/.config/nvim/maps.vim b/nvim/.config/nvim/maps.vim similarity index 100% rename from .config/nvim/maps.vim rename to nvim/.config/nvim/maps.vim diff --git a/.config/nvim/modules_experimental/academia_fzf.vim b/nvim/.config/nvim/modules_experimental/academia_fzf.vim similarity index 100% rename from .config/nvim/modules_experimental/academia_fzf.vim rename to nvim/.config/nvim/modules_experimental/academia_fzf.vim diff --git a/.config/nvim/modules_experimental/academia_pandoc.vim b/nvim/.config/nvim/modules_experimental/academia_pandoc.vim similarity index 100% rename from .config/nvim/modules_experimental/academia_pandoc.vim rename to nvim/.config/nvim/modules_experimental/academia_pandoc.vim diff --git a/.config/nvim/modules_experimental/academia_unite_citation.vim b/nvim/.config/nvim/modules_experimental/academia_unite_citation.vim similarity index 100% rename from .config/nvim/modules_experimental/academia_unite_citation.vim rename to nvim/.config/nvim/modules_experimental/academia_unite_citation.vim diff --git a/.config/nvim/modules_experimental/base_no_plugins.vim b/nvim/.config/nvim/modules_experimental/base_no_plugins.vim similarity index 100% rename from .config/nvim/modules_experimental/base_no_plugins.vim rename to nvim/.config/nvim/modules_experimental/base_no_plugins.vim diff --git a/.config/nvim/modules_experimental/coc-completion.vim b/nvim/.config/nvim/modules_experimental/coc-completion.vim similarity index 100% rename from .config/nvim/modules_experimental/coc-completion.vim rename to nvim/.config/nvim/modules_experimental/coc-completion.vim diff --git a/.config/nvim/plugin/bibcite.vim b/nvim/.config/nvim/plugin/bibcite.vim similarity index 100% rename from .config/nvim/plugin/bibcite.vim rename to nvim/.config/nvim/plugin/bibcite.vim diff --git a/nvim/.config/nvim/plugin/compiledoc.vim b/nvim/.config/nvim/plugin/compiledoc.vim new file mode 100644 index 0000000..5e4310f --- /dev/null +++ b/nvim/.config/nvim/plugin/compiledoc.vim @@ -0,0 +1,22 @@ +function CompileDoc() + :execute(":w!") + :execute(":!compile \"%\"") +endfunction + +function CompileDocNoOutput() + :execute(":w!") + :execute(":silent !compile \"%\"") +endfunction + +function CompiledOpen() + :execute(":silent !open-compiled \"%\"") +endfunction + +function CompileDocAndOpen() + call CompileDocNoOutput() + call CompiledOpen() +endfunction + +command CompileDoc call CompileDoc() +command CompileOpen call CompiledOpen() +command CompileDocAndOpen call CompileDocAndOpen() diff --git a/.config/nvim/plugin/searchnotes.vim b/nvim/.config/nvim/plugin/searchnotes.vim similarity index 100% rename from .config/nvim/plugin/searchnotes.vim rename to nvim/.config/nvim/plugin/searchnotes.vim diff --git a/.config/nvim/plugin/showmappings.vim b/nvim/.config/nvim/plugin/showmappings.vim similarity index 100% rename from .config/nvim/plugin/showmappings.vim rename to nvim/.config/nvim/plugin/showmappings.vim diff --git a/.config/nvim/pluglist/base.vim b/nvim/.config/nvim/pluglist/base.vim similarity index 100% rename from .config/nvim/pluglist/base.vim rename to nvim/.config/nvim/pluglist/base.vim diff --git a/.config/nvim/pluglist/completion.vim b/nvim/.config/nvim/pluglist/completion.vim similarity index 100% rename from .config/nvim/pluglist/completion.vim rename to nvim/.config/nvim/pluglist/completion.vim diff --git a/.config/nvim/pluglist/design.vim b/nvim/.config/nvim/pluglist/design.vim similarity index 100% rename from .config/nvim/pluglist/design.vim rename to nvim/.config/nvim/pluglist/design.vim diff --git a/.config/nvim/pluglist/latex.vim b/nvim/.config/nvim/pluglist/latex.vim similarity index 100% rename from .config/nvim/pluglist/latex.vim rename to nvim/.config/nvim/pluglist/latex.vim diff --git a/.config/nvim/pluglist/notes.vim b/nvim/.config/nvim/pluglist/notes.vim similarity index 100% rename from .config/nvim/pluglist/notes.vim rename to nvim/.config/nvim/pluglist/notes.vim diff --git a/.config/nvim/pluglist/prose.vim b/nvim/.config/nvim/pluglist/prose.vim similarity index 100% rename from .config/nvim/pluglist/prose.vim rename to nvim/.config/nvim/pluglist/prose.vim diff --git a/.config/nvim/pluglist/syntaxes.vim b/nvim/.config/nvim/pluglist/syntaxes.vim similarity index 100% rename from .config/nvim/pluglist/syntaxes.vim rename to nvim/.config/nvim/pluglist/syntaxes.vim diff --git a/.config/nvim/pluglist/vim.vim b/nvim/.config/nvim/pluglist/vim.vim similarity index 100% rename from .config/nvim/pluglist/vim.vim rename to nvim/.config/nvim/pluglist/vim.vim diff --git a/nvim/.config/nvim/watch.lua b/nvim/.config/nvim/watch.lua new file mode 100644 index 0000000..aec2ad2 --- /dev/null +++ b/nvim/.config/nvim/watch.lua @@ -0,0 +1,16 @@ +local w = vim.loop.new_fs_event() +local function on_change(err, fname, status) + -- Do work... + vim.api.nvim_command('checktime') + -- Debounce: stop/start. + w:stop() + watch_file(fname) +end +function watch_file(fname) + local fullpath = vim.api.nvim_call_function( + 'fnamemodify', {fname, ':p'}) + w:start(fullpath, {}, vim.schedule_wrap(function(...) + on_change(...) end)) +end +vim.api.nvim_command( + "command! -nargs=1 Watch call luaeval('watch_file(_A)', expand(''))") diff --git a/.config/picom/picom.conf b/picom/.config/picom/picom.conf similarity index 100% rename from .config/picom/picom.conf rename to picom/.config/picom/picom.conf diff --git a/.config/polybar/config b/polybar/.config/polybar/config similarity index 100% rename from .config/polybar/config rename to polybar/.config/polybar/config diff --git a/polybar/.config/polybar/exampleconf b/polybar/.config/polybar/exampleconf new file mode 100644 index 0000000..b197945 --- /dev/null +++ b/polybar/.config/polybar/exampleconf @@ -0,0 +1,403 @@ +[colors] +;background = ${xrdb:color0:#222} +background = #222 +background-alt = #444 +;foreground = ${xrdb:color7:#222} +foreground = #dfdfdf +foreground-alt = #555 +primary = #ffb52a +secondary = #e60053 +alert = #bd2c40 + +[bar/example] +;monitor = ${env:MONITOR:HDMI-1} +width = 100% +height = 27 +;offset-x = 1% +;offset-y = 1% +radius = 6.0 +fixed-center = false + +background = ${colors.background} +foreground = ${colors.foreground} + +line-size = 3 +line-color = #f00 + +border-size = 0 +border-color = #00000000 + +padding-left = 15 +padding-right = 15 + +module-margin-left = 1 +module-margin-right = 2 + +font-0 = fixed:pixelsize=10;1 +font-1 = unifont:fontformat=truetype:size=8:antialias=false;0 +font-2 = siji:pixelsize=10;1 + +modules-left = bspwm i3 +modules-center = mpd +modules-right = filesystem xbacklight alsa pulseaudio xkeyboard memory cpu wlan eth battery temperature powermenu date + +tray-position = right +tray-padding = 2 +tray-background = #0063ff + +;wm-restack = bspwm +;wm-restack = i3 + +;override-redirect = true + +;scroll-up = bspwm-desknext +;scroll-down = bspwm-deskprev + +scroll-up = i3wm-wsnext +scroll-down = i3wm-wsprev + +cursor-click = pointer +cursor-scroll = ns-resize + +[module/xwindow] +type = internal/xwindow +label = %title:0:30:...% + +[module/xkeyboard] +type = internal/xkeyboard +blacklist-0 = num lock + +format-prefix = " " +format-prefix-foreground = ${colors.foreground-alt} +format-prefix-underline = ${colors.secondary} + +label-layout = %layout% +label-layout-underline = ${colors.secondary} + +label-indicator-padding = 2 +label-indicator-margin = 1 +label-indicator-background = ${colors.secondary} +label-indicator-underline = ${colors.secondary} + +[module/filesystem] +type = internal/fs +interval = 25 + +mount-0 = / + +label-mounted = %{F#0a81f5}%mountpoint%%{F-}: %percentage_used%% +label-unmounted = %mountpoint% not mounted +label-unmounted-foreground = ${colors.foreground-alt} + +[module/bspwm] +type = internal/bspwm + +label-focused = %index% +label-focused-background = ${colors.background-alt} +label-focused-underline= ${colors.primary} +label-focused-padding = 2 + +label-occupied = %index% +label-occupied-padding = 2 + +label-urgent = %index%! +label-urgent-background = ${colors.alert} +label-urgent-padding = 2 + +label-empty = %index% +label-empty-foreground = ${colors.foreground-alt} +label-empty-padding = 2 + +; Separator in between workspaces +; label-separator = | + +[module/i3] +type = internal/i3 +format = +index-sort = true +wrapping-scroll = false + +; Only show workspaces on the same output as the bar +;pin-workspaces = true + +label-mode-padding = 2 +label-mode-foreground = #000 +label-mode-background = ${colors.primary} + +; focused = Active workspace on focused monitor +label-focused = %index% +label-focused-background = ${colors.background-alt} +label-focused-underline= ${colors.primary} +label-focused-padding = 2 + +; unfocused = Inactive workspace on any monitor +label-unfocused = %index% +label-unfocused-padding = 2 + +; visible = Active workspace on unfocused monitor +label-visible = %index% +label-visible-background = ${self.label-focused-background} +label-visible-underline = ${self.label-focused-underline} +label-visible-padding = ${self.label-focused-padding} + +; urgent = Workspace with urgency hint set +label-urgent = %index% +label-urgent-background = ${colors.alert} +label-urgent-padding = 2 + +; Separator in between workspaces +; label-separator = | + + +[module/mpd] +type = internal/mpd +format-online = + +icon-prev =  +icon-stop =  +icon-play =  +icon-pause =  +icon-next =  + +label-song-maxlen = 25 +label-song-ellipsis = true + +[module/xbacklight] +type = internal/xbacklight + +format =