NGenetzky / github.com.ypid.dotfiles

My customized Unix work environment.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ypid dotfiles

My customized Unix work environment.

Enjoy.

Install

Installation is handled by dotbot.

There are two strategies to install it:

Editable installation

This will leave you with a hackable checkout with the full history:

git clone https://github.com/ypid/dotfiles.git ~/.config/dotfiles
cd ~/.config/dotfiles
./get     # Will download all the dependencies.
./install # Links the config from the repo to the current $HOME dir.

On Windows those steps should work in a Git Bash as administrator.

Read-only installation

For secure, self-hosted distribution of my dotfiles to servers, clients and Qubes OS AppVMs I choose the approach to have a checkout (without the .git) at /usr/local/share/ypid_dotfiles/ and than /etc/skel/.config/dotfiles symlinks to it. With this, I can easily enable my dotfiles for new users as needed. This comes in handy when different accounts are using for separation.

Pro:

  • With history, my dotfiles (mainly caused by the hundreds of git submodules included) is 400 MiB in size. This space is used only once per system as all user accounts just symlink to it.
  • It allows to update most of the configuration files per system instead of per user account.

Contra:

  • /usr/local/share/ypid_dotfiles/ is not writable so the installer needs to handle some configs differently where the program needs write access to it’s own config file for normal operation.

Refer to the Ansible role ypid.dotfiles for more details.

To overwrite files that were copied instead of symlinked use the following but be warned that it will overwrite files in HOME:

YPID_DOT_IGNORE_EXISTING="--recursive" ./install

Contents

Check the install.conf.yaml file to see my active configuration and where it is linked to.

About

My customized Unix work environment.


Languages

Language:AutoHotkey 78.7%Language:PowerShell 7.4%Language:Vim Script 6.6%Language:Shell 3.1%Language:VBA 2.0%Language:Vim Snippet 0.8%Language:JavaScript 0.5%Language:Batchfile 0.4%Language:Scheme 0.2%Language:Lua 0.1%Language:Makefile 0.1%Language:Python 0.1%