Skip to content

Linux setup

If you are using a headless server (ubuntu-server for example), prefer to use a client with a GUI and connect to the server via SSH so you can copy-paste the commands and use Personal-OS-Setup with a mouse.

Installation Process

The Personal OS Setup provides a Terminal UI (TUI) application that guides you through the installation process. Once you run the one-liner installer, you'll see an interactive interface with the following steps:

Use README.md as it automatically handles the OS setup with the interactive TUI application.

Before installing packages, it's recommended to update your system.

1. Package Selection

The app displays all available packages from packages.yaml organized by category: - Core tools: git, curl, zsh - Terminal tools: bat, btop, fzf, lsd, fastfetch - Apps: Code editor, messaging apps, media players, etc.

You can multi-select packages using the interactive interface.

2. Terminal Setup (Zsh + Oh My Zsh + Powerlevel10k)

The app provides buttons to automate the terminal configuration:

  • Install JetBrainsMono Nerd Font: Required for proper theme rendering
  • Apply ~/.zshrc: Configures shell aliases and environment variables
  • Apply ~/.p10k.zsh: Applies Powerlevel10k theme configuration
  • Sync zsh plugins/theme: Installs Oh My Zsh plugins and themes
  • Set zsh as default shell: Makes Zsh your default login shell

Python Management: The zshrc configuration replaces both python3 and python with the alias uv run python, ensuring you always use the uv package manager for Python execution instead of the system Python.

.env Detection: The configuration automatically detects and loads .env files from your project directories, making environment variables available in your shell session without manual setup.

See the zshrc configuration file for the default configuration used by this project.

If you need to revert changes: - Uninstall Oh My Zsh and Powerlevel10k files - Uninstall Zsh package - Reset Bash as default shell

Additional system configuration options (only if you have NVIDIA GPU): - Detect NVIDIA: Check if NVIDIA GPU is available - Setup NVIDIA (WSL): Configure NVIDIA drivers for WSL2 - Detect CUDA: Check CUDA installation - Setup CUDA (Advanced): Configure CUDA for GPU computing

CUDA Installation (Native Linux)

To install CUDA on native Linux, follow the pre-installation actions from the official guide: CUDA Installation Guide for Linux

CUDA in Docker

To enable GPU support inside Docker containers, install the NVIDIA Container Toolkit: NVIDIA Container Toolkit Install Guide (apt — Ubuntu/Debian)

Docker post-install: run without sudo (Ubuntu)

By default, Docker requires sudo to run. To allow your user (and any tools or scripts) to use Docker without sudo, add yourself to the docker group:

sudo groupadd docker          # create the group (usually already exists)
sudo usermod -aG docker $USER # add your user to the group
newgrp docker                 # activate the change in the current shell

Pro Tip: newgrp docker only applies to the current terminal window. For a permanent, system-wide effect, log out of your SSH session and log back in.