dot
Description
Personal dotfiles and configuration guide.
Table of Contents
Features
// TODO Add links for download scripts
Usage
Above you should see quick links for downloading and setup. Below I will discuss how I approach setting up my $HOME directory. We will be following Free Desktop Specifications.
One of the tools we need to know about is xdg-user-dirs.
Make sure this is installed with sudo apt install xdg-user-dirs
xdg-user-dirs is a tool to help manage "well known" user directories like the desktop folder and the music folder. It also handles localization (i.e. translation) of the filenames.
The way it works is that xdg-user-dirs-update is run very early in the login phase. This program reads a configuration file, and a set of default directories. It then creates localized versions of these directories in the users home directory and sets up a config file in $(XDG_CONFIG_HOME)/user-dirs.dirs (XDG_CONFIG_HOME defaults to ~/.config) that applications can read to find these directories.
Sysadmins can configure things by editing /etc/xdg/user-dirs.conf. At the moment there are only two settings, you can disable the whole thing, and you can specify the charset encoding used for filenames. They can also set or change the default directories and their initial values in /etc/xdg/user-dirs.defaults.
$(XDG_CONFIG_HOME)/user-dirs.dirs specifies the current set of directories for the user. This file is in a shell format, so its easy to access from a shell script. This file can also be modified by users (manually or via applications) to change the directories used. Note: To disable a directory, point it to the homedir. If you delete it it will be recreated on the next login.
You can find the user-dirs.defaults HERE// TODO add link.
You can find the custom one I use HERE// TODO add link.
Some of these are their own repositories, and I will include a link below with an explanation and purpose of the directory. `
Our desktop (if applicable)
DESKTOP=gui
Downloads folder for firefox etc.
DOWNLOAD=dl
Our templates folder for click/create functionality on desktops.
TODO ADD LINK TO REPO
TEMPLATES=eg
Guides/Notes written in Markdown.
TODO ADD LINK TO REPO
MARKDOWN=md
Local sharing.
PUBLICSHARE=pub
Documents and media
DOCUMENTS=media/docs MUSIC=media/music PICTURES=media/pics VIDEOS=media/vids PDF=media/pdf
CAD repo for link to library resources etc.
TODO ADD LINK TO REPO
CAD=cad
All my development repos.
TODO ADD LINK TO REPO
REPO=repo
Bash scripts and resources.
TODO ADD LINK TO REPO
SCRIPTS=sh
Originally for virtual machines, but now includes Docker, etc.
TODO ADD LINK TO REPO
VIRTUALMACHINES=vm `
Credits / Resources
Atlassian - How to store Dotfiles
Tom Preston-Werner README Driven Development
Make a README
Choose a LICENSE