Add install script and README
This commit is contained in:
parent
a70063ca5b
commit
9e3468fa45
2 changed files with 35 additions and 0 deletions
22
README.md
Normal file
22
README.md
Normal file
|
@ -0,0 +1,22 @@
|
|||
# dotfiles
|
||||
|
||||
My personal dotfiles and configurations.
|
||||
|
||||
## The Contents
|
||||
|
||||
- `common` - A set of configuration files common to every system.
|
||||
- `$hostname` - Configuration files specific to the system with the given hostname.
|
||||
- `$x` - Additional (optional) configurations that can also be added.
|
||||
|
||||
## The System
|
||||
|
||||
Each subdirectory of this repository is a collection of files to install
|
||||
relative to the current user's home directory (assumed to be `$HOME`)
|
||||
which are merged into the home directory by the `install.sh` script.
|
||||
The script chooses specific subdirectories and merges them in the following
|
||||
order, with precedence given to the more recently-listed subdirectory if two or
|
||||
more contain a file at the same path:
|
||||
|
||||
- Command-line arguments (precedence given first-to-last)
|
||||
- System hostname
|
||||
- The `common` directory
|
13
install.sh
Executable file
13
install.sh
Executable file
|
@ -0,0 +1,13 @@
|
|||
#!/bin/sh
|
||||
|
||||
dotfiles_dir="${DOTFILES:-$(dirname "$(realpath "$0")")}"
|
||||
hostname="${HOSTNAME:-$(hostname)}"
|
||||
|
||||
customs=$(
|
||||
for i in $@
|
||||
do
|
||||
echo "${dotfiles_dir}/${i}/"
|
||||
done
|
||||
)
|
||||
|
||||
rsync -lr ${customs} "${dotfiles_dir}/${hostname}/" "${dotfiles_dir}/common/" "${HOME}"
|
Loading…
Add table
Reference in a new issue