Skip to content

Commit fb28a37

Browse files
committed
fix: change default Linux config dir to etc (Closes #5)
1 parent a9c878d commit fb28a37

5 files changed

Lines changed: 9 additions & 22 deletions

File tree

build.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#[cfg(all(target_os = "windows"))]
1+
#[cfg(target_os = "windows")]
22
fn main() {
33
let mut res = winres::WindowsResource::new();
44
res.set_manifest(include_str!("app.manifest"));

src/bin/it.rs

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,6 @@ use std::process::Command;
44
fn main() {
55
let args: Vec<String> = env::args().skip(1).collect();
66

7-
// do bootit scan and print result
8-
Command::new("bootit")
9-
.arg("scan")
10-
.status()
11-
.expect("Failed to execute 'bootit scan' command. Make sure 'bootit' is installed and in your PATH.");
12-
137
let status = match Command::new("bootit").arg("boot").args(&args).status() {
148
Ok(status) => status,
159
Err(e) => {

src/command/boot.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ pub fn boot(config_path: PathBuf, target: String, no_reboot: bool) -> miette::Re
3333
println!("Resolving alias '{}'", alias);
3434
let config = config::open_config(config_path)?;
3535

36-
if let Some(ref alias) = config.find_alias(&alias) {
36+
if let Some(alias) = config.find_alias(&alias) {
3737
let entry = efi::find_boot_entry_by_identifier(&system, &alias.identifier)?
3838
.ok_or_else(|| miette!("Boot entry not found"))?;
3939
println!(

src/config.rs

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,7 @@ pub struct ConfigHandle {
1515

1616
impl ConfigHandle {
1717
pub fn find_alias<'a>(&'a self, name: &str) -> Option<&'a crate::BootAlias> {
18-
for alias in &self.config.aliases {
19-
if alias.name == name {
20-
return Some(alias);
21-
}
22-
}
23-
None
18+
self.config.aliases.iter().find(|&alias| alias.name == name).map(|v| v as _)
2419
}
2520

2621
pub fn aliases(&self) -> &Vec<crate::BootAlias> {
@@ -104,7 +99,7 @@ fn load_config(path: impl AsRef<Path>) -> miette::Result<Config> {
10499
Err(_) => {
105100
let default_config = Config::default();
106101
save_config(&path, &default_config)?;
107-
return Ok(default_config);
102+
Ok(default_config)
108103
}
109104
}
110105
}
@@ -128,7 +123,7 @@ pub fn determine_config_path(path: Option<PathBuf>) -> miette::Result<PathBuf> {
128123
}
129124

130125
fn default_config_path() -> PathBuf {
131-
// HEURISTIC: BOOTIT_CONFIG_PATH, $HOME/.config/bootit.yaml,
126+
// HEURISTIC: BOOTIT_CONFIG_PATH, /etc/bootit.yaml,
132127
// C:\ProgramData\bootit\config.yaml
133128

134129
if let Ok(env_path) = std::env::var("BOOTIT_CONFIG_PATH") {
@@ -138,10 +133,8 @@ fn default_config_path() -> PathBuf {
138133
if cfg!(target_os = "windows") {
139134
let program_data =
140135
std::env::var("PROGRAMDATA").unwrap_or_else(|_| "C:\\ProgramData".to_string());
141-
return PathBuf::from(format!("{}\\bootit\\config.yaml", program_data));
136+
PathBuf::from(format!("{}\\bootit\\config.yaml", program_data))
142137
} else {
143-
// using HOME, to support SETUID
144-
let home_env = std::env::var("HOME").unwrap_or_else(|_| ".".to_string());
145-
return PathBuf::from(format!("{}/.config/bootit.yaml", home_env));
138+
PathBuf::from("/etc/bootit.yaml".to_string())
146139
}
147140
}

src/util.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,8 @@ fn is_elevated() -> bool {
6262
#[allow(unused)]
6363
pub fn find_it() -> miette::Result<PathBuf> {
6464
if let Ok(path) = which("it") {
65-
return Ok(path);
65+
Ok(path)
6666
} else {
67-
return Err(miette!("Could not find 'it' in PATH. Please install it."));
67+
Err(miette!("Could not find 'it' in PATH. Please install it."))
6868
}
6969
}

0 commit comments

Comments
 (0)