NixOSで `git gui`を有効にする方法は?

NixOSで `git gui`を有効にする方法は?

私はインストールしましたgitそしてtk、実行してgit citoolGit GUIを表示し、一つ送信すると、アプリケーションは終了します。残念ながら、git guiコマンド自体は次のようになります。

git: 'gui'はgitコマンドではありません。 "git --help"を参照してください。

だから私は立ち往生しています。私がどうする

  1. git guiコマンドで有効
  2. 終了したいまでGit GUIを表示しますか?

答え1

インストールgit後はtkNixOSでは機能しませんgitバラよりtk。ほとんどのLinuxディストリビューションとは異なり、NixOSにはライブラリのグローバルな場所はありません/usr/lib。代わりに、実行可能ファイルが変更され、/nix/storeNixストア()で必要なライブラリが見つかります。

代わりにgit guiinstallを使用してください。gitFullgit

どちらのパッケージも実際に同じNix式から出てきますが、そのgitFull式が使用されている場合git gui

答え2

home-manager/を使用している場合は、次の設定を行う必要がありhome.nixますpackage = pkgs.gitFull

  programs.git = {
    enable = true;
    userName = "Firstname Lastname";
    userEmail = "[email protected]";
    package = pkgs.gitFull;
  };

注:必要に応じてより多くのオプションを設定できます。

    extraConfig = {
      push = {
        # Source: https://stackoverflow.com/a/72401899/873282
        autoSetupRemote = true;
    
        # Always push to the branch we pulled from
        # See https://git-scm.com/docs/git-config#Documentation/git-config.txt-pushdefault for details
        default = "current";
      };

      # Use SVN's ||| also in git - and remove matching lines in the conflict region
      #  See https://git-scm.com/docs/git-config#Documentation/git-config.txt-mergeconflictStyle for details
      merge = { configStyle = "zdiff3"; };

      # Colors in output
      # Source: https://unix.stackexchange.com/a/44297/18033
      color = { ui = "auto"; };
     
      # Sort branches at "git branch -v" by committer date
      branch = { sort = "-committerdate"; };

      # tabs are 4 spaces wide
      gui = { tabsize = 4; };
    };

関連情報