diff --git a/_config.dev.yml b/_config.dev.yml new file mode 100644 index 0000000..57cca93 --- /dev/null +++ b/_config.dev.yml @@ -0,0 +1,3 @@ +url: http://localhost:4000 +analytics: + provider: false diff --git a/_data/navigation.yml b/_data/navigation.yml index 81c52a6..38de84c 100644 --- a/_data/navigation.yml +++ b/_data/navigation.yml @@ -24,8 +24,8 @@ docs: url: /docs/install - title: "Getting Started" url: /docs/getting_started - - title: "Common Usage Patterns" - url: /docs/common_usage + - title: "Common Commands" + url: /docs/common_commands - title: Advanced Features children: - title: "Alternate Files" diff --git a/_docs/010_overview.md b/_docs/010_overview.md new file mode 100644 index 0000000..ebf25df --- /dev/null +++ b/_docs/010_overview.md @@ -0,0 +1,40 @@ +--- +title: "Overview" +permalink: /docs/overview +--- +> You've spent time tweaking your computing environment. Everything operates the + way you want. That's fantastic! Then your hard drive fails, and the computer + needs to be rebuilt. **yadm** can restore you configurations. + +> You get a new computer, and you want to recreate that environment. You + probably want to keep both machines' configurations in sync. **yadm** can help + you coordinate the configurations between your machines. + +> You begin experimenting with new changes to your configurations, and now + everything is broken. **yadm** can help you determine what changed or simply + revert all of your changes. + +**yadm** is like having a version of Git, that only operates on your dotfiles. + If you know how to use Git, you already know how to use yadm. + +* It doesn't matter if your current directory is another Git-managed repository +* You don't have to move your dotfiles, or have them symlinked from another + location. +* **yadm** automatically inherits all of Git's features, allowing you to branch, + merge, rebase, use submodules, etc. + +As so many others, I started out with a repository of dotfiles and a few scripts +to symbolically link them around my home directory. This quickly became +inadequate and I looked for solutions elsewhere. I've tried other tools, but I +didn't find all of the features I personally wished for in a single tool. This +led to **yadm** being written with the following goals: + +* Use a single repository +* Few dependencies +* Ability to use alternate files based on OS or host +* Ability to encrypt and track confidential files +* Stay out of the way and let Git do what it's good at + +Follow these links to [install](install) **yadm** +or +learn some simple steps for [getting started](getting_started) with **yadm**. diff --git a/_docs/020_install.md b/_docs/020_install.md new file mode 100644 index 0000000..9c38bc3 --- /dev/null +++ b/_docs/020_install.md @@ -0,0 +1,57 @@ +--- +title: "Installation" +permalink: /docs/install +--- +{% include toc title="Platforms" %} + +## OSX + +**yadm** can be installed using [Homebrew](https://github.com/Homebrew/homebrew). + +``` +brew install yadm +``` + +## Fedora/Red Hat/ CentOS (YUM/RPM) + +Several yum repositories are on Copr. Follow this link for [repositories and installation instructions](https://copr.fedorainfracloud.org/coprs/thelocehiliosan/yadm/). + +## Debian / Ubuntu + +**yadm** is currently in the "testing" release of Debian. If you are using the "stable" release, you can still install **yadm** using the following process. + +* First, add the following to `/etc/apt/sources.list` + +``` +deb http://ftp.debian.org/debian testing main contrib non-free +``` + +* Next, run `apt-get update -y` + +* Last, run `apt-get -t testing install yadm` + +If you are using the "unstable" or "testing" release of Debian, you should be able to install **yadm** as you normally install software with `apt-get`. + +## Arch Linux + +**yadm** is available in the Arch User Repos and can be installed with AUR helper or Makepkg + +``` +yaourt -S yadm +``` + +## Gentoo Linux + +**yadm** is available in the main gentoo portage tree, simply use `emerge` to install it + +``` +emerge -atv app-admin/yadm +``` + +## Other + +You *can* simply download the **yadm** script and put it into your `$PATH`. Something like this: + +``` +curl -fLo /usr/local/bin/yadm https://github.com/TheLocehiliosan/yadm/raw/master/yadm && chmod a+x /usr/local/bin/yadm +``` diff --git a/_docs/030_getting_started.md b/_docs/030_getting_started.md new file mode 100644 index 0000000..b68ed6e --- /dev/null +++ b/_docs/030_getting_started.md @@ -0,0 +1,35 @@ +--- +title: "Getting Started" +permalink: /docs/getting_started +--- +Starting out with **yadm** should be just a few easy steps. + +### If you don't currently have a repository +Start out with an empty local repository + + yadm init + yadm add + yadm commit + +Eventually you will want to push the local repo to a remote. + + yadm remote add origin + yadm push -u origin master + +### If you have an existing remote repository +Clone your existing repo using **yadm**. + + yadm clone + yadm status + +The `clone` command will attempt to `merge` your existing repository, but if it +fails, it will do a `reset` instead and you'll have to decide best on how +resolve the differences. See +[this question](faq#i-just-cloned-my-repository-but-yadm-status-shows-conflicts-why) +in the FAQ if you need help. + +--- + +That's all it takes to start. Now most Git commands can be used as +`yadm `. +Read about [common commands](common_commands) for ideas. diff --git a/_docs/035_common_usage.md b/_docs/035_common_usage.md new file mode 100644 index 0000000..ff6a596 --- /dev/null +++ b/_docs/035_common_usage.md @@ -0,0 +1,64 @@ +--- +title: "Common Commands" +permalink: /docs/common_commands +--- +Most of these operations will look like Git commands; because they are. +**yadm** wraps Git, allowing it to perform all of Git's operations. The +difference is your `$HOME` directory becomes the working directory, and you can +run the commands from any directory. + +Commands below which are special to **yadm** are denoted with +, +and those which are passed directly through to Git are denoted with +. + + `man yadm` +: Display **yadm**'s +[manual](https://github.com/TheLocehiliosan/yadm/blob/master/yadm.md). + + `yadm status` +: Show the repository status; added, changed, removed files. Because a `$HOME` +directory often more than only dotfiles, by default +**yadm** ignores untracked files when displaying status. + + `yadm push`, `yadm fetch` +: Send or retrive commits to/from your remote repository . + + `yadm commit --amend` +: Replace the last commit with a new one. Allows you to change your commit +message or add staged changes to the previous commit. + + `yadm diff` +: View changes (uncommitted) you've made to your dotfiles. + + `yadm diff --cached` +: View changes staged with `yadm add`. These changes will be added with the next +commit. + + `yadm list -a` +: Print a list of files managed by **yadm**. The -a option will cause all managed +files to be listed. Otherwise, the list will only include files from the +current directory or below. + + `yadm alt` +: Create symbolic links for any managed files matching the alternate naming rules. +Read about [alternate files](alternates) for more details. + + `yadm encrypt` +: Encrypt all files matching the patterns found in `$HOME/.yadm/encrypt`. Read +about [encryption](encryption) for more details. + + `yadm decrypt`, `yadm decrypt -l` +: Decrypt files stored in `$HOME/.yadm/files.gpg`. Using the `-l` option will +only list the files (without decrypting them). Read about +[encryption](encryption) for more details. + + `yadm remote -v` +: Display detailed information about all configured remote repositories. + + `yadm checkout -- ` +: Abandon local changes to ``, replacing it with the `HEAD` revision of +``. + + `yadm checkout -b ` +: Create a branch called ``, and check the branch out. diff --git a/_docs/040_alternates.md b/_docs/040_alternates.md new file mode 100644 index 0000000..24399c2 --- /dev/null +++ b/_docs/040_alternates.md @@ -0,0 +1,126 @@ +--- +title: "Alternate Files" +permalink: /docs/alternates +--- + +When possible, it is best to use the same files across all systems. However, +there are occasions when you need different files in some places. Below are +features and strategies for dealing with those occasions. + +## Symlink alternates + +It can be useful to have an automated way of choosing an alternate version of a +file for a different operation system, host, or user. **yadm** implements a +feature which will automatically create a symbolic link to the appropriate +version of a file, as long as you follow a specific naming convention. yadm can +detect files with names ending in: + +| `##` | Default file linked | +| `##OS` | Matching OS | +| `##OS.HOSTNAME` | Matching OS & Hostname | +| `##OS.HOSTNAME.USER` | Matching OS, Hostname, and User | + +If there are any files managed by yadm's repository which match this naming +convention, symbolic links will be created for the most appropriate version. +This may best be demonstrated by example. Assume the following files are managed +by yadm's repository: + + $HOME/path/example.txt## + $HOME/path/example.txt##Darwin + $HOME/path/example.txt##Darwin.host1 + $HOME/path/example.txt##Darwin.host2 + $HOME/path/example.txt##Linux + $HOME/path/example.txt##Linux.host1 + $HOME/path/example.txt##Linux.host2 + +If running on a Macbook named `host2`, yadm will create a symbolic link which +looks like this: + +`$HOME/path/example.txt` → `$HOME/path/example.txt##Darwin.host2` + +However, on another Macbook named `host3`, yadm will create a symbolic link +which looks like this: + +`$HOME/path/example.txt` → `$HOME/path/example.txt##Darwin` + +Since the hostname doesn't match any of the managed files, the more generic +version is chosen. + +If running on a Linux server named `host4`, the link will be: + +`$HOME/path/example.txt` → `$HOME/path/example.txt##Linux` + +If running on a Solaris server, the link use the default `##` version: + +`$HOME/path/example.txt` → `$HOME/path/example.txt##` + +If no `##` version exists and no files match the current OS/HOST- NAME/USER, +then no link will be created. + +| OS is determined by running `uname -s`, HOSTNAME by running `hostname -s`, and USER by running `id -u -n`. **yadm** will automatically create these links by default. This can be disabled using the yadm.auto-alt configuration. Even if disabled, links can be manually created by running **yadm** alt. + +## Strategies for alternate files on different systems + +Where possible, you should try to use the same file on every system. Here are a few examples: + +### .vimrc + +```vim +let OS=substitute(system('uname -s'),"\n","","") +if (OS == "Darwin") + " do something that only makes sense on a Mac +endif +``` + +### .tmux.conf + + # use reattach-to-user-namespace as the default command on OSX + if-shell "test -f /usr/local/bin/reattach-to-user-namespace" 'set -g default-command "reattach-to-user-namespace -l bash"' + +### .bash_profile + +```bash +system_type=$(uname -s) +if [ "$system_type" = "Darwin" ]; then + eval $(gdircolors $HOME/.dir_colors) +else + eval $(dircolors -b $HOME/.dir_colors) +fi +``` + +### .gitconfig + +However, sometimes the type of file you are using doesn't allow for this type of +logic. If a configuration can do an "_include_", you can include a specific +alternate version using **yadm**. Consider these three files: + +`.gitconfig` + +```ini +[log] + decorate = short + abbrevCommit = true +[include] + path = .gitconfig.local +``` + +`.gitconfig.local##Darwin` + +```ini +[user] + name = Tim Byrne + email = tim@personal.email.org +``` + +`.gitconfig.local##Linux` + +```ini +[user] + name = Dr. Tim Byrne + email = dr.byrne@work.email.com +``` + +Configuring Git this way includes `.gitconfig.local` in the standard +`.gitconfig`. **yadm** will automatically link the correct version based on the +operation system. The bulk of your configurations can go in a single file, and +you just put the exceptions in OS-specific files. diff --git a/_docs/050_encryption.md b/_docs/050_encryption.md new file mode 100644 index 0000000..bb23d06 --- /dev/null +++ b/_docs/050_encryption.md @@ -0,0 +1,40 @@ +--- +title: "Encryption" +permalink: /docs/encryption +--- +It can be useful to manage confidential files, like SSH keys, across multiple +systems. However, doing so would put plain text data into a Git repository, +which often resides on a public system. **yadm** implements a feature which can +make it easy to encrypt and decrypt a set of files so the encrypted version can +be maintained in the Git repository. This feature will only work if the gpg +command is available. +_It is recommended that you use a private repository when keeping confidential +files, even though they are encrypted._ + +To use this feature, a list of patterns must be created and saved as +`$HOME/.yadm/encrypt`. For example: + + .ssh/*.key + +The `yadm encrypt` command will find all files matching the patterns, and +prompt for a password. Once a password has confirmed, the matching files will be +encrypted and saved as `$HOME/.yadm/files.gpg`. The patterns and files.gpg +should be added to the **yadm** repository so they are available across multiple +systems. + + yadm add .yadm/encrypt + yadm add .yadm/files.gpg + +To decrypt these files later, or on another system run `yadm decrypt` and +provide the correct password. +_By default, any decrypted files will have their "group" and "others" +permissions removed._ + +### Asymmetric Encryption + +Symmetric encryption is used by default, but asymmetric encryption may +be enabled using the `yadm.gpg-recipient` configuration. To do so, run: + + yadm config yadm.gpg-recipient + +For this to work, `` must exist in your gpg keyrings. diff --git a/_docs/060_faq.md b/_docs/060_faq.md new file mode 100644 index 0000000..c2e6596 --- /dev/null +++ b/_docs/060_faq.md @@ -0,0 +1,142 @@ +--- +title: "Frequently Asked Questions" +permalink: /docs/faq +#{% include toc title="Questions" %} +--- + +## Usage + +### I just cloned my repository, but `yadm status` shows conflicts. Why? + +Prior to cloning your repository, files managed by **yadm** already existed. For +example, imagine you are logged into a system and `$HOME/.bash_profile` already +exists. If you then clone your **yadm** repository—which also contains +`.bash_profile`—then you will likely get a conflict. You must decide how to +resolve that conflict. Perhaps you don't want to overwrite the current version. +You might want merge the content together in some way. This can be resolved the +same way you resolve any Git conflict. + +If you merely want to forcefully overwrite all the managed files using the HEAD +revision of your repository, you probably want to run + +``` +yadm reset --hard HEAD +``` + +### How can I display untracked files with a `yadm status` command? + +By default, **yadm** is configured to ignore untracked files when displaying a +status. You can use the `-u` paramter on the status command to alter how +untracked files are treated. `-unormal` will show untracked files and +directories. + +``` +yadm status -unormal +``` + +If you want to change the default treatment, you can change this configuration +on the **yadm** repository itself. + +``` +yadm gitconfig --unset status.showUntrackedFiles +``` + +### How can I stage all modified files at once? + +Just as with Git, you can use the `add` command. + +``` +yadm add -u :/ +``` + +(Starting with Git 2.0, the `:/` is not necessary) + +### How can I change the URL of my remote **yadm** repository? + +This is done the same way you change the URL of any Git repository. + +``` +yadm remote set-url origin +``` + +This could be useful if you manage your ssh keys in the **yadm** repository. +That could make it difficult to initially clone the repository using the `ssh` +protocol. You can start by cloning the repository using the `https` protocol +(and providing a password), and then change the repository's URL after you've +decrypted your ssh keys. + +### I've customized **yadm** configurations (stored in `~/.yadm/config`). Should I add that to my repository? + +Certainly. That is a good way to carry your **yadm** configurations around (just +like the rest of your dotfiles). + +### Can you point to any example **yadm** managed repositories? + +[This page](examples) contains some examples. + + +## Encryption + +### Can I use **yadm** without **gpg**? + +Of course. You only need `gpg` installed if you plan on using the +encrypt/decrypt features. **yadm** will tell you if it is missing a dependency +for any command. + +### Should I `yadm add` my `.yadm/encrypt` file? + +Yes! This way your configuration for what files should be encrypted will follow +you when you clone your repository. + +### Should I `yadm add` encrypted files to repository? + +No, you should not. Files you want encrypted should be added to the file +`.yadm/files.gpg` using the `yadm encrypt` command. Then `.yadm/files.gpg` +should be added to the **yadm** repository. This way, only an encrypted +collection of those files are put into the repository. After cloning or updating +your repository, you can use `yadm decrypt` to extract those files from +`.yadm/files.gpg`. See the +[encryption help](encryption) for more details. + +### I modified an encrypted file, but **yadm** doesn't show any modifications. Why? + +If you changed files which are matched by `.yadm/encrypt`, you must re-run `yadm +encrypt` to generate a new version of `.yadm/files.gpg`. Then `.yadm/files.gpg` +can be added to a new commit. + +### Can I use **yadm** and **git-crypt**? + +There is an experimental version of **yadm** which can use **git-crypt**. You +can find it in the [git-crypt-support branch]( +https://github.com/TheLocehiliosan/yadm/commits/git-crypt-support +). See the +[notes]( +https://github.com/TheLocehiliosan/yadm/commit/efb7fd16612fe650b1286f0c696696f412772ab3 +) in the commit messages of that branch for details. + +## Comparisons + +### How does **yadm** differ from **homeshick**? + +**yadm** and **homeshick** are both written in Bash, with very limited +dependencies. However, **homeshick** works by symlinking data from a repository +working directory into your `$HOME` directory. **yadm** instead uses your +`$HOME` directory _as_ its working directory. **homeshick** allows for multiple +"castles" to be linked into `$HOME`, while **yadm** is designed to work with a +single repository. **homeshick** requires you to change into the "castle" +directory before performing any Git based commands. **yadm** allows you to +perform operations regardless of your location. **yadm** also includes unique +features to encrypt private data, and symlink alternate versions of files based +on OS type or hostname. + +### How does **yadm** differ from **vcsh**? + +**yadm** and **vcsh** both work as a filters for standard Git commands. Both +also use your `$HOME` directory _as_ the repository's working directory. +However, **vcsh** is designed to work with multiple repositories, **yadm** +instead uses a single repository. **vcsh** requires you to specify which +repository you want to operate on, while **yadm** only operates on one. If you +want to use Git submodules, you _may_ have trouble using **vcsh**. This is +because only one repository can be the owner of the `.gitmodules` file. +**yadm** also includes unique features to encrypt private data, and symlink +alternate versions of files based on OS type or hostname. diff --git a/_docs/070_examples.md b/_docs/070_examples.md new file mode 100644 index 0000000..83dd12c --- /dev/null +++ b/_docs/070_examples.md @@ -0,0 +1,23 @@ +--- +title: "Example Dotfiles" +permalink: /docs/examples +--- +Need some inspiration? Here are some public dotfiles repositories managed by +**yadm**. Drop me a line if you have a dotfiles repo you'd like added to this +list. + +* [DoomHammer/dotfiles](https://github.com/DoomHammer/dotfiles) +* [SShrike/dotfiles](https://github.com/SShrike/dotfiles) +* [TheLocehiliosan/dotfiles](https://github.com/TheLocehiliosan/dotfiles) +* [akatrevorjay/dotfiles](https://github.com/akatrevorjay/dotfiles) +* [akupila/dotfiles](https://github.com/akupila/dotfiles) +* [bjartek/dotfiles](https://github.com/bjartek/dotfiles) +* [cschooley/dotfiles](https://github.com/cschooley/dotfiles) +* [czchen/dotfiles](https://github.com/czchen/dotfiles) +* [esphen/dotfiles](https://github.com/esphen/dotfiles) +* [gverilla/dotfiles](https://github.com/gverilla/dotfiles) +* [mago0/dotfiles](https://github.com/mago0/dotfiles) +* [mes5k/dotfiles](https://github.com/mes5k/dotfiles) +* [pendowski/dotfiles](https://github.com/pendowski/dotfiles) +* [tonipes/dotfiles](https://github.com/tonipes/dotfiles) +* [zamaterian/dotfiles](https://github.com/zamaterian/dotfiles) diff --git a/_includes/footer/custom.html b/_includes/footer/custom.html index d512599..e8a61d1 100644 --- a/_includes/footer/custom.html +++ b/_includes/footer/custom.html @@ -1,3 +1,15 @@ +
+ - \ No newline at end of file + diff --git a/_includes/head/custom.html b/_includes/head/custom.html index 0176731..e647c35 100644 --- a/_includes/head/custom.html +++ b/_includes/head/custom.html @@ -2,4 +2,14 @@ - \ No newline at end of file + + + + + + diff --git a/_pages/main.md b/_pages/main.md new file mode 100644 index 0000000..ce33de6 --- /dev/null +++ b/_pages/main.md @@ -0,0 +1,109 @@ +--- +layout: splash +permalink: / +stars_button: ' +{::nomarkdown}{:/nomarkdown} +' +title: 'Yet Another Dotfiles Manager' +header: + overlay_color: "#000" + overlay_filter: 0.7 + overlay_image: "unsplash-cabin.jpg" + cta_label: "Install Now" + cta_url: "/docs/install" + caption: "_Photo: [Paul Itkin](https://unsplash.com/photos/NKSGuJzExIo)_" +excerpt: ' + +When you live in a command line, configurations are a deeply personal thing. +They are often crafted over years of experience, battles lost, lessons learned, +advice followed, and ingenuity rewarded. When you are away from your own +configurations, you are an orphaned refugee in unfamiliar and hostile +surroundings. You feel clumsy and out of sorts. You are filled with a sense of +longing to be back in a place you know. A place you built. A place where all the +short-cuts have been worn bare by your own travels. A place you proudly call... +**$HOME**. + +' +feature_row: + - title: "Overview" + alt: "" + btn_class: "btn--inverse" + btn_label: "Discover yadm" + image_path: "cogs-padding.png" + url: "/docs/overview" + excerpt: ' + + If you know how to use Git, you already know how to use **yadm**. + **yadm** helps you maintain a single repository of dotfiles, while keeping + them where they belong---in `$HOME`. + Anything you can do with Git, you can do using **yadm**. + + ' + - title: "Alternate Files" + alt: "" + btn_class: "btn--inverse" + btn_label: "Details" + image_path: "copy-padding.png" + url: "/docs/alternates" + excerpt: ' + + Sometimes you need different configurations on different systems. + **yadm** makes it possible to use alternate versions of files based on + the OS or hostname of the system. + + ' + - title: "Encryption" + alt: "" + btn_class: "btn--inverse" + btn_label: "Learn more" + image_path: "secret-padding.png" + url: "/docs/encryption" + excerpt: ' + + Configurations occasionally include secrets such as passwords, + encryption keys, or other sensitive information. **yadm** allows you to + add such files to an encrypted archive, which can be maintained + alongside your other configurations. + + ' + - title: "FAQ" + alt: "" + btn_class: "btn--inverse" + btn_label: "Get answers" + image_path: "question-circle-padding.png" + url: "/docs/faq" + excerpt: ' + + Have a question? You might find an answer in the FAQ. + + ' + - title: "Manual" + alt: "" + btn_class: "btn--inverse" + btn_label: "See man page" + image_path: "book-padding.png" + url: "https://github.com/TheLocehiliosan/yadm/blob/master/yadm.md" + excerpt: ' + + View the manual online. + + ' + - title: "Example Dotfiles" + alt: "" + btn_class: "btn--inverse" + btn_label: "View examples" + image_path: "keyboard-padding.png" + url: "/docs/examples" + excerpt: ' + + Need some inspiration? Here are some example dotfiles repository. + + ' +--- + +{% include feature_row id="intro" type="center" %} + +{% include feature_row %} diff --git a/images/binary-padding.png b/images/binary-padding.png new file mode 100644 index 0000000..14fb11e Binary files /dev/null and b/images/binary-padding.png differ diff --git a/images/binary.png b/images/binary.png new file mode 100644 index 0000000..e273e2b Binary files /dev/null and b/images/binary.png differ diff --git a/images/book-padding.png b/images/book-padding.png new file mode 100644 index 0000000..3f11938 Binary files /dev/null and b/images/book-padding.png differ diff --git a/images/book.png b/images/book.png new file mode 100644 index 0000000..c43ea69 Binary files /dev/null and b/images/book.png differ diff --git a/images/branch-padding.png b/images/branch-padding.png new file mode 100644 index 0000000..15f4190 Binary files /dev/null and b/images/branch-padding.png differ diff --git a/images/branch.png b/images/branch.png new file mode 100644 index 0000000..a5468ef Binary files /dev/null and b/images/branch.png differ diff --git a/images/clone-padding.png b/images/clone-padding.png new file mode 100644 index 0000000..efa5036 Binary files /dev/null and b/images/clone-padding.png differ diff --git a/images/clone.png b/images/clone.png new file mode 100644 index 0000000..f0e04a8 Binary files /dev/null and b/images/clone.png differ diff --git a/images/cogs-padding.png b/images/cogs-padding.png new file mode 100644 index 0000000..ef10193 Binary files /dev/null and b/images/cogs-padding.png differ diff --git a/images/cogs.png b/images/cogs.png new file mode 100644 index 0000000..b57bcae Binary files /dev/null and b/images/cogs.png differ diff --git a/images/copy-padding.png b/images/copy-padding.png new file mode 100644 index 0000000..1d9fba2 Binary files /dev/null and b/images/copy-padding.png differ diff --git a/images/copy.png b/images/copy.png new file mode 100644 index 0000000..9297232 Binary files /dev/null and b/images/copy.png differ diff --git a/images/download-padding.png b/images/download-padding.png new file mode 100644 index 0000000..61ebd80 Binary files /dev/null and b/images/download-padding.png differ diff --git a/images/download.png b/images/download.png new file mode 100644 index 0000000..217a750 Binary files /dev/null and b/images/download.png differ diff --git a/images/git-padding.png b/images/git-padding.png new file mode 100644 index 0000000..5e27433 Binary files /dev/null and b/images/git-padding.png differ diff --git a/images/git.png b/images/git.png new file mode 100644 index 0000000..a1b8b1e Binary files /dev/null and b/images/git.png differ diff --git a/images/home-padding.png b/images/home-padding.png new file mode 100644 index 0000000..a268dab Binary files /dev/null and b/images/home-padding.png differ diff --git a/images/home.png b/images/home.png new file mode 100644 index 0000000..a5cbd41 Binary files /dev/null and b/images/home.png differ diff --git a/images/info-circle-padding.png b/images/info-circle-padding.png new file mode 100644 index 0000000..713672f Binary files /dev/null and b/images/info-circle-padding.png differ diff --git a/images/info-circle.png b/images/info-circle.png new file mode 100644 index 0000000..f621d3d Binary files /dev/null and b/images/info-circle.png differ diff --git a/images/info-padding.png b/images/info-padding.png new file mode 100644 index 0000000..1aeb50c Binary files /dev/null and b/images/info-padding.png differ diff --git a/images/info.png b/images/info.png new file mode 100644 index 0000000..e89fe37 Binary files /dev/null and b/images/info.png differ diff --git a/images/key-padding.png b/images/key-padding.png new file mode 100644 index 0000000..0b49270 Binary files /dev/null and b/images/key-padding.png differ diff --git a/images/key.png b/images/key.png new file mode 100644 index 0000000..d31caf9 Binary files /dev/null and b/images/key.png differ diff --git a/images/keyboard-padding.png b/images/keyboard-padding.png new file mode 100644 index 0000000..5370ed9 Binary files /dev/null and b/images/keyboard-padding.png differ diff --git a/images/keyboard.png b/images/keyboard.png new file mode 100644 index 0000000..c729e3a Binary files /dev/null and b/images/keyboard.png differ diff --git a/images/lock-padding.png b/images/lock-padding.png new file mode 100644 index 0000000..e594b41 Binary files /dev/null and b/images/lock-padding.png differ diff --git a/images/lock.png b/images/lock.png new file mode 100644 index 0000000..65aaaba Binary files /dev/null and b/images/lock.png differ diff --git a/images/question-circle-padding.png b/images/question-circle-padding.png new file mode 100644 index 0000000..79c8e4f Binary files /dev/null and b/images/question-circle-padding.png differ diff --git a/images/question-circle.png b/images/question-circle.png new file mode 100644 index 0000000..6c430d2 Binary files /dev/null and b/images/question-circle.png differ diff --git a/images/question-padding.png b/images/question-padding.png new file mode 100644 index 0000000..f3e5d12 Binary files /dev/null and b/images/question-padding.png differ diff --git a/images/question.png b/images/question.png new file mode 100644 index 0000000..ba1b0b2 Binary files /dev/null and b/images/question.png differ diff --git a/images/qustion-padding.png b/images/qustion-padding.png new file mode 100644 index 0000000..199eaa7 Binary files /dev/null and b/images/qustion-padding.png differ diff --git a/images/secret-padding.png b/images/secret-padding.png new file mode 100644 index 0000000..b311d27 Binary files /dev/null and b/images/secret-padding.png differ diff --git a/images/secret.png b/images/secret.png new file mode 100644 index 0000000..7729a88 Binary files /dev/null and b/images/secret.png differ diff --git a/images/transfer-padding.png b/images/transfer-padding.png new file mode 100644 index 0000000..a2551c3 Binary files /dev/null and b/images/transfer-padding.png differ diff --git a/images/transfer.png b/images/transfer.png new file mode 100644 index 0000000..cea1a7d Binary files /dev/null and b/images/transfer.png differ diff --git a/images/tree-padding.png b/images/tree-padding.png new file mode 100644 index 0000000..4ae0d58 Binary files /dev/null and b/images/tree-padding.png differ diff --git a/images/tree.png b/images/tree.png new file mode 100644 index 0000000..dc36f67 Binary files /dev/null and b/images/tree.png differ diff --git a/images/unsplash-cabin.jpg b/images/unsplash-cabin.jpg new file mode 100644 index 0000000..8d7a46a Binary files /dev/null and b/images/unsplash-cabin.jpg differ