Configuration
The marble
command will by default look for ~/.config/marble/index.ts
which if not found will run the default configuration as a fallback.
Writing a custom configuration will require you to setup a TypeScript dev environment.
Create the directory
shmkdir ~/.config/marble cd ~/.config/marble
Install dependencies
shnpm install gnim@latest github:marble-shell/shell
Create
tsconfig.json
json{ "extends": "marble/tsconfig.json" }
Generate TypeScript annotations for Gtk and other libraries
shnpx @ts-for-gir/cli generate --ignoreVersionConflicts
TIP
If you are on Nix, this command will not work without a devshell. As a workaround you can use AGS:
shnix shell github:aylur/ags -c ags types -d .
Create
index.ts
tsimport { defineConfig } from "marble" export default defineConfig((app) => { print(app.VERSION) app.quit() })
Running marble
should print the version and quit.
Copying the default configuration
You can either start from scratch or copy the default config Marble comes with.
WARNING
It is not a minimal example, but meant to be usable ootb.
sh
cd ~/.config/marble
cp -r node_modules/marble/config/* .