Skip to content

Commit 8c9f998

Browse files
authored
[nix] Don't indent output in ensure mode (#546)
## Summary Makes output nicer in ensure mode ## How was it tested? Added a package to devbox.json and ran `devbox shell`
1 parent 23b1053 commit 8c9f998

File tree

3 files changed

+10
-6
lines changed

3 files changed

+10
-6
lines changed

devbox.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,4 @@
1717
"nixpkgs": {
1818
"commit": "3954218cf613eba8e0dcefa9abe337d26bc48fd0"
1919
}
20-
}
20+
}

internal/impl/devbox.go

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -607,7 +607,7 @@ func (d *Devbox) ensurePackagesAreInstalled(mode installMode) error {
607607
}
608608

609609
// We need to re-install the packages
610-
if err := d.installNixProfile(); err != nil {
610+
if err := d.installNixProfile(mode); err != nil {
611611
fmt.Fprintln(d.writer)
612612
return errors.Wrap(err, "apply Nix derivation")
613613
}
@@ -667,7 +667,7 @@ func (d *Devbox) printPackageUpdateMessage(
667667

668668
// installNixProfile installs or uninstalls packages to or from this
669669
// devbox's Nix profile so that it matches what's in development.nix or flake.nix
670-
func (d *Devbox) installNixProfile() (err error) {
670+
func (d *Devbox) installNixProfile(mode installMode) (err error) {
671671
profileDir, err := d.profileDir()
672672
if err != nil {
673673
return err
@@ -691,7 +691,10 @@ func (d *Devbox) installNixProfile() (err error) {
691691
}
692692

693693
cmd.Env = nix.DefaultEnv()
694-
cmd.Stdout = &nixPackageInstallWriter{d.writer}
694+
cmd.Stdout = &nixPackageInstallWriter{
695+
d.writer,
696+
lo.Ternary(mode != ensure, "\t", ""),
697+
}
695698

696699
cmd.Stderr = cmd.Stdout
697700

internal/impl/writer.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,15 @@ var nixPackageInstallIgnore = []string{
1111
}
1212

1313
type nixPackageInstallWriter struct {
14-
w io.Writer
14+
w io.Writer
15+
indent string
1516
}
1617

1718
func (fw *nixPackageInstallWriter) Write(p []byte) (n int, err error) {
1819
lines := strings.Split(string(p), "\n")
1920
for _, line := range lines {
2021
if line != "" && !fw.ignore(line) {
21-
_, err = io.WriteString(fw.w, "\t"+line+"\n")
22+
_, err = io.WriteString(fw.w, fw.indent+line+"\n")
2223
if err != nil {
2324
return
2425
}

0 commit comments

Comments
 (0)