Lots of updates :)

This commit is contained in:
Gene Liverman 2017-06-04 23:56:56 -07:00
parent cfa3aa1681
commit 14680c582c
10 changed files with 55 additions and 41 deletions

View file

@ -21,38 +21,6 @@ My dot files and a tool to deploy them to various OS's
* use [gosu](https://github.com/tianon/gosu) so ownership is correct.
* this may not work on Windows...
### Notes thus far
1. Install Homebrew
2. Install ruby >= 2.0 (testing with 2.4.1)
3. Install bundler
4. Install cmake and pkg-config
```bash
git clone git@github.com:genebean/dots.git ~/.dotfiles
cd ~/.dotfiles
bin/bootstrap.sh
This script takes care of getting dots ready to use
Enter the number of the task you want to perform:
1) Mac setup
2) EL setup
3) Quit
Task:
```
#### Running Puppet
```bash
# Any of these will work:
bundle exec rake dots:run_puppet
bundle exec rake dots:run_puppet_noop
bundle exec puppet apply --environmentpath ~/.dotfiles/puppet ~/.dotfiles/puppet/production/manifests/site.pp
```
#### Installed Homebrew packages
To see what has been installed (not the deps) run `brew leaves`
### Packages to install on Mac's
@ -77,8 +45,8 @@ cd ~/repos/powerline-fonts
##### Thoughts on installing with Puppet:
* [x] install packages using a provider for homebrew
* [ ] install packages using the pip provider
* [ ] use vcsrepo to clone the fonts
* [ ] create a refresh-only exec that runs the install script
* [ ] add a notify to the vcsrepo resource that triggers the exec
* [x] install packages using the pip provider
* [x] use vcsrepo to clone the fonts
* [x] create a refresh-only exec that runs the install script
* [x] add a notify to the vcsrepo resource that triggers the exec
* this will also take care of bringing in new fonts or updates

View file

@ -94,4 +94,10 @@ namespace 'dots' do
~/.dotfiles/puppet/production/manifests/site.pp --noop'
cmd.run(command)
end
desc 'Install Vundle Plugins'
task :vim_plugins do
command = 'vim +PluginInstall +qall'
cmd.run(command)
end
end

View file

@ -72,5 +72,6 @@ when 'link'
when 'install'
if @prompt.yes?('Are you sure you want to install your base packages?')
cmd.run('bundle exec rake dots:run_puppet')
cmd.run('bundle exec rake dots:vim_plugins')
end
end

View file

@ -6,6 +6,6 @@ defaults: # Used for any hierarchy level that omits these keys.
hierarchy:
- name: "Per-node data"
path: "nodes/%{trusted.certname}.yaml"
path: "nodes/%{hostname}.yaml"
- name: "Common data"
path: "common.yaml"

View file

@ -1 +1,2 @@
---
foo: bar

View file

@ -11,6 +11,6 @@ node default {
notify{'This is from the default node.':}
}
node 'dawns-macbook-pro.local' {
include ::profile::mac
node 'dawns-macbook-pro' {
include ::role::workstation
}

View file

@ -1,4 +1,12 @@
# the base profile should include component modules that will be on all nodes
class profile::base {
$pip_packages = [
'psutil',
'powerline-status',
]
package { $pip_packages:
ensure => 'latest',
provider => 'pip',
}
}

View file

@ -42,12 +42,33 @@ class profile::mac {
]
package { $homebrew_packages:
ensure => 'installed',
ensure => 'latest',
provider => 'brew',
}
file { "${homedir}/repos":
ensure => 'directory',
}
vcsrepo { "${homedir}/.vim/bundle/Vundle.vim":
ensure => 'present',
ensure => 'latest',
provider => 'git',
source => 'https://github.com/VundleVim/Vundle.vim.git',
}
vcsrepo { "${homedir}/repos/powerline-fonts":
ensure => 'latest',
provider => 'git',
source => 'https://github.com/powerline/fonts.git',
require => File["${homedir}/repos"],
notify => Exec['update-fonts'],
}
exec { 'update-fonts':
command => "${homedir}/repos/powerline-fonts/install.sh",
cwd => "${homedir}/repos/powerline-fonts",
logoutput => true,
environment => "HOME=${homedir}",
refreshonly => true,
}
}

View file

@ -1,4 +1,13 @@
# Includes all the profiles needed for a workstation
class role::workstation {
include ::profile::base
case $facts['kernel'] {
'Darwin': {
include ::profile::mac
}
default: {
fail("${facts['kernel']} hasn't been setup in the workstation role yet.")
}
} # end of kernel case statement
}