Migrate to chezmoi with per-host sway/waybar configs

- Restructure repo into chezmoi source layout (dot_ prefix)
- Add .chezmoi.toml.tmpl mapping hostname to hosttype (laptop/desktop)
- Template sway config.d fragments (outputs/inputs/binds) per host
- Template waybar config.jsonc with shared bar/module definitions
- Host-scope pulsemeeter (flow) and teams-for-linux (desktop hosts) via .chezmoiignore
- Trim install.sh package lists to configured software + config deps
- Remove stale kitty.conf.bak and untracked host fragments
This commit is contained in:
2026-08-01 22:37:00 -04:00
parent b550677af7
commit 7e6d30c3cd
71 changed files with 264 additions and 389 deletions
+11
View File
@@ -0,0 +1,11 @@
{{- if eq .chezmoi.hostname "framework13pro" -}}
[{{ template "bar-primary" (dict "out" "eDP-1" "ws" (list "1" "2" "3" "4")) }},
{{ template "bar-secondary" . }}]
{{- else if eq .chezmoi.hostname "flow" -}}
[{{ template "bar-primary" (dict "out" "DP-1" "ws" (list "1" "2" "3" "4")) }},
{{ template "bar-secondary" . }}]
{{- else if eq .chezmoi.hostname "gata" -}}
// TODO: fill in gata's outputs (run: swaymsg -t get_outputs)
[{{ template "bar-primary" (dict "out" "DP-1" "ws" (list "1" "2" "3" "4")) }},
{{ template "bar-secondary" . }}]
{{- end }}
+26
View File
@@ -0,0 +1,26 @@
@define-color rosewater #f5e0dc;
@define-color flamingo #f2cdcd;
@define-color pink #f5c2e7;
@define-color mauve #cba6f7;
@define-color red #f38ba8;
@define-color maroon #eba0ac;
@define-color peach #fab387;
@define-color yellow #f9e2af;
@define-color green #a6e3a1;
@define-color teal #94e2d5;
@define-color sky #89dceb;
@define-color sapphire #74c7ec;
@define-color blue #89b4fa;
@define-color lavender #b4befe;
@define-color text #cdd6f4;
@define-color subtext1 #bac2de;
@define-color subtext0 #a6adc8;
@define-color overlay2 #9399b2;
@define-color overlay1 #7f849c;
@define-color overlay0 #6c7086;
@define-color surface2 #585b70;
@define-color surface1 #45475a;
@define-color surface0 #313244;
@define-color base #1e1e2e;
@define-color mantle #181825;
@define-color crust #11111b;
+23
View File
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<object class="GtkMenu" id="menu">
<child>
<object class="GtkMenuItem" id="logout">
<property name="label">Logout</property>
</object>
</child>
<child>
<object class="GtkSeparatorMenuItem"/>
</child>
<child>
<object class="GtkMenuItem" id="shutdown">
<property name="label">Shutdown</property>
</object>
</child>
<child>
<object class="GtkMenuItem" id="reboot">
<property name="label">Reboot</property>
</object>
</child>
</object>
</interface>
+86
View File
@@ -0,0 +1,86 @@
@import "mocha.css";
* {
font-family: JetBrainsMono Nerd Font;
min-height: 0;
padding: 0;
}
#waybar {
background-color: @crust;
color: @text;
}
#workspaces {
}
#workspaces button {
color: @crust;
border: 0;
transition-duration: 0;
}
#workspaces button.active {
color: @sky;
}
#custom-music,
#tray,
#backlight,
#clock,
#battery,
#pulseaudio,
#custom-lock,
#custom-power,
#memory {
padding: 0.5rem 1rem;
}
#memory {
}
#clock {
color: @blue;
}
#battery {
color: @green;
}
#battery.charging {
color: @green;
}
#battery.warning:not(.charging) {
color: @red;
}
#backlight {
color: @yellow;
}
#backlight, #battery {
border-radius: 0;
}
#pulseaudio {
color: @maroon;
}
#custom-music {
color: @mauve;
border-radius: 1rem;
}
#custom-lock {
color: @lavender;
}
#custom-power {
background-color: @red;
color: @crust;
}
#tray {
padding-bottom: 2rem;
}
+12
View File
@@ -0,0 +1,12 @@
{
"zone_name": "SMSL 400",
"format": {
"playing": "󰐊 {artist} - {title}",
"paused": "󰏤 {artist} - {title}",
"stopped": "󰓛 Stopped",
"loading": "󰄰 Loading...",
"no_zone": "󰓛 No Zone"
},
"max_length": 60,
"update_interval": 1
}