ajlende / dotbot-pacaur

dotbot pacaur plugin
MIT License
4 stars 4 forks source link
arch-aur archlinux aur dotbot dotbot-pacaur pacaur

Dotbot pacaur Plugin

Plugin for dotbot that adds a pacaur directive. It installs official and AUR packages on Arch Linux with pacaur.

This plugin will also attempt to install pacaur if not already installed which should make it easier when setting up a new computer.

Installation

  1. Add dotbot-pacaur as a submodule of your dotfiles.

    git submodule add https://github.com/ajlende/dotbot-pacaur
  2. Add the pacaur directive to your install.conf.yaml.

    - pacaur:
      - zsh
      - neovim
      - atom-editor-bin
      - gitkraken
  3. Edit your install script to enable dotbot-pacaur plugin by modifying the last line with the -p option shown below.

    "${BASEDIR}/${DOTBOT_DIR}/${DOTBOT_BIN}" -d "${BASEDIR}" -c "${CONFIG}" \
      -p "${BASEDIR}/dotbot-pacaur/pacaur.py" "${@}"

Other Usages

Run Separately

If you want to run dotbot-pacaur separately from your main configuration, you can do so with the -p option and a packages.conf.yaml configuration that contains only the pacaur section from your install.conf.yaml.

dotbot/bin/dotbot -p dotbot-pacaur/pacaur.py -c packages.conf.yaml

Alternative Directive Name

If you want to separate your official packages from your AUR packages, you can put them in a directive named pacman. Both directives are functionally the same (everything still gets installed with pacaur), but this may allow you to organize things a little more.

- pacman:
  - zsh
  - neovim
- pacaur:
  - atom-editor-bin
  - gitkraken

Basic Example

# ./install

#!/usr/bin/env bash

set -e

CONFIG="install.conf.yaml"
DOTBOT_DIR="dotbot"

DOTBOT_BIN="bin/dotbot"
BASEDIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"

cd "${BASEDIR}"

(cd "${DOTBOT_DIR}" && git submodule update --init --recursive)
"${BASEDIR}/${DOTBOT_DIR}/${DOTBOT_BIN}" -d "${BASEDIR}" -c "${CONFIG}" "${@}"
# ./install.conf.yaml

- defaults:
    link:
      relink: true

- clean: ['~']

- link:
    ~/.dotfiles: ''
    ~/.tmux.conf: tmux.conf
    ~/.vim: vim
    ~/.vimrc: vimrc

- shell:
  - [git submodule update --init --recursive, Installing submodules]

- pacaur:
  - zsh
  - neovim
  - atom-editor-bin
  - gitkraken

Advanced Example

My own dotfiles configuration shows an example of a more advanced usage, splitting up different sections into different files and swapping dotbot-pacaur for dotbot-brew on MacOS.