phipsgabler / dotfiles

Some of my configuration files

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

About

This is a unified repo for some of my configuration files. A main idea is to consistenly use

  • Solarized as a color scheme, mostly in its light variant
  • DejaVu Sans Mono as a font, since looks good and has the best Unicode support of monospaced fonts, AFAIK (at least when it comes to strange operators in programming languages...)
  • JuliaMone in Emacs (I’d fully switch to it, but there currently does not exist a Powerline patched variant). It has been designed specifically for programming in Julia, but that just means that it is a well-designed programming font developed for Unicode-heavy languages.

It mostly stores my settings for zsh with OhMyZsh and Powerlevel9k and my Emacs file.

Installations

Fonts

  • JuliaMone from here
  • DejaVu Sans Mono from here
  • For terminals: the Powerline patched variant from here (I do that manually, but there's a script, too).
  • Add Awesome Terminal Fonts for additional fallback symbols: clone the repo and run install.sh

Github CLI

Get from here

ZSH

See here. To make it the default shell: chsh -s $(which zsh).

Now, link the file zshrc from here to ~/.zshrc.

OhMyZsh

See here; basically, just

sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"

For zsh-completions, giving load of completions, also clone the following:

git clone https://github.com/zsh-users/zsh-completions ~/.oh-my-zsh/custom/plugins/zsh-completions

To get conda completion, add files to ~/.oh-my-zsh/custom/plugins/zsh-completions/src:

Powerlevel9k

See here:

git clone https://github.com/bhilburn/powerlevel9k.git ~/.oh-my-zsh/custom/themes/powerlevel9k

A list of all available prompt segments is given here; my settings use

POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(context dir custom_python vcs)
POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(status history background_jobs)

Other tools

Solarized for Xfce terminal

See here; simply paste the file from there into ~/.config/xfce4/terminal/terminalrc.

Guake has several variants of the Solarized scheme built in, as has Gnome Terminal.

Julia Packages

For the .juliarc.jl. Depending on what you want to use, call

Xmonad

(I’m not currently using this, but keep it for future reference.)

This blog and this introduction is quite useful in general.

Borg

The ./borg directory contains my borgmatic configuration for backups on my NAS etc. It is set up in repokey mode.

Steps to reproduce:

  • Install Borg locally and on the server.

  • (In case you use a NAS, create a user for backups and make sure he has a home directory.)

  • Add an SSH key to the server. Make sure that the .ssh directory has the right restricted permissions (debug by running sshd -d -p 1234 on the server and connecting to that port) and access is working.

  • The passphrase is stored locally in a file which needs to be set up appropriately.

  • Maybe the remote borg does not run under that name, so the remote_path is explicitely set.

  • (Link the keys directory (storage.borg_keys_directory) to some place on which you back up the key file, if you use that.)

  • To run every hour, add the following line with crontab -e:

    0 * * * * /usr/bin/borgmatic --config $HOME/.config/borgmatic/config.yaml --syslog-verbosity 1
    

About

Some of my configuration files

License:The Unlicense


Languages

Language:Emacs Lisp 60.6%Language:CSS 21.0%Language:Shell 15.6%Language:Haskell 1.5%Language:Julia 1.3%