My personal configuration files.
Find a file
Marty Oehme a84c18f7ab [nvim] Add function to show all keymappings
Use :ShowMaps to display all currently mapped things for vim. Will not
include things like `i`, but actual mappings.
2019-09-02 21:44:54 +02:00
.config [nvim] Add function to show all keymappings 2019-09-02 21:44:54 +02:00
.local Add basic dimswitch 2019-09-02 11:00:28 +00:00
.bash_profile organize all shell scripts into logical dirs 2019-03-15 14:40:03 +01:00
.bashrc organize all shell scripts into logical dirs 2019-03-15 14:40:03 +01:00
.gitlab-ci.yml Add bats unit testing to repository 2019-07-27 11:42:54 +00:00
.xinitrc Adjust default keyboard layout based on hostname 2019-05-22 16:11:01 +02:00
.Xresources Move Xresources files to better comply with XDG 2019-02-24 13:03:17 +01:00
.zprofile move zsh env loading to right file 2019-03-17 19:44:29 +01:00
.zshrc organize all shell scripts into logical dirs 2019-03-15 14:40:03 +01:00
LICENSE Add LICENSE 2019-06-07 08:33:58 +00:00
README.md Remove duplicate readme entries 2019-07-11 09:00:20 +02:00

dotfiles Read-Me and Roadmap

__ THE BELOW README IS OUT OF DATE DO NOT FOLLOW ITS INSTALL INSTRUCTIONS __

At some point I will get around to updating it

Quick-Start

There are two ways of using these dotfiles:

To fully provision a completely new arch linux setup

$ curl -Lks http://bit.do/marty-dot | sudo /bin/bash

Or, to only use these dotfiles two steps are necessary

  1. install git & zsh if not already installed on your machine (should often already be available)
  2. run chsh -s /bin/zsh to switch the shell to zsh
  3. go to home directory & run git clone https://gitlab.com/marty-oehme/dotfiles.git df && cp -rf df/.git ~/ && rm -rf df && cd ~ && git checkout -f master
  4. install tmux (or remove the corresponding tmux config entries) [this should not be necessary anymore since tmux scripts check for an installation]
  5. install a powerline compatible font (nerdfont patched fira code is what I use)

Checklist and Things to look at for dotfiles and Linux workflow

  • Bring this readme up to date with new dotfiles structure/installation/content

  • Überzug as terminal picture preview, here

  • irssi as irc client

  • vifm as ranger replacement - check the individual advantages, disadvantages

  • neomutt / mutt-wizard as terminal email-client

  • newboat as rss client

  • think about calcurse as calendar app (would have to import/export from gcal)

    • get some kind of todoist integration going, so we can use todoist from the cmdline
    • set up qutebrowser for quicklinks, bookmarklets, url-redirection
    • set up better clipboard integration across vim, tmux, x

Introduction & Idea

The basic ideas

My Set-Up -- just exchange alias config with alias dotfiles (is already done in the dotfiles)

Examples & Inspiration

holman dotfiles -- dotfiles from the dotfiles-are-meant-to-be-forked dude. Peruse and steal what looks good

LukeSmith dotfiles / LARBS setup, use it for my initial bootstrap

Github does dotfiles, a whole array of dotfile setups to choose from

awesome dotfiles -- way more info on dotfiles than you ever needed

VSCode & Vue focused dotfiles setup -- looks interesting, maybe steal some tidbits

Various tidbits and aliases

dotfiles from the author of above link

extensive qutebrowser setup

Roadmap

Perfectly setting up Arch

  • Fix ReadMe.txt being copied into home dir when cloning dotfiles.
  • Re-Map caps lock to ctrl
  • Automatically switch between US/DE keyboard layout for laptop/pc this should probably be done with loadkeys and keymap per pc in zshrc or a config derivative see esp https://wiki.archlinux.org/index.php/Linux_console/Keyboard_configuration#Creating_a_custom_keymap so we could load de-latin1/en-us, specified in the branch that is checked out. and then apply a custom keymap over it to apply universal customizations, like Capslock=Control and so on.
  • automatically install xcape to enable capslock remapping functionality

Overall Roadmap

  • Set up Copy and Paste in X -- using clipmenud&clipnotify. I can copy stuff to and from urxvt w alt+ctrl+c/v, w/o alt for the rest of the system. invoke clipmenu to show last clips.
  • [-] Install & Configure Compton Put on hold for now. What do I need it for? transparency? shadows? maybe removing screen-tearing. : Will perhaps re-investigate when i want to use e.g. windowsflash - to highlight the currently active i3 window
  • Setup i3
  • Window switching shortcuts
  • Set up leaving question w/o mouse
  • Closing/Opening of windows shortcuts
  • Multi-monitor setup (w/ barrier)
    • Set up initial load of windows to specific screens
    • Get Barrier running Barrier by default installs the deps for its GUI (qt5 etc) -- if no GUI is necessary run it with build args to not make GUI (available in aur) : try to get a nicely working setup in the gui in antergos and then copy this to this .file repo, no gui necessary
    • [-] Install & Configure rofi Happy with dmenu for now Could use https://github.com/enkore/j4-dmenu-desktop to get a faster menu, independent of i3.
    • Install & Configure polybar
    • theme ideas
    • community scripts
    • Set up ranger Set up video: https://www.youtube.com/watch?v=L6Vu7WPkoJo
    • set up fzf for ranger
    • set up movement,newtab,copy,move behavior
    • set up visual selection
    • set up tar-ing/untar-ing
    • Set up sxiv/feh
    • set up (n)vim set jk to get out of modes -> using xcape can accomplish mapping escape to capslock when released on its own. That way we can get out of insert mode with jk AND capslock, whichever we prefer.
  • Get Password Sync going (enpass?)
  • Investigate mondo - automatic re-theming (can cycle through multiple themes and reload your .files etc)
    • Use tmux for one main editing session. Use a single vim instance within this session. for music, quick exporations etc other urxvt instances are fine? can we use i3 to, when pressing mod+enter, not just open a new term but find out if tmux is running and either open new tmux pane or new term if it is not?
    • Look at ack to replace grep (https://beyondgrep.com/why-ack/) -> look at the talk for ideas of customization

Restoration & Atomicity

  • Make it possible to get an arch install up and running with the same settings with a couple commands either
  • Set up file system backup to restore from (borg backup)
    • Set up meta-packages & dotfiles to clone from
    • Set up ansible to automatically bootstrap Arch for both desktop & laptop

Dotfiles

  • Make the dotfiles status command automatically not show untracked files (i.e. most files in homedir) -- fix

ZSH, dotfile installation

  • ~

  • .zgenrc

  • .zshrc

  • .zgenrc.d/

  • .Xresources

  • .xres/

  • .config/

  • .tmux/

  • .zsh/

  • .zgen/

  • I would like my home folder to be a bit more manageable, ideally it would only contain

  • .zshrc

  • .bashrc

  • .xinitrc

  • .Xresources as files and:

  • .ssh/ -- ssh related configuration -> secret stuff which should not be kept in the repo (an ssh setup script e.g. should be kept in dotfiles if it does not contain keys etc.)

  • .config/ -- program configuration. If it changes how another program on the computer runs, it should go in configuration.

  • .dotfiles/ -- the version history etc of my dotfiles (i.e. handled by git)

    • Re-Organize zsh.d/ config files after organizational pattern in .zshrc (e.g. move k-alias script to internal script dependencies)
    • Modify larbs setup script to ask for dotfile installation,
    • Installation should ask which submodules of programs in csv to install: (should be distinguished somehow, perhaps with tags) as in 'Audio' packages, 'Music' packages, 'xorg' packages, 'Window Manager' packages (maybe use pkg groups?)
  • todo command alias to open up a preconfigured todo file OR a todoist cli (if i find a good one) https://github.com/sachaos/todoist looks good. Needs to be synched and works best with peco -- see readme. A working alias set might be useful here to set up commands for interaction Todo Alias opens ROADMAP.md for now.

    • readme command alias to open up the current project README.md or ask to create a new one if none is found in current dir / parent dirs
    • check for existence of xcape before trying to invoke its command in 5-capslock-to-ctrl
    • make :q quit the terminal (perhaps doing alias as exit), :wq save the session in tmux and quit out of it

URxvt

  • Enable Ctrl+Arrows to jump back/forward word-wise;
  • enable (easy) copy/paste - Ctrl+Shift+C/V? Copy paste works with Alt+Ctrl+C/V, text needs to be selected (only mouse for now) - does not work in tmux yet
  • Select text with Shift keys
  • enable some sort of command mode a-la vim?
  • Unify tab switching -- mod+num for workspaces, alt+num for tabs (in qutebrowser,urxvt,fm,...)
    • enable unified copy paste throughout whole system
    • enable vim quitting - q to exit session, wq to save as tmux session and quit

mpv

  • Enable Seeking with vim controls (hjkl)

qutebrowser

i3

  • Switch to hjkl
  • Make custom workspaces: 1 - browser, 2 - term, 9 - agenda, 0 - music
  • Superkey to Right Shift
  • Alias Capslock to shift - aliased to Ctrl now
  • make it work with laptop as 2nd monitor if I switch over to left window from i3, i want to land on the right window of my laptop as the next selection

Various important packages

  • i3 [i3blocks, i3gaps]
  • tmux
  • pulseaudio (&pavucontrol)
    • lightdm, lightdm-mini-greeter
    • nvidia, nvidia-utils etc
    • xorg-xinit, xorg-server, xorg-apps
    • mopidy, mopidy-spotify, mopidy-spotify-tunigo, ncmpcpp or iris
    • xcape - to enable capslock to act as control and escape at the same time