πŸš€ A blazingly fast easy to use dotfile and global theme manager written in Rust

Overview

GTHEME

A blazingly fast easy to use dotfile and global theme manager for *NIX systems written in Rust πŸ”₯

Gtheme

Demo using wip desktop. To check out more desktop configurations refer to Gtheme-Desktops β†’

 O V E R V I E W   πŸ‘οΈβ€πŸ—¨οΈ

Its main goal is to standarize and abstract hardware specific configurations and change your desktop colors with +350 different themes and wallpapers.

You can write some patterns with generic attributes, and then Gtheme will fill those values with the appropriate ones following the selected theme/settings.

The final result you get is that you can change between any desktop of your choice with a single command, and change the theme of all applications in a centralized and automatized way. Moreover, you can also install desktops from other people who had already adapted their dotfiles to Gtheme and everything will work just fine.

To sum up, you can try your favourite Unixporn ricings 🍚 (if authors port them to Gtheme)

 I N S T A L L A T I O N   πŸ› 

First of all, you should clone this repo, run the installation script and follow the initial setup:

git clone https://github.com/daavidrgz/gtheme.git gtheme
cd gtheme
./install.sh

At the end, gtheme files should be placed in ~/.config/gtheme, where you can see a themes and a desktop folder where all color schemes and dotfiles are stored, respectively. You may see also a wallpapers folder if you choose to download them.

Besides, your system's settings will be loaded from ~/.config/gtheme/user_settings.toml. You can edit that file with gtheme config edit or run the setup again with gtheme config setup. This file is very important in order to be hardware agnostic and enjoy a full Plug and Play experience.

 U S A G E   πŸͺ§
  • Text User Interface

    • If you prefer a Text UI rather than a CLI, execute gtheme without arguments.
    • To navigate between desktops and patterns to fav-themes and themes, press tab.
    • In order to see Text UI help and all included functionalities, press h.
  • Command Line Interface

    You can see gtheme's help with gtheme --help and gtheme <subcommand> --help

    Here are some examples:

    • gtheme desktop list: will show all the desktops you've installed.
    • gtheme desktop add <path/to/desktop>: will install the specified desktop on ~/.config/gtheme/desktops/<desktop>.
    • gtheme theme list: will show all the themes installed.
    • gtheme desktop set-default-theme <theme> -d <desktop>: will set a default theme for the specified desktop.
    • gtheme desktop apply <desktop>: will apply the specified desktop and copy desktop's dotfiles to your ~/.config folder.
    • gtheme theme apply <theme>: will apply the specified theme for the current desktop.

    Command and themes/patterns/desktops completions should be available without any problems. If not, please submit an issue. Most of the subcommands has an alias for convenience. For example, you can run gtheme desktop apply <theme> with gtheme d a <theme>, or gtheme theme apply <theme> with gtheme t a <theme>.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

You might also like...
A comprehensive collection of resources and learning materials for Rust programming, empowering developers to explore and master the modern, safe, and blazingly fast language.

πŸ¦€ Awesome Rust Lang ⛰️ Project Description : Welcome to the Awesome Rust Lang repository! This is a comprehensive collection of resources for Rust, a

A blazingly fast Insertion Sort and Quick Sort visualizer built with Rust and WASM.
A blazingly fast Insertion Sort and Quick Sort visualizer built with Rust and WASM.

sortysort A blazingly fast Insertion Sort and Quick Sort visualizer built with Rust and WASM. Try it in your browser from here Testing locally cargo r

Blazingly fast interpolated LUT generator and applicator for arbitrary and popular color palettes.
Blazingly fast interpolated LUT generator and applicator for arbitrary and popular color palettes.

lutgen-rs A blazingly fast interpolated LUT generator and applicator for arbitrary and popular color palettes. Theme any image to your dekstop colorsc

A blazing fast and easy to use TRPC-like server for Rust.

rspc 🚧 Work in progress 🚧 A blazing fast and easy to use TRPC-like server for Rust. Website Example You define a trpc router and attach resolvers to

A simple, fast, and easy to use Solidity test generator based on the Branching Tree Technique.

bulloak A simple, fast, and easy to use Solidity test generator based on the Branching Tree Technique. Installing cargo install bulloak Usage Basic Us

Blazingly fast Rust CLI app to sync data from a folder of excel workbooks into generated c# code for unity usage
Blazingly fast Rust CLI app to sync data from a folder of excel workbooks into generated c# code for unity usage

Extensions supported ( .xls, .xlsx, .xlsm, .xlsb, .xla, .xlam, .ods ) Speed Test Image shows the results of 5000defs synced from 2 workbooks and 5 she

Most intuitive global cli maker. *(lazy_static + config-rs + clap)

argone Most intuitive global cli maker. *(lazy_static + config-rs + clap) | Examples | Docs | Latest Note | [dependencies] argone = "0.5" Phases Parsi

global state management for dioxus built on the concept of atoms. currently under πŸ—

Fermi: A global state management solution for Dioxus, inspired by Recoil.Js Fermi provides primitives for managing global state in Dioxus applications

Advent of Code 2023 solutions - #15 on global leaderboard

My solutions for Advent of Code 2023, written in Rust. The code requires Rust nightly to run. Sample inputs from each day are provided. To run with ac

Owner
David Rodriguez
David Rodriguez
A robust, customizable, blazingly-fast, efficient and easy-to-use command line application to uwu'ify your text!

uwuifyy A robust, customizable, blazingly-fast, efficient and easy-to-use command line application to uwu'ify your text! Logo Credits: Jade Nelson Tab

Hamothy 43 Dec 12, 2022
A flexible simple theme manager for *nix systems

tema A theme manager for *nix systems respecting the FHS spec configuration As of now all the configuration is done via $XDG_CONFIG_HOME/tema/config.y

lb06 2 Sep 23, 2022
A dark and light Neovim theme written in fennel, inspired by IBM Carbon.

oxocarbon.nvim Note: The old rust version can be found on the rust branch of this repository Oxocarbon is looking for ports! If you're a user of anoth

Nyoom Engineering 690 Jun 29, 2023
πŸ¦€ Soothing pastel theme for Rust

catppuccin ?? Soothing pastel theme for Rust. Usage Add Catppuccin to your project's Cargo.toml: [dependencies] catppuccin = "1.0.4" Example use catpp

Catppuccin 13 Dec 22, 2022
IntelliJ version of the Afterglow Sublime Text theme

Afterglow IntelliJ This theme for IntelliJ is based on the the Afterglow Sublime Text theme, and replaces the default sidebar icons and colour of Inte

Sidney Just 81 Jun 29, 2022
πŸ“ Soothing pastel theme for egui

Catppuccin for egui Previews ?? Latte ?? FrappΓ© ?? Macchiato ?? Mocha Usage Add this to your Cargo.toml: [dependencies] catppuccin-egui = "1.0" To use

Catppuccin 18 Jan 19, 2023
A grub theme in the style of the Minecraft singleplayer (sp) world selection screen!

Minecraft World Selection Grub Theme Wowie, another Minecraft grub theme! But this time it's in the style of the singleplayer world selection menu, wh

null 3 Oct 8, 2023
A CLI calculator written in Rust that isn't blazingly fast.

Calcamabob A command line calculator Is written in Rust Is not blazing fast, and could be faster. Calcamabob can interpret operator precedence. For ex

Casey Kneale 4 Oct 24, 2022
Bonk - The blazingly fast touch alternative written in rust

Bonk The blazingly fast touch alternative written in rust. Made for the sole purpose to create files. Explore the docs Β» View Demo Β· Report Bug Β· Requ

Elliot 72 Jan 6, 2023
Warp is a blazingly fast, Rust-based terminal that makes you and your team more productive at running, debugging, and deploying code and infrastructure.

Warp is a blazingly fast, Rust-based terminal that makes you and your team more productive at running, debugging, and deploying code and infrastructure.

Warp 10.4k Jan 4, 2023