---
title: configuration
description: how to configure rovr
---

import { FileTree, Aside, Code } from "@astrojs/starlight/components";

rovr's configuration is held in a single location. you can find it by running

```sh
rovr --config-path
```

inside it, you can see 3 files if you previously launched rovr

<FileTree>

- rovr
  - config.toml
  - styles.tcss
  - pins.json

</FileTree>

### config.toml

the config is handled in a simple config file.

<Aside type="tip">
  it also has a schema available, so if you use either
  [`tombi`](https://github.com/tombi-toml/tombi) or
  [`taplo`](https://github.com/tamasfe/taplo) to see an autocompletion popup.
</Aside>

for the full schema, please refer to the [`JSON Schema for Humans`](/rovr/reference/schema) page

### styles.tcss

styling in textual is handled by `tcss` files, a simplified version of the web's `css`. A reference is available in the [textual docs](https://textual.textualize.io/styles/)

rovr comes with some variables pre-initialised, that you can overwrite.

<Code
  code={`/* border when a container isn't focused */\n$border-blurred: $primary-darken-3;\n/* border when a container is currently focused */\n$border: $primary-lighten-3;\n/* border style (https://textual.textualize.io/css_types/border) */\n$border-style: round;\n/* reference: https://textual.textualize.io/css_types/scalar */\n/* pinned folder sidebar width */\n$pinned_sidebar_width: 20;\n/* the main file list width */\n$file_list_width: 1fr;\n/* the preview sidebar width */\n$preview_sidebar_width: 35vw;\n/* the footer when nothing inside it is focused */\n$footer_unfocus_height: 8;\n/* the footer when something inside it is focused */\n$footer_focus_height: 10;`}
  lang="scss"
  title="styles.tcss"
/>
For more advanced styling, refer to [`configuration/themeing`](./themeing)

### pins.json

this file doesn't have a schema, mainly because it is pretty simple

the file follows a schema as such

<Code
  code={`{\n  "default": [\n    ...\n    {\n      "name": "<label>",\n      "path": "<path>"\n    }\n  ],\n  "pins": [\n    ...\n    {\n      "name": "<label>",\n      "path": "<path>"\n    }\n  ]\n}`}
  lang="json"
  title="pins.json"
/>
the path supports variables to a fixed path

```scss
$DOCUMENTS: /* user documents directory */
$DOWNLOADS: /* user downloads directory */
$MUSIC:     /* user music directory     */
$PICTURES:  /* user pictures directory  */
$DESKTOP:   /* user desktop directory   */
$HOME:      /* user home directory (~)  */
$VIDEOS:    /* user videos directory    */
$CONFIG:    /* user config directory    */
```

so, you can have a path as `$HOME/games` and it will expand to `~/games` or `%USERPROFILE%/games` depending on your os
