<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dotfiles/.chezmoiignore, branch master</title>
<subtitle>My linux config and rc files
</subtitle>
<id>https://git.sommerfeld.dev/dotfiles/atom?h=master</id>
<link rel='self' href='https://git.sommerfeld.dev/dotfiles/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.sommerfeld.dev/dotfiles/'/>
<updated>2026-04-21T00:25:02Z</updated>
<entry>
<title>chore: prune stale/redundant chezmoi config</title>
<updated>2026-04-21T00:25:02Z</updated>
<author>
<name>sommerfeld</name>
<email>sommerfeld@sommerfeld.dev</email>
</author>
<published>2026-04-21T00:25:02Z</published>
<link rel='alternate' type='text/html' href='https://git.sommerfeld.dev/dotfiles/commit/?id=201932ce77d8e7ca6fc66e3feb41cebdf68eb573'/>
<id>urn:sha1:201932ce77d8e7ca6fc66e3feb41cebdf68eb573</id>
<content type='text'>
.chezmoiignore:
- remove create-efi.sh (deleted in UKI migration)
- remove dot-prefixed entries (.editorconfig, .github/, .worktrees/,
  .githooks/, .stylua.toml, .prettierrc.json, .ruff_cache); chezmoi
  already ignores source paths beginning with '.' by default (reserved
  chezmoi names aside)

.chezmoi.toml.tmpl:
- drop unused data.hostname (not referenced by any template)
</content>
</entry>
<entry>
<title>chore: ignore bootstrap.sh in chezmoi, mask xdg-user-dirs-update</title>
<updated>2026-04-21T00:25:02Z</updated>
<author>
<name>sommerfeld</name>
<email>sommerfeld@sommerfeld.dev</email>
</author>
<published>2026-04-21T00:25:02Z</published>
<link rel='alternate' type='text/html' href='https://git.sommerfeld.dev/dotfiles/commit/?id=932deff228dd3d0a33527b2256c3a675b45696a1'/>
<id>urn:sha1:932deff228dd3d0a33527b2256c3a675b45696a1</id>
<content type='text'>
bootstrap.sh is host-only bootstrapping and should not deploy into $HOME.

The xdg-user-dirs-update.service user unit (shipped enabled by the
xdg-user-dirs package) rewrites ~/.config/user-dirs.dirs on login,
clobbering the tracked short-path variant (docs/dl/pics/vids). Mask
it by symlinking to /dev/null.
</content>
</entry>
<entry>
<title>refactor(justfile): extract fmt/lint helpers into just-lib.sh; add doctor recipe</title>
<updated>2026-04-21T00:24:38Z</updated>
<author>
<name>sommerfeld</name>
<email>sommerfeld@sommerfeld.dev</email>
</author>
<published>2026-04-21T00:24:38Z</published>
<link rel='alternate' type='text/html' href='https://git.sommerfeld.dev/dotfiles/commit/?id=f8024b5097eb42119c9aa55ade98630df041f4f2'/>
<id>urn:sha1:f8024b5097eb42119c9aa55ade98630df041f4f2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>chore(selene): rename globals file, add mp, allow mixed_table</title>
<updated>2026-04-21T00:24:37Z</updated>
<author>
<name>sommerfeld</name>
<email>sommerfeld@sommerfeld.dev</email>
</author>
<published>2026-04-21T00:24:37Z</published>
<link rel='alternate' type='text/html' href='https://git.sommerfeld.dev/dotfiles/commit/?id=b4c611404729540ac87c140cebdd97cf2f87bb5b'/>
<id>urn:sha1:b4c611404729540ac87c140cebdd97cf2f87bb5b</id>
<content type='text'>
Rename nvim.yml to selene-globals.yml (more accurate scope). Add the
mpv scripting 'mp' global alongside neovim's 'vim'. Allow mixed_table
since it's idiomatic in lazy.nvim/which-key specs.
</content>
</entry>
<entry>
<title>chore: add stylua/selene/prettier config files</title>
<updated>2026-04-21T00:24:35Z</updated>
<author>
<name>sommerfeld</name>
<email>sommerfeld@sommerfeld.dev</email>
</author>
<published>2026-04-21T00:24:35Z</published>
<link rel='alternate' type='text/html' href='https://git.sommerfeld.dev/dotfiles/commit/?id=4ea067d84b13630704392c91b00fc53906337bb6'/>
<id>urn:sha1:4ea067d84b13630704392c91b00fc53906337bb6</id>
<content type='text'>
Add minimal config for the upcoming fmt/lint recipes:

- .stylua.toml: stylua-specific knobs only; indent/line-length/eol
  continue to come from .editorconfig (stylua reads it natively).
- selene.toml + nvim.yml: lua51 base plus a 'vim' global so neovim
  config files don't get flagged as undefined.
- .prettierrc.json: double quotes, trailing commas, 80-col, preserve
  prose wrap (avoid reflowing markdown).

All four ignored by chezmoi so they stay repo-only.
</content>
</entry>
<entry>
<title>feat(services): curated systemd units via just recipes</title>
<updated>2026-04-21T00:23:39Z</updated>
<author>
<name>sommerfeld</name>
<email>sommerfeld@sommerfeld.dev</email>
</author>
<published>2026-04-21T00:23:39Z</published>
<link rel='alternate' type='text/html' href='https://git.sommerfeld.dev/dotfiles/commit/?id=f1837fdee1df25022a975e60a48ca6085b2d1b55'/>
<id>urn:sha1:f1837fdee1df25022a975e60a48ca6085b2d1b55</id>
<content type='text'>
Introduce systemd-units/&lt;group&gt;.txt files paired by name with meta
groups (systemd-units/base.txt &lt;-&gt; meta/base.txt). Units listed there
are enabled by a new 'just services-enable' recipe, wired into 'just
init' so bootstrap.sh no longer needs its own systemctl loop.

New justfile recipes (Services section):
  services         list curated units with enabled/active state
  services-enable  idempotent 'systemctl enable --now', soft-fail per unit
  services-drift   two-way diff vs systemctl list-unit-files

bootstrap.sh drops its hardcoded 9-unit loop and laptop TLP block
(~22 lines); 'just init' now handles it. tlp.service lives directly in
systemd-units/base.txt (no laptop gating).
</content>
</entry>
<entry>
<title>feat: add tracked git hooks and justfile</title>
<updated>2026-04-21T00:23:19Z</updated>
<author>
<name>sommerfeld</name>
<email>sommerfeld@sommerfeld.dev</email>
</author>
<published>2026-04-21T00:23:19Z</published>
<link rel='alternate' type='text/html' href='https://git.sommerfeld.dev/dotfiles/commit/?id=e0a91e00736188540b4db9feff8aa77ba1dc46c9'/>
<id>urn:sha1:e0a91e00736188540b4db9feff8aa77ba1dc46c9</id>
<content type='text'>
- .githooks/post-commit: runs chezmoi apply after every commit
- justfile: 'just install-hooks' sets core.hooksPath
- Added justfile and .githooks/ to .chezmoiignore
</content>
</entry>
<entry>
<title>refactor: merge etc2/ into etc/, add content hashes to run scripts</title>
<updated>2026-04-21T00:23:19Z</updated>
<author>
<name>sommerfeld</name>
<email>sommerfeld@sommerfeld.dev</email>
</author>
<published>2026-04-21T00:23:19Z</published>
<link rel='alternate' type='text/html' href='https://git.sommerfeld.dev/dotfiles/commit/?id=fcafb03c9b1030dea399d44dda52f62e9117ad96'/>
<id>urn:sha1:fcafb03c9b1030dea399d44dda52f62e9117ad96</id>
<content type='text'>
- etc2/ only existed because stow used symlinks and reflector refused
  them. Chezmoi copies files, so no reason to keep them separate.
- Run scripts are now .tmpl files with sha256sum hashes of deployed
  files. chezmoi only re-runs them when file content actually changes,
  avoiding unnecessary doas prompts on every apply.
</content>
</entry>
<entry>
<title>feat: add chezmoi config, ignore, and deploy scripts</title>
<updated>2026-04-21T00:23:18Z</updated>
<author>
<name>sommerfeld</name>
<email>sommerfeld@sommerfeld.dev</email>
</author>
<published>2026-04-21T00:23:18Z</published>
<link rel='alternate' type='text/html' href='https://git.sommerfeld.dev/dotfiles/commit/?id=f185694ff83f40f93ea535358ea36eccc837fa6e'/>
<id>urn:sha1:f185694ff83f40f93ea535358ea36eccc837fa6e</id>
<content type='text'>
- .chezmoi.toml.tmpl: minimal config with hostname data
- .chezmoiignore: exclude repo-only files from deployment
- run_onchange_after_deploy-etc.sh: deploy etc/ and etc2/ to /etc
- run_onchange_after_deploy-firefox.sh: deploy firefox overrides to profile
</content>
</entry>
</feed>
