Skip to content

A GUI app to help you setup your Mint computer quickly with options for programming oriented users.

License

Notifications You must be signed in to change notification settings

alexandermichels/MintSetup

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mint Setup 2.0.1


MMMMMMMMMMMMMMMMMMMMMMMMMmds+.        
MMm----::-://////////////oymNMd+`     
MMd      /++                -sNMd:    
MMNso/`  dMM    `.::-. .-::.` .hMN:   
ddddMMh  dMM   :hNMNMNhNMNMNh: `NMm  
    NMm  dMM  .NMN/-+MMM+-/NMN` dMM            __  __ _       _   ____       _
    NMm  dMM  -MMm  `MMM   dMM. dMM           |  \/  (_)_ __ | |_/ ___|  ___| |_ _   _ _ __
    NMm  dMM  -MMm  `MMM   dMM. dMM           | |\/| | | '_ \| __\___ \ / _ \ __| | | | '_ \
    NMm  dMM  -MMm  `MMM   dMM. dMM           | |  | | | | | | |_ ___) |  __/ |_| |_| | |_) |   
    NMm  dMM  .mmd  `mmm   yMM. dMM           |_|  |_|_|_| |_|\__|____/ \___|\__|\__,_| .__/   
    NMm  dMM`  ..`   ...   ydm. dMM                                                   |_|    
    hMM- +MMd/-------...-:sdds  dMM   
    -NMm- :hNMNNNmdddddddddy/`  dMM   
     -dMNs-``-::::-------.``    dMM   
      `/dMNmy+/:-------------:/yMMM   
         ./ydNMMMMMMMMMMMMMMMMMMMMM
            \.MMMMMMMMMMMMMMMMMMM

Table of Contents

This is Python App to build a Bash script that will help you configure your Linux Mint computers with all of the applications you want in a single script. This is meant to be as general as possible (using your distro codename), but when I need to make a decision, I make it to work for the most recent version of Linux Mint Cinnamon, right now that is Linux Mint 19 "Tara" Cinnamon. The app gives you a wide variety of packages to choose from, pre-installed software to remove, and cleans up your setup in a quick and easy GUI.


Running the app is super simple, and you have three choices.

  • Bash Script to Execute Everything for You: Open a terminal in the directory where setup.py is and run the following command. This option tries to download Python 3 and all requirements first, and deletes the virtualenv it runs in. Optionally, you can also use the -d or --delete flags to have the script delete the entire directory when its done.
bash run.sh
bash run.sh -d
bash run.sh --delete
  • Make the Python Script Executable: Open a terminal in the directory where setup.py is and run the following command (to make it executable), then double click setup.py and hit "Run".
chmod +x setup.py
  • Run the Script in the Command Line: Open a terminal in the directory where setup.py is and run the following command
python3 setup.py

When you run the app, you'll see this screen:

Main Screen of GUI

You can navigate through the various tabs, checking boxes for things you'd like to install/uninstall. The "Git" page also has text boxes if you'd like to setup a git cache so you don't have to enter credentials as often.

Once you are ready, click the "MintSetup" button at the bottom. If you have any settings that are odd (like installing R packages without install R) a dialog will pop up. If everything is fine, you'll see the dialog below asking if you're ready to set up your computer:

Confirmation

Once you click yes, you're done! If you're running in the terminal, the script will notify you what is happening in real time:

AsciiArt


The commands.json file acts a huge dictionary that maps the appropriate software to the appropriate commands to install them. The Python3 app runs the GUI and records your choices, then uses this dictionary to compile all the necessary commands you need into a Bash script called your_setup.sh in the /bin folder. Feel free to check out your setup script there.

The app does a dist-upgrade and downloads cURL by default. Here is a full list of everything else you can download:

It's kind of like a version for Ubuntu-based OSs. You can find yours by running the following command in the terminal:

alias upstream-lsb="grep DISTRIB_CODENAME /etc/upstream-release/lsb-release | grep -o --colour=never \"[a-z-]*$\""

You also have the option to remove some of the pre-installed software:


GeneralizeRequirementDotTxt.py

Simple script to take a "requirements.txt" file and strip the specific versions from it. Below demonstrates what I mean by this with "example==9.3.4" being a typical entry in a "requirements.txt" file and "example" being the output from my script.

example==9.3.4 ---> example

If you want to bring over the Python packages you have installed, run the following command:

$ pip freeze > requirements.txt

For Python 2.X you probably want to probably want to prepend the command with "python -m" and for Python 3.X you would probably want "python3 -m".

  • 1.0.x : (March 17th, 2018 - September 11th, 2018) | Just one version to setup
  • 1.1.x : (September 12th, 2018 - November 24th, 2018) | Full and Lite versions
  • 1.2.x : (November 25th, 2018 - April 26th, 2019) | Added weekly scheduled updates
  • 2.0.x : (April 27th, 2019 - Present) | GUI added to customize installation

  • Add "on Hover" information about software in the GUI
  • Add more options
  • Add testing/automated testing/CI

About

A GUI app to help you setup your Mint computer quickly with options for programming oriented users.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published