diff --git a/pkg/cmd/bash_completion.go b/pkg/cmd/bash_completion.go
index ebbd9e18e6a8e241cb3f9dbdabc81573043c6665..f425fec0d35545eec5497da6aa5a6dc139bbeb00 100644
--- a/pkg/cmd/bash_completion.go
+++ b/pkg/cmd/bash_completion.go
@@ -1,7 +1,6 @@
 package cmd
 
 import (
-	"errors"
 	"fmt"
 	"os"
 	"path/filepath"
@@ -9,33 +8,35 @@ import (
 	cli "github.com/spf13/cobra"
 	"github.com/tmrts/boilr/pkg/boilr"
 	"github.com/tmrts/boilr/pkg/util/exit"
+	"github.com/tmrts/boilr/pkg/util/osutil"
 )
 
 func configureBashCompletion() error {
-	bash_completion_file := filepath.Join(boilr.Configuration.ConfigDirPath, "completion.bash")
+	bashCompletionFilePath := filepath.Join(boilr.Configuration.ConfigDirPath, "completion.bash")
 
-	if err := Root.GenBashCompletionFile(bash_completion_file); err != nil {
+	if err := Root.GenBashCompletionFile(bashCompletionFilePath); err != nil {
 		return err
 	}
 
-	if err := Root.GenBashCompletionFile(bash_completion_file); err != nil {
+	if err := Root.GenBashCompletionFile(bashCompletionFilePath); err != nil {
 		return err
 	}
 
-	bashrcPath := filepath.Join(os.Getenv("HOME"), ".bashrc")
-	if bashrcPath == "" {
-		return errors.New("environment variable ${HOME} should be set")
+	homeDir, err := osutil.GetUserHomeDir()
+	if err != nil {
+		return err
 	}
 
+	bashrcPath := filepath.Join(homeDir, ".bashrc")
+
 	f, err := os.OpenFile(bashrcPath, os.O_APPEND|os.O_WRONLY, 0600)
 	if err != nil {
 		return err
 	}
-
 	defer f.Close()
 
 	bashrcText := `
-# Enables shell command completion for boilr
+# Enables command-line completion for boilr
 source %s
 `
 
diff --git a/pkg/util/osutil/user.go b/pkg/util/osutil/user.go
index 4c7be0ea53d1a4dff7e7580fafcc6557aa43c8be..ec7d95f28edf1461a351b7a848f3c7ea329b49e0 100644
--- a/pkg/util/osutil/user.go
+++ b/pkg/util/osutil/user.go
@@ -9,5 +9,5 @@ func GetUserHomeDir() (string, error) {
 		return "", err
 	}
 
-	return usr.HomeDir, err
+	return usr.HomeDir, nil
 }