Skip to content

pksadiq/systemconf

Repository files navigation

Systemconf

A small collection of my personal configuration files I plan to use frequently.

These configurations shall work on any recent GNU/Linux.

  • Note: This is a work in progress. This is not yet ready to be used on production systems.
  • Note: This script is currently extremely unstable. This may overwrite your files and configurations without warning. You have been warned! Thanks for understanding. :-)

Why do I need this?

One of my role at work is system administration. I will have to install Operating Systems (GNU/Linux based) on many client’s machines.

So I’m planning to use this script to automate the configuration of those systems, which may later be used to automate the installations too.

Currently these are my focuses:

  • Debian GNU/Linux (Stretch)
  • GNOME Desktop Environment (3.20/22+), which ever is in next Debian.

Hopefully this shall be helpful for you too.

How to Configure my system with systemconf?

  • Edit the file settings.sh
    • Set the variables with the configuration you wish
  • Also, If you don’t wish to mess your current settings please look into each and every files in the scripts directory before you run make, especially copyconf, setconf, gsettings and gtk-ui.
  • Now execute make
    • You may also try silent or verbose with make (Eg.: make verbose)
    • Alternatively, you may run ./configure to be more verbose or if GNU make is not available for you
  • Your system is configured.
  • ~/.bash/aliases shall hint you the new commands and features you can use.

Notes

  • After your system is configured, you can edit the file ~/.bash/personal to add your personal .bashrc scripts. This file won’t ever be over written even if OVERWRITE is set to `true’ in settings.sh
  • Don’t copy the dot files as such. This will make your computer well suitable for me, not for you. Always run make after settings settings.sh

Configuration files present

  • GNOME Desktop Environment
    • Font (configure)
    • Theme (Download, install and configure)
    • Icon (Download, install and configure)
    • Add Bookmarks to Nautilus (aka. GNOME Files)
  • git
  • Bash
  • Editorconfig (ONE config for every editor)

    Note: This script may be capable to configure Cinnamon and Mate DEs.

GNOME Terminal configurations

  • Show (ssh) when you are over ssh session. (To achieve this, the server you are logged into, should have this same .bashrc)
  • Show colored ! (exclamation mark) if battery level is low
    • If less than 20%, the color shown is yellow
    • If less than 10%, the color shown in red
  • Show the count of remote logged in users (via ssh), if any.
  • Several aliases and functions to check network related issues
    • mynettest - Test your internet (running many commands below)
    • mylocalip - Get the list of local IPs
    • mynetip - Get your IP exposed to internet
    • myroute - Print the routing table IPs
    • mypingip - Test internet by pinging to IP (DNS not checked)
    • mypingnet - Test internet by pinging to domain (DNS is checked)
  • See .bash/aliases to see the list of possible aliases

License

Copyright (c) 2015, 2016 Mohammed Sadiq <[email protected]>

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published