feat: add step for mandb - user and system (update man entries) (#1319)
This commit is contained in:
@@ -62,6 +62,12 @@ pub struct Containers {
|
||||
runtime: Option<ContainerRuntime>,
|
||||
}
|
||||
|
||||
#[derive(Deserialize, Default, Debug, Merge)]
|
||||
#[serde(deny_unknown_fields)]
|
||||
pub struct Mandb {
|
||||
enable: Option<bool>,
|
||||
}
|
||||
|
||||
#[derive(Deserialize, Default, Debug, Merge)]
|
||||
#[serde(deny_unknown_fields)]
|
||||
pub struct Git {
|
||||
@@ -414,6 +420,9 @@ pub struct ConfigFile {
|
||||
#[merge(strategy = crate::utils::merge_strategies::inner_merge_opt)]
|
||||
linux: Option<Linux>,
|
||||
|
||||
#[merge(strategy = crate::utils::merge_strategies::inner_merge_opt)]
|
||||
mandb: Option<Mandb>,
|
||||
|
||||
#[merge(strategy = crate::utils::merge_strategies::inner_merge_opt)]
|
||||
git: Option<Git>,
|
||||
|
||||
@@ -1497,6 +1506,14 @@ impl Config {
|
||||
.unwrap_or(false)
|
||||
}
|
||||
|
||||
pub fn enable_mandb(&self) -> bool {
|
||||
self.config_file
|
||||
.mandb
|
||||
.as_ref()
|
||||
.and_then(|mandb| mandb.enable)
|
||||
.unwrap_or(false)
|
||||
}
|
||||
|
||||
pub fn open_remotes_in_new_terminal(&self) -> bool {
|
||||
self.config_file
|
||||
.windows
|
||||
|
||||
@@ -94,6 +94,7 @@ pub enum Step {
|
||||
Lure,
|
||||
Macports,
|
||||
Mamba,
|
||||
Mandb,
|
||||
Mas,
|
||||
Maza,
|
||||
Micro,
|
||||
@@ -388,6 +389,11 @@ impl Step {
|
||||
runner.execute(*self, "MacPorts", || macos::run_macports(ctx))?
|
||||
}
|
||||
Mamba => runner.execute(*self, "mamba", || generic::run_mamba_update(ctx))?,
|
||||
Mandb =>
|
||||
{
|
||||
#[cfg(target_os = "linux")]
|
||||
runner.execute(*self, "Manual Entries", || linux::run_mandb(ctx))?
|
||||
}
|
||||
Mas =>
|
||||
{
|
||||
#[cfg(target_os = "macos")]
|
||||
@@ -725,6 +731,7 @@ pub(crate) fn default_steps() -> Vec<Step> {
|
||||
Waydroid,
|
||||
AutoCpufreq,
|
||||
CinnamonSpices,
|
||||
Mandb,
|
||||
Pkgfile,
|
||||
]);
|
||||
|
||||
|
||||
@@ -692,6 +692,23 @@ pub fn run_pkgfile(ctx: &ExecutionContext) -> Result<()> {
|
||||
sudo.execute(ctx, pkgfile)?.arg("--update").status_checked()
|
||||
}
|
||||
|
||||
pub fn run_mandb(ctx: &ExecutionContext) -> Result<()> {
|
||||
let sudo = ctx.require_sudo()?;
|
||||
let mandb = require("mandb")?;
|
||||
|
||||
if !ctx.config().enable_mandb() {
|
||||
return Err(SkipStep(t!("ManDB isn't enabled").to_string()).into());
|
||||
}
|
||||
|
||||
print_separator(t!("System Manuals"));
|
||||
|
||||
sudo.execute(ctx, &mandb)?.status_checked()?;
|
||||
|
||||
print_separator(t!("User Manuals"));
|
||||
|
||||
ctx.execute(&mandb).arg("--user-db").status_checked()
|
||||
}
|
||||
|
||||
pub fn run_packer_nu(ctx: &ExecutionContext) -> Result<()> {
|
||||
let nu = require("nu")?;
|
||||
let packer_home = HOME_DIR.join(".local/share/nushell/packer");
|
||||
|
||||
Reference in New Issue
Block a user