{"id":23729552,"url":"https://github.com/eirikur-ari/puppet-dotfiles","last_synced_at":"2026-04-16T00:32:22.004Z","repository":{"id":51984539,"uuid":"230775159","full_name":"eirikur-ari/puppet-dotfiles","owner":"eirikur-ari","description":"A Puppet module for provisioning my dotfiles setup","archived":false,"fork":false,"pushed_at":"2021-05-08T13:53:34.000Z","size":76,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-25T21:01:54.674Z","etag":null,"topics":["dotfiles","puppet-module"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eirikur-ari.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-12-29T16:25:58.000Z","updated_at":"2024-12-07T21:19:49.000Z","dependencies_parsed_at":"2022-09-26T20:31:12.192Z","dependency_job_id":null,"html_url":"https://github.com/eirikur-ari/puppet-dotfiles","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/eirikur-ari/puppet-dotfiles","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eirikur-ari%2Fpuppet-dotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eirikur-ari%2Fpuppet-dotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eirikur-ari%2Fpuppet-dotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eirikur-ari%2Fpuppet-dotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eirikur-ari","download_url":"https://codeload.github.com/eirikur-ari/puppet-dotfiles/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eirikur-ari%2Fpuppet-dotfiles/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31866325,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-15T15:24:51.572Z","status":"ssl_error","status_checked_at":"2026-04-15T15:24:39.138Z","response_time":63,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dotfiles","puppet-module"],"created_at":"2024-12-31T02:16:52.572Z","updated_at":"2026-04-16T00:32:21.981Z","avatar_url":"https://github.com/eirikur-ari.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# puppet-dotfiles\n\n[![Build Status](https://travis-ci.com/eirikur-ari/puppet-dotfiles.svg?branch=master)](https://travis-ci.com/eirikur-ari/puppet-dotfiles)\n[![Puppet Forge](https://img.shields.io/puppetforge/v/eirikur/dotfiles.svg)](https://forge.puppetlabs.com/eirikur/dotfiles)\n\n\n## Description\nThis module installs the latest version of [my dotfiles](eirikur-ari/dotfiles) to a Linux machine (Puppet agent). By default the repository will be cloned via HTTPS into the directory */usr/local/share/dotfiles*. \n\n## Usage\n**To install the dotfiles package with default values:**\n\n```puppet\ninclude dotfiles\n```\n\n**Install via ssh key:**\n\n```puppet\nclass { 'dotfiles':\n  dotfiles_repository_url =\u003e 'git@github.com:eirikur-ari/dotfiles.git',\n  use_ssh_key             =\u003e true,\n}\n```\n\n\n**Example using all available custom options:**\n\n```puppet\nclass { 'dotfiles':\n  github_ssh_key            =\u003e 'example_rsa_key',\n  ssh_known_hosts_file_path =\u003e 'example/ssh_known_hosts',\n  ssh_config_dir            =\u003e 'example/.ssh',\n  dotfiles_install_path     =\u003e 'example/dotfiles',\n  dotfiles_repository_url   =\u003e 'git@some.repo:example/dotfiles.git',\n  dotfiles_install_script   =\u003e 'example.sh',\n  use_ssh_key               =\u003e true\n}\n```\n\n## Development \n\n### Requirements\nPuppet version: 4.10 or later\\\nRuby version: 2.5.7\n\n### Install dependencies\n\n#### Create Gemset (Optional)\nIt is considered a good practice to keep the product Gem dependencies separated from the local Gems. One of the options is to create a new Gem collection (GemSet) using tool such as [RVM](https://rvm.io/). See the following command for an example:\n\n```\nrvm use 2.5.7@dotfiles --create\n```\n\n#### Install Gems\nThe following command will install all the product Gem dependencies listed in the Gemfile.\n\n```bash\nbundle install\n```\n\n#### Alternative option\nThere is a second option and that is using the [make](http://www.gnu.org/software/make/) tool. Execute the following to create a new Gem collection and install the Gem dependencies:\n\n```bash\nmake prep\n```\n\n### Unit Testing\n\n#### Run Unit Tests\nThe following command will install the dependant Puppet Modules as well as create a symlink to the module under development, execute the unit tests and report on the test coverage.\n\nIn order to execute the tests, run the following command:\n\n```bash\nrake test\n```\nBy default the repository will be cloned via HTTPS into the directory */usr/local/share/dotfiles*. \n**Note:** After the tests have been executed the command will remove the Puppet Modules from *spec/fixtures/modules*\n\n#### Alternative option\nAs an alternative that will install the dependencies and execute the unit tests by using the [make](http://www.gnu.org/software/make/) tool. Execute the following:\n\n```bash\nmake test\n```\n\n### Acceptance Testing\nThe project provides [Beaker](https://github.com/voxpupuli/beaker) setup to run acceptance tests via [Docker](https://www.docker.com/). Tests are automatically executed by [Travis CI](https://travis-ci.com/) for the following OS:\n\n* Ubuntu\n* CentOs\n* Fedora\n\n### Run manually\nThe following command will execute acceptance test using the default beaker configuration:\n\n```bash\nmake acceptance\n```\n\n### Smoke Testing\nThe [Vagrant](https://www.vagrantup.com/) configuration provides a [multi-machine](https://www.vagrantup.com/docs/multi-machine) setup. By default a version of CentOS is started when **vagrant up** is executed, the configuration makes sure that no other machine is started along with the primary machine (CentOS). \n\n#### Install the Puppet Module dependencies\nIn case the dependent Puppet modules are not available in the directory *spec/fixtures/modules* we need to run the following:\n\n```bash\nrake spec_prep\n```\n\n#### Start a Vagrant box\nIn order to start any Vagrant box other than the primary (CentOS) it is required to add the name of the box configuration as an addition to the **vagrant up** command. See the following example:\n\n```bash\nvagrant up ubuntu\n```\n\nThe current machine offering is the following:\n* centos\n* fedora\n* archlinux\n* ubuntu\n\n#### Alternative option\nThere is a alternative option available that will prepare the required Puppet Module setup and launch the default vagrant box using the [make](http://www.gnu.org/software/make/) tool. See the following:\n\n```bash\nmake smoke\n```\n\n#### Apply the Puppet Module\nThe following command will apply the Puppet Module and refresh the shell.\n\n```bash\npuppet apply --modulepath=/vagrant/spec/fixtures/modules /vagrant/tests/init.pp \u0026\u0026 exec $SHELL -l\n```\n\n**Note:** If installed using default configuration, it is required to be use the *root* user to apply the Puppet Module","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feirikur-ari%2Fpuppet-dotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feirikur-ari%2Fpuppet-dotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feirikur-ari%2Fpuppet-dotfiles/lists"}