mirror of
https://github.com/genebean/dots.git
synced 2026-03-27 09:27:44 -04:00
Lots of updates :)
This commit is contained in:
parent
cfa3aa1681
commit
14680c582c
10 changed files with 55 additions and 41 deletions
|
|
@ -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
|
||||
|
|
|
|||
6
Rakefile
6
Rakefile
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -1 +1,2 @@
|
|||
---
|
||||
foo: bar
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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',
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue