A flexible simple theme manager for *nix systems

Overview

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.yaml (of which an example is found in the repo), consisting of

  1. a list of modules What is a module ?;
  2. a list of commands What is a command ?.

what is a module ?

Modules are found at $XDG_CONFIG_HOME/tema/themes/{theme_name}/{module_name} and contain the relevant files for the application theme.

eg.
module.name: name of module, generally the application it will affect (eg. wallpaper)
module.path: the directory the respective file·s should be copied to (eg. ~/wallpapers)
module.command: a complementary command to be run when the module is changed (eg. swaybg -i ~/wallpapers/wp.jpg)

what is a command ?

A command is well, a command; but, it may be run on specific events.

Currently implemented events:

  1. on_change (eg. on_change: "notify-send theme ${current_theme}")

There are also variables as seen above, currently implemented variables:

  1. current_theme returns the currently enabled theme, stored at $XDG_DATA_HOME/current_theme.tema

notes

  • Currently command arguments containing whitespaces cannot be handled, even if they include quotation marks (")
You might also like...
comfy is a flexible command script manager / runner written in Rust

comfy is a cross-platform command script manager / runner tool, which allows you to run commands in the command line itself, but being these predefined in a portable and universal .comfy file.

A simple gtk4/libadwaita software center to easily install and manage nix packages
A simple gtk4/libadwaita software center to easily install and manage nix packages

Nix Software Center A graphical app store for Nix built with libadwaita, GTK4, and Relm4. Heavily inspired by GNOME Software. Features Install package

Generate Nix packages from URLs
Generate Nix packages from URLs

Generate Nix packages from URLs with hash prefetching, dependency inference, license detection, and more

Downloads and provides debug symbols and source code for nix derivations to gdb and other debuginfod-capable debuggers as needed.

nixseparatedebuginfod Downloads and provides debug symbols and source code for nix derivations to gdb and other debuginfod-capable debuggers as needed

A Nix template for full-stack web apps in Rust using Leptos

leptos-fullstack A Nix template for full-stack web apps in Rust using Leptos. Tech used: Leptos full-stack framework server functions ssr + hydration

nix2sbom extracts the SBOM (Software Bill of Materials) from a Nix derivation

nix2sbom nix2sbom extracts the SBOM (Software Bill of Materials) from a Nix derivation 📚 Documentation for using nix2sbom is here Warning This repo i

The official CLI for FlakeHub: search for flakes, and add new inputs to your Nix flake.

fh, the official FlakeHub CLI fh is a scrappy CLI for searching FlakeHub and adding new inputs to your Nix flakes. Usage Using fh from FlakeHub: nix s

Superviseur - A simple process supervisor for UNIX-like systems
Superviseur - A simple process supervisor for UNIX-like systems

A simple process supervisor for UNIX-like systems. Currently supports non-containerized services. Containerized services and wasm services will be supported in the future.

F-Fetch targets low systems. Written in Rust. It's very simple, designed so you can pick it up and replace it.

F-Fetch F-Fetch targets low systems. Written in Rust. It's very simple, designed so you can pick it up and replace it. First Look ~/.config/ffetch/con

Owner
lb06
lb06
A `nix` and `nix-shell` wrapper for shells other than `bash`

nix-your-shell A nix and nix-shell wrapper for shells other than bash. nix develop and nix-shell use bash as the default shell, so nix-your-shell prin

Mercury 15 Apr 10, 2023
Progress In Nix - Pacman inspired frontend for Nix

Progress In Nix Pinix is a Pacman inspired frontend for Nix. It wraps a regular Nix command and replaces the output with a more modern and informative

Rémi Dupré 23 Mar 9, 2024
Dog command for *nix systems, Rust port of dog.

dog-rs Dog command for *nix systems, Rust port of dog. Because there is a cat command, should be a dog command too. It was written completely using VS

Juanjo Salvador 2 Sep 29, 2021
rpsc is a *nix command line tool to quickly search for file systems items matching varied criterions like permissions, extended attributes and much more.

rpsc rpsc is a *nix command line tool to quickly search for file systems items matching varied criterions like permissions, extended attributes and mu

null 3 Dec 15, 2022
A natural language shell interface for *nix systems

Orphic A natural language shell interface for *nix systems. Overview Orphic is a CLI tool that uses GPT to translate complex tasks into shell commands

Will Savage 42 Mar 29, 2023
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 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
📁 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 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
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