guix home: state

Introduction

Prerquisities

Warning

  • the tool is highly experimental

State Lifecycle

init
(no term)
modify
sync
pull, push, backup
(no term)
archive/delete

Use Cases

  • Init or fetch dirictories with data
  • Copy files from backup server
  • Fetch mailboxes
  • Clone working projects repositories

Usage Example

Thanks

  • Xinglu Chen aka yoctocell
  • all the participants

Implementation Details

Shepherd Services and Actions

  • start & auto-start
  • init
  • sync

State Module

State Types

  • generic
  • git + config
  • rsync

Where to Implement state-TYPE?

  • In the state module
  • In tool module

Progress on guix home

Services

ready
shepherd, profile, files, symlink-manager, ssh
in-progress
gnupg, git, mcron, generic, state
next
bash, emacs, pass, isync, sway

Other Stuff

Future Work

  • Clean up & UX improvements
  • Documentation
  • Announcement for early adopters
  • Upstreaming to guix