Code Monkey home page Code Monkey logo

arch-setup's Introduction

arch-setup

A collection of tools I use to set up my Arch-based (Manjaro) workspace for development as well as everyday use.

  • Installation scripts for:
    • My dotfiles
    • Software
      • AUR Packages
      • Downloads using CURL

Scripts

These scripts are written to run in bash, and work on an Arch-based distro, though I believe they could be modified for most other *NIX platforms.

Requirements

  • Arch-based OS (tested on Manjaro)
    • Should be an Arch-based OS as the installation for software relies on pacman and pacaur (by default), though it could be reasonably modified to use apt-get or similar.
  • Internet connection (for software download/installation, though it is able to install dotfiles without a connection).
  • Recommended

Install / Run

Assuming your working directory is the root of arch-setup:

./install.sh

or

sh install.sh

or

. install.sh

Configuration

These are configurable from config.sh

Directories

  • Backup Dotfile Directory

    • $dotBackupDir
    • This is the directory that dotfiles will be copied to if the user opts to backup old files.
    • Default: dotBackupDir=~/.old-dot-files
  • New Dotfile Directory

    • $dotfileDirectoryPath
    • This is the directory that will be created and new dotfiles will be copied to, and later symlinked from.
    • Default: dotfileDirectoryPath=./dotfiles

Files

  • Dotfiles to backup/delete

    • $dotfile_set
    • This is the set of files that may exist on the user's machine and will be backed up (if prompted) and deleted.
    • Default: dotfile_set=( .bashrc .bash_profile .dotfiles )
      • .dotfiles is installed by this script, so modifying/reinstalling would be able to backup this folder.
  • Dotfiles to install and symlink

    • $symlink_set
    • These are the dotfiles to symlink from .dotfiles, which will typically be installed at ~, and the files will be symlinked to ~.
    • Default: symlink_set=( .bashrc .bash_profile )

Packages to Install

Package Lists

  • aur_list=$package_dir/aur_packages.txt
  • curl_list=$package_dir/curl_packages.txt
  • pip_list=$package_dir/pip_packages.txt
    • Where $package_dir by default is ./package_lists

AUR Packages

  • Add packages to be installed by adding the package name to the text file at $aur_list.
  • Remove packages to be installed by removing the package name from the text file at $aur_list, or place a # in front of an entry to ignore it.

CURL Packages

  • Add packages to be installed by adding the URL to the text file at $curl_list.
  • Remove packages to be installed by removing the URL from the text file at $curl_list, or place a # in front of an entry to ignore it.

PIP Packages

  • Add packages to be installed by adding the pip package to the text file at $pip_list.
  • Remove packages to be installed by removing the pip package from the text file at $pip_list, or place a # in front of an entry to ignore it.

Preferences

  • Preferred pacman wrapper

    • $pacWrapper
    • This is the preferred wrapper for pacman to access the AUR. If the user wanted to simply use pacman, setting this to pacman would likely work.
    • Default: pacWrapper=pacaur
  • Preferred color for formatting text

    • $blue
    • This is the preferred color for formatting/coloring text in the helper function announce, which is located in config.sh.
    • Default: blue='\033[1;34m'

arch-setup's People

Contributors

bradendubois 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.