Skip to content

Commit 010af3c

Browse files
committed
updated name
1 parent 5bed075 commit 010af3c

File tree

141 files changed

+1111
-1113
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

141 files changed

+1111
-1113
lines changed

docs/crates.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
window.ALL_CRATES = ["gnulinwiz"];
2-
//{"start":21,"fragment_lengths":[11]}
1+
window.ALL_CRATES = ["glwiz"];
2+
//{"start":21,"fragment_lengths":[7]}

docs/glwiz/all.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="List of all items in this crate"><title>List of all items in this crate</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../static.files/rustdoc-84e720fa.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="glwiz" data-themes="" data-resource-suffix="" data-rustdoc-version="1.89.0 (29483883e 2025-08-04)" data-channel="1.89.0" data-search-js="search-92309212.js" data-settings-js="settings-5514c975.js" ><script src="../static.files/storage-4e99c027.js"></script><script defer src="../static.files/main-fd3af306.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-32bb7600.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-6580c154.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-044be391.svg"></head><body class="rustdoc mod sys"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../glwiz/index.html">glwiz</a><span class="version">1.0.2</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h3><a href="#structs">Crate Items</a></h3><ul class="block"><li><a href="#structs" title="Structs">Structs</a></li><li><a href="#functions" title="Functions">Functions</a></li></ul></section><div id="rustdoc-modnav"></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><h1>List of all items</h1><h3 id="structs">Structs</h3><ul class="all-items"><li><a href="functionality/task/struct.TaskResult.html">functionality::task::TaskResult</a></li><li><a href="functionality/user_cfg/struct.UserCfg.html">functionality::user_cfg::UserCfg</a></li></ul><h3 id="functions">Functions</h3><ul class="all-items"><li><a href="functionality/commands/fn.run_sudo_command.html">functionality::commands::run_sudo_command</a></li><li><a href="functionality/commands/fn.run_sudo_command_with_stdin.html">functionality::commands::run_sudo_command_with_stdin</a></li><li><a href="functionality/commands/fn.run_user_command.html">functionality::commands::run_user_command</a></li><li><a href="functionality/configs/fn.setup_root_config.html">functionality::configs::setup_root_config</a></li><li><a href="functionality/configs/fn.user_config_setup.html">functionality::configs::user_config_setup</a></li><li><a href="functionality/env/fn.get_env_var.html">functionality::env::get_env_var</a></li><li><a href="functionality/iptables/fn.iptables_file_setup.html">functionality::iptables::iptables_file_setup</a></li><li><a href="functionality/iptables/fn.iptables_rules_setup.html">functionality::iptables::iptables_rules_setup</a></li><li><a href="functionality/prog_fun/fn.check_sw_install_type.html">functionality::prog_fun::check_sw_install_type</a></li><li><a href="functionality/prog_fun/fn.default_sw_package.html">functionality::prog_fun::default_sw_package</a></li><li><a href="functionality/prog_fun/fn.print_license_info.html">functionality::prog_fun::print_license_info</a></li><li><a href="functionality/prog_fun/fn.print_setup_status_failed.html">functionality::prog_fun::print_setup_status_failed</a></li><li><a href="functionality/prog_fun/fn.print_setup_status_success.html">functionality::prog_fun::print_setup_status_success</a></li><li><a href="functionality/prog_fun/fn.read_input.html">functionality::prog_fun::read_input</a></li><li><a href="functionality/prog_fun/fn.set_sw_list.html">functionality::prog_fun::set_sw_list</a></li><li><a href="functionality/prog_fun/fn.validate_root_priviliges.html">functionality::prog_fun::validate_root_priviliges</a></li><li><a href="functionality/shell/fn.change_def_shell.html">functionality::shell::change_def_shell</a></li><li><a href="functionality/shell/fn.install_omz.html">functionality::shell::install_omz</a></li><li><a href="functionality/shell/fn.install_zsh_autosuggestions.html">functionality::shell::install_zsh_autosuggestions</a></li><li><a href="functionality/shell/fn.install_zsh_syntax_highlighting.html">functionality::shell::install_zsh_syntax_highlighting</a></li><li><a href="functionality/software/fn.software_setup.html">functionality::software::software_setup</a></li><li><a href="functionality/task/fn.validate_task_statuses.html">functionality::task::validate_task_statuses</a></li><li><a href="functionality/zram/fn.zram_swap_setup.html">functionality::zram::zram_swap_setup</a></li><li><a href="fn.gnu_linux_default_setup.html">gnu_linux_default_setup</a></li></ul></section></div></main></body></html>
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Orchestrates a default post-installation setup for a GNU/Linux system."><title>gnu_linux_default_setup in glwiz - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../static.files/rustdoc-84e720fa.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="glwiz" data-themes="" data-resource-suffix="" data-rustdoc-version="1.89.0 (29483883e 2025-08-04)" data-channel="1.89.0" data-search-js="search-92309212.js" data-settings-js="settings-5514c975.js" ><script src="../static.files/storage-4e99c027.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-fd3af306.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-32bb7600.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-6580c154.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-044be391.svg"></head><body class="rustdoc fn"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../glwiz/index.html">glwiz</a><span class="version">1.0.2</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">gnu_<wbr>linux_<wbr>default_<wbr>setup</a></h2><h3><a href="#">Sections</a></h3><ul class="block top-toc"><li><a href="#arguments" title="Arguments">Arguments</a></li><li><a href="#returns" title="Returns">Returns</a></li><li><a href="#errors" title="Errors">Errors</a></li><li><a href="#example" title="Example">Example</a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="index.html">In crate glwiz</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="index.html">glwiz</a></div><h1>Function <span class="fn">gnu_linux_default_setup</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/glwiz/lib.rs.html#92-216">Source</a> </span></div><pre class="rust item-decl"><code>pub fn gnu_linux_default_setup(allow_root: <a class="primitive" href="https://doc.rust-lang.org/1.89.0/std/primitive.bool.html">bool</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.89.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.89.0/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/1.89.0/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Orchestrates a default post-installation setup for a GNU/Linux system.</p>
2+
<p>This function automates the configuration of essential system components, including:</p>
3+
<ul>
4+
<li>Displaying the GNU General Public License information.</li>
5+
<li>Validating root privileges (with an option to allow root execution).</li>
6+
<li>Setting up user and root environments.</li>
7+
<li>Configuring iptables firewall rules.</li>
8+
<li>Installing software (default or user-specified packages).</li>
9+
<li>Setting Zsh as the default shell with plugins (Oh My Zsh, autosuggestions, syntax highlighting).</li>
10+
<li>Installing Vim configuration.</li>
11+
<li>Configuring ZRAM swap for improved performance.</li>
12+
</ul>
13+
<p>Tasks are executed sequentially, with results collected for comprehensive error reporting.
14+
The setup is designed to be idempotent where possible, checking for existing configurations
15+
to avoid redundant operations.</p>
16+
<h2 id="arguments"><a class="doc-anchor" href="#arguments">§</a>Arguments</h2>
17+
<ul>
18+
<li><code>allow_root</code> - Enables execution with root privileges if <code>true</code>. If <code>false</code>, the program
19+
exits if run as root unless explicitly allowed.</li>
20+
</ul>
21+
<h2 id="returns"><a class="doc-anchor" href="#returns">§</a>Returns</h2>
22+
<ul>
23+
<li><code>Ok(())</code> - All tasks completed successfully.</li>
24+
<li><code>Err(String)</code> - A summary of failed tasks, with details logged to stderr.</li>
25+
</ul>
26+
<h2 id="errors"><a class="doc-anchor" href="#errors">§</a>Errors</h2>
27+
<p>Returns an error if:</p>
28+
<ul>
29+
<li>Environment variables (<code>USER</code>, <code>HOME</code>) are unset.</li>
30+
<li>Any task (e.g., software installation, iptables setup) fails.</li>
31+
<li>Root privileges are required but not allowed.</li>
32+
</ul>
33+
<h2 id="example"><a class="doc-anchor" href="#example">§</a>Example</h2>
34+
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>result = glwiz::gnu_linux_default_setup(<span class="bool-val">true</span>);
35+
<span class="kw">match </span>result {
36+
<span class="prelude-val">Ok</span>(()) =&gt; <span class="macro">println!</span>(<span class="string">"Setup completed successfully!"</span>),
37+
<span class="prelude-val">Err</span>(e) =&gt; <span class="macro">eprintln!</span>(<span class="string">"Setup failed: {}"</span>, e),
38+
}</code></pre></div>
39+
</div></details></section></div></main></body></html>
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Executes a system command with `sudo` privileges, requiring elevated permissions."><title>run_sudo_command in glwiz::functionality::commands - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../../static.files/rustdoc-84e720fa.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="glwiz" data-themes="" data-resource-suffix="" data-rustdoc-version="1.89.0 (29483883e 2025-08-04)" data-channel="1.89.0" data-search-js="search-92309212.js" data-settings-js="settings-5514c975.js" ><script src="../../../static.files/storage-4e99c027.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../../static.files/main-fd3af306.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-32bb7600.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-6580c154.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-044be391.svg"></head><body class="rustdoc fn"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../../glwiz/index.html">glwiz</a><span class="version">1.0.2</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">run_<wbr>sudo_<wbr>command</a></h2><h3><a href="#">Sections</a></h3><ul class="block top-toc"><li><a href="#arguments" title="Arguments">Arguments</a></li><li><a href="#returns" title="Returns">Returns</a></li><li><a href="#errors" title="Errors">Errors</a></li><li><a href="#example" title="Example">Example</a></li><li><a href="#safety" title="Safety">Safety</a></li></ul></section><div id="rustdoc-modnav"><h2><a href="index.html">In glwiz::<wbr>functionality::<wbr>commands</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../../index.html">glwiz</a>::<wbr><a href="../index.html">functionality</a>::<wbr><a href="index.html">commands</a></div><h1>Function <span class="fn">run_sudo_command</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../../src/glwiz/functionality/commands.rs.html#61-77">Source</a> </span></div><pre class="rust item-decl"><code>pub fn run_sudo_command(command: &amp;<a class="primitive" href="https://doc.rust-lang.org/1.89.0/std/primitive.str.html">str</a>, args: &amp;[&amp;<a class="primitive" href="https://doc.rust-lang.org/1.89.0/std/primitive.str.html">str</a>]) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.89.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.89.0/std/primitive.unit.html">()</a>, <a class="struct" href="https://doc.rust-lang.org/1.89.0/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Executes a system command with <code>sudo</code> privileges, requiring elevated permissions.</p>
2+
<p>This function runs a specified command with <code>sudo</code>, passing the provided arguments, and captures
3+
its output. It is used in the “glwiz” project for tasks requiring root access, such as copying
4+
configuration files to system directories or applying iptables rules. The function ensures robust
5+
error handling by reporting command failures with detailed stdout and stderr messages.</p>
6+
<h2 id="arguments"><a class="doc-anchor" href="#arguments">§</a>Arguments</h2>
7+
<ul>
8+
<li><code>command</code> - The command to execute (e.g., <code>"cp"</code>, <code>"iptables-restore"</code>).</li>
9+
<li><code>args</code> - A slice of arguments to pass to the command (e.g., <code>&amp;["-r", "/src", "/dest"]</code>).</li>
10+
</ul>
11+
<h2 id="returns"><a class="doc-anchor" href="#returns">§</a>Returns</h2>
12+
<ul>
13+
<li><code>Ok(())</code> - The command executed successfully.</li>
14+
<li><code>Err(String)</code> - An error message describing the failure, including stdout and stderr if applicable.</li>
15+
</ul>
16+
<h2 id="errors"><a class="doc-anchor" href="#errors">§</a>Errors</h2>
17+
<p>Returns an error if:</p>
18+
<ul>
19+
<li>The <code>sudo</code> command fails to spawn (e.g., <code>sudo</code> is not installed).</li>
20+
<li>The command exits with a non-zero status, indicating failure.</li>
21+
<li>The command’s output cannot be captured or processed.</li>
22+
</ul>
23+
<h2 id="example"><a class="doc-anchor" href="#example">§</a>Example</h2>
24+
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>glwiz::functionality::commands::run_sudo_command;
25+
<span class="kw">let </span>result = run_sudo_command(<span class="string">"cp"</span>, <span class="kw-2">&amp;</span>[<span class="string">"/src/file"</span>, <span class="string">"/dest/file"</span>]);
26+
<span class="kw">match </span>result {
27+
<span class="prelude-val">Ok</span>(()) =&gt; <span class="macro">println!</span>(<span class="string">"File copied successfully"</span>),
28+
<span class="prelude-val">Err</span>(e) =&gt; <span class="macro">eprintln!</span>(<span class="string">"Failed to copy file: {}"</span>, e),
29+
}</code></pre></div>
30+
<h2 id="safety"><a class="doc-anchor" href="#safety">§</a>Safety</h2>
31+
<p>Use caution when running commands with <code>sudo</code>, as they execute with root privileges and can modify
32+
critical system files. Ensure <code>command</code> and <code>args</code> are validated to prevent unintended consequences.</p>
33+
</div></details></section></div></main></body></html>

0 commit comments

Comments
 (0)