This guide explains how you can customize the look of any Infinito.Nexus application using the global theming system provided by the role:
https://github.com/kevinveenbirkenbach/infinito-nexus/tree/master/roles/sys-front-inj-css
No deep development experience required.
1. What the role actually does (in simple words)
The sys-front-inj-css role provides a global theme for all Infinito.Nexus apps.
It creates:
- a universal color palette
- automatic light & dark mode behavior
- dynamic CSS variables like
--color-01-90 - per-application override support (
style.css/style.css.j2)
This means:
All apps look consistent
You can still override styles per app
No need to worry about dark mode β it works automatically
Just use the provided color variables
2. How the color system works (non-technical)
The global palette uses CSS variables that look like this:
--color-XX-YY
XX= a color group (e.g., 01, 02, 03β¦)YY= brightness (00 = darkest β 99 = brightest)
Complementary groups
The first two digits (XX) represent complementary color groups,
meaning the colors automatically match and harmonize.
This makes it easy to create consistent designs without knowing color theory.
RGB versions
For transparency:
--color-rgb-XX-YY
Example:
background-color: rgba(var(--color-rgb-01-70), 0.4);
Why you should ALWAYS use these variables
- They automatically adjust in dark mode
- They ensure consistent styling
- They scale with future theme changes
Do NOT use hex colors (#fff, #000, #12abef)
Do always use --color-XX-YY
3. Where to place your custom CSS
Every application role can include its own stylesheet:
Option A β Recommended (template-based)
roles/<app-name>/templates/style.css.j2
Option B β Simple CSS file
roles/<app-name>/files/style.css
If any of these files exist, Infinito.Nexus automatically injects them into the app β no configuration needed.
4. How to test your CSS in the browser (the easy way)
Anyone can test CSS changes directly in the browser:
- Open the app you want to style
- Right-click an element
- Choose Inspect
- Edit CSS live in the DevTools panel
- Try different color variables, for example:
background-color: var(--color-01-90);
color: var(--color-01-10);
border-color: var(--color-01-60);
- Once you like the result:
β Copy the CSS from the browser into yourstyle.cssorstyle.css.j2 - Save β Commit β Push β Done
Helpful beginner CSS tutorials:
- MDN CSS basics: https://developer.mozilla.org/en-US/docs/Learn/CSS
- W3Schools CSS tutorial: https://www.w3schools.com/css/
- FreeCodeCamp CSS course: https://www.freecodecamp.org/learn/responsive-web-design/
5. Before creating a Pull Request (PR)
Please include:
A screenshot before your changes
A screenshot after your changes
A short explanation of what you improved
This makes it super easy for maintainers to review the change quickly.
6. How to submit your change (Git for beginners)
-
Fork the repository
-
Create a new branch (e.g.
feature/custom-css-appname) -
Add your file:
roles/<appname>/templates/style.css.j2 -
Commit:
Add custom style.css for <appname> using Infinito.Nexus color variables
- Push your branch
- Open a Pull Request
- Attach your before/after screenshots
- Submit

7. Example style.css.j2
/* Custom header style for my app */
.app-header {
background-color: var(--color-01-90);
color: var(--color-01-10);
border-bottom: 2px solid var(--color-01-70);
}
/* Example button override */
.my-button {
background-color: var(--color-01-65);
color: var(--color-01-99);
border-color: var(--color-01-50);
}
Quick Summary for Beginners
| Goal | What to do |
|---|---|
| Change app design | Add style.css / style.css.j2 to the app role |
| Choose colors | Use --color-XX-YY variables |
| Test changes | Use browser βInspect Elementβ |
| Submit improvements | Open a PR + screenshots |