this is a template repository in order to create shell scripts that prepares minimum linux distrobutions (like Arch Linux or Gentoo)
This repository consists of the following:-
-
install.shThis is the main deal. This script does it all. It install the programs and runs the scripts. You need not change it. If it needs a change, make a PR then. -
configThis contains the configuration used byinstall.sh. -
program_listThis contains a list of programs to install. It should contain the names of the packages you want to install. Each line should contain ONE package. -
dotfiles/This directory should contain your awesome dotfiles.install.shwill copy all of them to your home directory. -
scripts/This is where you would put other scripts that does other stuff. For example, maybe you want to clone all your amazing repos. You should make a script and put it there. -
etc/This is where you would put anything that your scripts might need.
in config, there are a number of options you can set. These are
-
install_cmdThis contains the command that you use to install software. It should includesudo. For example, for Arch Linux.install_cmdshould be set tosudo pacman -S. -
m_copy_dotfilesWhether to copy dotfiles or not, 1 for true, 0 for false. -
m_istall_sprogramsWhether to install te programs listed inprogram_listor not, 1 for true, 0 for false. -
m_run_scriptsWhether to run the scripts insidescripts/or not, 1 for true, 0 for false. -
m_remove_after_finishWhether to remove the directory containing initor or not, 1 for true, 0 for false. -
m_rebootWhether to reboot afterinstall.shfinishes or not, 1 for true, 0 for false.
install_cmd is mandentory. if it is blanck, the script exits
the rest are optional. And the script will get a default value to an unconfigured option
eazy
- Click the
Use this templateto create another repo using this one as a starting point (note that you are not cloning the repo, for more details click here) - set the
install_cmdvariable to the command used to install software in your choice distro (sudo pacman -Sfor Arch Linux for example) - put a list of the programs you want in
program_list - put your dotfiles in
dotfiles - put other stuff in
scripts - push the changes to your repo
(remember to remove the .gitkeep files from dotfiles and scripts)
and that it. Now, you should have a way to make your linu distro the way you want
if you want an example of how it works, see my other repo