Giter Site home page Giter Site logo

strawberry's Introduction

Project: Strawberry

Scripting operations related to setting up a new GNU/Linux installation.

Why?

As a Arch Linux user, I like starting fresh once in a while, because Arch. Well, turns out installing all software I need is kind of tedious. So I'm building, with your help :), a framework that generates the one and only script you need to set up our freshly new install of your favorite GNU/Linux distro.

Features

Strawberry is a tool to create a script that helps you setting up distros. Just proceed with the install of your prefered OS, and execute the file. It will download package, set dotfiles, clone GitHub repos, edit files...

There are several modules built-in in the Strawberry framework:

  • Git: Enter your personal info, like name or email.
  • GitHub repositories cloning: Clone where desire a GitHub repository.
  • Generate SSH key & upload it: Generates a RSA key & upload it to GitHub for authentification.
  • Package managment: Automatic download & install of packages from your desire package manager.
  • Change your default shell: Choose your preferred shell easily.
  • Create links: Create hard & soft link with the 'ln' command.
  • Edit files: Add, edit or remove lines from a specific file in your system.
  • Enviroment variables: Add or edit enviroment variables from your system.
  • Change default shell: Change default system shell with the 'chsh' command.

Setting up Strawberry

Download

Clone the repository with the clone command, or just download the zip.

$ git clone [email protected]:jesusrp98/strawberry.git

Setup

In order to generate your final script, just fill the configuration files under the conf folder, where all user provided information should be. Then, run the setup.sh script in the project folder.

./setup.sh

Edit your script

There is an example provided, called example.sh. Also, the generated script has lots of comments explaining what does what, so editing your script after its incepcion, with a little bit of Bash knowledge shouldn't be difficoult.

Module creation

  • Please read this first before creating your own modules.
  • Use the clean-file.sh script to clean '.conf' files. Collect its output with the 'cat' command.
  • You could output text in color. Use the color.conf file for reference.
  • There is a example final script provided with the project. Use it for reference.
  • Consider printing useful comments to the final script: comments helps.
  • Please, comment your module.

Authors

  • Ángel Heredia - aka anthares101 - GitHub.
  • Carlos Luque - GitHub.
  • Victoriano Pedrajas
  • Miguel Ángel Ramírez
  • Jesús Rodríguez - aka Chechu - GitHub, Twitter.

License

This project is licensed under the GNU GPL v3 License - see the LICENSE.md file for details.

Postdata

  • Arch is kinda tedious sometimes :/
  • Built just for fun :)

strawberry's People

Contributors

anthares101 avatar carluqcor avatar jesusrp98 avatar miguelo0098 avatar victorianope avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

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