---
title: Timeshift Configuration
description: Updates the Timeshift system configuration with the Timeshift configuration stored in the `home/dot_config/timeshift/timeshift.json` location.
sidebar_label: 14 Timeshift Configuration
slug: /scripts/after/run_onchange_after_14-timeshift.sh.tmpl
githubLocation: https://github.com/megabyte-labs/install.doctor/blob/master/home/.chezmoiscripts/universal/run_onchange_after_14-timeshift.sh.tmpl
scriptLocation: https://github.com/megabyte-labs/install.doctor/raw/master/home/.chezmoiscripts/universal/run_onchange_after_14-timeshift.sh.tmpl
repoLocation: home/.chezmoiscripts/universal/run_onchange_after_14-timeshift.sh.tmpl
---
# Timeshift Configuration

Updates the Timeshift system configuration with the Timeshift configuration stored in the `home/dot_config/timeshift/timeshift.json` location.

## Overview

This script applies a Timeshift configuration that defines how Timeshift should maintain system backups.



## Source Code

```
{{- if eq .host.distro.family "linux" -}}
#!/usr/bin/env bash
# @file Timeshift Configuration
# @brief Updates the Timeshift system configuration with the Timeshift configuration stored in the `home/dot_config/timeshift/timeshift.json` location.
# @description
#     This script applies a Timeshift configuration that defines how Timeshift should maintain system backups.

# timeshift.json hash: {{ include (joinPath .chezmoi.homeDir ".config" "timeshift" "timeshift.json") | sha256sum }}

{{ includeTemplate "universal/profile" }}
{{ includeTemplate "universal/logg" }}

if command -v timeshift > /dev/null; then
    logg info 'Ensuring /etc/timeshift is a directory'
    sudo mkdir -p /etc/timeshift
    
    TIMESHIFT_CONFIG="${XDG_CONFIG_HOME:-$HOME/.config}/timeshift/timeshift.json"
    logg info "Copying $TIMESHIFT_CONFIG to /etc/timeshift/timeshift.json"
    sudo cp -f "$TIMESHIFT_CONFIG" /etc/timeshift/timeshift.json
else
    logg info 'The timeshift executable is not available'
fi

{{ end -}}
```
