Merge pull request #1 from RealOrangeOne/puppet

Puppet
This commit is contained in:
Jake Howard 2017-08-12 19:10:48 +01:00 committed by GitHub
commit 153a7cc82f
42 changed files with 219 additions and 99 deletions

2
.gitignore vendored
View File

@ -1,5 +1,3 @@
.csync_*
.owncloudsync.log
config/jetbrains-settings.jar
config/assh.*
bash/private.sh

12
.gitmodules vendored
View File

@ -1,3 +1,15 @@
[submodule "atom"]
path = atom
url = git@gist.github.com:9f9a4dd799ad01aa0502a09f06cbf454.git
[submodule "modules/vcsrepo"]
path = modules/vcsrepo
url = https://github.com/puppetlabs/puppetlabs-vcsrepo
[submodule "modules/concat"]
path = modules/concat
url = https://github.com/puppetlabs/puppetlabs-concat
[submodule "modules/stdlib"]
path = modules/stdlib
url = https://github.com/puppetlabs/puppetlabs-stdlib
[submodule "modules/git"]
path = modules/git
url = https://github.com/puppetlabs/puppetlabs-git

View File

@ -1,48 +0,0 @@
DOTFILES=$(PWD)
install: apt bash bin config gnome fonts yaourt
bin:
chmod +x $(DOTFILES)/bin/*
bash: yaourt
ln -sfP $(DOTFILES)/bash/.zshrc ~/.zshrc
mkdir -p ~/.nvm/
ln -sfP /usr/share/nvm/init-nvm.sh ~/.nvm/nvm.sh
config: yaourt
mkdir -p ~/.config/terminator
mkdir -p ~/.config/uniemoji/
ln -sfP $(DOTFILES)/config/terminator.conf ~/.config/terminator/config
sudo ln -sfP $(DOTFILES)/config/libinput-gestures.conf /etc/libinput-gestures.conf
git config --global core.excludesfile ~/.dotfiles/config/gitignore_global
git clone https://github.com/amix/vimrc.git ~/.vim_runtime || cd ~/.vim_runtime && git pull
vim +PluginInstall +qall
ln -sfP $(DOTFILES)/config/vimrc ~/.vimrc
ln -sfP $(DOTFILES)/config/uniemoji.json ~/.config/uniemoji/custom.json
ln -sfP $(DOTFILES)/config/assh.yml ~/.ssh/assh.yml
gnome: yaourt
rm -rf ~/Templates/*
ln -sfP $(DOTFILES)/gnome/Templates/* ~/Templates/
gsettings set org.gnome.desktop.interface show-battery-percentage true
yaourt: pacman
yaourt -Syau # Install any updates before extra packages
yaourt -S `cat $(DOTFILES)/yaourt/packages.conf` --needed
ln -sfP $(DOTFILES)/yaourt/.yaourtrc ~/.yaourtrc
pacman:
gpg --recv-keys F7E48EDB # Add custom key for ncurses
sudo ln -sfP $(DOTFILES)/yaourt/pacman.conf /etc/pacman.conf
sudo pacman-key -r 962DDE58
sudo pacman-key --lsign-key 962DDE58
gpg --keyserver pool.sks-keyservers.net --recv-keys 2E1AC68ED40814E0 # gotta be a way to add to pacman, not my GPG
fonts: yaourt
ln -s /etc/fonts/conf.avail/11-lcdfilter-default.conf /etc/fonts/conf.d
ln -s /etc/fonts/conf.avail/10-sub-pixel-rgb.conf /etc/fonts/conf.d
ln -s /etc/fonts/conf.avail/30-infinality-aliases.conf /etc/fonts/conf.d
gdk-pixbuf-query-loaders --update-cache
.PHONY: apt bash bin config gnome yaourt pacman fonts

3
deploy.sh Executable file
View File

@ -0,0 +1,3 @@
#!/usr/bin/env bash
sudo puppet apply manifests/main.pp --modulepath=modules/

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

View File

@ -1,18 +0,0 @@
GTK+ Theme: Numix
Icons: Ultra-Flat-Orange
Cursor: Adwaita (default)
Shell Theme: unity-gnome
Desktop Icons:
- Home
- Network Servers
- Trash
Power button action: Interactive
Close lid:
Battery: Nothing
Plugged in: Nothing
Clock:
- Date
- Seconds
Titlebar buttons:
- Maximize
- Minimize

View File

@ -1,8 +0,0 @@
- Coverflow alt-tab
- Dash to Dock
- Drop down terminal
- Laine
- Lock Keys
- Removable Drive Menu
- Sound output device chooser
- TopIcons Plus

View File

@ -1,4 +0,0 @@
- Firefox
- Atom
- Files
- spotify

View File

@ -1,9 +0,0 @@
#!/usr/bin/env bash
set -e
echo "Removing volume change sound..."
gsettings set org.gnome.desktop.sound event-sounds false
echo "Decreasing volume increment..."
gsettings set org.gnome.settings-daemon.plugins.sound volume-step 1

12
manifests/main.pp Normal file
View File

@ -0,0 +1,12 @@
node default {
Exec {
path => ['/usr/bin', '/usr/sbin', '/usr/local/bin', '/usr/local/sbin']
}
include stdlib
include yaourt
include gnome
include config
include shell
}

1
modules/concat Submodule

@ -0,0 +1 @@
Subproject commit b783e1e99def0bf45a391a2ebce5a39bd4174e11

View File

@ -0,0 +1,21 @@
class config::fonts {
$fonts = [
"11-lcdfilter-default.conf",
"10-sub-pixel-rgb.conf",
"30-infinality-aliases.conf"
];
$fonts.each |String $font| {
file { "font config $font":
path => "/etc/fonts/conf.d/$font",
ensure => link,
mode => "0644",
source => "/etc/fonts/conf.avail/$font"
}
}
exec { 'update font cache':
command => "gdk-pixbuf-query-loaders --update-cache"
}
}

View File

@ -0,0 +1,13 @@
class config::git {
file { '/home/jake/.gitignore_global':
ensure => file,
mode => "0644",
source => 'puppet:///modules/config/gitignore_global'
}
git::config { "global ignore" :
key => 'core.excludesfile',
value => '/home/jake/.gitignore_global',
user => "jake"
}
}

View File

@ -0,0 +1,25 @@
class config {
include 'config::vim'
include 'config::git'
include 'config::fonts'
file { '/etc/libinput-gestures.conf':
ensure => file,
mode => "0644",
source => 'puppet:///modules/config/libinput-gestures.conf'
}
file { '/home/jake/.config/terminator/config':
ensure => file,
mode => "0644",
source => 'puppet:///modules/config/terminator.conf'
}
file { '/home/jake/.config/uniemoji/custom.json':
ensure => file,
mode => "0644",
source => 'puppet:///modules/config/uniemoji.json'
}
}

View File

@ -0,0 +1,22 @@
class config::vim {
file { '/home/jake/.vimrc':
ensure => file,
mode => "0644",
owner => "jake",
group => "users",
source => 'puppet:///modules/config/vimrc'
} ->
vcsrepo { '/home/jake/.vim_runtime':
ensure => latest,
provider => git,
user => 'jake',
source => "https://github.com/amix/vimrc.git",
} ->
exec { 'install vim plugins':
command => "vim +PluginInstall +qall",
user => "jake",
environment => "HOME=/home/jake"
}
}

1
modules/git Submodule

@ -0,0 +1 @@
Subproject commit 4e4498e3db218cefc27e40b7eb4e442177ccab28

View File

@ -0,0 +1,20 @@
class gnome {
file { '/home/jake/Templates':
ensure => directory,
source => 'puppet:///modules/gnome/Templates',
owner => "jake",
group => "users",
mode => "0755",
recurse => remote
}
exec { 'show battery percentage':
user => "jake",
command => 'gsettings set org.gnome.desktop.interface show-battery-percentage true'
}
exec { 'Remove volume change sound':
user => "jake",
command => 'gsettings set org.gnome.desktop.sound event-sounds false'
}
}

View File

@ -28,6 +28,3 @@ COMPLETION_WAITING_DOTS="true"
alias src="source $HOME/.zshrc"
export DOTFILES="$HOME/.dotfiles"
source $DOTFILES/bash/base.sh

View File

@ -44,8 +44,6 @@ alias ym="yoga mode"
# miscellaneous software aliases
alias serve="python2 -m SimpleHTTPServer"
alias make-dotfiles="cd ~/.dotfiles/ && make && cd - > /dev/null"
alias edit-dotfiles="atom ~/.dotfiles/"
alias vi="vim"
alias regen-ssh-conf="assh config build > ~/.ssh/config"
alias yolo="yaourt -Syyau --noconfirm"

View File

@ -4,10 +4,6 @@ case $- in
*) return;;
esac
source $DOTFILES/bash/catfish.sh
source $DOTFILES/bash/javascript.sh
source $DOTFILES/bash/applications.sh
[ -s "$DOTFILES/bash/private.sh" ] && source "$DOTFILES/bash/private.sh" # load private stuff
# Export some variables
export ANDROID_HOME=/opt/android-sdk
@ -19,7 +15,7 @@ export TIMEFMT=$'\nreal\t%E\nuser\t%U\nsys\t%S'
export PATH=${PATH}:${ANDROID_HOME}/tools
export PATH=${PATH}:${ANDROID_HOME}/platform-tools
export PATH=${PATH}:/opt/genymobile/genymotion
export PATH=${HOME}/.dotfiles/bin:${PATH}
export PATH=${PATH}:${HOME}/.bin
# bash aliases
alias refresh="cd $PWD > /dev/null"

View File

@ -0,0 +1,43 @@
class shell {
$zshrc = "/home/jake/.zshrc"
$files = [
"puppet:///modules/shell/.zshrc",
"puppet:///modules/shell/base.sh",
"puppet:///modules/shell/applications.sh",
"puppet:///modules/shell/catfish.sh",
"puppet:///modules/shell/javascript.sh"
];
concat {"zshrc":
path => $zshrc,
owner => "jake",
group => "users",
mode => "0644",
ensure_newline => true
}
$files.each |String $file| {
concat::fragment {"zshrc concat $file":
target => $zshrc,
source => $file
}
}
file {'nvm':
path => "/home/jake/.nvm/nvm.sh",
owner => "jake",
group => "users",
mode => "0755",
source => "/usr/share/nvm/init-nvm.sh"
}
file { '/home/jake/.bin':
ensure => directory,
source => 'puppet:///modules/shell/bin',
owner => "jake",
group => "users",
mode => "0755",
recurse => remote
}
}

1
modules/stdlib Submodule

@ -0,0 +1 @@
Subproject commit 0bb25fb19904e8b346a25204f787b8bdc5140bae

1
modules/vcsrepo Submodule

@ -0,0 +1 @@
Subproject commit e3d28c6f7aa3b1daf7e9d30b55494592a65a2264

View File

@ -0,0 +1,14 @@
class yaourt::files () {
file { '/etc/pacman.conf':
ensure => file,
source => 'puppet:///modules/yaourt/pacman.conf'
}
file { '/home/jake/.yaourtrc':
ensure => file,
mode => "0644",
owner => "jake",
group => "users",
source => 'puppet:///modules/yaourt/.yaourtrc'
}
}

View File

@ -0,0 +1,7 @@
class yaourt {
include 'yaourt::packages'
include 'yaourt::keys'
include 'yaourt::files'
}

View File

@ -0,0 +1,15 @@
class yaourt::keys () {
exec { 'gpg --recv-keys F7E48EDB':
user => 'jake'
}
exec { 'pacman-key -r 962DDE58':
}
exec { 'pacman-key --lsign-key 962DDE58':
}
exec { 'gpg --keyserver pool.sks-keyservers.net --recv-keys 2E1AC68ED40814E0':
user => 'jake'
}
}

View File

@ -0,0 +1,7 @@
class yaourt::packages () {
package {[
'firefox'
]:
ensure => latest
}
}