- Two spaces for indentation, no tabs
- Use bash 5 syntax:
[[ ]]for conditionals, not[ ]. Don't quote variables inside[[ ]](e.g.,[[ -n $var ]]not[[ -n "$var" ]])
All commands start with omadeb-. Prefixes indicate purpose:
app- app/app-folder managementcmd-- check if commands exist, misc utility commandspkg-- package management helpersenv-- envs variable managementfont-- fonts managementkeybindings-- GNOME keybindings managementrefresh-- copy default config to user's~/.config/restart-- restart a componentlaunch-- open applicationsinstall-- install optional softwaretoggle-- toggle features on/offtheme-- theme managementupdate-- update components
Use these instead of raw shell commands:
omadeb-cmd-missing/omadeb-cmd-present- check for commandsomadeb-pkg-missing/omadeb-pkg-present- check for packagesomadeb-pkg-add- install packages (from APT)
config/- default configs copied to~/.config/default/themed/*.tpl- templates with{{ variable }}placeholders for theme colorsthemes/*/colors.toml- theme color definitions (accent, background, foreground, color0-15)
To copy a default config to user config with automatic backup:
omadeb-refresh-config fastfetch/config.jsoncThis copies ~/.local/share/omadeb/config/fastfetch/config.jsonc to ~/.config/fastfetch/config.jsonc.
To create a new migration, run omadeb-dev-add-migration --no-edit. This creates a migration file named after the unix timestamp of the last commit.
Migration format:
- First is shebang line
- Start with an
echodescribing what the migration does - Use
$OMADEB_PATHto reference the omadeb directory