Change Tuxedo OS Powerlevel 10k (Zsh) Terminal Icon

Abstract: Replace the default Linux penguin in Tuxedo OS terminal with a custom icon using Powerlevel 10k and JetBrains Mono Nerd Font.

Created: 2026-08-12 by

Replace the default Linux penguin in your Tuxedo OS terminal with a custom icon by configuring Powerlevel 10k to use JetBrains Mono Nerd Font. This guide details the steps to modify your Zsh configuration, ensuring a personalized and professional appearance for your command-line interface without altering system files.

Prerequisites and Font Installation

Before modifying your shell prompt, you must ensure that your system can render the specific glyphs required by Powerlevel 10k. The default terminal icon is often a static image or a simple character, but modern customization relies on patching fonts with additional symbols. JetBrains Mono Nerd Font is an excellent choice because it combines readability with a vast library of programming-related icons, including various operating system logos and tech symbols. First, verify if the font is already installed on your Tuxedo OS system. Open your existing terminal and run the following command to check for available fonts:
fc-list | grep -i "jetbrains mono"
If this command returns no results, you need to install the font. You can download the patched version from the official Nerd Fonts website or use your package manager if available. For most Linux distributions, including those based on Ubuntu like Tuxedo OS, you can install it via the terminal:
sudo apt install fonts-jetbrains-mono-nerd-font
After installation, you may need to clear your font cache to ensure the system recognizes the new glyphs immediately. Run:
fc-cache -fv
This step is critical because even if the font file is present, the terminal emulator might not load it until the cache is refreshed. Without this, your prompt will likely display missing character boxes instead of your chosen icon.

Configuring Powerlevel 10k Settings

Powerlevel 10k provides an interactive configuration wizard that makes changing the terminal icon straightforward. Instead of manually editing complex configuration files, you can use the built-in setup tool to select your preferred icon and font settings. This approach reduces the risk of syntax errors and ensures that all dependencies are correctly linked. To launch the configuration wizard, simply type the following command in your terminal and press Enter:
p10k configure
The wizard will open a series of menus guiding you through the customization process. Navigate to the section labeled "Icons" or "Prompt Icons." Here, you will see options for different segments of the prompt, such as the user, host, and directory. Look for the option related to the left prompt segment or the global icon setting. When prompted to choose an icon, you will be presented with a list of available symbols. Since you are using JetBrains Mono Nerd Font, you should see a variety of tech-related icons. Select the one that best represents your personal brand or preference. If you wish to replace the default Linux penguin specifically, look for icons labeled "Linux," "Tux," or similar variations. The wizard will also ask you to confirm your font family. Ensure that JetBrains Mono Nerd Font is selected. If the previous steps were followed correctly, this font should appear in the dropdown list. Confirming this selection tells Powerlevel 10k to use the patched glyphs rather than standard ASCII characters. Once you have made your selections, the wizard will generate a snippet of code to add to your configuration file. It will usually ask if you want to overwrite your current configuration. Choose yes if you are starting fresh, or no if you want to merge the changes manually. For most users, allowing the wizard to update the configuration is the safest and fastest method.

Manual Configuration for Advanced Users

While the interactive wizard is convenient, some users prefer manual control over their Zsh configuration. If you choose this route, you will need to edit the .zshrc file located in your home directory. Open this file using your preferred text editor, such as nano or vim:
nano ~/.zshrc
Locate the section where Powerlevel 10k variables are defined. You may need to add or modify the ZSH_THEME variable if it is not already set to "powerlevel10k/powerlevel10k". Additionally, you can explicitly set the font family by adding:
POWERLEVEL9K_MODE="nerdfont-complete"
Or for newer versions of Powerlevel 10k:
POWERLEVEL10K_MODE="nerdfont-complete"
You can also customize specific icons by defining variables like POWERLEVEL10K_LEFT_PROMPT_ELEMENTS or individual icon variables such as POWERLEVEL10K_OS_ICON_BACKGROUND. However, this level of detail is often unnecessary if the wizard has already configured the general structure. Be cautious when editing manually, as incorrect syntax can prevent your shell from loading properly. Always back up your .zshrc file before making changes:
cp ~/.zshrc ~/.zshrc.backup
After saving your changes, reload your configuration by running:
source ~/.zshrc
This command applies the new settings immediately without requiring a restart of the terminal emulator. If the icon does not appear, double-check that the font is correctly installed and that the mode is set to nerdfont-complete.

Troubleshooting Common Issues

Even with correct configurations, issues may arise due to caching or terminal emulator limitations. If your terminal still shows the old icon or displays question marks, try restarting the terminal application entirely. Some emulators do not dynamically update font rendering upon configuration changes. Another common issue is conflicting themes. If you have multiple Zsh plugins installed, they might override Powerlevel 10k settings. Check your plugin list in .zshrc to ensure that no other theme loader is active. You can temporarily disable other plugins by commenting them out with a # symbol to isolate the problem. For deeper diagnostics, you can inspect the environment variables related to fonts. Use the command echo $TERM to verify your terminal type. Most modern terminals support true color and wide characters, which are necessary for Nerd Fonts. If you are using an older or minimal terminal emulator, consider switching to one like GNOME Terminal, Konsole, or Alacritty, which have robust support for advanced font features. Additionally, refer to our guide on Temporarily Disable History in Zsh Like Bash: A Tech Support Guide if you encounter unexpected behavior in command history after reconfiguring your prompt, as sometimes shell resets can affect session states. Similarly, if you manage multiple panes, check Access Command History of a Specific Byobu Pane in Zsh to ensure your visual changes do not interfere with pane-specific workflows.

Frequently Asked Questions

Why does my terminal show squares instead of icons?

This usually indicates that the terminal emulator does not support the Nerd Font glyphs or that the font is not installed correctly. Ensure you have installed the patched version of JetBrains Mono and that your terminal settings specify this font family.

Can I use a different font besides JetBrains Mono?

Yes, any font patched with Nerd Fonts will work, such as Fira Code, Hack, or Cascadia Code. The key requirement is that the font must include the specific Unicode characters used by Powerlevel 10k for the icons you wish to display.

How do I revert to the default Linux penguin icon?

You can revert to the default by running p10k configure again and selecting the original icon options, or by removing the custom icon variables from your .zshrc file. Restarting the terminal will apply the reverted settings.

Does changing the icon affect terminal performance?

No, changing the prompt icon has negligible impact on performance. The rendering of icons is handled by the terminal emulator's font subsystem, which is optimized for speed. Any perceived slowdown is likely due to other heavy plugins or commands in your prompt.

What if I want to change the icon only for specific directories?

Powerlevel 10k supports context-sensitive prompts. You can configure it to display different icons based on the current directory path or environment variables. This requires advanced configuration in .zshrc using conditional logic within the prompt segments.

Latest News

How to Display Output of xterm Command in Terminal Screen using Cron

Resolve the inability to display xterm output in a terminal screen from cron by redirecting logs or using wall instead of insecure X11 workarounds.

Read More
Expose Local Server on VPS Preserving Real Client IPs (OS Level)

Resolve VPS logging showing only gateway IPs by configuring reverse proxies to forward real client addresses via X-Forwarded-For headers.

Read More
How to Clear Recent Files History in Linux without Deleting Actual Files?

Clear recent files history in Linux by deleting ~/.local/share/recently-used.xbel without removing the actual files.

Read More
Best HDD Copy Strategy: Manually Syncing and Rewriting Scratch

Resolve data drift between two 4TB hard drives by using rsync with the --delete flag to manually sync and rewrite scratch data for an exact mirror.

Read More
Understanding Bash Prompt Abbreviations: An Overview

Resolve repetitive typing errors by creating and persisting Bash aliases in the .bashrc file for improved command-line efficiency.

Read More
Free Tools and Methods to Log Real-Time Performance Details in Task Manager

Log real-time CPU and memory metrics to CSV files using Windows Performance Monitor Data Collector Sets to troubleshoot system slowness.

Read More
Contact Qatar Airways Customer Service: Phone Number, Help Center, and More

Resolve urgent Qatar Airways reservation issues like flight changes and baggage claims using the US phone number +1801-855-5905 or online self-service tools.

Read More
Windows 11: Alt Codes Displaying Wrong Characters - Solutions

Resolve Windows 11 Alt codes showing wrong characters by verifying the US keyboard layout and enabling Num Lock.

Read More
Run Programs with Elevated Privileges: A Comprehensive Guide

Eliminates the need to type sudo for frequent administrative tasks by configuring .bashrc aliases or functions.

Read More
Dynamically Changing Dates in Excel Formulas Using Cells

Eliminate manual date updates in Excel by using cell references to create dynamic formulas that automatically adjust calculations when input dates change.

Read More
Granting Edit Access to a Specific Excel Sheet in an Office 365 User Email ID-Based Login

Excel Online lacks native sheet-level permissions, so users must split workbooks or use worksheet protection to isolate edit access for specific tabs.

Read More
Creating Network Load on Local Wi-Fi from One PC

Generate sustained Wi-Fi bandwidth load from a single PC using a VM SFTP server to test router stability and throughput.

Read More
Changing the Default Editor for Batch Files in Windows 11's File Explorer

Resolve the issue of batch files opening in Notepad by changing the default editor to a preferred application like VS Code.

Read More
Gain WiFi Connection Minutes Before Losing it by Changing MAC Address

Bypass MAC address filtering to restore WiFi connectivity temporarily when a device is blocked by network administrators.

Read More
Photos Folders Turned Black: Troubleshooting Picture Applications on Windows

Resolve black screens in Windows Photos by resetting the app, updating graphics drivers, and repairing system files.

Read More
Troubleshooting High CPU Temperature Values: A Step-by-Step Guide

Resolve high CPU temperatures and thermal throttling by monitoring with Speedfan, cleaning dust from cooling components, and replacing degraded thermal paste.

Read More
Make cURL establish TLS connection with CA unknown

Resolve cURL TLS connection failures with unknown or self-signed certificates by using the --insecure flag to bypass CA validation.

Read More
Troubleshooting Incorrect Network Metrics Values in Grafana, Prometheus, InfluxDB, and Telegraf

Fix incorrect network metrics in Grafana, Prometheus, InfluxDB, and Telegraf by verifying interface selection, resolving unit mismatches, and handling counter resets.

Read More
Start Another Terminal Window (cmd.exe) Windows Repair/Troubleshoot

Provides step-by-step instructions to access the Windows Command Prompt via bootable media for advanced system repair and troubleshooting.

Read More
Thinkpad P1 Gen 6: Sudden Thunderbolt 3 Dock USB-C Charging Stopped Working

Resolve sudden Thunderbolt 3 dock USB-C charging and internet failure on ThinkPad P1 Gen 6 by updating firmware, resetting the dock, and adjusting power settings.

Read More
ASUS Windows 11 Laptop: Internet Connection Issue with Hotspot

Resolve ASUS Windows 11 laptop spinning wheel issue when connecting to mobile hotspot by resetting network stack, disabling IPv6, and adjusting power settings.

Read More
Developing iOS Project with Firebase: Logging in and Sending Push Notifications

Integrates Firebase to enable secure user authentication and push notifications in iOS applications.

Read More
Troubleshooting Bash Script with Suspected Issues of Spaces, Dashes, Filenames and Quoting

Resolve Bash script failures caused by word splitting, globbing, and special characters in filenames by applying proper quoting techniques.

Read More
Populating OneDrive Folder for Local Backup without Affecting Remote Files

Prevent OneDrive from deleting remote files during Windows reinstallation by unlinking the account or using symbolic links to isolate local data.

Read More
Force First Frame as Keyframe Without Re-encoding: A Quick Solution

Resolve inaccurate seeking and playback glitches by re-encoding video to ensure the first frame is a valid keyframe.

Read More
Find Information in Database Using WSL (Ubuntu) on Windows-10

Resolve database connection issues from WSL Ubuntu on Windows 10 by configuring client tools and network access to query remote or local servers.

Read More
Configuring a New Router with Different Networks: One Family, One Guest

Resolve IP conflicts and isolate guest traffic by configuring a second router with a distinct subnet via its WAN port.

Read More
Quickly Open Multiple Stock Websites with a Single Command

Solve the problem of manually opening multiple stock research websites by creating a single command to launch them simultaneously on Windows, macOS, or Linux.

Read More
Improved Adobe Acrobat Search Experience: Access Advanced Search with Ease

Access advanced search filters like case sensitivity and regex in Adobe Acrobat by clicking More Options in the Find bar.

Read More
Port Forwarding VM via OpenVPN: A Comprehensive Guide

Configure OpenVPN server and iptables to forward specific ports from VPN clients to a virtual machine's internal IP address.

Read More
Understanding Partitions in the 1980s: A Look Back at MS-DOS and Master Boot Record

Explains how the Master Boot Record and partition table enabled MS-DOS to manage multiple disk volumes on a single physical drive.

Read More
Windows 10 Enterprise: Keyboard Not Detected in Managed Organization with Admin Privileges

Resolve Windows 10 Enterprise keyboard detection failures caused by Group Policy restrictions, driver corruption, or USB enumeration errors.

Read More
Can't Find x86_64 Versions of Applications on MacOS arm64 (M1)

Resolve missing x86_64 app issues on M1 Macs by installing Rosetta 2 and reinstalling apps as universal binaries.

Read More
How to Hide Installation Source for an Android App

Manage Android app installation source visibility by using USB transfers or file managers to reduce browser traces and isolate data via work profiles.

Read More
Connecting Momentus 4200.2 ST9808210A Hard Drive via USB Cable

Resolve inability to access Seagate Momentus 4200.2 ST9808210A hard drive by connecting it via USB using a compatible SATA-to-USB adapter and configuring the disk in Windows.

Read More