Skip to content
Merged
Show file tree
Hide file tree
Changes from all 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;
};
}
9 changes: 5 additions & 4 deletions home-manager/programs/fish/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
fish_add_path -p /etc/profiles/per-user/${config.home.username}/bin
'';
interactiveShellInit = ''
source ${config.home.homeDirectory}/.config/fish/functions/_hm_load_env_file.fish
_hm_load_env_file
set fish_greeting
set fish_theme dracula
Expand Down Expand Up @@ -75,10 +76,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;
};
Expand Down
3 changes: 3 additions & 0 deletions nix-darwin/config/homebrew.nix
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,9 @@
"temporal"
];
casks = [
"atuin-desktop"
"beeper"
"beekeeper-studio"
"blender"
"block-goose"
"chatgpt"
Expand Down Expand Up @@ -73,6 +75,7 @@
"slack"
"visual-studio-code"
"warp"
"wezterm"
"windsurf"
"zed"
"zoom"
Expand Down
Loading