feat: add step for mandb - user and system (update man entries) (#1319)
This commit is contained in:
@@ -209,6 +209,13 @@
|
|||||||
# home_manager_arguments = ["--flake", "file"]
|
# home_manager_arguments = ["--flake", "file"]
|
||||||
|
|
||||||
|
|
||||||
|
[mandb]
|
||||||
|
# Enable the mandb step (to update manual entries).
|
||||||
|
# Mandb is updated in the background by a service on most systems by default.
|
||||||
|
# (default: false)
|
||||||
|
# enable = true
|
||||||
|
|
||||||
|
|
||||||
[git]
|
[git]
|
||||||
# How many repos to pull at max in parallel
|
# How many repos to pull at max in parallel
|
||||||
# max_concurrency = 5
|
# max_concurrency = 5
|
||||||
|
|||||||
@@ -1312,3 +1312,27 @@ _version: 2
|
|||||||
zh_TW: "nh 找不到任何已設定的 flake"
|
zh_TW: "nh 找不到任何已設定的 flake"
|
||||||
zh_CN: "nh 无法找到任何已配置的 flake"
|
zh_CN: "nh 无法找到任何已配置的 flake"
|
||||||
de: "nh kann keine konfigurierten flakes finden"
|
de: "nh kann keine konfigurierten flakes finden"
|
||||||
|
"System Manuals":
|
||||||
|
en: "System Manuals"
|
||||||
|
lt: "Sistemos Vadovai"
|
||||||
|
es: "Manuales del Sistema"
|
||||||
|
fr: "Manuels du Système"
|
||||||
|
zh_CN: "系统手册"
|
||||||
|
zh_TW: "系統手冊"
|
||||||
|
de: "Systemhandbücher"
|
||||||
|
"User Manuals":
|
||||||
|
en: "User Manuals"
|
||||||
|
lt: "Vartotojo Vadovai"
|
||||||
|
es: "Manuales de Usuario"
|
||||||
|
fr: "Manuels de l'utilisateur"
|
||||||
|
zh_CN: "用户手册"
|
||||||
|
zh_TW: "使用者手冊"
|
||||||
|
de: "Benutzerhandbücher"
|
||||||
|
"ManDB isn't enabled":
|
||||||
|
en: "ManDB isn't enabled"
|
||||||
|
lt: "ManDB nėra įjungtas"
|
||||||
|
es: "ManDB no está habilitado"
|
||||||
|
fr: "ManDB n'est pas activé"
|
||||||
|
zh_CN: "ManDB 未启用"
|
||||||
|
zh_TW: "ManDB 未啟用"
|
||||||
|
de: "ManDB ist nicht aktiviert"
|
||||||
|
|||||||
@@ -62,6 +62,12 @@ pub struct Containers {
|
|||||||
runtime: Option<ContainerRuntime>,
|
runtime: Option<ContainerRuntime>,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[derive(Deserialize, Default, Debug, Merge)]
|
||||||
|
#[serde(deny_unknown_fields)]
|
||||||
|
pub struct Mandb {
|
||||||
|
enable: Option<bool>,
|
||||||
|
}
|
||||||
|
|
||||||
#[derive(Deserialize, Default, Debug, Merge)]
|
#[derive(Deserialize, Default, Debug, Merge)]
|
||||||
#[serde(deny_unknown_fields)]
|
#[serde(deny_unknown_fields)]
|
||||||
pub struct Git {
|
pub struct Git {
|
||||||
@@ -414,6 +420,9 @@ pub struct ConfigFile {
|
|||||||
#[merge(strategy = crate::utils::merge_strategies::inner_merge_opt)]
|
#[merge(strategy = crate::utils::merge_strategies::inner_merge_opt)]
|
||||||
linux: Option<Linux>,
|
linux: Option<Linux>,
|
||||||
|
|
||||||
|
#[merge(strategy = crate::utils::merge_strategies::inner_merge_opt)]
|
||||||
|
mandb: Option<Mandb>,
|
||||||
|
|
||||||
#[merge(strategy = crate::utils::merge_strategies::inner_merge_opt)]
|
#[merge(strategy = crate::utils::merge_strategies::inner_merge_opt)]
|
||||||
git: Option<Git>,
|
git: Option<Git>,
|
||||||
|
|
||||||
@@ -1497,6 +1506,14 @@ impl Config {
|
|||||||
.unwrap_or(false)
|
.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 {
|
pub fn open_remotes_in_new_terminal(&self) -> bool {
|
||||||
self.config_file
|
self.config_file
|
||||||
.windows
|
.windows
|
||||||
|
|||||||
@@ -94,6 +94,7 @@ pub enum Step {
|
|||||||
Lure,
|
Lure,
|
||||||
Macports,
|
Macports,
|
||||||
Mamba,
|
Mamba,
|
||||||
|
Mandb,
|
||||||
Mas,
|
Mas,
|
||||||
Maza,
|
Maza,
|
||||||
Micro,
|
Micro,
|
||||||
@@ -388,6 +389,11 @@ impl Step {
|
|||||||
runner.execute(*self, "MacPorts", || macos::run_macports(ctx))?
|
runner.execute(*self, "MacPorts", || macos::run_macports(ctx))?
|
||||||
}
|
}
|
||||||
Mamba => runner.execute(*self, "mamba", || generic::run_mamba_update(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 =>
|
Mas =>
|
||||||
{
|
{
|
||||||
#[cfg(target_os = "macos")]
|
#[cfg(target_os = "macos")]
|
||||||
@@ -725,6 +731,7 @@ pub(crate) fn default_steps() -> Vec<Step> {
|
|||||||
Waydroid,
|
Waydroid,
|
||||||
AutoCpufreq,
|
AutoCpufreq,
|
||||||
CinnamonSpices,
|
CinnamonSpices,
|
||||||
|
Mandb,
|
||||||
Pkgfile,
|
Pkgfile,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
|||||||
@@ -692,6 +692,23 @@ pub fn run_pkgfile(ctx: &ExecutionContext) -> Result<()> {
|
|||||||
sudo.execute(ctx, pkgfile)?.arg("--update").status_checked()
|
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<()> {
|
pub fn run_packer_nu(ctx: &ExecutionContext) -> Result<()> {
|
||||||
let nu = require("nu")?;
|
let nu = require("nu")?;
|
||||||
let packer_home = HOME_DIR.join(".local/share/nushell/packer");
|
let packer_home = HOME_DIR.join(".local/share/nushell/packer");
|
||||||
|
|||||||
Reference in New Issue
Block a user