diff --git a/home/base/starship.nix b/home/base/starship.nix index c614cef7..7a7267e2 100644 --- a/home/base/starship.nix +++ b/home/base/starship.nix @@ -10,6 +10,15 @@ success_symbol = "[›](bold green)"; error_symbol = "[›](bold red)"; }; + aws = { + symbol = "🅰 "; + }; + gcloud = { + # do not show the account/project's info + # to avoid the leak of sensitive information when sharing the terminal + format = "on [$symbol$active(\($region\))]($style) "; + symbol = "🅶 ️"; + }; }; }; } diff --git a/home/darwin/alacritty/alacritty.yml b/home/darwin/alacritty/alacritty.yml index 9158423a..2f79431d 100644 --- a/home/darwin/alacritty/alacritty.yml +++ b/home/darwin/alacritty/alacritty.yml @@ -269,8 +269,8 @@ live_config_reload: true # Default: # - (Linux/BSD/macOS) `$SHELL` or the user's login shell, if `$SHELL` is unset # - (Windows) powershell -# shell: -# program: /bin/bash +shell: + program: /run/current-system/sw/bin/nu # args: # - --login diff --git a/home/darwin/default.nix b/home/darwin/default.nix index 93064354..b8eb73ee 100644 --- a/home/darwin/default.nix +++ b/home/darwin/default.nix @@ -2,16 +2,11 @@ { imports = [ - ../base/nushell - - ../base/core.nix - ../base/git.nix - ../base/development.nix - ../base/media.nix - ../base/starship.nix - + ../base + ./alacritty ./core.nix + ./nushell.nix ]; # Home Manager needs a bit of information about you and the diff --git a/home/darwin/nushell.nix b/home/darwin/nushell.nix new file mode 100644 index 00000000..ea49671b --- /dev/null +++ b/home/darwin/nushell.nix @@ -0,0 +1,15 @@ +{ ... }: { + # nushell's PATH do not include nix-darwin's PATH + # this is a workaround to add nix-darwin's PATH to nushell's PATH + programs.nushell.extraConfig = '' + let-env PATH = ([ + + "~/.nix-profile/bin" + "/etc/profiles/per-user/admin/bin" + "/run/current-system/sw/bin" + "/nix/var/nix/profiles/default/bin" + + ($env.PATH | split row (char esep)) + ] | flatten) + ''; +} \ No newline at end of file diff --git a/modules/darwin/core.nix b/modules/darwin/core.nix index 1776abcf..0b789bf4 100644 --- a/modules/darwin/core.nix +++ b/modules/darwin/core.nix @@ -1,3 +1,5 @@ +# all the configuration options are documented here: +# https://daiderd.com/nix-darwin/manual/index.html#sec-options { pkgs, lib, ... }: { # # enable flakes globally @@ -26,15 +28,13 @@ # Set your time zone. time.timeZone = "Asia/Shanghai"; - # Create /etc/zshrc that loads the nix-darwin environment. - programs.zsh.enable = true; - # Apps # `home-manager` currently has issues adding them to `~/Applications` # Issue: https://github.com/nix-community/home-manager/issues/1341 environment.systemPackages = with pkgs; [ neovim git + nushell # my custom shell ]; environment.variables.EDITOR = "nvim"; @@ -65,5 +65,18 @@ users.users.admin = { home = "/Users/admin"; description = "admin"; + + # set user's default shell to nushell + # this may not work, to change the default shell manually, use + # `chsh -s /run/current-system/sw/bin/nu` + shell = pkgs.nushell; }; + + # Create /etc/zshrc that loads the nix-darwin environment. + # this is required if you want to use darwin's default shell - zsh + programs.zsh.enable = true; + environment.shells = [ + pkgs.zsh + pkgs.nushell # my custom shell + ]; }