Documentation
¶
Index ¶
- Constants
- Variables
- func InitNixyFile(parent context.Context, dest string) error
- func ProfileCreate(ctx context.Context, name string) error
- func ProfileEdit(ctx context.Context, name string) error
- func ProfileList(ctx context.Context) ([]string, error)
- func XDGDataDir() string
- type Build
- type Context
- type ExecutorArgs
- type ExecutorMountPath
- type InShellNixy
- type Mode
- type NixPackage
- type Nixy
- type NixyConfig
- type NixyHostDataStore
- type NormalizedPackage
- type Profile
- type ShellContext
- type URLPackage
- type WorkspaceFlakeGenParams
Constants ¶
View Source
const ( ShellHookFileName = "shell-hook.sh" BuildHookFileName = "build-hook.sh" )
Variables ¶
View Source
var ( ProfileSandboxMountPath string = "/profile" WorkspaceDirSandboxMountPath string = "/workspace" WorkspaceFlakeSandboxMountPath string = "/workspace-flake" )
Functions ¶
func ProfileCreate ¶
ProfileCreate creates a new profile with the given name
func ProfileEdit ¶
ProfileEdit opens the profile's flake.nix in the user's editor
func ProfileList ¶
ProfileList returns all available profiles
func XDGDataDir ¶
func XDGDataDir() string
Types ¶
type Build ¶ added in v1.2.1
type Build struct {
Packages []*NormalizedPackage `yaml:"packages"`
Paths []string `yaml:"paths"`
}
type Context ¶
type Context struct {
context.Context
NixyProfile string
NixyMode Mode
NixyUseProfile bool
NixyBinPath string
InNixyShell bool
PWD string
NixyDataDir string
}
func NewContext ¶ added in v1.2.6
func (*Context) IsLocalMode ¶ added in v1.2.6
type ExecutorArgs ¶ added in v1.2.1
type ExecutorArgs struct {
NixBinaryMountedPath string
ProfileDirMountedPath string
FakeHomeMountedPath string
NixDirMountedPath string
WorkspaceFlakeDirHostPath string
WorkspaceFlakeDirMountedPath string
EnvVars executorEnvVars
}
func UseBubbleWrap ¶
func UseBubbleWrap(ctx *Context, profile *Profile) (*ExecutorArgs, error)
type ExecutorMountPath ¶ added in v1.2.1
type InShellNixy ¶ added in v1.2.6
type InShellNixy struct {
PWD string `yaml:"-"`
Logger *slog.Logger
NixyConfig
}
func LoadInNixyShell ¶ added in v1.2.6
func LoadInNixyShell(parent context.Context) (*InShellNixy, error)
type NixPackage ¶ added in v1.1.0
type Nixy ¶ added in v1.2.6
type Nixy struct {
Context *Context
ConfigFile *string
sync.Mutex `yaml:"-"`
Logger *slog.Logger `yaml:"-"`
PWD string
NixyConfig
// contains filtered or unexported fields
}
func (*Nixy) PrepareShellCommand ¶ added in v1.2.6
func (*Nixy) SyncToDisk ¶ added in v1.2.6
type NixyConfig ¶ added in v1.2.6
type NixyConfig struct {
NixPkgs string `yaml:"nixpkgs"`
Packages []*NormalizedPackage `yaml:"packages"`
Libraries []string `yaml:"libraries,omitempty"`
Env map[string]string `yaml:"env,omitempty"`
OnShellEnter string `yaml:"onShellEnter,omitempty"`
// OnShellExit is not used as of now, will try to use it in future
OnShellExit string `yaml:"onShellExit,omitempty"`
Builds map[string]Build `yaml:"builds,omitempty"`
}
type NixyHostDataStore ¶ added in v1.2.6
type NixyHostDataStore struct {
// contains filtered or unexported fields
}
func (NixyHostDataStore) ProfilePath ¶ added in v1.2.6
func (n NixyHostDataStore) ProfilePath(profile string) string
type NormalizedPackage ¶ added in v1.1.0
type NormalizedPackage struct {
*NixPackage
*URLPackage
}
func (*NormalizedPackage) MarshalYAML ¶ added in v1.1.0
func (p *NormalizedPackage) MarshalYAML() (any, error)
func (*NormalizedPackage) UnmarshalYAML ¶ added in v1.1.0
func (p *NormalizedPackage) UnmarshalYAML(value *yaml.Node) error
type Profile ¶
type Profile struct {
Name string
NixPkgsCommitHash string `json:"nixpkgs,omitempty"`
ProfilePath string // ~/.local/share/nixy/profiles/<name>
FakeHomeDir string
WorkspacesDir string
NixDir string
StaticNixBinPath string // Path for static nix binary
ProfileNixyYAMLPath string
}
Profile represents a general profile that all executors can use
func NewProfile ¶
NewProfile creates a new profile instance
func (*Profile) CreateDirs ¶
CreateDirs creates the necessary directories for the profile
type URLPackage ¶ added in v1.1.0
type WorkspaceFlakeGenParams ¶ added in v1.2.4
Source Files
¶
Click to show internal directories.
Click to hide internal directories.