+++ /dev/null
-[submodule "astronvim-config"]
- path = astronvim-config
- url = https://github.com/Skullheadx/astronvim-config.git
+++ /dev/null
-# Generated by Powerlevel10k configuration wizard on 2025-08-23 at 00:24 EDT.
-# Based on romkatv/powerlevel10k/config/p10k-classic.zsh.
-# Wizard options: nerdfont-v3 + powerline, small icons, classic, unicode, light,
-# 12h time, angled separators, sharp heads, blurred tails, 1 line, compact, many icons,
-# concise, transient_prompt, instant_prompt=verbose.
-# Type `p10k configure` to generate another config.
-#
-# Config for Powerlevel10k with classic powerline prompt style. Type `p10k configure` to generate
-# your own config based on it.
-#
-# Tip: Looking for a nice color? Here's a one-liner to print colormap.
-#
-# for i in {0..255}; do print -Pn "%K{$i} %k%F{$i}${(l:3::0:)i}%f " ${${(M)$((i%6)):#3}:+$'\n'}; done
-
-# Temporarily change options.
-'builtin' 'local' '-a' 'p10k_config_opts'
-[[ ! -o 'aliases' ]] || p10k_config_opts+=('aliases')
-[[ ! -o 'sh_glob' ]] || p10k_config_opts+=('sh_glob')
-[[ ! -o 'no_brace_expand' ]] || p10k_config_opts+=('no_brace_expand')
-'builtin' 'setopt' 'no_aliases' 'no_sh_glob' 'brace_expand'
-
-() {
- emulate -L zsh -o extended_glob
-
- # Unset all configuration options. This allows you to apply configuration changes without
- # restarting zsh. Edit ~/.p10k.zsh and type `source ~/.p10k.zsh`.
- unset -m '(POWERLEVEL9K_*|DEFAULT_USER)~POWERLEVEL9K_GITSTATUS_DIR'
-
- # Zsh >= 5.1 is required.
- [[ $ZSH_VERSION == (5.<1->*|<6->.*) ]] || return
-
- # The list of segments shown on the left. Fill it with the most important segments.
- typeset -g POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(
- os_icon # os identifier
- dir # current directory
- vcs # git status
- # prompt_char # prompt symbol
- )
-
- # The list of segments shown on the right. Fill it with less important segments.
- # Right prompt on the last prompt line (where you are typing your commands) gets
- # automatically hidden when the input line reaches it. Right prompt above the
- # last prompt line gets hidden if it would overlap with left prompt.
- typeset -g POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(
- status # exit code of the last command
- command_execution_time # duration of the last command
- background_jobs # presence of background jobs
- direnv # direnv status (https://direnv.net/)
- asdf # asdf version manager (https://github.com/asdf-vm/asdf)
- virtualenv # python virtual environment (https://docs.python.org/3/library/venv.html)
- anaconda # conda environment (https://conda.io/)
- pyenv # python environment (https://github.com/pyenv/pyenv)
- goenv # go environment (https://github.com/syndbg/goenv)
- nodenv # node.js version from nodenv (https://github.com/nodenv/nodenv)
- nvm # node.js version from nvm (https://github.com/nvm-sh/nvm)
- nodeenv # node.js environment (https://github.com/ekalinin/nodeenv)
- # node_version # node.js version
- # go_version # go version (https://golang.org)
- # rust_version # rustc version (https://www.rust-lang.org)
- # dotnet_version # .NET version (https://dotnet.microsoft.com)
- # php_version # php version (https://www.php.net/)
- # laravel_version # laravel php framework version (https://laravel.com/)
- # java_version # java version (https://www.java.com/)
- # package # name@version from package.json (https://docs.npmjs.com/files/package.json)
- rbenv # ruby version from rbenv (https://github.com/rbenv/rbenv)
- rvm # ruby version from rvm (https://rvm.io)
- fvm # flutter version management (https://github.com/leoafarias/fvm)
- luaenv # lua version from luaenv (https://github.com/cehoffman/luaenv)
- jenv # java version from jenv (https://github.com/jenv/jenv)
- plenv # perl version from plenv (https://github.com/tokuhirom/plenv)
- perlbrew # perl version from perlbrew (https://github.com/gugod/App-perlbrew)
- phpenv # php version from phpenv (https://github.com/phpenv/phpenv)
- scalaenv # scala version from scalaenv (https://github.com/scalaenv/scalaenv)
- haskell_stack # haskell version from stack (https://haskellstack.org/)
- kubecontext # current kubernetes context (https://kubernetes.io/)
- terraform # terraform workspace (https://www.terraform.io)
- # terraform_version # terraform version (https://www.terraform.io)
- aws # aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html)
- aws_eb_env # aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/)
- azure # azure account name (https://docs.microsoft.com/en-us/cli/azure)
- gcloud # google cloud cli account and project (https://cloud.google.com/)
- google_app_cred # google application credentials (https://cloud.google.com/docs/authentication/production)
- toolbox # toolbox name (https://github.com/containers/toolbox)
- context # user@hostname
- nordvpn # nordvpn connection status, linux only (https://nordvpn.com/)
- ranger # ranger shell (https://github.com/ranger/ranger)
- yazi # yazi shell (https://github.com/sxyazi/yazi)
- nnn # nnn shell (https://github.com/jarun/nnn)
- lf # lf shell (https://github.com/gokcehan/lf)
- xplr # xplr shell (https://github.com/sayanarijit/xplr)
- vim_shell # vim shell indicator (:sh)
- midnight_commander # midnight commander shell (https://midnight-commander.org/)
- nix_shell # nix shell (https://nixos.org/nixos/nix-pills/developing-with-nix-shell.html)
- chezmoi_shell # chezmoi shell (https://www.chezmoi.io/)
- vi_mode # vi mode (you don't need this if you've enabled prompt_char)
- # vpn_ip # virtual private network indicator
- # load # CPU load
- # disk_usage # disk usage
- # ram # free RAM
- # swap # used swap
- todo # todo items (https://github.com/todotxt/todo.txt-cli)
- timewarrior # timewarrior tracking status (https://timewarrior.net/)
- taskwarrior # taskwarrior task count (https://taskwarrior.org/)
- per_directory_history # Oh My Zsh per-directory-history local/global indicator
- # cpu_arch # CPU architecture
- time # current time
- # ip # ip address and bandwidth usage for a specified network interface
- # public_ip # public IP address
- # proxy # system-wide http/https/ftp proxy
- # battery # internal battery
- # wifi # wifi speed
- # example # example user-defined segment (see prompt_example function below)
- )
-
- # Defines character set used by powerlevel10k. It's best to let `p10k configure` set it for you.
- typeset -g POWERLEVEL9K_MODE=nerdfont-v3
- # When set to `moderate`, some icons will have an extra space after them. This is meant to avoid
- # icon overlap when using non-monospace fonts. When set to `none`, spaces are not added.
- typeset -g POWERLEVEL9K_ICON_PADDING=none
-
- # When set to true, icons appear before content on both sides of the prompt. When set
- # to false, icons go after content. If empty or not set, icons go before content in the left
- # prompt and after content in the right prompt.
- #
- # You can also override it for a specific segment:
- #
- # POWERLEVEL9K_STATUS_ICON_BEFORE_CONTENT=false
- #
- # Or for a specific segment in specific state:
- #
- # POWERLEVEL9K_DIR_NOT_WRITABLE_ICON_BEFORE_CONTENT=false
- typeset -g POWERLEVEL9K_ICON_BEFORE_CONTENT=
-
- # Add an empty line before each prompt.
- typeset -g POWERLEVEL9K_PROMPT_ADD_NEWLINE=false
-
- # Connect left prompt lines with these symbols. You'll probably want to use the same color
- # as POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_FOREGROUND below.
- typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX='%242F╭─'
- typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_PREFIX='%242F├─'
- typeset -g POWERLEVEL9K_MULTILINE_LAST_PROMPT_PREFIX='%242F╰─'
- # Connect right prompt lines with these symbols.
- typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_SUFFIX='%242F─╮'
- typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_SUFFIX='%242F─┤'
- typeset -g POWERLEVEL9K_MULTILINE_LAST_PROMPT_SUFFIX='%242F─╯'
-
- # Filler between left and right prompt on the first prompt line. You can set it to ' ', '·' or
- # '─'. The last two make it easier to see the alignment between left and right prompt and to
- # separate prompt from command output. You might want to set POWERLEVEL9K_PROMPT_ADD_NEWLINE=false
- # for more compact prompt if using this option.
- typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR=' '
- typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_BACKGROUND=
- typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_GAP_BACKGROUND=
- if [[ $POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR != ' ' ]]; then
- # The color of the filler. You'll probably want to match the color of POWERLEVEL9K_MULTILINE
- # ornaments defined above.
- typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_FOREGROUND=242
- # Start filler from the edge of the screen if there are no left segments on the first line.
- typeset -g POWERLEVEL9K_EMPTY_LINE_LEFT_PROMPT_FIRST_SEGMENT_END_SYMBOL='%{%}'
- # End filler on the edge of the screen if there are no right segments on the first line.
- typeset -g POWERLEVEL9K_EMPTY_LINE_RIGHT_PROMPT_FIRST_SEGMENT_START_SYMBOL='%{%}'
- fi
-
- # Default background color.
- typeset -g POWERLEVEL9K_BACKGROUND=238
-
- # Separator between same-color segments on the left.
- typeset -g POWERLEVEL9K_LEFT_SUBSEGMENT_SEPARATOR='%246F\uE0B1'
- # Separator between same-color segments on the right.
- typeset -g POWERLEVEL9K_RIGHT_SUBSEGMENT_SEPARATOR='%246F\uE0B3'
- # Separator between different-color segments on the left.
- typeset -g POWERLEVEL9K_LEFT_SEGMENT_SEPARATOR='\uE0B0'
- # Separator between different-color segments on the right.
- typeset -g POWERLEVEL9K_RIGHT_SEGMENT_SEPARATOR='\uE0B2'
- # To remove a separator between two segments, add "_joined" to the second segment name.
- # For example: POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(os_icon context_joined)
-
- # The right end of left prompt.
- typeset -g POWERLEVEL9K_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL='\uE0B0'
- # The left end of right prompt.
- typeset -g POWERLEVEL9K_RIGHT_PROMPT_FIRST_SEGMENT_START_SYMBOL='\uE0B2'
- # The left end of left prompt.
- typeset -g POWERLEVEL9K_LEFT_PROMPT_FIRST_SEGMENT_START_SYMBOL='░▒▓'
- # The right end of right prompt.
- typeset -g POWERLEVEL9K_RIGHT_PROMPT_LAST_SEGMENT_END_SYMBOL='▓▒░'
- # Left prompt terminator for lines without any segments.
- typeset -g POWERLEVEL9K_EMPTY_LINE_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL=
-
- #################################[ os_icon: os identifier ]##################################
- # OS identifier color.
- typeset -g POWERLEVEL9K_OS_ICON_FOREGROUND=255
- # Custom icon.
- # typeset -g POWERLEVEL9K_OS_ICON_CONTENT_EXPANSION='⭐'
-
- ################################[ prompt_char: prompt symbol ]################################
- # Transparent background.
- typeset -g POWERLEVEL9K_PROMPT_CHAR_BACKGROUND=
- # Green prompt symbol if the last command succeeded.
- typeset -g POWERLEVEL9K_PROMPT_CHAR_OK_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=76
- # Red prompt symbol if the last command failed.
- typeset -g POWERLEVEL9K_PROMPT_CHAR_ERROR_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=196
- # Default prompt symbol.
- typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIINS_CONTENT_EXPANSION='❯'
- # Prompt symbol in command vi mode.
- typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VICMD_CONTENT_EXPANSION='❮'
- # Prompt symbol in visual vi mode.
- typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIVIS_CONTENT_EXPANSION='V'
- # Prompt symbol in overwrite vi mode.
- typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIOWR_CONTENT_EXPANSION='▶'
- typeset -g POWERLEVEL9K_PROMPT_CHAR_OVERWRITE_STATE=true
- # No line terminator if prompt_char is the last segment.
- typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL=
- # No line introducer if prompt_char is the first segment.
- typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_PROMPT_FIRST_SEGMENT_START_SYMBOL=
- # No surrounding whitespace.
- typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_{LEFT,RIGHT}_WHITESPACE=
-
- ##################################[ dir: current directory ]##################################
- # Default current directory color.
- typeset -g POWERLEVEL9K_DIR_FOREGROUND=31
- # If directory is too long, shorten some of its segments to the shortest possible unique
- # prefix. The shortened directory can be tab-completed to the original.
- typeset -g POWERLEVEL9K_SHORTEN_STRATEGY=truncate_to_unique
- # Replace removed segment suffixes with this symbol.
- typeset -g POWERLEVEL9K_SHORTEN_DELIMITER=
- # Color of the shortened directory segments.
- typeset -g POWERLEVEL9K_DIR_SHORTENED_FOREGROUND=103
- # Color of the anchor directory segments. Anchor segments are never shortened. The first
- # segment is always an anchor.
- typeset -g POWERLEVEL9K_DIR_ANCHOR_FOREGROUND=39
- # Display anchor directory segments in bold.
- typeset -g POWERLEVEL9K_DIR_ANCHOR_BOLD=true
- # Don't shorten directories that contain any of these files. They are anchors.
- local anchor_files=(
- .bzr
- .citc
- .git
- .hg
- .node-version
- .python-version
- .go-version
- .ruby-version
- .lua-version
- .java-version
- .perl-version
- .php-version
- .tool-versions
- .mise.toml
- .shorten_folder_marker
- .svn
- .terraform
- CVS
- Cargo.toml
- composer.json
- go.mod
- package.json
- stack.yaml
- )
- typeset -g POWERLEVEL9K_SHORTEN_FOLDER_MARKER="(${(j:|:)anchor_files})"
- # If set to "first" ("last"), remove everything before the first (last) subdirectory that contains
- # files matching $POWERLEVEL9K_SHORTEN_FOLDER_MARKER. For example, when the current directory is
- # /foo/bar/git_repo/nested_git_repo/baz, prompt will display git_repo/nested_git_repo/baz (first)
- # or nested_git_repo/baz (last). This assumes that git_repo and nested_git_repo contain markers
- # and other directories don't.
- #
- # Optionally, "first" and "last" can be followed by ":<offset>" where <offset> is an integer.
- # This moves the truncation point to the right (positive offset) or to the left (negative offset)
- # relative to the marker. Plain "first" and "last" are equivalent to "first:0" and "last:0"
- # respectively.
- typeset -g POWERLEVEL9K_DIR_TRUNCATE_BEFORE_MARKER=false
- # Don't shorten this many last directory segments. They are anchors.
- typeset -g POWERLEVEL9K_SHORTEN_DIR_LENGTH=1
- # Shorten directory if it's longer than this even if there is space for it. The value can
- # be either absolute (e.g., '80') or a percentage of terminal width (e.g, '50%'). If empty,
- # directory will be shortened only when prompt doesn't fit or when other parameters demand it
- # (see POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS and POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS_PCT below).
- # If set to `0`, directory will always be shortened to its minimum length.
- typeset -g POWERLEVEL9K_DIR_MAX_LENGTH=80
- # When `dir` segment is on the last prompt line, try to shorten it enough to leave at least this
- # many columns for typing commands.
- typeset -g POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS=40
- # When `dir` segment is on the last prompt line, try to shorten it enough to leave at least
- # COLUMNS * POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS_PCT * 0.01 columns for typing commands.
- typeset -g POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS_PCT=50
- # If set to true, embed a hyperlink into the directory. Useful for quickly
- # opening a directory in the file manager simply by clicking the link.
- # Can also be handy when the directory is shortened, as it allows you to see
- # the full directory that was used in previous commands.
- typeset -g POWERLEVEL9K_DIR_HYPERLINK=false
-
- # Enable special styling for non-writable and non-existent directories. See POWERLEVEL9K_LOCK_ICON
- # and POWERLEVEL9K_DIR_CLASSES below.
- typeset -g POWERLEVEL9K_DIR_SHOW_WRITABLE=v3
-
- # The default icon shown next to non-writable and non-existent directories when
- # POWERLEVEL9K_DIR_SHOW_WRITABLE is set to v3.
- # typeset -g POWERLEVEL9K_LOCK_ICON='⭐'
-
- # POWERLEVEL9K_DIR_CLASSES allows you to specify custom icons and colors for different
- # directories. It must be an array with 3 * N elements. Each triplet consists of:
- #
- # 1. A pattern against which the current directory ($PWD) is matched. Matching is done with
- # extended_glob option enabled.
- # 2. Directory class for the purpose of styling.
- # 3. An empty string.
- #
- # Triplets are tried in order. The first triplet whose pattern matches $PWD wins.
- #
- # If POWERLEVEL9K_DIR_SHOW_WRITABLE is set to v3, non-writable and non-existent directories
- # acquire class suffix _NOT_WRITABLE and NON_EXISTENT respectively.
- #
- # For example, given these settings:
- #
- # typeset -g POWERLEVEL9K_DIR_CLASSES=(
- # '~/work(|/*)' WORK ''
- # '~(|/*)' HOME ''
- # '*' DEFAULT '')
- #
- # Whenever the current directory is ~/work or a subdirectory of ~/work, it gets styled with one
- # of the following classes depending on its writability and existence: WORK, WORK_NOT_WRITABLE or
- # WORK_NON_EXISTENT.
- #
- # Simply assigning classes to directories doesn't have any visible effects. It merely gives you an
- # option to define custom colors and icons for different directory classes.
- #
- # # Styling for WORK.
- # typeset -g POWERLEVEL9K_DIR_WORK_VISUAL_IDENTIFIER_EXPANSION='⭐'
- # typeset -g POWERLEVEL9K_DIR_WORK_FOREGROUND=31
- # typeset -g POWERLEVEL9K_DIR_WORK_SHORTENED_FOREGROUND=103
- # typeset -g POWERLEVEL9K_DIR_WORK_ANCHOR_FOREGROUND=39
- #
- # # Styling for WORK_NOT_WRITABLE.
- # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_VISUAL_IDENTIFIER_EXPANSION='⭐'
- # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_FOREGROUND=31
- # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_SHORTENED_FOREGROUND=103
- # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_ANCHOR_FOREGROUND=39
- #
- # # Styling for WORK_NON_EXISTENT.
- # typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_VISUAL_IDENTIFIER_EXPANSION='⭐'
- # typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_FOREGROUND=31
- # typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_SHORTENED_FOREGROUND=103
- # typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_ANCHOR_FOREGROUND=39
- #
- # If a styling parameter isn't explicitly defined for some class, it falls back to the classless
- # parameter. For example, if POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_FOREGROUND is not set, it falls
- # back to POWERLEVEL9K_DIR_FOREGROUND.
- #
- # typeset -g POWERLEVEL9K_DIR_CLASSES=()
-
- # Custom prefix.
- # typeset -g POWERLEVEL9K_DIR_PREFIX='%248Fin '
-
- #####################################[ vcs: git status ]######################################
- # Branch icon. Set this parameter to '\UE0A0 ' for the popular Powerline branch icon.
- typeset -g POWERLEVEL9K_VCS_BRANCH_ICON='\uF126 '
-
- # Untracked files icon. It's really a question mark, your font isn't broken.
- # Change the value of this parameter to show a different icon.
- typeset -g POWERLEVEL9K_VCS_UNTRACKED_ICON='?'
-
- # Formatter for Git status.
- #
- # Example output: master wip ⇣42⇡42 *42 merge ~42 +42 !42 ?42.
- #
- # You can edit the function to customize how Git status looks.
- #
- # VCS_STATUS_* parameters are set by gitstatus plugin. See reference:
- # https://github.com/romkatv/gitstatus/blob/master/gitstatus.plugin.zsh.
- function my_git_formatter() {
- emulate -L zsh
-
- if [[ -n $P9K_CONTENT ]]; then
- # If P9K_CONTENT is not empty, use it. It's either "loading" or from vcs_info (not from
- # gitstatus plugin). VCS_STATUS_* parameters are not available in this case.
- typeset -g my_git_format=$P9K_CONTENT
- return
- fi
-
- if (( $1 )); then
- # Styling for up-to-date Git status.
- local meta='%248F' # grey foreground
- local clean='%76F' # green foreground
- local modified='%178F' # yellow foreground
- local untracked='%39F' # blue foreground
- local conflicted='%196F' # red foreground
- else
- # Styling for incomplete and stale Git status.
- local meta='%244F' # grey foreground
- local clean='%244F' # grey foreground
- local modified='%244F' # grey foreground
- local untracked='%244F' # grey foreground
- local conflicted='%244F' # grey foreground
- fi
-
- local res
-
- if [[ -n $VCS_STATUS_LOCAL_BRANCH ]]; then
- local branch=${(V)VCS_STATUS_LOCAL_BRANCH}
- # If local branch name is at most 32 characters long, show it in full.
- # Otherwise show the first 12 … the last 12.
- # Tip: To always show local branch name in full without truncation, delete the next line.
- (( $#branch > 32 )) && branch[13,-13]="…" # <-- this line
- res+="${clean}${(g::)POWERLEVEL9K_VCS_BRANCH_ICON}${branch//\%/%%}"
- fi
-
- if [[ -n $VCS_STATUS_TAG
- # Show tag only if not on a branch.
- # Tip: To always show tag, delete the next line.
- && -z $VCS_STATUS_LOCAL_BRANCH # <-- this line
- ]]; then
- local tag=${(V)VCS_STATUS_TAG}
- # If tag name is at most 32 characters long, show it in full.
- # Otherwise show the first 12 … the last 12.
- # Tip: To always show tag name in full without truncation, delete the next line.
- (( $#tag > 32 )) && tag[13,-13]="…" # <-- this line
- res+="${meta}#${clean}${tag//\%/%%}"
- fi
-
- # Display the current Git commit if there is no branch and no tag.
- # Tip: To always display the current Git commit, delete the next line.
- [[ -z $VCS_STATUS_LOCAL_BRANCH && -z $VCS_STATUS_TAG ]] && # <-- this line
- res+="${meta}@${clean}${VCS_STATUS_COMMIT[1,8]}"
-
- # Show tracking branch name if it differs from local branch.
- if [[ -n ${VCS_STATUS_REMOTE_BRANCH:#$VCS_STATUS_LOCAL_BRANCH} ]]; then
- res+="${meta}:${clean}${(V)VCS_STATUS_REMOTE_BRANCH//\%/%%}"
- fi
-
- # Display "wip" if the latest commit's summary contains "wip" or "WIP".
- if [[ $VCS_STATUS_COMMIT_SUMMARY == (|*[^[:alnum:]])(wip|WIP)(|[^[:alnum:]]*) ]]; then
- res+=" ${modified}wip"
- fi
-
- if (( VCS_STATUS_COMMITS_AHEAD || VCS_STATUS_COMMITS_BEHIND )); then
- # ⇣42 if behind the remote.
- (( VCS_STATUS_COMMITS_BEHIND )) && res+=" ${clean}⇣${VCS_STATUS_COMMITS_BEHIND}"
- # ⇡42 if ahead of the remote; no leading space if also behind the remote: ⇣42⇡42.
- (( VCS_STATUS_COMMITS_AHEAD && !VCS_STATUS_COMMITS_BEHIND )) && res+=" "
- (( VCS_STATUS_COMMITS_AHEAD )) && res+="${clean}⇡${VCS_STATUS_COMMITS_AHEAD}"
- elif [[ -n $VCS_STATUS_REMOTE_BRANCH ]]; then
- # Tip: Uncomment the next line to display '=' if up to date with the remote.
- # res+=" ${clean}="
- fi
-
- # ⇠42 if behind the push remote.
- (( VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" ${clean}⇠${VCS_STATUS_PUSH_COMMITS_BEHIND}"
- (( VCS_STATUS_PUSH_COMMITS_AHEAD && !VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" "
- # ⇢42 if ahead of the push remote; no leading space if also behind: ⇠42⇢42.
- (( VCS_STATUS_PUSH_COMMITS_AHEAD )) && res+="${clean}⇢${VCS_STATUS_PUSH_COMMITS_AHEAD}"
- # *42 if have stashes.
- (( VCS_STATUS_STASHES )) && res+=" ${clean}*${VCS_STATUS_STASHES}"
- # 'merge' if the repo is in an unusual state.
- [[ -n $VCS_STATUS_ACTION ]] && res+=" ${conflicted}${VCS_STATUS_ACTION}"
- # ~42 if have merge conflicts.
- (( VCS_STATUS_NUM_CONFLICTED )) && res+=" ${conflicted}~${VCS_STATUS_NUM_CONFLICTED}"
- # +42 if have staged changes.
- (( VCS_STATUS_NUM_STAGED )) && res+=" ${modified}+${VCS_STATUS_NUM_STAGED}"
- # !42 if have unstaged changes.
- (( VCS_STATUS_NUM_UNSTAGED )) && res+=" ${modified}!${VCS_STATUS_NUM_UNSTAGED}"
- # ?42 if have untracked files. It's really a question mark, your font isn't broken.
- # See POWERLEVEL9K_VCS_UNTRACKED_ICON above if you want to use a different icon.
- # Remove the next line if you don't want to see untracked files at all.
- (( VCS_STATUS_NUM_UNTRACKED )) && res+=" ${untracked}${(g::)POWERLEVEL9K_VCS_UNTRACKED_ICON}${VCS_STATUS_NUM_UNTRACKED}"
- # "─" if the number of unstaged files is unknown. This can happen due to
- # POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY (see below) being set to a non-negative number lower
- # than the number of files in the Git index, or due to bash.showDirtyState being set to false
- # in the repository config. The number of staged and untracked files may also be unknown
- # in this case.
- (( VCS_STATUS_HAS_UNSTAGED == -1 )) && res+=" ${modified}─"
-
- typeset -g my_git_format=$res
- }
- functions -M my_git_formatter 2>/dev/null
-
- # Don't count the number of unstaged, untracked and conflicted files in Git repositories with
- # more than this many files in the index. Negative value means infinity.
- #
- # If you are working in Git repositories with tens of millions of files and seeing performance
- # sagging, try setting POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY to a number lower than the output
- # of `git ls-files | wc -l`. Alternatively, add `bash.showDirtyState = false` to the repository's
- # config: `git config bash.showDirtyState false`.
- typeset -g POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY=-1
-
- # Don't show Git status in prompt for repositories whose workdir matches this pattern.
- # For example, if set to '~', the Git repository at $HOME/.git will be ignored.
- # Multiple patterns can be combined with '|': '~(|/foo)|/bar/baz/*'.
- typeset -g POWERLEVEL9K_VCS_DISABLED_WORKDIR_PATTERN='~'
-
- # Disable the default Git status formatting.
- typeset -g POWERLEVEL9K_VCS_DISABLE_GITSTATUS_FORMATTING=true
- # Install our own Git status formatter.
- typeset -g POWERLEVEL9K_VCS_CONTENT_EXPANSION='${$((my_git_formatter(1)))+${my_git_format}}'
- typeset -g POWERLEVEL9K_VCS_LOADING_CONTENT_EXPANSION='${$((my_git_formatter(0)))+${my_git_format}}'
- # Enable counters for staged, unstaged, etc.
- typeset -g POWERLEVEL9K_VCS_{STAGED,UNSTAGED,UNTRACKED,CONFLICTED,COMMITS_AHEAD,COMMITS_BEHIND}_MAX_NUM=-1
-
- # Icon color.
- typeset -g POWERLEVEL9K_VCS_VISUAL_IDENTIFIER_COLOR=76
- typeset -g POWERLEVEL9K_VCS_LOADING_VISUAL_IDENTIFIER_COLOR=244
- # Custom icon.
- # typeset -g POWERLEVEL9K_VCS_VISUAL_IDENTIFIER_EXPANSION='⭐'
- # Custom prefix.
- # typeset -g POWERLEVEL9K_VCS_PREFIX='%248Fon '
-
- # Show status of repositories of these types. You can add svn and/or hg if you are
- # using them. If you do, your prompt may become slow even when your current directory
- # isn't in an svn or hg reposotiry.
- typeset -g POWERLEVEL9K_VCS_BACKENDS=(git)
-
- # These settings are used for repositories other than Git or when gitstatusd fails and
- # Powerlevel10k has to fall back to using vcs_info.
- typeset -g POWERLEVEL9K_VCS_CLEAN_FOREGROUND=76
- typeset -g POWERLEVEL9K_VCS_UNTRACKED_FOREGROUND=76
- typeset -g POWERLEVEL9K_VCS_MODIFIED_FOREGROUND=178
-
- ##########################[ status: exit code of the last command ]###########################
- # Enable OK_PIPE, ERROR_PIPE and ERROR_SIGNAL status states to allow us to enable, disable and
- # style them independently from the regular OK and ERROR state.
- typeset -g POWERLEVEL9K_STATUS_EXTENDED_STATES=true
-
- # Status on success. No content, just an icon. No need to show it if prompt_char is enabled as
- # it will signify success by turning green.
- typeset -g POWERLEVEL9K_STATUS_OK=true
- typeset -g POWERLEVEL9K_STATUS_OK_FOREGROUND=70
- typeset -g POWERLEVEL9K_STATUS_OK_VISUAL_IDENTIFIER_EXPANSION='✔'
-
- # Status when some part of a pipe command fails but the overall exit status is zero. It may look
- # like this: 1|0.
- typeset -g POWERLEVEL9K_STATUS_OK_PIPE=true
- typeset -g POWERLEVEL9K_STATUS_OK_PIPE_FOREGROUND=70
- typeset -g POWERLEVEL9K_STATUS_OK_PIPE_VISUAL_IDENTIFIER_EXPANSION='✔'
-
- # Status when it's just an error code (e.g., '1'). No need to show it if prompt_char is enabled as
- # it will signify error by turning red.
- typeset -g POWERLEVEL9K_STATUS_ERROR=true
- typeset -g POWERLEVEL9K_STATUS_ERROR_FOREGROUND=160
- typeset -g POWERLEVEL9K_STATUS_ERROR_VISUAL_IDENTIFIER_EXPANSION='✘'
-
- # Status when the last command was terminated by a signal.
- typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL=true
- typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL_FOREGROUND=160
- # Use terse signal names: "INT" instead of "SIGINT(2)".
- typeset -g POWERLEVEL9K_STATUS_VERBOSE_SIGNAME=false
- typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL_VISUAL_IDENTIFIER_EXPANSION='✘'
-
- # Status when some part of a pipe command fails and the overall exit status is also non-zero.
- # It may look like this: 1|0.
- typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE=true
- typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_FOREGROUND=160
- typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_VISUAL_IDENTIFIER_EXPANSION='✘'
-
- ###################[ command_execution_time: duration of the last command ]###################
- # Show duration of the last command if takes at least this many seconds.
- typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_THRESHOLD=3
- # Show this many fractional digits. Zero means round to seconds.
- typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PRECISION=0
- # Execution time color.
- typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FOREGROUND=248
- # Duration format: 1d 2h 3m 4s.
- typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FORMAT='d h m s'
- # Custom icon.
- # typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_VISUAL_IDENTIFIER_EXPANSION='⭐'
- # Custom prefix.
- # typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PREFIX='%248Ftook '
-
- #######################[ background_jobs: presence of background jobs ]#######################
- # Don't show the number of background jobs.
- typeset -g POWERLEVEL9K_BACKGROUND_JOBS_VERBOSE=false
- # Background jobs color.
- typeset -g POWERLEVEL9K_BACKGROUND_JOBS_FOREGROUND=37
- # Custom icon.
- # typeset -g POWERLEVEL9K_BACKGROUND_JOBS_VISUAL_IDENTIFIER_EXPANSION='⭐'
-
- #######################[ direnv: direnv status (https://direnv.net/) ]########################
- # Direnv color.
- typeset -g POWERLEVEL9K_DIRENV_FOREGROUND=178
- # Custom icon.
- # typeset -g POWERLEVEL9K_DIRENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
-
- ###############[ asdf: asdf version manager (https://github.com/asdf-vm/asdf) ]###############
- # Default asdf color. Only used to display tools for which there is no color override (see below).
- # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_FOREGROUND.
- typeset -g POWERLEVEL9K_ASDF_FOREGROUND=66
-
- # There are four parameters that can be used to hide asdf tools. Each parameter describes
- # conditions under which a tool gets hidden. Parameters can hide tools but not unhide them. If at
- # least one parameter decides to hide a tool, that tool gets hidden. If no parameter decides to
- # hide a tool, it gets shown.
- #
- # Special note on the difference between POWERLEVEL9K_ASDF_SOURCES and
- # POWERLEVEL9K_ASDF_PROMPT_ALWAYS_SHOW. Consider the effect of the following commands:
- #
- # asdf local python 3.8.1
- # asdf global python 3.8.1
- #
- # After running both commands the current python version is 3.8.1 and its source is "local" as
- # it takes precedence over "global". If POWERLEVEL9K_ASDF_PROMPT_ALWAYS_SHOW is set to false,
- # it'll hide python version in this case because 3.8.1 is the same as the global version.
- # POWERLEVEL9K_ASDF_SOURCES will hide python version only if the value of this parameter doesn't
- # contain "local".
-
- # Hide tool versions that don't come from one of these sources.
- #
- # Available sources:
- #
- # - shell `asdf current` says "set by ASDF_${TOOL}_VERSION environment variable"
- # - local `asdf current` says "set by /some/not/home/directory/file"
- # - global `asdf current` says "set by /home/username/file"
- #
- # Note: If this parameter is set to (shell local global), it won't hide tools.
- # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_SOURCES.
- typeset -g POWERLEVEL9K_ASDF_SOURCES=(shell local global)
-
- # If set to false, hide tool versions that are the same as global.
- #
- # Note: The name of this parameter doesn't reflect its meaning at all.
- # Note: If this parameter is set to true, it won't hide tools.
- # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_PROMPT_ALWAYS_SHOW.
- typeset -g POWERLEVEL9K_ASDF_PROMPT_ALWAYS_SHOW=false
-
- # If set to false, hide tool versions that are equal to "system".
- #
- # Note: If this parameter is set to true, it won't hide tools.
- # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_SHOW_SYSTEM.
- typeset -g POWERLEVEL9K_ASDF_SHOW_SYSTEM=true
-
- # If set to non-empty value, hide tools unless there is a file matching the specified file pattern
- # in the current directory, or its parent directory, or its grandparent directory, and so on.
- #
- # Note: If this parameter is set to empty value, it won't hide tools.
- # Note: SHOW_ON_UPGLOB isn't specific to asdf. It works with all prompt segments.
- # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_SHOW_ON_UPGLOB.
- #
- # Example: Hide nodejs version when there is no package.json and no *.js files in the current
- # directory, in `..`, in `../..` and so on.
- #
- # typeset -g POWERLEVEL9K_ASDF_NODEJS_SHOW_ON_UPGLOB='*.js|package.json'
- typeset -g POWERLEVEL9K_ASDF_SHOW_ON_UPGLOB=
-
- # Ruby version from asdf.
- typeset -g POWERLEVEL9K_ASDF_RUBY_FOREGROUND=168
- # typeset -g POWERLEVEL9K_ASDF_RUBY_VISUAL_IDENTIFIER_EXPANSION='⭐'
- # typeset -g POWERLEVEL9K_ASDF_RUBY_SHOW_ON_UPGLOB='*.foo|*.bar'
-
- # Python version from asdf.
- typeset -g POWERLEVEL9K_ASDF_PYTHON_FOREGROUND=37
- # typeset -g POWERLEVEL9K_ASDF_PYTHON_VISUAL_IDENTIFIER_EXPANSION='⭐'
- # typeset -g POWERLEVEL9K_ASDF_PYTHON_SHOW_ON_UPGLOB='*.foo|*.bar'
-
- # Go version from asdf.
- typeset -g POWERLEVEL9K_ASDF_GOLANG_FOREGROUND=37
- # typeset -g POWERLEVEL9K_ASDF_GOLANG_VISUAL_IDENTIFIER_EXPANSION='⭐'
- # typeset -g POWERLEVEL9K_ASDF_GOLANG_SHOW_ON_UPGLOB='*.foo|*.bar'
-
- # Node.js version from asdf.
- typeset -g POWERLEVEL9K_ASDF_NODEJS_FOREGROUND=70
- # typeset -g POWERLEVEL9K_ASDF_NODEJS_VISUAL_IDENTIFIER_EXPANSION='⭐'
- # typeset -g POWERLEVEL9K_ASDF_NODEJS_SHOW_ON_UPGLOB='*.foo|*.bar'
-
- # Rust version from asdf.
- typeset -g POWERLEVEL9K_ASDF_RUST_FOREGROUND=37
- # typeset -g POWERLEVEL9K_ASDF_RUST_VISUAL_IDENTIFIER_EXPANSION='⭐'
- # typeset -g POWERLEVEL9K_ASDF_RUST_SHOW_ON_UPGLOB='*.foo|*.bar'
-
- # .NET Core version from asdf.
- typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_FOREGROUND=134
- # typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_VISUAL_IDENTIFIER_EXPANSION='⭐'
- # typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_SHOW_ON_UPGLOB='*.foo|*.bar'
-
- # Flutter version from asdf.
- typeset -g POWERLEVEL9K_ASDF_FLUTTER_FOREGROUND=38
- # typeset -g POWERLEVEL9K_ASDF_FLUTTER_VISUAL_IDENTIFIER_EXPANSION='⭐'
- # typeset -g POWERLEVEL9K_ASDF_FLUTTER_SHOW_ON_UPGLOB='*.foo|*.bar'
-
- # Lua version from asdf.
- typeset -g POWERLEVEL9K_ASDF_LUA_FOREGROUND=32
- # typeset -g POWERLEVEL9K_ASDF_LUA_VISUAL_IDENTIFIER_EXPANSION='⭐'
- # typeset -g POWERLEVEL9K_ASDF_LUA_SHOW_ON_UPGLOB='*.foo|*.bar'
-
- # Java version from asdf.
- typeset -g POWERLEVEL9K_ASDF_JAVA_FOREGROUND=32
- # typeset -g POWERLEVEL9K_ASDF_JAVA_VISUAL_IDENTIFIER_EXPANSION='⭐'
- # typeset -g POWERLEVEL9K_ASDF_JAVA_SHOW_ON_UPGLOB='*.foo|*.bar'
-
- # Perl version from asdf.
- typeset -g POWERLEVEL9K_ASDF_PERL_FOREGROUND=67
- # typeset -g POWERLEVEL9K_ASDF_PERL_VISUAL_IDENTIFIER_EXPANSION='⭐'
- # typeset -g POWERLEVEL9K_ASDF_PERL_SHOW_ON_UPGLOB='*.foo|*.bar'
-
- # Erlang version from asdf.
- typeset -g POWERLEVEL9K_ASDF_ERLANG_FOREGROUND=125
- # typeset -g POWERLEVEL9K_ASDF_ERLANG_VISUAL_IDENTIFIER_EXPANSION='⭐'
- # typeset -g POWERLEVEL9K_ASDF_ERLANG_SHOW_ON_UPGLOB='*.foo|*.bar'
-
- # Elixir version from asdf.
- typeset -g POWERLEVEL9K_ASDF_ELIXIR_FOREGROUND=129
- # typeset -g POWERLEVEL9K_ASDF_ELIXIR_VISUAL_IDENTIFIER_EXPANSION='⭐'
- # typeset -g POWERLEVEL9K_ASDF_ELIXIR_SHOW_ON_UPGLOB='*.foo|*.bar'
-
- # Postgres version from asdf.
- typeset -g POWERLEVEL9K_ASDF_POSTGRES_FOREGROUND=31
- # typeset -g POWERLEVEL9K_ASDF_POSTGRES_VISUAL_IDENTIFIER_EXPANSION='⭐'
- # typeset -g POWERLEVEL9K_ASDF_POSTGRES_SHOW_ON_UPGLOB='*.foo|*.bar'
-
- # PHP version from asdf.
- typeset -g POWERLEVEL9K_ASDF_PHP_FOREGROUND=99
- # typeset -g POWERLEVEL9K_ASDF_PHP_VISUAL_IDENTIFIER_EXPANSION='⭐'
- # typeset -g POWERLEVEL9K_ASDF_PHP_SHOW_ON_UPGLOB='*.foo|*.bar'
-
- # Haskell version from asdf.
- typeset -g POWERLEVEL9K_ASDF_HASKELL_FOREGROUND=172
- # typeset -g POWERLEVEL9K_ASDF_HASKELL_VISUAL_IDENTIFIER_EXPANSION='⭐'
- # typeset -g POWERLEVEL9K_ASDF_HASKELL_SHOW_ON_UPGLOB='*.foo|*.bar'
-
- # Julia version from asdf.
- typeset -g POWERLEVEL9K_ASDF_JULIA_FOREGROUND=70
- # typeset -g POWERLEVEL9K_ASDF_JULIA_VISUAL_IDENTIFIER_EXPANSION='⭐'
- # typeset -g POWERLEVEL9K_ASDF_JULIA_SHOW_ON_UPGLOB='*.foo|*.bar'
-
- ##########[ nordvpn: nordvpn connection status, linux only (https://nordvpn.com/) ]###########
- # NordVPN connection indicator color.
- typeset -g POWERLEVEL9K_NORDVPN_FOREGROUND=39
- # Hide NordVPN connection indicator when not connected.
- typeset -g POWERLEVEL9K_NORDVPN_{DISCONNECTED,CONNECTING,DISCONNECTING}_CONTENT_EXPANSION=
- typeset -g POWERLEVEL9K_NORDVPN_{DISCONNECTED,CONNECTING,DISCONNECTING}_VISUAL_IDENTIFIER_EXPANSION=
- # Custom icon.
- # typeset -g POWERLEVEL9K_NORDVPN_VISUAL_IDENTIFIER_EXPANSION='⭐'
-
- #################[ ranger: ranger shell (https://github.com/ranger/ranger) ]##################
- # Ranger shell color.
- typeset -g POWERLEVEL9K_RANGER_FOREGROUND=178
- # Custom icon.
- # typeset -g POWERLEVEL9K_RANGER_VISUAL_IDENTIFIER_EXPANSION='⭐'
-
- ####################[ yazi: yazi shell (https://github.com/sxyazi/yazi) ]#####################
- # Yazi shell color.
- typeset -g POWERLEVEL9K_YAZI_FOREGROUND=178
- # Custom icon.
- # typeset -g POWERLEVEL9K_YAZI_VISUAL_IDENTIFIER_EXPANSION='⭐'
-
- ######################[ nnn: nnn shell (https://github.com/jarun/nnn) ]#######################
- # Nnn shell color.
- typeset -g POWERLEVEL9K_NNN_FOREGROUND=72
- # Custom icon.
- # typeset -g POWERLEVEL9K_NNN_VISUAL_IDENTIFIER_EXPANSION='⭐'
-
- ######################[ lf: lf shell (https://github.com/gokcehan/lf) ]#######################
- # lf shell color.
- typeset -g POWERLEVEL9K_LF_FOREGROUND=72
- # Custom icon.
- # typeset -g POWERLEVEL9K_LF_VISUAL_IDENTIFIER_EXPANSION='⭐'
-
- ##################[ xplr: xplr shell (https://github.com/sayanarijit/xplr) ]##################
- # xplr shell color.
- typeset -g POWERLEVEL9K_XPLR_FOREGROUND=72
- # Custom icon.
- # typeset -g POWERLEVEL9K_XPLR_VISUAL_IDENTIFIER_EXPANSION='⭐'
-
- ###########################[ vim_shell: vim shell indicator (:sh) ]###########################
- # Vim shell indicator color.
- typeset -g POWERLEVEL9K_VIM_SHELL_FOREGROUND=34
- # Custom icon.
- # typeset -g POWERLEVEL9K_VIM_SHELL_VISUAL_IDENTIFIER_EXPANSION='⭐'
-
- ######[ midnight_commander: midnight commander shell (https://midnight-commander.org/) ]######
- # Midnight Commander shell color.
- typeset -g POWERLEVEL9K_MIDNIGHT_COMMANDER_FOREGROUND=178
- # Custom icon.
- # typeset -g POWERLEVEL9K_MIDNIGHT_COMMANDER_VISUAL_IDENTIFIER_EXPANSION='⭐'
-
- #[ nix_shell: nix shell (https://nixos.org/nixos/nix-pills/developing-with-nix-shell.html) ]##
- # Nix shell color.
- typeset -g POWERLEVEL9K_NIX_SHELL_FOREGROUND=74
-
- # Display the icon of nix_shell if PATH contains a subdirectory of /nix/store.
- # typeset -g POWERLEVEL9K_NIX_SHELL_INFER_FROM_PATH=false
-
- # Tip: If you want to see just the icon without "pure" and "impure", uncomment the next line.
- # typeset -g POWERLEVEL9K_NIX_SHELL_CONTENT_EXPANSION=
-
- # Custom icon.
- # typeset -g POWERLEVEL9K_NIX_SHELL_VISUAL_IDENTIFIER_EXPANSION='⭐'
-
- ##################[ chezmoi_shell: chezmoi shell (https://www.chezmoi.io/) ]##################
- # chezmoi shell color.
- typeset -g POWERLEVEL9K_CHEZMOI_SHELL_FOREGROUND=33
- # Custom icon.
- # typeset -g POWERLEVEL9K_CHEZMOI_SHELL_VISUAL_IDENTIFIER_EXPANSION='⭐'
-
- ##################################[ disk_usage: disk usage ]##################################
- # Colors for different levels of disk usage.
- typeset -g POWERLEVEL9K_DISK_USAGE_NORMAL_FOREGROUND=35
- typeset -g POWERLEVEL9K_DISK_USAGE_WARNING_FOREGROUND=220
- typeset -g POWERLEVEL9K_DISK_USAGE_CRITICAL_FOREGROUND=160
- # Thresholds for different levels of disk usage (percentage points).
- typeset -g POWERLEVEL9K_DISK_USAGE_WARNING_LEVEL=90
- typeset -g POWERLEVEL9K_DISK_USAGE_CRITICAL_LEVEL=95
- # If set to true, hide disk usage when below $POWERLEVEL9K_DISK_USAGE_WARNING_LEVEL percent.
- typeset -g POWERLEVEL9K_DISK_USAGE_ONLY_WARNING=false
- # Custom icon.
- # typeset -g POWERLEVEL9K_DISK_USAGE_VISUAL_IDENTIFIER_EXPANSION='⭐'
-
- ###########[ vi_mode: vi mode (you don't need this if you've enabled prompt_char) ]###########
- # Text and color for normal (a.k.a. command) vi mode.
- typeset -g POWERLEVEL9K_VI_COMMAND_MODE_STRING=NORMAL
- typeset -g POWERLEVEL9K_VI_MODE_NORMAL_FOREGROUND=106
- # Text and color for visual vi mode.
- typeset -g POWERLEVEL9K_VI_VISUAL_MODE_STRING=VISUAL
- typeset -g POWERLEVEL9K_VI_MODE_VISUAL_FOREGROUND=68
- # Text and color for overtype (a.k.a. overwrite and replace) vi mode.
- typeset -g POWERLEVEL9K_VI_OVERWRITE_MODE_STRING=OVERTYPE
- typeset -g POWERLEVEL9K_VI_MODE_OVERWRITE_FOREGROUND=172
- # Text and color for insert vi mode.
- typeset -g POWERLEVEL9K_VI_INSERT_MODE_STRING=
- typeset -g POWERLEVEL9K_VI_MODE_INSERT_FOREGROUND=66
- # Custom icon.
- # typeset -g POWERLEVEL9K_VI_MODE_VISUAL_IDENTIFIER_EXPANSION='⭐'
-
- ######################################[ ram: free RAM ]#######################################
- # RAM color.
- typeset -g POWERLEVEL9K_RAM_FOREGROUND=66
- # Custom icon.
- # typeset -g POWERLEVEL9K_RAM_VISUAL_IDENTIFIER_EXPANSION='⭐'
-
- #####################################[ swap: used swap ]######################################
- # Swap color.
- typeset -g POWERLEVEL9K_SWAP_FOREGROUND=96
- # Custom icon.
- # typeset -g POWERLEVEL9K_SWAP_VISUAL_IDENTIFIER_EXPANSION='⭐'
-
- ######################################[ load: CPU load ]######################################
- # Show average CPU load over this many last minutes. Valid values are 1, 5 and 15.
- typeset -g POWERLEVEL9K_LOAD_WHICH=5
- # Load color when load is under 50%.
- typeset -g POWERLEVEL9K_LOAD_NORMAL_FOREGROUND=66
- # Load color when load is between 50% and 70%.
- typeset -g POWERLEVEL9K_LOAD_WARNING_FOREGROUND=178
- # Load color when load is over 70%.
- typeset -g POWERLEVEL9K_LOAD_CRITICAL_FOREGROUND=166
- # Custom icon.
- # typeset -g POWERLEVEL9K_LOAD_VISUAL_IDENTIFIER_EXPANSION='⭐'
-
- ################[ todo: todo items (https://github.com/todotxt/todo.txt-cli) ]################
- # Todo color.
- typeset -g POWERLEVEL9K_TODO_FOREGROUND=110
- # Hide todo when the total number of tasks is zero.
- typeset -g POWERLEVEL9K_TODO_HIDE_ZERO_TOTAL=true
- # Hide todo when the number of tasks after filtering is zero.
- typeset -g POWERLEVEL9K_TODO_HIDE_ZERO_FILTERED=false
-
- # Todo format. The following parameters are available within the expansion.
- #
- # - P9K_TODO_TOTAL_TASK_COUNT The total number of tasks.
- # - P9K_TODO_FILTERED_TASK_COUNT The number of tasks after filtering.
- #
- # These variables correspond to the last line of the output of `todo.sh -p ls`:
- #
- # TODO: 24 of 42 tasks shown
- #
- # Here 24 is P9K_TODO_FILTERED_TASK_COUNT and 42 is P9K_TODO_TOTAL_TASK_COUNT.
- #
- # typeset -g POWERLEVEL9K_TODO_CONTENT_EXPANSION='$P9K_TODO_FILTERED_TASK_COUNT'
-
- # Custom icon.
- # typeset -g POWERLEVEL9K_TODO_VISUAL_IDENTIFIER_EXPANSION='⭐'
-
- ###########[ timewarrior: timewarrior tracking status (https://timewarrior.net/) ]############
- # Timewarrior color.
- typeset -g POWERLEVEL9K_TIMEWARRIOR_FOREGROUND=110
- # If the tracked task is longer than 24 characters, truncate and append "…".
- # Tip: To always display tasks without truncation, delete the following parameter.
- # Tip: To hide task names and display just the icon when time tracking is enabled, set the
- # value of the following parameter to "".
- typeset -g POWERLEVEL9K_TIMEWARRIOR_CONTENT_EXPANSION='${P9K_CONTENT:0:24}${${P9K_CONTENT:24}:+…}'
-
- # Custom icon.
- # typeset -g POWERLEVEL9K_TIMEWARRIOR_VISUAL_IDENTIFIER_EXPANSION='⭐'
-
- ##############[ taskwarrior: taskwarrior task count (https://taskwarrior.org/) ]##############
- # Taskwarrior color.
- typeset -g POWERLEVEL9K_TASKWARRIOR_FOREGROUND=74
-
- # Taskwarrior segment format. The following parameters are available within the expansion.
- #
- # - P9K_TASKWARRIOR_PENDING_COUNT The number of pending tasks: `task +PENDING count`.
- # - P9K_TASKWARRIOR_OVERDUE_COUNT The number of overdue tasks: `task +OVERDUE count`.
- #
- # Zero values are represented as empty parameters.
- #
- # The default format:
- #
- # '${P9K_TASKWARRIOR_OVERDUE_COUNT:+"!$P9K_TASKWARRIOR_OVERDUE_COUNT/"}$P9K_TASKWARRIOR_PENDING_COUNT'
- #
- # typeset -g POWERLEVEL9K_TASKWARRIOR_CONTENT_EXPANSION='$P9K_TASKWARRIOR_PENDING_COUNT'
-
- # Custom icon.
- # typeset -g POWERLEVEL9K_TASKWARRIOR_VISUAL_IDENTIFIER_EXPANSION='⭐'
-
- ######[ per_directory_history: Oh My Zsh per-directory-history local/global indicator ]#######
- # Color when using local/global history.
- typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_LOCAL_FOREGROUND=135
- typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_GLOBAL_FOREGROUND=130
-
- # Tip: Uncomment the next two lines to hide "local"/"global" text and leave just the icon.
- # typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_LOCAL_CONTENT_EXPANSION=''
- # typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_GLOBAL_CONTENT_EXPANSION=''
-
- # Custom icon.
- # typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_LOCAL_VISUAL_IDENTIFIER_EXPANSION='⭐'
- # typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_GLOBAL_VISUAL_IDENTIFIER_EXPANSION='⭐'
-
- ################################[ cpu_arch: CPU architecture ]################################
- # CPU architecture color.
- typeset -g POWERLEVEL9K_CPU_ARCH_FOREGROUND=172
-
- # Hide the segment when on a specific CPU architecture.
- # typeset -g POWERLEVEL9K_CPU_ARCH_X86_64_CONTENT_EXPANSION=
- # typeset -g POWERLEVEL9K_CPU_ARCH_X86_64_VISUAL_IDENTIFIER_EXPANSION=
-
- # Custom icon.
- # typeset -g POWERLEVEL9K_CPU_ARCH_VISUAL_IDENTIFIER_EXPANSION='⭐'
-
- ##################################[ context: user@hostname ]##################################
- # Context color when running with privileges.
- typeset -g POWERLEVEL9K_CONTEXT_ROOT_FOREGROUND=178
- # Context color in SSH without privileges.
- typeset -g POWERLEVEL9K_CONTEXT_{REMOTE,REMOTE_SUDO}_FOREGROUND=180
- # Default context color (no privileges, no SSH).
- typeset -g POWERLEVEL9K_CONTEXT_FOREGROUND=180
-
- # Context format when running with privileges: bold user@hostname.
- typeset -g POWERLEVEL9K_CONTEXT_ROOT_TEMPLATE='%B%n@%m'
- # Context format when in SSH without privileges: user@hostname.
- typeset -g POWERLEVEL9K_CONTEXT_{REMOTE,REMOTE_SUDO}_TEMPLATE='%n@%m'
- # Default context format (no privileges, no SSH): user@hostname.
- typeset -g POWERLEVEL9K_CONTEXT_TEMPLATE='%n@%m'
-
- # Don't show context unless running with privileges or in SSH.
- # Tip: Remove the next line to always show context.
- typeset -g POWERLEVEL9K_CONTEXT_{DEFAULT,SUDO}_{CONTENT,VISUAL_IDENTIFIER}_EXPANSION=
-
- # Custom icon.
- # typeset -g POWERLEVEL9K_CONTEXT_VISUAL_IDENTIFIER_EXPANSION='⭐'
- # Custom prefix.
- # typeset -g POWERLEVEL9K_CONTEXT_PREFIX='%248Fwith '
-
- ###[ virtualenv: python virtual environment (https://docs.python.org/3/library/venv.html) ]###
- # Python virtual environment color.
- typeset -g POWERLEVEL9K_VIRTUALENV_FOREGROUND=37
- # Don't show Python version next to the virtual environment name.
- typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_PYTHON_VERSION=false
- # If set to "false", won't show virtualenv if pyenv is already shown.
- # If set to "if-different", won't show virtualenv if it's the same as pyenv.
- typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_WITH_PYENV=false
- # Separate environment name from Python version only with a space.
- typeset -g POWERLEVEL9K_VIRTUALENV_{LEFT,RIGHT}_DELIMITER=
- # Custom icon.
- # typeset -g POWERLEVEL9K_VIRTUALENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
-
- #####################[ anaconda: conda environment (https://conda.io/) ]######################
- # Anaconda environment color.
- typeset -g POWERLEVEL9K_ANACONDA_FOREGROUND=37
-
- # Anaconda segment format. The following parameters are available within the expansion.
- #
- # - CONDA_PREFIX Absolute path to the active Anaconda/Miniconda environment.
- # - CONDA_DEFAULT_ENV Name of the active Anaconda/Miniconda environment.
- # - CONDA_PROMPT_MODIFIER Configurable prompt modifier (see below).
- # - P9K_ANACONDA_PYTHON_VERSION Current python version (python --version).
- #
- # CONDA_PROMPT_MODIFIER can be configured with the following command:
- #
- # conda config --set env_prompt '({default_env}) '
- #
- # The last argument is a Python format string that can use the following variables:
- #
- # - prefix The same as CONDA_PREFIX.
- # - default_env The same as CONDA_DEFAULT_ENV.
- # - name The last segment of CONDA_PREFIX.
- # - stacked_env Comma-separated list of names in the environment stack. The first element is
- # always the same as default_env.
- #
- # Note: '({default_env}) ' is the default value of env_prompt.
- #
- # The default value of POWERLEVEL9K_ANACONDA_CONTENT_EXPANSION expands to $CONDA_PROMPT_MODIFIER
- # without the surrounding parentheses, or to the last path component of CONDA_PREFIX if the former
- # is empty.
- typeset -g POWERLEVEL9K_ANACONDA_CONTENT_EXPANSION='${${${${CONDA_PROMPT_MODIFIER#\(}% }%\)}:-${CONDA_PREFIX:t}}'
-
- # Custom icon.
- # typeset -g POWERLEVEL9K_ANACONDA_VISUAL_IDENTIFIER_EXPANSION='⭐'
-
- ################[ pyenv: python environment (https://github.com/pyenv/pyenv) ]################
- # Pyenv color.
- typeset -g POWERLEVEL9K_PYENV_FOREGROUND=37
- # Hide python version if it doesn't come from one of these sources.
- typeset -g POWERLEVEL9K_PYENV_SOURCES=(shell local global)
- # If set to false, hide python version if it's the same as global:
- # $(pyenv version-name) == $(pyenv global).
- typeset -g POWERLEVEL9K_PYENV_PROMPT_ALWAYS_SHOW=false
- # If set to false, hide python version if it's equal to "system".
- typeset -g POWERLEVEL9K_PYENV_SHOW_SYSTEM=true
-
- # Pyenv segment format. The following parameters are available within the expansion.
- #
- # - P9K_CONTENT Current pyenv environment (pyenv version-name).
- # - P9K_PYENV_PYTHON_VERSION Current python version (python --version).
- #
- # The default format has the following logic:
- #
- # 1. Display just "$P9K_CONTENT" if it's equal to "$P9K_PYENV_PYTHON_VERSION" or
- # starts with "$P9K_PYENV_PYTHON_VERSION/".
- # 2. Otherwise display "$P9K_CONTENT $P9K_PYENV_PYTHON_VERSION".
- typeset -g POWERLEVEL9K_PYENV_CONTENT_EXPANSION='${P9K_CONTENT}${${P9K_CONTENT:#$P9K_PYENV_PYTHON_VERSION(|/*)}:+ $P9K_PYENV_PYTHON_VERSION}'
-
- # Custom icon.
- # typeset -g POWERLEVEL9K_PYENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
-
- ################[ goenv: go environment (https://github.com/syndbg/goenv) ]################
- # Goenv color.
- typeset -g POWERLEVEL9K_GOENV_FOREGROUND=37
- # Hide go version if it doesn't come from one of these sources.
- typeset -g POWERLEVEL9K_GOENV_SOURCES=(shell local global)
- # If set to false, hide go version if it's the same as global:
- # $(goenv version-name) == $(goenv global).
- typeset -g POWERLEVEL9K_GOENV_PROMPT_ALWAYS_SHOW=false
- # If set to false, hide go version if it's equal to "system".
- typeset -g POWERLEVEL9K_GOENV_SHOW_SYSTEM=true
- # Custom icon.
- # typeset -g POWERLEVEL9K_GOENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
-
- ##########[ nodenv: node.js version from nodenv (https://github.com/nodenv/nodenv) ]##########
- # Nodenv color.
- typeset -g POWERLEVEL9K_NODENV_FOREGROUND=70
- # Hide node version if it doesn't come from one of these sources.
- typeset -g POWERLEVEL9K_NODENV_SOURCES=(shell local global)
- # If set to false, hide node version if it's the same as global:
- # $(nodenv version-name) == $(nodenv global).
- typeset -g POWERLEVEL9K_NODENV_PROMPT_ALWAYS_SHOW=false
- # If set to false, hide node version if it's equal to "system".
- typeset -g POWERLEVEL9K_NODENV_SHOW_SYSTEM=true
- # Custom icon.
- # typeset -g POWERLEVEL9K_NODENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
-
- ##############[ nvm: node.js version from nvm (https://github.com/nvm-sh/nvm) ]###############
- # Nvm color.
- typeset -g POWERLEVEL9K_NVM_FOREGROUND=70
- # If set to false, hide node version if it's the same as default:
- # $(nvm version current) == $(nvm version default).
- typeset -g POWERLEVEL9K_NVM_PROMPT_ALWAYS_SHOW=false
- # If set to false, hide node version if it's equal to "system".
- typeset -g POWERLEVEL9K_NVM_SHOW_SYSTEM=true
- # Custom icon.
- # typeset -g POWERLEVEL9K_NVM_VISUAL_IDENTIFIER_EXPANSION='⭐'
-
- ############[ nodeenv: node.js environment (https://github.com/ekalinin/nodeenv) ]############
- # Nodeenv color.
- typeset -g POWERLEVEL9K_NODEENV_FOREGROUND=70
- # Don't show Node version next to the environment name.
- typeset -g POWERLEVEL9K_NODEENV_SHOW_NODE_VERSION=false
- # Separate environment name from Node version only with a space.
- typeset -g POWERLEVEL9K_NODEENV_{LEFT,RIGHT}_DELIMITER=
- # Custom icon.
- # typeset -g POWERLEVEL9K_NODEENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
-
- ##############################[ node_version: node.js version ]###############################
- # Node version color.
- typeset -g POWERLEVEL9K_NODE_VERSION_FOREGROUND=70
- # Show node version only when in a directory tree containing package.json.
- typeset -g POWERLEVEL9K_NODE_VERSION_PROJECT_ONLY=true
- # Custom icon.
- # typeset -g POWERLEVEL9K_NODE_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐'
-
- #######################[ go_version: go version (https://golang.org) ]########################
- # Go version color.
- typeset -g POWERLEVEL9K_GO_VERSION_FOREGROUND=37
- # Show go version only when in a go project subdirectory.
- typeset -g POWERLEVEL9K_GO_VERSION_PROJECT_ONLY=true
- # Custom icon.
- # typeset -g POWERLEVEL9K_GO_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐'
-
- #################[ rust_version: rustc version (https://www.rust-lang.org) ]##################
- # Rust version color.
- typeset -g POWERLEVEL9K_RUST_VERSION_FOREGROUND=37
- # Show rust version only when in a rust project subdirectory.
- typeset -g POWERLEVEL9K_RUST_VERSION_PROJECT_ONLY=true
- # Custom icon.
- # typeset -g POWERLEVEL9K_RUST_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐'
-
- ###############[ dotnet_version: .NET version (https://dotnet.microsoft.com) ]################
- # .NET version color.
- typeset -g POWERLEVEL9K_DOTNET_VERSION_FOREGROUND=134
- # Show .NET version only when in a .NET project subdirectory.
- typeset -g POWERLEVEL9K_DOTNET_VERSION_PROJECT_ONLY=true
- # Custom icon.
- # typeset -g POWERLEVEL9K_DOTNET_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐'
-
- #####################[ php_version: php version (https://www.php.net/) ]######################
- # PHP version color.
- typeset -g POWERLEVEL9K_PHP_VERSION_FOREGROUND=99
- # Show PHP version only when in a PHP project subdirectory.
- typeset -g POWERLEVEL9K_PHP_VERSION_PROJECT_ONLY=true
- # Custom icon.
- # typeset -g POWERLEVEL9K_PHP_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐'
-
- ##########[ laravel_version: laravel php framework version (https://laravel.com/) ]###########
- # Laravel version color.
- typeset -g POWERLEVEL9K_LARAVEL_VERSION_FOREGROUND=161
- # Custom icon.
- # typeset -g POWERLEVEL9K_LARAVEL_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐'
-
- ####################[ java_version: java version (https://www.java.com/) ]####################
- # Java version color.
- typeset -g POWERLEVEL9K_JAVA_VERSION_FOREGROUND=32
- # Show java version only when in a java project subdirectory.
- typeset -g POWERLEVEL9K_JAVA_VERSION_PROJECT_ONLY=true
- # Show brief version.
- typeset -g POWERLEVEL9K_JAVA_VERSION_FULL=false
- # Custom icon.
- # typeset -g POWERLEVEL9K_JAVA_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐'
-
- ###[ package: name@version from package.json (https://docs.npmjs.com/files/package.json) ]####
- # Package color.
- typeset -g POWERLEVEL9K_PACKAGE_FOREGROUND=117
- # Package format. The following parameters are available within the expansion.
- #
- # - 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//\%/%%}'
- # Custom icon.
- # typeset -g POWERLEVEL9K_PACKAGE_VISUAL_IDENTIFIER_EXPANSION='⭐'
-
- #############[ rbenv: ruby version from rbenv (https://github.com/rbenv/rbenv) ]##############
- # Rbenv color.
- typeset -g POWERLEVEL9K_RBENV_FOREGROUND=168
- # Hide ruby version if it doesn't come from one of these sources.
- typeset -g POWERLEVEL9K_RBENV_SOURCES=(shell local global)
- # If set to false, hide ruby version if it's the same as global:
- # $(rbenv version-name) == $(rbenv global).
- typeset -g POWERLEVEL9K_RBENV_PROMPT_ALWAYS_SHOW=false
- # If set to false, hide ruby version if it's equal to "system".
- typeset -g POWERLEVEL9K_RBENV_SHOW_SYSTEM=true
- # Custom icon.
- # typeset -g POWERLEVEL9K_RBENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
-
- #######################[ rvm: ruby version from rvm (https://rvm.io) ]########################
- # Rvm color.
- typeset -g POWERLEVEL9K_RVM_FOREGROUND=168
- # Don't show @gemset at the end.
- typeset -g POWERLEVEL9K_RVM_SHOW_GEMSET=false
- # Don't show ruby- at the front.
- typeset -g POWERLEVEL9K_RVM_SHOW_PREFIX=false
- # Custom icon.
- # typeset -g POWERLEVEL9K_RVM_VISUAL_IDENTIFIER_EXPANSION='⭐'
-
- ###########[ fvm: flutter version management (https://github.com/leoafarias/fvm) ]############
- # Fvm color.
- typeset -g POWERLEVEL9K_FVM_FOREGROUND=38
- # Custom icon.
- # typeset -g POWERLEVEL9K_FVM_VISUAL_IDENTIFIER_EXPANSION='⭐'
-
- ##########[ luaenv: lua version from luaenv (https://github.com/cehoffman/luaenv) ]###########
- # Lua color.
- typeset -g POWERLEVEL9K_LUAENV_FOREGROUND=32
- # Hide lua version if it doesn't come from one of these sources.
- typeset -g POWERLEVEL9K_LUAENV_SOURCES=(shell local global)
- # If set to false, hide lua version if it's the same as global:
- # $(luaenv version-name) == $(luaenv global).
- typeset -g POWERLEVEL9K_LUAENV_PROMPT_ALWAYS_SHOW=false
- # If set to false, hide lua version if it's equal to "system".
- typeset -g POWERLEVEL9K_LUAENV_SHOW_SYSTEM=true
- # Custom icon.
- # typeset -g POWERLEVEL9K_LUAENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
-
- ###############[ jenv: java version from jenv (https://github.com/jenv/jenv) ]################
- # Java color.
- typeset -g POWERLEVEL9K_JENV_FOREGROUND=32
- # Hide java version if it doesn't come from one of these sources.
- typeset -g POWERLEVEL9K_JENV_SOURCES=(shell local global)
- # If set to false, hide java version if it's the same as global:
- # $(jenv version-name) == $(jenv global).
- typeset -g POWERLEVEL9K_JENV_PROMPT_ALWAYS_SHOW=false
- # If set to false, hide java version if it's equal to "system".
- typeset -g POWERLEVEL9K_JENV_SHOW_SYSTEM=true
- # Custom icon.
- # typeset -g POWERLEVEL9K_JENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
-
- ###########[ plenv: perl version from plenv (https://github.com/tokuhirom/plenv) ]############
- # Perl color.
- typeset -g POWERLEVEL9K_PLENV_FOREGROUND=67
- # Hide perl version if it doesn't come from one of these sources.
- typeset -g POWERLEVEL9K_PLENV_SOURCES=(shell local global)
- # If set to false, hide perl version if it's the same as global:
- # $(plenv version-name) == $(plenv global).
- typeset -g POWERLEVEL9K_PLENV_PROMPT_ALWAYS_SHOW=false
- # If set to false, hide perl version if it's equal to "system".
- typeset -g POWERLEVEL9K_PLENV_SHOW_SYSTEM=true
- # Custom icon.
- # typeset -g POWERLEVEL9K_PLENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
-
- ###########[ perlbrew: perl version from perlbrew (https://github.com/gugod/App-perlbrew) ]############
- # Perlbrew color.
- typeset -g POWERLEVEL9K_PERLBREW_FOREGROUND=67
- # Show perlbrew version only when in a perl project subdirectory.
- typeset -g POWERLEVEL9K_PERLBREW_PROJECT_ONLY=true
- # Don't show "perl-" at the front.
- typeset -g POWERLEVEL9K_PERLBREW_SHOW_PREFIX=false
- # Custom icon.
- # typeset -g POWERLEVEL9K_PERLBREW_VISUAL_IDENTIFIER_EXPANSION='⭐'
-
- ############[ phpenv: php version from phpenv (https://github.com/phpenv/phpenv) ]############
- # PHP color.
- typeset -g POWERLEVEL9K_PHPENV_FOREGROUND=99
- # Hide php version if it doesn't come from one of these sources.
- typeset -g POWERLEVEL9K_PHPENV_SOURCES=(shell local global)
- # If set to false, hide php version if it's the same as global:
- # $(phpenv version-name) == $(phpenv global).
- typeset -g POWERLEVEL9K_PHPENV_PROMPT_ALWAYS_SHOW=false
- # If set to false, hide php version if it's equal to "system".
- typeset -g POWERLEVEL9K_PHPENV_SHOW_SYSTEM=true
- # Custom icon.
- # typeset -g POWERLEVEL9K_PHPENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
-
- #######[ scalaenv: scala version from scalaenv (https://github.com/scalaenv/scalaenv) ]#######
- # Scala color.
- typeset -g POWERLEVEL9K_SCALAENV_FOREGROUND=160
- # Hide scala version if it doesn't come from one of these sources.
- typeset -g POWERLEVEL9K_SCALAENV_SOURCES=(shell local global)
- # If set to false, hide scala version if it's the same as global:
- # $(scalaenv version-name) == $(scalaenv global).
- typeset -g POWERLEVEL9K_SCALAENV_PROMPT_ALWAYS_SHOW=false
- # If set to false, hide scala version if it's equal to "system".
- typeset -g POWERLEVEL9K_SCALAENV_SHOW_SYSTEM=true
- # Custom icon.
- # typeset -g POWERLEVEL9K_SCALAENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
-
- ##########[ haskell_stack: haskell version from stack (https://haskellstack.org/) ]###########
- # Haskell color.
- typeset -g POWERLEVEL9K_HASKELL_STACK_FOREGROUND=172
- # Hide haskell version if it doesn't come from one of these sources.
- #
- # shell: version is set by STACK_YAML
- # local: version is set by stack.yaml up the directory tree
- # global: version is set by the implicit global project (~/.stack/global-project/stack.yaml)
- typeset -g POWERLEVEL9K_HASKELL_STACK_SOURCES=(shell local)
- # If set to false, hide haskell version if it's the same as in the implicit global project.
- typeset -g POWERLEVEL9K_HASKELL_STACK_ALWAYS_SHOW=true
- # Custom icon.
- # typeset -g POWERLEVEL9K_HASKELL_STACK_VISUAL_IDENTIFIER_EXPANSION='⭐'
-
- ################[ terraform: terraform workspace (https://www.terraform.io) ]#################
- # Don't show terraform workspace if it's literally "default".
- typeset -g POWERLEVEL9K_TERRAFORM_SHOW_DEFAULT=false
- # POWERLEVEL9K_TERRAFORM_CLASSES is an array with even number of elements. The first element
- # in each pair defines a pattern against which the current terraform workspace gets matched.
- # More specifically, it's P9K_CONTENT prior to the application of context expansion (see below)
- # that gets matched. If you unset all POWERLEVEL9K_TERRAFORM_*CONTENT_EXPANSION parameters,
- # you'll see this value in your prompt. The second element of each pair in
- # POWERLEVEL9K_TERRAFORM_CLASSES defines the workspace class. Patterns are tried in order. The
- # first match wins.
- #
- # For example, given these settings:
- #
- # typeset -g POWERLEVEL9K_TERRAFORM_CLASSES=(
- # '*prod*' PROD
- # '*test*' TEST
- # '*' OTHER)
- #
- # If your current terraform workspace is "project_test", its class is TEST because "project_test"
- # doesn't match the pattern '*prod*' but does match '*test*'.
- #
- # You can define different colors, icons and content expansions for different classes:
- #
- # typeset -g POWERLEVEL9K_TERRAFORM_TEST_FOREGROUND=28
- # typeset -g POWERLEVEL9K_TERRAFORM_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐'
- # typeset -g POWERLEVEL9K_TERRAFORM_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <'
- typeset -g POWERLEVEL9K_TERRAFORM_CLASSES=(
- # '*prod*' PROD # These values are examples that are unlikely
- # '*test*' TEST # to match your needs. Customize them as needed.
- '*' OTHER)
- typeset -g POWERLEVEL9K_TERRAFORM_OTHER_FOREGROUND=38
- # typeset -g POWERLEVEL9K_TERRAFORM_OTHER_VISUAL_IDENTIFIER_EXPANSION='⭐'
-
- #############[ terraform_version: terraform version (https://www.terraform.io) ]##############
- # Terraform version color.
- typeset -g POWERLEVEL9K_TERRAFORM_VERSION_FOREGROUND=38
- # Custom icon.
- # typeset -g POWERLEVEL9K_TERRAFORM_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐'
-
- #############[ kubecontext: current kubernetes context (https://kubernetes.io/) ]#############
- # Show kubecontext only when the command you are typing invokes one of these tools.
- # Tip: Remove the next line to always show kubecontext.
- typeset -g POWERLEVEL9K_KUBECONTEXT_SHOW_ON_COMMAND='kubectl|helm|kubens|kubectx|oc|istioctl|kogito|k9s|helmfile|flux|fluxctl|stern|kubeseal|skaffold|kubent|kubecolor|cmctl|sparkctl'
-
- # Kubernetes context classes for the purpose of using different colors, icons and expansions with
- # different contexts.
- #
- # POWERLEVEL9K_KUBECONTEXT_CLASSES is an array with even number of elements. The first element
- # in each pair defines a pattern against which the current kubernetes context gets matched.
- # More specifically, it's P9K_CONTENT prior to the application of context expansion (see below)
- # that gets matched. If you unset all POWERLEVEL9K_KUBECONTEXT_*CONTENT_EXPANSION parameters,
- # you'll see this value in your prompt. The second element of each pair in
- # POWERLEVEL9K_KUBECONTEXT_CLASSES defines the context class. Patterns are tried in order. The
- # first match wins.
- #
- # For example, given these settings:
- #
- # typeset -g POWERLEVEL9K_KUBECONTEXT_CLASSES=(
- # '*prod*' PROD
- # '*test*' TEST
- # '*' DEFAULT)
- #
- # If your current kubernetes context is "deathray-testing/default", its class is TEST
- # because "deathray-testing/default" doesn't match the pattern '*prod*' but does match '*test*'.
- #
- # You can define different colors, icons and content expansions for different classes:
- #
- # typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_FOREGROUND=28
- # typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐'
- # typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <'
- typeset -g POWERLEVEL9K_KUBECONTEXT_CLASSES=(
- # '*prod*' PROD # These values are examples that are unlikely
- # '*test*' TEST # to match your needs. Customize them as needed.
- '*' DEFAULT)
- typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_FOREGROUND=134
- # typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐'
-
- # Use POWERLEVEL9K_KUBECONTEXT_CONTENT_EXPANSION to specify the content displayed by kubecontext
- # segment. Parameter expansions are very flexible and fast, too. See reference:
- # http://zsh.sourceforge.net/Doc/Release/Expansion.html#Parameter-Expansion.
- #
- # Within the expansion the following parameters are always available:
- #
- # - P9K_CONTENT The content that would've been displayed if there was no content
- # expansion defined.
- # - P9K_KUBECONTEXT_NAME The current context's name. Corresponds to column NAME in the
- # output of `kubectl config get-contexts`.
- # - P9K_KUBECONTEXT_CLUSTER The current context's cluster. Corresponds to column CLUSTER in the
- # output of `kubectl config get-contexts`.
- # - P9K_KUBECONTEXT_NAMESPACE The current context's namespace. Corresponds to column NAMESPACE
- # in the output of `kubectl config get-contexts`. If there is no
- # namespace, the parameter is set to "default".
- # - P9K_KUBECONTEXT_USER The current context's user. Corresponds to column AUTHINFO in the
- # output of `kubectl config get-contexts`.
- #
- # If the context points to Google Kubernetes Engine (GKE) or Elastic Kubernetes Service (EKS),
- # the following extra parameters are available:
- #
- # - P9K_KUBECONTEXT_CLOUD_NAME Either "gke" or "eks".
- # - P9K_KUBECONTEXT_CLOUD_ACCOUNT Account/project ID.
- # - P9K_KUBECONTEXT_CLOUD_ZONE Availability zone.
- # - P9K_KUBECONTEXT_CLOUD_CLUSTER Cluster.
- #
- # P9K_KUBECONTEXT_CLOUD_* parameters are derived from P9K_KUBECONTEXT_CLUSTER. For example,
- # if P9K_KUBECONTEXT_CLUSTER is "gke_my-account_us-east1-a_my-cluster-01":
- #
- # - P9K_KUBECONTEXT_CLOUD_NAME=gke
- # - P9K_KUBECONTEXT_CLOUD_ACCOUNT=my-account
- # - P9K_KUBECONTEXT_CLOUD_ZONE=us-east1-a
- # - P9K_KUBECONTEXT_CLOUD_CLUSTER=my-cluster-01
- #
- # If P9K_KUBECONTEXT_CLUSTER is "arn:aws:eks:us-east-1:123456789012:cluster/my-cluster-01":
- #
- # - P9K_KUBECONTEXT_CLOUD_NAME=eks
- # - P9K_KUBECONTEXT_CLOUD_ACCOUNT=123456789012
- # - P9K_KUBECONTEXT_CLOUD_ZONE=us-east-1
- # - P9K_KUBECONTEXT_CLOUD_CLUSTER=my-cluster-01
- typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION=
- # Show P9K_KUBECONTEXT_CLOUD_CLUSTER if it's not empty and fall back to P9K_KUBECONTEXT_NAME.
- POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION+='${P9K_KUBECONTEXT_CLOUD_CLUSTER:-${P9K_KUBECONTEXT_NAME}}'
- # Append the current context's namespace if it's not "default".
- POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION+='${${:-/$P9K_KUBECONTEXT_NAMESPACE}:#/default}'
-
- # Custom prefix.
- # typeset -g POWERLEVEL9K_KUBECONTEXT_PREFIX='%248Fat '
-
- #[ aws: aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) ]#
- # Show aws only when the command you are typing invokes one of these tools.
- # Tip: Remove the next line to always show aws.
- typeset -g POWERLEVEL9K_AWS_SHOW_ON_COMMAND='aws|awless|cdk|terraform|pulumi|terragrunt'
-
- # POWERLEVEL9K_AWS_CLASSES is an array with even number of elements. The first element
- # in each pair defines a pattern against which the current AWS profile gets matched.
- # More specifically, it's P9K_CONTENT prior to the application of context expansion (see below)
- # that gets matched. If you unset all POWERLEVEL9K_AWS_*CONTENT_EXPANSION parameters,
- # you'll see this value in your prompt. The second element of each pair in
- # POWERLEVEL9K_AWS_CLASSES defines the profile class. Patterns are tried in order. The
- # first match wins.
- #
- # For example, given these settings:
- #
- # typeset -g POWERLEVEL9K_AWS_CLASSES=(
- # '*prod*' PROD
- # '*test*' TEST
- # '*' DEFAULT)
- #
- # If your current AWS profile is "company_test", its class is TEST
- # because "company_test" doesn't match the pattern '*prod*' but does match '*test*'.
- #
- # You can define different colors, icons and content expansions for different classes:
- #
- # typeset -g POWERLEVEL9K_AWS_TEST_FOREGROUND=28
- # typeset -g POWERLEVEL9K_AWS_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐'
- # typeset -g POWERLEVEL9K_AWS_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <'
- typeset -g POWERLEVEL9K_AWS_CLASSES=(
- # '*prod*' PROD # These values are examples that are unlikely
- # '*test*' TEST # to match your needs. Customize them as needed.
- '*' DEFAULT)
- typeset -g POWERLEVEL9K_AWS_DEFAULT_FOREGROUND=208
- # typeset -g POWERLEVEL9K_AWS_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐'
-
- # AWS segment format. The following parameters are available within the expansion.
- #
- # - P9K_AWS_PROFILE The name of the current AWS profile.
- # - P9K_AWS_REGION The region associated with the current AWS profile.
- typeset -g POWERLEVEL9K_AWS_CONTENT_EXPANSION='${P9K_AWS_PROFILE//\%/%%}${P9K_AWS_REGION:+ ${P9K_AWS_REGION//\%/%%}}'
-
- #[ aws_eb_env: aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/) ]#
- # AWS Elastic Beanstalk environment color.
- typeset -g POWERLEVEL9K_AWS_EB_ENV_FOREGROUND=70
- # Custom icon.
- # typeset -g POWERLEVEL9K_AWS_EB_ENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
-
- ##########[ azure: azure account name (https://docs.microsoft.com/en-us/cli/azure) ]##########
- # Show azure only when the command you are typing invokes one of these tools.
- # Tip: Remove the next line to always show azure.
- typeset -g POWERLEVEL9K_AZURE_SHOW_ON_COMMAND='az|terraform|pulumi|terragrunt'
-
- # POWERLEVEL9K_AZURE_CLASSES is an array with even number of elements. The first element
- # in each pair defines a pattern against which the current azure account name gets matched.
- # More specifically, it's P9K_CONTENT prior to the application of context expansion (see below)
- # that gets matched. If you unset all POWERLEVEL9K_AZURE_*CONTENT_EXPANSION parameters,
- # you'll see this value in your prompt. The second element of each pair in
- # POWERLEVEL9K_AZURE_CLASSES defines the account class. Patterns are tried in order. The
- # first match wins.
- #
- # For example, given these settings:
- #
- # typeset -g POWERLEVEL9K_AZURE_CLASSES=(
- # '*prod*' PROD
- # '*test*' TEST
- # '*' OTHER)
- #
- # If your current azure account is "company_test", its class is TEST because "company_test"
- # doesn't match the pattern '*prod*' but does match '*test*'.
- #
- # You can define different colors, icons and content expansions for different classes:
- #
- # typeset -g POWERLEVEL9K_AZURE_TEST_FOREGROUND=28
- # typeset -g POWERLEVEL9K_AZURE_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐'
- # typeset -g POWERLEVEL9K_AZURE_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <'
- typeset -g POWERLEVEL9K_AZURE_CLASSES=(
- # '*prod*' PROD # These values are examples that are unlikely
- # '*test*' TEST # to match your needs. Customize them as needed.
- '*' OTHER)
-
- # Azure account name color.
- typeset -g POWERLEVEL9K_AZURE_OTHER_FOREGROUND=32
- # Custom icon.
- # typeset -g POWERLEVEL9K_AZURE_OTHER_VISUAL_IDENTIFIER_EXPANSION='⭐'
-
- ##########[ gcloud: google cloud account and project (https://cloud.google.com/) ]###########
- # Show gcloud only when the command you are typing invokes one of these tools.
- # Tip: Remove the next line to always show gcloud.
- typeset -g POWERLEVEL9K_GCLOUD_SHOW_ON_COMMAND='gcloud|gcs|gsutil'
- # Google cloud color.
- typeset -g POWERLEVEL9K_GCLOUD_FOREGROUND=32
-
- # Google cloud format. Change the value of POWERLEVEL9K_GCLOUD_PARTIAL_CONTENT_EXPANSION and/or
- # POWERLEVEL9K_GCLOUD_COMPLETE_CONTENT_EXPANSION if the default is too verbose or not informative
- # enough. You can use the following parameters in the expansions. Each of them corresponds to the
- # output of `gcloud` tool.
- #
- # Parameter | Source
- # -------------------------|--------------------------------------------------------------------
- # P9K_GCLOUD_CONFIGURATION | gcloud config configurations list --format='value(name)'
- # P9K_GCLOUD_ACCOUNT | gcloud config get-value account
- # P9K_GCLOUD_PROJECT_ID | gcloud config get-value project
- # P9K_GCLOUD_PROJECT_NAME | gcloud projects describe $P9K_GCLOUD_PROJECT_ID --format='value(name)'
- #
- # Note: ${VARIABLE//\%/%%} expands to ${VARIABLE} with all occurrences of '%' replaced with '%%'.
- #
- # Obtaining project name requires sending a request to Google servers. This can take a long time
- # and even fail. When project name is unknown, P9K_GCLOUD_PROJECT_NAME is not set and gcloud
- # prompt segment is in state PARTIAL. When project name gets known, P9K_GCLOUD_PROJECT_NAME gets
- # set and gcloud prompt segment transitions to state COMPLETE.
- #
- # You can customize the format, icon and colors of gcloud segment separately for states PARTIAL
- # and COMPLETE. You can also hide gcloud in state PARTIAL by setting
- # POWERLEVEL9K_GCLOUD_PARTIAL_VISUAL_IDENTIFIER_EXPANSION and
- # POWERLEVEL9K_GCLOUD_PARTIAL_CONTENT_EXPANSION to empty.
- typeset -g POWERLEVEL9K_GCLOUD_PARTIAL_CONTENT_EXPANSION='${P9K_GCLOUD_PROJECT_ID//\%/%%}'
- typeset -g POWERLEVEL9K_GCLOUD_COMPLETE_CONTENT_EXPANSION='${P9K_GCLOUD_PROJECT_NAME//\%/%%}'
-
- # Send a request to Google (by means of `gcloud projects describe ...`) to obtain project name
- # this often. Negative value disables periodic polling. In this mode project name is retrieved
- # only when the current configuration, account or project id changes.
- typeset -g POWERLEVEL9K_GCLOUD_REFRESH_PROJECT_NAME_SECONDS=60
-
- # Custom icon.
- # typeset -g POWERLEVEL9K_GCLOUD_VISUAL_IDENTIFIER_EXPANSION='⭐'
-
- #[ google_app_cred: google application credentials (https://cloud.google.com/docs/authentication/production) ]#
- # Show google_app_cred only when the command you are typing invokes one of these tools.
- # Tip: Remove the next line to always show google_app_cred.
- typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_SHOW_ON_COMMAND='terraform|pulumi|terragrunt'
-
- # Google application credentials classes for the purpose of using different colors, icons and
- # expansions with different credentials.
- #
- # POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES is an array with even number of elements. The first
- # element in each pair defines a pattern against which the current kubernetes context gets
- # matched. More specifically, it's P9K_CONTENT prior to the application of context expansion
- # (see below) that gets matched. If you unset all POWERLEVEL9K_GOOGLE_APP_CRED_*CONTENT_EXPANSION
- # parameters, you'll see this value in your prompt. The second element of each pair in
- # POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES defines the context class. Patterns are tried in order.
- # The first match wins.
- #
- # For example, given these settings:
- #
- # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES=(
- # '*:*prod*:*' PROD
- # '*:*test*:*' TEST
- # '*' DEFAULT)
- #
- # If your current Google application credentials is "service_account deathray-testing x@y.com",
- # its class is TEST because it doesn't match the pattern '* *prod* *' but does match '* *test* *'.
- #
- # You can define different colors, icons and content expansions for different classes:
- #
- # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_TEST_FOREGROUND=28
- # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐'
- # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_TEST_CONTENT_EXPANSION='$P9K_GOOGLE_APP_CRED_PROJECT_ID'
- typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES=(
- # '*:*prod*:*' PROD # These values are examples that are unlikely
- # '*:*test*:*' TEST # to match your needs. Customize them as needed.
- '*' DEFAULT)
- typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_FOREGROUND=32
- # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐'
-
- # Use POWERLEVEL9K_GOOGLE_APP_CRED_CONTENT_EXPANSION to specify the content displayed by
- # google_app_cred segment. Parameter expansions are very flexible and fast, too. See reference:
- # http://zsh.sourceforge.net/Doc/Release/Expansion.html#Parameter-Expansion.
- #
- # You can use the following parameters in the expansion. Each of them corresponds to one of the
- # fields in the JSON file pointed to by GOOGLE_APPLICATION_CREDENTIALS.
- #
- # Parameter | JSON key file field
- # ---------------------------------+---------------
- # P9K_GOOGLE_APP_CRED_TYPE | type
- # P9K_GOOGLE_APP_CRED_PROJECT_ID | project_id
- # P9K_GOOGLE_APP_CRED_CLIENT_EMAIL | client_email
- #
- # Note: ${VARIABLE//\%/%%} expands to ${VARIABLE} with all occurrences of '%' replaced by '%%'.
- typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_CONTENT_EXPANSION='${P9K_GOOGLE_APP_CRED_PROJECT_ID//\%/%%}'
-
- ##############[ toolbox: toolbox name (https://github.com/containers/toolbox) ]###############
- # Toolbox color.
- typeset -g POWERLEVEL9K_TOOLBOX_FOREGROUND=178
- # Don't display the name of the toolbox if it matches fedora-toolbox-*.
- typeset -g POWERLEVEL9K_TOOLBOX_CONTENT_EXPANSION='${P9K_TOOLBOX_NAME:#fedora-toolbox-*}'
- # Custom icon.
- # typeset -g POWERLEVEL9K_TOOLBOX_VISUAL_IDENTIFIER_EXPANSION='⭐'
- # Custom prefix.
- # typeset -g POWERLEVEL9K_TOOLBOX_PREFIX='%248Fin '
-
- ###############################[ public_ip: public IP address ]###############################
- # Public IP color.
- typeset -g POWERLEVEL9K_PUBLIC_IP_FOREGROUND=94
- # Custom icon.
- # typeset -g POWERLEVEL9K_PUBLIC_IP_VISUAL_IDENTIFIER_EXPANSION='⭐'
-
- ########################[ vpn_ip: virtual private network indicator ]#########################
- # VPN IP color.
- typeset -g POWERLEVEL9K_VPN_IP_FOREGROUND=81
- # When on VPN, show just an icon without the IP address.
- # Tip: To display the private IP address when on VPN, remove the next line.
- typeset -g POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION=
- # Regular expression for the VPN network interface. Run `ifconfig` or `ip -4 a show` while on VPN
- # to see the name of the interface.
- typeset -g POWERLEVEL9K_VPN_IP_INTERFACE='(gpd|wg|(.*tun)|tailscale)[0-9]*|(zt.*)'
- # If set to true, show one segment per matching network interface. If set to false, show only
- # one segment corresponding to the first matching network interface.
- # Tip: If you set it to true, you'll probably want to unset POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION.
- typeset -g POWERLEVEL9K_VPN_IP_SHOW_ALL=false
- # Custom icon.
- # typeset -g POWERLEVEL9K_VPN_IP_VISUAL_IDENTIFIER_EXPANSION='⭐'
-
- ###########[ ip: ip address and bandwidth usage for a specified network interface ]###########
- # IP color.
- typeset -g POWERLEVEL9K_IP_FOREGROUND=38
- # The following parameters are accessible within the expansion:
- #
- # Parameter | Meaning
- # ----------------------+-------------------------------------------
- # P9K_IP_IP | IP address
- # P9K_IP_INTERFACE | network interface
- # P9K_IP_RX_BYTES | total number of bytes received
- # P9K_IP_TX_BYTES | total number of bytes sent
- # P9K_IP_RX_BYTES_DELTA | number of bytes received since last prompt
- # P9K_IP_TX_BYTES_DELTA | number of bytes sent since last prompt
- # P9K_IP_RX_RATE | receive rate (since last prompt)
- # P9K_IP_TX_RATE | send rate (since last prompt)
- typeset -g POWERLEVEL9K_IP_CONTENT_EXPANSION='${P9K_IP_RX_RATE:+%70F⇣$P9K_IP_RX_RATE }${P9K_IP_TX_RATE:+%215F⇡$P9K_IP_TX_RATE }%38F$P9K_IP_IP'
- # Show information for the first network interface whose name matches this regular expression.
- # Run `ifconfig` or `ip -4 a show` to see the names of all network interfaces.
- typeset -g POWERLEVEL9K_IP_INTERFACE='[ew].*'
- # Custom icon.
- # typeset -g POWERLEVEL9K_IP_VISUAL_IDENTIFIER_EXPANSION='⭐'
-
- #########################[ proxy: system-wide http/https/ftp proxy ]##########################
- # Proxy color.
- typeset -g POWERLEVEL9K_PROXY_FOREGROUND=68
- # Custom icon.
- # typeset -g POWERLEVEL9K_PROXY_VISUAL_IDENTIFIER_EXPANSION='⭐'
-
- ################################[ battery: internal battery ]#################################
- # Show battery in red when it's below this level and not connected to power supply.
- typeset -g POWERLEVEL9K_BATTERY_LOW_THRESHOLD=20
- typeset -g POWERLEVEL9K_BATTERY_LOW_FOREGROUND=160
- # Show battery in green when it's charging or fully charged.
- typeset -g POWERLEVEL9K_BATTERY_{CHARGING,CHARGED}_FOREGROUND=70
- # Show battery in yellow when it's discharging.
- typeset -g POWERLEVEL9K_BATTERY_DISCONNECTED_FOREGROUND=178
- # Battery pictograms going from low to high level of charge.
- typeset -g POWERLEVEL9K_BATTERY_STAGES='\UF008E\UF007A\UF007B\UF007C\UF007D\UF007E\UF007F\UF0080\UF0081\UF0082\UF0079'
- # Don't show the remaining time to charge/discharge.
- typeset -g POWERLEVEL9K_BATTERY_VERBOSE=false
-
- #####################################[ wifi: wifi speed ]#####################################
- # WiFi color.
- typeset -g POWERLEVEL9K_WIFI_FOREGROUND=68
- # Custom icon.
- # typeset -g POWERLEVEL9K_WIFI_VISUAL_IDENTIFIER_EXPANSION='⭐'
-
- # Use different colors and icons depending on signal strength ($P9K_WIFI_BARS).
- #
- # # Wifi colors and icons for different signal strength levels (low to high).
- # typeset -g my_wifi_fg=(68 68 68 68 68) # <-- change these values
- # typeset -g my_wifi_icon=('WiFi' 'WiFi' 'WiFi' 'WiFi' 'WiFi') # <-- change these values
- #
- # typeset -g POWERLEVEL9K_WIFI_CONTENT_EXPANSION='%F{${my_wifi_fg[P9K_WIFI_BARS+1]}}$P9K_WIFI_LAST_TX_RATE Mbps'
- # typeset -g POWERLEVEL9K_WIFI_VISUAL_IDENTIFIER_EXPANSION='%F{${my_wifi_fg[P9K_WIFI_BARS+1]}}${my_wifi_icon[P9K_WIFI_BARS+1]}'
- #
- # The following parameters are accessible within the expansions:
- #
- # Parameter | Meaning
- # ----------------------+---------------
- # P9K_WIFI_SSID | service set identifier, a.k.a. network name
- # P9K_WIFI_LINK_AUTH | authentication protocol such as "wpa2-psk" or "none"; empty if unknown
- # P9K_WIFI_LAST_TX_RATE | wireless transmit rate in megabits per second
- # P9K_WIFI_RSSI | signal strength in dBm, from -120 to 0
- # P9K_WIFI_NOISE | noise in dBm, from -120 to 0
- # P9K_WIFI_BARS | signal strength in bars, from 0 to 4 (derived from P9K_WIFI_RSSI and P9K_WIFI_NOISE)
-
- ####################################[ time: current time ]####################################
- # Current time color.
- typeset -g POWERLEVEL9K_TIME_FOREGROUND=66
- # Format for the current time: 09:51:02. See `man 3 strftime`.
- typeset -g POWERLEVEL9K_TIME_FORMAT='%D{%I:%M:%S %p}'
- # If set to true, time will update when you hit enter. This way prompts for the past
- # 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.
- typeset -g POWERLEVEL9K_TIME_UPDATE_ON_COMMAND=false
- # Custom icon.
- # typeset -g POWERLEVEL9K_TIME_VISUAL_IDENTIFIER_EXPANSION='⭐'
- # Custom prefix.
- # typeset -g POWERLEVEL9K_TIME_PREFIX='%248Fat '
-
- # Example of a user-defined prompt segment. Function prompt_example will be called on every
- # prompt if `example` prompt segment is added to POWERLEVEL9K_LEFT_PROMPT_ELEMENTS or
- # POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS. It displays an icon and orange text greeting the user.
- #
- # Type `p10k help segment` for documentation and a more sophisticated example.
- function prompt_example() {
- p10k segment -f 208 -i '⭐' -t 'hello, %n'
- }
-
- # User-defined prompt segments may optionally provide an instant_prompt_* function. Its job
- # is to generate the prompt segment for display in instant prompt. See
- # https://github.com/romkatv/powerlevel10k#instant-prompt.
- #
- # Powerlevel10k will call instant_prompt_* at the same time as the regular prompt_* function
- # and will record all `p10k segment` calls it makes. When displaying instant prompt, Powerlevel10k
- # will replay these calls without actually calling instant_prompt_*. It is imperative that
- # instant_prompt_* always makes the same `p10k segment` calls regardless of environment. If this
- # rule is not observed, the content of instant prompt will be incorrect.
- #
- # Usually, you should either not define instant_prompt_* or simply call prompt_* from it. If
- # instant_prompt_* is not defined for a segment, the segment won't be shown in instant prompt.
- function instant_prompt_example() {
- # Since prompt_example always makes the same `p10k segment` calls, we can call it from
- # instant_prompt_example. This will give us the same `example` prompt segment in the instant
- # and regular prompts.
- prompt_example
- }
-
- # User-defined prompt segments can be customized the same way as built-in segments.
- # typeset -g POWERLEVEL9K_EXAMPLE_FOREGROUND=208
- # typeset -g POWERLEVEL9K_EXAMPLE_VISUAL_IDENTIFIER_EXPANSION='⭐'
-
- # Transient prompt works similarly to the builtin transient_rprompt option. It trims down prompt
- # when accepting a command line. Supported values:
- #
- # - off: Don't change prompt when accepting a command line.
- # - always: Trim down prompt when accepting a command line.
- # - same-dir: Trim down prompt when accepting a command line unless this is the first command
- # typed after changing current working directory.
- typeset -g POWERLEVEL9K_TRANSIENT_PROMPT=always
-
- # Instant prompt mode.
- #
- # - off: Disable instant prompt. Choose this if you've tried instant prompt and found
- # it incompatible with your zsh configuration files.
- # - quiet: Enable instant prompt and don't print warnings when detecting console output
- # during zsh initialization. Choose this if you've read and understood
- # https://github.com/romkatv/powerlevel10k#instant-prompt.
- # - verbose: Enable instant prompt and print a warning when detecting console output during
- # zsh initialization. Choose this if you've never tried instant prompt, haven't
- # seen the warning, or if you are unsure what this all means.
- typeset -g POWERLEVEL9K_INSTANT_PROMPT=verbose
-
- # Hot reload allows you to change POWERLEVEL9K options after Powerlevel10k has been initialized.
- # For example, you can type POWERLEVEL9K_BACKGROUND=red and see your prompt turn red. Hot reload
- # can slow down prompt by 1-2 milliseconds, so it's better to keep it turned off unless you
- # really need it.
- typeset -g POWERLEVEL9K_DISABLE_HOT_RELOAD=true
-
- # If p10k is already loaded, reload configuration.
- # This works even with POWERLEVEL9K_DISABLE_HOT_RELOAD=true.
- (( ! $+functions[p10k] )) || p10k reload
-}
-
-# Tell `p10k configure` which file it should overwrite.
-typeset -g POWERLEVEL9K_CONFIG_FILE=${${(%):-%x}:a}
-
-(( ${#p10k_config_opts} )) && setopt ${p10k_config_opts[@]}
-'builtin' 'unset' 'p10k_config_opts'
+++ /dev/null
-# TODO
-
-## Git
-
-- [x] fix git username password
-
-## Hyprland
-
-- [ ] fix startup tmux session
-- [x] make librewolf my default browser
-- [ ] add clipboard that doesn't break ghostty clipboard
-
-### waybar
-
-- [ ] fix workspace 4 icon
-- [ ] fix the bar to run properly and display time accurately
-
-### rofi wayland
-
-- [ ] fix this crap to be better
-
-## Fish
-
-- [ ] keybind to accept autocomplete other than right arrow
-
-## Neovim
-
-- [ ] combine tmux and neovim status bar
+++ /dev/null
-{
- config,
- pkgs,
- ...
-}: {
- home.file = {
- ".config/BraveSoftware/Brave-Browser/Local State" = {
- source = ./brave-config/Local-State;
- force = true;
- };
- ".config/BraveSoftware/Brave-Browser/Default/Preferences" = {
- source = ./brave-config/Preferences;
- force = true;
- };
- };
-}
+++ /dev/null
-{"autofill":{"ablation_seed":"4ye/KtLdakc="},"brave":{"ad_block":{"checked_all_default_regions":true},"ai_chat":{"p3a_last_premium_check":"13400290388815443","p3a_last_premium_status":false,"p3a_omnibox_autocomplete":[{"day":1755748800.0,"value":11.0},{"day":1755662400.0,"value":0.0},{"day":1755576000.0,"value":0.0},{"day":1755489600.0,"value":2.0},{"day":1755403200.0,"value":39.0}]},"brave_ads":{"enabled_last_profile":false,"p3a":{"ntp_event_count_constellation":{},"ntp_known_campaigns":{"28ee2a41-f7a8-485a-9dfb-5be2dfc2e99b":{"expiry_time":"13402529261940763"},"2e23e484-3858-40ae-82a0-820698f1d505":{"expiry_time":"13402553177604396"}}}},"brave_search_conversion":{"default_changed":true,"query_count":12},"core_metrics":{"pages_loaded":[{"day":1755748800.0,"value":87.0},{"day":1755662400.0,"value":0.0},{"day":1755576000.0,"value":0.0},{"day":1755489600.0,"value":5.0},{"day":1755403200.0,"value":233.0}],"pages_reloaded":[{"day":1755748800.0,"value":3.0},{"day":1755662400.0,"value":0.0},{"day":1755576000.0,"value":0.0},{"day":1755489600.0,"value":0.0},{"day":1755403200.0,"value":8.0}]},"dont_ask_for_crash_reporting":true,"enable_search_suggestions_by_default":true,"misc_metrics":{"browser_usage":[{"day":1755748800.0,"value":1.0},{"day":1755662400.0,"value":0.0},{"day":1755576000.0,"value":0.0},{"day":1755489600.0,"value":1.0},{"day":1755403200.0,"value":1.0}],"failed_https_upgrade_metric_added_time":"13399876800000000","group_tabs_storage":[{"day":1755748800.0,"value":3.0},{"day":1755662400.0,"value":0.0},{"day":1755576000.0,"value":0.0},{"day":1755489600.0,"value":0.0}],"last_doh_fallback":0,"menu_dismiss_storage":[{"day":1755489600.0,"value":4.0},{"day":1755403200.0,"value":2.0}],"menu_group_actions":{"browser_views":4.0,"tab_window":1.0},"menu_shown_storage":[{"day":1755489600.0,"value":10.0},{"day":1755403200.0,"value":15.0}],"open_tabs_storage":[{"day":1755748800.0,"value":59.0},{"day":1755662400.0,"value":0.0},{"day":1755576000.0,"value":0.0},{"day":1755489600.0,"value":22.0}],"pinned_tabs_storage":[{"day":1755748800.0,"value":0.0},{"day":1755662400.0,"value":0.0},{"day":1755576000.0,"value":0.0},{"day":1755489600.0,"value":0.0}],"total_dns_requests":[{"day":1755748800.0,"value":445.0},{"day":1755662400.0,"value":0.0},{"day":1755576000.0,"value":0.0},{"day":1755489600.0,"value":130.0},{"day":1755403200.0,"value":1441.0}],"uptime_frame_start_time_v2":"13400278604250510","uptime_sum":"4783261121","weekly_uptime_storage":[{"day":1755748800.0,"value":4726.0},{"day":1755662400.0,"value":0.0},{"day":1755576000.0,"value":0.0},{"day":1755489600.0,"value":1133.0},{"day":1755403200.0,"value":15105.0}]},"new_tab_page":{"customize_p3a_usage":2,"p3a_new_tabs_created":[{"day":1755489600.0,"value":5.0},{"day":1755403200.0,"value":63.0}]},"onboarding":{"last_shields_icon_highlighted_time":"13399937305259922"},"p3a":{"enabled":false,"notice_acknowledged":true,"randomness_meta":{"express":{"current_epoch":72,"current_pk":"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","next_epoch_time":"13400035200000000"},"slow":{"current_epoch":27,"current_pk":"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","next_epoch_time":"13401158400000000"},"typical":{"current_epoch":120,"current_pk":"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","next_epoch_time":"13400553600000000"}}},"referral":{"initialization":true,"promo_code":"BRV001"},"sidebar":{"target_user_for_sidebar_enabled_test":false},"sns":{"resolve_method_migrated":true},"speedreader":{"page_views":[{"day":1755489600.0,"value":1.0}]},"stats":{"first_check_made":true,"last_check_month":8,"last_check_woy":34,"last_check_ymd":"2025-08-18","reporting_enabled":false,"week_of_installation":"2025-08-11"},"wallet":{"wallet_report_unlock_time_ping":"0"}},"brave_shields":{"p3a_usage":0},"breadcrumbs":{"enabled":false,"enabled_time":"13399937259783880"},"browser":{"enabled_labs_experiments":["extensions-on-chrome-urls","extensions-on-extension-urls"],"first_run_finished":true},"core_p3a_metrics":{"incognito_used_timestamp":"13399953969207818"},"hardware_acceleration_mode_previous":true,"legacy":{"profile":{"name":{"migrated":true}}},"local":{"password_hash_data_list":[]},"network_time":{"network_time_mapping":{"local":1.755816788902126e+12,"network":1.755816789e+12,"ticks":19012198.0,"uncertainty":1423972.0}},"optimization_guide":{"model_store_metadata":{}},"os_crypt":{"portal":{"prev_desktop":"Hyprland","prev_init_success":false}},"p3a":{"activation_dates":{"Brave.Core.IsDefaultDaily":"13399937559993456"},"constellation_logs":{"119":{},"120":{}},"constellation_logs_express_v2":{"71":{},"72":{}},"constellation_logs_slow":{"27":{}},"dynamic_metrics":{"campaignId.28ee2a41-f7a8-485a-9dfb-5be2dfc2e99b.aware":2,"campaignId.2e23e484-3858-40ae-82a0-820698f1d505.aware":2},"last_constellation_rotation_timestamp":"13399948805000640","last_express_constellation_rotation_timestamp":"13399948805000552","logs_constellation_prep":{"Brave.AIChat.NewUserReturning":{"sent":true,"timestamp":1755477264.588119,"value":"0"},"Brave.Core.BookmarkCount":{"sent":true,"timestamp":1755475872.749072,"value":"3"},"Brave.Core.CrashReportsEnabled":{"sent":true,"timestamp":1755477510.627931,"value":"0"},"Brave.Core.DomainsLoaded":{"sent":true,"timestamp":1755476161.828725,"value":"5"},"Brave.Core.FailedHTTPSUpgrades.2":{"sent":true,"timestamp":1755480437.024685,"value":"0"},"Brave.Core.IsDefault":{"sent":true,"timestamp":1755477329.043637,"value":"1"},"Brave.Core.NumberOfExtensions":{"sent":true,"timestamp":1755475886.879323,"value":"1"},"Brave.Core.PagesLoaded.NonRewards":{"sent":true,"timestamp":1755479435.097413,"value":"4"},"Brave.Core.PagesReloaded":{"sent":true,"timestamp":1755477897.670756,"value":"2"},"Brave.Core.TabCount":{"sent":true,"timestamp":1755478909.947591,"value":"3"},"Brave.Core.WeeklyUsage":{"sent":true,"timestamp":1755477675.987134,"value":"1"},"Brave.Core.WeeklyUsage.Nebula":{"sent":true,"timestamp":1755475803.049238,"value":"1"},"Brave.Core.WindowCount.2":{"sent":true,"timestamp":1755479630.385731,"value":"1"},"Brave.DNS.AutoSecureRequests.2":{"sent":true,"timestamp":1755479589.104069,"value":"0"},"Brave.DNS.SecureSetting":{"sent":true,"timestamp":1755475397.91529,"value":"1"},"Brave.Extensions.AdBlock":{"sent":true,"timestamp":1755479518.756822,"value":"0"},"Brave.Extensions.SelectManifestV2":{"sent":true,"timestamp":1755478869.786357,"value":"0"},"Brave.Importer.ImporterSource.2":{"sent":true,"timestamp":1755479897.108095,"value":"0"},"Brave.NTP.CustomizeUsageStatus.2":{"sent":true,"timestamp":1755479091.815576,"value":"2"},"Brave.NTP.DefaultPage":{"sent":true,"timestamp":1755479166.961165,"value":"1"},"Brave.NTP.NewTabsCreated.3":{"sent":true,"timestamp":1755478090.62833,"value":"7"},"Brave.NTP.SponsoredMediaType":{"sent":true,"timestamp":1755479368.739794,"value":"1"},"Brave.Omnibox.SearchCount.NonRewards":{"sent":true,"timestamp":1755475382.295541,"value":"2"},"Brave.P3A.SentAnswersCount":{"sent":true,"timestamp":1755477738.186962,"value":"3"},"Brave.Rewards.ToolbarButtonTrigger":{"sent":true,"timestamp":1755487919.203451,"value":"1"},"Brave.Search.SwitchEngine":{"sent":false,"value":"4"},"Brave.Search.WebDiscoveryAndAds":{"sent":true,"timestamp":1755477226.904844,"value":"0"},"Brave.Search.WidgetDefault":{"sent":true,"timestamp":1755477372.004225,"value":"0"},"Brave.Shields.AdBlockSetting":{"sent":true,"timestamp":1755479139.523747,"value":"1"},"Brave.Shields.DomainAdsSettingsAboveGlobal":{"sent":true,"timestamp":1755476939.173476,"value":"0"},"Brave.Shields.DomainAdsSettingsBelowGlobal":{"sent":true,"timestamp":1755479212.629987,"value":"0"},"Brave.Shields.FingerprintBlockSetting":{"sent":true,"timestamp":1755477643.837551,"value":"1"},"Brave.Shields.UsageStatus":{"sent":true,"timestamp":1755475592.579164,"value":"0"},"Brave.Sync.Status.2":{"sent":true,"timestamp":1755479756.828368,"value":"0"},"Brave.Today.NewUserReturning":{"sent":true,"timestamp":1755479583.574574,"value":"0"},"Brave.Today.NonRewardsAdViews":{"sent":true,"timestamp":1755479474.19015,"value":"0"},"Brave.Today.WeeklySessionCount":{"sent":true,"timestamp":1755475328.797607,"value":"0"},"Brave.Today.WeeklyTotalCardViews":{"sent":true,"timestamp":1755476028.651817,"value":"0"},"Brave.VerticalTabs.GroupTabs":{"sent":false,"value":"1"},"Brave.VerticalTabs.OpenTabs":{"sent":true,"timestamp":1755489917.441744,"value":"4"},"Brave.Wallet.NewUserReturning":{"sent":true,"timestamp":1755475668.048012,"value":"0"}},"logs_constellation_prep_express":{"Brave.Ads.SurveyPanelistEnabled":{"sent":false,"value":"0"},"Brave.Core.IsDefaultDaily":{"sent":true,"timestamp":1755478283.193729,"value":"1"},"Brave.Core.UsageDaily":{"sent":true,"timestamp":1755475500.829416,"value":"1"},"Brave.Search.BraveDaily":{"sent":true,"timestamp":1755475462.427408,"value":"1"},"Brave.Search.DefaultEngine.4":{"sent":true,"timestamp":1755477897.149427,"value":"8"},"Brave.Search.WebDiscoveryEnabled":{"sent":true,"timestamp":1755477630.937434,"value":"0"},"Brave.Today.EnabledSetting":{"sent":true,"timestamp":1755477718.583709,"value":"0"},"Brave.Uptime.BrowserOpenTime.2":{"sent":false,"value":"4"},"Brave.Welcome.InteractionStatus.2":{"sent":true,"timestamp":1755477804.180425,"value":"0"},"campaignId.2e23e484-3858-40ae-82a0-820698f1d505.aware":{"sent":true,"timestamp":1755487607.697052,"value":"1"},"creativeInstanceId.total.count":{"sent":true,"timestamp":1755478079.818523,"value":"0"}},"logs_constellation_prep_slow":{"Brave.Core.PrimaryLang":{"sent":true,"timestamp":1755463833.865987,"value":"37"},"Brave.Core.ProfileCount":{"sent":true,"timestamp":1755463809.588178,"value":"1"},"Brave.Core.UsageMonthly":{"sent":true,"timestamp":1755463824.744566,"value":"1"},"Brave.Extensions.ManifestV2":{"sent":true,"timestamp":1755463998.449998,"value":"0"},"Brave.Search.SearchSuggest":{"sent":true,"timestamp":1755463726.441614,"value":"0"},"Brave.Shields.ForgetFirstParty":{"sent":true,"timestamp":1755464026.539015,"value":"0"},"Brave.Speedreader.EnabledSites":{"sent":true,"timestamp":1755463836.124257,"value":"3"},"Brave.Speedreader.PageViews":{"sent":false,"value":"0"},"Brave.SplitView.UsageMonthly":{"sent":true,"timestamp":1755463882.295265,"value":"0"}}},"performance_intervention":{"last_daily_sample":"13400278604250376"},"policy":{"last_statistics_update":"13400278603804417"},"profile":{"info_cache":{"Default":{"active_time":1755816788.659707,"avatar_icon":"chrome://theme/IDR_PROFILE_AVATAR_26","background_apps":false,"default_avatar_fill_color":-14737629,"default_avatar_stroke_color":-920588,"enterprise_label":"","force_signin_profile_locked":false,"gaia_id":"","is_consented_primary_account":false,"is_ephemeral":false,"is_using_default_avatar":true,"is_using_default_name":false,"managed_user_id":"","metrics_bucket_index":1,"name":"Work","profile_color_seed":-4078337,"profile_highlight_color":-14737629,"signin.with_credential_provider":false,"user_name":""}},"last_active_profiles":["Default"],"metrics":{"next_bucket_index":2},"profile_counts_reported":"13400278603567658","profiles_order":["Default"]},"profile_network_context_service":{"http_cache_finch_experiment_groups":"None None None None"},"session_id_generator_last_value":"827104133","signin":{"active_accounts_last_emitted":"13400278603563730"},"subresource_filter":{"ruleset_version":{"checksum":0,"content":"","format":0}},"tab_stats":{"discards_external":0,"discards_frozen":0,"discards_proactive":0,"discards_suggested":0,"discards_urgent":0,"last_daily_sample":"13400278603772835","max_tabs_per_window":59,"reloads_external":0,"reloads_frozen":0,"reloads_proactive":0,"reloads_suggested":0,"reloads_urgent":0,"total_tab_count_max":59,"window_count_max":1},"ukm":{"persisted_logs":[]},"uninstall_metrics":{"installation_date2":"1755463659"},"updateclientdata":{"apps":{"adcocjohghhfpidemphmcmlmhnfgikei":{"dlrc":6807,"fp":"","installdate":6803,"max_pv":"0.0.0.0","pf":"872444fc-f582-48ce-9780-f2c75ef6b00b","pv":"1.0.401"},"afalakplffnnnlkncjhbmahjfjhmlkal":{"dlrc":6807,"fp":"","installdate":6803,"max_pv":"0.0.0.0","pf":"eb374f39-1736-4243-9443-996054c4560e","pv":"1.0.1240"},"aoojcmojmmcbpfgoecoadbdpnagfchel":{"dlrc":6807,"fp":"","installdate":6803,"max_pv":"0.0.0.0","pf":"c99db064-b36e-4981-b1cb-67e8c2d51c0e","pv":"1.0.19"},"bfpgedeaaibpoidldhjcknekahbikncb":{"dlrc":6807,"fp":"","installdate":6803,"max_pv":"1.0.14743","pf":"4037cb51-0e82-4491-98a8-7cd8241d028d","pv":"1.0.14744"},"cdbbhgbmjhfnhnmgeddbliobbofkgdhe":{"dlrc":6807,"fp":"","installdate":6803,"max_pv":"1.0.16506","pf":"f2e59fbc-0d0d-4faf-b0b6-ddac5fbb959f","pv":"1.0.16508"},"efniojlnjndmcbiieegkicadnoecjjef":{"cohort":"1:18ql:","cohortname":"Auto Stage3","dlrc":6807,"fp":"","installdate":6803,"max_pv":"0.0.0.0","pf":"bc350b18-0b36-4506-a24b-fc73a8f26eaa","pv":"1401"},"ggkkehgbnfjpeggfpleeakpidbkibbmn":{"cohort":"1:ut9/1a0f:37gx@0.025","cohortname":"M108 and Above","dlrc":6807,"fp":"","installdate":6803,"max_pv":"0.0.0.0","pf":"4b820ef1-6a2e-4c6d-bde9-38bfdb9979e9","pv":"2025.8.14.1141"},"giekcmmlnklenlaomppkphknjmnnpneh":{"cohort":"1:j5l:","cohortname":"Auto","dlrc":6807,"fp":"","installdate":6803,"max_pv":"0.0.0.0","pf":"4e7b4707-d0c5-4b58-a3e9-5ab2176513af","pv":"7"},"gkboaolpopklhgplhaaiboijnklogmbc":{"dlrc":6807,"fp":"","installdate":6803,"max_pv":"0.0.0.0","pf":"eca9a929-1867-4261-88e0-4b340ee3add2","pv":"1.0.79"},"hfnkpimlhhgieaddgfemjhofmfblmnib":{"cohort":"1:287f:","cohortname":"Auto full","dlrc":6807,"fp":"","installdate":6803,"max_pv":"9983","pf":"9b7e19b8-1183-4abe-8517-f60c6ebcbed4","pv":"9984"},"iodkpdagapdfkphljnddpjlldadblomo":{"dlrc":6807,"fp":"","installdate":6803,"max_pv":"1.0.14317","pf":"1c7348df-b486-4884-afc8-050f54e6bd2f","pv":"1.0.14319"},"jamhcnnkihinmdlkakkaopbjbbcngflc":{"cohort":"1:wvr:","cohortname":"Auto","dlrc":6807,"fp":"","installdate":6803,"max_pv":"0.0.0.0","pf":"5a846ce5-33f9-44f9-af0c-345b35dfcb79","pv":"120.0.6050.0"},"jflhchccmppkfebkiaminageehmchikm":{"cohort":"1:26yf:","cohortname":"Stable","dlrc":6807,"fp":"","installdate":6803,"max_pv":"0.0.0.0","pf":"e25a2f47-38d5-45af-ab35-85a751c57524","pv":"2025.8.16.1"},"jflookgnkcckhobaglndicnbbgbonegd":{"cohort":"1:s7x:","cohortname":"Auto","dlrc":6807,"fp":"","installdate":6803,"max_pv":"0.0.0.0","pf":"ee58e7c8-fbe3-4a0e-991d-ec73fda21513","pv":"3078"},"jiacfhmaoegmmahbioiihgpfnjnklmoe":{"dlrc":6807,"fp":"","installdate":6803,"max_pv":"1.0.2087","pf":"b8380654-627a-4fcb-a539-76987ffd7712","pv":"1.0.2088"},"khaoiebndkojlmppeemjhbpbandiljpe":{"cohort":"1:cux:","cohortname":"Auto","dlrc":6807,"fp":"","installdate":6803,"max_pv":"0.0.0.0","pf":"a99b3de8-9530-4627-ac49-d1a592440e94","pv":"67"},"kihnoaefogbkmblfimmibknnmkllbhlf":{"dlrc":6807,"fp":"","installdate":6803,"max_pv":"1.0.678","pf":"707d948d-53b3-46a9-bca2-d3a17e6ea45c","pv":"1.0.680"},"laoigpblnllgcgjnjnllmfolckpjlhki":{"cohort":"1:10zr:","cohortname":"Auto","dlrc":6807,"fp":"","installdate":6803,"max_pv":"1.0.7.1652906823","pf":"9f8d50c2-32d8-42fe-99ff-a1afec6ec82f","pv":"1.0.7.1744928549"},"lgejdiamednlaeiknhnnjnkofmapfbbf":{"dlrc":6807,"fp":"","installdate":6803,"max_pv":"0.0.0.0","pf":"7d833071-62a1-4222-8b5a-57df0ac66144","pv":"1.0.109"},"memmkfnkoigleebghlpgeiecaddoblcl":{"dlrc":6807,"fp":"","installdate":6803,"max_pv":"0.0.0.0","pf":"1a84f12f-4ed2-4600-8e02-089b5626ef8c","pv":"1.0.3"},"mfddibmblmbccpadfndgakiopmmhebop":{"dlrc":6807,"fp":"","installdate":6803,"max_pv":"0.0.0.0","pf":"c0bf7080-d8f2-4e2c-97a1-bae5e1791c66","pv":"1.0.111"},"nlpaeekllejnmhoonlpcefpfnpbajbpe":{"dlrc":6807,"fp":"","installdate":6803,"max_pv":"0.0.0.0","pf":"84a010bf-e506-450e-becc-a80a3cc90e99","pv":"1.0.164"},"obedbbhbpmojnkanicioggnmelmoomoc":{"cohort":"1:s6f:","cohortname":"Auto","dlrc":6807,"fp":"","installdate":6803,"max_pv":"0.0.0.0","pf":"13049fc8-63f8-4951-b0ca-ce42c400304a","pv":"20250803.789100898.14"},"ojhpjlocmbogdgmfpkhlaaeamibhnphh":{"cohort":"1:w0x:","cohortname":"All users","dlrc":6807,"fp":"","installdate":6803,"max_pv":"0.0.0.0","pf":"6eb0b89f-ae85-4381-b2b0-a4de31589f1d","pv":"3"}}},"user_experience_metrics":{"limited_entropy_randomization_source":"63D78CF1DF8A2B4D397A19C14495EA32","low_entropy_source3":1675,"pseudo_low_entropy_source":6289,"session_id":22,"stability":{"browser_last_live_timestamp":"13400290387996145","exited_cleanly":true,"stats_buildtime":"1754456762","stats_version":"139.1.81.131-64-devel"}},"variations_compressed_seed":"safe_seed_content","variations_country":"ca","variations_crash_streak":0,"variations_failed_to_fetch_seed_streak":0,"variations_last_fetch_time":"13400290389110639","variations_permanent_consistency_country":["139.1.81.131","ca"],"variations_safe_compressed_seed":"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","variations_safe_seed_date":"13400289915000000","variations_safe_seed_fetch_time":"13400289915286492","variations_safe_seed_locale":"en-GB","variations_safe_seed_milestone":139,"variations_safe_seed_permanent_consistency_country":"ca","variations_safe_seed_session_consistency_country":"ca","variations_safe_seed_signature":"MEQCIBrU+/B6KVwXgCduemrhiXdEtV+5wS2A4S6/cUiwj3nEAiAdZz2Eb1HxqJ/tNwn+EWr62KFAwuosr3toHr/Xs/GlxA==","variations_seed_date":"13400290389000000","variations_seed_milestone":139,"variations_seed_signature":"MEQCIBrU+/B6KVwXgCduemrhiXdEtV+5wS2A4S6/cUiwj3nEAiAdZz2Eb1HxqJ/tNwn+EWr62KFAwuosr3toHr/Xs/GlxA==","was":{"restarted":false}}
\ No newline at end of file
+++ /dev/null
-{"accessibility":{"captions":{"headless_caption_enabled":false}},"alternate_error_pages":{"backup":false},"apps":{"shortcuts_arch":"","shortcuts_version":0},"autocomplete":{"retention_policy_last_version":139},"autofill":{"credit_card_enabled":false,"last_version_deduped":139,"profile_enabled":false},"bookmark":{"storage_computation_last_update":"13400290388694196"},"brave":{"accelerators":{"33000":["BrowserBack","Alt+ArrowLeft","AltGr+ArrowLeft"],"33001":["BrowserForward","Alt+ArrowRight","AltGr+ArrowRight"],"33002":["Control+KeyR","F5","BrowserRefresh"],"33003":["BrowserHome","Alt+Home"],"33007":["Control+Shift+KeyR","Control+F5","Shift+F5","Control+BrowserRefresh","Shift+BrowserRefresh"],"34000":["Control+KeyN"],"34001":["Control+Shift+KeyN"],"34012":["Control+Shift+KeyW","Alt+F4"],"34014":["AppNew","Control+KeyT"],"34015":["Control+KeyW","Control+F4","AppClose"],"34016":["Control+Tab","Control+PageDown"],"34017":["Control+Shift+Tab","Control+PageUp"],"34018":["Control+Digit1","Control+Numpad1","Alt+Digit1","Alt+Numpad1"],"34019":["Control+Digit2","Control+Numpad2","Alt+Digit2","Alt+Numpad2"],"34020":["Control+Digit3","Control+Numpad3","Alt+Digit3","Alt+Numpad3"],"34021":["Control+Digit4","Control+Numpad4","Alt+Digit4","Alt+Numpad4"],"34022":["Control+Digit5","Control+Numpad5","Alt+Digit5","Alt+Numpad5"],"34023":["Control+Digit6","Control+Numpad6","Alt+Digit6","Alt+Numpad6"],"34024":["Control+Digit7","Control+Numpad7","Alt+Digit7","Alt+Numpad7"],"34025":["Control+Digit8","Control+Numpad8","Alt+Digit8","Alt+Numpad8"],"34026":["Control+Digit9","Control+Numpad9","Alt+Digit9","Alt+Numpad9"],"34028":["Control+Shift+KeyT"],"34030":["F11"],"34032":["Control+Shift+PageDown"],"34033":["Control+Shift+PageUp"],"34100":["Alt+Shift+KeyC"],"34101":["Alt+Shift+KeyP"],"34102":["Alt+Shift+KeyX"],"34103":["Alt+Shift+KeyZ"],"34104":["Alt+Shift+KeyW"],"35000":["Control+KeyD"],"35001":["Control+Shift+KeyD"],"35002":["Control+KeyU"],"35003":["Control+KeyP"],"35004":["Control+KeyS"],"35007":["Control+Shift+KeyP"],"35031":["Control+Shift+KeyS"],"37000":["Control+KeyF"],"37001":["Control+KeyG","F3"],"37002":["Control+Shift+KeyG","Shift+F3"],"37003":["Escape"],"38001":["Control+Equal","Control+NumpadAdd","Control+Shift+Equal"],"38002":["Control+Digit0","Control+Numpad0"],"38003":["Control+Minus","Control+NumpadSubtract","Control+Shift+Minus"],"39000":["Alt+Shift+KeyT"],"39001":["Control+KeyL","Alt+KeyD"],"39002":["BrowserSearch","Control+KeyE","Control+KeyK"],"39003":["F10","AltGr","Alt"],"39004":["F6"],"39005":["Shift+F6"],"39006":["Alt+Shift+KeyB"],"39007":["Alt+Shift+KeyA"],"39009":["Control+F6"],"40000":["Control+KeyO"],"40004":["Control+Shift+KeyI"],"40005":["Control+Shift+KeyJ"],"40009":["BrowserFavorites","Control+Shift+KeyB"],"40010":["Control+KeyH"],"40011":["Control+Shift+KeyO"],"40012":["Control+KeyJ"],"40013":["Control+Shift+Delete"],"40019":["F1"],"40021":["Alt+KeyE","Alt+KeyF"],"40023":["Control+Shift+KeyC"],"40134":["Control+Shift+KeyM"],"40237":["F12"],"40260":["F7"],"40286":["Shift+Escape"],"52500":["Control+Shift+KeyA"],"56003":["Alt+Shift+KeyN"],"56041":["Control+KeyM"],"56044":["Control+KeyB"],"56301":["Control+Space"]},"ai_chat":{"context_menu_enabled":false,"show_toolbar_button":false,"storage_enabled":false,"tab_organization_enabled":false},"autofill_private_windows":false,"brave_ads":{"notification_ads":[],"should_allow_ads_subdivision_targeting":false,"state":{"has_migrated":{"client":{"v7":true},"confirmations":{"v8":true},"v2":true}}},"brave_search":{"last-used-ntp-search-engine":"search.brave.com"},"default_accelerators":{"33000":["BrowserBack","Alt+ArrowLeft","AltGr+ArrowLeft"],"33001":["BrowserForward","Alt+ArrowRight","AltGr+ArrowRight"],"33002":["Control+KeyR","F5","BrowserRefresh"],"33003":["BrowserHome","Alt+Home"],"33007":["Control+Shift+KeyR","Control+F5","Shift+F5","Control+BrowserRefresh","Shift+BrowserRefresh"],"34000":["Control+KeyN"],"34001":["Control+Shift+KeyN"],"34012":["Control+Shift+KeyW","Alt+F4"],"34014":["AppNew","Control+KeyT"],"34015":["Control+KeyW","Control+F4","AppClose"],"34016":["Control+Tab","Control+PageDown"],"34017":["Control+Shift+Tab","Control+PageUp"],"34018":["Control+Digit1","Control+Numpad1","Alt+Digit1","Alt+Numpad1"],"34019":["Control+Digit2","Control+Numpad2","Alt+Digit2","Alt+Numpad2"],"34020":["Control+Digit3","Control+Numpad3","Alt+Digit3","Alt+Numpad3"],"34021":["Control+Digit4","Control+Numpad4","Alt+Digit4","Alt+Numpad4"],"34022":["Control+Digit5","Control+Numpad5","Alt+Digit5","Alt+Numpad5"],"34023":["Control+Digit6","Control+Numpad6","Alt+Digit6","Alt+Numpad6"],"34024":["Control+Digit7","Control+Numpad7","Alt+Digit7","Alt+Numpad7"],"34025":["Control+Digit8","Control+Numpad8","Alt+Digit8","Alt+Numpad8"],"34026":["Control+Digit9","Control+Numpad9","Alt+Digit9","Alt+Numpad9"],"34028":["Control+Shift+KeyT"],"34030":["F11"],"34032":["Control+Shift+PageDown"],"34033":["Control+Shift+PageUp"],"34100":["Alt+Shift+KeyC"],"34101":["Alt+Shift+KeyP"],"34102":["Alt+Shift+KeyX"],"34103":["Alt+Shift+KeyZ"],"34104":["Alt+Shift+KeyW"],"35000":["Control+KeyD"],"35001":["Control+Shift+KeyD"],"35002":["Control+KeyU"],"35003":["Control+KeyP"],"35004":["Control+KeyS"],"35007":["Control+Shift+KeyP"],"35031":["Control+Shift+KeyS"],"37000":["Control+KeyF"],"37001":["Control+KeyG","F3"],"37002":["Control+Shift+KeyG","Shift+F3"],"37003":["Escape"],"38001":["Control+Equal","Control+NumpadAdd","Control+Shift+Equal"],"38002":["Control+Digit0","Control+Numpad0"],"38003":["Control+Minus","Control+NumpadSubtract","Control+Shift+Minus"],"39000":["Alt+Shift+KeyT"],"39001":["Control+KeyL","Alt+KeyD"],"39002":["BrowserSearch","Control+KeyE","Control+KeyK"],"39003":["F10","Alt","Alt","AltGr"],"39004":["F6"],"39005":["Shift+F6"],"39006":["Alt+Shift+KeyB"],"39007":["Alt+Shift+KeyA"],"39009":["Control+F6"],"40000":["Control+KeyO"],"40004":["Control+Shift+KeyI"],"40005":["Control+Shift+KeyJ"],"40009":["BrowserFavorites","Control+Shift+KeyB"],"40010":["Control+KeyH"],"40011":["Control+Shift+KeyO"],"40012":["Control+KeyJ"],"40013":["Control+Shift+Delete"],"40019":["F1"],"40021":["Alt+KeyE","Alt+KeyF"],"40023":["Control+Shift+KeyC"],"40134":["Control+Shift+KeyM"],"40237":["F12"],"40260":["F7"],"40286":["Shift+Escape"],"52500":["Control+Shift+KeyA"],"56003":["Alt+Shift+KeyN"],"56041":["Control+KeyM"],"56044":["Control+KeyB"],"56301":["Control+Space"]},"default_private_search_provider_data":{"alternate_urls":[],"contextual_search_url":"","created_from_play_api":false,"date_created":"0","doodle_url":"","enforced_by_policy":false,"favicon_url":"https://cdn.search.brave.com/serp/v3/_app/immutable/assets/favicon.acxxetWH.ico","featured_by_policy":false,"id":"2","image_search_branding_label":"","image_translate_source_language_param_key":"","image_translate_target_language_param_key":"","image_translate_url":"","image_url":"","image_url_post_params":"","input_encodings":["UTF-8"],"is_active":0,"keyword":":br","last_modified":"0","last_visited":"13399961503035769","logo_url":"","new_tab_url":"","originating_url":"","policy_origin":0,"preconnect_to_search_url":false,"prefetch_likely_navigations":false,"prepopulate_id":550,"safe_for_autoreplace":true,"search_intent_params":[],"search_url_post_params":"","short_name":"Brave","starter_pack_id":0,"suggestions_url":"https://search.brave.com/api/suggest?q={searchTerms}&rich=true&source=desktop","suggestions_url_post_params":"","synced_guid":"485bf7d3-0215-45af-87dc-538868000550","url":"https://search.brave.com/search?q={searchTerms}&source=desktop","usage_count":0},"default_private_search_provider_guid":"485bf7d3-0215-45af-87dc-538868000550","enable_media_router_on_restart":true,"migrated_search_default_in_jp":true,"mru_cycling_enabled":true,"new_tab_page":{"shows_options":2},"rewards":{"badge_text":"","notifications":"{\"displayed\":[],\"notifications\":[]}","scheduled_captcha":{"failed_attempts":0,"id":"","paused":false,"payment_id":""},"show_brave_rewards_button_in_location_bar":false},"rewards_enabled":false,"search":{"default_version":6,"p3a_default_switch":[{"day":"13399963200000000","value":4}]},"shields_settings_version":4,"show_side_panel_button":false,"sidebar":{"hidden_built_in_items":[7],"sidebar_items":[{"built_in_item_type":1,"type":0},{"built_in_item_type":2,"type":0},{"built_in_item_type":3,"type":0},{"built_in_item_type":4,"type":0}],"sidebar_show_option":3},"speedreader":{"enabled":true},"stats":{"ads_blocked":"504","bandwidth_saved_bytes":"20141639","daily_saving_predictions_bytes":[{"day":1755748800.0,"value":1013314.0},{"day":1755662400.0,"value":0.0},{"day":1755576000.0,"value":0.0},{"day":1755489600.0,"value":8281346.0},{"day":1755403200.0,"value":10846979.0}]},"tabs":{"hover_mode":2,"vertical_tabs_enabled":true,"vertical_tabs_expanded_state_per_window":false,"vertical_tabs_on_right":true,"vertical_tabs_show_scrollbar":false,"vertical_tabs_show_title_on_window":false},"today":{"p3a_total_card_views":[{"day":1755748800.0,"value":0.0},{"day":1755662400.0,"value":0.0},{"day":1755576000.0,"value":0.0},{"day":1755489600.0,"value":0.0},{"day":1755403200.0,"value":0.0}],"p3a_total_card_visits":[{"day":1755748800.0,"value":0.0},{"day":1755662400.0,"value":0.0},{"day":1755576000.0,"value":0.0},{"day":1755489600.0,"value":0.0},{"day":1755403200.0,"value":0.0}],"p3a_total_sidebar_filter_usages":[{"day":1755748800.0,"value":0.0},{"day":1755662400.0,"value":0.0},{"day":1755576000.0,"value":0.0},{"day":1755489600.0,"value":0.0},{"day":1755403200.0,"value":0.0}],"should_show_toolbar_button":false},"top_site_suggestions_enabled":false,"wallet":{"aurora_mainnet_migrated":true,"custom_networks":{"goerli_migrated":true},"eip1559_chains_migrated":true,"is_compressed_nft_migrated":true,"is_spl_token_program_migrated":true,"keyrings":{},"last_transaction_sent_time_dict":{},"show_wallet_icon_on_toolbar":false},"wallet_enabled":false,"web_discovery":{"cta_state":{"count":1,"dismissed":true,"id":"v1","last_displayed":"13399964183567024"}},"webcompat":{"report":{"contact_info":"","enable_save_contact_info":false}},"weekly_storage":{"search_count":[{"day":1755489600.0,"value":2.0},{"day":1755403200.0,"value":4.0}]}},"brave_shields":{"p3a_ads_allow_domain_count":0,"p3a_ads_standard_domain_count":0,"p3a_ads_strict_domain_count":0,"p3a_first_reported_revision":3,"p3a_fp_allow_domain_count":0,"p3a_fp_standard_domain_count":0,"p3a_fp_strict_domain_count":0},"brave_sync_v2":{"reset_devices_progress_token_time":"13399961367888013"},"brave_tab_groups":{"vertical_tabs_enabled":true},"browser":{"check_default_browser":false,"custom_chrome_frame":true,"show_home_button":true,"window_placement":{"bottom":1080,"left":0,"maximized":false,"right":1920,"top":37,"work_area_bottom":1080,"work_area_left":0,"work_area_right":1920,"work_area_top":0}},"commerce_daily_metrics_last_update_time":"13400290388699867","countryid_at_install":17217,"credentials_enable_autosignin":false,"credentials_enable_service":false,"default_apps_install_state":2,"default_search_provider":{"guid":"485bf7d3-0215-45af-87dc-538868000550","synced_guid":"485bf7d3-0215-45af-87dc-538868000550"},"default_search_provider_data":{"mirrored_template_url_data":{"alternate_urls":[],"contextual_search_url":"","created_from_play_api":false,"date_created":"0","doodle_url":"","enforced_by_policy":false,"favicon_url":"https://cdn.search.brave.com/serp/v3/_app/immutable/assets/favicon.acxxetWH.ico","featured_by_policy":false,"id":"2","image_search_branding_label":"","image_translate_source_language_param_key":"","image_translate_target_language_param_key":"","image_translate_url":"","image_url":"","image_url_post_params":"","input_encodings":["UTF-8"],"is_active":0,"keyword":":br","last_modified":"0","last_visited":"13399961503035769","logo_url":"","new_tab_url":"","originating_url":"","policy_origin":0,"preconnect_to_search_url":false,"prefetch_likely_navigations":false,"prepopulate_id":550,"safe_for_autoreplace":true,"search_intent_params":[],"search_url_post_params":"","short_name":"Brave","starter_pack_id":0,"suggestions_url":"https://search.brave.com/api/suggest?q={searchTerms}&rich=true&source=desktop","suggestions_url_post_params":"","synced_guid":"485bf7d3-0215-45af-87dc-538868000550","url":"https://search.brave.com/search?q={searchTerms}&source=desktop","usage_count":0},"template_url_data":{"alternate_urls":[],"contextual_search_url":"","created_from_play_api":false,"date_created":"0","doodle_url":"","enforced_by_policy":false,"favicon_url":"https://cdn.search.brave.com/serp/v3/_app/immutable/assets/favicon.acxxetWH.ico","featured_by_policy":false,"id":"2","image_search_branding_label":"","image_translate_source_language_param_key":"","image_translate_target_language_param_key":"","image_translate_url":"","image_url":"","image_url_post_params":"","input_encodings":["UTF-8"],"is_active":0,"keyword":":br","last_modified":"0","last_visited":"13399961503035769","logo_url":"","new_tab_url":"","originating_url":"","policy_origin":0,"preconnect_to_search_url":false,"prefetch_likely_navigations":false,"prepopulate_id":550,"safe_for_autoreplace":true,"search_intent_params":[],"search_url_post_params":"","short_name":"Brave","starter_pack_id":0,"suggestions_url":"https://search.brave.com/api/suggest?q={searchTerms}&rich=true&source=desktop","suggestions_url_post_params":"","synced_guid":"485bf7d3-0215-45af-87dc-538868000550","url":"https://search.brave.com/search?q={searchTerms}&source=desktop","usage_count":0}},"domain_diversity":{"last_reporting_timestamp":"13400290388699312"},"enterprise_profile_guid":"95bf90fb-c9b1-442a-80b2-d9b4068ebb53","ephemeral_storage":{"first_party_storage_origins_to_cleanup":[]},"extensions":{"alerts":{"initialized":true},"chrome_url_overrides":{},"last_chrome_version":"139.1.81.131","settings":{"ahfgeienlihckogmohjhadlkjgocpleb":{"account_extension_type":0,"active_permissions":{"api":["management","system.display","system.storage","webstorePrivate","system.cpu","system.memory","system.network"],"explicit_host":[],"manifest_permissions":[],"scriptable_host":[]},"app_launcher_ordinal":"t","commands":{},"content_settings":[],"creation_flags":1,"disable_reasons":[],"first_install_time":"13399961367763368","from_webstore":false,"incognito_content_settings":[],"incognito_preferences":{},"last_update_time":"13400290388417980","location":5,"manifest":{"app":{"launch":{"web_url":"https://chrome.google.com/webstore"},"urls":["https://chrome.google.com/webstore"]},"description":"Discover great apps, games, extensions and themes for Brave.","icons":{"128":"webstore_icon_128.png","16":"webstore_icon_16.png"},"key":"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCtl3tO0osjuzRsf6xtD2SKxPlTfuoy7AWoObysitBPvH5fE1NaAA1/2JkPWkVDhdLBWLaIBPYeXbzlHp3y4Vv/4XG+aN5qFE3z+1RU/NqkzVYHtIpVScf3DjTYtKVL66mzVGijSoAIwbFCC3LpGdaoe6Q1rSRDp76wR6jjFzsYwQIDAQAB","name":"Brave Web Store","permissions":["webstorePrivate","management","system.cpu","system.display","system.memory","system.network","system.storage"],"version":"0.2"},"needs_sync":true,"page_ordinal":"n","path":"/nix/store/0fgzpzxrvjgh9dn7n476h0qzigzhb1rb-brave-1.81.131/opt/brave.com/brave/resources/web_store","preferences":{},"regular_only_preferences":{},"was_installed_by_default":false,"was_installed_by_oem":false},"cjpalhdlnbpafiamejdnhcphjbkeiagm":{"state":1},"hfjbmagddngcpeloejdejnfgbamkjaeg":{"account_extension_type":0,"active_permissions":{"api":["clipboardRead","clipboardWrite","history","notifications","sessions","storage","tabs","webNavigation","favicon","search","tabGroups","scripting","offscreen"],"explicit_host":["\u003Call_urls>","chrome://*/*","chrome://new-tab-page/*"],"manifest_permissions":[],"scriptable_host":["\u003Call_urls>"]},"commands":{"createTab":{"suggested_key":""},"goBack":{"suggested_key":""},"goForward":{"suggested_key":""},"previousTab":{"suggested_key":""},"quickNext":{"suggested_key":""},"reloadTab":{"suggested_key":""},"userCustomized1":{"suggested_key":""},"userCustomized2":{"suggested_key":""}},"content_settings":[],"creation_flags":9,"disable_reasons":[],"filtered_service_worker_events":{"webNavigation.onCommitted":[{}],"webNavigation.onHistoryStateUpdated":[{}],"webNavigation.onReferenceFragmentUpdated":[{}],"windows.onFocusChanged":[{}]},"first_install_time":"13400290470469758","from_webstore":true,"granted_permissions":{"api":["clipboardRead","clipboardWrite","history","notifications","sessions","storage","tabs","webNavigation","favicon","search","tabGroups","scripting","offscreen"],"explicit_host":["\u003Call_urls>","chrome://*/*","chrome://new-tab-page/*"],"manifest_permissions":[],"scriptable_host":["\u003Call_urls>"]},"incognito_content_settings":[],"incognito_preferences":{},"last_update_time":"13400290470469758","location":1,"manifest":{"action":{"default_icon":{"19":"icons/enabled_19.png","38":"icons/enabled_38.png"},"default_popup":"pages/action.html","default_title":"Vimium C - All by Keyboard\n\nAs configured, here's no active state"},"author":"gdh1995@qq.com","background":{"service_worker":"background/worker.js","type":"module"},"commands":{"createTab":{"description":"Create new tab"},"goBack":{"description":"Go back in history"},"goForward":{"description":"Go forward in history"},"previousTab":{"description":"Go one tab left"},"quickNext":{"description":"Go one tab right"},"reloadTab":{"description":"Reload tab"},"userCustomized1":{"description":"Custom shortcut 1"},"userCustomized2":{"description":"Custom shortcut 2"}},"content_scripts":[{"all_frames":true,"js":["content/vimium-c.js"],"match_about_blank":true,"match_origin_as_fallback":true,"matches":["\u003Call_urls>"],"run_at":"document_start"}],"content_security_policy":{"extension_pages":"script-src 'self'; style-src 'self' 'unsafe-inline'; object-src 'none'"},"current_locale":"en_GB","default_locale":"en","description":"A keyboard shortcut tool for keyboard-based page navigation and browser tab operations with an advanced omnibar and global shortcuts","homepage_url":"https://github.com/gdh1995/vimium-c","host_permissions":["\u003Call_urls>"],"icons":{"128":"icons/icon128.png","16":"icons/icon16.png","32":"icons/icon32.png","48":"icons/icon48.png"},"incognito":"spanning","key":"MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnaZQnkvrHvNlwXPnSfavEya+9sPtVgBR2hWLsNvwdv6+zHRGr/qhqEbtof1v7gDXzpC5+Dr4kOay6aflw5CaFzA1zyVJySAjpb0RkVh774kp9msRpjyb39obSIWAIB76PTwawEAE+K1f26jXDbTC2gEBe4OWk5KW9u9+KoTmeKLHo73ScR1jFcFaOTbrhwHtIDqj00vpIfrSAofpLIq1gP//Og+FoOT4dF107fwlVfDJuu171svuT68wmcKStl6OANxcnXCXE6OWbeZcjMehcQH41wzTtDugmt0o8w+hJ2WVugwWWmGmE8qSiwo9QYZTJW+5EvMcmNZWUmPbTLGkGQIDAQAB","manifest_version":3,"minimum_chrome_version":"102","name":"Vimium C - All by Keyboard","offline_enabled":true,"omnibox":{"keyword":"v"},"optional_host_permissions":["chrome://*/*","chrome://new-tab-page/*"],"optional_permissions":["bookmarks","downloads","downloads.shelf","contentSettings"],"options_ui":{"open_in_tab":true,"page":"pages/options.html"},"permissions":["clipboardRead","clipboardWrite","favicon","history","notifications","offscreen","scripting","search","sessions","storage","tabGroups","tabs","webNavigation"],"short_name":"Vimium C","update_url":"https://clients2.google.com/service/update2/crx","version":"2.12.2","version_name":"2.12.2","web_accessible_resources":[{"matches":["\u003Call_urls>","chrome-extension://*/*"],"resources":["content/*","front/vomnibar*","lib/*"],"use_dynamic_url":false}]},"needs_sync":true,"path":"hfjbmagddngcpeloejdejnfgbamkjaeg/2.12.2_0","persistent_script_url_patterns":["\u003Call_urls>"],"preferences":{},"regular_only_preferences":{},"serviceworkerevents":["commands.onCommand","omnibox.onDeleteSuggestion","omnibox.onInputChanged","omnibox.onInputEntered","omnibox.onInputStarted","permissions.onRemoved","runtime.onConnectExternal","storage.sync.onChanged","tabs.onActivated","tabs.onRemoved","tabs.onReplaced"],"was_installed_by_default":false,"was_installed_by_oem":false,"withholding_permissions":false},"mhjfbmdgcfjbbpaeojofohoefgiehjai":{"account_extension_type":0,"active_permissions":{"api":["contentSettings","fileSystem","fileSystem.write","metricsPrivate","tabs","resourcesPrivate","pdfViewerPrivate"],"explicit_host":["chrome://brave-resources/*","chrome://resources/*","chrome://webui-test/*"],"manifest_permissions":[],"scriptable_host":[]},"commands":{},"content_settings":[],"creation_flags":1,"disable_reasons":[],"first_install_time":"13399961367763615","from_webstore":false,"incognito_content_settings":[],"incognito_preferences":{},"last_update_time":"13400290388418148","location":5,"manifest":{"content_security_policy":"script-src 'self' 'wasm-eval' blob: filesystem: chrome://brave-resources chrome://resources chrome://webui-test; object-src * blob: externalfile: file: filesystem: data:","description":"","incognito":"split","key":"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDN6hM0rsDYGbzQPQfOygqlRtQgKUXMfnSjhIBL7LnReAVBEd7ZmKtyN2qmSasMl4HZpMhVe2rPWVVwBDl6iyNE/Kok6E6v6V3vCLGsOpQAuuNVye/3QxzIldzG/jQAdWZiyXReRVapOhZtLjGfywCvlWq7Sl/e3sbc0vWybSDI2QIDAQAB","manifest_version":2,"mime_types":["application/pdf"],"mime_types_handler":"index.html","name":"Chrome PDF Viewer","offline_enabled":true,"permissions":["chrome://brave-resources/","chrome://resources/","chrome://webui-test/","contentSettings","metricsPrivate","pdfViewerPrivate","resourcesPrivate","tabs",{"fileSystem":["write"]}],"version":"1"},"path":"/nix/store/0fgzpzxrvjgh9dn7n476h0qzigzhb1rb-brave-1.81.131/opt/brave.com/brave/resources/pdf","preferences":{},"regular_only_preferences":{},"was_installed_by_default":false,"was_installed_by_oem":false},"mnjggcdmjocbbbhaepdhchncahnbgone":{"account_extension_type":0,"active_bit":false,"active_permissions":{"api":["storage","scripting"],"explicit_host":["https://*.youtube.com/*","https://sponsor.ajay.app/*"],"manifest_permissions":[],"scriptable_host":["https://*.youtube.com/*","https://www.youtube-nocookie.com/embed/*"]},"allowlist":1,"commands":{},"content_settings":[],"creation_flags":9,"disable_reasons":[],"first_install_time":"13399964073492548","from_webstore":true,"granted_permissions":{"api":["storage","scripting"],"explicit_host":["https://*.youtube.com/*","https://sponsor.ajay.app/*"],"manifest_permissions":[],"scriptable_host":["https://*.youtube.com/*","https://www.youtube-nocookie.com/embed/*"]},"incognito_content_settings":[],"incognito_preferences":{},"last_update_time":"13399964073492548","location":1,"manifest":{"action":{"default_icon":{"128":"icons/IconSponsorBlocker128px.png","16":"icons/IconSponsorBlocker16px.png","32":"icons/IconSponsorBlocker32px.png","64":"icons/IconSponsorBlocker64px.png"},"default_popup":"popup.html","default_title":"SponsorBlock","theme_icons":[{"dark":"icons/IconSponsorBlocker16px.png","light":"icons/IconSponsorBlocker16px.png","size":16},{"dark":"icons/IconSponsorBlocker32px.png","light":"icons/IconSponsorBlocker32px.png","size":32},{"dark":"icons/IconSponsorBlocker64px.png","light":"icons/IconSponsorBlocker64px.png","size":64},{"dark":"icons/IconSponsorBlocker128px.png","light":"icons/IconSponsorBlocker128px.png","size":128},{"dark":"icons/IconSponsorBlocker256px.png","light":"icons/IconSponsorBlocker256px.png","size":256},{"dark":"icons/IconSponsorBlocker512px.png","light":"icons/IconSponsorBlocker512px.png","size":512},{"dark":"icons/IconSponsorBlocker1024px.png","light":"icons/IconSponsorBlocker1024px.png","size":1024}]},"background":{"service_worker":"./js/background.js"},"content_scripts":[{"all_frames":true,"exclude_matches":["https://accounts.youtube.com/RotateCookiesPage*"],"js":["./js/document.js"],"matches":["https://*.youtube.com/*","https://www.youtube-nocookie.com/embed/*"],"run_at":"document_start","world":"MAIN"},{"all_frames":true,"css":["content.css","shared.css"],"exclude_matches":["https://accounts.youtube.com/RotateCookiesPage*"],"js":["./js/content.js"],"matches":["https://*.youtube.com/*","https://www.youtube-nocookie.com/embed/*"],"run_at":"document_start","world":"ISOLATED"}],"current_locale":"en_GB","default_locale":"en","description":"Skip sponsorships, subscription begging and more on YouTube videos. Report sponsors on videos you watch to save others' time.","homepage_url":"https://sponsor.ajay.app","host_permissions":["https://*.youtube.com/*","https://sponsor.ajay.app/*"],"icons":{"1024":"icons/IconSponsorBlocker1024px.png","128":"icons/IconSponsorBlocker128px.png","16":"icons/IconSponsorBlocker16px.png","256":"icons/IconSponsorBlocker256px.png","32":"icons/IconSponsorBlocker32px.png","512":"icons/IconSponsorBlocker512px.png","64":"icons/IconSponsorBlocker64px.png"},"key":"MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAjc1iNthsC5JkHtm2GbB4mri2L7XOKyt6XTPg0ajyxKCcveSCZadWIQNY/K1YgrBYJoC8vkbv0dDNi9Zbgn29AsxODJWsqKkUN7q/n0rlFvzWQuDYG1IR6UUBCuMCEL8mxKCkJoz3ORZWmgAhAU8G0LEwtCaakrYvvPRpV/e/NytYMnuSeq63LUGxWB4/YhKFNCjoldqy1dpz8HfMQvqKaX5F7WeQjj1nlvtNGU21uP0FkIDY8+Hj8/cZVIb2a4dijb8HCIg/L4YHdn5GnTDoHaZ7UVM9Fvfa8uNdxbp+POQ4XztTWm4fXea0SU395ee171/CBOP7pp2UgnSrMu+VxwIDAQAB","manifest_version":3,"name":"SponsorBlock for YouTube - Skip Sponsorships","optional_host_permissions":["*://*/*"],"options_ui":{"open_in_tab":true,"page":"options/options.html"},"permissions":["storage","scripting"],"short_name":"SponsorBlock","update_url":"https://clients2.google.com/service/update2/crx","version":"5.14","web_accessible_resources":[{"matches":["\u003Call_urls>"],"resources":["icons/LogoSponsorBlocker256px.png","icons/IconSponsorBlocker256px.png","icons/PlayerStartIconSponsorBlocker.svg","icons/PlayerStopIconSponsorBlocker.svg","icons/PlayerUploadIconSponsorBlocker.svg","icons/PlayerUploadFailedIconSponsorBlocker.svg","icons/PlayerCancelSegmentIconSponsorBlocker.svg","icons/clipboard.svg","icons/settings.svg","icons/pencil.svg","icons/check.svg","icons/check-smaller.svg","icons/upvote.png","icons/downvote.png","icons/thumbs_down.svg","icons/thumbs_down_locked.svg","icons/thumbs_up.svg","icons/help.svg","icons/report.png","icons/close.png","icons/skipIcon.svg","icons/refresh.svg","icons/beep.oga","icons/pause.svg","icons/stop.svg","icons/skip.svg","icons/heart.svg","icons/visible.svg","icons/not_visible.svg","icons/sort.svg","icons/money.svg","icons/segway.png","icons/close-smaller.svg","icons/right-arrow.svg","icons/campaign.svg","icons/star.svg","icons/lightbulb.svg","icons/bolt.svg","icons/stopwatch.svg","icons/music-note.svg","icons/import.svg","icons/export.svg","icons/PlayerInfoIconSponsorBlocker.svg","icons/PlayerDeleteIconSponsorBlocker.svg","icons/dearrow.svg","popup.html","popup.css","content.css","shared.css","js/document.js","libs/Source+Sans+Pro.css","libs/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwlxdu.woff2","libs/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwmRduz8A.woff2","libs/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwmBduz8A.woff2","libs/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwlBduz8A.woff2"]}]},"needs_sync":true,"path":"mnjggcdmjocbbbhaepdhchncahnbgone/5.14_0","preferences":{},"regular_only_preferences":{},"service_worker_registration_info":{"version":"5.14"},"serviceworkerevents":["runtime.onInstalled","storage.onChanged"],"was_installed_by_default":false,"was_installed_by_oem":false,"withholding_permissions":false},"mnojpmjdmbbfmejpflffifhffcmidifd":{"account_extension_type":0,"active_permissions":{"api":["activeTab","alarms","contentSettings","contextMenus","cookies","history","management","settingsPrivate","storage","tabs","unlimitedStorage","webNavigation","webRequest","webRequestBlocking"],"explicit_host":["*://*/*","\u003Call_urls>","chrome://favicon/*"],"manifest_permissions":[],"scriptable_host":["https://chrome.google.com/webstore/*","https://chromewebstore.google.com/*"]},"commands":{},"content_settings":[],"creation_flags":1,"disable_reasons":[],"first_install_time":"13399961367763839","from_webstore":false,"incognito_content_settings":[],"incognito_preferences":{},"last_update_time":"13400290388425749","location":5,"manifest":{"content_scripts":[{"all_frames":true,"js":["out/webstore.bundle.js"],"matches":["https://chrome.google.com/webstore/*","https://chromewebstore.google.com/*"],"run_at":"document_start"}],"content_security_policy":"default-src 'self'; font-src 'self' data:; script-src 'self' 'wasm-eval'; style-src 'unsafe-inline'; img-src 'self' data: chrome://favicon/; connect-src * data: blob: filesystem:;","default_locale":"en_US","description":"__MSG_appName__","icons":{"128":"assets/img/icon-128.png","16":"assets/img/icon-16.png","256":"assets/img/icon-256.png","32":"assets/img/icon-32.png","48":"assets/img/icon-48.png","64":"assets/img/icon-64.png"},"incognito":"split","key":"MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAupOLMy5Fd4dCSOtjcApsAQOnuBdTs+OvBVt/3P93noIrf068x0xXkvxbn+fpigcqfNamiJ5CjGyfx9zAIs7zcHwbxjOw0Uih4SllfgtK+svNTeE0r5atMWE0xR489BvsqNuPSxYJUmW28JqhaSZ4SabYrRx114KcU6ko7hkjyPkjQa3P+chStJjIKYgu5tWBiMJp5QVLelKoM+xkY6S7efvJ8AfajxCViLGyDQPDviGr2D0VvIBob0D1ZmAoTvYOWafcNCaqaejPDybFtuLFX3pZBqfyOCyyzGhucyCmfBXJALKbhjRAqN5glNsUmGhhPK87TuGATQfVuZtenMvXMQIDAQAB","manifest_version":2,"name":"Brave","permissions":["activeTab","alarms","contentSettings","contextMenus","cookies","history","management","settingsPrivate","storage","tabs","webNavigation","webRequest","*://*/*","chrome://favicon/*","webDiscovery","webRequestBlocking","unlimitedStorage","\u003Call_urls>"],"version":"1.0.0"},"path":"/nix/store/0fgzpzxrvjgh9dn7n476h0qzigzhb1rb-brave-1.81.131/opt/brave.com/brave/resources/brave_extension","preferences":{},"regular_only_preferences":{},"was_installed_by_default":false,"was_installed_by_oem":false},"ponfpcnoihfmfllpaingbgckeeldkhle":{"account_extension_type":0,"active_permissions":{"api":["storage"],"explicit_host":["*://www.youtube.com/*"],"manifest_permissions":[],"scriptable_host":["https://www.youtube.com/*","https://www.youtube.com/embed/*","https://www.youtube.com/live_chat*","https://www.youtube.com/pop-up-player/*","https://www.youtube.com/shorts/*"]},"commands":{"c000-options-page":{"suggested_key":""},"c020-theme-youtube-dark":{"suggested_key":""},"c025-theme-enhanced-dark":{"suggested_key":""},"c030-theme-youtube-deep-dark":{"suggested_key":""},"c040-theme-youtube-deep-dark-custom":{"suggested_key":""},"c050-theme-custom-theme":{"suggested_key":""},"c060-focus-video-player":{"suggested_key":""},"c070-toggle-loop":{"suggested_key":""},"c080-stop-video":{"suggested_key":""},"c090-reverse-playlist":{"suggested_key":""},"c100-toggle-volume-booster":{"suggested_key":""},"c130-toggle-annotations":{"suggested_key":""},"c140-toggle-cinema-mode":{"suggested_key":""},"c150-toggle-player-size":{"suggested_key":""},"c160-center-video-player":{"suggested_key":""},"c170-pop-up-player":{"suggested_key":""},"c180-decrease-speed":{"suggested_key":""},"c190-increase-speed":{"suggested_key":""},"c200-default-speed":{"suggested_key":""},"c210-normal-speed":{"suggested_key":""},"c220-toggle-video-filters":{"suggested_key":""},"c230-flip-horizontally":{"suggested_key":""},"c240-flip-vertically":{"suggested_key":""},"c250-take-screenshot":{"suggested_key":""},"c260-keyboard-shortcuts":{"suggested_key":""},"c270-custom-script":{"suggested_key":""},"c280-picture-in-picture":{"suggested_key":""},"c290-quality-highres":{"suggested_key":""},"c300-quality-hd2880":{"suggested_key":""},"c310-quality-hd2160":{"suggested_key":""},"c320-quality-hd1440":{"suggested_key":""},"c330-quality-hd1080":{"suggested_key":""},"c340-quality-hd720":{"suggested_key":""},"c350-quality-large":{"suggested_key":""},"c360-quality-medium":{"suggested_key":""},"c370-quality-small":{"suggested_key":""},"c380-quality-tiny":{"suggested_key":""},"c390-quality-auto":{"suggested_key":""},"c400-comments-visibility":{"suggested_key":""},"c410-related-videos-visibility":{"suggested_key":""}},"content_settings":[],"creation_flags":9,"disable_reasons":[],"first_install_time":"13400290452410496","from_webstore":true,"granted_permissions":{"api":["storage"],"explicit_host":["*://www.youtube.com/*"],"manifest_permissions":[],"scriptable_host":["https://www.youtube.com/*","https://www.youtube.com/embed/*","https://www.youtube.com/live_chat*","https://www.youtube.com/pop-up-player/*","https://www.youtube.com/shorts/*"]},"incognito_content_settings":[],"incognito_preferences":{},"last_update_time":"13400290452410496","location":1,"manifest":{"action":{"default_icon":{"16":"img/icons/16.png","24":"img/icons/24.png","32":"img/icons/32.png"},"default_title":"Enhancer for YouTube™"},"background":{"service_worker":"js/service-worker.js"},"commands":{"c000-options-page":{"description":"Open the options page"},"c020-theme-youtube-dark":{"description":"Theme: YouTube™ (Dark)"},"c025-theme-enhanced-dark":{"description":"Theme: Enhancer for YouTube™"},"c030-theme-youtube-deep-dark":{"description":"Theme: YouTube-DeepDark"},"c040-theme-youtube-deep-dark-custom":{"description":"Theme: YouTube-DeepDark (Custom)"},"c050-theme-custom-theme":{"description":"Theme: Custom theme"},"c060-focus-video-player":{"description":"Set focus on the video player"},"c070-toggle-loop":{"description":"Toggle the loop mode"},"c080-stop-video":{"description":"Stop the video"},"c090-reverse-playlist":{"description":"Reverse the playlist order"},"c100-toggle-volume-booster":{"description":"Toggle the volume booster"},"c130-toggle-annotations":{"description":"Toggle info cards and end screens visibility"},"c140-toggle-cinema-mode":{"description":"Toggle the cinema mode"},"c150-toggle-player-size":{"description":"Expand or shrink the video player"},"c160-center-video-player":{"description":"Centre the video player within the viewport"},"c170-pop-up-player":{"description":"Watch with the pop-up player"},"c180-decrease-speed":{"description":"Decrease the playback speed"},"c190-increase-speed":{"description":"Increase the playback speed"},"c200-default-speed":{"description":"Select the default playback speed"},"c210-normal-speed":{"description":"Select the normal playback speed"},"c220-toggle-video-filters":{"description":"Toggle the video filters"},"c230-flip-horizontally":{"description":"Flip the video horizontally"},"c240-flip-vertically":{"description":"Flip the video vertically"},"c250-take-screenshot":{"description":"Take a screenshot of the video"},"c260-keyboard-shortcuts":{"description":"Display all the keyboard shortcuts for YouTube"},"c270-custom-script":{"description":"Execute the custom script"},"c280-picture-in-picture":{"description":"Toggle the Picture-in-Picture mode"},"c290-quality-highres":{"description":"Select the playback quality ‘4320p’"},"c300-quality-hd2880":{"description":"Select the playback quality ‘2880p’"},"c310-quality-hd2160":{"description":"Select the playback quality ‘2160p’"},"c320-quality-hd1440":{"description":"Select the playback quality ‘1440p’"},"c330-quality-hd1080":{"description":"Select the playback quality ‘1080p’"},"c340-quality-hd720":{"description":"Select the playback quality ‘720p’"},"c350-quality-large":{"description":"Select the playback quality ‘480p’"},"c360-quality-medium":{"description":"Select the playback quality ‘360p’"},"c370-quality-small":{"description":"Select the playback quality ‘240p’"},"c380-quality-tiny":{"description":"Select the playback quality ‘144p’"},"c390-quality-auto":{"description":"Select the playback quality ‘Auto’"},"c400-comments-visibility":{"description":"Toggle comments visibility"},"c410-related-videos-visibility":{"description":"Toggle related videos visibility"}},"content_scripts":[{"css":["css/youtube.css"],"exclude_matches":["https://www.youtube.com/embed/*","https://www.youtube.com/pop-up-player/*"],"js":["js/youtube-main.js"],"matches":["https://www.youtube.com/*"],"run_at":"document_start","world":"MAIN"},{"exclude_matches":["https://www.youtube.com/embed/*","https://www.youtube.com/pop-up-player/*"],"js":["js/config.js","js/youtube-isolated.js"],"matches":["https://www.youtube.com/*"],"run_at":"document_start","world":"ISOLATED"},{"all_frames":true,"js":["js/embed-main.js"],"matches":["https://www.youtube.com/embed/*"],"run_at":"document_start","world":"MAIN"},{"all_frames":true,"js":["js/config.js","js/embed-isolated.js"],"matches":["https://www.youtube.com/embed/*"],"run_at":"document_start","world":"ISOLATED"},{"all_frames":true,"js":["js/live-chat-main.js"],"matches":["https://www.youtube.com/live_chat*"],"run_at":"document_start","world":"MAIN"},{"all_frames":true,"js":["js/config.js","js/live-chat-isolated.js"],"matches":["https://www.youtube.com/live_chat*"],"run_at":"document_start","world":"ISOLATED"},{"css":["css/pop-up-player.css"],"js":["js/pop-up-player-isolated.js"],"matches":["https://www.youtube.com/pop-up-player/*"],"run_at":"document_end","world":"ISOLATED"},{"js":["js/config.js","js/shorts-isolated.js"],"matches":["https://www.youtube.com/shorts/*"],"run_at":"document_start","world":"ISOLATED"}],"current_locale":"en_GB","default_locale":"en_US","description":"Take control of YouTube and boost your user experience!","host_permissions":["*://www.youtube.com/*"],"icons":{"128":"img/icons/128.png","16":"img/icons/16.png","19":"img/icons/19.png","24":"img/icons/24.png","32":"img/icons/32.png","38":"img/icons/38.png","48":"img/icons/48.png","64":"img/icons/64.png","96":"img/icons/96.png"},"key":"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCrJipzcs6r7wrOrIhajflr37G10c+X+VAhhAWTJdL9icUUzFYS91ZcvNKyLqWRSI1j9sQJLK4m4gLYL1nHMZp1Zc/Eeer97b+TRuyQbapxu6ui/6APYHydWPHektVFbrsWdWM/sUzobEsYpYfWvwAiXDjFbwxodGNgC94wYIff1QIDAQAB","manifest_version":3,"minimum_chrome_version":"128.0.0.0","name":"Enhancer for YouTube™","options_page":"html/options.html","permissions":["storage"],"update_url":"https://clients2.google.com/service/update2/crx","version":"3.0.10","web_accessible_resources":[{"matches":["https://www.youtube.com/*"],"resources":["_locales/*/messages.json","css/themes/*","vendor/*"]}]},"needs_sync":true,"path":"ponfpcnoihfmfllpaingbgckeeldkhle/3.0.10_0","preferences":{},"regular_only_preferences":{},"serviceworkerevents":["action.onClicked","commands.onCommand","runtime.onInstalled","storage.onChanged"],"uninstall_url":"https://www.mrfdev.com/event?n=uninstall&b=chrome&e=enhancer-for-youtube&v=3.0.10","was_installed_by_default":false,"was_installed_by_oem":false,"withholding_permissions":false}}},"gaia_cookie":{"changed_time":1755488952.650683,"hash":"UBc9RDSho4dvFRzsSScsJpeg15w=","last_list_accounts_binary_data":"CqUBCAESCEFuZHJldyBNGhJhZG1vbnR5MUBnbWFpbC5jb20iYmh0dHBzOi8vbGgzLmdvb2dsZXVzZXJjb250ZW50LmNvbS8tSTlxc083WGdyb0EvQUFBQUFBQUFBQUkvQUFBQUFBQUFBQUEvVWMyMGF2T3RXM3cvczQ4LWMvcGhvdG8uanBnKAEwATgASAFSFTExNjgyMjM0MTUwMDQ0MjU0MTA5MngB","periodic_report_time_2":"13400290388382475"},"gcm":{"product_category_for_subtypes":"com.brave.linux"},"google":{"services":{"signin_scoped_device_id":"6cc324b5-5f26-4e99-bc32-138295a5faf4"}},"https_upgrade_navigations":{"2025-08-18":100,"2025-08-21":20},"in_product_help":{"new_badge":{"ComposeNudge":{"feature_enabled_time":"13399961367770989","show_count":0,"used_count":0},"ComposeProactiveNudge":{"feature_enabled_time":"13399961367770991","show_count":0,"used_count":0},"PasswordManualFallbackAvailable":{"feature_enabled_time":"13399961367770983","show_count":0,"used_count":0}},"recent_session_enabled_time":"13399961367770628","recent_session_start_times":["13400290388485134","13399961367770628"],"session_last_active_time":"13400290388485134","session_number":3,"session_start_time":"13400290388485134"},"intl":{"selected_languages":"en-GB,en-US,en"},"invalidation":{"per_sender_topics_to_handler":{"1013309121859":{}}},"language_model_counters":{"en":67},"media":{"device_id_salt":"B2C24C5B19E64469C0711CB2D0741538","engagement":{"schema_version":5}},"media_router":{"enable_media_router":true,"receiver_id_hash_token":"1zUzV+V27lnGtIu0LChcnYRzjh2wVCKldTbdNamNnT0ips6pqarFfSmkVplDPzZWjHBYNzH/wsbU5uxMSgew8Q=="},"metrics_reporting_enabled":false,"migrated_user_scripts_toggle":true,"ntp":{"num_personal_suggestions":12},"omnibox":{"prevent_url_elisions":false},"password_manager":{"account_store_migrated_to_os_crypt_async":true,"autofillable_credentials_account_store_login_database":false,"autofillable_credentials_profile_store_login_database":false,"password_promo_cards_list":[{"id":"relaunch_chrome_promo","last_time_shown":"0","number_of_times_shown":0,"was_dismissed":false}],"profile_store_migrated_to_os_crypt_async":true},"payments":{"can_make_payment_enabled":false},"pinned_tabs":[],"prefetch":{"search_prefetch":{"cache":{}}},"privacy_sandbox":{"first_party_sets_data_access_allowed_initialized":true,"first_party_sets_enabled":false,"m1":{"ad_measurement_enabled":false,"fledge_enabled":false,"topics_enabled":false}},"profile":{"avatar_index":26,"background_password_check":{"check_fri_weight":9,"check_interval":"2592000000000","check_mon_weight":6,"check_sat_weight":6,"check_sun_weight":6,"check_thu_weight":9,"check_tue_weight":9,"check_wed_weight":9,"next_check_time":"13401513348347918"},"content_settings":{"exceptions":{"3pcd_heuristics_grants":{},"3pcd_support":{},"abusive_notification_permissions":{},"access_to_get_all_screens_media_in_session":{},"anti_abuse":{},"app_banner":{"chrome://password-manager/,*":{"last_modified":"13399964117872785","setting":{"chrome://password-manager/":{"couldShowBannerEvents":1.3399964117872782e+16,"next_install_text_animation":{"delay":"86400000000","last_shown":"13399964117872688"}}}},"https://community.brave.app:443,*":{"last_modified":"13399962296246577","setting":{"https://community.brave.app/":{"couldShowBannerEvents":1.3399962296246574e+16,"next_install_text_animation":{"delay":"86400000000","last_shown":"13399962296246462"}}}},"https://discourse.nixos.org:443,*":{"last_modified":"13399961655849738","setting":{"https://discourse.nixos.org/":{"couldShowBannerEvents":1.3399961371297778e+16,"next_install_text_animation":{"delay":"86400000000","last_shown":"13399961655849730"}}}},"https://github.com:443,*":{"last_modified":"13399962108858007","setting":{"https://github.com/":{"couldShowBannerEvents":1.3399961371890734e+16,"next_install_text_animation":{"delay":"86400000000","last_shown":"13399962108857998"}}}},"https://mail.proton.me:443,*":{"last_modified":"13400290393451275","setting":{"https://mail.proton.me/":{"couldShowBannerEvents":1.3400290393451272e+16}}},"https://wiki.hypr.land:443,*":{"last_modified":"13400290396109351","setting":{"https://wiki.hypr.land/":{"couldShowBannerEvents":1.3399961371801516e+16,"next_install_text_animation":{"delay":"172800000000","last_shown":"13400290396109340"}}}},"https://www.mankier.com:443,*":{"last_modified":"13399961390839666","setting":{"https://www.mankier.com/":{"couldShowBannerEvents":1.3399961368262944e+16,"next_install_text_animation":{"delay":"86400000000","last_shown":"13399961390839657"}}}},"https://www.reddit.com:443,*":{"last_modified":"13399961514008720","setting":{"https://www.reddit.com/":{"couldShowBannerEvents":1.3399961369171516e+16,"next_install_text_animation":{"delay":"86400000000","last_shown":"13399961514008715"}}}},"https://www.youtube.com:443,*":{"last_modified":"13399961390557979","setting":{"https://www.youtube.com/":{"next_install_text_animation":{"delay":"345600000000","last_shown":"13399961390557969"}},"https://www.youtube.com/?feature=ytca":{"couldShowBannerEvents":1.3399961374315136e+16}}}},"ar":{},"are_suspicious_notifications_allowlisted_by_user":{},"auto_picture_in_picture":{},"auto_select_certificate":{},"automatic_downloads":{},"automatic_fullscreen":{},"autoplay":{},"background_sync":{},"bluetooth_chooser_data":{},"bluetooth_guard":{},"bluetooth_scanning":{},"braveShields":{},"braveShieldsMetadata":{"https://[*.]brave.com,*":{"last_modified":"13399961370106353","setting":{"farbling_token":"C0E34F45556F3A408F1A43E070D8328F"}},"https://[*.]chatgpt.com,*":{"last_modified":"13399961367880704","setting":{"farbling_token":"FCCDB18FFD89E587C2E1141B827937F9"}},"https://[*.]chromeenterprise.google,*":{"last_modified":"13399961726160329","setting":{"farbling_token":"DC22BD94E81B52073440AF16667B9740"}},"https://[*.]community.brave.app,*":{"last_modified":"13399962294899160","setting":{"farbling_token":"F104B8A2350538A9B3816771D0C96709"}},"https://[*.]github.com,*":{"last_modified":"13399961370901835","setting":{"farbling_token":"008E5B6A34193A613332A8C710DFCCC0"}},"https://[*.]gnu.org,*":{"last_modified":"13399964191904497","setting":{"farbling_token":"956F18D499F5CA9D31DEE0253EB2199A"}},"https://[*.]google.ca,*":{"last_modified":"13399962559691884","setting":{"farbling_token":"3FECA955717A22387B57D991FFE748DF"}},"https://[*.]google.com,*":{"last_modified":"13399961725268352","setting":{"farbling_token":"720238207498ACBE77979D8E8E643BF1"}},"https://[*.]hypr.land,*":{"last_modified":"13399961370914876","setting":{"farbling_token":"7F6E9942A75C3BD8B8855EDA610B4F45"}},"https://[*.]mankier.com,*":{"last_modified":"13399961368184780","setting":{"farbling_token":"5D478D3E67BE8C2BA688B837BC1669D2"}},"https://[*.]mozilla.org,*":{"last_modified":"13399962031163072","setting":{"farbling_token":"BD41B1FBFFE35A3AA86320D1F4C8DBC9"}},"https://[*.]mrfdev.com,*":{"last_modified":"13400290452445522","setting":{"farbling_token":"6E186F9554F209F9CD1317B7AC393B38"}},"https://[*.]mynixos.com,*":{"last_modified":"13399961368053585","setting":{"farbling_token":"4A961C40373D5ECBC008CE950708755E"}},"https://[*.]nixos.org,*":{"last_modified":"13399961367897652","setting":{"farbling_token":"15740A47F0A0E0C22980CEAF079787E7"}},"https://[*.]proton.me,*":{"last_modified":"13400290392211216","setting":{"farbling_token":"BE8CB47D33CFB57249F0905198557F87"}},"https://[*.]reddit.com,*":{"last_modified":"13399961367897867","setting":{"farbling_token":"5A926BCD3B722F65D454E4EFF7905DFC"}},"https://[*.]sr.ht,*":{"last_modified":"13400290408660097","setting":{"farbling_token":"1D573EFA4B08A7FF39E4CE59187806BD"}},"https://[*.]superuser.com,*":{"last_modified":"13399963514359287","setting":{"farbling_token":"A35FF1A7B78E67F7EFC121E5F6B85419"}},"https://[*.]support.brave.app,*":{"last_modified":"13399962308279503","setting":{"farbling_token":"0C60A55DBFBDFF3F49FE4CB129B1C345"}},"https://[*.]youtube.com,*":{"last_modified":"13399961373105894","setting":{"farbling_token":"54A4CCE28B54E862EC091D6DE86BB2B0"}}},"braveSpeedreader":{},"brave_cardano":{},"brave_ethereum":{},"brave_google_sign_in":{},"brave_localhost_access":{},"brave_open_ai_chat":{},"brave_remember_1p_storage":{},"brave_solana":{},"brave_webcompat_audio":{},"brave_webcompat_canvas":{},"brave_webcompat_device_memory":{},"brave_webcompat_event_source_pool":{},"brave_webcompat_font":{},"brave_webcompat_hardware_concurrency":{},"brave_webcompat_keyboard":{},"brave_webcompat_language":{},"brave_webcompat_media_devices":{},"brave_webcompat_none":{},"brave_webcompat_plugins":{},"brave_webcompat_screen":{},"brave_webcompat_speech_synthesis":{},"brave_webcompat_usb_device_serial_number":{},"brave_webcompat_user_agent":{},"brave_webcompat_web_sockets_pool":{},"brave_webcompat_webgl":{},"brave_webcompat_webgl2":{},"camera_pan_tilt_zoom":{},"captured_surface_control":{},"client_hints":{"https://accounts.google.ca:443,*":{"last_modified":"13399962559766693","setting":{"client_hints":[9,10,11,14,16,23,25]}},"https://accounts.google.com:443,*":{"last_modified":"13399962610482803","setting":{"client_hints":[9,10,11,14,16,23,25]}},"https://accounts.youtube.com:443,*":{"last_modified":"13399962559606380","setting":{"client_hints":[9,10,11,14,16,23,25]}},"https://aistudio.google.com:443,*":{"last_modified":"13399963459778378","setting":{"client_hints":[9,10,11,14,16,23,25]}},"https://chromewebstore.google.com:443,*":{"last_modified":"13400290442583315","setting":{"client_hints":[9,10,11,14,16,23,25]}},"https://gds.google.com:443,*":{"last_modified":"13399962553359501","setting":{"client_hints":[9,10,11,14,16,23,25]}},"https://gemini.google.com:443,*":{"last_modified":"13399962565609671","setting":{"client_hints":[9,10,11,14,16,23,25]}},"https://www.google.com:443,*":{"last_modified":"13399963502000622","setting":{"client_hints":[9,10,11,14,16,23,25]}},"https://www.youtube.com:443,*":{"last_modified":"13400290397005509","setting":{"client_hints":[9,10,11,14,16,23,25]}}},"clipboard":{},"controlled_frame":{},"cookie_controls_metadata":{},"cookies":{},"cosmeticFiltering":{},"direct_sockets":{},"direct_sockets_private_network_access":{},"display_media_system_audio":{},"disruptive_notification_permissions":{},"durable_storage":{"https://chatgpt.com:443,*":{"last_modified":"13399962610721683","setting":1}},"fedcm_idp_registration":{},"fedcm_idp_signin":{"https://accounts.google.com:443,*":{"last_modified":"13399962552650984","setting":{"chosen-objects":[{"idp-origin":"https://accounts.google.com","idp-signin-status":true}]}}},"fedcm_share":{},"file_system_access_chooser_data":{},"file_system_access_extended_permission":{},"file_system_access_restore_permission":{},"file_system_last_picked_directory":{},"file_system_read_guard":{},"file_system_write_guard":{},"fingerprintingV2":{},"formfill_metadata":{},"geolocation":{},"hand_tracking":{},"hid_chooser_data":{},"hid_guard":{},"httpUpgradableResources":{},"http_allowed":{},"httpsUpgrades":{},"https_enforced":{},"idle_detection":{},"images":{},"important_site_info":{},"initialized_translations":{},"intent_picker_auto_display":{},"javascript":{},"javascript_jit":{},"javascript_optimizer":{},"keyboard_lock":{},"legacy_cookie_access":{},"legacy_cookie_scope":{},"local_fonts":{},"local_network_access":{},"media_engagement":{"https://accounts.google.com:443,*":{"expiration":"13407738553367292","last_modified":"13399962553367293","lifetime":"7776000000000","setting":{"hasHighScore":false,"lastMediaPlaybackTime":0.0,"mediaPlaybacks":0,"visits":1}},"https://addons.mozilla.org:443,*":{"expiration":"13407738587828104","last_modified":"13399962587828106","lifetime":"7776000000000","setting":{"hasHighScore":false,"lastMediaPlaybackTime":0.0,"mediaPlaybacks":0,"visits":1}},"https://aistudio.google.com:443,*":{"expiration":"13407738587823420","last_modified":"13399962587823422","lifetime":"7776000000000","setting":{"hasHighScore":false,"lastMediaPlaybackTime":0.0,"mediaPlaybacks":0,"visits":1}},"https://chromeenterprise.google:443,*":{"expiration":"13407737981445170","last_modified":"13399961981445173","lifetime":"7776000000000","setting":{"hasHighScore":false,"lastMediaPlaybackTime":0.0,"mediaPlaybacks":0,"visits":1}},"https://chromewebstore.google.com:443,*":{"expiration":"13408066475834205","last_modified":"13400290475834208","lifetime":"7776000000000","setting":{"hasHighScore":false,"lastMediaPlaybackTime":0.0,"mediaPlaybacks":0,"visits":3}},"https://community.brave.app:443,*":{"expiration":"13407738302881778","last_modified":"13399962302881780","lifetime":"7776000000000","setting":{"hasHighScore":false,"lastMediaPlaybackTime":0.0,"mediaPlaybacks":0,"visits":1}},"https://gds.google.com:443,*":{"expiration":"13407738560228081","last_modified":"13399962560228082","lifetime":"7776000000000","setting":{"hasHighScore":false,"lastMediaPlaybackTime":0.0,"mediaPlaybacks":0,"visits":1}},"https://gemini.google.com:443,*":{"expiration":"13407738572570114","last_modified":"13399962572570115","lifetime":"7776000000000","setting":{"hasHighScore":false,"lastMediaPlaybackTime":0.0,"mediaPlaybacks":0,"visits":2}},"https://search.brave.com:443,*":{"expiration":"13407740192263219","last_modified":"13399964192263220","lifetime":"7776000000000","setting":{"hasHighScore":false,"lastMediaPlaybackTime":0.0,"mediaPlaybacks":0,"visits":1}},"https://support.brave.app:443,*":{"expiration":"13407738587825618","last_modified":"13399962587825620","lifetime":"7776000000000","setting":{"hasHighScore":false,"lastMediaPlaybackTime":0.0,"mediaPlaybacks":0,"visits":1}},"https://www.google.com:443,*":{"expiration":"13407739514588602","last_modified":"13399963514588604","lifetime":"7776000000000","setting":{"hasHighScore":false,"lastMediaPlaybackTime":0.0,"mediaPlaybacks":0,"visits":6}},"https://www.mrfdev.com:443,*":{"expiration":"13408066456130300","last_modified":"13400290456130303","lifetime":"7776000000000","setting":{"hasHighScore":false,"lastMediaPlaybackTime":0.0,"mediaPlaybacks":0,"visits":1}},"https://www.reddit.com:443,*":{"expiration":"13407737981451742","last_modified":"13399961981451743","lifetime":"7776000000000","setting":{"hasHighScore":false,"lastMediaPlaybackTime":0.0,"mediaPlaybacks":0,"visits":1}}},"media_stream_camera":{},"media_stream_mic":{},"midi_sysex":{},"mixed_script":{},"nfc_devices":{},"notification_interactions":{},"notification_permission_review":{},"notifications":{},"ondevice_languages_downloaded":{},"password_protection":{},"payment_handler":{},"permission_autoblocking_data":{"https://www.youtube.com:443,*":{"last_modified":"13399963180407243","setting":{"Notifications":{"ignore_count":1}}}},"permission_autorevocation_data":{},"pointer_lock":{},"popups":{},"private_network_chooser_data":{},"private_network_guard":{},"protocol_handler":{},"reduced_accept_language":{},"referrers":{},"safe_browsing_url_check_data":{},"sensors":{},"serial_chooser_data":{},"serial_guard":{},"shieldsAds":{},"shieldsCookiesV3":{},"site_engagement":{"chrome://extensions/,*":{"last_modified":"13400290442211237","setting":{"lastEngagementTime":1.340029044221122e+16,"lastShortcutLaunchTime":0.0,"pointsAddedToday":3.6,"rawScore":7.8188385669119995}},"chrome://newtab/,*":{"last_modified":"13400290388819493","setting":{"lastEngagementTime":1.3400290388819484e+16,"lastShortcutLaunchTime":0.0,"pointsAddedToday":3.0,"rawScore":22.687913312256}},"chrome://password-manager/,*":{"last_modified":"13400290388819437","setting":{"lastEngagementTime":1.3400260308309398e+16,"lastShortcutLaunchTime":0.0,"pointsAddedToday":0.0,"rawScore":3.6}},"chrome://rewards.top-chrome/,*":{"last_modified":"13400290388819460","setting":{"lastEngagementTime":1.340025761027144e+16,"lastShortcutLaunchTime":0.0,"pointsAddedToday":0.0,"rawScore":3.0}},"chrome://settings/,*":{"last_modified":"13400290388819449","setting":{"lastEngagementTime":1.340026033431563e+16,"lastShortcutLaunchTime":0.0,"pointsAddedToday":0.0,"rawScore":19.200000000000006}},"https://addons.mozilla.org:443,*":{"last_modified":"13400290388819416","setting":{"lastEngagementTime":1.3400258223437606e+16,"lastShortcutLaunchTime":0.0,"pointsAddedToday":0.0,"rawScore":2.1}},"https://aistudio.google.com:443,*":{"last_modified":"13400290388819268","setting":{"lastEngagementTime":1.3400260658116804e+16,"lastShortcutLaunchTime":0.0,"pointsAddedToday":0.0,"rawScore":12.599999999999996}},"https://chatgpt.com:443,*":{"last_modified":"13400290388819233","setting":{"lastEngagementTime":1.340026158881908e+16,"lastShortcutLaunchTime":0.0,"pointsAddedToday":0.0,"rawScore":26.100000000000023}},"https://chromeenterprise.google:443,*":{"last_modified":"13400290388819383","setting":{"lastEngagementTime":1.3400258277750168e+16,"lastShortcutLaunchTime":0.0,"pointsAddedToday":0.0,"rawScore":4.5}},"https://chromewebstore.google.com:443,*":{"last_modified":"13400290468580822","setting":{"lastEngagementTime":1.3400290468580804e+16,"lastShortcutLaunchTime":0.0,"pointsAddedToday":2.1,"rawScore":6.0375826624512}},"https://gemini.google.com:443,*":{"last_modified":"13400290388819290","setting":{"lastEngagementTime":1.3400258722400694e+16,"lastShortcutLaunchTime":0.0,"pointsAddedToday":0.0,"rawScore":3.9000000000000004}},"https://github.com:443,*":{"last_modified":"13400290388819256","setting":{"lastEngagementTime":1.3400258311307058e+16,"lastShortcutLaunchTime":0.0,"pointsAddedToday":0.0,"rawScore":2.7}},"https://mynixos.com:443,*":{"last_modified":"13400290388819332","setting":{"lastEngagementTime":1.340025883518076e+16,"lastShortcutLaunchTime":0.0,"pointsAddedToday":0.0,"rawScore":3.3000000000000003}},"https://search.brave.com:443,*":{"last_modified":"13400290478373778","setting":{"lastEngagementTime":1.3400290478373748e+16,"lastShortcutLaunchTime":0.0,"pointsAddedToday":2.1,"rawScore":6.8813503758336}},"https://search.nixos.org:443,*":{"last_modified":"13400290388819427","setting":{"lastEngagementTime":1.3400258002744606e+16,"lastShortcutLaunchTime":0.0,"pointsAddedToday":0.0,"rawScore":6.299999999999999}},"https://superuser.com:443,*":{"last_modified":"13400290388819348","setting":{"lastEngagementTime":1.3400259810975024e+16,"lastShortcutLaunchTime":0.0,"pointsAddedToday":0.0,"rawScore":2.7}},"https://support.brave.app:443,*":{"last_modified":"13400290388819137","setting":{"lastEngagementTime":1.3400259520637822e+16,"lastShortcutLaunchTime":0.0,"pointsAddedToday":0.0,"rawScore":8.999999999999998}},"https://wiki.hypr.land:443,*":{"last_modified":"13400290427067412","setting":{"lastEngagementTime":1.3400290427067384e+16,"lastShortcutLaunchTime":0.0,"pointsAddedToday":2.1,"rawScore":4.0687913312256}},"https://www.google.com:443,*":{"last_modified":"13400290388819301","setting":{"lastEngagementTime":1.3400259693724234e+16,"lastShortcutLaunchTime":0.0,"pointsAddedToday":0.0,"rawScore":13.2}},"https://www.mankier.com:443,*":{"last_modified":"13400290388819320","setting":{"lastEngagementTime":1.3400257570539516e+16,"lastShortcutLaunchTime":0.0,"pointsAddedToday":0.0,"rawScore":2.1}},"https://www.youtube.com:443,*":{"last_modified":"13400290388819359","setting":{"lastEngagementTime":1.340025757030247e+16,"lastShortcutLaunchTime":0.0,"pointsAddedToday":0.0,"rawScore":3.3000000000000003}}},"sound":{},"speaker_selection":{},"ssl_cert_decisions":{},"storage_access":{},"storage_access_header_origin_trial":{},"subresource_filter":{},"subresource_filter_data":{},"suspicious_notification_ids":{},"third_party_storage_partitioning":{},"top_level_3pcd_origin_trial":{},"top_level_3pcd_support":{},"top_level_storage_access":{},"trackers":{},"tracking_protection":{},"unused_site_permissions":{},"usb_chooser_data":{},"usb_guard":{},"vr":{},"web_app_installation":{},"webid_api":{},"webid_auto_reauthn":{},"window_placement":{}},"pattern_pairs":{},"permission_actions":{"notifications":[{"action":3,"prompt_disposition":7,"time":"13399963180407223"}]},"pref_version":1},"creation_time":"13399961361728609","default_content_setting_values":{"autoplay":2},"exit_type":"Crashed","family_member_role":"not_in_family","isolated_web_app":{"install":{"pending_initialization_count":0}},"last_engagement_time":"13400290478373747","last_time_obsolete_http_credentials_removed":1755487827.760762,"last_time_password_store_metrics_reported":1755816818.389713,"managed":{"locally_parent_approved_extensions":{},"locally_parent_approved_extensions_migration_state":1},"managed_user_id":"","name":"Work","password_hash_data_list":[{"hash":"djEwQ0/jjOgd5H4NWp90FzxJzw==","is_gaia":"djEwWP0RRv8bNfy3HHzGbGb6sw==","last_signin":1755488953.632548,"salt_length":"djEwWOj62cgyBZP9ikJrWpIVFKKCCopmupOPlSiq9HId10A=","username":"djEwDiiV6iVot7YaDQhSxIYElfXo3JQ+cKt3rgy3arWL9tE="}],"safety_hub_menu_notifications":{"extensions":{"isCurrentlyActive":false,"result":{"timestamp":"13399964086377856","triggeringExtensions":[]}},"notification-permissions":{"isCurrentlyActive":false,"result":{"notificationPermissions":[],"timestamp":"13399963459197800"}},"passwords":{"isCurrentlyActive":false,"result":{"passwordCheckOrigins":[],"timestamp":"13399963457251447"}},"safe-browsing":{"isCurrentlyActive":false,"onlyShowAfterTime":"13400047807038467","result":{"safeBrowsingStatus":4,"timestamp":"13399964086377841"}},"unused-site-permissions":{"isCurrentlyActive":false,"result":{"permissions":[],"timestamp":"13399963459197820"}}},"were_old_google_logins_removed":true},"protection":{"macs":{"account_values":{"browser":{"show_home_button":"F6B8688079AA4C4657C3FEDCF3311348C99CB4907EEC8560CC323E4F37D1EA41"},"extensions":{"ui":{"developer_mode":"C4B515ABCB16541C88B522387A89F47E24F150FF18A7256BF19EE2C0896D7555"}},"homepage":"0F156BE8FFEDBF22CC2E394D6BD8DDD392F953D0F397958C64EFA57087182457","homepage_is_newtabpage":"BAF0DE42A6FEAC5EF6500592AEC92B79DC055C1E352B0F7BAC0BB6E72ECE67D3","session":{"restore_on_startup":"81940185F7F78D0317AB3741FA4A283985C31DB3BF95D3A4DDD4CD78FC5021F1","startup_urls":"B41DC391D323AEB2C5465D75AB79284F9F6620BEF161110DE35202261FF03449"}},"brave":{"ad_block":{"developer_mode":"F59142B67502DC56C4D3763941A5F271E22391B134DC3833BE6C25DA10E7804C"}},"browser":{"show_home_button":"9463DEC4C15E47646D05FD921E0E475249EA15DE77808C4664EF238C54D89FC7"},"default_search_provider_data":{"template_url_data":"2B851B2136A1C9309C458A0F37877EA867F9B03FAD0CF9F542AA98AC082C3E6E"},"enterprise_signin":{"policy_recovery_token":"7D3124ECAF7E96407EB65EAF5A43B02C7EE5F2D4A9FA38A9F371F9E1B74D6383"},"extensions":{"settings":{"ahfgeienlihckogmohjhadlkjgocpleb":"71AFEC06293D4BCA222B8D1F230891F60ACCF4D162F3A46C92153ED993018B13","cjpalhdlnbpafiamejdnhcphjbkeiagm":"0A038BA21BCFF8FD1C97910ECCDED82C70E9494383D057BE5037EB66ADA4D2E8","hfjbmagddngcpeloejdejnfgbamkjaeg":"7E13E4CFDE625AB77A2E402F302B25C793AF88ED511B696E8BE0305443AF9D99","mhjfbmdgcfjbbpaeojofohoefgiehjai":"C877A4ACB60991971626B1C161D08084F7B4E46568C40FEC1BD8CC917A251B50","mnjggcdmjocbbbhaepdhchncahnbgone":"37AB2FA5728F3228675BE06CCE58A3F67859E730251E5C609D19AD49504CC4FA","mnojpmjdmbbfmejpflffifhffcmidifd":"78DD20EB43B91E9DDCF7821712290EAA06D3CD469427B3162251843B60D8EC29","ponfpcnoihfmfllpaingbgckeeldkhle":"8D95AEC434DF81DB4577B5AA338D14389897E3BEA61C87B0A94B65AA0D1C35B2"},"ui":{"developer_mode":"55A29C051727FCAC1BDA847CCDE40838B2068CFA589E88819EA9FB17E4BD7320"}},"google":{"services":{"account_id":"E5B4CD7C5FA271A47D07D462465AFD63DBF6A8CDFAFEF4839D13F8F552131486","last_signed_in_username":"82DB8D884695C643C31778B7B50DBB376848E2F81B5A1AECDA34FD448CECD10D","last_username":"24FCEF9BF7DF12A2935BE143E58951E09DBAA1D3E0E24430C0FF93009F5D6AFD"}},"homepage":"B1E9FE8108A84F532486D13AAC43C0AFDA16D3DFC9EB2F743AEE11F89F2F163E","homepage_is_newtabpage":"3680F776D17E3C099431BAF5381FAB9BCC0C2C70FEA4C74D12324BC94A207119","media":{"storage_id_salt":"E1848263E6199A89D48A7FDF168364BF0F31246A18227F3D149D4088C7F4D667"},"pinned_tabs":"699F1AC92729A024B80605AFC3C63BFB2A35B70C4214581BBE108F851528E9E8","prefs":{"preference_reset_time":"95C909F3D0669D5931907B455F099C510E7770D9F0BA6FF13E4C76101B44F757"},"safebrowsing":{"incidents_sent":"569707D9A4676B72F48BE92B740BE3EF895419C8A646F1AE1BA70BD9C3B41845"},"schedule_to_flush_to_disk":"59F5A2F5DD88DE7B47B4215F82F401297EC3B96DFC9CD915D59863DA1DB38CB1","search_provider_overrides":"1E1EBA3A4DC28A23BEFCF6ED5D71CE71E9814DD587A305F6B14F72E834AF75DD","session":{"restore_on_startup":"F9BD26F5D1AA6AB5258754888529CB2A82AE68D1703BCC2A97DEAEE5DDDA190E","startup_urls":"8BB8DBC1D7CA5C58F821C38254FB2B9C874F8EE9B9905B57DE48C731C6C91837"}}},"safebrowsing":{"enabled":false,"event_timestamps":{},"metrics_last_log_time":"13400290388","scout_reporting_enabled_when_deprecated":false},"safety_hub":{"unused_site_permissions_revocation":{"migration_completed":true}},"saved_tab_groups":{"did_enable_shared_tab_groups_in_last_session":false,"specifics_to_data_migration":true},"search":{"suggest_enabled":false},"sessions":{"event_log":[{"did_schedule_command":true,"first_session_service":true,"tab_count":19,"time":"13399963355405923","type":2,"window_count":1},{"crashed":false,"time":"13399963357892085","type":0},{"restore_browser":true,"synchronous":true,"time":"13399963357895544","type":5},{"errored_reading":false,"tab_count":19,"time":"13399963357995641","type":1,"window_count":1},{"did_schedule_command":true,"first_session_service":true,"tab_count":19,"time":"13399963363184992","type":2,"window_count":1},{"crashed":false,"time":"13399963369593892","type":0},{"restore_browser":true,"synchronous":true,"time":"13399963369597149","type":5},{"errored_reading":false,"tab_count":19,"time":"13399963369706613","type":1,"window_count":1},{"did_schedule_command":true,"first_session_service":true,"tab_count":19,"time":"13399963384353359","type":2,"window_count":1},{"crashed":false,"time":"13399963395071295","type":0},{"restore_browser":true,"synchronous":true,"time":"13399963395074645","type":5},{"errored_reading":false,"tab_count":19,"time":"13399963395177110","type":1,"window_count":1},{"did_schedule_command":true,"first_session_service":true,"tab_count":19,"time":"13399963414903507","type":2,"window_count":1},{"crashed":false,"time":"13399963457082273","type":0},{"restore_browser":true,"synchronous":true,"time":"13399963457085806","type":5},{"errored_reading":false,"tab_count":19,"time":"13399963457193918","type":1,"window_count":1},{"crashed":true,"time":"13400290388395699","type":0},{"restore_browser":true,"synchronous":false,"time":"13400290392143126","type":5},{"errored_reading":false,"tab_count":26,"time":"13400290392190554","type":1,"window_count":1}],"session_data_status":1},"settings":{"force_google_safesearch":false},"signin":{"allowed":false,"cookie_clear_on_exit_migration_notice_complete":true},"site_search_settings":{"overridden_keywords":[]},"spellcheck":{"dictionaries":["en-GB"],"dictionary":""},"sync":{"data_type_status_for_sync_to_signin":{"app_list":false,"app_settings":false,"apps":false,"arc_package":false,"autofill":false,"autofill_profiles":false,"autofill_valuable":false,"autofill_wallet":false,"autofill_wallet_credential":false,"autofill_wallet_metadata":false,"autofill_wallet_offer":false,"autofill_wallet_usage":false,"bookmarks":false,"collaboration_group":false,"contact_info":false,"cookies":false,"device_info":false,"dictionary":false,"extension_settings":false,"extensions":false,"history":false,"history_delete_directives":false,"incoming_password_sharing_invitation":false,"managed_user_settings":false,"nigori":false,"os_preferences":false,"os_priority_preferences":false,"outgoing_password_sharing_invitation":false,"passwords":false,"plus_address":false,"plus_address_setting":false,"power_bookmark":false,"preferences":false,"printers":false,"printers_authorization_servers":false,"priority_preferences":false,"product_comparison":false,"reading_list":false,"saved_tab_group":false,"search_engines":false,"security_events":false,"send_tab_to_self":false,"sessions":false,"shared_tab_group_account_data":false,"shared_tab_group_data":false,"sharing_message":false,"themes":false,"user_consent":false,"user_events":false,"web_apps":false,"webapks":false,"webauthn_credential":false,"wifi_configurations":false,"workspace_desk":false},"encryption_bootstrap_token_per_account_migration_done":true,"feature_status_for_sync_to_signin":5,"passwords_per_account_pref_migration_done":true},"syncing_theme_prefs_migrated_to_non_syncing":true,"toolbar":{"pinned_cast_migration_complete":true,"pinned_chrome_labs_migration_complete":true,"tab_search_migration_complete":true},"total_passwords_available_for_account":0,"total_passwords_available_for_profile":0,"translate_site_blacklist":[],"translate_site_blocklist_with_time":{},"updateclientdata":{"apps":{"mnjggcdmjocbbbhaepdhchncahnbgone":{"cohort":"1::","cohortname":"","dlrc":6807,"installdate":6807,"pf":"6c244e3c-1fde-4e11-86d2-c401443adfeb"}}},"web_apps":{"daily_metrics":{"https://discourse.nixos.org/":{"background_duration_sec":0,"captures_links":false,"effective_display_mode":3,"foreground_duration_sec":0,"installed":false,"num_sessions":0,"promotable":true},"https://github.com/":{"background_duration_sec":0,"captures_links":false,"effective_display_mode":3,"foreground_duration_sec":0,"installed":false,"num_sessions":0,"promotable":true},"https://wiki.hypr.land/":{"background_duration_sec":0,"captures_links":false,"effective_display_mode":3,"foreground_duration_sec":0,"installed":false,"num_sessions":0,"promotable":true},"https://www.reddit.com/":{"background_duration_sec":0,"captures_links":false,"effective_display_mode":2,"foreground_duration_sec":0,"installed":false,"num_sessions":0,"promotable":true},"https://www.youtube.com/?feature=ytca":{"background_duration_sec":0,"captures_links":false,"effective_display_mode":2,"foreground_duration_sec":0,"installed":false,"num_sessions":0,"promotable":true}},"daily_metrics_date":"13399963200000000","did_migrate_default_chrome_apps":["MigrateDefaultChromeAppToWebAppsGSuite","MigrateDefaultChromeAppToWebAppsNonGSuite"],"last_preinstall_synchronize_version":"139"},"zerosuggest":{"cachedresults_with_url":{"https://www.google.com/search?q=where+is+brave+config+file&oq=where+is+brave+config+file&gs_lcrp=EgZjaHJvbWUyBggAEEUYOTIGCAEQLhhA0gEIMzM5OGowajGoAgCwAgA&sourceid=chrome&ie=UTF-8":")]}'\n[\"\",[\"brave browser\",\"brave download\",\"where is brave history stored\",\"brave //settings/extensions\",\"brave //settings/system\",\"brave //settings/shields\",\"where is brave config file\",\"google ai studio]\"],[\"\",\"\",\"\",\"\",\"\",\"\",\"history\",\"history\"],[],{\"google:clientdata\":{\"bpc\":false,\"tlw\":false},\"google:groupsinfo\":\"ChcIwLgCEhEKD1JlY2VudCBzZWFyY2hlcwohCJBOEhwKGlJlbGF0ZWQgdG8gcmVjZW50IHNlYXJjaGVz\",\"google:suggestdetail\":[{\"zl\":10000},{\"zl\":10000},{\"zl\":10000},{\"zl\":10000},{\"zl\":10000},{\"zl\":10000},{\"du\":\"/complete/deleteitems?client\\u003dchrome-omni\\u0026delq\\u003dwhere+is+brave+config+file\\u0026deltok\\u003dAMc44K4-fkNlOEwpxSOxJVUtWoyPrpeaog\\u0026gs_ri\\u003dchrome-ext-ansg\",\"zl\":40000},{\"du\":\"/complete/deleteitems?client\\u003dchrome-omni\\u0026delq\\u003dgoogle+ai+studio%5D\\u0026deltok\\u003dAMc44K7x7ftJp1PU8qlAjJ-fx-R7M9II8g\\u0026gs_ri\\u003dchrome-ext-ansg\",\"zl\":40000}],\"google:suggesteventid\":\"-1881927601798161385\",\"google:suggestrelevance\":[601,600,555,554,553,552,551,550],\"google:suggestsubtypes\":[[512,650,273,524,362,308],[512,650,273,524,362,308],[512,650,273,524,362,308],[512,650,273,524,362,308],[512,650,273,524,362,308],[512,650,273,524,362,308],[524,362,39],[524,362,39]],\"google:suggesttype\":[\"QUERY\",\"QUERY\",\"QUERY\",\"QUERY\",\"QUERY\",\"QUERY\",\"PERSONALIZED_QUERY\",\"PERSONALIZED_QUERY\"],\"google:verbatimrelevance\":851}]"}}}
\ No newline at end of file
+++ /dev/null
-cp ~/.config/BraveSoftware/Brave-Browser/Local\ State Local-State
-cp ~/.config/BraveSoftware/Brave-Browser/Default/Preferences Preferences
+++ /dev/null
-# Edit this configuration file to define what should be installed on
-# your system. Help is available in the configuration.nix(5) man page
-# and in the NixOS manual (accessible by running ‘nixos-help’).
-{
- config,
- pkgs,
- inputs,
- ...
-}:
-{
- imports = [
- # Include the results of the hardware scan.
- ./hardware-configuration.nix
- ];
-
- # Bootloader.
- boot.loader.systemd-boot.enable = true;
- boot.loader.efi.canTouchEfiVariables = true;
-
- # zsh
- environment.shells = with pkgs; [ fish ];
- users.defaultUserShell = pkgs.fish;
- programs.fish.enable = true;
-
- # Use latest kernel.
- boot.kernelPackages = pkgs.linuxPackages_latest;
-
- networking.hostName = "home"; # Define your hostname.
- # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
-
- # Configure network proxy if necessary
- # networking.proxy.default = "http://user:password@proxy:port/";
- # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
-
- # Enable networking
- networking.networkmanager.enable = true;
-
- # Set your time zone.
- time.timeZone = "America/Toronto";
-
- # Select internationalisation properties.
- i18n.defaultLocale = "en_CA.UTF-8";
-
- # Configure keymap in X11
- services.xserver.xkb = {
- layout = "us";
- variant = "";
- };
- services.gnome.gnome-keyring.enable = true;
- environment.variables.XDG_RUNTIME_DIR = "/run/user/$UID";
- security.polkit.enable = true;
- # Define a user account. Don't forget to set a password with ‘passwd’.
- users.users.andrew = {
- isNormalUser = true;
- description = "Andrew";
- extraGroups = [
- "networkmanager"
- "wheel"
- ];
- packages = with pkgs; [ ];
- };
-
- # Allow unfree packages
- nixpkgs.config.allowUnfree = true;
-
- programs.hyprland = {
- enable = true;
- };
-
- programs.kdeconnect = {
- enable = true;
- };
-
- # List packages installed in system profile. To search, run:
- # $ nix search wget
- environment.systemPackages = with pkgs; [
- vim
- wget
- hyprland
- kitty
- libnotify
- bibata-cursors
- libsecret
- gdu
- unzip
- nixd
- deadnix
- python313
- zig
- marksman
- icu
- # language server
- bash-language-server
- clang-tools
- docker-language-server
- gopls
- golangci-lint-langserver
- vscode-langservers-extracted
- emmet-language-server
- lua-language-server
- marksman
- nixd
- basedpyright
- ruff
- sqls
- deno
- vtsls
- yaml-language-server
- zls
-
- # formatter
- shfmt
- gofumpt
- prettierd
- prettier
- jq
- stylua
- nixpkgs-fmt
- sqlfluff
-
- # linter
- shellcheck
- cppcheck
- hadolint
- fish
- golangci-lint
- # nodePackages_latest.jsonlint
- selene
- markdownlint-cli2
- statix
- eslint
- yamllint
-
- # debugger
- lldb
- delve
- python313Packages.debugpy
-
- # tree sitter
- tree-sitter
-
- ngrok
-
- ];
-
- programs.git = {
- enable = true;
- config = {
- user = {
- name = "Skullheadx";
- email = "admonty1@protonmail.com";
- };
- pull.rebase = true;
- url = {
- "git@github.com:".insteadOf = "https://github.com/";
- };
-
- };
- };
-
- programs.steam = {
- enable = true;
- remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
- dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server
- localNetworkGameTransfers.openFirewall = true; # Open ports in the firewall for Steam Local Network Game Transfers
- };
-
- # services.mysql = {
- # enable = true;
- # package = pkgs.mysql84;
- # };
-
- programs.nix-ld.enable = true;
- programs.nix-ld.libraries = with pkgs; [
- # Add any missing dynamic libraries for unpackaged
- # programs here, NOT in environment.systemPackages
- ];
- services.udisks2 = {
- enable = true;
- mountOnMedia = true;
- };
-
- services.greetd = {
- enable = true;
- settings.default_session = {
- user = "greeter";
- };
- };
- security.pam.services.greetd.enableGnomeKeyring = true;
- programs.regreet.enable = true;
- fonts.packages = with pkgs; [
- nerd-fonts.jetbrains-mono
- nerd-fonts.fira-code
- nerd-fonts.droid-sans-mono
- noto-fonts-color-emoji
- ];
-
- security.rtkit.enable = true;
- services.pipewire = {
- enable = true;
- audio.enable = true;
- pulse.enable = true;
- alsa.enable = true;
- };
- services.pipewire.wireplumber.enable = true;
- hardware = {
- opengl = {
- enable = true;
- };
- };
-
- # Some programs need SUID wrappers, can be configured further or are
- # started in user sessions.
- # programs.mtr.enable = true;
- programs.gnupg.agent = {
- enable = true;
- enableSSHSupport = true;
- };
-
- # List services that you want to enable:
-
- # Enable the OpenSSH daemon.
- services.openssh = {
- enable = true;
- };
-
- hardware.bluetooth = {
- enable = true;
- powerOnBoot = true;
- settings = {
- General = {
- # Shows battery charge of connected devices on supported
- # Bluetooth adapters. Defaults to 'false'.
- Experimental = true;
- # When enabled other devices can connect faster to us, however
- # the tradeoff is increased power consumption. Defaults to
- # 'false'.
- FastConnectable = true;
- };
- Policy = {
- # Enable all controllers when they are found. This includes
- # adapters present on start as well as adapters that are plugged
- # in later on. Defaults to 'true'.
- AutoEnable = true;
- };
- };
- };
-
- services.blueman.enable = true;
-
- # Open ports in the firewall.
- # networking.firewall.allowedTCPPorts = [ ... ];
- # networking.firewall.allowedUDPPorts = [ ... ];
- # Or disable the firewall altogether.
- # networking.firewall.enable = false;
-
- # This value determines the NixOS release from which the default
- # settings for stateful data, like file locations and database versions
- # on your system were taken. It‘s perfectly fine and recommended to leave
- # this value at the release version of the first install of this system.
- # Before changing this value read the documentation for this option
- # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
- system.stateVersion = "25.05"; # Did you read the comment?
- nix.settings.experimental-features = [
- "nix-command"
- "flakes"
- ];
-}
+++ /dev/null
-{
- config,
- lib,
- ...
-}: {
- options = {
- dotfiles = {
- mutable = lib.mkEnableOption "mutable dotfiles";
-
- path = lib.mkOption {
- type = lib.types.path;
- apply = toString;
- default = "${config.home.homeDirectory}/.dotfiles/";
- example = "${config.home.homeDirectory}/.dotfiles/astronvim-config";
- description = "Location of the dotfiles working copy";
- };
- };
- };
-}
+++ /dev/null
-{ config, pkgs, ... }:
-
-{
- programs.fastfetch = {
- enable = true;
- settings = {
- logo = {
- padding = {
- right = 1;
- };
- };
- modules = [
- "title"
- "separator"
- "os"
- "host"
- "kernel"
- "uptime"
- "datetime"
- "packages"
- "shell"
- "display"
- "de"
- "wm"
- "theme"
- "icons"
- "terminal"
- "terminalfont"
- "cpu"
- "gpu"
- "memory"
- "swap"
- "disk"
- "battery"
- "poweradapter"
- "font"
- "cursor"
- "colors"
- ];
- };
- };
-}
+++ /dev/null
-{
- "nodes": {
- "base16": {
- "inputs": {
- "fromYaml": "fromYaml"
- },
- "locked": {
- "lastModified": 1755819240,
- "narHash": "sha256-qcMhnL7aGAuFuutH4rq9fvAhCpJWVHLcHVZLtPctPlo=",
- "owner": "SenchoPens",
- "repo": "base16.nix",
- "rev": "75ed5e5e3fce37df22e49125181fa37899c3ccd6",
- "type": "github"
- },
- "original": {
- "owner": "SenchoPens",
- "repo": "base16.nix",
- "type": "github"
- }
- },
- "base16-fish": {
- "flake": false,
- "locked": {
- "lastModified": 1765809053,
- "narHash": "sha256-XCUQLoLfBJ8saWms2HCIj4NEN+xNsWBlU1NrEPcQG4s=",
- "owner": "tomyun",
- "repo": "base16-fish",
- "rev": "86cbea4dca62e08fb7fd83a70e96472f92574782",
- "type": "github"
- },
- "original": {
- "owner": "tomyun",
- "repo": "base16-fish",
- "rev": "86cbea4dca62e08fb7fd83a70e96472f92574782",
- "type": "github"
- }
- },
- "base16-helix": {
- "flake": false,
- "locked": {
- "lastModified": 1760703920,
- "narHash": "sha256-m82fGUYns4uHd+ZTdoLX2vlHikzwzdu2s2rYM2bNwzw=",
- "owner": "tinted-theming",
- "repo": "base16-helix",
- "rev": "d646af9b7d14bff08824538164af99d0c521b185",
- "type": "github"
- },
- "original": {
- "owner": "tinted-theming",
- "repo": "base16-helix",
- "type": "github"
- }
- },
- "base16-vim": {
- "flake": false,
- "locked": {
- "lastModified": 1732806396,
- "narHash": "sha256-e0bpPySdJf0F68Ndanwm+KWHgQiZ0s7liLhvJSWDNsA=",
- "owner": "tinted-theming",
- "repo": "base16-vim",
- "rev": "577fe8125d74ff456cf942c733a85d769afe58b7",
- "type": "github"
- },
- "original": {
- "owner": "tinted-theming",
- "repo": "base16-vim",
- "rev": "577fe8125d74ff456cf942c733a85d769afe58b7",
- "type": "github"
- }
- },
- "firefox-gnome-theme": {
- "flake": false,
- "locked": {
- "lastModified": 1764724327,
- "narHash": "sha256-OkFLrD3pFR952TrjQi1+Vdj604KLcMnkpa7lkW7XskI=",
- "owner": "rafaelmardojai",
- "repo": "firefox-gnome-theme",
- "rev": "66b7c635763d8e6eb86bd766de5a1e1fbfcc1047",
- "type": "github"
- },
- "original": {
- "owner": "rafaelmardojai",
- "repo": "firefox-gnome-theme",
- "type": "github"
- }
- },
- "flake-parts": {
- "inputs": {
- "nixpkgs-lib": [
- "nur",
- "nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1733312601,
- "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
- "owner": "hercules-ci",
- "repo": "flake-parts",
- "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
- "type": "github"
- },
- "original": {
- "owner": "hercules-ci",
- "repo": "flake-parts",
- "type": "github"
- }
- },
- "flake-parts_2": {
- "inputs": {
- "nixpkgs-lib": [
- "stylix",
- "nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1763759067,
- "narHash": "sha256-LlLt2Jo/gMNYAwOgdRQBrsRoOz7BPRkzvNaI/fzXi2Q=",
- "owner": "hercules-ci",
- "repo": "flake-parts",
- "rev": "2cccadc7357c0ba201788ae99c4dfa90728ef5e0",
- "type": "github"
- },
- "original": {
- "owner": "hercules-ci",
- "repo": "flake-parts",
- "type": "github"
- }
- },
- "fromYaml": {
- "flake": false,
- "locked": {
- "lastModified": 1731966426,
- "narHash": "sha256-lq95WydhbUTWig/JpqiB7oViTcHFP8Lv41IGtayokA8=",
- "owner": "SenchoPens",
- "repo": "fromYaml",
- "rev": "106af9e2f715e2d828df706c386a685698f3223b",
- "type": "github"
- },
- "original": {
- "owner": "SenchoPens",
- "repo": "fromYaml",
- "type": "github"
- }
- },
- "gnome-shell": {
- "flake": false,
- "locked": {
- "host": "gitlab.gnome.org",
- "lastModified": 1764524476,
- "narHash": "sha256-bTmNn3Q4tMQ0J/P0O5BfTQwqEnCiQIzOGef9/aqAZvk=",
- "owner": "GNOME",
- "repo": "gnome-shell",
- "rev": "c0e1ad9f0f703fd0519033b8f46c3267aab51a22",
- "type": "gitlab"
- },
- "original": {
- "host": "gitlab.gnome.org",
- "owner": "GNOME",
- "ref": "gnome-49",
- "repo": "gnome-shell",
- "type": "gitlab"
- }
- },
- "home-manager": {
- "inputs": {
- "nixpkgs": [
- "nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1766282146,
- "narHash": "sha256-0V/nKU93KdYGi+5LB/MVo355obBJw/2z9b2xS3bPJxY=",
- "owner": "nix-community",
- "repo": "home-manager",
- "rev": "61fcc9de76b88e55578eb5d79fc80f2b236df707",
- "type": "github"
- },
- "original": {
- "owner": "nix-community",
- "repo": "home-manager",
- "type": "github"
- }
- },
- "nixpkgs": {
- "locked": {
- "lastModified": 1766070988,
- "narHash": "sha256-G/WVghka6c4bAzMhTwT2vjLccg/awmHkdKSd2JrycLc=",
- "owner": "nixos",
- "repo": "nixpkgs",
- "rev": "c6245e83d836d0433170a16eb185cefe0572f8b8",
- "type": "github"
- },
- "original": {
- "owner": "nixos",
- "ref": "nixos-unstable",
- "repo": "nixpkgs",
- "type": "github"
- }
- },
- "nixpkgs_2": {
- "locked": {
- "lastModified": 1766070988,
- "narHash": "sha256-G/WVghka6c4bAzMhTwT2vjLccg/awmHkdKSd2JrycLc=",
- "owner": "nixos",
- "repo": "nixpkgs",
- "rev": "c6245e83d836d0433170a16eb185cefe0572f8b8",
- "type": "github"
- },
- "original": {
- "owner": "nixos",
- "ref": "nixos-unstable",
- "repo": "nixpkgs",
- "type": "github"
- }
- },
- "nur": {
- "inputs": {
- "flake-parts": "flake-parts",
- "nixpkgs": "nixpkgs_2"
- },
- "locked": {
- "lastModified": 1766256167,
- "narHash": "sha256-KEaIZT5R9KftLGaZHJxJgR7M/XLwYGpvbgwIIPoJFu8=",
- "owner": "nix-community",
- "repo": "NUR",
- "rev": "51d3347e63a34996f35275c77372eeafaa11e0ed",
- "type": "github"
- },
- "original": {
- "owner": "nix-community",
- "repo": "NUR",
- "type": "github"
- }
- },
- "nur_2": {
- "inputs": {
- "flake-parts": [
- "stylix",
- "flake-parts"
- ],
- "nixpkgs": [
- "stylix",
- "nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1764773531,
- "narHash": "sha256-mCBl7MD1WZ7yCG6bR9MmpPO2VydpNkWFgnslJRIT1YU=",
- "owner": "nix-community",
- "repo": "NUR",
- "rev": "1d9616689e98beded059ad0384b9951e967a17fa",
- "type": "github"
- },
- "original": {
- "owner": "nix-community",
- "repo": "NUR",
- "type": "github"
- }
- },
- "root": {
- "inputs": {
- "home-manager": "home-manager",
- "nixpkgs": "nixpkgs",
- "nur": "nur",
- "stylix": "stylix"
- }
- },
- "stylix": {
- "inputs": {
- "base16": "base16",
- "base16-fish": "base16-fish",
- "base16-helix": "base16-helix",
- "base16-vim": "base16-vim",
- "firefox-gnome-theme": "firefox-gnome-theme",
- "flake-parts": "flake-parts_2",
- "gnome-shell": "gnome-shell",
- "nixpkgs": [
- "nixpkgs"
- ],
- "nur": "nur_2",
- "systems": "systems",
- "tinted-foot": "tinted-foot",
- "tinted-kitty": "tinted-kitty",
- "tinted-schemes": "tinted-schemes",
- "tinted-tmux": "tinted-tmux",
- "tinted-zed": "tinted-zed"
- },
- "locked": {
- "lastModified": 1766360762,
- "narHash": "sha256-g0aHXl+htuBpBpYxeXemocARRr1xtyNPzIIV1/tofAc=",
- "owner": "nix-community",
- "repo": "stylix",
- "rev": "c53b4a548a75895c69811a719bb4ed750ea41a17",
- "type": "github"
- },
- "original": {
- "owner": "nix-community",
- "repo": "stylix",
- "type": "github"
- }
- },
- "systems": {
- "locked": {
- "lastModified": 1681028828,
- "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
- "owner": "nix-systems",
- "repo": "default",
- "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
- "type": "github"
- },
- "original": {
- "owner": "nix-systems",
- "repo": "default",
- "type": "github"
- }
- },
- "tinted-foot": {
- "flake": false,
- "locked": {
- "lastModified": 1726913040,
- "narHash": "sha256-+eDZPkw7efMNUf3/Pv0EmsidqdwNJ1TaOum6k7lngDQ=",
- "owner": "tinted-theming",
- "repo": "tinted-foot",
- "rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4",
- "type": "github"
- },
- "original": {
- "owner": "tinted-theming",
- "repo": "tinted-foot",
- "rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4",
- "type": "github"
- }
- },
- "tinted-kitty": {
- "flake": false,
- "locked": {
- "lastModified": 1735730497,
- "narHash": "sha256-4KtB+FiUzIeK/4aHCKce3V9HwRvYaxX+F1edUrfgzb8=",
- "owner": "tinted-theming",
- "repo": "tinted-kitty",
- "rev": "de6f888497f2c6b2279361bfc790f164bfd0f3fa",
- "type": "github"
- },
- "original": {
- "owner": "tinted-theming",
- "repo": "tinted-kitty",
- "type": "github"
- }
- },
- "tinted-schemes": {
- "flake": false,
- "locked": {
- "lastModified": 1763914658,
- "narHash": "sha256-Hju0WtMf3iForxtOwXqGp3Ynipo0EYx1AqMKLPp9BJw=",
- "owner": "tinted-theming",
- "repo": "schemes",
- "rev": "0f6be815d258e435c9b137befe5ef4ff24bea32c",
- "type": "github"
- },
- "original": {
- "owner": "tinted-theming",
- "repo": "schemes",
- "type": "github"
- }
- },
- "tinted-tmux": {
- "flake": false,
- "locked": {
- "lastModified": 1764465359,
- "narHash": "sha256-lbSVPqLEk2SqMrnpvWuKYGCaAlfWFMA6MVmcOFJjdjE=",
- "owner": "tinted-theming",
- "repo": "tinted-tmux",
- "rev": "edf89a780e239263cc691a987721f786ddc4f6aa",
- "type": "github"
- },
- "original": {
- "owner": "tinted-theming",
- "repo": "tinted-tmux",
- "type": "github"
- }
- },
- "tinted-zed": {
- "flake": false,
- "locked": {
- "lastModified": 1764464512,
- "narHash": "sha256-rCD/pAhkMdCx6blsFwxIyvBJbPZZ1oL2sVFrH07lmqg=",
- "owner": "tinted-theming",
- "repo": "base16-zed",
- "rev": "907dbba5fb8cf69ebfd90b00813418a412d0a29a",
- "type": "github"
- },
- "original": {
- "owner": "tinted-theming",
- "repo": "base16-zed",
- "type": "github"
- }
- }
- },
- "root": "root",
- "version": 7
-}
+++ /dev/null
-{
- description = "Skullheadx's Flake";
-
- inputs = {
- nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
- home-manager = {
- url = "github:nix-community/home-manager";
- inputs.nixpkgs.follows = "nixpkgs";
- };
- stylix = {
- url = "github:nix-community/stylix";
- inputs.nixpkgs.follows = "nixpkgs";
- };
- nur = {
- url = "github:nix-community/NUR";
- #inputs.nixpkgs.follows = "nixpkgs";
- };
- };
-
- outputs =
- {
- self,
- nixpkgs,
- home-manager,
- stylix,
- nur,
- ...
- }@inputs:
- let
- lib = nixpkgs.lib;
- system = "x86_64-linux";
- pkgs = import nixpkgs {
- inherit system;
- config.allowUnfree = true;
- overlays = [ nur.overlays.default ];
- };
- in
- {
- nixosConfigurations = {
- home = lib.nixosSystem {
- inherit system;
- modules = [
- ./configuration.nix
- ];
- specialArgs = {
- inherit inputs;
- };
- };
- };
- homeConfigurations = {
- andrew = home-manager.lib.homeManagerConfiguration {
- inherit pkgs;
- modules = [
- stylix.homeModules.stylix
- #nur.modules.nixos.default
- ./dotfiles.nix
- ./home.nix
- { dotfiles.mutable = true; }
- ];
- extraSpecialArgs = { inherit inputs; };
- };
- };
- };
-}
+++ /dev/null
-{ config, pkgs, ... }:
-
-{
- programs.freetube = {
- enable = true;
- settings = {
- checkForUpdates = false;
- defaultQuality = "1440";
- baseTheme = "catppuccinMocha";
- quickBookmarkTargetPlaylistId = "favorites";
- checkForBlogPosts = false;
- generalAutoLoadMorePaginatedItemsEnabled = true;
- openDeepLinksInNewWindow = true;
- barColor = false;
- hideLabelsSideBar = true;
- hideHeaderLogo = false;
- expandSideBar = true;
- enableSubtitlesByDefaultvalue = true;
- displayVideoPlayButton = true;
- defaultViewingMode = "theatre";
- defaultPlayback = 2;
- enableScreenshot = true;
- screenshotAskPath = false;
- hideTrendingVideos = true;
- hideSubscriptionsShorts = true;
- hideChannelShorts = true;
- downloadBehavior = "download";
- useSponsorBlock = true;
- };
- };
-
-}
+++ /dev/null
-{
- config,
- pkgs,
- inputs,
- ...
-}: {
- programs.ghostty = {
- enable = true;
- settings = {
- shell-integration = "fish";
- shell-integration-features = true;
- mouse-hide-while-typing = true;
- cursor-click-to-move = true;
- mouse-shift-capture = true;
- scrollback-limit = 10000;
- link-url = true;
- link-previews = true;
- background-opacity = 0.8;
- background-blur = true;
- window-inherit-working-directory = true;
- window-save-state = "always";
- copy-on-select = "clipboard";
- clipboard-read = "allow";
- clipboard-write = "allow";
- confirm-close-surface = false;
- auto-update = "off";
- };
- };
-}
+++ /dev/null
-# Do not modify this file! It was generated by ‘nixos-generate-config’
-# and may be overwritten by future invocations. Please make changes
-# to /etc/nixos/configuration.nix instead.
-{
- config,
- lib,
- pkgs,
- modulesPath,
- ...
-}:
-
-{
- imports = [
- (modulesPath + "/installer/scan/not-detected.nix")
- ];
-
- boot.initrd.availableKernelModules = [
- "nvme"
- "xhci_pci"
- "ahci"
- "usbhid"
- "usb_storage"
- "sd_mod"
- ];
- boot.initrd.kernelModules = [ ];
- boot.kernelModules = [ "kvm-amd" ];
- boot.extraModulePackages = [ ];
-
- fileSystems."/" = {
- device = "/dev/disk/by-uuid/a0aa3a6b-4970-4c7d-b793-57561ed4ae03";
- fsType = "ext4";
- };
-
- fileSystems."/boot" = {
- device = "/dev/disk/by-uuid/5239-A4D8";
- fsType = "vfat";
- options = [
- "fmask=0077"
- "dmask=0077"
- ];
- };
-
- swapDevices = [
- { device = "/dev/disk/by-uuid/1efeebba-c2ce-4ab9-87d6-e986933d7678"; }
- ];
-
- # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
- # (the default) this is the recommended approach. When using systemd-networkd it's
- # still possible to use this option, but it's recommended to use it in conjunction
- # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
- networking.useDHCP = lib.mkDefault true;
- # networking.interfaces.enp10s0.useDHCP = lib.mkDefault true;
- # networking.interfaces.wlp9s0.useDHCP = lib.mkDefault true;
-
- nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
- hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
-}
+++ /dev/null
-{
- config,
- lib,
- pkgs,
- inputs,
- ...
-}:
-{
-
- imports = [
- ./sh.nix
- ./ghostty.nix
- ./tmux.nix
- ./neovim.nix
- ./hyprland/hyprland.nix
- ./hyprpaper.nix
- ./hypridle.nix
- ./hyprlock.nix
- ./hyprsunset.nix
- ./obsidian.nix
- ./fastfetch.nix
- ./udiskie.nix
- ./mpd.nix
- ./rofi.nix
- ./stylix.nix
- ./brave-config.nix
- ./rmpc-theme.nix
- ./rmpc-config.nix
- ./waybar.nix
- ./freetube.nix
- ./qutebrowser.nix
- ./librewolf.nix
- ];
-
- # Home Manager needs a bit of information about you and the paths it should
- # manage.
- home.username = "andrew";
- home.homeDirectory = "/home/andrew";
-
- # This value determines the Home Manager release that your configuration is
- # compatible with. This helps avoid breakage when a new Home Manager release
- # introduces backwards incompatible changes.
- #
- # You should not change this value, even if you update Home Manager. If you do
- # want to update the value, then make sure to first check the Home Manager
- # release notes.
- home.stateVersion = "25.05"; # Please read the comment before changing.
-
- # The home.packages option allows you to install Nix packages into your
- # environment.
- home.packages = with pkgs; [
- audacity
- mpc
- discord
- catppuccin-gtk
- inter
- prismlauncher
- btop
- nixfmt-rfc-style
- p7zip
- github-desktop
- hyprpicker
- wev
- obs-studio
- # hyprsysteminfo # application to display info about hyprland
- hyprland-qt-support
- hyprutils
- hyprgraphics
- hyprland-qtutils
-
- helvum
- pavucontrol
- alsa-utils
-
- grim
- slurp
- swappy
-
- vlc
-
- protonvpn-gui
- qbittorrent
-
- ffmpeg
- gimp
-
- yt-dlp
- # # It is sometimes useful to fine-tune packages, for example, by applying
- # # overrides. You can do that directly here, just don't forget the
- # # parentheses. Maybe you want to install Nerd Fonts with a limited number of
- # # fonts?
- # (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; })
-
- # # You can also create simple shell scripts directly inside your
- # # configuration. For example, this adds a command 'my-hello' to your
- # # environment:
- # (pkgs.writeShellScriptBin "my-hello" ''
- # echo "Hello, ${config.home.username}!"
- # '')
- ];
-
- # Home Manager is pretty good at managing dotfiles. The primary way to manage
- # plain files is through 'home.file'.
- # # Building this configuration will create a copy of 'dotfiles/screenrc' in
- # # the Nix store. Activating the configuration will then make '~/.screenrc' a
- # # symlink to the Nix store copy.
- # ".screenrc".source = dotfiles/screenrc;
-
- # # You can also set the file content immediately.
- # ".gradle/gradle.properties".text = ''
- # org.gradle.console=verbose
- # org.gradle.daemon.idletimeout=3600000
- # '';
- home.file = {
- ".config/swappy/config".text = ''
- [Default]
- save_dir=$HOME/Screenshots
- save_filename_format=Screenshot-%Y%m%d-%H%M%S.png
- show_panel=true
- line_size=5
- text_size=20
- text_font=monospace
- paint_mode=brush
- early_exit=true
- fill_shape=false
- auto_save=true
- transparent=true
- transparency=50
- '';
- };
-
- # Home Manager can also manage your environment variables through
- # 'home.sessionVariables'. These will be explicitly sourced when using a
- # shell provided by Home Manager. If you don't want to manage your shell
- # through Home Manager then you have to manually source 'hm-session-vars.sh'
- # located at either
- #
- # ~/.nix-profile/etc/profile.d/hm-session-vars.sh
- #
- # or
- #
- # ~/.local/state/nix/profiles/profile/etc/profile.d/hm-session-vars.sh
- #
- # or
- #
- # /etc/profiles/per-user/andrew/etc/profile.d/hm-session-vars.sh
- #
- home.sessionVariables = {
- BROWSER = "librewolf";
- DEFAULT_BROWSER = "{$pkgs.librewolf}/bin/librewolf";
- NIXOS_OZONE_WL = "1";
- };
- xdg.mimeApps = {
- enable = true;
- defaultApplications = {
- "x-scheme-handler/http" = "librewolf.desktop";
- "x-scheme-handler/https" = "librewolf.desktop";
- };
- };
-
- programs.brave.enable = true;
-
- programs.rmpc = {
- enable = true;
- };
- #notifcations
- services.dunst.enable = true;
- services.mpd-mpris.enable = true;
-
- services.playerctld.enable = true;
-
- programs.keepassxc = {
- enable = true;
- # settings = {
- # Browser = {
- # Enabled = true;
- # UseCustomBrowser = true;
- # CustomBrowserType = 1;
- #
- #};
- # GUI = {
- # ShowTrayIcon = true;
- # ApplicationTheme = "dark";
- # };
- # };
- };
-
- programs.direnv = {
- enable = true;
- nix-direnv.enable = true;
- silent = true;
- };
-
- # programs.ssh.startAgent = true;
-
- xdg.portal = {
- enable = true;
- extraPortals = [
- pkgs.xdg-desktop-portal-hyprland
- pkgs.xdg-desktop-portal-gtk
- ];
- config.common.default = [
- "hyprland"
- "gtk"
- ];
- xdgOpenUsePortal = true;
- };
- services.gnome-keyring = {
- enable = true;
- };
- services.network-manager-applet.enable = true;
- services.hyprpolkitagent.enable = true;
- home.pointerCursor = {
- hyprcursor.enable = true;
- name = "Bibata-Original-Classic";
- size = 25;
- package = pkgs.bibata-cursors;
- };
-
- programs.ranger.enable = true;
-
- # Let Home Manager install and manage itself.
- programs.home-manager.enable = true;
-}
+++ /dev/null
-{ config, pkgs, ... }:
-
-{
- services.hypridle = {
- enable = true;
- settings = {
- general = {
- lock_cmd = "pidof hyprlock || hyprlock"; # avoid starting multiple hyprlock instances.
- before_sleep_cmd = "loginctl lock-session"; # lock before suspend.
- after_sleep_cmd = "hyprctl dispatch dpms on"; # to avoid having to press a key twice to turn on the display.
- };
-
- listener = [
- {
- timeout = 150; # 2.5min.
- on-timeout = "brightnessctl -s set 10"; # set monitor backlight to minimum, avoid 0 on OLED monitor.
- on-resume = "brightnessctl -r"; # monitor backlight restore.
- }
- {
- # turn off keyboard backlight, comment out this section if you dont have a keyboard backlight.
- timeout = 150; # 2.5min.
- on-timeout = "brightnessctl -sd rgb:kbd_backlight set 0"; # turn off keyboard backlight.
- on-resume = "brightnessctl -rd rgb:kbd_backlight"; # turn on keyboard backlight.
- }
- {
- timeout = 300; # 5min
- on-timeout = "loginctl lock-session"; # lock screen when timeout has passed
- }
-
- {
- timeout = 330; # 5.5min
- on-timeout = "hyprctl dispatch dpms off"; # screen off when timeout has passed
- on-resume = "hyprctl dispatch dpms on && brightnessctl -r"; # screen on when activity is detected after timeout has fired.
- }
-
- {
- timeout = 1800; # 30min
- on-timeout = "systemctl suspend"; # suspend pc
- }
- ];
- };
- };
-}
+++ /dev/null
-{
- lib,
- config,
- pkgs,
- ...
-}: let
- # workspaces
- workspaces = builtins.concatLists (
- builtins.genList (
- i: let
- ws = i + 1;
- in [
- "$mod, code:1${toString i}, workspace, ${toString ws}"
- "$mod SHIFT, code:1${toString i}, movetoWorkspace, ${toString ws}"
- ]
- )
- 10
- );
-in {
- wayland.windowManager.hyprland.settings = {
- "$mod" = "SUPER";
-
- bindm = [
- "$mod, mouse:272, movewindow"
- "$mod, mouse:273, resizewindow"
- ];
- bind =
- [
- # compositor commands
- "$mod SHIFT, E, exec, pkill Hyprland"
- "$mod, W, killactive,"
- "$mod, Q, killactive,"
- "$mod, F, fullscreen,"
- #"$mod, G, togglegroup,"
- # "$mod SHIFT, N, changegroupactive, f"
- # "$mod SHIFT, P, changegroupactive, b"
- #"$mod, R, togglesplit,"
- "$mod, T, togglefloating,"
- #"$mod, P, pseudo,"
- #"$mod ALT, ,resizeactive,"
-
- "$mod, left, movefocus, l"
- "$mod, right, movefocus, r"
- "$mod, up, movefocus, u"
- "$mod, down, movefocus, d"
- "$mod, h, movefocus, l"
- "$mod, l, movefocus, r"
- "$mod, k, movefocus, u"
- "$mod, j, movefocus, d"
-
- "$mod SHIFT, left, movewindow, l"
- "$mod SHIFT, right, movewindow, r"
- "$mod SHIFT, up, movewindow, u"
- "$mod SHIFT, down, movewindow, d"
- "$mod SHIFT, h, movewindow, l"
- "$mod SHIFT, l, movewindow, r"
- "$mod SHIFT, k, movewindow, u"
- "$mod SHIFT, j, movewindow, d"
-
- "$mod CTRL, left, resizeactive, -25 0"
- "$mod CTRL, down, resizeactive, 0 25"
- "$mod CTRL, up, resizeactive, 0 -25"
- "$mod CTRL, right, resizeactive, 25 0"
- "$mod CTRL, h, resizeactive, -25 0"
- "$mod CTRL, j, resizeactive, 0 25"
- "$mod CTRL, k, resizeactive, 0 -25"
- "$mod CTRL, l, resizeactive, 25 0"
-
- "$mod, a, togglespecialworkspace, term"
- "$mod, m, togglespecialworkspace, music"
- "$mod, p, togglespecialworkspace, password"
- "$mod SHIFT, a, movetoworkspace, special:term"
- "$mod SHIFT, m, movetoworkspace, special:music"
- "$mod SHIFT, p, movetoworkspace, special:password"
-
- "$mod, g, layoutmsg, swapwithmaster"
-
- "$mod, return, exec, ghostty"
- "$mod, b, exec, librewolf"
- "$mod, space, exec, pkill rofi || rofi -show drun"
- "$mod, o, exec, pkill hyprpicker || hyprpicker -ar"
-
- "$mod SHIFT, s, exec, pkill slurp || grim -g \"$(slurp)\" - | wl-copy"
- ", PRINT, exec, grim - | wl-copy"
- "SHIFT, PRINT, exec, pkill slurp swappy || grim -g \"$(slurp)\" - | swappy -f -"
- ", XF86Explorer, exec, hyprlock"
- ", XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ && notify-send 'Volume Up'"
- ", XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- && notify-send 'Volume Down'"
- ", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle && notify-send 'Mute Toggled'"
- ", XF86AudioNext, exec, playerctl next && notify-send 'Next Song'"
- ", XF86AudioPrev, exec, playerctl previous && notify-send 'Previous Song'"
- ", XF86AudioPlay, exec, playerctl play-pause && notify-send 'Pause/Play Toggled'"
- ", XF86AudioStop, exec, playerctl stop && notify-send 'Music Stopped'"
- "$mod, F1, exec, hyprlock"
- "$mod, F11, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ && notify-send 'Volume Up'"
- "$mod, F10, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- && notify-send 'Volume Down'"
- "$mod, F9, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle && notify-send 'Mute Toggled'"
- "$mod, F6, exec, playerctl next && notify-send 'Next Song'"
- "$mod, F5, exec, playerctl previous && notify-send 'Previous Song'"
- "$mod, F7, exec, playerctl play-pause && notify-send 'Pause/Play Toggled'"
- "$mod, F8, exec, playerctl stop && notify-send 'Music Stopped'"
- ]
- ++ workspaces;
- };
-}
+++ /dev/null
-{
- config,
- pkgs,
- ...
-}: {
- imports = [
- ./binds.nix
- ];
- wayland.windowManager.hyprland = {
- enable = true;
- settings = {
- animations.enabled = true;
- animation = [
- "specialWorkspaceIn, 1, 10, default, slide top"
- "specialWorkspaceOut, 1, 10, default, slide bottom"
- ];
- general = {
- layout = "master";
- };
- master = {
- new_on_top = true;
- };
- cursor = {
- enable_hyprcursor = true;
- default_monitor = "DP-3";
- };
- ecosystem = {
- no_update_news = true;
- no_donation_nag = true;
- };
- env = [
- "EDITOR,nvim"
- "VISUAL,nvim"
- # --- AMD GPU (critical) ---
- "LIBVA_DRIVER_NAME,radeonsi" # VAAPI video accel
- "XDG_SESSION_TYPE,wayland"
- "GBM_BACKEND,wayland"
- "WLR_BACKEND,wayland"
- "WLR_RENDERER_ALLOW_SOFTWARE,1" # Fallback if needed
- "WLR_NO_HARDWARE_CURSORS,1" # Fix cursor bugs on some AMD
-
- #Performance & VRR ---
- "WLR_DRM_NO_ATOMIC,1" # Fix blank screen on some drivers
- "AMD_VULKAN_ICD,RADV" # Force RADV (Mesa Vulkan)
- "__GLX_VENDOR_LIBRARY_NAME,mesa"
-
- #Input & Scaling ---
- "HYPRCURSOR_SIZE,24"
- "HYPRCURSOR_THEME,Bibata-Original-Classic"
- "QT_QPA_PLATFORM,wayland"
- "QT_WAYLAND_DISABLE_WINDOWDECORATION,1"
- "GDK_BACKEND,wayland"
- "SDL_VIDEODRIVER,wayland"
- "CLUTTER_BACKEND,wayland"
-
- # Polish ---
- "WLR_DRM_DEVICES,/dev/dri/card0" # Multi-GPU: force primary
- "MOZ_ENABLE_WAYLAND,1" # Firefox
- "ELECTRON_OZONE_PLATFORM_HINT,auto" # Electron apps
- ];
- monitor = [
- "DP-3,2560x1440@180.00,0x0,1"
- "DP-2,1920x1080@165.00,2560x360,1"
- ];
- input = {
- kb_layout = "us";
- kb_options = "caps:escape_shifted_capslock,altwin:swap_lalt_lwin";
-
- numlock_by_default = true;
- };
-
- workspace = [
- "1, monitor:DP-3"
- "2, monitor:DP-2"
- "3, monitor:DP-3"
- "4, monitor:DP-2"
- "5, monitor:DP-3"
- "6, monitor:DP-2"
- "7, monitor:DP-3"
- "8, monitor:DP-2"
- "9, monitor:DP-3"
- "10, monitor:DP-2"
- "w[tv1], gapsout:0, gapsin:0"
- "f[1], gapsout:0, gapsin:0"
- "special:term, monitor:DP-3, gapsout:0, gapsin:0, border:false"
- "special:music, monitor:DP-3, gapsout:0, gapsin:0, border:false"
- "special:password, monitor:DP-3, gapsout:0, gapsin:0, border:false"
- ];
- exec-once = [
- "gnome-keyring-daemon --replace --start --components=pkcs11,secrets,ssh"
- "xrandr --output DP-3 --primary"
- "waybar"
- "nm-applet --indicator"
- "/run/current-system/sw/libexec/polkit-gnome-authentication-agent-1"
- "[workspace 1 silent] ghostty -e tmux attach"
- "[workspace 2 silent] librewolf"
- #"[workspace 3 silent] ghostty -e fish -c rmpc"
- "[workspace 3 silent] discord"
- "[workspace special:password silent] keepassxc"
- "[workspace special:term silent] ghostty"
- "[workspace special:music silent] ghostty -e rmpc"
- #"[workspace 8 silent] steam"
- #"[workspace 9 silent] obsidian"
- ];
- windowrule = [
- "workspace 3 silent, class:(discord)"
- "workspace 6 silent, class:(steam)"
-
- "bordersize 0, floating:0, onworkspace:w[tv1]"
- "rounding 0, floating:0, onworkspace:w[tv1]"
- "bordersize 0, floating:0, onworkspace:f[1]"
- "rounding 0, floating:0, onworkspace:f[1]"
-
- "float, onworkspace:special"
- "center, onworkspace:special"
- "size 800 600, onworkspace:special"
- "rounding 12, onworkspace:special"
- "noborder, onworkspace:special" # or "border 0"
- #"animation slide top, onworkspace:special"
- #"animation fade, onworkspace:special, 0.9"
- ];
- misc = {
- disable_hyprland_logo = true;
- disable_splash_rendering = true;
- };
- };
- };
-}
+++ /dev/null
-{
- config,
- pkgs,
- lib,
- ...
-}:
-let
- font = "Monospace";
-in
-{
- programs.hyprlock = {
- enable = true;
- settings = {
- # sample hyprlock.conf
- # for more configuration options, refer https://wiki.hyprland.org/Hypr-Ecosystem/hyprlock
- #
- # rendered text in all widgets supports pango markup (e.g. <b> or <i> tags)
- # ref. https://wiki.hyprland.org/Hypr-Ecosystem/hyprlock/#general-remarks
- #
- # shortcuts to clear password buffer: ESC, Ctrl+U, Ctrl+Backspace
- #
- # you can get started by copying this config to ~/.config/hypr/hyprlock.conf
- #
- general = {
- hide_cursor = true;
- };
-
- # uncomment to enable fingerprint authentication
- # auth {
- # fingerprint {
- # enabled = true
- # ready_message = Scan fingerprint to unlock
- # present_message = Scanning...
- # retry_delay = 250 # in milliseconds
- # }
- # }
-
-# animations = {
-# enabled = true;
-# bezier = "linear, 1, 1, 0, 0";
-# animation = [
-# "fadeIn, 1, 5, linear"
-# "fadeOut, 1, 5, linear"
-# "inputFieldDots, 1, 2, linear"
-# ];
-# };
-
- background = {
- monitor = "";
- path = "screenshot";
- blur_passes = 3;
- blur_size = 8;
- };
-# input-field = [
-# {
-# size = "200, 50";
-# position = "0, -80";
-# monitor = "";
-# dots_center = true;
-# fade_on_empty = false;
-# font_color = "rgb(202, 211, 245)";
-# inner_color = "rgb(91, 96, 120)";
-# outer_color = "rgb(24, 25, 38)";
-# outline_thickness = 5;
-# placeholder_text = "Input password...";
-# #placeholder_text = '\'<span foreground="##cad3f5">Password...</span>'\';
-# shadow_passes = 2;
-# }
-# ];
-
-# input-field = lib.mkForce [
-# {
-# monitor = "";
-# size = "20, 5";
-# outline_thickness = 3;
-# inner_color = "rgba(0, 0, 0, 0.0)"; # no fill
-#
-# outer_color = "rgba(33ccffee) rgba(00ff99ee) 45deg";
-# check_color = "rgba(00ff99ee) rgba(ff6633ee) 120deg";
-# fail_color = "rgba(ff6633ee) rgba(ff0066ee) 40deg";
-#
-# font_color = "rgb(143, 143, 143)";
-# fade_on_empty = false;
-# rounding = 15;
-#
-# font_size = 30;
-# font_family = "${font}";
-# placeholder_text = "Input password...";
-# fail_text = "$PAMFAIL";
-#
-# # uncomment to use a letter instead of a dot to indicate the typed password
-# # dots_text_format = *
-# # dots_size = 0.4
-# dots_spacing = 0.3;
-#
-# # uncomment to use an input indicator that does not show the password length (similar to swaylock's input indicator)
-# # hide_input = true
-#
-# position = "0, -20";
-# halign = "center";
-# valign = "center";
-# }
-# ];
-
-# # TIME
-# label = [
-# {
-# monitor = "";
-# text = "$TIME"; # ref. https://wiki.hyprland.org/Hypr-Ecosystem/hyprlock/#variable-substitution
-# font_size = 90;
-# #font_family = "${font}";
-#
-# position = "-30, 0";
-# halign = "right";
-# valign = "top";
-# }
-#
-# # DATE
-# {
-# monitor = "";
-# text = "cmd[update:60000] date +'%A, %d %B %Y'"; # update every 60 seconds
-# font_size = 25;
-# #font_family = "${font}";
-#
-# position = "-30, -150";
-# halign = "right";
-# valign = "top";
-# }
-# ];
- };
- };
-}
+++ /dev/null
-{ config, pkgs, ... }:
-let
- hk_1440 = pkgs.fetchurl {
- url = "https://raw.githubusercontent.com/Skullheadx/dotfiles/16c0b7ce0cf0a6286554a3bbe60c636871fb75c9/backgrounds/hollowknightbackground_2560x1440.png";
- hash = "sha256-NyfvBFeEkXe3Z6ZpciJlOEBOMvKQjZKoH9ji2jiqmj8=";
- };
- hk_1080 = pkgs.fetchurl {
- url = "https://raw.githubusercontent.com/Skullheadx/dotfiles/16c0b7ce0cf0a6286554a3bbe60c636871fb75c9/backgrounds/hollowknightbackground_1920x1080.png";
- hash = "sha256-mCqYc4w+S8aVALo6wMyXrWtCmfw78kIEcFAhxlFNbHQ=";
- };
- testImage = pkgs.fetchurl {
- url = "https://i.redd.it/mvev8aelh7zc1.png";
- hash = "sha256-lJjIq+3140a5OkNy/FAEOCoCcvQqOi73GWJGwR2zT9w";
- };
-in
-{
-
- services.hyprpaper = {
- enable = true;
- settings = {
- ipc = "on";
- splash = false;
- preload = [
- (builtins.toString hk_1440)
- (builtins.toString hk_1080)
- ];
-
- wallpaper = [
- "DP-3,${builtins.toString hk_1440}"
- "DP-2,${builtins.toString hk_1080}"
- ];
- };
- };
-}
+++ /dev/null
-[Unit]
-Description=Hyprpaper wallpaper utility for Hyprland
-Documentation=man:hyprpaper(1)
-# order startup after WM
-After=graphical-session.target
-
-[Service]
-Type=exec
-# Repurpose XDG Autostart filtering
-ExecCondition=/lib/systemd/systemd-xdg-autostart-condition "Hyprland" ""
-ExecStart=hyprpaper
-Restart=on-failure
-Slice=background-graphical.slice
-
-[Install]
-WantedBy=graphical-session.target
-# Alternatively can be wanted by specific WMs' targets
-# Should also be duplicated in 'After=' to avoid ordering loop
-#WantedBy=wayland-session@hyprland.desktop.target
+++ /dev/null
-{ config, pkgs, ... }:
-
-{
- services.hyprsunset = {
- enable = true;
-
- settings = {
- sunrise = {
- calendar = "*-*-* 06:00:00";
- requests = [
- "temperature 6500"
- "gamma 100"
- ];
- };
- sunset = {
- calendar = "*-*-* 22:00:00";
- requests = [
- "temperature 3500"
- ];
- };
- };
- };
-
-}
+++ /dev/null
-# wireplumber / pavucontrol
-
-under configuration, i had to set Navi 31 HDMI/DP Audio to be digital stereo
-HDMI 2 Output instead of HDMI 1 to make the monitor volume to work.
-
-# fix: o spell file for "programming" in utf-8 Download it?
-
-vim.spellcheck.programmingWordlist.enable Whether to enable vim-dirtytalk, a
-wordlist for programmers containing common programming terms. Enabling this
-option will unconditionally set vim.spellcheck.enable to true as vim-dirtytalk
-depends on spellchecking having been set up. Run :DirtytalkUpdate on first use
-to download the spellfile.
-
-# Pair Phone
-
-kdeconnect-app and pair with phone
-
-# Librewolf
-
-## Extensions:
-
-### Vimium C needs for config
-
-```
-map J nextTab
-map K previousTab
-```
-
-### Keepassxc browser
-
-connect to database
+++ /dev/null
-{
- inputs,
- config,
- pkgs,
- ...
-}:
-{
- programs.librewolf = {
- enable = true;
- settings = {
- "browser.startup.page" = 3;
- "privacy.clearOnShutdown.history" = false;
- "privacy.clearOnShutdown.downloads" = false;
- "privacy.resistFingerprinting" = false;
- "browser.sessionstore.resume_from_crash" = true;
- "middlemouse.paste" = false;
- "general.autoScroll" = true;
- "sidebar.verticalTabs" = true;
- "sidebar.position_start" = false; # move to right hand side
- "privacy.clearOnShutdown.cookies" = true;
- "privacy.clearOnShutdown_v2.cookiesAndStorage" = false;
- };
- profiles."skull" = {
- extensions = {
- force = true;
- packages = with pkgs.nur.repos.rycee.firefox-addons; [
- sponsorblock
- ublock-origin
- vimium-c
- keepassxc-browser
- containerise
- ];
- settings = {
- "uBlock0@raymondhill.net".settings = {
- enabled = true;
- };
- "sponsorBlocker@ajay.app".settings = {
- enabled = true;
- };
- "keepassxc-browser@keepassxc.org".settings = {
- enabled = true;
- };
- "vimium-c@gdh1995.cn".settings = {
- enabled = true;
- };
- };
- };
- containers = {
- Personal = {
- color = "blue";
- icon = "fingerprint";
- id = 1;
- };
- Shopping = {
- color = "turquoise";
- icon = "cart";
- id = 2;
- };
- Banking = {
- color = "green";
- icon = "dollar";
- id = 3;
- };
- Youtube = {
- color = "red";
- icon = "fruit";
- id = 4;
- };
- School = {
- color = "pink";
- icon = "briefcase";
- id = 5;
- };
- };
- };
- };
-}
+++ /dev/null
-{ config, pkgs, ... }:
-{
- services.mpd = {
- enable = true;
- musicDirectory = "${config.home.homeDirectory}/Music";
- playlistDirectory = "${config.home.homeDirectory}/.playlists";
- # mixer_type "none" # maybe mess around with this some time, it will turn off volume in rmpc, but apparently it will make the sound more quality for music
- extraConfig = ''
- auto_update "yes"
- audio_output {
- type "pulse"
- name "PipeWire Output"
- }
- '';
- };
-}
+++ /dev/null
-{
- config,
- lib,
- pkgs,
- inputs,
- ...
-}:
-{
- home.file.".config/nvim".source =
- config.lib.file.mkOutOfStoreSymlink "/home/andrew/.dotfiles/astronvim-config";
- programs.ripgrep.enable = true;
- programs.lazygit.enable = true;
- programs.bottom.enable = true;
- programs.go.enable = true;
- programs.gcc.enable = true;
-
- # home.persistence."/persist${config.home.homeDirectory}" = {
- # directories = [
- # ".local/share/nvim"
- # ".local/state/nvim"
- # ".cache/nvim"
- # ];
- # };
-
- programs.neovim = {
- enable = true;
- withPython3 = true;
- withNodeJs = true;
- defaultEditor = true;
-
- plugins = with pkgs.vimPlugins; [
- none-ls-nvim
- nvim-treesitter-parsers.bash
- nvim-treesitter-parsers.cpp
- nvim-treesitter-parsers.c
- nvim-treesitter-parsers.objc
- nvim-treesitter-parsers.cuda
- nvim-treesitter-parsers.proto
- nvim-treesitter-parsers.dockerfile
- nvim-treesitter-parsers.fish
- nvim-treesitter-parsers.go
- nvim-treesitter-parsers.html
- nvim-treesitter-parsers.css
- nvim-treesitter-parsers.json
- nvim-treesitter-parsers.jsonc
- nvim-treesitter-parsers.lua
- nvim-treesitter-parsers.markdown
- nvim-treesitter-parsers.markdown_inline
- nvim-treesitter-parsers.nix
- nvim-treesitter-parsers.python
- nvim-treesitter-parsers.toml
- nvim-treesitter-parsers.sql
- nvim-treesitter-parsers.typescript
- nvim-treesitter-parsers.javascript
- nvim-treesitter-parsers.tsx
- nvim-treesitter-parsers.jsdoc
- nvim-treesitter-parsers.yaml
- nvim-treesitter-parsers.zig
-
- # formatter
- vim-clang-format
- ];
-
- # extraPackages = with pkgs; [
- # ];
- };
-}
+++ /dev/null
-{
- config,
- pkgs,
- ...
-}: {
- programs.obsidian = {
- enable = true;
- defaultSettings = {
- app = {
- showLineNumber = true;
- vimMode = true;
- };
- # cssSnippets = [
- # ./zoom.css
- # ];
- };
- vaults."Vault" = {
- enable = true;
- settings = {
- };
- };
- };
-}
+++ /dev/null
-[General]
-ApplicationTheme=dark
-AutoCloseConsole=false
-AutomaticJavaDownload=false
-AutomaticJavaSwitch=true
-CatOpacity=50
-CentralModsDir=mods
-CloseAfterLaunch=true
-ConfigVersion=1.2
-ConsoleFont=JetBrains Mono Medium
-ConsoleFontSize=11
-ConsoleMaxLines=100000
-ConsoleOverflowStop=true
-ConsoleWindowGeometry=@ByteArray(AdnQywADAAAAAAAAAAAAAAAABOQAAAK0AAAAAAAAAAAAAATkAAACtAAAAAECAAAACgAAAAAAAAAAAAAABOQAAAK0)
-ConsoleWindowState=@ByteArray(AAAA/wAAAAD9AAAAAAAABOUAAAK1AAAABAAAAAQAAAAIAAAACPwAAAAA)
-CustomGLFWPath=
-CustomOpenALPath=
-DownloadsDir=/home/andrew/Downloads
-DownloadsDirWatchRecursive=false
-EnableFeralGamemode=false
-EnableMangoHud=false
-Env=@Variant(\0\0\0\b\0\0\0\0)
-FlameKeyOverride=
-IconTheme=breeze_dark
-IconsDir=icons
-IgnoreJavaCompatibility=false
-IgnoreJavaWizard=false
-InstSortMode=Name
-InstanceDir=instances
-JProfilerPath=
-JVisualVMPath=
-JavaArchitecture=64
-JavaDir=java
-JavaPath=/nix/store/lk68d6lpfal5jwpnrxppncn1z548j1ik-openjdk-8u462-b08/bin/java
-JavaRealArchitecture=amd64
-JavaSignature=a82ef5c9b07c7920c555c628c10c3190bdb4d48d
-JavaVendor=N/A
-JavaVersion=17.0.15
-JsonEditor=
-JvmArgs=
-Language=en_CA
-LastHostname=home
-LastUsedGroupForNewInstance=
-LaunchMaximized=true
-MCEditPath=
-MSAClientIDOverride=
-MainWindowState="@ByteArray(AAAA/wAAAAD9AAAAAAAABssAAAOyAAAABAAAAAQAAAAIAAAACPwAAAADAAAAAQAAAAEAAAAeAGkAbgBzAHQAYQBuAGMAZQBUAG8AbwBsAEIAYQByAwAAAAD/////AAAAAAAAAAAAAAACAAAAAQAAABYAbQBhAGkAbgBUAG8AbwBsAEIAYQByAQAAAAD/////AAAAAAAAAAAAAAADAAAAAQAAABYAbgBlAHcAcwBUAG8AbwBsAEIAYQByAQAAAAD/////AAAAAAAAAAA=)"
-MaxMemAlloc=12032
-MenuBarInsteadOfToolBar=false
-MetaURLOverride=
-MinMemAlloc=512
-MinecraftWinHeight=480
-MinecraftWinWidth=854
-ModDependenciesDisabled=false
-ModDownloadGeometry=@ByteArray(AdnQywADAAAAAAFTAAAASQAAA6QAAAIbAAABUwAAAEkAAAOkAAACGwAAAAECAAAACgAAAAFTAAAASQAAA6QAAAIb)
-ModMetadataDisabled=false
-ModrinthToken=
-NewInstanceGeometry=@ByteArray(AdnQywADAAAAAANbAAABuAAABmYAAANtAAADWwAAAbgAAAZmAAADbQAAAAECAAAACgAAAANbAAABuAAABmYAAANt)
-NumberOfConcurrentDownloads=6
-NumberOfConcurrentTasks=10
-NumberOfManualRetries=1
-OnlineFixes=false
-PagedGeometry=@ByteArray(AdnQywADAAAAAAoAAAABaAAADbsAAAO8AAAAAAAAAAD////+/////gAAAAACAAAAB4AAAAoAAAABaAAADbsAAAO8)
-PastebinCustomAPIBase=
-PastebinType=3
-PermGen=128
-PostExitCommand=
-PreLaunchCommand=
-ProxyAddr=127.0.0.1
-ProxyPass=
-ProxyPort=8080
-ProxyType=None
-ProxyUser=
-QuitAfterGameStop=true
-RPDownloadGeometry=@ByteArray(AdnQywADAAAAAAFTAAAASQAAA+0AAAIbAAAAAAAAAAD////+/////gAAAAECAAAACgAAAAFTAAAASQAAA+0AAAIb)
-RecordGameTime=true
-RequestTimeout=60
-SelectedInstance=Fabulously Optimized
-ShaderDownloadGeometry=@ByteArray(AdnQywADAAAAAAAAAAAAAAAAAp0AAAGbAAAAAAAAAAAAAAKdAAABmwAAAAECAAAACgAAAAAAAAAAAAAAAp0AAAGb)
-ShowConsole=false
-ShowConsoleOnError=true
-ShowGameTime=true
-ShowGameTimeWithoutDays=true
-ShowGlobalGameTime=true
-SkinsDir=skins
-SkipModpackUpdatePrompt=false
-StatusBarVisible=true
-TechnicClientID=
-ToolbarsLocked=false
-UseDiscreteGpu=false
-UseNativeGLFW=false
-UseNativeOpenAL=false
-UseSystemLocale=true
-UseZink=false
-UserAgentOverride=
-UserAskedAboutAutomaticJavaDownload=true
-WideBarVisibility_mods="@ByteArray(11111111111,vtA/YrGBj9ThG4Bj9pZbXLV/gPU=)"
-WideBarVisibility_resourcepacks="@ByteArray(1111111,lW4z/kgDfZm/2iUpafuxPiRwFuA=)"
-WideBarVisibility_shaderpacks="@ByteArray(1111111,7Za9P041Ly89fzbDFRBdPwQCnAA=)"
-WrapperCommand=
+++ /dev/null
-{
- config,
- pkgs,
- ...
-}: {
- programs.qutebrowser = {
- enable = true;
- settings = {
- };
- };
-}
+++ /dev/null
-{
- config,
- pkgs,
- ...
-}: {
- home.file = {
- ".config/rmpc/config.ron".text = ''
- #![enable(implicit_some)]
- #![enable(unwrap_newtypes)]
- #![enable(unwrap_variant_newtypes)]
- (
- address: "127.0.0.1:6600",
- password: None,
- theme: None,
- cache_dir: None,
- on_song_change: None,
- volume_step: 5,
- max_fps: 30,
- scrolloff: 0,
- wrap_navigation: false,
- enable_mouse: true,
- enable_config_hot_reload: true,
- status_update_interval_ms: 1000,
- rewind_to_start_sec: None,
- reflect_changes_to_playlist: false,
- select_current_song_on_change: true,
- browser_song_sort: [Disc, Track, Artist, Title],
- directories_sort: SortFormat(group_by_type: true, reverse: false),
- album_art: (
- method: Auto,
- max_size_px: (width: 1200, height: 1200),
- disabled_protocols: ["http://", "https://"],
- vertical_align: Center,
- horizontal_align: Center,
- ),
- keybinds: (
- global: {
- ":": CommandMode,
- ",": VolumeDown,
- "s": Stop,
- ".": VolumeUp,
- "<Tab>": NextTab,
- "<S-Tab>": PreviousTab,
- "1": SwitchToTab("Queue"),
- "2": SwitchToTab("Directories"),
- "3": SwitchToTab("Artists"),
- "4": SwitchToTab("Album Artists"),
- "5": SwitchToTab("Albums"),
- "6": SwitchToTab("Playlists"),
- "7": SwitchToTab("Search"),
- "q": Quit,
- ">": NextTrack,
- "p": TogglePause,
- "<": PreviousTrack,
- "f": SeekForward,
- "z": ToggleRepeat,
- "x": ToggleRandom,
- "c": ToggleConsume,
- "v": ToggleSingle,
- "b": SeekBack,
- "~": ShowHelp,
- "u": Update,
- "U": Rescan,
- "I": ShowCurrentSongInfo,
- "O": ShowOutputs,
- "P": ShowDecoders,
- "R": AddRandom,
- },
- navigation: {
- "k": Up,
- "j": Down,
- "h": Left,
- "l": Right,
- "<Up>": Up,
- "<Down>": Down,
- "<Left>": Left,
- "<Right>": Right,
- "<C-k>": PaneUp,
- "<C-j>": PaneDown,
- "<C-h>": PaneLeft,
- "<C-l>": PaneRight,
- "<C-u>": UpHalf,
- "N": PreviousResult,
- "a": Add,
- "A": AddAll,
- "r": Rename,
- "n": NextResult,
- "g": Top,
- "<Space>": Select,
- "<C-Space>": InvertSelection,
- "G": Bottom,
- "<CR>": Confirm,
- "i": FocusInput,
- "J": MoveDown,
- "<C-d>": DownHalf,
- "/": EnterSearch,
- "<C-c>": Close,
- "<Esc>": Close,
- "K": MoveUp,
- "D": Delete,
- "B": ShowInfo,
- },
- queue: {
- "D": DeleteAll,
- "<CR>": Play,
- "<C-s>": Save,
- "a": AddToPlaylist,
- "d": Delete,
- "C": JumpToCurrent,
- "X": Shuffle,
- },
- ),
- search: (
- case_sensitive: false,
- ignore_diacritics: false,
- mode: Contains,
- tags: [
- (value: "any", label: "Any Tag"),
- (value: "artist", label: "Artist"),
- (value: "album", label: "Album"),
- (value: "albumartist", label: "Album Artist"),
- (value: "title", label: "Title"),
- (value: "filename", label: "Filename"),
- (value: "genre", label: "Genre"),
- ],
- ),
- artists: (
- album_display_mode: SplitByDate,
- album_sort_by: Date,
- album_date_tags: [Date],
- ),
- tabs: [
- (
- name: "Queue",
- pane: Split(
- direction: Horizontal,
- panes: [(size: "60%", pane: Pane(Queue)), (size: "40%", pane: Pane(AlbumArt))],
- ),
- ),
- (
- name: "Directories",
- pane: Pane(Directories),
- ),
- (
- name: "Artists",
- pane: Pane(Artists),
- ),
- (
- name: "Album Artists",
- pane: Pane(AlbumArtists),
- ),
- (
- name: "Albums",
- pane: Pane(Albums),
- ),
- (
- name: "Playlists",
- pane: Pane(Playlists),
- ),
- (
- name: "Search",
- pane: Pane(Search),
- ),
- ],
- )
- '';
- };
-}
+++ /dev/null
-{ config, pkgs, ... }:
-{
- home.file = {
- ".config/rmpc/themes/theme.ron".text = ''
- #![enable(implicit_some)]
- #![enable(unwrap_newtypes)]
- #![enable(unwrap_variant_newtypes)]
- (
- default_album_art_path: None,
- draw_borders: false,
- show_song_table_header: false,
- symbols: (song: "🎵", dir: "📁", playlist: "🎼", marker: "\u{e0b0}"),
- layout: Split(
- direction: Vertical,
- panes: [
- (
- pane: Pane(Header),
- size: "1",
- ),
- (
- pane: Pane(TabContent),
- size: "100%",
- ),
- (
- pane: Pane(ProgressBar),
- size: "1",
- ),
- ],
- ),
- progress_bar: (
- symbols: ["", "", "⭘", " ", " "],
- track_style: (bg: "#1e2030"),
- elapsed_style: (fg: "#c6a0f6", bg: "#1e2030"),
- thumb_style: (fg: "#c6a0f6", bg: "#1e2030"),
- ),
- scrollbar: (
- symbols: ["│", "█", "▲", "▼"],
- track_style: (),
- ends_style: (),
- thumb_style: (fg: "#b7bdf8"),
- ),
- browser_column_widths: [20, 38, 42],
- text_color: "#cad3f5",
- background_color: "#24273a",
- header_background_color: "#1e2030",
- modal_background_color: None,
- modal_backdrop: false,
- tab_bar: (active_style: (fg: "black", bg: "#c6a0f6", modifiers: "Bold"), inactive_style: ()),
- borders_style: (fg: "#6e738d"),
- highlighted_item_style: (fg: "#c6a0f6", modifiers: "Bold"),
- current_item_style: (fg: "black", bg: "#b7bdf8", modifiers: "Bold"),
- highlight_border_style: (fg: "#b7bdf8"),
- song_table_format: [
- (
- prop: (kind: Property(Artist), style: (fg: "#b7bdf8"), default: (kind: Text("Unknown"))),
- width: "50%",
- alignment: Right,
- ),
- (
- prop: (kind: Text("-"), style: (fg: "#b7bdf8"), default: (kind: Text("Unknown"))),
- width: "1",
- alignment: Center,
- ),
- (
- prop: (kind: Property(Title), style: (fg: "#7dc4e4"), default: (kind: Text("Unknown"))),
- width: "50%",
- ),
- ],
- header: (
- rows: [
- (
- left: [
- (kind: Text("["), style: (fg: "#b7bdf8", modifiers: "Bold")),
- (kind: Property(Status(State)), style: (fg: "#b7bdf8", modifiers: "Bold")),
- (kind: Text("]"), style: (fg: "#b7bdf8", modifiers: "Bold"))
- ],
- center: [
- (kind: Property(Song(Artist)), style: (fg: "#eed49f", modifiers: "Bold"),
- default: (kind: Text("Unknown"), style: (fg: "#eed49f", modifiers: "Bold"))
- ),
- (kind: Text(" - ")),
- (kind: Property(Song(Title)), style: (fg: "#7dc4e4", modifiers: "Bold"),
- default: (kind: Text("No Song"), style: (fg: "#7dc4e4", modifiers: "Bold"))
- )
- ],
- right: [
- (kind: Text("Vol: "), style: (fg: "#b7bdf8", modifiers: "Bold")),
- (kind: Property(Status(Volume)), style: (fg: "#b7bdf8", modifiers: "Bold")),
- (kind: Text("% "), style: (fg: "#b7bdf8", modifiers: "Bold"))
- ]
- )
- ],
- ),
- )
- '';
- };
-
-}
+++ /dev/null
-{ config, pkgs, ... }:
-{
- programs.rofi = {
- enable = true;
- modes = [
- "drun"
- "run"
- "window"
- ];
- };
-}
+++ /dev/null
-{
- inputs,
- config,
- pkgs,
- ...
-}: let
- nur-no-pkgs = import (builtins.fetchTarball {
- url = "https://github.com/nix-community/NUR/archive/main.tar.gz";
- sha256 = "1c3cfyqmqspz93103pcrys4jgsizfzba2440p11bbazmxllpnjv8";
- }) {};
-in {
- imports = [inputs.schizofox.homeManagerModule];
- programs.schizofox = {
- enable = true;
- settings = {
- };
- theme = {
- colors = {
- background-darker = "181825";
- background = "1e1e2e";
- foreground = "cdd6f4";
- };
-
- font = "Lexend";
-
- extraUserChrome = ''
- body {
- color: red !important;
- }
- '';
- };
-
- search = {
- defaultSearchEngine = "Brave";
- removeEngines = ["Google" "Bing" "Amazon.com" "eBay" "Twitter" "Wikipedia"];
- searxUrl = "https://searx.be";
- searxQuery = "https://searx.be/search?q={searchTerms}&categories=general";
- };
-
- security = {
- #sanitizeOnShutdown.enable = true;
- sandbox.enable = true;
- #userAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:106.0) Gecko/20100101 Firefox/106.0";
- };
-
- misc = {
- drm.enable = true;
- disableWebgl = false;
- #startPageURL = "file://${builtins.readFile ./startpage.html}";
- contextMenu.enable = true;
- bookmarks = [
- {
- Title = "Example";
- URL = "https://example.com";
- Favicon = "https://example.com/favicon.ico";
- Placement = "toolbar";
- Folder = "FolderName";
- }
- ];
- };
-
- extensions = {
- darkreader.enable = true;
- };
-
- # profiles.andrew.extensions.packages = with inputs.firefox-addons.packages.${pkgs.system}; [
- # ublock-origin
- # #vimium_c
- # sponsorblock
- # darkreader
- # ];
- # extensions = {
- # #ublockorigin.enable = true;
- # #vimiumc.enable = true;
- # #sponsorblock.enable = true;
- # simplefox.enable = true;
- # darkreader.enable = true;
- #
- # extraExtensions = {
- # #"webextension@ublock_origin".install_url = "https://addons.mozilla.org/firefox/downloads/file/4531307/ublock_origin-1.65.0.xpi";
- # #"webextension@sponsorblock".install_url = "https://addons.mozilla.org/
- #firefox/downloads/file/4541835/sponsorblock-5.14.xpi";
- # #"webextension@vimium_c".install_url = "https://addons.mozilla.org/firefox/downloads/file/4474326/vimium_c-2.12.3.xpi";
- #
- # #"webextension@metamask.io".install_url = "https://addons.mozilla.org/firefox/downloads/latest/ether-metamask/latest.xpi";
- # };
- # };
- };
-}
+++ /dev/null
-{
- config,
- lib,
- pkgs,
- ...
-}: {
- programs.bash = {
- enable = true;
- };
- programs.zsh = {
- enable = true;
- enableCompletion = true; # Enables zsh-completions
- autosuggestion.enable = true; # Enables zsh-autosuggestions
- syntaxHighlighting.enable = true; # Enables zsh-syntax-highlighting
- oh-my-zsh = {
- enable = true;
- plugins = [
- "git" # Git plugin
- "colored-man-pages" # Colored man pages
- "alias-finder" # Find aliases for commands
- ];
- theme = "";
- };
- initContent = ''
- # Powerlevel10k configuration
- source ${pkgs.zsh-powerlevel10k}/share/zsh-powerlevel10k/powerlevel10k.zsh-theme
- source ${./.p10k.zsh}
- # Initialize zoxide
- eval "$(zoxide init zsh)"
-
- # Initialize fzf
- source <(fzf --zsh)
-
- # Source fzf-tab (needs to be after fzf)
- source ${pkgs.zsh-fzf-tab}/share/fzf-tab/fzf-tab.plugin.zsh
-
- # Custom aliases
- alias ll="ls -la"
- alias gs="git status"
-
- bindkey '^ ' autosuggest-execute
- '';
- };
-
- home.packages = with pkgs; [
- zoxide
- fzf
- starship
- ];
-
- programs.fish = {
- enable = true;
- generateCompletions = true;
- interactiveShellInit = ''
- fish_vi_key_bindings
- set -U fish_greeting
- zoxide init fish | source
- fzf --fish | source
- starship init fish | source
- set -gx EDITOR nvim
- set -gx VISUAL nvim
- '';
- };
-
- # hodgepodge of these two themes:https://starship.rs/presets/catppuccin-powerline, https://starship.rs/presets/tokyo-night
- #(#a3aed2)\
- home.file.".config/starship.toml".text = ''
- format = """
- [](fg:#a3aed2)\
- $username\
- [](bg:#769ff0 fg:#a3aed2)\
- $directory\
- [](fg:#769ff0 bg:#394260)\
- $git_branch\
- $git_status\
- [](fg:#394260 bg:#212736)\
- $nodejs\
- $rust\
- $golang\
- $php\
- $c\
- $java\
- $kotlin\
- $haskell\
- $python\
- [](fg:#212736 bg:#1d2230)\
- $time\
- [ ](fg:#1d2230)\
- \n$character"""
-
-
- palette = 'colours'
- add_newline = false
-
- [username]
- show_always = true
- style_user = "bg:#a3aed2 fg:#090c0c"
- style_root = "bg:#a3aed2 fg:#090c0c"
- format = '[ $user ]($style)'
-
- [directory]
- style = "fg:#e3e5e5 bg:#769ff0"
- format = "[ $path ]($style)"
- truncation_length = 3
- truncation_symbol = "…/"
-
- [directory.substitutions]
- "Documents" = " "
- "Downloads" = " "
- "Music" = " "
- "Pictures" = " "
-
- [git_branch]
- symbol = ""
- style = "bg:#394260"
- format = '[[ $symbol $branch ](fg:#769ff0 bg:#394260)]($style)'
-
- [git_status]
- style = "bg:#394260"
- format = '[[($all_status$ahead_behind )](fg:#769ff0 bg:#394260)]($style)'
-
- [nodejs]
- symbol = ""
- style = "bg:#212736"
- format = '[[ $symbol ](fg:#769ff0 bg:#212736)]($style)'
-
- [rust]
- symbol = ""
- style = "bg:#212736"
- format = '[[ $symbol ](fg:#769ff0 bg:#212736)]($style)'
-
- [golang]
- symbol = ""
- style = "bg:#212736"
- format = '[[ $symbol ](fg:#769ff0 bg:#212736)]($style)'
-
- [php]
- symbol = ""
- style = "bg:#212736"
- format = '[[ $symbol ](fg:#769ff0 bg:#212736)]($style)'
-
- [c]
- symbol = ""
- style = "bg:#212736"
- format = '[[ $symbol ](fg:#769ff0 bg:#212736)]($style)'
-
- [java]
- symbol = ""
- style = "bg:#212736"
- format = '[[ $symbol ](fg:#769ff0 bg:#212736)]($style)'
-
- [kotlin]
- symbol = ""
- style = "bg:#212736"
- format = '[[ $symbol ](fg:#769ff0 bg:#212736)]($style)'
-
- [haskell]
- symbol = ""
- style = "bg:#212736"
- format = '[[ $symbol ](fg:#769ff0 bg:#212736)]($style)'
-
- [python]
- symbol = ""
- style = "bg:#212736"
- format = '[[ $symbol ](fg:#769ff0 bg:#212736)]($style)'
-
-
- [time]
- disabled = false
- time_format = "%R" # Hour:Minute Format
- style = "bg:#1d2230"
- format = '[[ $time ](fg:#a0a9cb bg:#1d2230)]($style)'
-
- [character]
- disabled = false
- success_symbol = '[❯](bold fg:green)'
- error_symbol = '[❯](bold fg:red)'
- vimcmd_symbol = '[❮](bold fg:green)'
- vimcmd_replace_one_symbol = '[❮](bold fg:lavender)'
- vimcmd_replace_symbol = '[❮](bold fg:lavender)'
- vimcmd_visual_symbol = '[❮](bold fg:yellow)'
-
- [palettes.colours]
- rosewater = "#f5e0dc"
- flamingo = "#f2cdcd"
- pink = "#f5c2e7"
- mauve = "#cba6f7"
- red = "#f38ba8"
- maroon = "#eba0ac"
- peach = "#fab387"
- yellow = "#f9e2af"
- green = "#a6e3a1"
- teal = "#94e2d5"
- sky = "#89dceb"
- sapphire = "#74c7ec"
- blue = "#89b4fa"
- lavender = "#b4befe"
- text = "#cdd6f4"
- subtext1 = "#bac2de"
- subtext0 = "#a6adc8"
- overlay2 = "#9399b2"
- overlay1 = "#7f849c"
- overlay0 = "#6c7086"
- surface2 = "#585b70"
- surface1 = "#45475a"
- surface0 = "#313244"
- base = "#1e1e2e"
- mantle = "#181825"
- crust = "#11111b"
- '';
-}
+++ /dev/null
-{
- config,
- pkgs,
- ...
-}:
-{
- stylix = {
- enable = true;
- autoEnable = true;
- base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-macchiato.yaml";
- polarity = "dark";
- #image = ./backgrounds/hollowknightbackground_2560x1440.png;
- fonts = {
- monospace = {
- package = pkgs.nerd-fonts.jetbrains-mono;
- name = "JetBrainsMono Nerd Font";
- };
- serif = {
- package = pkgs.dejavu_fonts;
- name = "DejaVu Serif";
- };
- sansSerif = {
- package = pkgs.dejavu_fonts;
- name = "DejaVu Sans";
- };
- emoji = {
- package = pkgs.noto-fonts-color-emoji;
- name = "Noto Color Emoji";
- };
- };
-
- targets = {
- fish.enable = true;
-
- gtk.enable = true;
- qt.enable = true;
-
- vim.enable = true;
- neovim.enable = false;
-
- kitty.enable = true; # Kitty terminal
- ghostty.enable = true;
- waybar.enable = true;
- rofi.enable = true;
- tmux.enable = true;
- hyprlock.enable = true;
- hyprland.enable = true;
- hyprpaper.enable = true;
- fzf.enable = true;
- dunst.enable = true;
- librewolf = {
- enable = true;
- profileNames = [ "skull" ];
- };
- };
- };
-}
+++ /dev/null
-{
- config,
- pkgs,
- ...
-}:
-{
- programs.tmux = {
- enable = true;
- shell = "${pkgs.fish}/bin/fish";
- terminal = "xterm-ghostty";
- historyLimit = 10000;
- baseIndex = 1;
- clock24 = true;
- disableConfirmationPrompt = true;
- mouse = true;
- newSession = true;
- plugins = with pkgs.tmuxPlugins; [
- sensible
- vim-tmux-navigator
- ];
-
- extraConfig = ''
- unbind %
- unbind '"'
- bind -n M-\\ split-window -h -c "#{pane_current_path}"
- bind -n M-- split-window -v -c "#{pane_current_path}"
-
- bind -n M-c new-window -c "#{pane_current_path}"
- bind -n M-q kill-window
- bind -n M-w kill-pane
- bind -n M-r command-prompt -I "#W" "rename-window '%%'"
- bind -n M-Space display-popup -E "\
- tmux list-sessions -F '#{session_name}' 2>/dev/null | \
- fzf --reverse \
- --header='Alt+Space → Switch or Mreate Session' \
- --border=rounded \
- --height=40% \
- --print-query \
- --preview='tmux capture-pane -p -t {} 2>/dev/null || echo \"(new session)\"' | \
- tail -1 | \
- xargs -I {} sh -c '\
- if tmux has-session -t \"{}\" 2>/dev/null; then \
- tmux switch-client -t \"{}\"; \
- else \
- tmux new-session -d -s \"{}\" && tmux switch-client -t \"{}\"; \
- fi' \
- set -g escape-time 0
- set -sg repeat-time 1000
- bind r source-file ~/.config/tmux/tmux.conf \; display "Monfig reloaded!"
-
-
- bind -n M-1 select-window -t 1
- bind -n M-2 select-window -t 2
- bind -n M-3 select-window -t 3
- bind -n M-4 select-window -t 4
- bind -n M-5 select-window -t 5
- bind -n M-6 select-window -t 6
- bind -n M-7 select-window -t 7
- bind -n M-8 select-window -t 8
- bind -n M-9 select-window -t 9
-
- bind -n M-h select-pane -L
- bind -n M-j select-pane -D
- bind -n M-k select-pane -U
- bind -n M-l select-pane -R
-
- bind -n M-H swap-pane -U
- bind -n M-J swap-pane -D
- bind -n M-K swap-pane -U
- bind -n M-L swap-pane -D
-
- '';
- };
-
- home.packages = with pkgs; [
- tmux
- ];
-}
+++ /dev/null
-{ config, pkgs, ... }:
-
-{
- # automount
- services.udiskie = {
- enable = true;
- tray = "auto";
- notify = true;
- automount = true;
- };
-}
+++ /dev/null
-{
- "name": "Vimium C",
- "@time": "2025-08-31, 11:16:34 p.m.",
- "time": 1756696594417,
- "environment": {
- "extension": "2.12.3",
- "platform": "linux",
- "firefox": 142
- },
- "keyMappings": [
- "#!no-check",
- "map J nextTab",
- "map K previousTab",
- ""
- ]
-}
+++ /dev/null
-{ config, pkgs, ... }:
-{
- home.file = {
- style = ''
- * {
- font-size: 14px;
- border-radius: 5px;
- }
-
- window#waybar {
- /* `otf-font-awesome` is required to be installed for icons */
- font-family: "Noto Color Emoji", monospace;
- background-color: transparent;
- border-bottom: 0px;
- color: #ebdbb2;
- transition-property: background-color;
- transition-duration: .5s;
- }
-
- window#waybar.hidden {
- opacity: 0.2;
- }
-
- window#waybar.empty #window {
- background-color: transparent;
- }
-
- /*
- window#waybar.empty {
- background-color: transparent;
- }
- window#waybar.solo {
- background-color: #FFFFFF;
- }
- */
-
- .modules-right {
- margin: 10px 10px 0 0;
- }
- .modules-center {
- margin: 10px 0 0 0;
- }
- .modules-left {
- margin: 10px 0 0 10px;
- }
-
- button {
- /* Use box-shadow instead of border so the text isn't offset */
- /* box-shadow: inset 0 -3px transparent; */
- border: none;
- }
-
- /* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
- /*
- button:hover {
- background: inherit;
- box-shadow: inset 0 -3px #ebdbb2;
- } */
-
- #workspaces {
- background-color: #282828;
- }
-
- #workspaces button {
- padding: 0 5px;
- background-color: transparent;
- color: #ebdbb2;
- border-radius: 0;
- }
-
- #workspaces button:first-child {
- border-radius: 5px 0 0 5px;
- }
-
- #workspaces button:last-child {
- border-radius: 0 5px 5px 0;
- }
-
- #workspaces button:hover {
- color: #d79921;
- }
-
- #workspaces button.focused {
- background-color: #665c54;
- /* box-shadow: inset 0 -3px #ffffff; */
- }
-
- #workspaces button.urgent {
- background-color: #b16286;
- }
-
- #idle_inhibitor,
- #cava,
- #scratchpad,
- #mode,
- #window,
- #clock,
- #battery,
- #backlight,
- #wireplumber,
- #tray,
- #mpris,
- #load {
- padding: 0 10px;
- background-color: #282828;
- color: #ebdbb2;
- }
-
- #mode {
- background-color: #689d6a;
- color: #282828;
- /* box-shadow: inset 0 -3px #ffffff; */
- }
-
- /* If workspaces is the leftmost module, omit left margin */
- .modules-left > widget:first-child > #workspaces {
- margin-left: 0;
- }
-
- /* If workspaces is the rightmost module, omit right margin */
- .modules-right > widget:last-child > #workspaces {
- margin-right: 0;
- }
-
- #cava {
- padding: 0 5px;
- }
-
- #battery.charging, #battery.plugged {
- background-color: #98971a;
- color: #282828;
- }
-
- @keyframes blink {
- to {
- background-color: #282828;
- color: #ebdbb2;
- }
- }
-
- /* Using steps() instead of linear as a timing function to limit cpu usage */
- #battery.critical:not(.charging) {
- background-color: #cc241d;
- color: #ebdbb2;
- animation-name: blink;
- animation-duration: 0.5s;
- animation-timing-function: steps(12);
- animation-iteration-count: infinite;
- animation-direction: alternate;
- }
-
- label:focus {
- background-color: #000000;
- }
-
- #wireplumber.muted {
- background-color: #458588;
- }
-
- #tray > .passive {
- -gtk-icon-effect: dim;
- }
-
- #tray > .needs-attention {
- -gtk-icon-effect: highlight;
- }
-
- #mpris.playing {
- background-color: #d79921;
- color: #282828;
- }
-
- #tray menu {
- font-family: sans-serif;
- }
-
- #scratchpad.empty {
- background: transparent;
- }
- '';
-
- };
-}
+++ /dev/null
-{
- config,
- pkgs,
- ...
-}: let
- icons = {
- "1" = "";
- "2" = "";
- "3" = "";
- "4" = "";
- "5" = "";
- "6" = "";
- "7" = "7";
- "8" = "8";
- "9" = "9";
- "0" = "0";
- };
-in {
- programs.waybar = {
- enable = true;
-
- settings = [
- {
- gtk-layer-shell = false;
- output = ["DP-3"];
- #height = 24; # Waybar height
- spacing = 4; # Gaps between modules
- fixed-center = true;
-
- modules-left = [
- "hyprland/workspaces"
- "hyprland/window"
- ];
-
- modules-center = [
- "mpris"
- ];
- modules-right = [
- "tray"
- "wireplumber"
- "battery"
- "clock"
- ];
-
- "hyprland/workspaces" = {
- all-outputs = true;
- warp-on-scroll = false;
- enable-bar-scroll = true;
- disable-scroll-wraparound = true;
- format = "{icon}";
- format-icons = icons;
- };
-
- "hyprland/window" = {
- format = "{title}";
- max-length = 40;
- all-outputs = true;
- };
-
- mpris = {
- format = " {status_icon} {dynamic}";
- interval = 1;
- dynamic-len = 40;
- dynamic-order = [
- "title"
- "artist"
- ];
- ignored-players = ["brave"];
- status-icons = {
- playing = "▶";
- paused = "⏸";
- stopped = "";
- };
- };
-
- tray = {
- icon-size = 14;
- spacing = 10;
- };
-
- clock = {
- tooltip-format = "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>";
- format-alt = "{:%Y-%m-%d}";
- };
-
- battery = {
- states = {
- warning = 30;
- critical = 15;
- };
- format = "{icon} {capacity}%";
- format-full = "{icon} {capacity}%";
- format-charging = " {capacity}%";
- format-plugged = " {capacity}%";
- format-alt = "{icon} {time}";
- format-icons = [
- ""
- ""
- ""
- ""
- ""
- ];
- };
-
- wireplumber = {
- scroll-step = 5;
- format = "{icon} {volume}%";
- format-bluetooth = "{icon} {volume}% ";
- format-bluetooth-muted = " {icon}";
- format-muted = "";
- format-icons = {
- headphone = "";
- hands-free = "";
- headset = "";
- phone = "";
- portable = "";
- car = "";
- default = [
- ""
- ""
- ""
- ];
- };
- #on-click = "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle";
- on-click = "pavucontrol";
- };
- }
-
- # Bar for DP-2 only
- {
- output = ["DP-2"];
- #height = 24;
- spacing = 4;
-
- modules-left = [
- "hyprland/workspaces"
- "hyprland/window"
- ];
-
- modules-center = [];
- modules-right = ["clock"];
-
- "hyprland/workspaces" = {
- all-outputs = true;
- warp-on-scroll = true;
- enable-bar-scroll = true;
- format = "{icon}";
- format-icons = icons;
- };
-
- "hyprland/window" = {
- format = "{title}";
- max-length = 40;
- all-outputs = true;
- };
-
- clock = {
- tooltip-format = "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>";
- format-alt = "{:%Y-%m-%d}";
- };
- }
- ];
- style = ''
- * {
- font-size: 14px;
- border-radius: 5px;
- }
-
- window#waybar {
- /* `otf-font-awesome` is required to be installed for icons */
- font-family: jetbrains-mono, monospace;
- background-color: transparent;
- border-bottom: 0px;
- color: #ebdbb2;
- transition-property: background-color;
- transition-duration: .5s;
- }
-
- window#waybar.hidden {
- opacity: 0.2;
- }
-
- window#waybar.empty #window {
- background-color: transparent;
- }
-
- /*
- window#waybar.empty {
- background-color: transparent;
- }
- window#waybar.solo {
- background-color: #FFFFFF;
- }
- */
-
- .modules-right {
- margin: 10px 10px 0 0;
- }
- .modules-center {
- margin: 10px 0 0 0;
- }
- .modules-left {
- margin: 10px 0 0 10px;
- }
-
- button {
- /* Use box-shadow instead of border so the text isn't offset */
- /* box-shadow: inset 0 -3px transparent; */
- border: none;
- }
-
- /* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
- /*
- button:hover {
- background: inherit;
- box-shadow: inset 0 -3px #ebdbb2;
- } */
-
- #workspaces {
- background-color: #282828;
- }
-
- #workspaces button {
- padding: 0 5px;
- background-color: transparent;
- color: #ebdbb2;
- border-radius: 0;
- }
-
- #workspaces button:first-child {
- border-radius: 5px 0 0 5px;
- }
-
- #workspaces button:last-child {
- border-radius: 0 5px 5px 0;
- }
-
- #workspaces button:hover {
- color: #d79921;
- }
-
- #workspaces button.focused {
- background-color: #665c54;
- /* box-shadow: inset 0 -3px #ffffff; */
- }
-
- #workspaces button.urgent {
- background-color: #b16286;
- }
-
- #idle_inhibitor,
- #cava,
- #scratchpad,
- #mode,
- #window,
- #clock,
- #battery,
- #backlight,
- #wireplumber,
- #tray,
- #mpris,
- #load {
- padding: 0 10px;
- background-color: #282828;
- color: #ebdbb2;
- }
-
- #mode {
- background-color: #689d6a;
- color: #282828;
- /* box-shadow: inset 0 -3px #ffffff; */
- }
-
- /* If workspaces is the leftmost module, omit left margin */
- .modules-left > widget:first-child > #workspaces {
- margin-left: 0;
- }
-
- /* If workspaces is the rightmost module, omit right margin */
- .modules-right > widget:last-child > #workspaces {
- margin-right: 0;
- }
-
- #cava {
- padding: 0 5px;
- }
-
- #battery.charging, #battery.plugged {
- background-color: #98971a;
- color: #282828;
- }
-
- @keyframes blink {
- to {
- background-color: #282828;
- color: #ebdbb2;
- }
- }
-
- /* Using steps() instead of linear as a timing function to limit cpu usage */
- #battery.critical:not(.charging) {
- background-color: #cc241d;
- color: #ebdbb2;
- animation-name: blink;
- animation-duration: 0.5s;
- animation-timing-function: steps(12);
- animation-iteration-count: infinite;
- animation-direction: alternate;
- }
-
- label:focus {
- background-color: #000000;
- }
-
- #wireplumber.muted {
- background-color: #458588;
- }
-
- #tray > .passive {
- -gtk-icon-effect: dim;
- }
-
- #tray > .needs-attention {
- -gtk-icon-effect: highlight;
- }
-
- #mpris.playing {
- background-color: #d79921;
- color: #282828;
- }
-
- #tray menu {
- font-family: sans-serif;
- }
-
- #scratchpad.empty {
- background: transparent;
- }
-
- '';
- };
-}
+++ /dev/null
-/* zoom.css */
-/****************************************************************************/
-/* Adjust content and metadata styling. Not tabs. */
-/****************************************************************************/
-:root {
- /* ADJUST THIS VALUE TO YOUR LIKING */
- --custom-font-size-base: 30px;
- --custom-font-size: calc(1 * var(--custom-font-size-base));
- --custom-title-size: calc(2 * var(--custom-font-size-base));
-}
-
-.cm-contentContainer,
-.metadata-container,
-.is-live-preview,
-.markdown-reading-view,
-.markdown-preview-view {
- font-size: var(--custom-font-size);
-}
-
-.inline-title {
- font-size: var(--custom-title-size);
-}