Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/teleivo/puppet-dotfiles
Configures dotfiles via a .dotfiles stored in a vcs repository.
https://github.com/teleivo/puppet-dotfiles
Last synced: about 8 hours ago
JSON representation
Configures dotfiles via a .dotfiles stored in a vcs repository.
- Host: GitHub
- URL: https://github.com/teleivo/puppet-dotfiles
- Owner: teleivo
- License: other
- Created: 2015-11-16T13:36:26.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2015-11-30T15:33:23.000Z (almost 9 years ago)
- Last Synced: 2024-04-16T07:52:48.086Z (7 months ago)
- Language: Ruby
- Size: 10.7 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# puppet-dotfiles
[![Build Status](https://secure.travis-ci.org/teleivo/puppet-dotfiles.png?branch=master)](https://travis-ci.org/teleivo/puppet-dotfiles)
#### Table of Contents
1. [Module Description - What the module does and why it is useful](#module-description)
2. [Setup - The basics of getting started with dotfiles](#setup)
* [Beginning with dotfiles](#beginning-with-dotfiles)
3. [Reference - An under-the-hood peek at what the module is doing and how](#reference)
* [Defines](#defines)
4. [Limitations - OS compatibility, etc.](#limitations)
5. [Development](#development)## Module Description
The dotfiles module configures dotfiles via a .dotfiles directory stored in a vcs repository.
## Setup
### Beginning with dotfiles
The quickest way to get dotfiles set up is to apply a manifest like this one:
```puppet
package { 'git': }user { 'teleivo':
ensure => present,
managehome => true,
home => '/home/teleivo',
}::dotfiles { '/home/teleivo':
user => 'teleivo',
require => [
Package['git'],
User['teleivo'],
]
}
```## Reference
### Defines
#### dotfiles
~~~
dotfiles { '/home/teleivo':
user => 'teleivo',
require => User['teleivo'],
}
~~~
##### `user`*Required.* Specifies the user as which .dotfiles directory is cloned.
Valid options: string.##### `user_home`
The user home path where .dotfiles directory is cloned.
Valid options: string containing an absolute path.
Defaults to $title.##### `create_bash_aliases`
Specifies whether symlink '$user_home/.bash_aliases -> $user_home/.dotfiles/bash_aliases' is created.
Valid options: 'true', 'false'.
Defaults to 'false'.##### `create_gitconfig`
Specifies whether symlink '$user_home/.gitconfig -> $user_home/.dotfiles/gitconfig' is created.
Valid options: 'true', 'false'.
Defaults to 'false'.##### `manage_gitprompt`
Specifies whether symlink '$user_home/.bashrc_git -> $user_home/.dotfiles/bashrc_git' is created and $user_home/.bashrc_git is sourced in $user_home/.bashrc.
Valid options: 'true', 'false'.
Defaults to 'false'.## Limitations
This module only deploys a .dotfiles directory from repository [teleivo/dotfiles](https://github.com/teleivo/dotfiles).
This module is currently only tested on Ubuntu 14.04 64bit.## Development
Please feel free to open pull requests!
### Running tests
This project contains tests for [rspec-puppet](http://rspec-puppet.com/) to
verify functionality.To install all dependencies for the testing environment:
```bash
sudo gem install bundler
bundle install
```To run tests, lint and syntax checks once:
```bash
bundle exec rake test
```To run the tests on any change of puppet files in the manifests folder:
```bash
bundle exec guard
```