$schemamarkup = get_post_meta(get_the_ID(), 'schemamarkup', true); if(!empty($schemamarkup)) { echo $schemamarkup; }

How to Add Debian Trixie Non-free Repository Guide

June 18, 2025 | By the+gnu+linux+evangelist.

GNU/Linux Debian Trixie Adding Non Free Repo Guide

Hi! The Tutorial shows you Step-by-Step How to Add Non Free Repository in Debian 13 Trixie GNU/Linux Based OSes.

Especially relevant: this Guide Show How to Properly Add Debian Trixie Non-free Repo to install just the Needed Software and then Preserving the Free Nature of System!

The Repos Features are:

  • Non-free includes Packages whose Licences are not free
  • Contrib the Dependencies of non-free Packages (which make them not part of Default Repos)
How to Add Debian Trixie Non-free Repository Guide
  1. 1. Launching Terminal

    How to QuickStart with Command Line on Debian GNU/Linux

    Bash Shell Debian QuickStart Guide
  2. 2. Adding Non-free Repo

    Then to Add Non Free Repository in Debian
    Edit Repo with nano Editor:

    Simply run: At the end of each line after ‘main’ append:
     contrib non-free non-free-firmware
    Like: deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware Ctrl+x to Save & Exit from nano Editor.
    Last, Refresh the Apt Sources with:
    sudo apt update
  3. 3. Preserving Debian Free System

    (Optional) This if you want to Preserve the Valuable Free Nature of Debian System.
    To do so you have to strictly Allowing only the Installation of Some Non-free Package with an Apt Pinning.
    First, Disable All Non free Software with this content:

    Explanation: Disable packages from non-free tree by default
    Package: *
    Pin: release o=Debian,a=stable,l=Debian,c=non-free
    Pin-Priority: -1
    
    To Make it at once execute:
    sudo echo -e "Explanation: Disable packages from non-free tree by default
    Package: *
    Pin: release o=Debian,a=stable,l=Debian,c=non-free
    Pin-Priority: -1" > /etc/apt/preferences.d/non-free_policy
    And then Enable the Software of Choice, E.g. firmware-iwlwifi:
    Explanation: Enable package firmware-iwlwifi from non-free tree
    Package: firmware-iwlwifi
    Pin: release o=Debian,a=stable,l=Debian,c=non-free
    Pin-Priority: 130
    
    Again with a simple echo:)
    sudo echo -e "Explanation: Enable package firmware-iwlwifi from non-free tree
    Package: firmware-iwlwifi
    Pin: release o=Debian,a=stable,l=Debian,c=non-free
    Pin-Priority: 130" > /etc/apt/preferences.d/firmware-iwlwifi_non-free
    But to enable Multiple packages at once proceed like that:
    Explanation: Enable package firmware-iwlwifi nvidia-driver from non-free tree
    Package: firmware-iwlwifi nvidia-driver
    Pin: release o=Debian,a=stable,l=Debian,c=non-free
    Pin-Priority: 130
    
    Again translated in a Command like:
    sudo echo -e "Explanation: Enable package firmware-iwlwifi nvidia-driver from non-free tree
    Package: firmware-iwlwifi nvidia-driver
    Pin: release o=Debian,a=stable,l=Debian,c=non-free
    Pin-Priority: 130" > /etc/apt/preferences.d/enabled-packages_non-free
    The only drawback of the procedure is that you have to repeat it every time you need some new Non-free software…
    For further instructions see: Advanced Apt Pinning Techniques.