Commit graph

1451 commits

Author SHA1 Message Date
756e45e037 Reorganize vim plugin settings
Setting everything during PlugLoad function caused some plugins to
misbehave. Plugins are now loaded by Plug and their settings can be
either set with a file in the plugin directory (this mimicks the old way
of setting plugin up during load) or in after/ directory, which sets
options *after* everything has loaded.
2020-02-03 22:23:45 +01:00
6b79eeef5d Refactor vim compile functions 2020-02-03 22:15:01 +01:00
92376839a4 Add tmux fzf session chooser
Added tmux session chooser. Aliased to `tm`, calling `tmux_attach_start`
(the original tm script).

When called without arguments displays a fzf list of currently running
tmux sessions, with a preview to their respective open panes. A session
can be chosen in fzf which tmux will attach itself to. When creating a
query in fzf which does not have a valid target and confirming, tmux
will automatically create that session and attach itself to it.

When called with an argument, tmux will attach itself or create a
session of the same name. If called with the name of a session file, as
before, tmux will automatically execute that session file and attach
itself to it.
2020-02-02 23:44:23 +01:00
fbc1c44652 Add zsh completion path, completions plugin
Added `$XDG_CONFIG_HOME/zsh/completions` to fpath for zsh to source
completions from. Any stow modules creating scripts and functions which
should be auto-completable can add their own completion scripts to this
directory for zsh to automatically pick them up.

Add zsh-users/zsh-completions plugin to provide completions for a wide
array of applications (e.g. glances, nvm).
2020-02-02 23:32:37 +01:00
1684aaa50f Add gitignore function 2020-02-02 18:34:35 +01:00
87308cbce9 Add git merge merge request on sucess alias
Works for gitlab.com, will merge a MR when the pipeline has finished
running sucessfully.
2020-02-02 16:13:51 +01:00
752f170caf Merge branch '75-organize-shell-configurations' into 'master'
Resolve "Organize Shell configurations"

Closes #75

See merge request marty-oehme/dotfiles!28
2020-02-02 15:08:40 +00:00
6380affb6f Add basic XDG compliant sh architecture
The only file left in $HOME is .zshenv, which sets up zsh to source everything from XDG_CONFIG_HOME/zsh.
Shell files are split into sh and zsh directories, for global assignments (which should be posix compliant, work on any posix shell) like environemnt variables, xdg vars, and global aliases. zsh contains zsh specific customization (prompt customization, plugin loading, zsh completions).

Zsh initialization will pull from sh directory first, loading the respective mirror to its startup file (`.zprofile` loads `sh/profile` and `profile.d/*`, `.zshenv` loads `sh/env` and `sh/env.d/*` and `zsh/env.d/*`, `.zshrc` loads `sh/alias`, `sh/alias.d/*` and `zsh/alias.d/*`)

Once all is done, it will have loaded both global variables, aliases and settings, and zsh-only specifications. Other stow modules, if they want to add shell functionality, can include their aliases and functions in one of the above directories to automatically be picked up by zsh.
2020-02-02 15:08:40 +00:00
a0a02be852 Fix xinitrc issues
Made posix compatible and ensured globbing protection.
2020-02-01 15:17:10 +01:00
7ebcce8e82 Add global gitconfig, improve glog display
Added global git config file, following XDG specifications (putting it
under `XDG_CONFIG_HOME/git/config`).

Adding a small improvement to default dot session for tmux, so that its
log watcher now shows all refs and remote refs.
2020-02-01 11:15:22 +01:00
7308828c67 Merge branch '74-theme-changing-using-standardized-base16-color-schemes' into 'master'
Resolve "Theme Changing using standardized base16 color schemes"

Closes #74

See merge request marty-oehme/dotfiles!27
2020-02-01 10:08:19 +00:00
e7b14a7a5a Update README.md with styler options
Updated to reflect new capabilities of `styler` utility.
2020-02-01 11:02:13 +01:00
ad8decb4ef Integrate dynamic colorschemes into applications
Makes polybar use Xresources color values for its colors. Resets rofi
values to their default after being overwritten by the base16 themes.
Makes qutebrowser include the colorscheme in its configuration file.

Ignore dynamically generated colorschemes in .gitignore file.
2020-02-01 11:01:26 +01:00
6ed90134a3 Move Xresources to comply to XDG
Moved Xresources to XDG compliant directory. Will make future styler
settings easier.
2020-02-01 11:01:26 +01:00
edfb305ef3 Add theme function
The theme function provides a quick but temporary switch to a specific
theme.

Themes can be applied with `styler theme [themename]`, they will be
instantly applied to all enabled applications. They will be lost on
restarts of the application or machine however.

Themes can be applied permanently with `styler set [themename]`, they
will be written into the application's settings. This *will* change
things in your local filesystem, so be wary. Generally, processors
should take the least invasive approach and use inclusion to append the
theme to the application's other settings.

But be *careful* with this option, and when in doubt double-check what
the processors you have installed do before losing your settings.
2020-02-01 11:00:29 +01:00
acbe002f87 Add download function to styler
Can take input in the form user/repo and pulls packages from github into
its package directory. Documented use of new function.

Can download both processors and packages. Styler decides between
both with their naming schemes, searching for `/base16-` or `baseproc16-`
respectively. For example:

username/base16-programname - package
username/baseproc16-programname - processor

If it can not determine it based on name alone, it will assume to be
dealing with a processor but spit out a warning for the user.

Styler processors use same layout as packages, such that package and
processor directories are mirrors of each other. So:

`chriskempson/base16-vim` lies in the packages directory,
`marty-oehme/vim-processor` mirrors it.

This opens up the way for custom processors.
2020-02-01 11:00:29 +01:00
4838aecb75 Add list function to styler
Can list available themes, packages, and processors. Invoked by `styler
list` and then the intended target. When invoked without any valid
target will remind the user to supply one.

`list`, `--list`, `-l` are aliases and perform the same function.

Examples:

`styler list themes`

`styler --list packages`

`styler -l processors`
2020-02-01 11:00:29 +01:00
2ee8453750 Add styler theming framework
Sets up basic theming program styler which can be called to change
theming of various applications.
2020-02-01 10:59:42 +01:00
b56c33834f Fix repository organization, house cleaning
Added up-to-date install instructions and a simple image to the README.
Added an assets directory to house these things and some notes. Removed
`.gitlab-ci.yml` from being linked to the home directory, it does not
belong there.
2020-02-01 09:09:22 +01:00
68b0219354 Rename bootstrap directory
Renamed bootstrap directory to _bootstrap to conform to default ignore
pattern of autostow.sh, and make it visually clear that this is a
special directory, not one used for the dotfiles itself.
2020-01-30 13:29:03 +01:00
9932202704 Increase autostow.sh version, refactor print statements 2020-01-30 13:24:51 +01:00
bba4e1d71f Fix ignore pattern search on empty ignore variable
The default ignore pattern would not be searched when the additional
variable was kept empty. This fixes it to always seach for the pattern,
regardless of any other variables.
2020-01-30 13:21:01 +01:00
b702158b7c Add central variable setting bootstrap directory
Prepare for moving bootstrap directory to conform to new ignore pattern
of autostow.sh script. Bootstrap directory can be overwritten through
environment variable BOOTSTRAP_DIRECTORY, however for now it still
rigidly requires the existence of an install_packages.sh file and an
autostow.sh file which it wants to execute.
2020-01-30 13:18:36 +01:00
a3a1c4a5bd Add autostow.sh ignore pattern to underscore dirs
autostow.sh will automatically ignore any directories it finds that
begin with an underscore. This will make it possible to remove the
default entires of AUTOSTOW_IGNORED_DIRS variable and thus remove some
of the magic and make autostow.sh behavior more predictable.
2020-01-30 12:51:48 +01:00
4dfb9767ee Add dryrun capability to autostow.sh
Invoking a dry-run with `autostow.sh -n` will simply print out the
directories it would operate on, and those it would ignore and exit.
Useful for debugging, not much more.
2020-01-30 12:50:37 +01:00
ea5ffe8bc5 [nvim] Add keymap to rg through hidden files
Grepping through files is mapped to `<leader>F` but it respects ripgrep's
default settings, which is to ignore files in gitignore and files
hidden. This map still ignores gitignored files, but searches through
hidden ones in addition to normal ones. It is mapped to `<leader><C-F>`,
to signify an 'extra' added to normal grepping (and since it will be
presumably more rarely invoked, justifying the slightly awkward key
combination).
2020-01-30 11:44:44 +01:00
401d4a603a Switch to legacy gmail quickmark
Instead of using new gmail layout, use the old html layout when
accessing it from the qutebrowser quickmark. It works and loads
faster, and the new one can still be switched to from the interface.
2020-01-28 21:20:29 +01:00
1263eaccc6 Add thesaurus search engine to qutebrowser
opening `t [searchterm]` in qutebrowser will go to thesaurus and look up
the corresponding term there.
2020-01-28 21:19:25 +01:00
d85f09ef78 Adjust spell mappings to <leader>Z
More in line with default vim spell mappings, and should not interfere
with anything due to its leader prefixing.

Added <leader>z to quickly fix spelling error cursor is over.
2020-01-27 08:40:20 +01:00
010ccc8284 Add true delete shortcut to vim
Mimicks vifm d for grabbing and cutting, D for true deletion. Works well
to delete a line (e.g. left-over empty) while still keeping last
selection in yank-register. Starts a d-motion, so it can be used with
all motions.
2020-01-27 08:38:25 +01:00
d08966509a Switch vim color scheme to base16 2020-01-27 08:37:53 +01:00
ea203e54c1 Merge branch 'master' of gitlab.com:marty-oehme/dotfiles 2020-01-07 14:07:13 +01:00
8257919fda Remap Q to execute macro
Previously mapped to ex mode, which I don't need as a quick access
mapping.
2020-01-07 14:05:24 +01:00
05af92a2e5 Add several packages to default install 2020-01-07 14:05:05 +01:00
8b71649e24 Fix headings in README.md 2020-01-06 16:40:56 +00:00
b99dc30441 Update README 2020-01-06 17:39:05 +01:00
3a70989a96 Add ntp package to default install 2020-01-06 17:24:29 +01:00
b64d9fadd0 Add clockify time tracker quickmark
Mapped to clock
2020-01-06 17:23:45 +01:00
5ca97cad3c Add gitignore file 2020-01-06 17:21:11 +01:00
83dc43e442 Add additional qutebrowser themes
Adds gruvbox dark and light variant, renames 'base16' to correct
solarized dark naming scheme. Uses gruvbox dark by default
2020-01-04 20:44:58 +01:00
e791340b19 Flatten script file hierarchy
Scripts would not be added to path otherwise
2020-01-04 12:19:39 +01:00
f367bc5819 Add personalized pandoc latex template 2020-01-03 10:29:44 +01:00
7b3b41ea97 Fix tmux dot session to work with stow dotfiles 2020-01-03 10:10:58 +01:00
dee7f9096b Merge branch '67-switch-organization-to-gnu-stow' into 'master'
Resolve "Switch organization to GNU stow"

Closes #67

See merge request marty-oehme/dotfiles!26
2019-12-30 10:18:57 +00:00
6fd8fcf8ca Restructure bootstrap dir, fix install.sh
With bootstrap files no longer linked to config directory, we can have
an easier directory structure with less nesting for them. Install.sh
needs to use the new structure when calling its bootstrap scripts.
2019-12-30 11:04:54 +01:00
dba47b8e20 Allow autostow.sh to selectively ignore directories
By default autostow.sh ignores assets/ and bootstrap/ directories. This
behavior can be changed through the `AUTOSTOW_IGNORED_DIRS` environment
variable. It should contain the name of the directories to ignore,
separated by a `:`.
2019-12-30 11:00:00 +01:00
df07a8e8d8 Remove dot command from shell
dot command was only useful for working quickly with the bare
repository, since it decoupled git's working tree. Now that we have a
normal repository and are using stow the command seems no longer
necessary.
2019-12-30 10:27:20 +01:00
7e0d5440d8 Add basic bootstrap routine 2019-12-30 10:20:17 +01:00
ed040d9caa Add autostow.sh automatic stowing utility
Will only reside in repository folder. Symlinks anything in a
subdirectory into the corresponding place in home directory.
2019-12-30 09:13:23 +01:00
34779454be Add simple stow automatic linking script 2019-12-30 00:02:17 +01:00