paths

package
v1.7.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 30, 2026 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var FileAlreadyExist = files.FileAlreadyExist

This allows swapping it during tests

View Source
var Files = struct {
	ShellConfig string
	ZshEnv      string
}{
	ShellConfig: GetShellConfigFile(),
	ZshEnv:      GetZshEnvFile(),
}

Files contains all file path structures

View Source
var Paths = struct {
	App struct {
		Root    string
		Configs struct {
			Aerospace string
			Alacritty string
			Claude    string
			Fastfetch string
			Fonts     string
			Git       string
			I3        string
			Neovim    string
			OpenCode  string
			Shared    string
			Templates string
			Themes    string
			Tmux      string
		}
		Fonts struct {
			Alacritty string
		}
		Themes struct {
			Alacritty string
		}
	}
	Cache struct {
		Root string
	}
	Config struct {
		Root      string
		Aerospace string
		Alacritty string
		Claude    string
		Devgeta   string
		Fastfetch string
		Fonts     string
		Git       string
		I3        string
		Nvim      string
		OpenCode  string
		Themes    string
		Tmux      string
	}
	Data struct {
		Root string
	}
	Home struct {
		Root string
	}
	System struct {
		Applications string
		Fonts        string
	}
	User struct {
		Applications string
		Fonts        string
	}
}{
	App: struct {
		Root    string
		Configs struct {
			Aerospace string
			Alacritty string
			Claude    string
			Fastfetch string
			Fonts     string
			Git       string
			I3        string
			Neovim    string
			OpenCode  string
			Shared    string
			Templates string
			Themes    string
			Tmux      string
		}
		Fonts struct {
			Alacritty string
		}
		Themes struct {
			Alacritty string
		}
	}{
		Root: GetDataDir(constants.App.Name),
		Configs: struct {
			Aerospace string
			Alacritty string
			Claude    string
			Fastfetch string
			Fonts     string
			Git       string
			I3        string
			Neovim    string
			OpenCode  string
			Shared    string
			Templates string
			Themes    string
			Tmux      string
		}{
			Aerospace: GetAppDir(constants.App.Dir.Configs, constants.Aerospace),
			Alacritty: GetAppDir(constants.App.Dir.Configs, constants.Alacritty),
			Claude:    GetAppDir(constants.App.Dir.Configs, constants.Claude),
			Fastfetch: GetAppDir(constants.App.Dir.Configs, constants.Fastfetch),
			Fonts:     GetAppDir(constants.App.Dir.Configs, constants.Fonts),
			Git:       GetAppDir(constants.App.Dir.Configs, constants.Git),
			I3:        GetAppDir(constants.App.Dir.Configs, constants.I3),
			Neovim:    GetAppDir(constants.App.Dir.Configs, constants.Neovim),
			OpenCode:  GetAppDir(constants.App.Dir.Configs, constants.OpenCode),
			Shared:    GetAppDir(constants.App.Dir.Configs, constants.Shared),
			Templates: GetAppDir(constants.App.Dir.Configs, constants.Templates),
			Themes:    GetAppDir(constants.App.Dir.Configs, constants.Themes),
			Tmux:      GetAppDir(constants.App.Dir.Configs, constants.Tmux),
		},
		Fonts: struct {
			Alacritty string
		}{
			Alacritty: GetAppDir(constants.App.Dir.Configs, constants.Fonts, constants.Alacritty),
		},
		Themes: struct {
			Alacritty string
		}{
			Alacritty: GetAppDir(constants.App.Dir.Configs, constants.Themes, constants.Alacritty),
		},
	},
	Cache: struct {
		Root string
	}{
		Root: GetCacheDir(),
	},
	Config: struct {
		Root      string
		Aerospace string
		Alacritty string
		Claude    string
		Devgeta   string
		Fastfetch string
		Fonts     string
		Git       string
		I3        string
		Nvim      string
		OpenCode  string
		Themes    string
		Tmux      string
	}{
		Root:      GetConfigDir(),
		Aerospace: GetConfigDir(constants.Aerospace),
		Alacritty: GetConfigDir(constants.Alacritty),
		Claude:    GetHomeDir(".claude"),
		Devgeta:   GetConfigDir(constants.DevgetaApp),
		Fastfetch: GetConfigDir(constants.Fastfetch),
		Fonts:     GetConfigDir(constants.Fonts),
		Git:       GetConfigDir(constants.Git),
		I3:        GetConfigDir(constants.I3),
		Nvim:      GetConfigDir(constants.Nvim),
		OpenCode:  GetConfigDir(constants.OpenCode),
		Themes:    GetConfigDir(constants.Themes),
		Tmux:      GetConfigDir(constants.Tmux),
	},
	Data: struct {
		Root string
	}{
		Root: GetDataDir(),
	},
	Home: struct {
		Root string
	}{
		Root: GetHomeDir(),
	},
	System: struct {
		Applications string
		Fonts        string
	}{
		Applications: GetSystemApplicationsDir(runtime.GOOS == "darwin"),
		Fonts:        GetSystemFontsDir(runtime.GOOS == "darwin"),
	},
	User: struct {
		Applications string
		Fonts        string
	}{
		Applications: GetUserApplicationsDir(runtime.GOOS == "darwin"),
		Fonts:        GetUserFontsDir(runtime.GOOS == "darwin"),
	},
}

Paths contains all directory path structures

Functions

func ExpandHome

func ExpandHome(path string) string

ExpandHome replaces a leading "~" with the user's home directory, so CLI flags can accept paths like ~/code/repo. Other paths pass through unchanged.

func GetAppDir

func GetAppDir(subPath ...string) string

func GetCacheDir

func GetCacheDir(subPath ...string) string

Returns XDG_CACHE_HOME or fallback to ~/.cache Reads environment variables dynamically to support testing

func GetConfigDir

func GetConfigDir(subPath ...string) string

Returns XDG_CONFIG_HOME or fallback to ~/.config Reads environment variables dynamically to support testing

func GetDataDir

func GetDataDir(subPath ...string) string

Returns XDG_DATA_HOME or fallback to ~/.local/share Reads environment variables dynamically to support testing

func GetHomeDir

func GetHomeDir(subPath ...string) string

func GetShellConfigFile

func GetShellConfigFile() string

func GetStateDir

func GetStateDir(subPath ...string) string

Returns XDG_STATE_HOME or fallback to ~/.local/state Reads environment variables dynamically to support testing

func GetSystemApplicationsDir

func GetSystemApplicationsDir(isMac bool, subPath ...string) string

Returns system-level applications dir

func GetSystemFontsDir

func GetSystemFontsDir(isMac bool, subPath ...string) string

Returns system-level fonts dir

func GetUserApplicationsDir

func GetUserApplicationsDir(isMac bool, subPath ...string) string

Returns user-level applications dir

func GetUserFontsDir

func GetUserFontsDir(isMac bool, subPath ...string) string

Returns user-level fonts dir

func GetZshEnvFile

func GetZshEnvFile() string

GetZshEnvFile returns the user's ~/.zshenv path. Unlike GetShellConfigFile, this never falls back to searching alternate candidates: ~/.zshenv is the one place zsh sources before anything else (login or not), whether or not the file exists yet.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL