blob: e61225c49ed8c5504e73c8899b468c49326ce0c2 [file] [log] [blame]
David K. Bainbridge528b3182017-01-23 08:51:59 -08001// Copyright 2013 Canonical Ltd.
2// Licensed under the LGPLv3, see LICENCE file for details.
3
4package utils
5
6import (
7 "os"
8 "path/filepath"
9)
10
11// Home returns the os-specific home path as specified in the environment.
12func Home() string {
13 return filepath.Join(os.Getenv("HOMEDRIVE"), os.Getenv("HOMEPATH"))
14}
15
16// SetHome sets the os-specific home path in the environment.
17func SetHome(s string) error {
18 v := filepath.VolumeName(s)
19 if v != "" {
20 if err := os.Setenv("HOMEDRIVE", v); err != nil {
21 return err
22 }
23 }
24 return os.Setenv("HOMEPATH", s[len(v):])
25}