Giter VIP home page Giter VIP logo

dotfiles's Introduction

Dotbot Template

Template repository for advanced Dotbot configuration.

For getting started, please review the Wiki!

The structure of this repository is heavily inspired by vsund and vbrandl.

Table of Contents

Dependencies

  • git

Installation

~$ git clone --recursive https://github.com/OWNER/REPO.git ~/.REPO
~$ cd ~/.REPO

For installing a predefined profile:

~/.REPO$ ./install-profile <profile ...>

See meta/profiles/ for available profiles

Single profile

Ex:

~/.REPO$ ./install-profile exampleOS1

Multiple profiles

Ex:

~/.REPO$ ./install-profile exampleOS1 exampleOS2 exampleOS3

Ignoring certain lines

In order to ignore certain lines in a profile, add # at beginning of the line.

Ex:

example-config-1
# example-config-2-sudo    # this will be ignored
example-config-3

example-config-2-sudo is ignored and will not run


For installing configurations

~/.REPO$ ./install-standalone <configs...>

See meta/configs/ for available configurations

Single configuration

Ex:

~/.REPO$ ./install-standalone example-config-1

Multiple configurations

Ex:

~/.REPO$ ./install-standalone example-config-1 example-config-3

Running with sudo

Note: Any configuration can be run as sudo by adding -sudo to the end of it when invoking the install script. DO NOT run the script as a sudoer.

Ex:

~/.REPO$ ./install-standalone example-config-2-sudo

Using shell ENVs

Using ENVs in a config can be used to simplify a dotbot config.

Ex: using ENV ALACRITTY_CONFIG_PATH (assuming you have it set somewhere)

then in a config ./meta/configs/alacritty.yaml

- link:
    $ALACRITTY_CONFIG_PATH: tools/alacritty/alacritty.yml

This will use ALACRITTY_CONFIG_PATH as an ENV to set the symlink of the file

Why?

Managing ENVs in one place makes things easier when dealing with ENVs in a config. If a filepath of an ENV is changed, then there's no need to update the dotbot config

How to enable

Contents

Profiles

meta/profiles
├── exampleOS1
├── exampleOS2
└── exampleOS3

Configs

meta
├── base.yaml
└── configs/
    ├── example-config-1.yaml
    ├── example-config-2.yaml
    └── example-config-3.yaml

License

This software is hereby released under an MIT License. That means you can do whatever you want with conditions only requiring preservation of copyright and license notices. See LICENSE for details.

dotfiles's People

Contributors

voloshink avatar

Stargazers

Pooya Haratian avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.