@@ -13,6 +13,7 @@ import (
13
13
"github.com/samber/lo"
14
14
"go.jetpack.io/devbox/internal/boxcli/featureflag"
15
15
"go.jetpack.io/devbox/internal/devpkg/devpkgutil"
16
+ "go.jetpack.io/devbox/internal/nix"
16
17
17
18
"go.jetpack.io/devbox/internal/cuecfg"
18
19
)
@@ -28,8 +29,6 @@ type File struct {
28
29
29
30
// Packages is keyed by "canonicalName@version"
30
31
Packages map [string ]* Package `json:"packages"`
31
-
32
- system string
33
32
}
34
33
35
34
type Package struct {
@@ -50,15 +49,13 @@ type SystemInfo struct {
50
49
ToHash string `json:"to_hash,omitempty"`
51
50
}
52
51
53
- func GetFile (project devboxProject , resolver resolver , system string ) (* File , error ) {
52
+ func GetFile (project devboxProject , resolver resolver ) (* File , error ) {
54
53
lockFile := & File {
55
54
devboxProject : project ,
56
55
resolver : resolver ,
57
56
58
57
LockFileVersion : lockFileVersion ,
59
58
Packages : map [string ]* Package {},
60
-
61
- system : system ,
62
59
}
63
60
err := cuecfg .ParseFile (lockFilePath (project ), lockFile )
64
61
if errors .Is (err , fs .ErrNotExist ) {
@@ -91,10 +88,15 @@ func (l *File) Remove(pkgs ...string) error {
91
88
func (l * File ) Resolve (pkg string ) (* Package , error ) {
92
89
entry , hasEntry := l .Packages [pkg ]
93
90
91
+ userSystem , err := nix .System ()
92
+ if err != nil {
93
+ return nil , err
94
+ }
95
+
94
96
// If the package's system info is missing, we need to resolve it again.
95
97
needsSysInfo := false
96
98
if hasEntry && featureflag .RemoveNixpkgs .Enabled () {
97
- needsSysInfo = entry .Systems [l . system ] == nil
99
+ needsSysInfo = entry .Systems [userSystem ] == nil
98
100
}
99
101
100
102
if ! hasEntry || entry .Resolved == "" || needsSysInfo {
0 commit comments