|
root / profiles
profiles Plain Text 74 lines 2.6 KB
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
name: claude-share
description: Share host's Claude CLI state (auth, history, plugins, top-level config) plus the host's installed Claude versions into containers, running the newest version live. The versions/ tree is mounted read-only and a launcher always execs the highest version present, so a host-side 'claude update' propagates to running containers with no restart; in-container self-update is disabled (DISABLE_AUTOUPDATER) and 'claude --upgrade' is intercepted with a hint to upgrade on the host. Enables security.nesting because Claude Code's bundled Bun/JavaScriptCore requires it for interactive mode (thread-suspension signal path is blocked by the non-nesting AppArmor profile).
config:
  environment.PATH: ${HOME}/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
  environment.DISABLE_AUTOUPDATER: "1"
  security.nesting: "true"
devices:
  claude-state:
    type: disk
    source: ${HOME}/.claude
    path: ${HOME}/.claude
    shift: "true"
  claude-config:
    type: disk
    source: ${HOME}/.claude.json
    path: ${HOME}/.claude.json
    shift: "true"
  claude-versions:
    type: disk
    source: ${HOME}/.local/share/claude
    path: ${HOME}/.local/share/claude
    readonly: "true"
    shift: "true"
  claude-bin:
    type: disk
    source: /usr/local/share/repoman/recipes/claude/claude-launcher.sh
    path: ${HOME}/.local/bin/claude
    readonly: "true"
    shift: "true"
name: docker
description: Enable Docker-in-container — Incus security keys plus a systemd drop-in that masks /sys/kernel/security for dockerd. After attaching, install docker.io inside the container.
config:
  security.nesting: "true"
  security.syscalls.intercept.mknod: "true"
  security.syscalls.intercept.setxattr: "true"
devices:
  docker-mask-apparmor:
    type: disk
    source: /usr/local/share/repoman/recipes/docker/mask-apparmor.conf
    path: /etc/systemd/system/docker.service.d/mask-apparmor.conf
    readonly: "true"
    shift: "true"
name: dotfiles
description: Bind common host dotfiles (.gitconfig, .hgrc) into containers.
config: {}
devices:
  gitconfig:
    type: disk
    source: ${HOME}/.gitconfig
    path: ${HOME}/.gitconfig
    readonly: "true"
    shift: "true"
  hgrc:
    type: disk
    source: ${HOME}/.hgrc
    path: ${HOME}/.hgrc
    readonly: "true"
    shift: "true"
name: llm-share
description: Wire containers to the host ollama daemon over LAN.
config:
  environment.OLLAMA_HOST: "http://${HOST_LAN_IP}:11434"
devices:
  ollama-bin:
    type: disk
    source: /usr/local/bin/ollama
    path: /usr/local/bin/ollama
    readonly: "true"
  ollama-state:
    type: disk
    source: ${HOME}/.ollama
    path: ${HOME}/.ollama
    shift: "true"