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.
|
* use [gosu](https://github.com/tianon/gosu) so ownership is correct.
|
||||||
* this may not work on Windows...
|
* 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
|
### Packages to install on Mac's
|
||||||
|
|
||||||
|
|
@ -77,8 +45,8 @@ cd ~/repos/powerline-fonts
|
||||||
##### Thoughts on installing with Puppet:
|
##### Thoughts on installing with Puppet:
|
||||||
|
|
||||||
* [x] install packages using a provider for homebrew
|
* [x] install packages using a provider for homebrew
|
||||||
* [ ] install packages using the pip provider
|
* [x] install packages using the pip provider
|
||||||
* [ ] use vcsrepo to clone the fonts
|
* [x] use vcsrepo to clone the fonts
|
||||||
* [ ] create a refresh-only exec that runs the install script
|
* [x] create a refresh-only exec that runs the install script
|
||||||
* [ ] add a notify to the vcsrepo resource that triggers the exec
|
* [x] add a notify to the vcsrepo resource that triggers the exec
|
||||||
* this will also take care of bringing in new fonts or updates
|
* 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'
|
~/.dotfiles/puppet/production/manifests/site.pp --noop'
|
||||||
cmd.run(command)
|
cmd.run(command)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
desc 'Install Vundle Plugins'
|
||||||
|
task :vim_plugins do
|
||||||
|
command = 'vim +PluginInstall +qall'
|
||||||
|
cmd.run(command)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -72,5 +72,6 @@ when 'link'
|
||||||
when 'install'
|
when 'install'
|
||||||
if @prompt.yes?('Are you sure you want to install your base packages?')
|
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:run_puppet')
|
||||||
|
cmd.run('bundle exec rake dots:vim_plugins')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,6 @@ defaults: # Used for any hierarchy level that omits these keys.
|
||||||
|
|
||||||
hierarchy:
|
hierarchy:
|
||||||
- name: "Per-node data"
|
- name: "Per-node data"
|
||||||
path: "nodes/%{trusted.certname}.yaml"
|
path: "nodes/%{hostname}.yaml"
|
||||||
- name: "Common data"
|
- name: "Common data"
|
||||||
path: "common.yaml"
|
path: "common.yaml"
|
||||||
|
|
|
||||||
|
|
@ -1 +1,2 @@
|
||||||
---
|
---
|
||||||
|
foo: bar
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,6 @@ node default {
|
||||||
notify{'This is from the default node.':}
|
notify{'This is from the default node.':}
|
||||||
}
|
}
|
||||||
|
|
||||||
node 'dawns-macbook-pro.local' {
|
node 'dawns-macbook-pro' {
|
||||||
include ::profile::mac
|
include ::role::workstation
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,12 @@
|
||||||
# the base profile should include component modules that will be on all nodes
|
# the base profile should include component modules that will be on all nodes
|
||||||
class profile::base {
|
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:
|
package { $homebrew_packages:
|
||||||
ensure => 'installed',
|
ensure => 'latest',
|
||||||
provider => 'brew',
|
provider => 'brew',
|
||||||
}
|
}
|
||||||
|
|
||||||
|
file { "${homedir}/repos":
|
||||||
|
ensure => 'directory',
|
||||||
|
}
|
||||||
|
|
||||||
vcsrepo { "${homedir}/.vim/bundle/Vundle.vim":
|
vcsrepo { "${homedir}/.vim/bundle/Vundle.vim":
|
||||||
ensure => 'present',
|
ensure => 'latest',
|
||||||
provider => 'git',
|
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
|
# Includes all the profiles needed for a workstation
|
||||||
class role::workstation {
|
class role::workstation {
|
||||||
include ::profile::base
|
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