Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

yadm: add pages #13920

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions pages/common/yadm-alt.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# yadm-alt

> Create symbolic links and process templates for any managed files.
> Learn more about templates: <https://yadm.io/docs/templates>.
> More information: <https://yadm.io/docs/alternates>.
- Create symbolic links between alternate files manually:

`yadm alt`
9 changes: 9 additions & 0 deletions pages/common/yadm-bootstrap.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# yadm-bootstrap

> This command allows you to execute Yadm's bootstrap file.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
> This command allows you to execute Yadm's bootstrap file.
> Execute Yadm's bootstrap file.

> This file should be created in `$HOME/.config/yadm/bootstrap`.
> More information: <https://yadm.io/docs/bootstrap>.

- Execute bootstrap executable:

`yadm bootstrap`
30 changes: 30 additions & 0 deletions pages/common/yadm-clone.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# yadm-clone

> Works just like `git clone`. In addition you can pass extra flags to configure your repository.
> If there is a bootstrap file in the repository, you will be prompted to execute it.
> See also: `git clone`.
> More information: <https://yadm.io/docs/common_commands>.

- Clone an existing repository:

`yadm clone {{remote_repository_location}}`

- Clone an existing repository, then execute the bootstrap file:

`yadm clone {{remote_repository_location}} --bootstrap`

- Clone an existing repository and after cloning, do not execute the bootstrap file:

`yadm clone {{remote_repository_location}} --no-bootstrap`

- Change the worktree that `yadm` will use during cloning:

`yadm clone {{remote_repository_location}} --w {{worktree_file}}`

- Change the branch that yadm gets files from:

`yadm clone {{remote_repository_location}} -b {{branch}}`

- Override an existing repository local branch:

`yadm clone {{remote_repository_location}} -f`
20 changes: 20 additions & 0 deletions pages/common/yadm-config.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# yadm-config

> Pass options to `yadm`'s config file. Change the `.config` of the repository managed by `yadm`.
> See also: <https://github.com/TheLocehiliosan/yadm/blob/master/yadm.md#configuration>.

- Set or update a `yadm`'s Git configuration:

`yadm config {{key.inner-key}} {{value}}`

- Get a value from `yadm`'s Git configuration:

`yadm config --get {{key}}`

- Unset a value in `yadm`'s Git configuration:

`yadm config --unset {{key}}`

- List all values in `yadm`'s Git configuration:

`yadm config --list`
9 changes: 9 additions & 0 deletions pages/common/yadm-decrypt.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# yadm-decrypt

> Decrypt files that were encrypted by `yadm`.
> When activating this command you will be prompted for a password.
> More information: <https://yadm.io/docs/encryption>.

- Decrypt files:

`yadm decrypt`
13 changes: 13 additions & 0 deletions pages/common/yadm-encrypt.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# yadm-encrypt

> Encrypt files listed in the designated encrypt file.
> After the files are encrypted they will be save in the designated archive folder.
> More information: <https://yadm.io/docs/encryption>.

- Encrypt files listed in the designated encrypt file:

`yadm encrypt`

- Create the necessary files and folders for encryption:

`touch {{encrypt-file-path}} && mkdir {{archive-folder-path}}`
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
`touch {{encrypt-file-path}} && mkdir {{archive-folder-path}}`
`touch {{path/to/encrypt_file}} && mkdir {{path/to/archive_folder}}`

13 changes: 13 additions & 0 deletions pages/common/yadm-enter.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# yadm-enter

> Run a sub-shell with all Git variables set. This sub-shell can be used to easily interact with your `yadm` repository using Git commands.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
> Run a sub-shell with all Git variables set. This sub-shell can be used to easily interact with your `yadm` repository using Git commands.
> Run a sub-shell with all Git variables set. This sub-shell can be used to easily interact with the local `yadm` repository using Git commands.

> This could be useful if you are using a tool which uses Git directly.
> More information: <https://github.com/TheLocehiliosan/yadm/blob/master/yadm.md#commands>.

- Run a sub-shell with all Git variables set:

`yadm enter`

- Exit the sub-shell:

`exit`
21 changes: 21 additions & 0 deletions pages/common/yadm-git-crypt.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# yadm git-crypt

> Git Crypt enables transparent encryption and decryption of files in a git repository.
> See also: `git-crypt`.
> More information: <https://github.com/AGWA/git-crypt>.

- Initialize repo to use Git Crypt:

`yadm git-crypt init`

- Share the repository using GPG:

`yadm git-crypt add-gpg-user {{USER_ID}}`
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does the USER_ID need to be capitalised?


- After cloning a repository with encrypted files, unlock them:

`yadm git-crypt unlock`

- Export a symmetric secret key:

`yadm git-crypt export-key {{/path/to/key_file}}`
21 changes: 21 additions & 0 deletions pages/common/yadm-gitconfig.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# yadm-gitconfig

> Pass options to `git config`. Change the `.gitconfig` of the repository managed by `yadm`.
> See also: `git config`.
> More information: <https://github.com/TheLocehiliosan/yadm/blob/master/yadm.md#commands>.

- Update or set a Git configuration value:

`yadm gitconfig {{key.inner-key}} {{value}}`

- Get a value from `yadm`'s Git configuration:

`yadm gitconfig --get {{key}}`

- Unset a value in `yadm`'s Git configuration:

`yadm gitconfig --unset {{key}}`

- List all values in `yadm`'s Git configuration:

`yadm gitconfig --list`
17 changes: 17 additions & 0 deletions pages/common/yadm-init.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# yadm-init

> Initialize a new, empty repository for tracking dotfiles.
> The repository is stored in `$HOME/.local/share/yadm/repo.git`.
> More information: <https://yadm.io/docs/getting_started>.

- Execute:

`yadm init`

- Override the worktree:

`yadm init -w {{path/to/worktree_folder}}`

- Overwrite an existing repository:

`yadm init -f {{path/to/local_repository}}`
21 changes: 21 additions & 0 deletions pages/common/yadm-introsepct.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# yadm-introspect

> Look at data that is managed by `yadm`.
> The purpose of introspection is to support command line completion.
> More information: <https://github.com/TheLocehiliosan/yadm/blob/master/yadm.md#commands>.
- Output commands:

`yadm introspect commands`

- Output configs:

`yadm introspect configs`

- Output switches for the main `yadm` command:

`yadm introspect switches`

- Output repo:

`yadm introspect repo`
12 changes: 12 additions & 0 deletions pages/common/yadm-list.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# yadm-list

> Print a list of files managed by `yadm`.
> More information: <https://github.com/TheLocehiliosan/yadm/blob/master/yadm.md#commands>.
- Print a list of files managed by `yadm` in the current directory:

`yadm list`

- List all files managed by `yadm` completely:

`yadm list -a`
9 changes: 9 additions & 0 deletions pages/common/yadm-perms.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# yadm-perms

> Update permissions.
> It is usually unnecessary to run this command, as `yadm` automatically processes permissions by default. This automatic behavior can be disabled by setting the configuration `yadm.auto-perms` to "false".
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
> It is usually unnecessary to run this command, as `yadm` automatically processes permissions by default. This automatic behavior can be disabled by setting the configuration `yadm.auto-perms` to "false".
> It is usually unnecessary to run this command, as `yadm` automatically processes permissions by default. This automatic behavior can be disabled by setting the configuration `yadm.auto-perms` to `"false"`.

> More information: <https://github.com/TheLocehiliosan/yadm/blob/master/yadm.md#permissions>.

- Change file permissions:

`yadm perms`
26 changes: 26 additions & 0 deletions pages/common/yadm-transcrypt.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# yadm-transcrypt

> If `transcrypt` is installed, this command allows you to pass options directly to `transcrypt`.
> With the environment configured to use the yadm repository.
> Transcrypt enables transparent encryption and decryption of files in a Git repository.
> More information: <https://github.com/elasticdog/transcrypt>.

- Set the symmetric cipher to utilize for encryption:

`yadm transcrypt --cipher={{cipher}}`
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
`yadm transcrypt --cipher={{cipher}}`
`yadm transcrypt --cipher={{cipher}}`


- Pass the password to derive the key from:

`yadm transcrypt --password={{password}}`

- Assume yes and accept defaults for non-specified options:

`yadm transcrypt --yes`

- Display the current repository's cipher and password:

`yadm transcrypt --display`

- Re -encrypt all encrypted files using new credentials:

`yadm transcrypt --rekey`
13 changes: 13 additions & 0 deletions pages/common/yadm-upgrade.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# yadm-upgrade

> Use this command upgrade `yadm` to the latest version.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
> Use this command upgrade `yadm` to the latest version.
> Upgrade `yadm` to the latest version.

> Upgrading will attempt to de-initialize and re-initialize your submodules.
> More information: <https://github.com/TheLocehiliosan/yadm/blob/master/yadm.md#commands>.
- Upgrade:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Upgrade:
- Upgrade `yadm` to the latest version:


`yadm upgrade`

- Force the upgrade regardless of changes:

`yadm upgrade -f`
35 changes: 35 additions & 0 deletions pages/common/yadm.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# yadm

> A dotfiles manager that works by using `git`.
> The subcommands are just like `git` but use `yadm`.
> You can use `yadm` (init | clone | push | pull).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
> You can use `yadm` (init | clone | push | pull).
> Some subcommands such as `init`, `clone`, `push`, and `pull` have their own usage documentation.

https://github.com/tldr-pages/tldr/blob/main/CONTRIBUTING.md#referencing-subcommands

> This command is one that allows you to pass flags to configure yadm.
> More information: <https://yadm.io/docs/overview>.
- Override the yadm directory. Yadm stores its configurations relative to this directory:

`yadm --yadm-dir`

- Override the yadm data directory: Yadm stores its data relative to this directory:

`yadm --yadm-data`

- Override the location of the yadm repository:

`yadm --yadm-repo`

- Override the location of the yadm configuration file:

`yadm --yadm-config`

- Override the location of the yadm encryption configuration:

`yadm --yadm-encrypt`
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
`yadm --yadm-encrypt`
`yadm --yadm-encrypt`


- Override the location of the yadm encrypted files archive:

`yadm --yadm-archive`
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
`yadm --yadm-archive`
`yadm --yadm-archive`


- Override the location of the yadm bootstrap program:

`yadm --yadm-bootstrap`