diff options
author | Jesse Luehrs <doy@tozt.net> | 2018-11-13 00:19:06 -0500 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2018-11-13 00:19:06 -0500 |
commit | bf33ac997636c4b6c199cfff1e171ffaff437c91 (patch) | |
tree | 2f3d94f0ad3fddde69fec83c4d65356d60dea479 /modules/rust | |
parent | b5fe67cdda8f05ffe814a923b1a69f7169b9db5c (diff) | |
download | puppet-tozt-bf33ac997636c4b6c199cfff1e171ffaff437c91.tar.gz puppet-tozt-bf33ac997636c4b6c199cfff1e171ffaff437c91.zip |
actually, let's make this shared again
Diffstat (limited to 'modules/rust')
-rw-r--r-- | modules/rust/manifests/init.pp | 5 | ||||
-rw-r--r-- | modules/rust/manifests/user.pp | 23 |
2 files changed, 28 insertions, 0 deletions
diff --git a/modules/rust/manifests/init.pp b/modules/rust/manifests/init.pp new file mode 100644 index 0000000..37f74ac --- /dev/null +++ b/modules/rust/manifests/init.pp @@ -0,0 +1,5 @@ +class rust { + package { "rustup": + ensure => installed, + } +} diff --git a/modules/rust/manifests/user.pp b/modules/rust/manifests/user.pp new file mode 100644 index 0000000..1b16eeb --- /dev/null +++ b/modules/rust/manifests/user.pp @@ -0,0 +1,23 @@ +define rust::user($user=$name, $home=undef) { + $_home = $home ? { + undef => $user ? { + 'root' => '/root', + default => "/home/$user", + }, + default => $home, + } + + include rust + + exec { "install and configure stable toolchain for $user": + provider => "shell", + command => "rustup default stable", + user => $user, + unless => "rustup show active-toolchain | grep -q stable", + require => [ + Package["rustup"], + User[$user], + File["${_home}/.rustup"], + ], + } +} |