Service management for desktop environments
Go to file
2019-05-21 20:05:15 -05:00
.gitignore Create gitignore 2019-04-20 05:35:30 -05:00
firestarter Generate configs on first run automatically 2019-05-21 18:42:21 -05:00
icon.png Add icon 2019-05-21 20:05:15 -05:00
README.md Polish readme 2019-05-21 20:03:18 -05:00

firestarter icon 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 for details.

Installation

Execute firestarter as your .xinitrc, either by replacing the file or by execing it after performing your own basic setup. You do not need the rest of the files in the repository.

Configuration

On first run and when invoked with firestarter -g, Firestarter will generate a series of configuration files in ~/.config/firestarter. These files consist of several lines that look somewhat 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.

By setting a dummy execution line, one can effectively prevent an entire configuration file from being parsed in certain environments. As an example, the following configuration file will only attempt to start an X infobar 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.