Files
linux-workspace/CLAUDE.md
lachtan obecný 01cefdc6fd InitCLAUDE.ms
2026-02-20 06:38:10 +01:00

1.3 KiB

CLAUDE.md

Dotfiles & workstation automation for Linux, macOS, WSL. bashrc loads rc/*.sh (ordered by prefix) and adds bin/ to PATH. $LWS points to repo root.

Directory Layout

  • rc/ — Shell init files, loaded in 0X-name.sh order. Per-tool env setup goes here.
  • install/ — Idempotent one-off installer scripts (run manually).
  • bin/ — Scripts auto-added to PATH. New CLI tools go here.
  • scripts/ — Setup scripts NOT on PATH (git-config, docker fixes, gnome config).
  • conf/ — Tool configs (vim, WireGuard, WSL).
  • functions.sh — Core lib: append_path, prepend_path, set_uniq_path, source_directory_sh, is_fast_init/is_slow_init, WSL detection, debug logging.

Conventions

All new bash scripts MUST use:

#!/usr/bin/env bash
set -E -o errexit -o nounset -o pipefail

Before writing shell code, check functions.sh for existing helper functions (e.g. can_run, append_path_try, source_try) and prefer them over raw commands.

RC files MUST guard slow tools and check availability:

if is_slow_init && can_run pyenv; then
    # initialize pyenv
fi

Installers (install/*.sh) MUST be idempotent — check before installing.

Env vars: LWS_FAST=1 skips slow tools, LWS_DEBUG=1 enables debug logging.