My personal configuration files.
Go to file
Marty Oehme 472b2e8f92 Add simple prompt program based on dmenu
Can be used to as for confirmation for actions (E.g. shut down pc,
reboot and so on). Takes 3 parameters, with the last being optional, in
the form of:

dmenuprompt "Text to display" "command to execute on yes"
[success/warn/danger]

The last flag only changes the colors being displayed by the prompt.
If the last flag is not provided, it will display in default colors.
2019-05-22 14:24:29 +02:00
.config Add simple prompt program based on dmenu 2019-05-22 14:24:29 +02: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
.xinitrc set default keyboard layout to EURkey 2019-04-24 15:29:25 +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
README.md Update README.md 2019-05-16 12:44:40 +00:00

dotfiles Read-Me and Roadmap

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)

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
  • 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?)
  • Set up integrations with my hosted setup
  • dmenu script and look see ~10minutes in for automounting using dmenu example
  • Set up in the cloud ide and dev environment (gce perhaps)
  • 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)
  • Open file shortcut?
  • Set up playlist creation from browser/yt etc https://github.com/mpv-player/mpv/blob/master/TOOLS/umpv will have 'umpv' command be a unique mpv instance for which any additional play item will get appended -> perfect for playists. (see script for more info)

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