{% extends "base.html" %} {% block title %}Pacnew Review - garuda-pilot{% endblock %} {% block head_extra %} {% endblock %} {% block content %}
What are .pacnew files? When a package update includes a changed config file that you've already customised, pacman can't safely overwrite your version. Instead it saves the new version alongside yours with a .pacnew extension and leaves the decision to you. For each file you need to choose: keep yours, use the new one, or merge the two. Files marked auto-managed (e.g. written by NetworkManager) should just have their .pacnew deleted — they'll be rewritten by the tool anyway.
{% if not has_claude and not has_ollama %}
AI explanations available — configure Claude or Ollama on the Settings page.
{% endif %} {% if not files %}
OK

No pacnew files found

Nothing to review.

{% else %}
You can try to resolve all manually with: sudo pacdiff copy
{% for f in files %}
{{ f.guidance }} {{ f.current_path }}
{% if has_claude or has_ollama %}
Explain: {% if has_claude %} {% endif %} {% if has_ollama %} {% endif %} Merge: {% if has_claude %} {% endif %} {% if has_ollama %} {% endif %}
{% endif %} ▶ diff
{{ f.guidance_text }}
{% if f.managed_by %}
⚠ Auto-managed file — this file is written by {{ f.managed_by }} and will be overwritten automatically whenever that tool runs. The correct action is to delete the .pacnew: sudo rm {{ f.pacnew_path }} copy
{% endif %}
{% endfor %} {% endif %} {% if backups %}

Pre-merge backups

A backup is saved automatically each time you generate an AI merge. If a merge goes wrong, use the restore command below.

{% for b in backups %} {% endfor %}
FileBacked upSizeRestore
{{ b.original_path }} {{ b.timestamp }} {{ (b.size / 1024) | round(1) }} KB {% set restore_cmd = "sudo cp " + b.backup_path + " " + b.original_path %} copy restore cmd
{% endif %} {% endblock %}