diff options
Diffstat (limited to 'tozt/rust/manifests/user.pp')
-rw-r--r-- | tozt/rust/manifests/user.pp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/tozt/rust/manifests/user.pp b/tozt/rust/manifests/user.pp new file mode 100644 index 0000000..1b16eeb --- /dev/null +++ b/tozt/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"], + ], + } +} |