107 lines
4.3 KiB
TypeScript
Raw Normal View History

2025-03-02 11:45:13 +01:00
import { Sliders } from "lucide-react"
2025-03-06 23:05:11 +01:00
import CodeBlock from "./code-block"
2025-03-06 22:04:12 +01:00
function StepNumber({ number }: { number: number }) {
return (
<div className="inline-flex items-center justify-center w-8 h-8 mr-3 text-white bg-blue-500 rounded-full">
<span className="text-sm font-bold">{number}</span>
</div>
)
2025-02-25 20:40:47 +01:00
}
export default function CustomizationSettingsPage() {
return (
<div className="container mx-auto px-4 py-8">
2025-03-01 16:12:26 +01:00
<div className="flex items-center mb-6">
2025-03-02 11:45:13 +01:00
<Sliders className="h-8 w-8 mr-2 text-blue-500" />
2025-03-01 16:12:26 +01:00
<h1 className="text-3xl font-bold">Customization Settings</h1>
2025-03-01 16:17:08 +01:00
</div>
2025-03-06 22:04:12 +01:00
<p className="mb-4">
2025-03-06 22:52:55 +01:00
The <strong>Customization Settings</strong> section allows you to configure and personalize the Proxmox VE
environment with specific adjustments.
2025-03-06 22:04:12 +01:00
</p>
<h3 className="text-xl font-semibold mt-16 mb-4 flex items-center">
<StepNumber number={1} />
Customize Bash Prompt and Aliases
</h3>
<p className="mb-4">
2025-03-06 22:52:55 +01:00
This option modifies the root user's <code>.bashrc</code> to enhance command-line usability by adding colorized
prompts and useful aliases.
2025-03-06 22:04:12 +01:00
</p>
<p className="mb-4">What it does:</p>
<ul className="list-disc pl-5 mb-4">
2025-03-06 22:52:55 +01:00
<li>
Backs up the original <code>.bashrc</code> file
</li>
2025-03-06 22:04:12 +01:00
<li>Configures a custom prompt with timestamp</li>
2025-03-06 22:52:55 +01:00
<li>
Adds colorized <code>ls</code> and <code>grep</code> aliases
</li>
<li>
Ensures <code>.bashrc</code> is sourced in <code>.bash_profile</code>
</li>
2025-03-06 22:04:12 +01:00
</ul>
<p className="text-lg mb-2">This adjustment automates the following commands:</p>
2025-03-06 23:05:11 +01:00
<CodeBlock
code={`# Modify .bashrc for root
2025-03-06 22:04:12 +01:00
cp /root/.bashrc /root/.bashrc.bak
sed -i '/HISTTIMEFORMAT/d' /root/.bashrc
sed -i '/PS1/d' /root/.bashrc
sed -i '/alias/d' /root/.bashrc
echo 'export HISTTIMEFORMAT="%d/%m/%y %T "' >> /root/.bashrc
echo 'export PS1="\\u@\\h:\\W \\\$ "' >> /root/.bashrc
echo "alias ll='ls -alF'" >> /root/.bashrc
2025-03-06 22:52:55 +01:00
source /root/.bashrc`}
2025-03-06 23:05:11 +01:00
/>
2025-03-06 22:04:12 +01:00
<h3 className="text-xl font-semibold mt-16 mb-4 flex items-center">
<StepNumber number={2} />
Configure MOTD (Message of the Day)
</h3>
2025-03-06 22:52:55 +01:00
<p className="mb-4">This option customizes the MOTD to display a ProxMenux optimization message upon login.</p>
2025-03-06 22:04:12 +01:00
<p className="text-lg mb-2">This adjustment automates the following commands:</p>
2025-03-06 23:05:11 +01:00
<CodeBlock
code={`# Backup original MOTD
2025-03-06 22:04:12 +01:00
cp /etc/motd /etc/motd.bak
2025-03-06 22:52:55 +01:00
echo "This system is optimized by: ProxMenux" | cat - /etc/motd > temp && mv temp /etc/motd`}
2025-03-06 23:05:11 +01:00
/>
2025-03-06 22:04:12 +01:00
<h3 className="text-xl font-semibold mt-16 mb-4 flex items-center">
<StepNumber number={3} />
Remove Proxmox Subscription Banner
</h3>
<p className="mb-4">
This option removes the Proxmox subscription banner and nag prompts from the web interface.
</p>
<p className="mb-4">What it does:</p>
<ul className="list-disc pl-5 mb-4">
2025-03-06 22:52:55 +01:00
<li>
Patches <code>proxmoxlib.js</code> to disable banner checks
</li>
2025-03-06 22:04:12 +01:00
<li>Creates a cron job to ensure banner removal persists</li>
<li>Configures APT to prevent nagging messages</li>
</ul>
<p className="text-lg mb-2">This adjustment automates the following commands:</p>
2025-03-06 23:05:11 +01:00
<CodeBlock
code={`# Remove Proxmox subscription banner
2025-03-06 22:04:12 +01:00
sed -i "s/data.status !== 'Active'/false/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
sed -i "s/checked_command: function(orig_cmd) {/checked_command: function() {} || function(orig_cmd) {/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
2025-03-06 22:52:55 +01:00
echo "DPkg::Post-Invoke { \\"dpkg -V proxmox-widget-toolkit | grep -q '/proxmoxlib\\\\.js$'; if [ $\\? -eq 1 ]; then { echo 'Removing subscription nag from UI...'; sed -i '/data.status/{s/\\!/\\!/;s/Active/NoMoreNagging/}' /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js; }; fi\\"; };" > /etc/apt/apt.conf.d/xs-pve-no-nag`}
2025-03-06 23:05:11 +01:00
/>
2025-03-06 22:04:12 +01:00
<section className="mt-12 p-4 bg-blue-100 rounded-md">
<h2 className="text-xl font-semibold mb-2">Customization Application</h2>
<p>
2025-03-06 22:52:55 +01:00
These customization settings are applied automatically when selected in the post-install process. Adjustments
can be made manually as needed.
2025-03-06 22:04:12 +01:00
</p>
</section>
2025-02-25 20:40:47 +01:00
</div>
)
2025-03-02 11:44:03 +01:00
}
2025-03-06 22:52:55 +01:00