Compare commits

...

6 Commits

Author SHA1 Message Date
Ahmed Hosam aab345b3a3
Merge d8fbc75bab into 3308262dfb 2026-08-15 19:13:31 +08:00
Roman Perepelitsa 3308262dfb Merge commit '242ccfaef86ab3ab6a5f3c19f3396cdbc1049968' 2026-08-15 11:22:58 +02:00
Roman Perepelitsa 242ccfaef8 Squashed 'gitstatus/' changes from 075baf6e..39d34dff
39d34dff add a CHECK to Arena.Allocate<T>(n)

git-subtree-dir: gitstatus
git-subtree-split: 39d34dff4456067a0df17bdf1ea74b07c1983b39
2026-08-15 11:22:58 +02:00
Roman Perepelitsa 58e13d16a5 bug fix: slap (V) on the content of `package` (#2961)
The same should be done with a bunch of other prompt segments.
2026-08-15 10:21:46 +02:00
Ahmed Hosam d8fbc75bab
Update README.md
Specify the version of NixOS, and add the update of `initExtra` in 25.05v of NixOS.
2025-05-15 16:42:43 +03:00
Ahmed Hosam 8de553fbc9
add nixos installation for home-manager and system-wide 2025-05-03 22:40:53 +03:00
8 changed files with 48 additions and 7 deletions

View File

@ -431,6 +431,7 @@ Powerlevel10k.
- [Arch Linux](#arch-linux)
- [Alpine Linux](#alpine-linux)
- [Fig](#fig)
- [NixOS](#nixos)
### Manual
@ -549,6 +550,42 @@ ln -s /usr/share/zsh/plugins/powerlevel10k ~/.local/share/zsh/plugins/
Follow the instructions on
[this page](https://fig.io/plugins/other/powerlevel10k).
### NixOS
**Home Manager**
```nix
programs.zsh = {
...
plugins = [
{
name = "zsh-powerlevel10k";
src = "${pkgs.zsh-powerlevel10k}/share/zsh-powerlevel10k/";
file = "powerlevel10k.zsh-theme";
}
];
# NixOS 24.11 or earlier:
initExtra = ''
source ~/.p10k.zsh
'';
# NixOS 25.05 or later:
# initContent = let initExtra = lib.mkOrder 1000 '' [[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh ''; in lib.mkMerge [initExtra];
};
```
**System wide**
```nix
programs.zsh = {
...
promptInit = ''
source ${pkgs.zsh-powerlevel10k}/share/zsh-powerlevel10k/powerlevel10k.zsh-theme
source ~/.p10k.zsh
'';
};
```
## Configuration
- [For new users](#for-new-users)

View File

@ -1126,7 +1126,7 @@
# - P9K_PACKAGE_NAME The value of `name` field in package.json.
# - P9K_PACKAGE_VERSION The value of `version` field in package.json.
#
# typeset -g POWERLEVEL9K_PACKAGE_CONTENT_EXPANSION='${P9K_PACKAGE_NAME//\%/%%}@${P9K_PACKAGE_VERSION//\%/%%}'
# typeset -g POWERLEVEL9K_PACKAGE_CONTENT_EXPANSION='${(V)P9K_PACKAGE_NAME//\%/%%}@${(V)P9K_PACKAGE_VERSION//\%/%%}'
# Custom icon.
# typeset -g POWERLEVEL9K_PACKAGE_VISUAL_IDENTIFIER_EXPANSION='⭐'

View File

@ -1101,7 +1101,7 @@
# - P9K_PACKAGE_NAME The value of `name` field in package.json.
# - P9K_PACKAGE_VERSION The value of `version` field in package.json.
#
# typeset -g POWERLEVEL9K_PACKAGE_CONTENT_EXPANSION='${P9K_PACKAGE_NAME//\%/%%}@${P9K_PACKAGE_VERSION//\%/%%}'
# typeset -g POWERLEVEL9K_PACKAGE_CONTENT_EXPANSION='${(V)P9K_PACKAGE_NAME//\%/%%}@${(V)P9K_PACKAGE_VERSION//\%/%%}'
# Custom icon.
# typeset -g POWERLEVEL9K_PACKAGE_VISUAL_IDENTIFIER_EXPANSION='⭐'

View File

@ -1101,7 +1101,7 @@
# - P9K_PACKAGE_NAME The value of `name` field in package.json.
# - P9K_PACKAGE_VERSION The value of `version` field in package.json.
#
# typeset -g POWERLEVEL9K_PACKAGE_CONTENT_EXPANSION='${P9K_PACKAGE_NAME//\%/%%}@${P9K_PACKAGE_VERSION//\%/%%}'
# typeset -g POWERLEVEL9K_PACKAGE_CONTENT_EXPANSION='${(V)P9K_PACKAGE_NAME//\%/%%}@${(V)P9K_PACKAGE_VERSION//\%/%%}'
# Custom icon.
# typeset -g POWERLEVEL9K_PACKAGE_VISUAL_IDENTIFIER_EXPANSION='⭐'

View File

@ -1203,7 +1203,7 @@
# - P9K_PACKAGE_NAME The value of `name` field in package.json.
# - P9K_PACKAGE_VERSION The value of `version` field in package.json.
#
# typeset -g POWERLEVEL9K_PACKAGE_CONTENT_EXPANSION='${P9K_PACKAGE_NAME//\%/%%}@${P9K_PACKAGE_VERSION//\%/%%}'
# typeset -g POWERLEVEL9K_PACKAGE_CONTENT_EXPANSION='${(V)P9K_PACKAGE_NAME//\%/%%}@${(V)P9K_PACKAGE_VERSION//\%/%%}'
# Custom icon.
# typeset -g POWERLEVEL9K_PACKAGE_VISUAL_IDENTIFIER_EXPANSION='⭐'

View File

@ -94,7 +94,9 @@
setopt no_unset extended_glob pipe_fail prompt_percent typeset_silent \
no_prompt_subst no_prompt_bang pushd_silent warn_create_global
if [[ $ZSH_VERSION != (5.<1->*|<6->.*) || $ZSH_VERSION == 5.4(|.*) ]]; then
autoload -Uz is-at-least
if ! is-at-least 5.1 || [[ $ZSH_VERSION == 5.4.* ]]; then
print -ru2 -- "[error] unsupported zsh version: $ZSH_VERSION"
return 1
fi

View File

@ -27,6 +27,7 @@
#include <type_traits>
#include <vector>
#include "check.h"
#include "string_view.h"
namespace gitstatus {
@ -94,6 +95,7 @@ class Arena {
template <class T>
inline T* Allocate(size_t n) {
static_assert(!std::is_reference<T>(), "");
CHECK(n <= SIZE_MAX / sizeof(T)) << n;
return static_cast<T*>(Allocate(n * sizeof(T), alignof(T)));
}

View File

@ -2265,7 +2265,7 @@ prompt_package() {
P9K_PACKAGE_NAME=$_p9k__cache_val[2]
P9K_PACKAGE_VERSION=$_p9k__cache_val[3]
_p9k_prompt_segment "$0" "cyan" "$_p9k_color1" PACKAGE_ICON 0 '' ${P9K_PACKAGE_VERSION//\%/%%}
_p9k_prompt_segment "$0" "cyan" "$_p9k_color1" PACKAGE_ICON 0 '' ${(V)P9K_PACKAGE_VERSION//\%/%%}
}
################################################################
@ -9527,7 +9527,7 @@ if [[ $__p9k_dump_file != $__p9k_instant_prompt_dump_file && -n $__p9k_instant_p
zf_rm -f -- $__p9k_instant_prompt_dump_file{,.zwc} 2>/dev/null
fi
typeset -g P9K_VERSION=1.20.17
typeset -g P9K_VERSION=1.20.18
if [[ ${VSCODE_SHELL_INTEGRATION-} == <1-> && ${+__p9k_force_term_shell_integration} == 0 ]]; then
typeset -gri __p9k_force_term_shell_integration=1