diff --git a/cli/git.nix b/cli/git.nix index 1677af7..87b7949 100644 --- a/cli/git.nix +++ b/cli/git.nix @@ -1,15 +1,42 @@ { config, pkgs, + pkgs-unstable, jail, ... }: let home = config.home.homeDirectory; + git-pkg = ( + jail "git" pkgs.git ( + c: with c; [ + network + (ro-bind "/home/duskyelf/.config/git/config" "/home/duskyelf/.gitconfig") + + (readwrite "/home/duskyelf/Projects") + (readwrite "/home/duskyelf/dotfiles/") + (readwrite "/home/duskyelf/.deploy-system/") + + (readonly "/home/duskyelf/.ssh/") + (fwd-env "SSH_AUTH_SOCK") + (readonly (noescape "\"$SSH_AUTH_SOCK\"")) + + (set-env "EDITOR" "vim") + + (add-pkg-deps [ + pkgs.less + pkgs.openssh + pkgs.gnupg + pkgs.vim + ]) + ] + ) + ); in { programs.git = { enable = true; + package = git-pkg; signing = { key = "~/.ssh/id_ed25519_signing"; @@ -27,19 +54,29 @@ in }; home.packages = [ - (jail "gh" (pkgs.github-cli.overrideAttrs (old: { - nativeBuildInputs = (old.nativeBuildInputs or []) ++ [ pkgs.makeWrapper ]; - postInstall = (old.postInstall or "") + '' - wrapProgram "$out/bin/gh" \ - --prefix PATH : "${pkgs.git}/bin" \ - --prefix LD_LIBRARY_PATH : "${pkgs.git}/lib" - ''; - })) ( + (jail "gh" + (pkgs.github-cli.overrideAttrs (old: { + nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.makeWrapper ]; + postInstall = (old.postInstall or "") + '' + wrapProgram "$out/bin/gh" \ + --prefix PATH : "${pkgs.git}/bin" \ + --prefix LD_LIBRARY_PATH : "${pkgs.git}/lib" + ''; + })) + ( + c: with c; [ + network + mount-cwd + (xdg-app home "gh") + (add-pkg-deps [ git-pkg ]) + ] + ) + ) + (jail "worktrunk" pkgs-unstable.worktrunk ( c: with c; [ - network - mount-cwd - (readonly "/nix/store") - (xdg-app home "gh") + (readwrite "/home/duskyelf/Projects") + (add-pkg-deps [ git-pkg ]) + (xdg-app home "worktrunk") ] )) ]; diff --git a/cli/sh.nix b/cli/sh.nix index d0c4eea..f69fd22 100644 --- a/cli/sh.nix +++ b/cli/sh.nix @@ -10,7 +10,6 @@ let nix-shell -p "$1" --run "$1" } ''; - home = config.home.homeDirectory; in { home.shellAliases = { @@ -32,7 +31,16 @@ in programs = { fzf.enable = true; - starship.enable = true; + starship = { + enable = true; + settings = { + git_branch.disabled = true; + git_commit.disabled = true; + git_state.disabled = true; + git_metrics.disabled = true; + git_status.disabled = true; + }; + }; zoxide = { enable = true; options = [