2016-09-06 23:19:16 -04:00
---
title: "Installation"
permalink: /docs/install
---
{% include toc title="Platforms" %}
## OSX
**yadm** can be installed using [Homebrew ](https://github.com/Homebrew/homebrew ).
```
brew install yadm
```
2017-01-12 00:51:37 -05:00
## Fedora/Red Hat/CentOS (YUM/RPM)
2016-09-06 23:19:16 -04:00
Several yum repositories are on Copr. Follow this link for [repositories and installation instructions ](https://copr.fedorainfracloud.org/coprs/thelocehiliosan/yadm/ ).
2017-01-10 01:16:24 -05:00
## Ubuntu
Beginning with Ubuntu 16.10 _(yakkety)_ , a version of **yadm** is available via
standard package repositories.
---
If using an older Ubuntu release, or to get a more up-to-date version of **yadm** , a PPA containing **yadm** exists
[here ](https://launchpad.net/~flexiondotorg/+archive/ubuntu/yadm ). These
commands should be sufficient to install:
```
sudo apt-get install -y software-properties-common
sudo add-apt-repository -y ppa:flexiondotorg/yadm
sudo apt-get update
sudo apt-get -y install yadm
```
---
Otherwise, the instructions for Debian below should also work for Ubuntu.
## Debian
2016-09-06 23:19:16 -04:00
2017-08-30 08:10:53 -04:00
**yadm** is available in the stable release of Debian. It may be installed with `apt-get` .
2016-09-06 23:19:16 -04:00
## Arch Linux
2017-12-08 09:08:18 -05:00
**yadm** is available in the Arch User Repos and can be installed with AUR helper or Makepkg.
2016-09-06 23:19:16 -04:00
```
2017-02-15 09:51:22 -05:00
yaourt -S yadm-git
2016-09-06 23:19:16 -04:00
```
## Gentoo Linux
2017-12-08 09:08:18 -05:00
**yadm** is available in the main gentoo portage tree, simply use `emerge` to install it.
2016-09-06 23:19:16 -04:00
```
emerge -atv app-admin/yadm
```
2017-12-08 09:06:41 -05:00
## Void Linux
**yadm** is available in the official repository, simply use `xbps-install` to install it.
```
xbps-install yadm
```
2017-01-12 00:18:21 -05:00
## Download
2016-09-06 23:19:16 -04:00
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
```
2017-01-05 13:41:01 -05:00
2017-01-12 00:18:21 -05:00
Of course, you can change the file paths above to be appropriate for your `$PATH` and situation.
## Clone
You might wish to clone the **yadm** project and symlink `yadm` into your
`$PATH` .
```
git clone https://github.com/TheLocehiliosan/yadm.git ~/.yadm-project
ln -s ~/.yadm-project/yadm ~/bin/yadm
```
Now you can pull the latest updates to **yadm** using Git. Again, adjust the
file paths above to be appropriate for your `$PATH` and situation.
## Submodule
2017-01-05 13:41:01 -05:00
2017-01-12 00:18:21 -05:00
If you are comfortable with how Git submodules work, another option is to add
the **yadm** project as a submodule and symlink `yadm` into your `$PATH` .
```
cd ~
yadm submodule add https://github.com/TheLocehiliosan/yadm.git .yadm-project
yadm submodule update --init --recursive
ln -s ~/.yadm-project/yadm ~/bin/yadm
yadm add .yadm-project .gitmodules bin/yadm
yadm commit
2017-01-05 13:41:01 -05:00
```
2017-01-12 00:18:21 -05:00
When using submodules, you need to initialize them each time you do a fresh
`clone` of your dotfiles.
2017-01-05 13:41:01 -05:00
```
2017-01-12 00:18:21 -05:00
yadm submodule update --init --recursive
```
Updating to a newer version of **yadm** would use commands similar to this.
```
cd ~/.yadm-project
git pull
yadm add ~/.yadm-project
yadm commit
```
Again, adjust the file paths above to be appropriate for your `$PATH` and
situation.
2017-01-05 13:41:01 -05:00
2017-01-12 00:18:21 -05:00
You can find more information about Git submodules by reading the [git-submodule ](https://git-scm.com/docs/git-submodule )
man page.