anishathalye / dotbot

A tool that bootstraps your dotfiles ⚡️
MIT License
6.91k stars 288 forks source link

Facing errors when trying to install (An error was encountered while executing action link) #291

Closed iAmG-r00t closed 2 years ago

iAmG-r00t commented 2 years ago

Hello, so I am trying to configure dotbot wrote a yaml config faced a similar error as #287 I think its the indentation but I have tried to fix it but still doesn't work.

image

---
# Dotbot install config file for my dotfiles.

- defaults:
  link:
    create: true
    relink: true

- clean: ["~", "~/.ssh"]

- shell:
    - [
        test -f $HOME/.bashrc && mv $HOME/.bashrc $HOME/.bashrc_"$(date)".bak,
        Backing up default bashrc if it is present,
      ]
    - [
        if test -f $HOME/.bash_profile; then mv $HOME/.bash_profile $HOME/.bash_profile_"$(date)".bak; elif test -f $HOME/.profile; then mv $HOME/.profile $HOME/.profile_"$(date).bak"; fi,
        Backing up bash_profile & profile if either/both is present,
      ]

- create:
    - ~/.vim
    - ~/tools/{scripts, go}

- link:
  ~/.profile: dotfiles/bash/profile
  ~/.bashrc: dotfiles/bash/bashrc
  ~/.aliases: dotfiles/bash/aliases
  ~/.exports: dotfiles/bash/exports
  ~/.randline.py: dotfiles/eddie/randline.py
  ~/.greetings.txt: dotfiles/eddie/greetings.txt
  ~/.tmux.conf: dotfiles/tmux.conf
  ~/.vimrc: dotfiles/vim/vimrc
  ~/.vim/ycm_extra_conf.py: dotfiles/vim/ycm_extra_conf.py
anishathalye commented 2 years ago

Apologies, we need to figure out how to give better error messages for situations like this.

The link: needs to be underneath defaults:, and similarly, the items under the final link: need to be indented.

Try this (also attached as a file, if that's easier):

# Dotbot install config file for my dotfiles.

- defaults:
    link:
      create: true
      relink: true

- clean: ["~", "~/.ssh"]

- shell:
    - [
        test -f $HOME/.bashrc && mv $HOME/.bashrc $HOME/.bashrc_"$(date)".bak,
        Backing up default bashrc if it is present,
      ]
    - [
        if test -f $HOME/.bash_profile; then mv $HOME/.bash_profile $HOME/.bash_profile_"$(date)".bak; elif test -f $HOME/.profile; then mv $HOME/.profile $HOME/.profile_"$(date).bak"; fi,
        Backing up bash_profile & profile if either/both is present,
      ]

- create:
    - ~/.vim
    - ~/tools/{scripts, go}

- link:
    ~/.profile: dotfiles/bash/profile
    ~/.bashrc: dotfiles/bash/bashrc
    ~/.aliases: dotfiles/bash/aliases
    ~/.exports: dotfiles/bash/exports
    ~/.randline.py: dotfiles/eddie/randline.py
    ~/.greetings.txt: dotfiles/eddie/greetings.txt
    ~/.tmux.conf: dotfiles/tmux.conf
    ~/.vimrc: dotfiles/vim/vimrc
    ~/.vim/ycm_extra_conf.py: dotfiles/vim/ycm_extra_conf.py

install.conf.yaml.zip

iAmG-r00t commented 2 years ago

Okay, now that fixed it... thanks a lot... one last question this line for create - ~/tools/{scripts, go} I want it to create two subfolders under tools, scripts and go folder but it doesn't work is there a way of achieving this using seq

anishathalye commented 2 years ago

No, they need to be listed separately:

- create:
    - ~/tools/scripts
    - ~/tools/go
iAmG-r00t commented 2 years ago

Okay, thank you so much.