Mast is setup tool for Linux Mint configuration which provides this functionalities

Mast

Mint Additional Setup Tool

MIT License discord

what is Mast?

Mast is setup tool for Linux Mint configuration which provides this functionalities (for now in version 1.0)

  • View system info
  • Repositories Manager
  • Services Manager
  • Hardware info
  • Bootloader (install refind)
  • Change hostname
  • Use apt commands using graphical user interface

Screenshot

Alt text

Installing Mast

  1. First download latest Mast release from github releases here: Download
  2. Then unpack the archive
tar -xf Mast_1.0.tar.xz
  1. Make Mast executable
cd "Mast_1.0.tar.xz"
chmod +x Mast.sh
cd bin
chmod +x Mast
  1. run Mast.sh
./Mast.sh
  1. Authenticate with your password and Mast is ready to go

Required depedencies to run Mast

  1. pkexec
  2. qt6-base
  3. apt

Contribute

If you want to help develop this project, please follow the steps below

  1. Check for issues here
  2. If you found a bug you are interested in and want to fix it, you can fork the repository and create branch
  3. Now you can start coding
  4. If you have finished you need to create pull request (describe exactly what you have added or changed so that we can easily confirm and accept it)
  5. if there are any problems you can write to our community on signal - here

You are free to create your own ideas instead of fixing bugs and issues but we do not promise that your changes will be accepted

resources used

dark theme - Diffnes by. DevSec Studio

Owner
Jakub
"Learning is like rowing against the stream. As soon as you stop, you drift back" - Benjamin Britten
Jakub
Similar Resources

A collection of single-file C libraries. (generic containers, random number generation, argument parsing and other functionalities)

cauldron A collection of single-file C libraries and tools with the goal to be portable and modifiable. Libraries library description arena-allocator.

Sep 17, 2022

Examples for individual ROS2 functionalities inc. Subscribers, Publishers, Timers, Services, Parameters. ...

ROS2 examples This example package is meant to explore the possibilities of ROS2 from the point of view of current ROS1 features and how the ROS1 feat

Sep 24, 2022

USB to interfaces implementing MicroPython "machine" module functionalities on a computer.

USB to interfaces implementing MicroPython

u2if project u2if(USB to interfaces) is an attempt to implement some of the MicroPython "machine" module functionalities on a computer. The goal is to

Sep 19, 2022

Mini Shell in C implementing the basic command line functionalities

Mini-Shell Mini Shell in C implementing the basic command line functionalities Instructions to execute the shell: Download the readline library using

Nov 19, 2021

Well-organized, commented and documented sample project that shows the basic functionalities of the 42's mlx library.

miniLibX sample | slucas-s I developed this sample project to play around with the basic functionalities of the miniLibX, the simple graphics library

Sep 16, 2022

A multiplatform C++ library for common and basic system functionalities.

axl.cm A multiplatform C++ library for common and basic system functionalities. Platforms Linux Windows C++ standard minimum: C++98 target: C++11 maxi

Apr 4, 2022

A model checker for the Dynamic Logic of Propositional Assignments (DL-PA) with solving and parameterized random formula generation functionalities.

A model checker for the Dynamic Logic of Propositional Assignments (DL-PA) with solving and parameterized random formula generation functionalities.

Dec 31, 2021

User space configuration tool for RME HDSPe MADI / AES / RayDAT / AIO and AIO Pro cards driven by the snd-hdspe driver.

hdspeconf User space configuration tool for RME HDSPe MADI / AES / RayDAT / AIO and AIO Pro cards, driven by the snd-hdspe driver. Building hdspeconf

Jun 15, 2022

CfgManipulator is a powerful tool for manipulating configuration files.

CfgManipulator is a powerful tool for manipulating configuration files

Feb 3, 2022

CfgManipulator is a fast and powerful tool for working with configuration files for the C++ language

CfgManipulator is a fast and powerful tool for working with configuration files for the C++ language

CfgManipulator is a fast and powerful tool for working with configuration files for the C++ language. It can read, create strings and sections, change the value of a string and much more.

Jan 28, 2022

📦 CMake's missing package manager. A small CMake script for setup-free, cross-platform, reproducible dependency management.

📦 CMake's missing package manager. A small CMake script for setup-free, cross-platform, reproducible dependency management.

Setup-free CMake dependency management CPM.cmake is a CMake script that adds dependency management capabilities to CMake. It's built as a thin wrapper

Sep 30, 2022

HadesVR is a SteamVR compatible VR setup made for tinkerers.

HadesVR is a SteamVR compatible VR setup made for tinkerers.

The setup includes DIY controllers that are capable of emulating HTC vive wands or most aspects of the Valve Index Knuckles controllers (including finger tracking!). It also includes tracking electronics for a Headset, including an integrated wireless receiver to receive the controllers' data.

Sep 27, 2022

"Zero setup" cross-compilation for a wide variety of architectures.

"Zero setup" cross-compilation for a wide variety of architectures. xcross includes compact docker images and a build utility for minimal setup C/C++ cross-compiling, inspired by rust-embedded/cross

Sep 22, 2022

Software ray tracer written from scratch in C that can run on CPU or GPU with emphasis on ease of use and trivial setup

Software ray tracer written from scratch in C that can run on CPU or GPU with emphasis on ease of use and trivial setup

A minimalist and platform-agnostic interactive/real-time raytracer. Strong emphasis on simplicity, ease of use and almost no setup to get started with

Sep 19, 2022

My own dwm setup with patches

dwm - dynamic window manager ============================ dwm is an extremely fast, small, and dynamic window manager for X. Requirements ----------

Oct 29, 2021

Docker files and scripts to setup and run VINS-FUSION-gpu on NVIDIA jetson boards inside a docker container.

jetson_vins_fusion_docker This repository provides Docker files and scripts to easily setup and run VINS-FUSION-gpu on NVIDIA jetson boards inside a d

May 30, 2022

Minimal setup required to develop firmware for STM32 using ceedling

Minimal setup required to develop firmware for STM32 using ceedling

STM32 & Ceedling Base Project I created this project as a starting point for anyone looking to create production quality firmware for an embedded syst

Aug 23, 2022
Comments
  • Compilation error

    Compilation error

    Describe the bug Cannot compile

    To Reproduce Steps to reproduce the behavior:

    $ qmake
    $ make
    

    Expected behavior

    $ qmake 
    Info: creating stash file /home/pqcraft/Documents/Mast/Mast/.qmake.stash
    $ make 
    /usr/lib/qt5/bin/uic apt_preferences.ui -o ui_apt_preferences.h
    /usr/lib/qt5/bin/uic bootloader.ui -o ui_bootloader.h
    /usr/lib/qt5/bin/uic hardware_info.ui -o ui_hardware_info.h
    /usr/lib/qt5/bin/uic hostname.ui -o ui_hostname.h
    /usr/lib/qt5/bin/uic mastwindow.ui -o ui_mastwindow.h
    /usr/lib/qt5/bin/uic services_manager.ui -o ui_services_manager.h
    /usr/lib/qt5/bin/uic system_info_form.ui -o ui_system_info_form.h
    g++ -c -pipe -O2 -std=gnu++11 -Wall -W -D_REENTRANT -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I. -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I. -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -o apt_preferences.o apt_preferences.cpp
    g++ -c -pipe -O2 -std=gnu++11 -Wall -W -D_REENTRANT -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I. -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I. -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -o bootloader.o bootloader.cpp
    g++ -c -pipe -O2 -std=gnu++11 -Wall -W -D_REENTRANT -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I. -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I. -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -o hardware_info.o hardware_info.cpp
    

    Actual behavior

    $ qmake 
    Info: creating stash file /home/pqcraft/Documents/Mast/Mast/.qmake.stash
    $ make 
    /usr/lib/qt5/bin/uic apt_preferences.ui -o ui_apt_preferences.h
    /usr/lib/qt5/bin/uic bootloader.ui -o ui_bootloader.h
    /usr/lib/qt5/bin/uic hardware_info.ui -o ui_hardware_info.h
    /usr/lib/qt5/bin/uic hostname.ui -o ui_hostname.h
    /usr/lib/qt5/bin/uic mastwindow.ui -o ui_mastwindow.h
    /usr/lib/qt5/bin/uic services_manager.ui -o ui_services_manager.h
    /usr/lib/qt5/bin/uic system_info_form.ui -o ui_system_info_form.h
    g++ -c -pipe -O2 -std=gnu++11 -Wall -W -D_REENTRANT -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I. -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I. -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -o apt_preferences.o apt_preferences.cpp
    g++ -c -pipe -O2 -std=gnu++11 -Wall -W -D_REENTRANT -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I. -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I. -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -o bootloader.o bootloader.cpp
    g++ -c -pipe -O2 -std=gnu++11 -Wall -W -D_REENTRANT -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I. -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I. -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -o hardware_info.o hardware_info.cpp
    hardware_info.cpp: In member function ‘void Hardware_Info::display_cpu_info()’:
    hardware_info.cpp:26:16: error: invalid use of incomplete type ‘class QDebug’
       26 |         qDebug() << "error opening file: " << file.error();
          |                ^
    In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:1206,
                     from /usr/include/x86_64-linux-gnu/qt5/QtGui/qtguiglobal.h:43,
                     from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgetsglobal.h:43,
                     from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qwidget.h:43,
                     from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QWidget:1,
                     from hardware_info.h:4,
                     from hardware_info.cpp:1:
    /usr/include/x86_64-linux-gnu/qt5/QtCore/qlogging.h:57:7: note: forward declaration of ‘class QDebug’
       57 | class QDebug;
          |       ^~~~~~
    hardware_info.cpp:29:25: error: variable ‘QTextStream instream’ has initializer but incomplete type
       29 |     QTextStream instream(&file);
          |                         ^
    hardware_info.cpp:44:19: error: variable ‘QTextStream in’ has initializer but incomplete type
       44 |     QTextStream in(&pc_vendor_file);
          |                   ^
    hardware_info.cpp:47:16: error: invalid use of incomplete type ‘class QDebug’
       47 |         qDebug() << "error opening file: " << file.error();
          |                ^
    In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:1206,
                     from /usr/include/x86_64-linux-gnu/qt5/QtGui/qtguiglobal.h:43,
                     from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgetsglobal.h:43,
                     from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qwidget.h:43,
                     from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QWidget:1,
                     from hardware_info.h:4,
                     from hardware_info.cpp:1:
    /usr/include/x86_64-linux-gnu/qt5/QtCore/qlogging.h:57:7: note: forward declaration of ‘class QDebug’
       57 | class QDebug;
          |       ^~~~~~
    hardware_info.cpp:56:31: error: variable ‘QTextStream motherboard_in’ has initializer but incomplete type
       56 |     QTextStream motherboard_in(&motherboard_name_file);
          |                               ^
    hardware_info.cpp:59:16: error: invalid use of incomplete type ‘class QDebug’
       59 |         qDebug() << "error opening file: " << file.error();
          |                ^
    In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:1206,
                     from /usr/include/x86_64-linux-gnu/qt5/QtGui/qtguiglobal.h:43,
                     from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgetsglobal.h:43,
                     from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qwidget.h:43,
                     from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QWidget:1,
                     from hardware_info.h:4,
                     from hardware_info.cpp:1:
    /usr/include/x86_64-linux-gnu/qt5/QtCore/qlogging.h:57:7: note: forward declaration of ‘class QDebug’
       57 | class QDebug;
          |       ^~~~~~
    hardware_info.cpp:68:24: error: variable ‘QTextStream bios_in’ has initializer but incomplete type
       68 |     QTextStream bios_in(&motherboard_name_file);
          |                        ^
    hardware_info.cpp:71:16: error: invalid use of incomplete type ‘class QDebug’
       71 |         qDebug() << "error opening file: " << file.error();
          |                ^
    In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:1206,
                     from /usr/include/x86_64-linux-gnu/qt5/QtGui/qtguiglobal.h:43,
                     from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgetsglobal.h:43,
                     from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qwidget.h:43,
                     from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QWidget:1,
                     from hardware_info.h:4,
                     from hardware_info.cpp:1:
    /usr/include/x86_64-linux-gnu/qt5/QtCore/qlogging.h:57:7: note: forward declaration of ‘class QDebug’
       57 | class QDebug;
          |       ^~~~~~
    hardware_info.cpp:80:32: error: variable ‘QTextStream board_serial_in’ has initializer but incomplete type
       80 |     QTextStream board_serial_in(&board_serial_file);
          |                                ^
    hardware_info.cpp:83:16: error: invalid use of incomplete type ‘class QDebug’
       83 |         qDebug() << "error opening file: " << file.error();
          |                ^
    In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:1206,
                     from /usr/include/x86_64-linux-gnu/qt5/QtGui/qtguiglobal.h:43,
                     from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qtwidgetsglobal.h:43,
                     from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qwidget.h:43,
                     from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QWidget:1,
                     from hardware_info.h:4,
                     from hardware_info.cpp:1:
    /usr/include/x86_64-linux-gnu/qt5/QtCore/qlogging.h:57:7: note: forward declaration of ‘class QDebug’
       57 | class QDebug;
          |       ^~~~~~
    make: *** [Makefile:503: hardware_info.o] Error 1
    

    Screenshots If applicable, add screenshots to help explain your problem.

    Desktop (please complete the following information):

    • Distro: Linux Mint 20.1/Ubuntu 20.04
    • Version: Linux Mint 20.1/Ubuntu 20.04

    Additional context Forked, used git clone and then tried to compile

  • apt and software section, bootloader section:  changes and new features

    apt and software section, bootloader section: changes and new features

    new functions

    • installing .deb packages
    • Adding ppa
    • support for multi repositories files in Software repositories
    • support for deb-src in Software repositories
    • rebuilt refind install tool Check out the next new features planned here: https://github.com/jakubiszon26/Mast/projects/1 Software repositories

    PPA

    deb install

Small configuration file parser library for C.

libConfuse Introduction Documentation Examples Build & Install Origin & References Introduction libConfuse is a configuration file parser library writ

Sep 20, 2022
Cross-platform C++ library providing a simple API to read and write INI-style configuration files

simpleini A cross-platform library that provides a simple API to read and write INI-style configuration files. It supports data files in ASCII, MBCS a

Sep 24, 2022
config-loader is a static reflection framework written in C++17 from parse configuration file to native data structure.

config-loader is a static reflection framework written in C++17 from parse configuration file to native data structure.

Sep 22, 2022
Lua as an advanced configuration language for wayfire

wf-lua Experiment to use Lua as an advanced configuration language for wayfire. wf-lua is meant for use-cases where writing an actual wayfire plugin s

Aug 3, 2022
Device configuration for Redmi K30 Ultra
Device configuration for Redmi K30 Ultra

The Redmi K30 Ultra (codenamed "cezanne") is a high-end smartphone from Xiaomi.

Apr 9, 2022
Pathway is an Android library that provides new functionalities around the graphics Path API.

Pathway is an Android library that provides new functionalities around the graphics Path API.

Sep 20, 2022
ozz-animation provides runtime character animation playback functionalities (loading, sampling, blending...)
ozz-animation provides runtime character animation playback functionalities (loading, sampling, blending...)

ozz-animation open source c++ 3d skeletal animation library and toolset ozz-animation provides runtime character animation playback functionalities (l

Sep 27, 2022
Minimal Linux Live (MLL) is a tiny educational Linux distribution, which is designed to be built from scratch by using a collection of automated shell scripts. Minimal Linux Live offers a core environment with just the Linux kernel, GNU C library, and Busybox userland utilities.
Minimal Linux Live (MLL) is a tiny educational Linux distribution, which is designed to be built from scratch by using a collection of automated shell scripts. Minimal Linux Live offers a core environment with just the Linux kernel, GNU C library, and Busybox userland utilities.

Minimal Linux Live (MLL) is a tiny educational Linux distribution, which is designed to be built from scratch by using a collection of automated shell scripts. Minimal Linux Live offers a core environment with just the Linux kernel, GNU C library, and Busybox userland utilities.

Sep 30, 2022
A backup of my Linux setup 🌸
A backup of my Linux setup 🌸

Setup detailes ⭐ Window Manager ➙ DWM ⭐ DE ➙ Plasma KDE ⭐ Terminal ➙ Alacritty ⭐ Compositor ➙ Picom (ibhagwan fork) ⭐ File manager ➙ Dolphin ⭐ Browser

Sep 29, 2022