diff --git a/flake.nix b/flake.nix index 09d6b25..35c4d32 100644 --- a/flake.nix +++ b/flake.nix @@ -17,7 +17,7 @@ # Specify your home configuration modules here, for example, # the path to your home.nix. - modules = [ ./yadunut-mbp/home.nix ./modules/zsh.nix ./modules/neovim.nix ]; + modules = [ ./yadunut-mbp/home.nix ./modules/zsh.nix ./modules/neovim.nix ./modules/git.nix ]; # Optionally use extraSpecialArgs # to pass through arguments to home.nix diff --git a/modules/git.nix b/modules/git.nix new file mode 100644 index 0000000..73fb921 --- /dev/null +++ b/modules/git.nix @@ -0,0 +1,27 @@ +{ + programs.git = { + enable = true; + userEmail = "yadunand@yadunut.com"; + userName = "Yadunand Prem"; + delta.enable = true; + lfs.enable = true; + extraConfig = { + init.defautBranch = "main"; + + pull.rebase = true; + pull.autostash = true; + + rebase.autostash = true; + + core.excludefile = "~/.gitignore_global"; + + push.autoSetupRemote = true; + + + commit.gpgsign = true; + commit.verbose = true; + + gpg.format = "ssh"; + }; + }; +} diff --git a/modules/zsh.nix b/modules/zsh.nix index 0503e7c..4797241 100644 --- a/modules/zsh.nix +++ b/modules/zsh.nix @@ -3,6 +3,11 @@ home.packages = [ pkgs.zsh-completions + pkgs.bat + pkgs.fd + pkgs.htop + pkgs.ripgrep + pkgs.wget ]; programs.zsh = { enable = true; @@ -24,13 +29,20 @@ ]; }; shellAliases = { - lg = "lazygit"; cat = "bat"; diff = "delta"; - s = "kitty +kitten ssh"; }; }; + programs.fzf.enable = true; + programs.fzf.enableZshIntegration = true; + + programs.zoxide.enable = true; + programs.zoxide.enableZshIntegration = true; + + programs.eza.enable = true; + programs.eza.enableZshIntegration = true; + programs.starship = { enable = true; enableZshIntegration = true; diff --git a/yadunut-mbp/home.nix b/yadunut-mbp/home.nix index b3162e9..0878d07 100644 --- a/yadunut-mbp/home.nix +++ b/yadunut-mbp/home.nix @@ -18,18 +18,14 @@ # The home.packages option allows you to install Nix packages into your # environment. home.packages = [ - pkgs.bat pkgs.beancount pkgs.coq pkgs.delta # pkgs.dive pkgs.entr pkgs.fava - pkgs.fd - pkgs.htop - pkgs.ripgrep pkgs.typst - pkgs.wget + pkgs.lazygit # Neovim deps # pkgs.texlab @@ -64,6 +60,11 @@ EDITOR = "nvim"; }; + programs.zsh.shellAliases = { + lg = "lazygit"; + s = "kitty +kitten ssh"; + }; + programs.direnv = { enable = true; enableZshIntegration = true; @@ -73,22 +74,20 @@ }; }; - programs.fzf.enable = true; - programs.fzf.enableZshIntegration = true; - - programs.zoxide.enable = true; - programs.zoxide.enableZshIntegration = true; - - programs.eza.enable = true; - programs.eza.enableZshIntegration = true; - programs.kitty.shellIntegration.enableZshIntegration = true; programs.emacs.enable = true; - programs.lazygit.enable = true; - programs.neovim.enable = true; # Let Home Manager install and manage itself. programs.home-manager.enable = true; + + programs.git.extraConfig = { + gpg.ssh.program = "/Applications/1Password.app/Contents/MacOS/op-ssh-sign"; + user.signingkey = "~/.ssh/yadunut_ed25519.pub"; + }; + + programs.gh = { + enable = true; + }; }