From 5aa0e35fd584a968398b3a4e2652afc9f2e8c48a Mon Sep 17 00:00:00 2001 From: Kenichi Kamiya Date: Fri, 4 Aug 2023 21:52:00 +0900 Subject: [PATCH 1/2] Install iTerm2 with home-manager --- home-manager/darwin.nix | 11 +---------- home-manager/packages.nix | 11 +++++++++++ 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/home-manager/darwin.nix b/home-manager/darwin.nix index d14f1e3c..37296aa4 100644 --- a/home-manager/darwin.nix +++ b/home-manager/darwin.nix @@ -7,22 +7,13 @@ # https://github.com/LnL7/nix-darwin/blob/16c07487ac9bc59f58b121d13160c67befa3342e/modules/system/defaults/finder.nix#L8-L14 # https://github.com/nix-community/home-manager/issues/414#issuecomment-427163925 -let - iterm2Repository = pkgs.fetchFromGitHub - { - owner = "gnachman"; - repo = "iTerm2"; - rev = "e7c4c4b1ba6b21a19a48be2dad67048099be176e"; - sha256 = "sha256-7F8l2QEnTMJlOCpT2WQ8f7iv8I96fMqDa5MM4oQAvYQ="; - }; -in lib.mkMerge [ (lib.mkIf pkgs.stdenv.isDarwin { xdg.configFile."iterm2/com.googlecode.iterm2.plist".source = ../home/.config/iterm2/com.googlecode.iterm2.plist; # Do not use `programs.zsh.dotDir`, it does not refer xdg module xdg.configFile."zsh/.zshrc.darwin".text = '' - source ${iterm2Repository + "/Resources/shell_integration/iterm2_shell_integration.zsh"} + source ${pkgs.iterm2 + "/Applications/iTerm2.app/Contents/Resources/iterm2_shell_integration.zsh"} ''; # Just putting the refererenced file to easy import, applying should be done via GUI and saving to plist diff --git a/home-manager/packages.nix b/home-manager/packages.nix index cb3d674c..53745766 100644 --- a/home-manager/packages.nix +++ b/home-manager/packages.nix @@ -9,6 +9,12 @@ # { }; # in +# FAQ +# +# A. Hot to know and get the paths inside a pkg? +# Q. `nix path-info` is a way, see iTerm2 example + + { home.packages = with pkgs; [ # Use `bashInteractive`, don't `bash` - https://github.com/NixOS/nixpkgs/issues/29960, https://github.com/NixOS/nix/issues/730 @@ -96,5 +102,10 @@ # Fix missing locales as `locale: Cannot set LC_CTYPE to default locale` glibc ] + ) ++ (lib.optionals stdenv.isDarwin + [ + # https://github.com/NixOS/nixpkgs/commit/3ea22dab7d906f400cc5983874dbadeb8127c662#diff-32e42fa095503d211e9c2894de26c22166cafb875d0a366701922aa23976c53fL21-L33 + iterm2 + ] ); } From ddf2f2f2340367011ee7516cea6a34fbe73a286c Mon Sep 17 00:00:00 2001 From: Kenichi Kamiya Date: Fri, 4 Aug 2023 22:00:32 +0900 Subject: [PATCH 2/2] Fix a typo and comments --- home-manager/packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/home-manager/packages.nix b/home-manager/packages.nix index 53745766..6c537f93 100644 --- a/home-manager/packages.nix +++ b/home-manager/packages.nix @@ -11,8 +11,8 @@ # FAQ # -# A. Hot to know and get the paths inside a pkg? -# Q. `nix path-info` is a way, see iTerm2 example +# A. How to know and get the paths inside a pkg? +# Q. `nix path-info` is a way, installing iTerm2 shell integration used it. Access /nix/store~ path, and `ls` helps you. {