# dotfiles

My personal `dotfiles`.

## Quickstart

The following should work on openSuse Tumbleweed:

```shell
sudo zypper --non-interactive install python3-pipx neovim
sudo zypper --non-interactive install --no-recommends git

pipx install --include-deps ansible
```

On a new system, a SSH key is required to clone the repository:

```shell
ssh-keygen -t ed25519 -C "your_email@example.com"
```

Then clone the repository and use the playbook:

```shell
mkdir ~/github
git clone git@github.com:cenouro/dotfiles.git ~/github/dotfiles
cd ~/github/dotfiles

ansible-playbook playbook.yml
```

Finally, launch `nvim` and run `:PackerSync`.

## FAQ

This section is dedicated to my future self.

> Why install Ansible through `pipx`?

Because openSuse Tumbleweed is a rolling distro, which means updates are
frequent.

Furthermore, its packages are smaller and, consequently, more numerous. When
doing a distro-upgrade, I like to review what is being upgraded, and I don't
want Ansible and it's dependencies causing visual noise.

> Why not create a task or handler that runs `PackerSync`?

Depending on the number of plugins, `packer.nvim` can take a while to sync
everything. When the task/handler takes too long to complete, it's not clear
whether plugins are still being downloaded or if some error has occurred and
NeoVim is stuck awaiting user input.

> But what about a task that runs `nvim` without `--headless`?

Tried that, didn't work. Ansible "dominates" terminal output and `nvim` is not
run in a visible manner.


# dotfiles

My personal `dotfiles`.

## Quickstart

On Fedora:

```shell
sudo dnf install ansible
```

On a new system, a SSH key is required to clone the repository:

```shell
ssh-keygen -t ed25519 -C "your_email@example.com"
```

Then clone the repository and use the playbook:

```shell
mkdir ~/github
git clone git@github.com:cenouro/dotfiles.git ~/github/dotfiles
cd ~/github/dotfiles

ansible-playbook playbook.yml
```

Finally, launch `nvim` and run `:PackerSync`.

## FAQ

This section is dedicated to my future self.

> Why not create a task or handler that runs `PackerSync`?

Depending on the number of plugins, `packer.nvim` can take a while to sync
everything. When the task/handler takes too long to complete, it's not clear
whether plugins are still being downloaded or if some error has occurred and
NeoVim is stuck awaiting user input.

> But what about a task that runs `nvim` without `--headless`?

Tried that, didn't work. Ansible "dominates" terminal output and `nvim` is not
run in a visible manner.


Remove openSuse info and add Fedora info
readme: Remove openSuse info and add Fedora info
