'\" t .\" Title: wright .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 09/20/2015 .\" Manual: \ \& .\" Source: \ \& .\" Language: English .\" .TH "WRIGHT" "1" "09/20/2015" "\ \&" "\ \&" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" wright \- lightweight config management utility .SH "SYNOPSIS" .sp \fBwright\fR [\fIOPTIONS\fR] \fIFILE\fR [\fIARGUMENT\fR\&...] .sp \fBwright\fR [\fIOPTIONS\fR] \fB\-e\fR \fICOMMAND\fR [\fIARGUMENT\fR\&...] .SH "DESCRIPTION" .sp wright is a lightweight configuration management utility\&. It can be used to perform common sysadmin tasks such as installing packages, creating files, setting up groups and users and so on by running short Ruby scripts\&. .sp Although wright is typically used to run script files, it can also execute short code snippets passed on the command line\&. Another way to run wright scripts is to make your script executable and use wright as the interpreter by setting an appropriate "#!" line\&. .SH "OPTIONS" .PP \fB\-e\fR \fICOMMAND\fR .RS 4 Run \fICOMMAND\fR as a wright script\&. When multiple commands are passed, they are joined and run in sequence\&. .RE .PP \fB\-r\fR \fILIBRARY\fR .RS 4 Require \fILIBRARY\fR before running the wright script\&. When multiple libraries are passed, they are loaded in sequence\&. .RE .PP \fB\-n, \-\-dry\-run\fR .RS 4 Enable dry\-run mode\&. In dry\-run mode, wright resources do not modify the system, but you still have to make sure your own code does not cause any unwanted changes\&. .RE .PP \fB\-v, \-\-verbose\fR .RS 4 Print debugging information\&. .RE .PP \fB\-q, \-\-quiet\fR .RS 4 Suppress non\-error output\&. .RE .PP \fB\-\-version\fR .RS 4 Print wright version\&. .RE .SH "EXAMPLES" .sp Install tmux via the system package manager: .sp .if n \{\ .RS 4 .\} .nf wright \-e \*(Aqpackage "tmux"\*(Aq .fi .if n \{\ .RE .\} .sp Create a system user named "foobard": .sp .if n \{\ .RS 4 .\} .nf wright \-e \*(Aquser "foobard", system: true\*(Aq .fi .if n \{\ .RE .\} .sp Create a system group named "foobard": .sp .if n \{\ .RS 4 .\} .nf wright \-e \*(Aqgroup "foobard", system: true\*(Aq .fi .if n \{\ .RE .\} .sp Create a file named \fI/etc/issue\fR containing the current wright version: .sp .if n \{\ .RS 4 .\} .nf wright \-e \*(Aqfile "/etc/issue", content: Wright::VERSION\*(Aq .fi .if n \{\ .RE .\} .sp Create a directory named \fI/tmp/foo/bar/baz\fR: .sp .if n \{\ .RS 4 .\} .nf wright \-e \*(Aqdirectory "/tmp/foo/bar/baz"\*(Aq .fi .if n \{\ .RE .\} .sp Create a symlink from \fI\&.bash_profile\fR to \fI\&.profile\fR in the current user\(cqs home directory: .sp .if n \{\ .RS 4 .\} .nf wright \-e \*(Aqsymlink "~/\&.bash_profile", to: "~/\&.profile"\*(Aq .fi .if n \{\ .RE .\} .sp To install tmux and update its config file from a wright script, create the following file: .sp .if n \{\ .RS 4 .\} .nf package \*(Aqtmux\*(Aq file \*(Aq/etc/tmux\&.conf\*(Aq, mode: \*(Aq444\*(Aq, on_update: \-> { puts \*(AqUpdated /etc/tmux\&.conf\*(Aq }, content: < create\-dir\&.rb #!/usr/bin/env wright directory \*(Aq/tmp/foo/bar/baz\*(Aq EOF chmod +x create\-dir\&.rb \&./create\-dir\&.rb .fi .if n \{\ .RE .\} .SH "AUTHOR" .sp Sebastian Boehm .SH "COPYING" .sp Copyright (C) 2012\-2015 Sebastian Boehm\&. Free use of this software is granted under the terms of the MIT License (also known as the "Expat License")\&.