2016-09-06 23:19:16 -04:00
---
title: "Installation"
permalink: /docs/install
2019-12-06 09:20:35 -05:00
toc: true
toc_label: "Platforms"
2016-09-06 23:19:16 -04:00
---
## OSX
2019-11-04 19:05:56 -05:00
yadm can be installed using [Homebrew][homebrew].
2016-09-06 23:19:16 -04:00
```
brew install yadm
```
2019-11-04 19:05:56 -05:00
## RPM Based Installations
2016-09-06 23:19:16 -04:00
2022-03-23 04:49:32 -04:00
For RPM based systems like Fedora, Red Hat, CentOS, etc, there are repositories hosted by openSUSE Build Service.
2019-11-04 19:05:56 -05:00
Follow this link for [repositories and installation instructions][OBS].
2016-09-06 23:19:16 -04:00
2022-03-23 04:49:32 -04:00
## openSUSE
### Tumbleweed
`yadm` is available in the official repository.
Use `zypper` or `dnf` to install.
### Leap/SLE 15
`yadm` is available to install manually via the `utilities` repository
Instructions are to be found in [OBS ](https://software.opensuse.org//download.html?project=utilities&package=yadm )
*Note : 15.3 and further are located under SLE and not openSUSE*
It is recommended to modify the priority of the repository to limit breakage :
```
zypper modifyrepo -p 100 utilities
```
2018-07-02 08:51:13 -04:00
## Ubuntu/Debian
2017-01-10 01:16:24 -05:00
2019-10-19 14:59:03 -04:00
A version of yadm is available via standard package repositories. Use `apt-get` to install.
2016-09-06 23:19:16 -04:00
## Arch Linux
2019-11-12 06:06:30 -05:00
yadm is available in the [Arch User Repos ](https://wiki.archlinux.org/index.php/Arch_User_Repository ) and can be installed with an [AUR helper ](https://wiki.archlinux.org/index.php/AUR_helpers ) or with [Makepkg ](https://wiki.archlinux.org/index.php/Makepkg ).
2016-09-06 23:19:16 -04:00
```
2019-11-12 06:06:30 -05:00
yay -Syu yadm-git
2016-09-06 23:19:16 -04:00
```
## Gentoo Linux
2019-10-19 14:59:03 -04: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
2019-10-19 14:59:03 -04:00
yadm is available in the official repository, simply use `xbps-install` to install it.
2017-12-08 09:06:41 -05:00
```
xbps-install yadm
```
2019-05-03 04:08:01 -04:00
## FreeBSD
2019-10-19 14:59:03 -04:00
yadm is available in the FreeBSD ports. Use `pkg` to install it from a prebuilt binary package:
2019-05-03 04:08:01 -04:00
```
pkg install yadm
```
2020-08-19 01:43:17 -04:00
## OpenWRT
Install the required dependencies, via
```
opkg update
opkg install bash git git-http gnupg coreutils-chmod coreutils-stat
```
and then install yadm via the download or clone instructions below.
2017-01-12 00:18:21 -05:00
## Download
2016-09-06 23:19:16 -04:00
2019-10-19 14:59:03 -04:00
You *can* simply download the yadm script and put it into your `$PATH` . Something like this:
2016-09-06 23:19:16 -04:00
```
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
2019-10-19 14:59:03 -04:00
You might wish to clone the yadm project and symlink `yadm` into your
2017-01-12 00:18:21 -05:00
`$PATH` .
```
git clone https://github.com/TheLocehiliosan/yadm.git ~/.yadm-project
ln -s ~/.yadm-project/yadm ~/bin/yadm
```
2019-10-19 14:59:03 -04:00
Now you can pull the latest updates to yadm using Git. Again, adjust the
2017-01-12 00:18:21 -05:00
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
2019-10-19 14:59:03 -04:00
the yadm project as a submodule and symlink `yadm` into your `$PATH` .
2017-01-12 00:18:21 -05:00
```
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
```
2019-10-19 14:59:03 -04:00
Updating to a newer version of yadm would use commands similar to this.
2017-01-12 00:18:21 -05:00
```
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
2019-11-04 19:05:56 -05:00
You can find more information about Git submodules by reading the
[git-submodule][git-submodule] man page.
[OBS]: https://software.opensuse.org//download.html?project=home%3ATheLocehiliosan%3Ayadm& package=yadm
[git-submodule]: https://git-scm.com/docs/git-submodule
[homebrew]: https://github.com/Homebrew/homebrew