Update README
This commit is contained in:
parent
3a70989a96
commit
b99dc30441
1 changed files with 14 additions and 231 deletions
245
README.md
245
README.md
|
@ -23,242 +23,25 @@ Clone the bare repo, rename it and force a checkout with the following command -
|
|||
|
||||
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
|
||||
## Main Applications
|
||||
|
||||
* [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 (`<Space>+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
|
||||
* [`alacritty`](https://github.com/jwilm/alacritty) - Terminal emulator (GPU accelerated and customizable)
|
||||
* [`gopass`](https://github.com/gopasspw/gopass) - Password management suite, building on (and largely compatible with) `pass` for unix
|
||||
* [`i3`](https://i3wm.org/) - Tiling window manager
|
||||
* [`nvim`](https://neovim.io/) - Neovim configuration
|
||||
* [`pandoc`](https://pandoc.org) - Pandoc plaintext transformation options (mostly latex templates)
|
||||
* [`picom`](https://github.com/yshui/picom) - X11 compositor (maintained fork from compton)
|
||||
* [`polybar`](https://github.com/polybar/polybar) - Easy to customize statusbar
|
||||
* [`qutebrowser`](https://github.com/qutebrowser/qutebrowser) - vim-key enabled web browser
|
||||
* [`rofi`](https://github.com/davatorium/rofi) - Application launcher, dmenu replacement
|
||||
* [`sxhkd`](https://github.com/baskerville/sxhkd) - X11 hotkey manager
|
||||
* [`tmux`](https://github.com/tmux/tmux/) - terminal multiplexer
|
||||
* [`vifm`](https://github.com/vifm/vifm) - vim-like file-manager
|
||||
|
||||
* 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
|
||||
* `.xinitrc` is used for x initialization and program startup
|
||||
* `.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
|
||||
|
||||
## 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)
|
||||
1. run `chsh -s /bin/zsh` to switch the shell to zsh
|
||||
1. 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`
|
||||
1. install tmux (or remove the corresponding tmux config entries) [this should not be necessary anymore since tmux scripts check for an installation]
|
||||
1. 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](https://github.com/seebye/ueberzug)
|
||||
* 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](https://www.anishathalye.com/2014/08/03/managing-your-dotfiles/)
|
||||
|
||||
[My Set-Up](https://developer.atlassian.com/blog/2016/02/best-way-to-store-dotfiles-git-bare-repo/) -- just exchange alias config with alias dotfiles (is already done *in* the dotfiles)
|
||||
|
||||
## Examples & Inspiration
|
||||
|
||||
|
||||
[holman dotfiles](https://github.com/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](https://github.com/LukeSmithxyz/LARBS)
|
||||
|
||||
[Github does dotfiles, a whole array of dotfile setups to choose from](https://dotfiles.github.io)
|
||||
|
||||
[awesome dotfiles](https://github.com/webpro/awesome-dotfiles) -- way more info on dotfiles than you ever needed
|
||||
|
||||
[VSCode & Vue focused dotfiles setup](https://github.com/sobolevn/dotfiles) -- looks interesting, maybe steal some tidbits
|
||||
|
||||
[Various tidbits and aliases](https://github.com/ahmedelgabri/talks/blob/master/cli-and-git/cli-and-git.md)
|
||||
|
||||
[dotfiles from the author of above link](https://github.com/ahmedelgabri/dotfiles)
|
||||
|
||||
[extensive qutebrowser setup](https://gitlab.com/jgkamat/dotfiles/tree/master/qutebrowser/.config/qutebrowser)
|
||||
|
||||
# Roadmap
|
||||
|
||||
## Perfectly setting up Arch
|
||||
|
||||
- [ ] Fix ReadMe.txt being copied into home dir when cloning dotfiles.
|
||||
- [x] 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
|
||||
|
||||
- [x] 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
|
||||
- [x] Window switching shortcuts
|
||||
- [x] Set up leaving question w/o mouse
|
||||
- [x] 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](https://github.com/adi1090x/polybar-themes)
|
||||
- [community scripts](https://github.com/x70b1/polybar-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?)
|
||||
- [ ] Set up integrations with my hosted setup
|
||||
- [ ] dmenu script and look [see ~10minutes in for automounting using dmenu example](https://www.youtube.com/watch?v=GKviflL9XeI)
|
||||
- [ ] 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
|
||||
|
||||
- [x] Make the dotfiles status command automatically not show untracked files (i.e. most files in homedir) -- [fix](https://wiki.archlinux.org/index.php/Dotfiles)
|
||||
|
||||
## ZSH, dotfile installation
|
||||
|
||||
- ~
|
||||
- .zgenrc
|
||||
- .zshrc
|
||||
- .zgenrc.d/
|
||||
- .Xresources
|
||||
- .xres/
|
||||
- .config/
|
||||
- .tmux/
|
||||
|
||||
- .zsh/
|
||||
- .zgen/
|
||||
|
||||
- [x] 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)
|
||||
- [x] 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?)
|
||||
- [x] 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;
|
||||
- [x] 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
|
||||
|
||||
- [x] Open current page/ hint link in mpv (Ctrl + m / M)
|
||||
https://qutebrowser.org/FAQ.html - commands for settings.
|
||||
- [ ] Make it use umpv script in dotfiles confing to enable playlist queuing.
|
||||
- [ ] Fix for getting stuck in text-field:
|
||||
Either press tab (works sometimes to select next element)
|
||||
or do this https://github.com/qutebrowser/qutebrowser/issues/2668
|
||||
## i3
|
||||
|
||||
- [x] Switch to hjkl
|
||||
- [ ] Make custom workspaces: 1 - browser, 2 - term, 9 - agenda, 0 - music
|
||||
- [ ] Superkey to Right Shift
|
||||
- [x] 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
|
||||
|
|
Loading…
Reference in a new issue