Compare commits

...

6 Commits

Author SHA1 Message Date
Ahmed Hosam 951602d051
Merge d8fbc75bab into b97926675a 2026-01-23 21:04:17 -08:00
Roman Perepelitsa b97926675a formatting 2026-01-22 15:10:11 +01:00
Roman Perepelitsa 3d2c72244d align realtime time updates to POWERLEVEL9K_EXPERIMENTAL_TIME_REALTIME_INTERVAL_SEC (#2916) 2026-01-22 15:09:16 +01:00
Roman Perepelitsa 447d0b2e68 make realtime time update interval configurable (#2916) 2026-01-22 14:12:49 +01: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
2 changed files with 46 additions and 2 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

@ -3527,7 +3527,9 @@ _p9k_prompt_time_compute() {
}
_p9k_prompt_time_async() {
sleep 1 || true
zmodload zsh/mathfunc zsh/zselect || return
local -F t=_POWERLEVEL9K_EXPERIMENTAL_TIME_REALTIME_INTERVAL_SEC
zselect -t $((int(ceil(100 * (t - EPOCHREALTIME % t))))) || true
}
_p9k_prompt_time_sync() {
@ -7809,8 +7811,13 @@ _p9k_init_params() {
# commands will contain the start times of their commands as opposed to the default
# behavior where they contain the end times of their preceding commands.
_p9k_declare -b POWERLEVEL9K_TIME_UPDATE_ON_COMMAND 0
# If set to true, time will update every second.
# If set to true, time will update every
# POWERLEVEL9K_EXPERIMENTAL_TIME_REALTIME_INTERVAL_SEC seconds.
_p9k_declare -b POWERLEVEL9K_EXPERIMENTAL_TIME_REALTIME 0
_p9k_declare -F POWERLEVEL9K_EXPERIMENTAL_TIME_REALTIME_INTERVAL_SEC 1
if (( _POWERLEVEL9K_EXPERIMENTAL_TIME_REALTIME_INTERVAL_SEC <= 0 )); then
_POWERLEVEL9K_EXPERIMENTAL_TIME_REALTIME_INTERVAL_SEC=1
fi
_p9k_declare -b POWERLEVEL9K_NIX_SHELL_INFER_FROM_PATH 0
typeset -g _p9k_nix_shell_cond='${IN_NIX_SHELL:#0}'