Skip to content

LuxAter/Thema

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

THEMA


System wide theme configuration tool
Report Bug · Request Feature

About the Project

There are hundreds of different color schemes, and for an equally large number of different programs. Thema, does not aim to add to any of this, but instead to create a single tool that can be used to use the different themes that are available.

Thema is a single bash script, which can be executed entirely in a single line, no need to download or clone anything. The collection of themes, and application configurations that are stored in this repository define the themes, variants and outputs that Thema can produce. The script, attempts to detect which programs are currently installed/configured on your system, and then it injects the theme configuration into the programs configuration, or files. Then after all configurations have been updated, a set of commands are executed, to apply the updates to the system.

Usage

To use Thema, simply run

foo@bar:~$ curl https://raw.githubusercontent.com/LuxAter/Thema/master/thema | bash -s -- --help
System wide theme configuration tool
Usage: ./thema [-h|--help] [-v|--version] [-o|--output <arg>] [-t|--theme <arg>] [--variant <arg>] [--(no-)list-themes] [--(no-)list-variants] [--(no-)list-outputs] [-q|--(no-)quiet] [-f|--(no-)fancy] [-u|--remote_url <arg>] [-r|--(no-)remote]
	-h, --help: Prints help
	-v, --version: Prints version
	-o, --output: outputs to install new theme (empty by default)
	-t, --theme: theme to install (no default)
	--variant: theme variant to install (no default)
	--list-themes, --no-list-themes: list available themes (off by default)
	--list-variants, --no-list-variants: list available variants (off by default)
	--list-outputs, --no-list-outputs: list available outputs (off by default)
	-q, --quiet, --no-quiet: quiet execution, no output to stdout (off by default)
	-f, --fancy, --no-fancy: fancy formatted output (on by default)
	-u, --remote_url: remote url to use if necessary (default: 'https://raw.githubusercontent.com/LuxAter/Thema/master/')
	-r, --remote, --no-remote: use remote configuration/files (off by default)

Contributing

Contributions are what make the open source community such an amazing place to be, learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the project
  2. Create your feature branch (git checkout -b feature/<my-feature>)
  3. Commit your changes (git commit -m '<my-commit-message>')
  4. Push to the branch (git push origin feature/<my-feature>)
  5. Open a pull request

The specification for the outputs is still under development, but as of writting this it is:

<name>:
  <source_file>:
    destination:
      - <destination_file>
      - [alternative_destination_file]
    start_of_file: [true|false]
    comment: [<comment_start> <comment_end>]
  [command]:
    - <command_to_run>
    - [additional_command_to_run]

Variables of the form <xxx> are required and must be set. Variables of the from [xxx] are optional, and can be omited. Notice, that if the command section is defined, then the command_to_run is required, but otherwise, they are optional.

License

Distributed under the MIT license. See LICENSE.md for more information.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published