How nazmussayad/.dotfiles works
This repository is an opinionated Windows/macOS developer-workstation automation system, exposed through command-line utilities and startup tasks. The main user workflow is to run setup or a focused command, which reads workstation configuration, provisions packages or links, and optionally schedules recurring tasks. Separate capabilities cover Git workflows, Slack scheduling, OpenCode configuration, and platform setup. The tree and excerpts support the named utilities and shared helpers; configuration files and several documented setup subsystems are not present in the supplied tree, so their internal wiring is left unspecified.
Main entry points: scripts Setup commands · packages-sync/main.go Package sync · install-windows-tasks/main.go Scheduled tasks · symlink-init/main.go Symlink management
Components 21
Workstation Setup
- Setup commands
src/scripts - Symlink management
src/scripts/symlink-init/main.go - Windows startup
src/scripts/windows-startup.win/main.go - Scheduled tasks
src/install-windows-tasks/main.go - Task XML helper
src/helpers/windows-tasks.go - Shell and editor setup
Package Management
- App configuration
src/helpers/apps.go - Package sync
src/scripts/packages-sync/main.go - Winget tools
src/helpers/winget - Scoop tools
src/helpers/scoop - Homebrew setup
src/helpers/brew.go
Daily Utilities
- Git commands
src/scripts - Slack schedule
src/scripts/slack-status.win/main.go - Slack startup
src/scripts/slack-startup.win/main.go
Integrations
- OpenCode setup
src/scripts/opencode-configure/main.go - Model resolution
src/helpers/opencode/resolve.go
Other components
- Workstation user
- Package managers
- Windows scheduler
- Workstation
- Model sources
Connections 24
- Workstation user → Setup commands: runs setup
- Workstation user → Symlink management: runs command
- Workstation user → Package sync: runs sync
- Workstation user → Git commands: runs command
- Workstation user → Slack schedule: sets mode
- Workstation user → OpenCode setup: configures
- Setup commands → Symlink management: invokes
- Setup commands → Scheduled tasks: invokes
- Setup commands → Shell and editor setup: sets up
- Symlink management → Workstation: writes links
- Package sync → App configuration: loads settings
- App configuration → Package managers: supplies packages
- Package sync → Winget tools: uses
- Package sync → Scoop tools: uses
- Homebrew setup → Package managers: provisions packages
- Git commands → Workstation: operates on repos
- Slack schedule → Workstation: sets startup mode
- Slack startup → Workstation: starts or stops Slack
- Scheduled tasks → Task XML helper: generates task XML
- Scheduled tasks → Windows scheduler: registers tasks
- Windows scheduler → Slack startup: dispatches task
- Windows scheduler → Windows startup: dispatches task
- OpenCode setup → Model resolution: resolves providers
- Model resolution → Model sources: uses model data