Skip to content

Commit

Permalink
feat: support XDG_CONFIG_HOME for receipts
Browse files Browse the repository at this point in the history
  • Loading branch information
mistydemeo committed Dec 18, 2024
1 parent 4d12a39 commit 7381318
Showing 1 changed file with 14 additions and 3 deletions.
17 changes: 14 additions & 3 deletions axoupdater/src/receipt.rs
Original file line number Diff line number Diff line change
Expand Up @@ -122,16 +122,27 @@ pub(crate) fn get_config_path(app_name: &str) -> AxoupdateResult<Utf8PathBuf> {
} else if let Ok(path) = env::var("AXOUPDATER_CONFIG_PATH") {
Ok(Utf8PathBuf::from(path))
} else {
let xdg_home = env::var("XDG_CONFIG_HOME")
.ok()
.map(PathBuf::from)
.map(|h| h.join(app_name));
let xdg_home_exists = xdg_home.as_ref().map(|h| h.exists()).unwrap_or(false);

let home = if cfg!(windows) {
env::var("LOCALAPPDATA").map(PathBuf::from).ok()
env::var("LOCALAPPDATA")
.map(PathBuf::from)
.map(|h| h.join(app_name))
.ok()
} else if xdg_home_exists {
xdg_home
} else {
homedir::my_home()?.map(|path| path.join(".config"))
homedir::my_home()?.map(|path| path.join(".config").join(app_name))
};
let Some(home) = home else {
return Err(AxoupdateError::NoHome {});
};

Ok(Utf8PathBuf::try_from(home)?.join(app_name))
Ok(Utf8PathBuf::try_from(home)?)
}
}

Expand Down

0 comments on commit 7381318

Please sign in to comment.