1
0

24 Commits

Author SHA1 Message Date
a0b0357466 home/develop/emacs: add yasnippet snippets and make snippet dirs configurable
This commit makes two significant changes to the Emacs configuration:

1. Refactors emacs.nix to use proper NixOS module structure:
   - Converts from simple configuration to a module with options/config
   - Adds `tb.emacs.extraSnippetDirs` option to allow per-machine snippet
     directories (defaults to ~/.emacs.d/snippets/)
   - Moves yasnippet configuration from custom.el to nix-generated elisp,
     enabling dynamic snippet directory configuration via Nix

2. Adds a comprehensive collection of yasnippet snippets for multiple modes:
   - C++ mode: 50 snippets for common patterns (class, namespace, operators,
     copy/move semantics, debug helpers, documentation, threading primitives)
   - CC mode (shared C/C++): for, switch, main, include guards, etc.
   - CMake mode: if/else, foreach, function, macro, project boilerplate
   - LaTeX mode: document structure, beamer frames, figures, lists
   - Perl mode: package boilerplate, shebang
   - Python/Shell/Nix/Protobuf/Java/CSS/Dockerfile modes: horizontal rules
     and common patterns
   - Text mode: modeline snippets for locale settings

The snippets use yasnippet's inheritance system via .yas-parents files,
so c++-mode inherits from cc-mode and text-mode, reducing duplication.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-08 22:42:14 -08:00
Timo Bingmann
1000663cb5 also upgrade ebay-mac to 25.11 2025-12-04 12:21:39 -08:00
03b50ccb9f upgrade to 25.11 2025-12-02 17:13:56 -08:00
d28a6049ca home/private: add git base config 2025-12-01 19:26:03 -08:00
78c2a41c55 home/develop/emacs: add go mode 2025-11-23 08:22:16 -08:00
36a2d10cb1 add zenwifi router 2025-11-15 23:59:17 -08:00
0c5a54499d Add homeManagerModules.claude for Claude Code configuration management
This commit introduces a new home-manager module that provides declarative
configuration management for Claude Code, Anthropic's official CLI tool. The
module follows the established pattern used by other home-manager modules in
this flake (default, private, macos, develop) and enables users to deploy
custom Claude Code slash commands and configuration files to ~/.claude/.

Changes included:

1. Created home/claude/config.nix module:
   - Defines a new home-manager module for Claude Code configuration
   - Uses home.file to deploy command files from the Nix store to ~/.claude/
   - Currently deploys two custom slash commands to ~/.claude/commands/

2. Added two custom slash commands:
   - commit.md: Automates git commit creation by reading staged diffs and
     generating comprehensive commit messages
   - go-plan.md: Writes detailed implementation plans to PLAN.md before
     starting work, supporting the planning workflow

3. Registered homeManagerModules.claude in flake.nix:
   - Added as a new, independent module group that can be imported separately
   - Positioned after the develop module for logical organization
   - Can be enabled by importing inputs.nix-shared.homeManagerModules.claude

4. Enhanced flake.nix documentation:
   - Added descriptive comments for all nixosModules and homeManagerModules
   - Clarifies the purpose of each module group (e.g., "Linux specific system
     configuration", "Add private homelab and cloud host aliases")
   - Improves maintainability and makes the flake structure self-documenting

The module structure supports easy extension - additional slash commands or
configuration files can be added by placing them in home/claude/config/ and
adding corresponding home.file entries in config.nix.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-13 23:29:04 -08:00
7f1f44174a enable forwardAgent for private hosts 2025-11-06 08:28:22 -08:00
78a52810d0 rename wg1 to tr1 at home 2025-11-05 18:57:59 -08:00
0de3ffd6b3 create homeManagerModules.private for ssh hosts 2025-11-04 22:34:57 -08:00
05d4fd7ed2 create home/macos/home.nix 2025-09-21 19:15:01 -07:00
6d64e1f074 emacs: Skip package.el entirely when using Nix 2025-08-20 05:48:07 -07:00
cb5ddb15a6 emacs: switch to ethan-wspace 2025-08-20 05:47:55 -07:00
2cbaea2554 emacs: allow spaces in TERMINAL 2025-08-19 12:46:36 -07:00
93288e9bcc emacs: enable typescript-ts-mode 2025-08-13 20:04:13 -07:00
81ce015274 set whitespace-cleanup-mode-only-if-initially-clean to nil 2025-07-29 12:19:37 -07:00
40c227658b fix tramp issues with direnv 2025-07-23 10:22:52 -07:00
ef906fc107 rg directory ask 2025-07-13 13:38:48 -07:00
36a580d62f fix grep 2025-07-12 12:26:03 -07:00
95b645b1f0 projectile-find-other-file 2025-07-12 06:16:59 -07:00
37ffbb1402 emacs: use TERMINAL environment variable 2025-07-09 17:56:57 -07:00
ee9aa036e2 improve emacs 2025-07-08 19:43:00 -07:00
11332b71e2 add emacs config 2025-07-08 14:12:51 -07:00
1061e07deb Initial shared NixOS modules 2025-06-23 23:38:57 -07:00