Giter Club home page Giter Club logo

forge's Introduction

forge

Built with Lisp License
ko-fi

Quickly create your daily-driver workstation setup from a simple-to-read configuration file

What is forge?

forge tends to provide a way to quickly configure a Linux (or UNIX-like) setup by automating the process of setting up package repositories, installing software packages, creating users, and other steps involved in setting up a typical daily driver.

History

This project takes birth from one of my oldest projects that I've used as a central repository to store not only my shared workstation configuration but also setup scripts for multiple operating systems, even further down to tweaks for specific computer hardware. I extracted all possible setup-related scripts into a re-usable program (just the way I did with my .emacs.d so that it lives as a standalone and dedicated project to hold my Emacs configuration) and I hope to create forge as a re-usable setup tool driven with a minimal configuration file and the least number of external dependencies.

Supported Platforms

External Dependencies

Dependencies that are (mostly) installed automatically:

Rest of the dependencies that are also needed:

How to Use

forge can be used with your configuration file written in a Lisp-like format, specifying information about supported operating systems, software packages to be installed, and custom scripts to be executed in order to personalize the machine for one's own needs. forge can be started by executing start located at the root of the project and passing to it a run mode and a configuration file. Below is an example:

./start debug ~/.setup/forge-config.lisp

The above assumes that you are running the command at the root of the project directory cloned in a local workspace.

Example(s)

Please refer to the example config file for the basic layout or view one that is being used for a more detailed example.

To-Do

  • Fix execution of interactive scripts as setup steps

forge's People

Contributors

myterminal avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

elicharlese

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.