Skip to content
Merged
Show file tree
Hide file tree
Changes from 12 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions flake.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@
projectRootFile = "flake.nix";
programs = {
actionlint.enable = false;
biome.enable = true;
biome.enable = false; # Temporarily disabled due to schema hash mismatch
nixfmt.enable = true;
shfmt.enable = true;
stylua.enable = true;
Expand Down
1 change: 1 addition & 0 deletions home-manager/packages/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ with pkgs;
fastfetch
fd
fswatch
fzf-make
gh
git
goose-cli
Expand Down
8 changes: 8 additions & 0 deletions home-manager/programs/atuin/default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
programs.atuin = {
enable = true;
enableBashIntegration = true;
enableFishIntegration = true;
enableZshIntegration = true;
};
}
4 changes: 4 additions & 0 deletions home-manager/programs/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,10 @@
sources,
}:
let
atuin = import ./atuin;
bash = import ./bash { inherit lib pkgs; };
bat = import ./bat;
delta = import ./delta;
direnv = import ./direnv;
fd = import ./fd;
fish = import ./fish;
Expand All @@ -30,8 +32,10 @@ let
zsh = import ./zsh { inherit lib pkgs; };
in
[
atuin
bash
bat
delta
direnv
fd
fish
Expand Down
6 changes: 6 additions & 0 deletions home-manager/programs/delta/default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
programs.delta = {
enable = true;
enableGitIntegration = true;
};
}
8 changes: 4 additions & 4 deletions home-manager/programs/fish/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -75,10 +75,10 @@
name = "done";
src = pkgs.fishPlugins.done.src;
}
{
name = "fzf";
src = pkgs.fishPlugins.fzf.src;
}
# {
# name = "fzf";
# src = pkgs.fishPlugins.fzf.src;
# }
{
name = "fzf-fish";
src = pkgs.fishPlugins.fzf-fish.src;
Expand Down
157 changes: 79 additions & 78 deletions home-manager/programs/git/default.nix
Original file line number Diff line number Diff line change
@@ -1,86 +1,87 @@
{ pkgs, lib, ... }:
{
programs.git = {
enable = true;
delta = {
enable = true;
};
userName = "Shun Kakinoki";
userEmail = "shunkakinoki@gmail.com";
lfs = {
programs = {
git = {
enable = true;
};
includes = [
# Include GitAlias - update with: scripts/update-gitalias.sh
{ path = "${./gitalias.txt}"; }
];
aliases = {
co = "checkout";
lt = "log --tags --decorate --simplify-by-decoration --oneline";
unshallow = "fetch --prune --tags --unshallow";
};
extraConfig = {
# commit.gpgSign = true;
# gpg.format = "ssh";
# gpg.ssh.allowedSignersFile = "~/.ssh/allowed_signers";
# user.signingKey = "~/.ssh/id_ed25519";
core = {
editor = "nvim";
compression = -1;
autocrlf = "input";
whitespace = "trailing-space,space-before-tab";
precomposeunicode = true;
ignorecase = false;
};
color = {
diff = "auto";
status = "auto";
branch = "auto";
ui = true;
};
advice = {
addEmptyPathspec = false;
};
apply = {
whitespace = "nowarn";
};
help = {
autocorrect = 1;
};
grep = {
extendRegexp = true;
lineNumber = true;
};
push = {
autoSetupRemote = true;
default = "simple";
lfs = {
enable = true;
};
submodule = {
fetchJobs = 4;
};
log = {
showSignature = false;
};
format = {
signOff = true;
};
rerere = {
enabled = true;
};
pull = {
ff = "only";
};
init = {
defaultBranch = "main";
};
delta = {
navigate = true;
dark = true;
};
merge = {
conflictStyle = "zdiff3";
includes = [
# Include GitAlias - update with: scripts/update-gitalias.sh
{ path = "${./gitalias.txt}"; }
];
settings = {
user = {
name = "Shun Kakinoki";
email = "shunkakinoki@gmail.com";
};
Comment on lines +13 to +17

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Use of nonexistent programs.git.settings breaks Git config

The Git module now writes user, alias, and other options under settings, but Home Manager exposes those attributes as userName, userEmail, aliases, and extraConfig. There is no programs.git.settings option, so evaluating this module will fail with an unknown-option error and none of the Git configuration will be applied. Keep these values under the supported options to avoid breaking configuration.

Useful? React with 👍 / 👎.

alias = {
co = "checkout";
lt = "log --tags --decorate --simplify-by-decoration --oneline";
unshallow = "fetch --prune --tags --unshallow";
};
core = {
editor = "nvim";
compression = -1;
autocrlf = "input";
whitespace = "trailing-space,space-before-tab";
precomposeunicode = true;
ignorecase = false;
};
color = {
diff = "auto";
status = "auto";
branch = "auto";
ui = true;
};
advice = {
addEmptyPathspec = false;
};
apply = {
whitespace = "nowarn";
};
help = {
autocorrect = 1;
};
grep = {
extendRegexp = true;
lineNumber = true;
};
push = {
autoSetupRemote = true;
default = "simple";
};
submodule = {
fetchJobs = 4;
};
log = {
showSignature = false;
};
format = {
signOff = true;
};
rerere = {
enabled = true;
};
pull = {
ff = "only";
};
init = {
defaultBranch = "main";
};
delta = {
navigate = true;
dark = true;
};
merge = {
conflictStyle = "zdiff3";
};
};
ignores = lib.splitString "\n" (builtins.readFile ./.gitignore.global);
};
delta = {
enable = true;
enableGitIntegration = true;
};
Comment on lines +82 to 85

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

This delta configuration is redundant as it's already defined in the new home-manager/programs/delta/default.nix file. To keep the configuration modular and avoid duplication, please remove this block.

Comment on lines +82 to 85

Copilot AI Nov 8, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Delta is now configured in both git/default.nix (lines 82-85) and the new delta/default.nix file. This duplicate configuration could lead to conflicts or unexpected behavior. Since delta has been extracted to its own module in delta/default.nix, the configuration here should be removed.

Suggested change
delta = {
enable = true;
enableGitIntegration = true;
};

Copilot uses AI. Check for mistakes.
ignores = lib.splitString "\n" (builtins.readFile ./.gitignore.global);
};
}
2 changes: 1 addition & 1 deletion named-hosts/galactica/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ inputs.nix-darwin.lib.darwinSystem {
signByDefault = true;
key = "shunkakinoki@gmail.com";
};
extraConfig = {
settings = {

@cubic-dev-ai cubic-dev-ai Bot Nov 8, 2025 •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

programs.git does not expose a settings attribute—Home Manager expects extraConfig, so this rename causes the GPG signing options to be dropped.

Prompt for AI agents
Address the following comment on named-hosts/galactica/default.nix at line 43:

<comment>`programs.git` does not expose a `settings` attribute—Home Manager expects `extraConfig`, so this rename causes the GPG signing options to be dropped.</comment>

<file context>
@@ -40,7 +40,7 @@ inputs.nix-darwin.lib.darwinSystem {
               key = &quot;shunkakinoki@gmail.com&quot;;
             };
-            extraConfig = {
+            settings = {
               commit.gpgSign = true;
               tag.gpgSign = true;
</file context>
Suggested change
settings = {
extraConfig = {
Fix with Cubic

commit.gpgSign = true;
tag.gpgSign = true;
};
Comment on lines +43 to 46

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Renaming extraConfig to settings for Git in galactica host is invalid

The galactica host definition now sets Git signing options under settings, but the Home Manager programs.git module does not define such an option. Using settings will trigger an evaluation error (programs.git.settings does not exist) and drop the signing configuration. The original extraConfig attribute must be kept for these values to take effect.

Useful? React with 👍 / 👎.

Expand Down
4 changes: 4 additions & 0 deletions nix-darwin/config/homebrew.nix
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
"sst/tap"
];
brews = [
"atuin"
"bun"
"claude-squad"
"cmake"

Copilot AI Nov 8, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The atuin package is being installed via Homebrew here, but it's also configured in home-manager/programs/atuin/default.nix with enable = true, which typically installs the package through Nix. This creates a potential conflict where the same tool would be installed from two different sources. Consider removing the Homebrew installation if the home-manager module is managing atuin.

Suggested change
"atuin"
"bun"
"claude-squad"
"cmake"
"bun"
"claude-squad"
"cmake"

Copilot uses AI. Check for mistakes.
Expand All @@ -38,7 +39,9 @@
"temporal"
];
casks = [
"atuin-desktop"
"beeper"
"beekeeper-studio"
"blender"
"block-goose"
"chatgpt"
Expand Down Expand Up @@ -73,6 +76,7 @@
"slack"
"visual-studio-code"
"warp"
"wezterm"
"windsurf"
"zed"
"zoom"
Expand Down
Loading