firestarter/README.md

42 lines
2.1 KiB
Markdown
Raw Normal View History

2019-04-27 00:01:25 -05:00
# Firestarter
## Overview
**Firestarter** is a desktop environment startup script. Its job is to abstract out the startup and configuration of basic X session components. By default, it will attempt to piece together a fully functional desktop environment based on currently available programs and configuration files found in `~/.config/firestarter`. See [Usage](#usage) for details.
## Installation
Execute `firestarter` as your `.xinitrc`, either by replacing the file or by `exec`ing it after performing your own basic setup.
## Quickstart
Install as instructed per [Installation](#installation). Then, before starting the session, run Firestarter with the `-g` flag to produce default configs in `~/.config/firestarter`. These default configuration files can start most sessions, but can be edited to contain alternatives if desired.
## Configuration
When invoked with `firestarter -g`, Firestarter will generate a series of configuration files in `~/.config/firestarter`. These files consist of several lines that look like the following:
command -v i3
i3
Every odd line is a command that must succeed in order for the following even line to be executed. Once an even command is executed, parsing stops. When Firestarter is invoked with no arguments, every configuration file is parsed this way.
If you would like to prevent all later alternatives from being parsed, simply set `:` or similar as an execution line. As an example, the following configuration file will only attempt to start a bar in an X environment:
[ -z "$DISPLAY" ]
:
command -v polybar
polybar bar
command -v lemonbar
~/.bin/lemonbar.sh | lemonbar
All STDOUT and STDERR messages from these commands are saved to a logfile in '~/.local/share/firestarter/logs` under the same name as the configuration file.
## Usage
See `firestarter -h`
## Contribution
Firestarter by no means contains an exhaustive list of all possible programs. If you know of or have created a program that should be added, *please* open an issue about it. The script should be light but its choices massive.