readme: Convert to Org

master
Pierre Neidhardt 2018-08-04 20:27:54 +02:00
parent bc0f15d3a1
commit a48ab93318
1 changed files with 33 additions and 30 deletions

View File

@ -1,62 +1,65 @@
# .dotfiles
#+TITLE: .dotfiles
## Overview
* Overview
I use of Emacs for almost everything, including my window manager (EXWM). See
my [Emacs pro-tips](http://ambrevar.bitbucket.io/emacs/).
I use of Emacs for almost everything, including my window manager ([[https://github.com/ch11ng/exwm][EXWM]]). See
my [[http://ambrevar.bitbucket.io/emacs/][Emacs pro-tips]].
As such, the more-or-less advanced configurations of my former favourite Unix
programs are gone (Awesome, cmus, fish, fzf, Mutt, newsbeuter, ranger, urxvt,
zathura, zsh). You can search for them before the git commit `README: The Big
Emacs Shift`.
zathura, zsh). You can search for them before the git commit =README: The Big
Emacs Shift=.
## Setup
* Setup
For the list of programs I currently use, see the `.pkglists/` folder.
For the list of programs I currently use, see the =.package-lists/= folder.
The `homeinit` script fully bootstraps a user profile with required files,
The =homeinit= script fully bootstraps a user profile with required files,
folders, symlinks applications.
The `homeclean` script removes trash files, caches and warns if critically
The =homeclean= script removes trash files, caches and warns if critically
private data is found (e.g. PGP keys).
The `homesync` script updates the package lists, prints the status of all known
The =homesync= script updates the package lists, prints the status of all known
projects and optionally pushes the unmerged changes upstream.
As for managing a dotfiles repository, there are various approaches.
** Direct versioning
### Direct versioning
Git makes it possible to use your home folder as a git repository, thus
versioning all files directly.
Git makes it possible to use your home folder as a git repo, thus versioning
all files directly.
#+BEGIN_SRC sh
$ cd
$ git init
$ git remote add origin <repo>
$ git fetch
$ git checkout master
#+END_SRC
cd
git init
git remote add origin <repo>
git fetch
git checkout master
** GNU Stow
### GNU Stow
[[https://www.gnu.org/software/stow/][GNU Stow]] lets you symlink a project's files to an arbitrary folder.
[GNU Stow](https://www.gnu.org/software/stow/) lets you symlink a project's
files to an arbitrary folder.
The simplest setup would be to clone the dotfiles to, say, =~/dotfiles= then run
The simplest setup would be to clone the dotfiles to, say, `~/dotfiles` then run
cd ~/dotfiles
stow .
#+BEGIN_SRC sh
$ cd ~/dotfiles
$ stow .
#+END_SRC
This has several advantages over direct versioning:
- Subfolders in home are not subject to being included into the dotfiles git
repository. This is especially relevant for projects under a version control
system other than git.
repository. This is especially relevant for projects under a version control
system other than git.
- No need for a `.gitignore`.
- No need for a =.gitignore=.
- Simplified file control (add/remove/etc.).
- You can fine-tune which program configuration to synchronize on a per-system basis.
- You can fine-tune which program configuration to synchronize on a per-system
basis.
- You can manage several configurations for the same programs.