Files
gosleep/config/defaults.go
T
forust 8501fd074c feat: initial gosleep-timer implementation
Go TUI sleep timer with modular architecture.
- Config: YAML-based, profile inheritance, auto WM detection
- Engine: timer, executor, stage pipeline (pre→timer→post)
- Modules: workspace (niri/hyprland/kde), media, lock, kill,
  notify, sound, brightness, mute, custom, script
- TUI: bubbletea app with profiles, module toggles, progress bar
- CLI: run, list-profiles, export, import, history, stats
- History: JSONL log with statistics
- QR: config export as ASCII QR
2026-07-03 01:43:22 +02:00

58 lines
941 B
Go

package config
func DefaultConfig() *Config {
return &Config{
Profiles: map[string]Profile{
"default": {
Modules: DefaultModules(),
},
},
}
}
func DefaultModules() *Modules {
return &Modules{
Workspace: &WorkspaceConfig{
Enabled: true,
Backend: "",
Workspace: 12,
},
Media: &MediaConfig{
Enabled: true,
Action: "stop",
},
Lock: &LockConfig{
Enabled: true,
Command: "",
},
Kill: &KillConfig{
Enabled: false,
Processes: nil,
},
Notify: &NotifyConfig{
Enabled: false,
Sound: "",
},
Sound: &SoundConfig{
Enabled: true,
File: "/usr/share/sounds/freedesktop/stereo/complete.oga",
},
Brightness: &BrightnessConfig{
Enabled: false,
Value: 0,
},
Mute: &MuteConfig{
Enabled: false,
},
Custom: &CustomConfig{
Enabled: false,
Pre: nil,
Post: nil,
},
Script: &ScriptConfig{
Enabled: false,
Path: "",
},
}
}