Import from git

[?]
HsKrABjiwwyW7idwfFEyDV9goBazcukfPVgWbtuuRpay
Jul 29, 2025, 8:13 AM
ANBVBV75BSHVMRKV4GEBMF7XQCEKVOFAHVA3VONWEVDNGXILJOBQC

Dependencies

Change contents

  • file addition: packages.txt (----------)
    [2.1]
    xmonad
    polybar
    rofi
    picom
    kitty
  • file addition: mail (d--r------)
    [2.1]
  • file addition: dot_notmuch (d--r------)
    [0.87]
  • file addition: hooks (d--r------)
    [0.112]
  • file addition: notmuch-lore (d--r------)
    [0.131]
  • file addition: executable_pre-new (----------)
    [0.157]
    #!/bin/sh
    set -e
    die()
    {
    echo "ERROR: $1" >&2
    exit 1
    }
    db=$(notmuch config get database.path)
    meta=$db/.notmuch
    base=$meta/.lore
    [ -d $db -a -d $meta ] || die "Please run 'notmuch setup' first."
    mkdir -p $base
    getvar() {
    # From the INI file $1, get the value of key $3 in section $2.
    awk -vsect=$2 -vvar=$3 -F= '
    /^\[.*\]$/ {
    accept = $1 == "[" sect "]";
    }
    /=/ {
    if (accept && $1 == var) {
    print($2);
    exit(0);
    }
    }' $1
    }
    import()
    {
    local git="git --git-dir=$2"
    # Make sure the Maildir exists
    mkdir -p $db/$1/tmp -p $db/$1/new $db/$1/cur
    # Extract the message from each commit in the range and store it
    # in the Maildir for notmuch to consume.
    $git rev-list $3 | while read sha; do
    $git show $sha:m >$db/$1/new/$sha
    done
    }
    sync()
    {
    local gitdir=$base/git/$1
    # Fetch new messages from all epochs and inject them to the
    # corresponding Maildir.
    for epoch in $(ls -v $gitdir/); do
    local git="git --git-dir=$gitdir/$epoch"
    local head=$($git rev-list -n1 master)
    echo " epoch$epoch: syncing" >&2
    $git fetch --quiet
    import $1 $gitdir/$epoch $head..master
    # Basically we now want to `git fetch --depth=1`, but that
    # would race against new messages that came in during the
    # import. So instead we "manually" move the shallow boundary
    # to HEAD, and then get rid of all objects beyond it.
    echo $head >$gitdir/$epoch/shallow
    $git gc --quiet --prune=all
    done
    }
    initialize()
    {
    local gitdir=$base/git/$1
    local epoch=$(ls -v $gitdir/ 2>/dev/null | tail -n1)
    local url=$(getvar $base/sources $1 url)
    local since=$(getvar $base/sources $1 since)
    epoch=${epoch:--1}
    since=${since:-3 months ago}
    echo "$1: initialize ($url)" >&2
    # Try to fetch newer epochs until there are no more.
    while git clone --quiet --depth 1 --mirror \
    $url/$(($epoch + 1)) $gitdir/$(($epoch + 1)) 2>/dev/null; do
    epoch=$(($epoch + 1))
    echo " epoch$epoch: initial import" >&2
    if ! git --git-dir=$gitdir/$epoch fetch --quiet \
    --shallow-since="$since" 2>/dev/null; then
    if [ $epoch -eq 0 ]; then
    # retry without separate git fetch, e.g. linuxppc-dev
    rm -rf "${gitdir:?}/$epoch"
    if ! git clone --mirror --shallow-since="$since" "$url/0" "$gitdir/0"; then
    echo " failed cloning repo $url"
    continue
    fi
    else
    echo " no messages in range." >&2
    continue
    fi
    fi
    import $1 $gitdir/$epoch master
    done
    if [ $epoch -lt 0 ]; then
    echo " WARN: no epochs found." >&2
    return 1
    fi
    }
    sources=$(grep -e '^\[.*\]$' <$base/sources | tr -d '[]')
    for source in $sources; do
    if ! initialize $source; then
    continue
    fi
    sync $source
    done
  • file addition: executable_pre-new (----------)
    [0.131]
    #!/bin/sh
    mbsync -a
    /home/alex/mail/.notmuch/hooks/notmuch-lore/pre-new
  • file addition: executable_post-new (----------)
    [0.131]
    #!/bin/sh
    afew --new --tag
    afew --new --move
  • file addition: encrypted_private_dot_msmtprc.age (----------)
    [2.1]
    -----BEGIN AGE ENCRYPTED FILE-----
    YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBKSVArZ2FJVHA1Um90RHBn
    SzV4bUpQaE84QTFETmxXM0VsazdCUTE1cVMwCkJxT0hBbEdFYkxBWkowL09nc3cz
    NU45amtXaWNkSFpyUnd0a2dpSFE2b0UKLS0tIEE3TDRYd0lMb2ZWeXE4YmlUNGVq
    SzFYT0s5NlNQZzN0Y2RleURpN0Y3Z0UK4k2db/Vv3vKJbQq5UFolXMXTlaRljcdW
    KZACwJ1zbjJ8Uogo6VYKuhruA2IEKOZ5Mf8sOrcOnW9VsaHajdxJ6YTL7DH48BWs
    F7JkU2LRDFsXHitrB5UW3EXM/RAOT9bDKYQG6s5eeBOOI8nfFsZUfA+pvb9Oxz7j
    w+H5iBt3ZiqA/1N9ZftCnx+JjstDMFj5aYSEzp3YQxio6K0BAVxLkZRKebVjSCCX
    IRioSD+yTKfe215Wf4Bb3vl9aftbdmUdUO4kou6BE9aTSvL00I28yAf7WFFp+59n
    eaSTiGESwARk2BY57dC3ivdVtSmyRntzBsdXC9Npubf0DQbFBykbDoqv+pUSSwP2
    x3RQQ3k9IejHtnihlZvAkMYjQ7RUA7A0wI6JJ1Ch7lp10Va0UiTaYooZ1RsxlByT
    HgXFZoNok8HBMccmNZ5UOqYdES87rkJR9DolCAm20Wg1RPUiXA+qYpS4EYWm57wX
    Bmp4ZiugpjYMF5frbWvOb3h4fMWK8T/EkAXk5AUcIJbud6r/e++6sA4KGLt/uJ36
    fQ==
    -----END AGE ENCRYPTED FILE-----
  • file addition: dot_xinitrc (----------)
    [2.1]
    setxkbmap fr bepo
    feh --bg-fill ~/pictures/wallpaper.jpeg &
    ## Menu to edit the connexion
    ##nm-applet &
    # Nice bar
    #polybar &
    redshift &
    # Nice effets (transparency, shadow...)
    #picom -b
    ## For ibus (japanese)
    export GTK_IM_MODULES=ibus
    export XMODIFIERS=@im=ibus
    export QT_IM_MODULE=ibus
    ibus-daemon -drx
    # Status bar with dwm
    while true; do
    xsetroot -name "$(date +"%A - %B %d, %H:%M")"
    sleep 2
    done &
    # Recommanded by NVIDIA
    xrandr --setprovideroutputsource modesetting NVIDIA-0
    xrandr --auto
    exec dwm
  • file addition: dot_wezterm.lua (----------)
    [2.1]
    -- Pull in the wezterm API
    local wezterm = require("wezterm")
    local config = wezterm.config_builder()
    config.default_prog = { "nu" }
    config.color_scheme = "GruvboxDark"
    config.font = wezterm.font("Iosevka")
    config.font_size = 14
    config.enable_scroll_bar = true
    local act = wezterm.action
    -- Saner shortcuts for ergol (and homerow)
    config.keys = {
    { key = "'", mods = "ALT|CTRL", action = act.SplitVertical({ domain = "CurrentPaneDomain" }) },
    { key = "\\", mods = "ALT|CTRL", action = act.SplitHorizontal({ domain = "CurrentPaneDomain" }) },
    { key = "w", mods = "ALT|CTRL", action = wezterm.action.CloseCurrentPane({ confirm = true }) },
    }
    return config
  • file addition: dot_taskrc (----------)
    [2.1]
    # [Created by task 3.4.1 6/14/2025 09:03:52]
    data.location=/home/alex/.task
    news.version=3.4.1
    # To use the default location of the XDG directories,
    # move this configuration file from ~/.taskrc to ~/.config/task/taskrc and update location config as follows:
    #data.location=~/.local/share/task
    #hooks.location=~/.config/task/hooks
    # Color theme (uncomment one to use)
    #include light-16.theme
    #include light-256.theme
    #include bubblegum-256.theme
    #include dark-16.theme
    #include dark-256.theme
    #include dark-red-256.theme
    #include dark-green-256.theme
    #include dark-blue-256.theme
    #include dark-violets-256.theme
    #include dark-yellow-green.theme
    include dark-gray-256.theme
    #include dark-gray-blue-256.theme
    #include solarized-dark-256.theme
    #include solarized-light-256.theme
    #include no-color.theme
    context.work.read=+work
    context.work.write=+work
    context.home.read=+home
    context.home.write=+home
    context.research.read=+research
    context.research.write=+research
    context=home
    # For movies
    uda.rating.type = numeric
    uda.rating.label = Rating
    report.films.description = films seen
    report.films.labels = Title,Rating,Watched on
    report.films.columns = description,rating,end
    report.films.filter = status:completed limit:page project:films
    report.films.sort = end-
  • file addition: dot_task (d--r------)
    [2.1]
  • file addition: hooks (d--r------)
    [0.6621]
  • file addition: readonly_executable_on-modify.timewarrior (----------)
    [0.6640]
    #!/usr/bin/env python3
    ###############################################################################
    #
    # Copyright 2016 - 2021, 2023, Gothenburg Bit Factory
    #
    # Permission is hereby granted, free of charge, to any person obtaining a copy
    # of this software and associated documentation files (the "Software"), to deal
    # in the Software without restriction, including without limitation the rights
    # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    # copies of the Software, and to permit persons to whom the Software is
    # furnished to do so, subject to the following conditions:
    #
    # The above copyright notice and this permission notice shall be included
    # in all copies or substantial portions of the Software.
    #
    # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
    # OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
    # THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    # SOFTWARE.
    #
    # https://www.opensource.org/licenses/mit-license.php
    #
    ###############################################################################
    import json
    import subprocess
    import sys
    # Hook should extract all the following for use as Timewarrior tags:
    # UUID
    # Project
    # Tags
    # Description
    # UDAs
    try:
    input_stream = sys.stdin.buffer
    except AttributeError:
    input_stream = sys.stdin
    def extract_tags_from(json_obj):
    # Extract attributes for use as tags.
    tags = [json_obj['description']]
    if 'project' in json_obj:
    tags.append(json_obj['project'])
    if 'tags' in json_obj:
    if type(json_obj['tags']) is str:
    # Usage of tasklib (e.g. in taskpirate) converts the tag list into a string
    # If this is the case, convert it back into a list first
    # See https://github.com/tbabej/taskpirate/issues/11
    tags.extend(json_obj['tags'].split(','))
    else:
    tags.extend(json_obj['tags'])
    return tags
    def extract_annotation_from(json_obj):
    if 'annotations' not in json_obj:
    return '\'\''
    return json_obj['annotations'][0]['description']
    def main(old, new):
    start_or_stop = ''
    # Started task.
    if 'start' in new and 'start' not in old:
    start_or_stop = 'start'
    # Stopped task.
    elif ('start' not in new or 'end' in new) and 'start' in old:
    start_or_stop = 'stop'
    if start_or_stop:
    tags = extract_tags_from(new)
    subprocess.call(['timew', start_or_stop] + tags + [':yes'])
    # Modifications to task other than start/stop
    elif 'start' in new and 'start' in old:
    old_tags = extract_tags_from(old)
    new_tags = extract_tags_from(new)
    if old_tags != new_tags:
    subprocess.call(['timew', 'untag', '@1'] + old_tags + [':yes'])
    subprocess.call(['timew', 'tag', '@1'] + new_tags + [':yes'])
    old_annotation = extract_annotation_from(old)
    new_annotation = extract_annotation_from(new)
    if old_annotation != new_annotation:
    subprocess.call(['timew', 'annotate', '@1', new_annotation])
    if __name__ == "__main__":
    old = json.loads(input_stream.readline().decode("utf-8", errors="replace"))
    new = json.loads(input_stream.readline().decode("utf-8", errors="replace"))
    print(json.dumps(new))
    main(old, new)
  • file addition: dot_notmuch-config (----------)
    [2.1]
    # Database configuration
    #
    # The only value supported here is 'path' which should be the top-level
    # directory where your mail currently exists and to where mail will be
    # delivered in the future. Files should be individual email messages.
    # Notmuch will store its database within a sub-directory of the path
    # configured here named ".notmuch".
    #
    [database]
    # Error if the default path is not set...
    path=/home/alex/mail
    [user]
    name=Alexis Praga
    primary_email=alexis@praga.dev
    [new]
    tags=new
    [search]
    [maildir]
  • file addition: dot_mbsyncrc (----------)
    [2.1]
    IMAPAccount infomaniak
    Host mail.infomaniak.com
    Port 993
    User alexis@praga.dev
    Pass mosDyw-cufbem-4cymfa
    SSLType IMAPS
    IMAPStore info-remote
    Account infomaniak
    MaildirStore info-local
    Path ~/mail/
    Inbox ~/mail/INBOX/
    Subfolders Verbatim
    Channel info
    Far :info-remote:
    Near :info-local:
    Patterns INBOX Archives Drafts Sent Spam Trash
    Create Both
    Expunge Both
    SyncState *
  • file addition: dot_mailcap (----------)
    [2.1]
    text/html; w3m -I %{charset} -T text/html; copiousoutput;
  • file addition: dot_hyperb (d--r------)
    [2.1]
  • file addition: HYPB (----------)
    [0.11397]
    Mise à jour
    <async-shell-command "sudo emaint sync -a ; sudo emerge -auDN @world">
    <async-shell-command "guix pull">
    Projets
    - {C-c a r} Revue hebdomadaire
    - {C-c a w} Tâches en attente
  • file addition: dot_config (d--r------)
    [2.1]
  • file addition: zk (d--r------)
    [0.11640]
  • file addition: templates (d--r------)
    [0.11656]
  • file addition: note.md (----------)
    [0.11679]
    ---
    title: {{title}}
    tags: [draft]
    ---
    {{content}}
  • file addition: default.md (----------)
    [0.11679]
    # {{title}}
    {{content}}
  • file addition: daily.md (----------)
    [0.11679]
    ---
    title: {{ format-date now }}
    tags: [journal]
    ---
  • file addition: config.toml (----------)
    [0.11656]
    # zk configuration file
    [notebook]
    dir = "/home/alex/notes"
    #
    #
    # Uncomment the properties you want to customize.
    # NOTE SETTINGS
    #
    # Defines the default options used when generating new notes.
    [note]
    # Language used when writing notes.
    # This is used to generate slugs or with date formats.
    #language = "en"
    # The default title used for new note, if no `--title` flag is provided.
    #default-title = "Untitled"
    # Template used to generate a note's filename, without extension.
    filename = "{{slug title}}"
    # Template used to generate a note's content.
    # If not an absolute path or "~/unix/path", it's relative to .zk/templates/
    template = "note.md"
    # Path globs ignored while indexing existing notes.
    #exclude = [
    # "drafts/*",
    # "log.md"
    #]
    # EXTRA VARIABLES
    #
    # A dictionary of variables you can use for any custom values when generating
    # new notes. They are accessible in templates with {{extra.<key>}}
    [extra]
    #key = "value"
    # GROUP OVERRIDES
    #
    # You can override global settings from [note] and [extra] for a particular
    # group of notes by declaring a [group."<name>"] section.
    #
    # Specify the list of directories which will automatically belong to the group
    # with the optional `paths` property.
    #
    # Omitting `paths` is equivalent to providing a single path equal to the name of
    # the group. This can be useful to quickly declare a group by the name of the
    # directory it applies to.
    #[group."<NAME>"]
    #paths = ["<DIR1>", "<DIR2>"]
    #[group."<NAME>".note]
    #filename = "{{format-date now}}"
    #[group."<NAME>".extra]
    #key = "value"
    # MARKDOWN SETTINGS
    [format.markdown]
    # Format used to generate links between notes.
    # Either "wiki", "markdown" or a custom template. Default is "markdown".
    #link-format = "wiki"
    # Indicates whether a link's path will be percent-encoded.
    # Defaults to true for "markdown" format and false for "wiki" format.
    #link-encode-path = true
    # Indicates whether a link's path file extension will be removed.
    # Defaults to true.
    #link-drop-extension = true
    # Enable support for #hashtags.
    hashtags = false
    # Enable support for :colon:separated:tags:.
    colon-tags = false
    # Enable support for Bear's #multi-word tags#
    # Hashtags must be enabled for multi-word tags to work.
    multiword-tags = false
    # EXTERNAL TOOLS
    [tool]
    # Default editor used to open notes. When not set, the EDITOR or VISUAL
    # environment variables are used.
    #editor = "vim"
    # Pager used to scroll through long output. If you want to disable paging
    # altogether, set it to an empty string "".
    #pager = "less -FIRX"
    # Command used to preview a note during interactive fzf mode.
    # Set it to an empty string "" to disable preview.
    # bat is a great tool to render Markdown document with syntax highlighting.
    #https://github.com/sharkdp/bat
    #fzf-preview = "bat -p --color always {-1}"
    # LSP
    #
    # Configure basic editor integration for LSP-compatible editors.
    # See https://github.com/zk-org/zk/blob/main/docs/editors-integration.md
    #
    [lsp]
    [lsp.diagnostics]
    # Each diagnostic can have for value: none, hint, info, warning, error
    # Report titles of wiki-links as hints.
    #wiki-title = "hint"
    # Warn for dead links between notes.
    dead-link = "error"
    [lsp.completion]
    # Customize the completion pop-up of your LSP client.
    # Show the note title in the completion pop-up, or fallback on its path if empty.
    #note-label = "{{title-or-path}}"
    # Filter out the completion pop-up using the note title or its path.
    #note-filter-text = "{{title}} {{path}}"
    # Show the note filename without extension as detail.
    #note-detail = "{{filename-stem}}"
    # NAMED FILTERS
    #
    # A named filter is a set of note filtering options used frequently together.
    #
    [filter]
    # Matches the notes created the last two weeks. For example:
    # $ zk list recents --limit 15
    # $ zk edit recents --interactive
    #recents = "--sort created- --created-after 'last two weeks'"
    # COMMAND ALIASES
    #
    # Aliases are user commands called with `zk <alias> [<flags>] [<args>]`.
    #
    # The alias will be executed with `$SHELL -c`, please refer to your shell's
    # man page to see the available syntax. In most shells:
    # * $@ can be used to expand all the provided flags and arguments
    # * you can pipe commands together with the usual | character
    #
    [group.daily]
    # Directories listed here will automatically use this group when creating notes.
    paths = ["journal"]
    [group.daily.note]
    # %Y-%m-%d is actually the default format, so you could use {{format-date now}} instead.
    filename = "{{format-date now '%Y-%m-%d'}}"
    extension = "md"
    template = "daily.md"
    [alias]
    # Here are a few aliases to get you started.
    # Shortcut to a command.
    #ls = "zk list $@"
    # Default flags for an existing command.
    #list = "zk list --quiet $@"
    # Edit the last modified note.
    #editlast = "zk edit --limit 1 --sort modified- $@"
    # Edit the notes selected interactively among the notes created the last two weeks.
    # This alias doesn't take any argument, so we don't use $@.
    #recent = "zk edit --sort created- --created-after 'last two weeks' --interactive"
    # Print paths separated with colons for the notes found with the given
    # arguments. This can be useful to expand a complex search query into a flag
    # taking only paths. For example:
    # zk list --link-to "`zk path -m potatoe`"
    #path = "zk list --quiet --format {{path}} --delimiter , $@"
    # Show a random note.
    #lucky = "zk list --quiet --format full --sort random --limit 1"
    # Returns the Git history for the notes found with the given arguments.
    # Note the use of a pipe and the location of $@.
    #hist = "zk list --format path --delimiter0 --quiet $@ | xargs -t -0 git log --patch --"
    # Edit this configuration file.
    #conf = '$EDITOR "$ZK_NOTEBOOK_DIR/.zk/config.toml"'
  • file addition: zellij (d--r------)
    [0.11640]
  • file addition: themes (d--r------)
    [0.17670]
  • file addition: rose-pine.kdl (----------)
    [0.17690]
    themes {
    rose-pine {
    text_unselected {
    base 224 222 244
    background 33 32 46
    emphasis_0 235 188 186
    emphasis_1 156 207 216
    emphasis_2 49 116 143
    emphasis_3 196 167 231
    }
    text_selected {
    base 224 222 244
    background 64 61 82
    emphasis_0 235 188 186
    emphasis_1 156 207 216
    emphasis_2 49 116 143
    emphasis_3 196 167 231
    }
    ribbon_selected {
    base 33 32 46
    background 49 116 143
    emphasis_0 246 193 119
    emphasis_1 235 188 186
    emphasis_2 196 167 231
    emphasis_3 156 207 216
    }
    ribbon_unselected {
    base 25 23 36
    background 224 222 244
    emphasis_0 246 193 119
    emphasis_1 235 188 186
    emphasis_2 196 167 231
    emphasis_3 156 207 216
    }
    table_title {
    base 49 116 143
    background 0 0 0
    emphasis_0 235 188 186
    emphasis_1 156 207 216
    emphasis_2 49 116 143
    emphasis_3 196 167 231
    }
    table_cell_selected {
    base 224 222 244
    background 64 61 82
    emphasis_0 235 188 186
    emphasis_1 156 207 216
    emphasis_2 49 116 143
    emphasis_3 196 167 231
    }
    table_cell_unselected {
    base 224 222 244
    background 33 32 46
    emphasis_0 235 188 186
    emphasis_1 156 207 216
    emphasis_2 49 116 143
    emphasis_3 196 167 231
    }
    list_selected {
    base 224 222 244
    background 64 61 82
    emphasis_0 235 188 186
    emphasis_1 156 207 216
    emphasis_2 49 116 143
    emphasis_3 196 167 231
    }
    list_unselected {
    base 224 222 244
    background 33 32 46
    emphasis_0 235 188 186
    emphasis_1 156 207 216
    emphasis_2 49 116 143
    emphasis_3 196 167 231
    }
    frame_selected {
    base 49 116 143
    background 0 0 0
    emphasis_0 235 188 186
    emphasis_1 156 207 216
    emphasis_2 196 167 231
    emphasis_3 0 0 0
    }
    frame_highlight {
    base 235 188 186
    background 0 0 0
    emphasis_0 235 188 186
    emphasis_1 235 188 186
    emphasis_2 235 188 186
    emphasis_3 235 188 186
    }
    exit_code_success {
    base 49 116 143
    background 0 0 0
    emphasis_0 156 207 216
    emphasis_1 33 32 46
    emphasis_2 196 167 231
    emphasis_3 49 116 143
    }
    exit_code_error {
    base 235 111 146
    background 0 0 0
    emphasis_0 246 193 119
    emphasis_1 0 0 0
    emphasis_2 0 0 0
    emphasis_3 0 0 0
    }
    multiplayer_user_colors {
    player_1 196 167 231
    player_2 49 116 143
    player_3 235 188 186
    player_4 246 193 119
    player_5 156 207 216
    player_6 235 111 146
    player_7 0 0 0
    player_8 0 0 0
    player_9 0 0 0
    player_10 0 0 0
    }
    }
    }
  • file addition: rose-pine-moon.kdl (----------)
    [0.17690]
    themes {
    rose-pine-moon {
    text_unselected {
    base 224 222 244
    background 42 40 62
    emphasis_0 234 154 151
    emphasis_1 156 207 216
    emphasis_2 62 143 176
    emphasis_3 196 167 231
    }
    text_selected {
    base 224 222 244
    background 68 65 90
    emphasis_0 234 154 151
    emphasis_1 156 207 216
    emphasis_2 62 143 176
    emphasis_3 196 167 231
    }
    ribbon_selected {
    base 42 40 62
    background 62 143 176
    emphasis_0 246 193 119
    emphasis_1 234 154 151
    emphasis_2 196 167 231
    emphasis_3 156 207 216
    }
    ribbon_unselected {
    base 35 33 54
    background 224 222 244
    emphasis_0 246 193 119
    emphasis_1 234 154 151
    emphasis_2 196 167 231
    emphasis_3 156 207 216
    }
    table_title {
    base 62 143 176
    background 0 0 0
    emphasis_0 234 154 151
    emphasis_1 156 207 216
    emphasis_2 62 143 176
    emphasis_3 196 167 231
    }
    table_cell_selected {
    base 224 222 244
    background 68 65 90
    emphasis_0 234 154 151
    emphasis_1 156 207 216
    emphasis_2 62 143 176
    emphasis_3 196 167 231
    }
    table_cell_unselected {
    base 224 222 244
    background 42 40 62
    emphasis_0 234 154 151
    emphasis_1 156 207 216
    emphasis_2 62 143 176
    emphasis_3 196 167 231
    }
    list_selected {
    base 224 222 244
    background 68 65 90
    emphasis_0 234 154 151
    emphasis_1 156 207 216
    emphasis_2 62 143 176
    emphasis_3 196 167 231
    }
    list_unselected {
    base 224 222 244
    background 42 40 62
    emphasis_0 234 154 151
    emphasis_1 156 207 216
    emphasis_2 62 143 176
    emphasis_3 196 167 231
    }
    frame_selected {
    base 62 143 176
    background 0 0 0
    emphasis_0 234 154 151
    emphasis_1 156 207 216
    emphasis_2 196 167 231
    emphasis_3 0 0 0
    }
    frame_highlight {
    base 234 154 151
    background 0 0 0
    emphasis_0 234 154 151
    emphasis_1 234 154 151
    emphasis_2 234 154 151
    emphasis_3 234 154 151
    }
    exit_code_success {
    base 62 143 176
    background 0 0 0
    emphasis_0 156 207 216
    emphasis_1 42 40 62
    emphasis_2 196 167 231
    emphasis_3 62 143 176
    }
    exit_code_error {
    base 235 111 146
    background 0 0 0
    emphasis_0 246 193 119
    emphasis_1 0 0 0
    emphasis_2 0 0 0
    emphasis_3 0 0 0
    }
    multiplayer_user_colors {
    player_1 196 167 231
    player_2 62 143 176
    player_3 234 154 151
    player_4 246 193 119
    player_5 156 207 216
    player_6 235 111 146
    player_7 0 0 0
    player_8 0 0 0
    player_9 0 0 0
    player_10 0 0 0
    }
    }
    }
  • file addition: rose-pine-dawn.kdl (----------)
    [0.17690]
    themes {
    rose-pine-dawn {
    text_unselected {
    base 87 82 121
    background 244 237 232
    emphasis_0 215 130 126
    emphasis_1 86 148 159
    emphasis_2 40 105 131
    emphasis_3 144 122 169
    }
    text_selected {
    base 87 82 121
    background 223 218 217
    emphasis_0 215 130 126
    emphasis_1 86 148 159
    emphasis_2 40 105 131
    emphasis_3 144 122 169
    }
    ribbon_selected {
    base 244 237 232
    background 40 105 131
    emphasis_0 234 157 52
    emphasis_1 215 130 126
    emphasis_2 144 122 169
    emphasis_3 86 148 159
    }
    ribbon_unselected {
    base 250 244 237
    background 87 82 121
    emphasis_0 234 157 52
    emphasis_1 215 130 126
    emphasis_2 144 122 169
    emphasis_3 86 148 159
    }
    table_title {
    base 40 105 131
    background 0 0 0
    emphasis_0 215 130 126
    emphasis_1 86 148 159
    emphasis_2 40 105 131
    emphasis_3 144 122 169
    }
    table_cell_selected {
    base 87 82 121
    background 223 218 217
    emphasis_0 215 130 126
    emphasis_1 86 148 159
    emphasis_2 40 105 131
    emphasis_3 144 122 169
    }
    table_cell_unselected {
    base 87 82 121
    background 244 237 232
    emphasis_0 215 130 126
    emphasis_1 86 148 159
    emphasis_2 40 105 131
    emphasis_3 144 122 169
    }
    list_selected {
    base 87 82 121
    background 223 218 217
    emphasis_0 215 130 126
    emphasis_1 86 148 159
    emphasis_2 40 105 131
    emphasis_3 144 122 169
    }
    list_unselected {
    base 87 82 121
    background 244 237 232
    emphasis_0 215 130 126
    emphasis_1 86 148 159
    emphasis_2 40 105 131
    emphasis_3 144 122 169
    }
    frame_selected {
    base 40 105 131
    background 0 0 0
    emphasis_0 215 130 126
    emphasis_1 86 148 159
    emphasis_2 144 122 169
    emphasis_3 0 0 0
    }
    frame_highlight {
    base 215 130 126
    background 0 0 0
    emphasis_0 215 130 126
    emphasis_1 215 130 126
    emphasis_2 215 130 126
    emphasis_3 215 130 126
    }
    exit_code_success {
    base 40 105 131
    background 0 0 0
    emphasis_0 86 148 159
    emphasis_1 244 237 232
    emphasis_2 144 122 169
    emphasis_3 40 105 131
    }
    exit_code_error {
    base 180 99 122
    background 0 0 0
    emphasis_0 234 157 52
    emphasis_1 0 0 0
    emphasis_2 0 0 0
    emphasis_3 0 0 0
    }
    multiplayer_user_colors {
    player_1 144 122 169
    player_2 40 105 131
    player_3 215 130 126
    player_4 234 157 52
    player_5 86 148 159
    player_6 180 99 122
    player_7 0 0 0
    player_8 0 0 0
    player_9 0 0 0
    player_10 0 0 0
    }
    }
    }
  • file addition: config.kdl (----------)
    [0.17670]
    //
    // THIS FILE WAS AUTOGENERATED BY ZELLIJ, THE PREVIOUS FILE AT THIS LOCATION WAS COPIED TO: /home/alex/.config/zellij/config.kdl.bak
    //
    keybinds clear-defaults=true {
    locked {
    bind "Ctrl g" { SwitchToMode "normal"; }
    }
    pane {
    bind "left" { MoveFocus "left"; }
    bind "down" { MoveFocus "down"; }
    bind "up" { MoveFocus "up"; }
    bind "right" { MoveFocus "right"; }
    bind "c" { SwitchToMode "renamepane"; PaneNameInput 0; }
    bind "d" { NewPane "down"; SwitchToMode "normal"; }
    bind "e" { TogglePaneEmbedOrFloating; SwitchToMode "normal"; }
    bind "f" { ToggleFocusFullscreen; SwitchToMode "normal"; }
    bind "h" { MoveFocus "left"; }
    bind "i" { TogglePanePinned; SwitchToMode "normal"; }
    bind "j" { MoveFocus "down"; }
    bind "k" { MoveFocus "up"; }
    bind "l" { MoveFocus "right"; }
    bind "n" { NewPane; SwitchToMode "normal"; }
    bind "p" { SwitchFocus; }
    bind "Ctrl p" { SwitchToMode "normal"; }
    bind "r" { NewPane "right"; SwitchToMode "normal"; }
    bind "w" { ToggleFloatingPanes; SwitchToMode "normal"; }
    bind "z" { TogglePaneFrames; SwitchToMode "normal"; }
    }
    tab {
    bind "left" { GoToPreviousTab; }
    bind "down" { GoToNextTab; }
    bind "up" { GoToPreviousTab; }
    bind "right" { GoToNextTab; }
    bind "1" { GoToTab 1; SwitchToMode "normal"; }
    bind "2" { GoToTab 2; SwitchToMode "normal"; }
    bind "3" { GoToTab 3; SwitchToMode "normal"; }
    bind "4" { GoToTab 4; SwitchToMode "normal"; }
    bind "5" { GoToTab 5; SwitchToMode "normal"; }
    bind "6" { GoToTab 6; SwitchToMode "normal"; }
    bind "7" { GoToTab 7; SwitchToMode "normal"; }
    bind "8" { GoToTab 8; SwitchToMode "normal"; }
    bind "9" { GoToTab 9; SwitchToMode "normal"; }
    bind "[" { BreakPaneLeft; SwitchToMode "normal"; }
    bind "]" { BreakPaneRight; SwitchToMode "normal"; }
    bind "b" { BreakPane; SwitchToMode "normal"; }
    bind "h" { GoToPreviousTab; }
    bind "j" { GoToNextTab; }
    bind "k" { GoToPreviousTab; }
    bind "l" { GoToNextTab; }
    bind "n" { NewTab; SwitchToMode "normal"; }
    bind "r" { SwitchToMode "renametab"; TabNameInput 0; }
    bind "s" { ToggleActiveSyncTab; SwitchToMode "normal"; }
    bind "Ctrl t" { SwitchToMode "normal"; }
    bind "x" { CloseTab; SwitchToMode "normal"; }
    bind "tab" { ToggleTab; }
    }
    resize {
    bind "left" { Resize "Increase left"; }
    bind "down" { Resize "Increase down"; }
    bind "up" { Resize "Increase up"; }
    bind "right" { Resize "Increase right"; }
    bind "+" { Resize "Increase"; }
    bind "-" { Resize "Decrease"; }
    bind "=" { Resize "Increase"; }
    bind "H" { Resize "Decrease left"; }
    bind "J" { Resize "Decrease down"; }
    bind "K" { Resize "Decrease up"; }
    bind "L" { Resize "Decrease right"; }
    bind "h" { Resize "Increase left"; }
    bind "j" { Resize "Increase down"; }
    bind "k" { Resize "Increase up"; }
    bind "l" { Resize "Increase right"; }
    bind "Ctrl n" { SwitchToMode "normal"; }
    }
    move {
    bind "left" { MovePane "left"; }
    bind "down" { MovePane "down"; }
    bind "up" { MovePane "up"; }
    bind "right" { MovePane "right"; }
    bind "h" { MovePane "left"; }
    bind "Ctrl h" { SwitchToMode "normal"; }
    bind "j" { MovePane "down"; }
    bind "k" { MovePane "up"; }
    bind "l" { MovePane "right"; }
    bind "n" { MovePane; }
    bind "p" { MovePaneBackwards; }
    bind "tab" { MovePane; }
    }
    scroll {
    bind "e" { EditScrollback; SwitchToMode "normal"; }
    bind "s" { SwitchToMode "entersearch"; SearchInput 0; }
    }
    search {
    bind "c" { SearchToggleOption "CaseSensitivity"; }
    bind "n" { Search "down"; }
    bind "o" { SearchToggleOption "WholeWord"; }
    bind "p" { Search "up"; }
    bind "w" { SearchToggleOption "Wrap"; }
    }
    session {
    bind "a" {
    LaunchOrFocusPlugin "zellij:about" {
    floating true
    move_to_focused_tab true
    }
    SwitchToMode "normal"
    }
    bind "c" {
    LaunchOrFocusPlugin "configuration" {
    floating true
    move_to_focused_tab true
    }
    SwitchToMode "normal"
    }
    bind "Ctrl o" { SwitchToMode "normal"; }
    bind "p" {
    LaunchOrFocusPlugin "plugin-manager" {
    floating true
    move_to_focused_tab true
    }
    SwitchToMode "normal"
    }
    bind "w" {
    LaunchOrFocusPlugin "zellij:session-manager" {
    floating true
    move_to_focused_tab true
    }
    SwitchToMode "normal"
    }
    }
    shared_except "locked" {
    bind "Alt left" { MoveFocusOrTab "left"; }
    bind "Alt down" { MoveFocus "down"; }
    bind "Alt up" { MoveFocus "up"; }
    bind "Alt right" { MoveFocusOrTab "right"; }
    bind "Alt +" { Resize "Increase"; }
    bind "Alt -" { Resize "Decrease"; }
    bind "Alt =" { Resize "Increase"; }
    bind "Alt [" { PreviousSwapLayout; }
    bind "Alt ]" { NextSwapLayout; }
    bind "Alt f" { ToggleFloatingPanes; }
    bind "Ctrl g" { SwitchToMode "locked"; }
    bind "Alt h" { MoveFocusOrTab "left"; }
    bind "Alt i" { MoveTab "left"; }
    bind "Alt j" { MoveFocus "down"; }
    bind "Alt k" { MoveFocus "up"; }
    bind "Alt l" { MoveFocusOrTab "right"; }
    bind "Alt n" { NewPane; }
    bind "Alt o" { MoveTab "right"; }
    bind "Ctrl q" { Quit; }
    }
    shared_except "locked" "move" {
    bind "Ctrl h" { SwitchToMode "move"; }
    }
    shared_except "locked" "session" {
    bind "Ctrl o" { SwitchToMode "session"; }
    }
    shared_except "locked" "scroll" "search" "tmux" {
    bind "Ctrl b" { SwitchToMode "tmux"; }
    }
    shared_except "locked" "scroll" "search" {
    bind "Ctrl s" { SwitchToMode "scroll"; }
    }
    shared_except "locked" "tab" {
    bind "Ctrl t" { SwitchToMode "tab"; }
    }
    shared_except "locked" "pane" {
    bind "Ctrl p" { SwitchToMode "pane"; }
    }
    shared_except "locked" "resize" {
    bind "Ctrl n" { SwitchToMode "resize"; }
    }
    shared_except "normal" "locked" "entersearch" {
    bind "enter" { SwitchToMode "normal"; }
    }
    shared_except "normal" "locked" "entersearch" "renametab" "renamepane" {
    bind "esc" { SwitchToMode "normal"; }
    }
    shared_among "pane" "tmux" {
    bind "x" { CloseFocus; SwitchToMode "normal"; }
    }
    shared_among "scroll" "search" {
    bind "PageDown" { PageScrollDown; }
    bind "PageUp" { PageScrollUp; }
    bind "left" { PageScrollUp; }
    bind "down" { ScrollDown; }
    bind "up" { ScrollUp; }
    bind "right" { PageScrollDown; }
    bind "Ctrl b" { PageScrollUp; }
    bind "Ctrl c" { ScrollToBottom; SwitchToMode "normal"; }
    bind "d" { HalfPageScrollDown; }
    bind "Ctrl f" { PageScrollDown; }
    bind "h" { PageScrollUp; }
    bind "j" { ScrollDown; }
    bind "k" { ScrollUp; }
    bind "l" { PageScrollDown; }
    bind "Ctrl s" { SwitchToMode "normal"; }
    bind "u" { HalfPageScrollUp; }
    }
    entersearch {
    bind "Ctrl c" { SwitchToMode "scroll"; }
    bind "esc" { SwitchToMode "scroll"; }
    bind "enter" { SwitchToMode "search"; }
    }
    renametab {
    bind "esc" { UndoRenameTab; SwitchToMode "tab"; }
    }
    shared_among "renametab" "renamepane" {
    bind "Ctrl c" { SwitchToMode "normal"; }
    }
    renamepane {
    bind "esc" { UndoRenamePane; SwitchToMode "pane"; }
    }
    shared_among "session" "tmux" {
    bind "d" { Detach; }
    }
    tmux {
    bind "left" { MoveFocus "left"; SwitchToMode "normal"; }
    bind "down" { MoveFocus "down"; SwitchToMode "normal"; }
    bind "up" { MoveFocus "up"; SwitchToMode "normal"; }
    bind "right" { MoveFocus "right"; SwitchToMode "normal"; }
    bind "space" { NextSwapLayout; }
    bind "\"" { NewPane "down"; SwitchToMode "normal"; }
    bind "%" { NewPane "right"; SwitchToMode "normal"; }
    bind "," { SwitchToMode "renametab"; }
    bind "[" { SwitchToMode "scroll"; }
    bind "Ctrl b" { Write 2; SwitchToMode "normal"; }
    bind "c" { NewTab; SwitchToMode "normal"; }
    bind "h" { MoveFocus "left"; SwitchToMode "normal"; }
    bind "j" { MoveFocus "down"; SwitchToMode "normal"; }
    bind "k" { MoveFocus "up"; SwitchToMode "normal"; }
    bind "l" { MoveFocus "right"; SwitchToMode "normal"; }
    bind "n" { GoToNextTab; SwitchToMode "normal"; }
    bind "o" { FocusNextPane; }
    bind "p" { GoToPreviousTab; SwitchToMode "normal"; }
    bind "z" { ToggleFocusFullscreen; SwitchToMode "normal"; }
    }
    }
    // Plugin aliases - can be used to change the implementation of Zellij
    // changing these requires a restart to take effect
    plugins {
    about location="zellij:about"
    compact-bar location="zellij:compact-bar"
    configuration location="zellij:configuration"
    filepicker location="zellij:strider" {
    cwd "/"
    }
    plugin-manager location="zellij:plugin-manager"
    session-manager location="zellij:session-manager"
    status-bar location="zellij:status-bar"
    strider location="zellij:strider"
    tab-bar location="zellij:tab-bar"
    welcome-screen location="zellij:session-manager" {
    welcome_screen true
    }
    }
    // Plugins to load in the background when a new session starts
    // eg. "file:/path/to/my-plugin.wasm"
    // eg. "https://example.com/my-plugin.wasm"
    load_plugins {
    }
    // Use a simplified UI without special fonts (arrow glyphs)
    // Options:
    // - true
    // - false (Default)
    //
    // simplified_ui true
    // Choose the theme that is specified in the themes section.
    // Default: default
    //
    theme "catppuccin-latte"
    // Choose the base input mode of zellij.
    // Default: normal
    //
    // default_mode "locked"
    // Choose the path to the default shell that zellij will use for opening new panes
    // Default: $SHELL
    //
    default_shell "nu"
    // Choose the path to override cwd that zellij will use for opening new panes
    //
    // default_cwd "/tmp"
    // The name of the default layout to load on startup
    // Default: "default"
    //
    // default_layout "compact"
    // The folder in which Zellij will look for layouts
    // (Requires restart)
    //
    // layout_dir "/tmp"
    // The folder in which Zellij will look for themes
    // (Requires restart)
    //
    // theme_dir "/tmp"
    // Toggle enabling the mouse mode.
    // On certain configurations, or terminals this could
    // potentially interfere with copying text.
    // Options:
    // - true (default)
    // - false
    //
    // mouse_mode false
    // Toggle having pane frames around the panes
    // Options:
    // - true (default, enabled)
    // - false
    //
    // pane_frames false
    // When attaching to an existing session with other users,
    // should the session be mirrored (true)
    // or should each user have their own cursor (false)
    // (Requires restart)
    // Default: false
    //
    // mirror_session true
    // Choose what to do when zellij receives SIGTERM, SIGINT, SIGQUIT or SIGHUP
    // eg. when terminal window with an active zellij session is closed
    // (Requires restart)
    // Options:
    // - detach (Default)
    // - quit
    //
    // on_force_close "quit"
    // Configure the scroll back buffer size
    // This is the number of lines zellij stores for each pane in the scroll back
    // buffer. Excess number of lines are discarded in a FIFO fashion.
    // (Requires restart)
    // Valid values: positive integers
    // Default value: 10000
    //
    // scroll_buffer_size 10000
    // Provide a command to execute when copying text. The text will be piped to
    // the stdin of the program to perform the copy. This can be used with
    // terminal emulators which do not support the OSC 52 ANSI control sequence
    // that will be used by default if this option is not set.
    // Examples:
    //
    // copy_command "xclip -selection clipboard" // x11
    // copy_command "wl-copy" // wayland
    // copy_command "pbcopy" // osx
    //
    // copy_command "pbcopy"
    // Choose the destination for copied text
    // Allows using the primary selection buffer (on x11/wayland) instead of the system clipboard.
    // Does not apply when using copy_command.
    // Options:
    // - system (default)
    // - primary
    //
    // copy_clipboard "primary"
    // Enable automatic copying (and clearing) of selection when releasing mouse
    // Default: true
    //
    // copy_on_select true
    // Path to the default editor to use to edit pane scrollbuffer
    // Default: $EDITOR or $VISUAL
    // scrollback_editor "/usr/bin/vim"
    // A fixed name to always give the Zellij session.
    // Consider also setting `attach_to_session true,`
    // otherwise this will error if such a session exists.
    // Default: <RANDOM>
    //
    // session_name "My singleton session"
    // When `session_name` is provided, attaches to that session
    // if it is already running or creates it otherwise.
    // Default: false
    //
    // attach_to_session true
    // Toggle between having Zellij lay out panes according to a predefined set of layouts whenever possible
    // Options:
    // - true (default)
    // - false
    //
    // auto_layout false
    // Whether sessions should be serialized to the cache folder (including their tabs/panes, cwds and running commands) so that they can later be resurrected
    // Options:
    // - true (default)
    // - false
    //
    // session_serialization false
    // Whether pane viewports are serialized along with the session, default is false
    // Options:
    // - true
    // - false (default)
    //
    // serialize_pane_viewport false
    // Scrollback lines to serialize along with the pane viewport when serializing sessions, 0
    // defaults to the scrollback size. If this number is higher than the scrollback size, it will
    // also default to the scrollback size. This does nothing if `serialize_pane_viewport` is not true.
    //
    // scrollback_lines_to_serialize 10000
    // Enable or disable the rendering of styled and colored underlines (undercurl).
    // May need to be disabled for certain unsupported terminals
    // (Requires restart)
    // Default: true
    //
    // styled_underlines false
    // How often in seconds sessions are serialized
    //
    // serialization_interval 10000
    // Enable or disable writing of session metadata to disk (if disabled, other sessions might not know
    // metadata info on this session)
    // (Requires restart)
    // Default: false
    //
    // disable_session_metadata false
    // Enable or disable support for the enhanced Kitty Keyboard Protocol (the host terminal must also support it)
    // (Requires restart)
    // Default: true (if the host terminal supports it)
    //
    // support_kitty_keyboard_protocol false
    // Whether to stack panes when resizing beyond a certain size
    // Default: true
    //
    // stacked_resize false
    // Whether to show tips on startup
    // Default: true
    //
    show_startup_tips false
    // Whether to show release notes on first version run
    // Default: true
    //
    // show_release_notes false
  • file addition: zed (d--r------)
    [0.11640]
  • file addition: themes (d--r------)
    [0.41507]
  • file addition: .keep (----------)
    [0.41527]
  • file addition: private_settings.json (----------)
    [0.41507]
    // Zed settings
    //
    // For information on how to configure Zed, see the Zed
    // documentation: https://zed.dev/docs/configuring-zed
    //
    // To see all of Zed's default settings without changing your
    // custom settings, run `zed: open default settings` from the
    // command palette (cmd-shift-p / ctrl-shift-p)
    {
    "ssh_connections": [
    {
    "host": "meso",
    "projects": [
    {
    "paths": ["//Work/Users/apraga/"]
    },
    {
    "paths": ["~/vcf2parquet"]
    }
    ]
    }
    ],
    "assistant": {
    "default_model": {
    "provider": "copilot_chat",
    "model": "gpt-4o"
    },
    "version": "2"
    },
    "vim_mode": true,
    "ui_font_size": 18,
    "buffer_font_size": 18,
    "buffer_font_family": "Iosevka Term",
    "theme": {
    "mode": "dark",
    "light": "Catppuccin Latte",
    "dark": "Catppuccin Latte"
    },
    "relative_line_numbers": true
    }
  • file addition: keymap.json (----------)
    [0.41507]
    // Zed keymap
    //
    // For information on binding keys, see the Zed
    // documentation: https://zed.dev/docs/key-bindings
    //
    // To see the default key bindings run `zed: open default keymap`
    // from the command palette.
    [
    {
    "context": "Workspace",
    "bindings": {
    // "shift shift": "file_finder::Toggle"
    }
    },
    {
    "context": "Editor",
    "bindings": {
    // "j k": ["workspace::SendKeystrokes", "escape"]
    }
    },
    {
    "context": "Editor && VimControl && !VimWaiting && !menu",
    "bindings": {
    "space f f": "file_finder::Toggle",
    "space o": "tab_switcher::Toggle",
    "space d": "workspace::ToggleLeftDock",
    "space /": "workspace::NewSearch",
    "n": "search::SelectNextMatch",
    "shift-n": "search::SelectPrevMatch",
    "space t": "workspace::NewCenterTerminal",
    "g b": "editor::ToggleComments",
    "space f s": "workspace::Save",
    "space c": "pane::CloseActiveItem"
    }
    }
    ]
  • file addition: zathura (d--r------)
    [0.11640]
  • file addition: empty_zathurarc (----------)
    [0.43512]
  • file addition: waybar (d--r------)
    [0.11640]
  • file addition: style.css (----------)
    [0.43574]
    * {
    /* `otf-font-awesome` is required to be installed for icons */
    font-family: FontAwesome, Roboto, Helvetica, Arial, sans-serif;
    font-size: 13px;
    }
    window#waybar {
    background-color: rgba(43, 48, 59, 0.5);
    border-bottom: 3px solid rgba(100, 114, 125, 0.5);
    color: #ffffff;
    transition-property: background-color;
    transition-duration: .5s;
    }
    window#waybar.hidden {
    opacity: 0.2;
    }
    /*
    window#waybar.empty {
    background-color: transparent;
    }
    window#waybar.solo {
    background-color: #FFFFFF;
    }
    */
    window#waybar.termite {
    background-color: #3F3F3F;
    }
    window#waybar.chromium {
    background-color: #000000;
    border: none;
    }
    button {
    /* Use box-shadow instead of border so the text isn't offset */
    box-shadow: inset 0 -3px transparent;
    /* Avoid rounded borders under each button name */
    border: none;
    border-radius: 0;
    }
    /* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
    button:hover {
    background: inherit;
    box-shadow: inset 0 -3px #ffffff;
    }
    /* you can set a style on hover for any module like this */
    #pulseaudio:hover {
    background-color: #a37800;
    }
    #workspaces button {
    padding: 0 5px;
    background-color: transparent;
    color: #ffffff;
    }
    #workspaces button:hover {
    background: rgba(0, 0, 0, 0.2);
    }
    #workspaces button.focused {
    background-color: #64727D;
    box-shadow: inset 0 -3px #ffffff;
    }
    #workspaces button.urgent {
    background-color: #eb4d4b;
    }
    #mode {
    background-color: #64727D;
    box-shadow: inset 0 -3px #ffffff;
    }
    #clock,
    #battery,
    #cpu,
    #memory,
    #disk,
    #temperature,
    #backlight,
    #network,
    #pulseaudio,
    #wireplumber,
    #custom-media,
    #tray,
    #mode,
    #idle_inhibitor,
    #scratchpad,
    #power-profiles-daemon,
    #mpd {
    padding: 0 10px;
    color: #ffffff;
    }
    #window,
    #workspaces {
    margin: 0 4px;
    }
    /* 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;
    }
    #clock {
    background-color: #64727D;
    }
    #battery {
    background-color: #ffffff;
    color: #000000;
    }
    #battery.charging, #battery.plugged {
    color: #ffffff;
    background-color: #26A65B;
    }
    @keyframes blink {
    to {
    background-color: #ffffff;
    color: #000000;
    }
    }
    /* Using steps() instead of linear as a timing function to limit cpu usage */
    #battery.critical:not(.charging) {
    background-color: #f53c3c;
    color: #ffffff;
    animation-name: blink;
    animation-duration: 0.5s;
    animation-timing-function: steps(12);
    animation-iteration-count: infinite;
    animation-direction: alternate;
    }
    #power-profiles-daemon {
    padding-right: 15px;
    }
    #power-profiles-daemon.performance {
    background-color: #f53c3c;
    color: #ffffff;
    }
    #power-profiles-daemon.balanced {
    background-color: #2980b9;
    color: #ffffff;
    }
    #power-profiles-daemon.power-saver {
    background-color: #2ecc71;
    color: #000000;
    }
    label:focus {
    background-color: #000000;
    }
    #cpu {
    background-color: #2ecc71;
    color: #000000;
    }
    #memory {
    background-color: #9b59b6;
    }
    #disk {
    background-color: #964B00;
    }
    #backlight {
    background-color: #90b1b1;
    }
    #network {
    background-color: #2980b9;
    }
    #network.disconnected {
    background-color: #f53c3c;
    }
    #pulseaudio {
    background-color: #f1c40f;
    color: #000000;
    }
    #pulseaudio.muted {
    background-color: #90b1b1;
    color: #2a5c45;
    }
    #wireplumber {
    background-color: #fff0f5;
    color: #000000;
    }
    #wireplumber.muted {
    background-color: #f53c3c;
    }
    #custom-media {
    background-color: #66cc99;
    color: #2a5c45;
    min-width: 100px;
    }
    #custom-media.custom-spotify {
    background-color: #66cc99;
    }
    #custom-media.custom-vlc {
    background-color: #ffa000;
    }
    #temperature {
    background-color: #f0932b;
    }
    #temperature.critical {
    background-color: #eb4d4b;
    }
    #tray {
    background-color: #2980b9;
    }
    #tray > .passive {
    -gtk-icon-effect: dim;
    }
    #tray > .needs-attention {
    -gtk-icon-effect: highlight;
    background-color: #eb4d4b;
    }
    #idle_inhibitor {
    background-color: #2d3436;
    }
    #idle_inhibitor.activated {
    background-color: #ecf0f1;
    color: #2d3436;
    }
    #mpd {
    background-color: #66cc99;
    color: #2a5c45;
    }
    #mpd.disconnected {
    background-color: #f53c3c;
    }
    #mpd.stopped {
    background-color: #90b1b1;
    }
    #mpd.paused {
    background-color: #51a37a;
    }
    #language {
    background: #00b093;
    color: #740864;
    padding: 0 5px;
    margin: 0 5px;
    min-width: 16px;
    }
    #keyboard-state {
    background: #97e1ad;
    color: #000000;
    padding: 0 0px;
    margin: 0 5px;
    min-width: 16px;
    }
    #keyboard-state > label {
    padding: 0 5px;
    }
    #keyboard-state > label.locked {
    background: rgba(0, 0, 0, 0.2);
    }
    #scratchpad {
    background: rgba(0, 0, 0, 0.2);
    }
    #scratchpad.empty {
    background-color: transparent;
    }
    #privacy {
    padding: 0;
    }
    #privacy-item {
    padding: 0 5px;
    color: white;
    }
    #privacy-item.screenshare {
    background-color: #cf5700;
    }
    #privacy-item.audio-in {
    background-color: #1ca000;
    }
    #privacy-item.audio-out {
    background-color: #0069d4;
    }
  • file addition: config.jsonc (----------)
    [0.43574]
    // -*- mode: jsonc -*-
    {
    // "layer": "top", // Waybar at top layer
    // "position": "bottom", // Waybar position (top|bottom|left|right)
    "height": 30, // Waybar height (to be removed for auto height)
    // "width": 1280, // Waybar width
    "spacing": 4, // Gaps between modules (4px)
    // Choose the order of the modules
    "modules-left": [
    "hyprland/workspaces",
    "sway/mode",
    "sway/scratchpad",
    "custom/media"
    ],
    "modules-center": [
    "sway/window"
    ],
    "modules-right": [
    "mpd",
    "idle_inhibitor",
    "pulseaudio",
    "network",
    "power-profiles-daemon",
    "cpu",
    "memory",
    "temperature",
    "backlight",
    "keyboard-state",
    "sway/language",
    "battery",
    "battery#bat2",
    "clock",
    "tray"
    ],
    // Modules configuration
    // "hyprland/workspaces": {
    // "disable-scroll": true,
    // "all-outputs": true,
    // "warp-on-scroll": false,
    // "format": "{name}: {icon}",
    // "format-icons": {
    // "1": "",
    // "2": "",
    // "3": "",
    // "4": "",
    // "5": "",
    // "urgent": "",
    // "focused": "",
    // "default": ""
    // }
    // },
    "keyboard-state": {
    "numlock": true,
    "capslock": true,
    "format": "{name} {icon}",
    "format-icons": {
    "locked": "",
    "unlocked": ""
    }
    },
    "sway/mode": {
    "format": "<span style=\"italic\">{}</span>"
    },
    "sway/scratchpad": {
    "format": "{icon} {count}",
    "show-empty": false,
    "format-icons": ["", ""],
    "tooltip": true,
    "tooltip-format": "{app}: {title}"
    },
    "mpd": {
    "format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% ",
    "format-disconnected": "Disconnected ",
    "format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ",
    "unknown-tag": "N/A",
    "interval": 5,
    "consume-icons": {
    "on": " "
    },
    "random-icons": {
    "off": "<span color=\"#f53c3c\"></span> ",
    "on": " "
    },
    "repeat-icons": {
    "on": " "
    },
    "single-icons": {
    "on": "1 "
    },
    "state-icons": {
    "paused": "",
    "playing": ""
    },
    "tooltip-format": "MPD (connected)",
    "tooltip-format-disconnected": "MPD (disconnected)"
    },
    "idle_inhibitor": {
    "format": "{icon}",
    "format-icons": {
    "activated": "",
    "deactivated": ""
    }
    },
    "tray": {
    // "icon-size": 21,
    "spacing": 10
    },
    "clock": {
    // "timezone": "America/New_York",
    "tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
    "format-alt": "{:%Y-%m-%d}"
    },
    "cpu": {
    "format": "{usage}% ",
    "tooltip": false
    },
    "memory": {
    "format": "{}% "
    },
    "temperature": {
    // "thermal-zone": 2,
    // "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input",
    "critical-threshold": 80,
    // "format-critical": "{temperatureC}°C {icon}",
    "format": "{temperatureC}°C {icon}",
    "format-icons": ["", "", ""]
    },
    "backlight": {
    // "device": "acpi_video1",
    "format": "{percent}% {icon}",
    "format-icons": ["", "", "", "", "", "", "", "", ""]
    },
    "battery": {
    "states": {
    // "good": 95,
    "warning": 30,
    "critical": 15
    },
    "format": "{capacity}% {icon}",
    "format-full": "{capacity}% {icon}",
    "format-charging": "{capacity}% ",
    "format-plugged": "{capacity}% ",
    "format-alt": "{time} {icon}",
    // "format-good": "", // An empty format will hide the module
    // "format-full": "",
    "format-icons": ["", "", "", "", ""]
    },
    "battery#bat2": {
    "bat": "BAT2"
    },
    "power-profiles-daemon": {
    "format": "{icon}",
    "tooltip-format": "Power profile: {profile}\nDriver: {driver}",
    "tooltip": true,
    "format-icons": {
    "default": "",
    "performance": "",
    "balanced": "",
    "power-saver": ""
    }
    },
    "network": {
    // "interface": "wlp2*", // (Optional) To force the use of this interface
    "format-wifi": "{essid} ({signalStrength}%) ",
    "format-ethernet": "{ipaddr}/{cidr} ",
    "tooltip-format": "{ifname} via {gwaddr} ",
    "format-linked": "{ifname} (No IP) ",
    "format-disconnected": "Disconnected ⚠",
    "format-alt": "{ifname}: {ipaddr}/{cidr}"
    },
    "pulseaudio": {
    // "scroll-step": 1, // %, can be a float
    "format": "{volume}% {icon} {format_source}",
    "format-bluetooth": "{volume}% {icon} {format_source}",
    "format-bluetooth-muted": " {icon} {format_source}",
    "format-muted": " {format_source}",
    "format-source": "{volume}% ",
    "format-source-muted": "",
    "format-icons": {
    "headphone": "",
    "hands-free": "",
    "headset": "",
    "phone": "",
    "portable": "",
    "car": "",
    "default": ["", "", ""]
    },
    "on-click": "pavucontrol"
    },
    "custom/media": {
    "format": "{icon} {}",
    "return-type": "json",
    "max-length": 40,
    "format-icons": {
    "spotify": "",
    "default": "🎜"
    },
    "escape": true,
    "exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder
    // "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name
    }
    }
  • file addition: tmux (d--r------)
    [0.11640]
  • file addition: tmux.conf (----------)
    [0.55220]
    set-option -g default-shell /usr/bin/nu
    run ~/.config/tmux/plugins/catppuccin/tmux/catppuccin.tmux
    # Advised by neovim :checkhealth
    set-option -a terminal-features 'alacritty:RGB'
  • file addition: systemd (d--r------)
    [0.11640]
  • file addition: user (d--r------)
    [0.55457]
  • file addition: symlink_pipewire-session-manager.service (----------)
    [0.55475]
    /usr/lib/systemd/user/wireplumber.service
  • file addition: ssh-agent.service (----------)
    [0.55475]
    [Unit]
    Description=SSH key agent
    [Service]
    Type=simple
    Environment=SSH_AUTH_SOCK=%t/ssh-agent.socket
    ExecStart=/usr/bin/ssh-agent -D -a $SSH_AUTH_SOCK
    [Install]
    WantedBy=default.target
  • file addition: kanata.service (----------)
    [0.55475]
    [Unit]
    Description=Kanata keyboard remapper
    Documentation=https://github.com/jtroo/kanata
    [Service]
    Environment=PATH=/usr/local/bin:/usr/local/sbin:/usr/bin:/bin
    Environment=DISPLAY=:0
    Environment=HOME=/home/alex
    Type=simple
    ExecStart=/home/alex/.cargo/bin/kanata --cfg /home/alex/arsenik/kanata.kbd
    Restart=no
    [Install]
    WantedBy=default.target
  • file addition: emacs.service (----------)
    [0.55475]
    [Unit]
    Description=Emacs text editor
    Documentation=info:emacs man:emacs(1) https://gnu.org/software/emacs/
    [Service]
    Type=notify
    # Avoid ssh-passphrase in emacs, started by another systmed. ssh-add is in ~/.bas_profil
    Environment=SSH_AUTH_SOCK=%t/ssh-agent.socket
    #ExecStart=/usr/bin/emacs --fg-daemon
    ExecStart=bash -c '. /home/alex/.guix-profile/etc/profile ; emacs --fg-daemon'
    # Emacs will exit with status 15 after having received SIGTERM, which
    # is the default "KillSignal" value systemd uses to stop services.
    SuccessExitStatus=15
    # The location of the SSH auth socket varies by distribution, and some
    # set it from PAM, so don't override by default.
    # Environment=SSH_AUTH_SOCK=%t/keyring/ssh
    Restart=on-failure
    [Install]
    WantedBy=default.target
  • file addition: sway (d--r------)
    [0.11640]
  • file addition: config (----------)
    [0.57021]
    # Windows key
    set $mod Mod4
    # Home row direction keys, like vim
    set $left h
    set $down j
    set $up k
    set $right l
    # Your preferred terminal emulator
    set $term alacritty
    # Your preferred application launcher
    # Note: pass the final command to swaymsg so that the resulting window can be opened
    # on the original workspace that the command was run on.
    set $menu dmenu_path | dmenu | xargs swaymsg exec --
    ### Bepo keyboard
    input type:keyboard {
    xkb_layout "fr"
    xkb_variant "bepo"
    }
    ### Output configuration
    # wallpaper
    # Must be a .png (default compilatin option)
    output * bg /home/alex/pictures/wallpaper.png fill
    exec wlsunset -l 47.5104 -L 6.7985
    ## Key bindings
    #
    # Basics:
    #
    # Start a terminal
    bindsym $mod+Return exec $term
    # Kill focused window
    bindsym $mod+Shift+q kill
    # Start your launcher
    bindsym $mod+d exec $menu
    # Drag floating windows by holding down $mod and left mouse button.
    # Resize them with right mouse button + $mod.
    # Despite the name, also works for non-floating windows.
    # Change normal to inverse to use left mouse button for resizing and right
    # mouse button for dragging.
    floating_modifier $mod normal
    # Reload the configuration file
    bindsym $mod+Shift+c reload
    # Exit sway (logs you out of your Wayland session)
    bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit'
    #
    # Moving around:
    #
    # Move your focus around
    bindsym $mod+$left focus left
    bindsym $mod+$down focus down
    bindsym $mod+$up focus up
    bindsym $mod+$right focus right
    # Or use $mod+[up|down|left|right]
    bindsym $mod+Left focus left
    bindsym $mod+Down focus down
    bindsym $mod+Up focus up
    bindsym $mod+Right focus right
    # Move the focused window with the same, but add Shift
    bindsym $mod+Shift+$left move left
    bindsym $mod+Shift+$down move down
    bindsym $mod+Shift+$up move up
    bindsym $mod+Shift+$right move right
    # Ditto, with arrow keys
    bindsym $mod+Shift+Left move left
    bindsym $mod+Shift+Down move down
    bindsym $mod+Shift+Up move up
    bindsym $mod+Shift+Right move right
    #
    # Workspaces (bepo)
    # Switch to workspace
    bindsym $mod+quotedbl workspace 1
    bindsym $mod+guillemotleft workspace 2
    bindsym $mod+guillemotright workspace 3
    bindsym $mod+parenleft workspace 4
    bindsym $mod+parenright workspace 5
    bindsym $mod+at workspace 6
    bindsym $mod+plus workspace 7
    # Move focused container to workspace
    bindsym $mod+Shift+quotedbl move container to workspace number 1
    bindsym $mod+Shift+guillemotleft move container to workspace number 2
    bindsym $mod+Shift+guillemotright move container to workspace number 3
    bindsym $mod+Shift+parenleft move container to workspace number 4
    bindsym $mod+Shift+parenright move container to workspace number 5
    bindsym $mod+Shift+at move container to workspace number 6
    bindsym $mod+Shift+plus move container to workspace number 7
    # Note: workspaces can have any name you want, not just numbers.
    # We just use 1-10 as the default.
    #
    # Layout stuff:
    #
    # You can "split" the current object of your focus with
    # $mod+b or $mod+v, for horizontal and vertical splits
    # respectively.
    bindsym $mod+b splith
    bindsym $mod+v splitv
    # Switch the current container between different layout styles
    bindsym $mod+s layout stacking
    bindsym $mod+w layout tabbed
    bindsym $mod+e layout toggle split
    # Make the current focus fullscreen
    bindsym $mod+f fullscreen
    # Toggle the current focus between tiling and floating mode
    bindsym $mod+Shift+space floating toggle
    # Swap focus between the tiling area and the floating area
    bindsym $mod+space focus mode_toggle
    # Move focus to the parent container
    bindsym $mod+a focus parent
    #
    # Scratchpad:
    #
    # Sway has a "scratchpad", which is a bag of holding for windows.
    # You can send windows there and get them back later.
    # Move the currently focused window to the scratchpad
    bindsym $mod+Shift+minus move scratchpad
    # Show the next scratchpad window or hide the focused scratchpad window.
    # If there are multiple scratchpad windows, this command cycles through them.
    bindsym $mod+minus scratchpad show
    #
    # Resizing containers:
    #
    mode "resize" {
    # left will shrink the containers width
    # right will grow the containers width
    # up will shrink the containers height
    # down will grow the containers height
    bindsym $left resize shrink width 10px
    bindsym $down resize grow height 10px
    bindsym $up resize shrink height 10px
    bindsym $right resize grow width 10px
    # Ditto, with arrow keys
    bindsym Left resize shrink width 10px
    bindsym Down resize grow height 10px
    bindsym Up resize shrink height 10px
    bindsym Right resize grow width 10px
    # Return to default mode
    bindsym Return mode "default"
    bindsym Escape mode "default"
    }
    bindsym $mod+r mode "resize"
    bindsym $mod+Shift+f exec firefox
    #
    # Status Bar:
    #
    # Read `man 5 sway-bar` for more information about this section.
    bar {
    position top
    # When the status_command prints a new line to stdout, swaybar updates.
    # The default just shows the current date and time.
    status_command while date +'%Y-%m-%d %I:%M:%S %p'; do sleep 1; done
    colors {
    statusline #ffffff
    background #323232
    inactive_workspace #32323200 #32323200 #5c5c5c
    }
    }
    include /etc/sway/config.d/*
  • file addition: rio (d--r------)
    [0.11640]
  • file addition: themes (d--r------)
    [0.62688]
  • file addition: catppuccin-mocha.toml (----------)
    [0.62708]
    [colors]
    # Normal
    foreground = '#cdd6f4'
    background = '#1e1e2e'
    black = '#45475a'
    blue = '#89b4fa'
    cursor = '#f5e0dc'
    cyan = '#94e2d5'
    green = '#a6e3a1'
    magenta = '#f5c2e7'
    red = '#f38ba8'
    white = '#bac2de'
    yellow = '#f9e2af'
    # UI colors
    tabs = '#1e1e2e'
    tabs-foreground = '#cdd6f4'
    tabs-active = '#b4befe'
    tabs-active-highlight = '#b4befe'
    tabs-active-foreground = '#11111b'
    selection-foreground = '#1e1e2e'
    selection-background = '#f5e0dc'
    # Dim colors
    dim-black = '#45475a'
    dim-blue = '#89b4fa'
    dim-cyan = '#94e2d5'
    dim-foreground = '#cdd6f4'
    dim-green = '#a6e3a1'
    dim-magenta = '#f5c2e7'
    dim-red = '#f38ba8'
    dim-white = '#bac2de'
    dim-yellow = '#f9e2af'
    # Light colors
    light-black = '#585b70'
    light-blue = '#89b4fa'
    light-cyan = '#94e2d5'
    light-foreground = '#cdd6f4'
    light-green = '#a6e3a1'
    light-magenta = '#f5c2e7'
    light-red = '#f38ba8'
    light-white = '#a6adc8'
    light-yellow = '#f9e2af'
  • file addition: catppuccin-macchiato.toml (----------)
    [0.62708]
    [colors]
    # Normal
    foreground = '#cad3f5'
    background = '#24273a'
    black = '#494d64'
    blue = '#8aadf4'
    cursor = '#f4dbd6'
    cyan = '#8bd5ca'
    green = '#a6da95'
    magenta = '#f5bde6'
    red = '#ed8796'
    white = '#b8c0e0'
    yellow = '#eed49f'
    # UI colors
    tabs = '#24273a'
    tabs-foreground = '#cad3f5'
    tabs-active = '#b7bdf8'
    tabs-active-highlight = '#b7bdf8'
    tabs-active-foreground = '#181926'
    selection-foreground = '#24273a'
    selection-background = '#f4dbd6'
    # Dim colors
    dim-black = '#494d64'
    dim-blue = '#8aadf4'
    dim-cyan = '#8bd5ca'
    dim-foreground = '#cad3f5'
    dim-green = '#a6da95'
    dim-magenta = '#f5bde6'
    dim-red = '#ed8796'
    dim-white = '#b8c0e0'
    dim-yellow = '#eed49f'
    # Light colors
    light-black = '#5b6078'
    light-blue = '#8aadf4'
    light-cyan = '#8bd5ca'
    light-foreground = '#cad3f5'
    light-green = '#a6da95'
    light-magenta = '#f5bde6'
    light-red = '#ed8796'
    light-white = '#a5adcb'
    light-yellow = '#eed49f'
  • file addition: catppuccin-latte.toml (----------)
    [0.62708]
    [colors]
    # Normal
    foreground = '#4c4f69'
    background = '#eff1f5'
    black = '#bcc0cc'
    blue = '#1e66f5'
    cursor = '#dc8a78'
    cyan = '#179299'
    green = '#40a02b'
    magenta = '#ea76cb'
    red = '#d20f39'
    white = '#5c5f77'
    yellow = '#df8e1d'
    # UI colors
    tabs = '#eff1f5'
    tabs-foreground = '#4c4f69'
    tabs-active = '#7287fd'
    tabs-active-highlight = '#7287fd'
    tabs-active-foreground = '#dce0e8'
    selection-foreground = '#eff1f5'
    selection-background = '#dc8a78'
    # Dim colors
    dim-black = '#bcc0cc'
    dim-blue = '#1e66f5'
    dim-cyan = '#179299'
    dim-foreground = '#4c4f69'
    dim-green = '#40a02b'
    dim-magenta = '#ea76cb'
    dim-red = '#d20f39'
    dim-white = '#5c5f77'
    dim-yellow = '#df8e1d'
    # Light colors
    light-black = '#acb0be'
    light-blue = '#1e66f5'
    light-cyan = '#179299'
    light-foreground = '#4c4f69'
    light-green = '#40a02b'
    light-magenta = '#ea76cb'
    light-red = '#d20f39'
    light-white = '#6c6f85'
    light-yellow = '#df8e1d'
  • file addition: catppuccin-frappe.toml (----------)
    [0.62708]
    [colors]
    # Normal
    foreground = '#c6d0f5'
    background = '#303446'
    black = '#51576d'
    blue = '#8caaee'
    cursor = '#f2d5cf'
    cyan = '#81c8be'
    green = '#a6d189'
    magenta = '#f4b8e4'
    red = '#e78284'
    white = '#b5bfe2'
    yellow = '#e5c890'
    # UI colors
    tabs = '#303446'
    tabs-foreground = '#c6d0f5'
    tabs-active = '#babbf1'
    tabs-active-highlight = '#babbf1'
    tabs-active-foreground = '#232634'
    selection-foreground = '#303446'
    selection-background = '#f2d5cf'
    # Dim colors
    dim-black = '#51576d'
    dim-blue = '#8caaee'
    dim-cyan = '#81c8be'
    dim-foreground = '#c6d0f5'
    dim-green = '#a6d189'
    dim-magenta = '#f4b8e4'
    dim-red = '#e78284'
    dim-white = '#b5bfe2'
    dim-yellow = '#e5c890'
    # Light colors
    light-black = '#626880'
    light-blue = '#8caaee'
    light-cyan = '#81c8be'
    light-foreground = '#c6d0f5'
    light-green = '#a6d189'
    light-magenta = '#f4b8e4'
    light-red = '#e78284'
    light-white = '#a5adce'
    light-yellow = '#e5c890'
  • file addition: config.toml (----------)
    [0.62688]
    # Hide the cursor while typing
    #
    # Default is `false`
    #
    # hide-cursor-when-typing = false
    # Ignore theme selection foreground color
    #
    # Default is false
    #
    # Example:
    # ignore-selection-foreground-color = false
    # Theme
    #
    # It makes Rio look for the specified theme in the themes folder
    # (macos: ~/.config/rio/themes/dracula.toml)
    # (linux: $XDG_HOME_CONFIG/rio/themes/dracula.toml or ~/.config/rio/themes/dracula.toml)
    # (windows: C:\Users\USER\AppData\Local\rio\themes\dracula.toml)
    #
    # Example:
    theme = "catppuccin-mocha"
    # Padding-x
    #
    # define x axis padding (default is 0)
    #
    # Example:
    # padding-x = 10
    # Padding-y
    #
    # define y axis padding based on a format [top, bottom]
    # (default is [0, 0])
    #
    # Example:
    # padding-y = [30, 10]
    # Option as Alt
    #
    # This config only works on MacOS.
    # Possible choices: 'both', 'left' and 'right'.
    #
    # Example:
    # option-as-alt = 'left'
    # Line height
    #
    # This option will apply an modifier to line-height
    # Default is `1.0`
    #
    # Example:
    # line-height = 1.2
    # Startup directory
    #
    # Directory the shell is started in. If this is unset the working
    # directory of the parent process will be used.
    #
    # This configuration only has effect if use-fork is disabled.
    #
    # Example:
    # working-dir = "/Users/raphael/Documents/"
    # Environment variables
    #
    # Example:
    # env-vars = []
    # Use fork
    #
    # Defaults for POSIX-based systems (Windows is not configurable):
    # MacOS: spawn processes
    # Linux/BSD: fork processes
    #
    # Example:
    # use-fork = false
    # Confirm before exiting Rio
    # Default is `true`
    #
    # confirm-before-quit = false
    # Cursor
    #
    # shape - Default cursor shape is 'block'
    # Other available options are: 'underline', 'beam' or 'hidden'
    #
    # blinking - Whether the cursor blinks. The default is false
    #
    # blinking-interval - Cursor update on milliseconds interval
    #
    # [cursor]
    # shape = 'block'
    # blinking = false
    # blinking-interval = 800
    # Editor
    #
    # Default editor on Linux and MacOS is "vi",
    # on Windows it is "notepad".
    #
    # Whenever the key binding `OpenConfigEditor` is triggered it will
    # use the value of the editor along with the rio configuration path.
    # [editor]
    # program = "vi"
    # args = []
    # Window configuration
    #
    # • width - define the initial window width.
    # Default: 600
    #
    # • height - define the initial window height.
    # Default: 400
    #
    # • mode - define how the window will be created
    # - "Windowed" (default) is based on width and height
    # - "Maximized" window is created with maximized
    # - "Fullscreen" window is created with fullscreen
    #
    # • opacity - Set window opacity
    #
    # • blur - Set blur on the window background. Changing this config requires restarting Rio to take effect.
    #
    # • decorations - Set window decorations, options: "Enabled", "Disabled", "Transparent", "Buttonless"
    #
    # Example:
    # [window]
    # width = 600
    # height = 400
    # mode = "windowed"
    # opacity = 1.0
    # blur = false
    # decorations = "enabled"
    # Renderer
    #
    # • Performance: Set WGPU rendering performance
    # - High: Adapter that has the highest performance. This is often a discrete GPU.
    # - Low: Adapter that uses the least possible power. This is often an integrated GPU.
    #
    # • Backend: Set WGPU rendering backend
    # - Automatic: Leave Sugarloaf/WGPU to decide
    # - GL: Supported on Linux/Android, and Windows and macOS/iOS via ANGLE
    # - Vulkan: Supported on Windows, Linux/Android
    # - DX12: Supported on Windows 10
    # - Metal: Supported on macOS/iOS
    #
    # • disable-unfocused-render: This property disable renderer processes while Rio is unfocused.
    #
    # • level: Configure renderer level
    # - Available options: 0 and 1.
    # Higher the level more rendering features and computations
    # will be done like enable font ligatures or emoji support.
    # For more information please check the docs.
    #
    # • filters: A list of paths to RetroArch slang shaders. Might not work with OpenGL.
    #
    # Example:
    # [renderer]
    # performance = "high"
    # backend = "automatic"
    # disable-unfocused-render = false
    # level = 1
    # filters = []
    [renderer]
    performance = "high"
    backend = "automatic"
    disable-unfocused-render = false
    level = 1
    filters = []
    # Keyboard
    #
    # use-kitty-keyboard-protocol - Enable Kitty Keyboard protocol
    #
    # disable-ctlseqs-alt - Disable ctlseqs with ALT keys
    # - For example: Terminal.app does not deal with ctlseqs with ALT keys
    #
    # Example:
    # [keyboard]
    # use-kitty-keyboard-protocol = false
    # disable-ctlseqs-alt = false
    # Fonts
    #
    # Configure fonts used by the terminal
    #
    # Note: You can set different font families but Rio terminal
    # will always look for regular font bounds whene
    #
    # You can also set family on root to overwrite all fonts.
    [fonts]
    size = 18
    family = "Aporetic Sans Mono"
    #family = "Iosevka Term"
    # #
    # You can also specify extra fonts to load
    # [fonts]
    # extras = [{ family = "Microsoft JhengHei" }]
    #
    # In case you want to specify any font feature:
    # [fonts]
    # features = ["ss02", "ss03", "ss05", "ss19"]
    #
    # Note: Font features do not have support to live reload on configuration,
    # so to reflect your changes, you will need to close and reopen Rio.
    #
    # You can also disable font hinting. Font hinting is enabled by default.
    # [fonts]
    # hinting = false
    #
    # You can also map the specified Unicode codepoints to a particular font.
    # [fonts]
    # symbol-map = [
    # { start = "2297", end = "2299", font-family = "Cascadia Code NF" }
    # ]
    #
    # Simple example:
    # [fonts]
    # size = 18
    #
    # [fonts.regular]
    # family = "cascadiamono"
    # style = "Normal"
    # weight = 400
    #
    # [fonts.bold]
    # family = "cascadiamono"
    # style = "Normal"
    # weight = 800
    #
    # [fonts.italic]
    # family = "cascadiamono"
    # style = "Italic"
    # weight = 400
    #
    # [fonts.bold-italic]
    # family = "cascadiamono"
    # style = "Italic"
    # weight = 800
    # Scroll
    #
    # You can change how many lines are scrolled each time by setting this option.
    #
    # Scroll calculation for canonical mode will be based on `lines = (accumulated scroll * multiplier / divider)`,
    # If you want a quicker scroll, keep increasing the multiplier.
    # If you want to reduce scroll speed you will need to increase the divider.
    # You can use both properties also to find the best scroll for you.
    #
    # Multiplier default is 3.0.
    # Divider default is 1.0.
    # Example:
    # [scroll]
    # multiplier = 3.0
    # divider = 1.0
    # Navigation
    #
    # "mode" - Define navigation mode
    # • NativeTab (MacOS only)
    # • Bookmark
    # • BottomTab
    # • TopTab
    # • Plain
    #
    # "hide-if-single" - Hide navigation UI if is single.
    # "clickable" - Enable click on tabs to switch.
    # "use-current-path" - Use same path whenever a new tab is created (Note: requires `use-fork` to be set to false).
    # "color-automation" - Set a specific color for the tab whenever a specific program is running, or in a specific directory.
    #
    # Example:
    # [navigation]
    # mode = "bookmark"
    # clickable = false
    # hide-if-single = true
    # use-current-path = false
    # color-automation = []
    # Shell
    #
    # You can set `shell.program` to the path of your favorite shell, e.g. `/bin/fish`.
    # Entries in `shell.args` are passed unmodified as arguments to the shell.
    #
    # Default:
    # - (macOS) user login shell
    # - (Linux/BSD) user login shell
    # - (Windows) powershell
    #
    # Example 1 using fish shell from bin path:
    #
    # [shell]
    # program = "/bin/fish"
    # args = ["--login"]
    #
    # Example 2 for Windows using powershell
    #
    # [shell]
    # program = "pwsh"
    # args = []
    #
    # Example 3 for Windows using powershell with login
    #
    # [shell]
    # program = "pwsh"
    # args = ["-l"]
    #
    # Example 4 for MacOS with tmux installed by homebrew
    #
    # [shell]
    # program = "/opt/homebrew/bin/tmux"
    # args = ["new-session", "-c", "/var/www"]
    [shell]
    program = "nu"
    # Colors
    #
    # Colors definition will overwrite any property in theme
    # (considering if theme folder does exists and is being used)
    #
    # Example:
    # [colors]
    # background = '#0F0D0E'
    # foreground = '#F9F4DA'
    # cursor = '#F38BA3'
    # tabs = '#443d40'
    # tabs-active = '#F38BA3'
    # green = '#0BA95B'
    # red = '#ED203D'
    # blue = '#12B5E5'
    # yellow = '#FCBA28'
    # Bindings
    #
    # Create custom Key bindings for Rio terminal
    # More information in: https://raphamorim.io/rio/docs/key-bindings
    #
    # Example:
    # [bindings]
    # keys = [
    # { key = "q", with = "super", action = "Quit" },
    # # Bytes[27, 91, 53, 126] is equivalent to "\x1b[5~"
    # { key = "home", with = "super | shift", bytes = [27, 91, 53, 126] }
    # ]
    # Platform
    #
    # Rio now allows you to have different configurations per OS
    # You can write ovewrite properties like `Shell`, `Navigation`
    # and `Window`.
    #
    # Example:
    # [shell]
    # # default (in this case will be used only on MacOS)
    # program = "/bin/fish"
    # args = ["--login"]
    #
    # [platform]
    # # Microsoft Windows overwrite
    # windows.shell.program = "pwsh"
    # windows.shell.args = ["-l"]
    #
    # # Linux overwrite
    # linux.shell.program = "tmux"
    # linux.shell.args = ["new-session", "-c", "/var/www"]
    # Log level
    #
    # This property enables log level filter and file. The default level is "OFF" and the logs are not logged to a file as default.
    #
    # Example:
    # [developer]
    # log-level = "OFF"
    # enable-log-file = false
  • file addition: redshift.conf (----------)
    [0.11640]
    [redshift]
    location-provide=manual
    [manual]
    lat=47.226
    lon=5.942
  • file addition: private_vale (d--r------)
    [0.11640]
  • file addition: dot_vale.ini (----------)
    [0.76614]
    MinAlertLevel = suggestion
    [*]
    BasedOnStyles = Vale
  • file addition: papis (d--r------)
    [0.11640]
  • file addition: config (----------)
    [0.76725]
    [settings]
    default-library = papers
    notes-name = notes.norg
    database-backend = whoosh
    doctor-key-type-check-keys = ['year:int', 'month:int', 'files:list', 'notes:str', 'author_list:list', 'doi:str', 'ref:str', 'isbn:str', 'author:str', 'journal:str', 'note:str', 'type:str', 'publisher:str', 'title:str', 'shorttitle:str', 'tags:list']
    doctor-key-type-check-separator = ' '
    [papers]
    dir = ~/papers
    add-folder-name = '{doc[title]}'
  • file addition: nvim (d--r------)
    [0.11640]
  • file addition: stylua.toml (----------)
    [0.77208]
    indent_type = "Spaces"
    indent_width = 2
    column_width = 120
  • file addition: lua (d--r------)
    [0.77208]
  • file addition: workout.lua (----------)
    [0.77321]
    local W = {}
    -- Local variables (module-scoped)
    local current_field = 1
    local function save_workout(workout_data)
    local entry = { "- date: " .. workout_data.date, " type: " .. workout_data.type }
    -- Add fields dynamically
    for field, value in pairs(workout_data) do
    if field ~= "date" and field ~= "type" then
    if field == "exercises" then
    table.insert(entry, " exercises:")
    for exercise in value:gmatch("[^,]+") do
    table.insert(entry, " - " .. exercise:match("^%s*(.-)%s*$")) -- trim whitespace
    end
    else
    table.insert(entry, " " .. field .. ": " .. value)
    end
    end
    end
    table.insert(entry, "")
    local workout_file = "/home/alex/notes/sport.yaml"
    local file = io.open(workout_file, "a")
    if file then
    file:write(table.concat(entry, "\n") .. "\n")
    file:close()
    print("✓ " .. workout_data.type .. " workout logged!")
    else
    print("✗ Error: Could not open workout file")
    end
    end
    -- Local helper functions
    local function collect_next_field(data, config)
    if current_field > #config then
    -- All fields collected, save workout
    save_workout(data)
    return
    end
    local field_config = config[current_field]
    vim.ui.input({ prompt = field_config.prompt }, function(input)
    if field_config.required and not input then
    return
    end
    if input then
    data[field_config.field] = input
    end
    current_field = current_field + 1
    collect_next_field(data, config)
    end)
    end
    -- Public function (exported)
    function W.capture()
    local workout_configs = {
    handstand = {
    type = "équilibre",
    exercises = {
    { field = "durée", prompt = "Durée (sec): ", required = true },
    },
    },
    climbing = {
    type = "escalade",
    exercises = {
    { field = "durée", prompt = "Durée (min): ", required = true },
    },
    },
    running = {
    type = "course",
    exercises = {
    { field = "durée", prompt = "Durée (min): ", required = true },
    },
    },
    roller = {
    type = "roller",
    exercises = {
    { field = "durée", prompt = "Durée (sec): ", required = true },
    { field = "notes", prompt = "Notes: ", required = false },
    },
    },
    stretching = {
    type = "étirement", -- Fixed: was "tyepe"
    exercises = {
    { field = "hamstring", prompt = "Hamstring (sec): ", required = true },
    { field = "fenêtre", prompt = "Fenêtre (sec): ", required = true },
    { field = "pigeon", prompt = "Pigeon (sec): ", required = true },
    { field = "butterfly", prompt = "Butterfly (sec): ", required = true },
    { field = "middle_split", prompt = "Middle split (sec): ", required = true },
    { field = "pancake", prompt = "Pancake (sec): ", required = true },
    },
    },
    muscu = {
    type = "muscu",
    exercises = {
    { field = "pseudo_muscle_up", prompt = "Pseudo muscle up (reps): ", required = false },
    { field = "l-sit", prompt = "L-sit(sec): ", required = false },
    { field = "compression", prompt = "Compression (reps): ", required = false },
    { field = "extension", prompt = "Extension (reps): ", required = false },
    { field = "push_up_tucked", prompt = "Push up tucked (reps): ", required = false },
    { field = "planche_tucked", prompt = "Planche tucked (sec): ", required = false },
    },
    },
    }
    vim.ui.select(
    { "muscu", "roller", "handstand", "running", "stretching", "climbing" }, -- Added "climbing"
    { prompt = "Workout type:" },
    function(workout)
    if not workout then
    return
    end
    local config = workout_configs[workout]
    local data = {
    type = config.type, -- Fixed: proper access to type
    date = os.date("%Y-%m-%d"),
    }
    current_field = 1 -- Reset for each capture
    collect_next_field(data, config.exercises) -- Fixed: proper access to exercises
    end
    )
    end
    return W
  • file addition: plugins (d--r------)
    [0.77321]
  • file addition: telescope.lua (----------)
    [0.81369]
    return {
    {
    "nvim-telescope/telescope.nvim",
    config = function()
    require("telescope").setup({
    extensions = {
    bibtex = {
    global_files = { "/home/alexis/research/biblio.bib" },
    -- custom_formats = { { id = "md-pandoc", format = "[lol-@%s]" } },
    custom_formats = {
    { id = "pandoc", cite_marker = "[@%s]" },
    },
    format = "pandoc",
    },
    },
    })
    end,
    },
    {
    "nvim-telescope/telescope-bibtex.nvim",
    requires = {
    { "nvim-telescope/telescope.nvim" },
    },
    config = function()
    require("telescope").load_extension("bibtex")
    end,
    },
    }
  • file addition: kiwi.lua (----------)
    [0.81369]
    -- return {
    -- "vimwiki/vimwiki",
    -- event = "BufEnter *.md",
    -- -- The keys that trigger the plugin
    -- keys = { "<leader>ww", "<leader>wt" },
    -- init = function()
    -- vim.g.vimwiki_list = {
    -- {
    -- path = "~/notes/",
    -- -- The syntax for the wiki
    -- syntax = "markdown",
    -- ext = "md",
    -- },
    -- }
    -- -- vim.g.vimwiki_ext2syntax = {}
    -- end,
    -- }
    --
    return {
    "serenevoid/kiwi.nvim",
    opts = {
    {
    name = "notes",
    path = "~/notes",
    },
    },
    keys = {
    { "<leader>ww", ':lua require("kiwi").open_wiki_index()<cr>', desc = "Open Wiki index" },
    },
    lazy = true,
    }
  • file addition: image.lua (----------)
    [0.81369]
    return {
    "3rd/image.nvim",
    build = false, -- so that it doesn't build the rock https://github.com/3rd/image.nvim/issues/91#issuecomment-2453430239
    opts = {
    processor = "magick_cli",
    backend = "ueberzug",
    integrations = {
    markdown = {
    enabled = true,
    clear_in_insert_mode = false,
    download_remote_images = true,
    only_render_image_at_cursor = false,
    filetypes = { "markdown", "vimwiki" }, -- markdown extensions (ie. quarto) can go here
    },
    },
    },
    }
  • file addition: core.lua (----------)
    [0.81369]
    -- every spec file under the "plugins" directory will be loaded automatically by lazy.nvim
    --
    -- In your plugin files, you can:
    -- * add extra plugins
    -- * disable/enabled LazyVim plugins
    -- * override the configuration of LazyVim plugins
    return {
    -- add gruvbox
    { "ellisonleao/gruvbox.nvim" },
    }
  • file addition: colorscheme.lua (----------)
    [0.81369]
    -- lua/plugins/rose-pine.lua
    return {
    {
    "catppuccin/nvim",
    name = "catppuccin",
    lazy = false,
    config = function()
    vim.cmd("colorscheme catppuccin-mocha")
    end,
    },
    -- "rose-pine/neovim",
    -- name = "rose-pine",
    -- config = function()
    -- vim.cmd("colorscheme rose-pine-moon")
    -- end,
    -- }
    }
  • file addition: config (d--r------)
    [0.77321]
  • file addition: options.lua (----------)
    [0.84085]
    -- Options are automatically loaded before lazy.nvim startup
    -- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua
    -- Add any additional options here
  • file addition: lazy.lua (----------)
    [0.84085]
    local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
    if not (vim.uv or vim.loop).fs_stat(lazypath) then
    local lazyrepo = "https://github.com/folke/lazy.nvim.git"
    local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
    if vim.v.shell_error ~= 0 then
    vim.api.nvim_echo({
    { "Failed to clone lazy.nvim:\n", "ErrorMsg" },
    { out, "WarningMsg" },
    { "\nPress any key to exit..." },
    }, true, {})
    vim.fn.getchar()
    os.exit(1)
    end
    end
    vim.opt.rtp:prepend(lazypath)
    require("lazy").setup({
    spec = {
    -- add LazyVim and import its plugins
    { "LazyVim/LazyVim", import = "lazyvim.plugins" },
    -- import/override with your plugins
    { import = "plugins" },
    },
    defaults = {
    -- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup.
    -- If you know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default.
    lazy = false,
    -- It's recommended to leave version=false for now, since a lot the plugin that support versioning,
    -- have outdated releases, which may break your Neovim install.
    version = false, -- always use the latest git commit
    -- version = "*", -- try installing the latest stable version for plugins that support semver
    },
    install = { colorscheme = { "gruvbox" } },
    checker = {
    enabled = true, -- check for plugin updates periodically
    notify = false, -- notify on update
    }, -- automatically check for plugin updates
    performance = {
    rtp = {
    -- disable some rtp plugins
    disabled_plugins = {
    "gzip",
    -- "matchit",
    -- "matchparen",
    -- "netrwPlugin",
    "tarPlugin",
    "tohtml",
    "tutor",
    "zipPlugin",
    },
    },
    },
    })
  • file addition: keymaps.lua (----------)
    [0.84085]
    -- Keymaps are automatically loaded on the VeryLazy event
    -- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua
    -- Add any additional keymaps here
  • file addition: autocmds.lua (----------)
    [0.84085]
    -- Autocmds are automatically loaded on the VeryLazy event
    -- Default autocmds that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/autocmds.lua
    --
    -- Add any additional autocmds here
    -- with `vim.api.nvim_create_autocmd`
    --
    -- Or remove existing autocmds by their group name (which is prefixed with `lazyvim_` for the defaults)
    -- e.g. vim.api.nvim_del_augroup_by_name("lazyvim_wrap_spell")
    vim.api.nvim_create_autocmd("FileType", {
    pattern = { "markdown" },
    callback = function()
    vim.opt_local.spell = false
    end,
    })
  • file addition: lazyvim.json (----------)
    [0.77208]
    {
    "extras": [
    "lazyvim.plugins.extras.lang.markdown",
    "lazyvim.plugins.extras.lang.nix"
    ],
    "install_version": 8,
    "news": {
    "NEWS.md": "10960"
    },
    "version": 8
    }
  • file addition: lazy-lock.json (----------)
    [0.77208]
    {
    "LazyVim": { "branch": "main", "commit": "25abbf546d564dc484cf903804661ba12de45507" },
    "blink.cmp": { "branch": "main", "commit": "9bcb14b43852a6f2bfd5ac9ef29cb5cf09b1b39b" },
    "bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" },
    "catppuccin": { "branch": "main", "commit": "fa42eb5e26819ef58884257d5ae95dd0552b9a66" },
    "conform.nvim": { "branch": "master", "commit": "8132ec733eed3bf415b97b76797ca41b59f51d7d" },
    "flash.nvim": { "branch": "main", "commit": "3c942666f115e2811e959eabbdd361a025db8b63" },
    "friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
    "gitsigns.nvim": { "branch": "main", "commit": "1b0350ab707713b2bc6c236151f1a324175347b1" },
    "grug-far.nvim": { "branch": "main", "commit": "b3f9412b1ed76f14cfc68e1ee899873544330c80" },
    "gruvbox.nvim": { "branch": "main", "commit": "58a2cda2e953a99e2f87c12b7fb4602da4e0709c" },
    "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
    "lazydev.nvim": { "branch": "main", "commit": "2367a6c0a01eb9edb0464731cc0fb61ed9ab9d2c" },
    "lualine.nvim": { "branch": "master", "commit": "a94fc68960665e54408fe37dcf573193c4ce82c9" },
    "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" },
    "mason-lspconfig.nvim": { "branch": "main", "commit": "1a31f824b9cd5bc6f342fc29e9a53b60d74af245" },
    "mason.nvim": { "branch": "main", "commit": "fc98833b6da5de5a9c5b1446ac541577059555be" },
    "mini.ai": { "branch": "main", "commit": "d172ada7b0281044a06cb9a625a862553c457b6f" },
    "mini.icons": { "branch": "main", "commit": "94848dad1589a199f876539bd79befb0c5e3abf0" },
    "mini.pairs": { "branch": "main", "commit": "42407ccb80ec59c84e7c91d815f42ed90a8cc093" },
    "noice.nvim": { "branch": "main", "commit": "0427460c2d7f673ad60eb02b35f5e9926cf67c59" },
    "nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
    "nvim-lint": { "branch": "master", "commit": "2b0039b8be9583704591a13129c600891ac2c596" },
    "nvim-lspconfig": { "branch": "master", "commit": "6bba673aa8993eceec233be17b42ddfb9540794b" },
    "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
    "nvim-treesitter-textobjects": { "branch": "master", "commit": "89ebe73cd2836db80a22d9748999ace0241917a5" },
    "nvim-ts-autotag": { "branch": "main", "commit": "a1d526af391f6aebb25a8795cbc05351ed3620b5" },
    "persistence.nvim": { "branch": "main", "commit": "166a79a55bfa7a4db3e26fc031b4d92af71d0b51" },
    "plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
    "render-markdown.nvim": { "branch": "main", "commit": "c809fc129f842a7055c672593d24be6346bcc673" },
    "rose-pine": { "branch": "main", "commit": "f93360149e9ed4df8677fbb07c7231ea0fd03b97" },
    "snacks.nvim": { "branch": "main", "commit": "bc0630e43be5699bb94dadc302c0d21615421d93" },
    "telekasten.nvim": { "branch": "main", "commit": "6a10a7929421d6e696e46bbc5aa5627a8cbcf61d" },
    "telescope-bibtex.nvim": { "branch": "master", "commit": "289a6f86ebec06e8ae1590533b732b9981d84900" },
    "telescope.nvim": { "branch": "master", "commit": "b4da76be54691e854d3e0e02c36b0245f945c2c7" },
    "todo-comments.nvim": { "branch": "main", "commit": "304a8d204ee787d2544d8bc23cd38d2f929e7cc5" },
    "tokyonight.nvim": { "branch": "main", "commit": "057ef5d260c1931f1dffd0f052c685dcd14100a3" },
    "trouble.nvim": { "branch": "main", "commit": "85bedb7eb7fa331a2ccbecb9202d8abba64d37b3" },
    "ts-comments.nvim": { "branch": "main", "commit": "1bd9d0ba1d8b336c3db50692ffd0955fe1bb9f0c" },
    "which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" },
    "zk-nvim": { "branch": "main", "commit": "b18782530b23ad118d578c0fa0e4d0b8d386db4c" }
    }
  • file addition: init.lua (----------)
    [0.77208]
    -- bootstrap lazy.nvim, LazyVim and your plugins
    require("config.lazy")
    local workout = require("workout")
    vim.keymap.set("n", "<leader>wc", workout.capture, { desc = "Capture workout" })
  • file addition: dot_neoconf.json (----------)
    [0.77208]
    {
    "neodev": {
    "library": {
    "enabled": true,
    "plugins": true
    }
    },
    "neoconf": {
    "plugins": {
    "lua_ls": {
    "enabled": true
    }
    }
    }
    }
  • file addition: dot_gitignore (----------)
    [0.77208]
    tt.*
    .tests
    doc/tags
    debug
    .repro
    foo.*
    *.log
    data
  • file addition: README.md (----------)
    [0.77208]
    # 💤 LazyVim
    A starter template for [LazyVim](https://github.com/LazyVim/LazyVim).
    Refer to the [documentation](https://lazyvim.github.io/installation) to get started.
  • file addition: LICENSE (----------)
    [0.77208]
    Apache License
    Version 2.0, January 2004
    http://www.apache.org/licenses/
    TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
    1. Definitions.
    "License" shall mean the terms and conditions for use, reproduction,
    and distribution as defined by Sections 1 through 9 of this document.
    "Licensor" shall mean the copyright owner or entity authorized by
    the copyright owner that is granting the License.
    "Legal Entity" shall mean the union of the acting entity and all
    other entities that control, are controlled by, or are under common
    control with that entity. For the purposes of this definition,
    "control" means (i) the power, direct or indirect, to cause the
    direction or management of such entity, whether by contract or
    otherwise, or (ii) ownership of fifty percent (50%) or more of the
    outstanding shares, or (iii) beneficial ownership of such entity.
    "You" (or "Your") shall mean an individual or Legal Entity
    exercising permissions granted by this License.
    "Source" form shall mean the preferred form for making modifications,
    including but not limited to software source code, documentation
    source, and configuration files.
    "Object" form shall mean any form resulting from mechanical
    transformation or translation of a Source form, including but
    not limited to compiled object code, generated documentation,
    and conversions to other media types.
    "Work" shall mean the work of authorship, whether in Source or
    Object form, made available under the License, as indicated by a
    copyright notice that is included in or attached to the work
    (an example is provided in the Appendix below).
    "Derivative Works" shall mean any work, whether in Source or Object
    form, that is based on (or derived from) the Work and for which the
    editorial revisions, annotations, elaborations, or other modifications
    represent, as a whole, an original work of authorship. For the purposes
    of this License, Derivative Works shall not include works that remain
    separable from, or merely link (or bind by name) to the interfaces of,
    the Work and Derivative Works thereof.
    "Contribution" shall mean any work of authorship, including
    the original version of the Work and any modifications or additions
    to that Work or Derivative Works thereof, that is intentionally
    submitted to Licensor for inclusion in the Work by the copyright owner
    or by an individual or Legal Entity authorized to submit on behalf of
    the copyright owner. For the purposes of this definition, "submitted"
    means any form of electronic, verbal, or written communication sent
    to the Licensor or its representatives, including but not limited to
    communication on electronic mailing lists, source code control systems,
    and issue tracking systems that are managed by, or on behalf of, the
    Licensor for the purpose of discussing and improving the Work, but
    excluding communication that is conspicuously marked or otherwise
    designated in writing by the copyright owner as "Not a Contribution."
    "Contributor" shall mean Licensor and any individual or Legal Entity
    on behalf of whom a Contribution has been received by Licensor and
    subsequently incorporated within the Work.
    2. Grant of Copyright License. Subject to the terms and conditions of
    this License, each Contributor hereby grants to You a perpetual,
    worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    copyright license to reproduce, prepare Derivative Works of,
    publicly display, publicly perform, sublicense, and distribute the
    Work and such Derivative Works in Source or Object form.
    3. Grant of Patent License. Subject to the terms and conditions of
    this License, each Contributor hereby grants to You a perpetual,
    worldwide, non-exclusive, no-charge, royalty-free, irrevocable
    (except as stated in this section) patent license to make, have made,
    use, offer to sell, sell, import, and otherwise transfer the Work,
    where such license applies only to those patent claims licensable
    by such Contributor that are necessarily infringed by their
    Contribution(s) alone or by combination of their Contribution(s)
    with the Work to which such Contribution(s) was submitted. If You
    institute patent litigation against any entity (including a
    cross-claim or counterclaim in a lawsuit) alleging that the Work
    or a Contribution incorporated within the Work constitutes direct
    or contributory patent infringement, then any patent licenses
    granted to You under this License for that Work shall terminate
    as of the date such litigation is filed.
    4. Redistribution. You may reproduce and distribute copies of the
    Work or Derivative Works thereof in any medium, with or without
    modifications, and in Source or Object form, provided that You
    meet the following conditions:
    (a) You must give any other recipients of the Work or
    Derivative Works a copy of this License; and
    (b) You must cause any modified files to carry prominent notices
    stating that You changed the files; and
    (c) You must retain, in the Source form of any Derivative Works
    that You distribute, all copyright, patent, trademark, and
    attribution notices from the Source form of the Work,
    excluding those notices that do not pertain to any part of
    the Derivative Works; and
    (d) If the Work includes a "NOTICE" text file as part of its
    distribution, then any Derivative Works that You distribute must
    include a readable copy of the attribution notices contained
    within such NOTICE file, excluding those notices that do not
    pertain to any part of the Derivative Works, in at least one
    of the following places: within a NOTICE text file distributed
    as part of the Derivative Works; within the Source form or
    documentation, if provided along with the Derivative Works; or,
    within a display generated by the Derivative Works, if and
    wherever such third-party notices normally appear. The contents
    of the NOTICE file are for informational purposes only and
    do not modify the License. You may add Your own attribution
    notices within Derivative Works that You distribute, alongside
    or as an addendum to the NOTICE text from the Work, provided
    that such additional attribution notices cannot be construed
    as modifying the License.
    You may add Your own copyright statement to Your modifications and
    may provide additional or different license terms and conditions
    for use, reproduction, or distribution of Your modifications, or
    for any such Derivative Works as a whole, provided Your use,
    reproduction, and distribution of the Work otherwise complies with
    the conditions stated in this License.
    5. Submission of Contributions. Unless You explicitly state otherwise,
    any Contribution intentionally submitted for inclusion in the Work
    by You to the Licensor shall be under the terms and conditions of
    this License, without any additional terms or conditions.
    Notwithstanding the above, nothing herein shall supersede or modify
    the terms of any separate license agreement you may have executed
    with Licensor regarding such Contributions.
    6. Trademarks. This License does not grant permission to use the trade
    names, trademarks, service marks, or product names of the Licensor,
    except as required for reasonable and customary use in describing the
    origin of the Work and reproducing the content of the NOTICE file.
    7. Disclaimer of Warranty. Unless required by applicable law or
    agreed to in writing, Licensor provides the Work (and each
    Contributor provides its Contributions) on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
    implied, including, without limitation, any warranties or conditions
    of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
    PARTICULAR PURPOSE. You are solely responsible for determining the
    appropriateness of using or redistributing the Work and assume any
    risks associated with Your exercise of permissions under this License.
    8. Limitation of Liability. In no event and under no legal theory,
    whether in tort (including negligence), contract, or otherwise,
    unless required by applicable law (such as deliberate and grossly
    negligent acts) or agreed to in writing, shall any Contributor be
    liable to You for damages, including any direct, indirect, special,
    incidental, or consequential damages of any character arising as a
    result of this License or out of the use or inability to use the
    Work (including but not limited to damages for loss of goodwill,
    work stoppage, computer failure or malfunction, or any and all
    other commercial damages or losses), even if such Contributor
    has been advised of the possibility of such damages.
    9. Accepting Warranty or Additional Liability. While redistributing
    the Work or Derivative Works thereof, You may choose to offer,
    and charge a fee for, acceptance of support, warranty, indemnity,
    or other liability obligations and/or rights consistent with this
    License. However, in accepting such obligations, You may act only
    on Your own behalf and on Your sole responsibility, not on behalf
    of any other Contributor, and only if You agree to indemnify,
    defend, and hold each Contributor harmless for any liability
    incurred by, or claims asserted against, such Contributor by reason
    of your accepting any such warranty or additional liability.
    END OF TERMS AND CONDITIONS
    APPENDIX: How to apply the Apache License to your work.
    To apply the Apache License to your work, attach the following
    boilerplate notice, with the fields enclosed by brackets "[]"
    replaced with your own identifying information. (Don't include
    the brackets!) The text should be enclosed in the appropriate
    comment syntax for the file format. We also recommend that a
    file or class name and description of purpose be included on the
    same "printed page" as the copyright notice for easier
    identification within third-party archives.
    Copyright [yyyy] [name of copyright owner]
    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at
    http://www.apache.org/licenses/LICENSE-2.0
    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
  • file addition: .neoconf.json (----------)
    [0.77208]
    {
    "neodev": {
    "library": {
    "enabled": true,
    "plugins": true
    }
    },
    "neoconf": {
    "plugins": {
    "lua_ls": {
    "enabled": true
    }
    }
    }
    }
  • file addition: nushell (d--r------)
    [0.11640]
  • file addition: env.nu (----------)
    [0.103533]
    # Nushell Environment Config File
    #
    # version = "0.84.0"
    def create_left_prompt [] {
    mut home = ""
    try {
    if $nu.os-info.name == "windows" {
    $home = $env.USERPROFILE
    } else {
    $home = $env.HOME
    }
    }
    let dir = ([
    ($env.PWD | str substring 0..($home | str length) | str replace $home "~"),
    ($env.PWD | str substring ($home | str length)..)
    ] | str join)
    let path_color = (if (is-admin) { ansi red_bold } else { ansi green_bold })
    let separator_color = (if (is-admin) { ansi light_red_bold } else { ansi light_green_bold })
    let path_segment = $"($path_color)($dir)"
    $path_segment | str replace --all (char path_sep) $"($separator_color)/($path_color)"
    }
    def create_right_prompt [] {
    # create a right prompt in magenta with green separators and am/pm underlined
    let time_segment = ([
    (ansi reset)
    (ansi magenta)
    (date now | format date '%Y/%m/%d %r')
    ] | str join | str replace --regex --all "([/:])" $"(ansi green)${1}(ansi magenta)" |
    str replace --regex --all "([AP]M)" $"(ansi magenta_underline)${1}")
    let last_exit_code = if ($env.LAST_EXIT_CODE != 0) {([
    (ansi rb)
    ($env.LAST_EXIT_CODE)
    ] | str join)
    } else { "" }
    ([$last_exit_code, (char space), $time_segment] | str join)
    }
    # Use nushell functions to define your right and left prompt
    $env.PROMPT_COMMAND = {|| create_left_prompt }
    # $env.PROMPT_COMMAND_RIGHT = {|| create_right_prompt }
    # The prompt indicators are environmental variables that represent
    # the state of the prompt
    $env.PROMPT_INDICATOR = {|| "> " }
    $env.PROMPT_INDICATOR_VI_INSERT = {|| ": " }
    $env.PROMPT_INDICATOR_VI_NORMAL = {|| "> " }
    $env.PROMPT_MULTILINE_INDICATOR = {|| "::: " }
    # Specifies how environment variables are:
    # - converted from a string to a value on Nushell startup (from_string)
    # - converted from a value back to a string when running external commands (to_string)
    # Note: The conversions happen *after* config.nu is loaded
    $env.ENV_CONVERSIONS = {
    "PATH": {
    from_string: { |s| $s | split row (char esep) | path expand --no-symlink }
    to_string: { |v| $v | path expand --no-symlink | str join (char esep) }
    }
    "Path": {
    from_string: { |s| $s | split row (char esep) | path expand --no-symlink }
    to_string: { |v| $v | path expand --no-symlink | str join (char esep) }
    }
    }
    # Directories to search for scripts when calling source or use
    $env.NU_LIB_DIRS = [
    # ($nu.default-config-dir | path join 'scripts') # add <nushell-config-dir>/scripts
    ]
    # Directories to search for plugin binaries when calling register
    $env.NU_PLUGIN_DIRS = [
    # ($nu.default-config-dir | path join 'plugins') # add <nushell-config-dir>/plugins
    ]
    #$env.LS_COLORS = $"(vivid generate catppuccin-latte)"
    $env.EDITOR = "hx"
    # User systmed config starts ssh-agent
    $env.SSH_AUTH_SOCK = $"($env.XDG_RUNTIME_DIR)/ssh-agent.socket"
    $env.GTK_IM_MODULE = "fcitx"
    $env.QT_IM_MODULE = "fcitx"
    $env.XMODIFIERS = "@im=fcitx"
    $env.PATH ++= ['~/.cargo/bin']
    # Zoxide support
    zoxide init nushell | save -f ~/.zoxide.nu
  • file addition: config.nu (----------)
    [0.103533]
    # Nushell Config File
    #
    # version = "0.94.2"
    # For more information on defining custom themes, see
    # https://www.nushell.sh/book/coloring_and_theming.html
    # And here is the theme collection
    # https://github.com/nushell/nu_scripts/tree/main/themes
    let dark_theme = {
    # color for nushell primitives
    separator: white
    leading_trailing_space_bg: { attr: n } # no fg, no bg, attr none effectively turns this off
    header: green_bold
    empty: blue
    # Closures can be used to choose colors for specific values.
    # The value (in this case, a bool) is piped into the closure.
    # eg) {|| if $in { 'light_cyan' } else { 'light_gray' } }
    bool: light_cyan
    int: white
    filesize: cyan
    duration: white
    date: purple
    range: white
    float: white
    string: white
    nothing: white
    binary: white
    cell-path: white
    row_index: green_bold
    record: white
    list: white
    block: white
    hints: dark_gray
    search_result: { bg: red fg: white }
    shape_and: purple_bold
    shape_binary: purple_bold
    shape_block: blue_bold
    shape_bool: light_cyan
    shape_closure: green_bold
    shape_custom: green
    shape_datetime: cyan_bold
    shape_directory: cyan
    shape_external: cyan
    shape_externalarg: green_bold
    shape_external_resolved: light_yellow_bold
    shape_filepath: cyan
    shape_flag: blue_bold
    shape_float: purple_bold
    # shapes are used to change the cli syntax highlighting
    shape_garbage: { fg: white bg: red attr: b}
    shape_globpattern: cyan_bold
    shape_int: purple_bold
    shape_internalcall: cyan_bold
    shape_keyword: cyan_bold
    shape_list: cyan_bold
    shape_literal: blue
    shape_match_pattern: green
    shape_matching_brackets: { attr: u }
    shape_nothing: light_cyan
    shape_operator: yellow
    shape_or: purple_bold
    shape_pipe: purple_bold
    shape_range: yellow_bold
    shape_record: cyan_bold
    shape_redirection: purple_bold
    shape_signature: green_bold
    shape_string: green
    shape_string_interpolation: cyan_bold
    shape_table: blue_bold
    shape_variable: purple
    shape_vardecl: purple
    shape_raw_string: light_purple
    }
    let light_theme = {
    # color for nushell primitives
    separator: dark_gray
    leading_trailing_space_bg: { attr: n } # no fg, no bg, attr none effectively turns this off
    header: green_bold
    empty: blue
    # Closures can be used to choose colors for specific values.
    # The value (in this case, a bool) is piped into the closure.
    # eg) {|| if $in { 'dark_cyan' } else { 'dark_gray' } }
    bool: dark_cyan
    int: dark_gray
    filesize: cyan_bold
    duration: dark_gray
    date: purple
    range: dark_gray
    float: dark_gray
    string: dark_gray
    nothing: dark_gray
    binary: dark_gray
    cell-path: dark_gray
    row_index: green_bold
    record: dark_gray
    list: dark_gray
    block: dark_gray
    hints: dark_gray
    search_result: { fg: white bg: red }
    shape_and: purple_bold
    shape_binary: purple_bold
    shape_block: blue_bold
    shape_bool: light_cyan
    shape_closure: green_bold
    shape_custom: green
    shape_datetime: cyan_bold
    shape_directory: cyan
    shape_external: cyan
    shape_externalarg: green_bold
    shape_external_resolved: light_purple_bold
    shape_filepath: cyan
    shape_flag: blue_bold
    shape_float: purple_bold
    # shapes are used to change the cli syntax highlighting
    shape_garbage: { fg: white bg: red attr: b}
    shape_globpattern: cyan_bold
    shape_int: purple_bold
    shape_internalcall: cyan_bold
    shape_keyword: cyan_bold
    shape_list: cyan_bold
    shape_literal: blue
    shape_match_pattern: green
    shape_matching_brackets: { attr: u }
    shape_nothing: light_cyan
    shape_operator: yellow
    shape_or: purple_bold
    shape_pipe: purple_bold
    shape_range: yellow_bold
    shape_record: cyan_bold
    shape_redirection: purple_bold
    shape_signature: green_bold
    shape_string: green
    shape_string_interpolation: cyan_bold
    shape_table: blue_bold
    shape_variable: purple
    shape_vardecl: purple
    shape_raw_string: light_purple
    }
    # External completer example
    # let carapace_completer = {|spans|
    # carapace $spans.0 nushell ...$spans | from json
    # }
    # The default config record. This is where much of your global configuration is setup.
    $env.config = {
    show_banner: false # true or false to enable or disable the welcome banner at startup
    ls: {
    use_ls_colors: true # use the LS_COLORS environment variable to colorize output
    clickable_links: true # enable or disable clickable links. Your terminal has to support links.
    }
    rm: {
    always_trash: false # always act as if -t was given. Can be overridden with -p
    }
    table: {
    mode: rounded # basic, compact, compact_double, light, thin, with_love, rounded, reinforced, heavy, none, other
    index_mode: always # "always" show indexes, "never" show indexes, "auto" = show indexes when a table has "index" column
    show_empty: true # show 'empty list' and 'empty record' placeholders for command output
    padding: { left: 1, right: 1 } # a left right padding of each column in a table
    trim: {
    methodology: wrapping # wrapping or truncating
    wrapping_try_keep_words: true # A strategy used by the 'wrapping' methodology
    truncating_suffix: "..." # A suffix used by the 'truncating' methodology
    }
    header_on_separator: false # show header text on separator/border line
    # abbreviated_row_count: 10 # limit data rows from top and bottom after reaching a set point
    }
    error_style: "fancy" # "fancy" or "plain" for screen reader-friendly error messages
    # datetime_format determines what a datetime rendered in the shell would look like.
    # Behavior without this configuration point will be to "humanize" the datetime display,
    # showing something like "a day ago."
    datetime_format: {
    # normal: '%a, %d %b %Y %H:%M:%S %z' # shows up in displays of variables or other datetime's outside of tables
    # table: '%m/%d/%y %I:%M:%S%p' # generally shows up in tabular outputs such as ls. commenting this out will change it to the default human readable datetime format
    }
    explore: {
    status_bar_background: { fg: "#1D1F21", bg: "#C4C9C6" },
    command_bar_text: { fg: "#C4C9C6" },
    highlight: { fg: "black", bg: "yellow" },
    status: {
    error: { fg: "white", bg: "red" },
    warn: {}
    info: {}
    },
    table: {
    split_line: { fg: "#404040" },
    selected_cell: { bg: light_blue },
    selected_row: {},
    selected_column: {},
    },
    }
    history: {
    max_size: 100_000 # Session has to be reloaded for this to take effect
    sync_on_enter: true # Enable to share history between multiple sessions, else you have to close the session to write history to file
    file_format: "plaintext" # "sqlite" or "plaintext"
    isolation: false # only available with sqlite file_format. true enables history isolation, false disables it. true will allow the history to be isolated to the current session using up/down arrows. false will allow the history to be shared across all sessions.
    }
    completions: {
    case_sensitive: false # set to true to enable case-sensitive completions
    quick: true # set this to false to prevent auto-selecting completions when only one remains
    partial: true # set this to false to prevent partial filling of the prompt
    algorithm: "prefix" # prefix or fuzzy
    external: {
    enable: true # set to false to prevent nushell looking into $env.PATH to find more suggestions, `false` recommended for WSL users as this look up may be very slow
    max_results: 100 # setting it lower can improve completion performance at the cost of omitting some options
    completer: null # check 'carapace_completer' above as an example
    }
    use_ls_colors: true # set this to true to enable file/path/directory completions using LS_COLORS
    }
    cursor_shape: {
    emacs: line # block, underscore, line, blink_block, blink_underscore, blink_line, inherit to skip setting cursor shape (line is the default)
    vi_insert: block # block, underscore, line, blink_block, blink_underscore, blink_line, inherit to skip setting cursor shape (block is the default)
    vi_normal: underscore # block, underscore, line, blink_block, blink_underscore, blink_line, inherit to skip setting cursor shape (underscore is the default)
    }
    # color_config: $light_theme # if you want a more interesting theme, you can replace the empty record with `$dark_theme`, `$light_theme` or another custom record
    # color_config: $dark_theme # if you want a more interesting theme, you can replace the empty record with `$dark_theme`, `$light_theme` or another custom record
    footer_mode: "always"
    float_precision: 2 # the precision for displaying floats in tables
    buffer_editor: "" # command that will be used to edit the current line buffer with ctrl+o, if unset fallback to $env.EDITOR and $env.VISUAL
    use_ansi_coloring: true
    bracketed_paste: true # enable bracketed paste, currently useless on windows
    edit_mode: emacs # emacs, vi
    shell_integration: {
    # osc2 abbreviates the path if in the home_dir, sets the tab/window title, shows the running command in the tab/window title
    osc2: true
    # osc7 is a way to communicate the path to the terminal, this is helpful for spawning new tabs in the same directory
    osc7: true
    # osc8 is also implemented as the deprecated setting ls.show_clickable_links, it shows clickable links in ls output if your terminal supports it. show_clickable_links is deprecated in favor of osc8
    osc8: true
    # osc9_9 is from ConEmu and is starting to get wider support. It's similar to osc7 in that it communicates the path to the terminal
    osc9_9: false
    # osc133 is several escapes invented by Final Term which include the supported ones below.
    # 133;A - Mark prompt start
    # 133;B - Mark prompt end
    # 133;C - Mark pre-execution
    # 133;D;exit - Mark execution finished with exit code
    # This is used to enable terminals to know where the prompt is, the command is, where the command finishes, and where the output of the command is
    osc133: true
    # osc633 is closely related to osc133 but only exists in visual studio code (vscode) and supports their shell integration features
    # 633;A - Mark prompt start
    # 633;B - Mark prompt end
    # 633;C - Mark pre-execution
    # 633;D;exit - Mark execution finished with exit code
    # 633;E - NOT IMPLEMENTED - Explicitly set the command line with an optional nonce
    # 633;P;Cwd=<path> - Mark the current working directory and communicate it to the terminal
    # and also helps with the run recent menu in vscode
    osc633: true
    # reset_application_mode is escape \x1b[?1l and was added to help ssh work better
    reset_application_mode: true
    }
    render_right_prompt_on_last_line: false # true or false to enable or disable right prompt to be rendered on last line of the prompt.
    use_kitty_protocol: false # enables keyboard enhancement protocol implemented by kitty console, only if your terminal support this.
    highlight_resolved_externals: false # true enables highlighting of external commands in the repl resolved by which.
    recursion_limit: 50 # the maximum number of times nushell allows recursion before stopping it
    plugins: {} # Per-plugin configuration. See https://www.nushell.sh/contributor-book/plugins.html#configuration.
    plugin_gc: {
    # Configuration for plugin garbage collection
    default: {
    enabled: true # true to enable stopping of inactive plugins
    stop_after: 10sec # how long to wait after a plugin is inactive to stop it
    }
    plugins: {
    # alternate configuration for specific plugins, by name, for example:
    #
    # gstat: {
    # enabled: false
    # }
    }
    }
    hooks: {
    pre_prompt: [{ null }] # run before the prompt is shown
    pre_execution: [{ null }] # run before the repl input is run
    env_change: {
    PWD: [
    { ||
    if (which direnv | is-empty) {
    return
    }
    direnv export json | from json | default {} | load-env
    }
    ] # run if the PWD environment is different since the last repl input
    }
    display_output: "if (term size).columns >= 100 { table -e } else { table }" # run to display the output of a pipeline
    command_not_found: { null } # return an error message when a command is not found
    }
    menus: [
    # Configuration for default nushell menus
    # Note the lack of source parameter
    {
    name: completion_menu
    only_buffer_difference: false
    marker: "| "
    type: {
    layout: columnar
    columns: 4
    col_width: 20 # Optional value. If missing all the screen width is used to calculate column width
    col_padding: 2
    }
    style: {
    text: green
    selected_text: { attr: r }
    description_text: yellow
    match_text: { attr: u }
    selected_match_text: { attr: ur }
    }
    }
    {
    name: ide_completion_menu
    only_buffer_difference: false
    marker: "| "
    type: {
    layout: ide
    min_completion_width: 0,
    max_completion_width: 50,
    max_completion_height: 10, # will be limited by the available lines in the terminal
    padding: 0,
    border: true,
    cursor_offset: 0,
    description_mode: "prefer_right"
    min_description_width: 0
    max_description_width: 50
    max_description_height: 10
    description_offset: 1
    # If true, the cursor pos will be corrected, so the suggestions match up with the typed text
    #
    # C:\> str
    # str join
    # str trim
    # str split
    correct_cursor_pos: false
    }
    style: {
    text: green
    selected_text: { attr: r }
    description_text: yellow
    match_text: { attr: u }
    selected_match_text: { attr: ur }
    }
    }
    {
    name: history_menu
    only_buffer_difference: true
    marker: "? "
    type: {
    layout: list
    page_size: 10
    }
    style: {
    text: green
    selected_text: green_reverse
    description_text: yellow
    }
    }
    {
    name: help_menu
    only_buffer_difference: true
    marker: "? "
    type: {
    layout: description
    columns: 4
    col_width: 20 # Optional value. If missing all the screen width is used to calculate column width
    col_padding: 2
    selection_rows: 4
    description_rows: 10
    }
    style: {
    text: green
    selected_text: green_reverse
    description_text: yellow
    }
    }
    ]
    keybindings: [
    {
    name: completion_menu
    modifier: none
    keycode: tab
    mode: [emacs vi_normal vi_insert]
    event: {
    until: [
    { send: menu name: completion_menu }
    { send: menunext }
    { edit: complete }
    ]
    }
    }
    {
    name: ide_completion_menu
    modifier: control
    keycode: char_n
    mode: [emacs vi_normal vi_insert]
    event: {
    until: [
    { send: menu name: ide_completion_menu }
    { send: menunext }
    { edit: complete }
    ]
    }
    }
    {
    name: history_menu
    modifier: control
    keycode: char_r
    mode: [emacs, vi_insert, vi_normal]
    event: { send: menu name: history_menu }
    }
    {
    name: help_menu
    modifier: none
    keycode: f1
    mode: [emacs, vi_insert, vi_normal]
    event: { send: menu name: help_menu }
    }
    {
    name: completion_previous_menu
    modifier: shift
    keycode: backtab
    mode: [emacs, vi_normal, vi_insert]
    event: { send: menuprevious }
    }
    {
    name: next_page_menu
    modifier: control
    keycode: char_x
    mode: emacs
    event: { send: menupagenext }
    }
    {
    name: undo_or_previous_page_menu
    modifier: control
    keycode: char_z
    mode: emacs
    event: {
    until: [
    { send: menupageprevious }
    { edit: undo }
    ]
    }
    }
    {
    name: escape
    modifier: none
    keycode: escape
    mode: [emacs, vi_normal, vi_insert]
    event: { send: esc } # NOTE: does not appear to work
    }
    {
    name: cancel_command
    modifier: control
    keycode: char_c
    mode: [emacs, vi_normal, vi_insert]
    event: { send: ctrlc }
    }
    {
    name: quit_shell
    modifier: control
    keycode: char_d
    mode: [emacs, vi_normal, vi_insert]
    event: { send: ctrld }
    }
    {
    name: clear_screen
    modifier: control
    keycode: char_l
    mode: [emacs, vi_normal, vi_insert]
    event: { send: clearscreen }
    }
    {
    name: search_history
    modifier: control
    keycode: char_q
    mode: [emacs, vi_normal, vi_insert]
    event: { send: searchhistory }
    }
    {
    name: open_command_editor
    modifier: control
    keycode: char_o
    mode: [emacs, vi_normal, vi_insert]
    event: { send: openeditor }
    }
    {
    name: move_up
    modifier: none
    keycode: up
    mode: [emacs, vi_normal, vi_insert]
    event: {
    until: [
    { send: menuup }
    { send: up }
    ]
    }
    }
    {
    name: move_down
    modifier: none
    keycode: down
    mode: [emacs, vi_normal, vi_insert]
    event: {
    until: [
    { send: menudown }
    { send: down }
    ]
    }
    }
    {
    name: move_left
    modifier: none
    keycode: left
    mode: [emacs, vi_normal, vi_insert]
    event: {
    until: [
    { send: menuleft }
    { send: left }
    ]
    }
    }
    {
    name: move_right_or_take_history_hint
    modifier: none
    keycode: right
    mode: [emacs, vi_normal, vi_insert]
    event: {
    until: [
    { send: historyhintcomplete }
    { send: menuright }
    { send: right }
    ]
    }
    }
    {
    name: move_one_word_left
    modifier: control
    keycode: left
    mode: [emacs, vi_normal, vi_insert]
    event: { edit: movewordleft }
    }
    {
    name: move_one_word_right_or_take_history_hint
    modifier: control
    keycode: right
    mode: [emacs, vi_normal, vi_insert]
    event: {
    until: [
    { send: historyhintwordcomplete }
    { edit: movewordright }
    ]
    }
    }
    {
    name: move_to_line_start
    modifier: none
    keycode: home
    mode: [emacs, vi_normal, vi_insert]
    event: { edit: movetolinestart }
    }
    {
    name: move_to_line_start
    modifier: control
    keycode: char_a
    mode: [emacs, vi_normal, vi_insert]
    event: { edit: movetolinestart }
    }
    {
    name: move_to_line_end_or_take_history_hint
    modifier: none
    keycode: end
    mode: [emacs, vi_normal, vi_insert]
    event: {
    until: [
    { send: historyhintcomplete }
    { edit: movetolineend }
    ]
    }
    }
    {
    name: move_to_line_end_or_take_history_hint
    modifier: control
    keycode: char_e
    mode: [emacs, vi_normal, vi_insert]
    event: {
    until: [
    { send: historyhintcomplete }
    { edit: movetolineend }
    ]
    }
    }
    {
    name: move_to_line_start
    modifier: control
    keycode: home
    mode: [emacs, vi_normal, vi_insert]
    event: { edit: movetolinestart }
    }
    {
    name: move_to_line_end
    modifier: control
    keycode: end
    mode: [emacs, vi_normal, vi_insert]
    event: { edit: movetolineend }
    }
    {
    name: move_up
    modifier: control
    keycode: char_p
    mode: [emacs, vi_normal, vi_insert]
    event: {
    until: [
    { send: menuup }
    { send: up }
    ]
    }
    }
    {
    name: move_down
    modifier: control
    keycode: char_t
    mode: [emacs, vi_normal, vi_insert]
    event: {
    until: [
    { send: menudown }
    { send: down }
    ]
    }
    }
    {
    name: delete_one_character_backward
    modifier: none
    keycode: backspace
    mode: [emacs, vi_insert]
    event: { edit: backspace }
    }
    {
    name: delete_one_word_backward
    modifier: control
    keycode: backspace
    mode: [emacs, vi_insert]
    event: { edit: backspaceword }
    }
    {
    name: delete_one_character_forward
    modifier: none
    keycode: delete
    mode: [emacs, vi_insert]
    event: { edit: delete }
    }
    {
    name: delete_one_character_forward
    modifier: control
    keycode: delete
    mode: [emacs, vi_insert]
    event: { edit: delete }
    }
    {
    name: delete_one_character_backward
    modifier: control
    keycode: char_h
    mode: [emacs, vi_insert]
    event: { edit: backspace }
    }
    {
    name: delete_one_word_backward
    modifier: control
    keycode: char_w
    mode: [emacs, vi_insert]
    event: { edit: backspaceword }
    }
    {
    name: move_left
    modifier: none
    keycode: backspace
    mode: vi_normal
    event: { edit: moveleft }
    }
    {
    name: newline_or_run_command
    modifier: none
    keycode: enter
    mode: emacs
    event: { send: enter }
    }
    {
    name: move_left
    modifier: control
    keycode: char_b
    mode: emacs
    event: {
    until: [
    { send: menuleft }
    { send: left }
    ]
    }
    }
    {
    name: move_right_or_take_history_hint
    modifier: control
    keycode: char_f
    mode: emacs
    event: {
    until: [
    { send: historyhintcomplete }
    { send: menuright }
    { send: right }
    ]
    }
    }
    {
    name: redo_change
    modifier: control
    keycode: char_g
    mode: emacs
    event: { edit: redo }
    }
    {
    name: undo_change
    modifier: control
    keycode: char_z
    mode: emacs
    event: { edit: undo }
    }
    {
    name: paste_before
    modifier: control
    keycode: char_y
    mode: emacs
    event: { edit: pastecutbufferbefore }
    }
    {
    name: cut_word_left
    modifier: control
    keycode: char_w
    mode: emacs
    event: { edit: cutwordleft }
    }
    {
    name: cut_line_to_end
    modifier: control
    keycode: char_k
    mode: emacs
    event: { edit: cuttoend }
    }
    {
    name: cut_line_from_start
    modifier: control
    keycode: char_u
    mode: emacs
    event: { edit: cutfromstart }
    }
    {
    name: swap_graphemes
    modifier: control
    keycode: char_t
    mode: emacs
    event: { edit: swapgraphemes }
    }
    {
    name: move_one_word_left
    modifier: alt
    keycode: left
    mode: emacs
    event: { edit: movewordleft }
    }
    {
    name: move_one_word_right_or_take_history_hint
    modifier: alt
    keycode: right
    mode: emacs
    event: {
    until: [
    { send: historyhintwordcomplete }
    { edit: movewordright }
    ]
    }
    }
    {
    name: move_one_word_left
    modifier: alt
    keycode: char_b
    mode: emacs
    event: { edit: movewordleft }
    }
    {
    name: move_one_word_right_or_take_history_hint
    modifier: alt
    keycode: char_f
    mode: emacs
    event: {
    until: [
    { send: historyhintwordcomplete }
    { edit: movewordright }
    ]
    }
    }
    {
    name: delete_one_word_forward
    modifier: alt
    keycode: delete
    mode: emacs
    event: { edit: deleteword }
    }
    {
    name: delete_one_word_backward
    modifier: alt
    keycode: backspace
    mode: emacs
    event: { edit: backspaceword }
    }
    {
    name: delete_one_word_backward
    modifier: alt
    keycode: char_m
    mode: emacs
    event: { edit: backspaceword }
    }
    {
    name: cut_word_to_right
    modifier: alt
    keycode: char_d
    mode: emacs
    event: { edit: cutwordright }
    }
    {
    name: upper_case_word
    modifier: alt
    keycode: char_u
    mode: emacs
    event: { edit: uppercaseword }
    }
    {
    name: lower_case_word
    modifier: alt
    keycode: char_l
    mode: emacs
    event: { edit: lowercaseword }
    }
    {
    name: capitalize_char
    modifier: alt
    keycode: char_c
    mode: emacs
    event: { edit: capitalizechar }
    }
    # The following bindings with `*system` events require that Nushell has
    # been compiled with the `system-clipboard` feature.
    # This should be the case for Windows, macOS, and most Linux distributions
    # Not available for example on Android (termux)
    # If you want to use the system clipboard for visual selection or to
    # paste directly, uncomment the respective lines and replace the version
    # using the internal clipboard.
    {
    name: copy_selection
    modifier: control_shift
    keycode: char_c
    mode: emacs
    event: { edit: copyselection }
    # event: { edit: copyselectionsystem }
    }
    {
    name: cut_selection
    modifier: control_shift
    keycode: char_x
    mode: emacs
    event: { edit: cutselection }
    # event: { edit: cutselectionsystem }
    }
    # {
    # name: paste_system
    # modifier: control_shift
    # keycode: char_v
    # mode: emacs
    # event: { edit: pastesystem }
    # }
    {
    name: select_all
    modifier: control_shift
    keycode: char_a
    mode: emacs
    event: { edit: selectall }
    }
    ]
    }
    # Yazi wrapper
    def --env y [...args] {
    let tmp = (mktemp -t "yazi-cwd.XXXXXX")
    yazi ...$args --cwd-file $tmp
    let cwd = (open $tmp)
    if $cwd != "" and $cwd != $env.PWD {
    cd $cwd
    }
    rm -fp $tmp
    }
    # Clone https://github.com/nushell/nu_scripts/tree/main/themes/nu-themes
    # use /home/alex/.config/nushell/nu_scripts/themes/nu-themes/gruvbox-dark.nu
    # $env.config = ($env.config | merge {color_config: (gruvbox-dark)})
    # source /home/alex/.config/nushell/nu_scripts/themes/nu-themes/gruvbox-dark.nu
    alias b = buku
    alias c = chezmoi
    alias t = task
    alias tt = taskwarrior-tui
    alias m = neomutt
    alias h = hx
    alias ll = eza
    # Jump to a directory with "z"
    source ~/.zoxide.nu
    # Better prompt
    mkdir ($nu.data-dir | path join "vendor/autoload")
    starship init nu | save -f ($nu.data-dir | path join "vendor/autoload/starship.nu")
    # Better shell history
    source ~/.local/share/atuin/init.nu
  • file addition: nix (d--r------)
    [0.11640]
  • file addition: nix.conf (----------)
    [0.137525]
    experimental-features = nix-command flakes
  • file addition: neomutt (d--r------)
    [0.11640]
  • file addition: neomuttrc (----------)
    [0.137623]
    #---- Mail setup ----
    set from = "alexis@praga.dev"
    set realname = "Alexis Praga"
    set mbox_type = Maildir # an we avoid that ?
    set folder = "~/mail"
    set sendmail = "msmtp"
    # notmuch
    set nm_default_url = "notmuch:///home/alex/mail"
    set virtual_spoolfile=yes # enable virtual folders
    virtual-mailboxes \
    "INBOX" "notmuch://?query=tag:new"\
    "Archives" "notmuch://?query=tag:archive"\
    "Unread" "notmuch://?query=tag:unread"\
    "Starred" "notmuch://?query=tag:*"\
    "Sent" "notmuch://?query=tag:sent" # sets up queries for virtual folders
    # notmuch bindings
    macro index s "<vfolder-from-query>" # looks up a hand made query
    macro index a "<modify-labels>+archive -unread -new<enter>" # tag as Archived
    bind index g noop
    bind pager g noop
    macro index,pager gi "<change-vfolder>!<enter>" "Go to Inbox"
    macro index,pager ga "<change-vfolder>Archives<enter>" "Go to Inbox"
    macro index,pager gs "<change-vfolder>Sent<enter>" "Go to Inbox"
    macro index d "<modify-labels-then-hide>-new -unread +deleted<enter>" # tag as Junk mail
    macro index + "<modify-labels>+*<enter><sync-mailbox>" # tag as starred
    macro index - "<modify-labels>-*<enter><sync-mailbox>" # tag as unstarred
    macro index - "<modify-labels>-*<enter><sync-mailbox>" # tag as unstarred
    # Adress completion
    set query_command = "notmuch address %s"
    set query_format = "%5c %t %a %n %?e?(%e)?"
    bind editor <Tab> complete-query
    # mailbox settings
    set spoolfile = +INBOX
    set postponed = +Drafts
    set record = +Sent
    set trash = +Trash
    # cache settings
    set header_cache = "~/.cache/mutt/infomaniak/header_cache"
    set message_cachedir = "~/.cache/mutt/infomaniak/message_cache"
    # synchronization settings ['s' to sync]
    macro index S "<shell-escape>mbsync -a<enter>" "sync email"
    #---- Esthetic setup ----
    # set sidebar_visible = yes
    # Better sort
    set sort = 'threads'
    set sort_aux = 'reverse-date-received'
    # view html automatically
    auto_view text/html
    alternative_order text/plain text/enriched text/html
    # Catppuccin mocha
    color normal default default # Text is "Text"
    color index color2 default ~N # New Messages are Green
    color index color1 default ~F # Flagged messages are Red
    color index color13 default ~T # Tagged Messages are Red
    color index color1 default ~D # Messages to delete are Red
    color attachment color5 default # Attachments are Pink
    color signature color8 default # Signatures are Surface 2
    color search color4 default # Highlighted results are Blue
    color indicator default color8 # currently highlighted message Surface 2=Background Text=Foreground
    color error color1 default # error messages are Red
    color status color15 default # status line "Subtext 0"
    color tree color15 default # thread tree arrows Subtext 0
    color tilde color15 default # blank line padding Subtext 0
    color hdrdefault color13 default # default headers Pink
    color header color13 default "^From:"
    color header color13 default "^Subject:"
    color quoted color15 default # Subtext 0
    color quoted1 color7 default # Subtext 1
    color quoted2 color8 default # Surface 2
    color quoted3 color0 default # Surface 1
    color quoted4 color0 default
    color quoted5 color0 default
    color body color2 default [\-\.+_a-zA-Z0-9]+@[\-\.a-zA-Z0-9]+ # email addresses Green
    color body color2 default (https?|ftp)://[\-\.,/%~_:?&=\#a-zA-Z0-9]+ # URLs Green
    color body color4 default (^|[[:space:]])\\*[^[:space:]]+\\*([[:space:]]|$) # *bold* text Blue
    color body color4 default (^|[[:space:]])_[^[:space:]]+_([[:space:]]|$) # _underlined_ text Blue
    color body color4 default (^|[[:space:]])/[^[:space:]]+/([[:space:]]|$) # /italic/ text Blue
    color sidebar_flagged color1 default # Mailboxes with flagged mails are Red
    color sidebar_new color10 default # Mailboxes with new mail are Green
  • file addition: ncmpcpp (d--r------)
    [0.11640]
  • file addition: config (----------)
    [0.141853]
    ncmpcpp_directory = "~/.ncmpcpp"
    mpd_host = "localhost"
    mpd_port = "6600"
    mpd_music_dir = "/data/music/"
    visualizer_color = 7, 2, 5, 15, 10, 14
    color1 = 5
    color2 = 5
  • file addition: mpd (d--r------)
    [0.11640]
  • file addition: mpd.conf (----------)
    [0.142147]
    # Read the user manual for documentation: http://www.musicpd.org/doc/user/
    # Start mpd as the current user (default)
    music_directory "/data/music"
    playlist_directory "~/.mpd/playlists"
    db_file "~/.mpd/database"
    log_file "~/.mpd/log"
    pid_file "~/.mpd/pid"
    state_file "~/.mpd/state"
    bind_to_address "localhost"
    port "6600"
    audio_output {
    type "pulse"
    name "My MPD PulseAudio Output"
    #server "localhost" # optional
    #sink "alsa_output" # optional
    }
  • file addition: mimeapps.list (----------)
    [0.11640]
    [Default Applications]
    x-scheme-handler/http=userapp-Firefox-T6KD41.desktop
    x-scheme-handler/https=userapp-Firefox-T6KD41.desktop
    x-scheme-handler/chrome=userapp-Firefox-T6KD41.desktop
    text/html=firefox-bin.desktop
    application/x-extension-htm=userapp-Firefox-T6KD41.desktop
    application/x-extension-html=userapp-Firefox-T6KD41.desktop
    application/x-extension-shtml=userapp-Firefox-T6KD41.desktop
    application/xhtml+xml=userapp-Firefox-T6KD41.desktop
    application/x-extension-xhtml=userapp-Firefox-T6KD41.desktop
    application/x-extension-xht=userapp-Firefox-T6KD41.desktop
    application/pdf=org.pwmt.zathura.desktop
    x-scheme-handler/about=firefox-bin.desktop
    x-scheme-handler/unknown=firefox-bin.desktop
    application/javascript=firefox-bin.desktop
    [Added Associations]
    x-scheme-handler/http=firefox-esr.desktop;userapp-Firefox-T6KD41.desktop;
    x-scheme-handler/https=firefox-esr.desktop;userapp-Firefox-T6KD41.desktop;
    x-scheme-handler/chrome=firefox-esr.desktop;userapp-Firefox-T6KD41.desktop;
    text/html=firefox-esr.desktop;userapp-Firefox-T6KD41.desktop;
    application/x-extension-htm=firefox-esr.desktop;userapp-Firefox-T6KD41.desktop;
    application/x-extension-html=firefox-esr.desktop;userapp-Firefox-T6KD41.desktop;
    application/x-extension-shtml=firefox-esr.desktop;userapp-Firefox-T6KD41.desktop;
    application/xhtml+xml=firefox-esr.desktop;userapp-Firefox-T6KD41.desktop;
    application/x-extension-xhtml=firefox-esr.desktop;userapp-Firefox-T6KD41.desktop;
    application/x-extension-xht=firefox-esr.desktop;userapp-Firefox-T6KD41.desktop;
  • file addition: kitty (d--r------)
    [0.11640]
  • file addition: symlink_theme.conf (----------)
    [0.144259]
    modus-operandi.conf
  • file addition: private_kitty.conf.bak (----------)
    [0.144259]
    font_family Iosevka
    font_size 14
    # include modus-operandi.conf
    include modus-vivendi-tinted.conf
    # BEGIN_KITTY_THEME
    # Catppuccin-Latte
    include current-theme.conf
    # END_KITTY_THEME
  • file addition: private_kitty.conf (----------)
    [0.144259]
    font_family Iosevka
    font_size 14
    # include modus-operandi.conf
    include modus-vivendi-tinted.conf
    # BEGIN_KITTY_THEME
    # Catppuccin-Mocha
    include current-theme.conf
    # END_KITTY_THEME
  • file addition: modus-vivendi.conf (----------)
    [0.144259]
    # vim:ft=kitty
    ## name: Modus Vivendi
    ## author: Protesilaos Stavrou
    ## license: GNU GPLv3
    ## blurb: Highly accessible themes made for GNU Emacs, conforming with the highest
    ## standard for colour contrast between background and foreground values (WCAG AAA)
    # The basic colors
    foreground #ffffff
    background #000000
    selection_foreground #ffffff
    selection_background #5c5c5c
    # Cursor colors
    cursor #ffffff
    cursor_text_color #000000
    # kitty window border colors
    active_border_color #c6daff
    inactive_border_color #646464
    # Tab bar colors
    active_tab_foreground #ffffff
    active_tab_background #545454
    inactive_tab_foreground #969696
    inactive_tab_background #2f2f2f
    # The basic 16 colors
    # black
    color0 #000000
    color8 #595959
    # red
    color1 #ff5f59
    color9 #ff7f9f
    # green
    color2 #44bc44
    color10 #70b900
    # yellow
    color3 #d0bc00
    color11 #fec43f
    # blue
    color4 #2fafff
    color12 #79a8ff
    # magenta
    color5 #feacd0
    color13 #b6a0ff
    # cyan
    color6 #00d3d0
    color14 #6ae4b9
    # white
    color7 #989898
    color15 #ffffff
  • file addition: modus-vivendi-tinted.conf (----------)
    [0.144259]
    # vim:ft=kitty
    ## name: Modus Vivendi Tinted
    ## author: Protesilaos Stavrou
    ## license: GNU GPLv3
    ## blurb: Highly accessible themes made for GNU Emacs, conforming with the highest
    ## standard for colour contrast between background and foreground values (WCAG AAA)
    # The basic colors
    foreground #ffffff
    background #0d0e1c
    selection_foreground #ffffff
    selection_background #5c5c5c
    # Cursor colors
    cursor #ffffff
    cursor_text_color #0d0e1c
    # kitty window border colors
    active_border_color #c6daff
    inactive_border_color #595959
    # Tab bar colors
    active_tab_foreground #ffffff
    active_tab_background #4a4f6a
    inactive_tab_foreground #969696
    inactive_tab_background #2b3046
    # The basic 16 colors
    # black
    color0 #0d0e1c
    color8 #595959
    # red
    color1 #ff5f59
    color9 #ff7f9f
    # green
    color2 #44bc44
    color10 #70b900
    # yellow
    color3 #d0bc00
    color11 #fec43f
    # blue
    color4 #2fafff
    color12 #79a8ff
    # magenta
    color5 #feacd0
    color13 #b6a0ff
    # cyan
    color6 #00d3d0
    color14 #6ae4b9
    # white
    color7 #989898
    color15 #ffffff
  • file addition: modus-operandi.conf (----------)
    [0.144259]
    # vim:ft=kitty
    ## name: Modus Operandi
    ## author: Protesilaos Stavrou
    ## license: GNU GPLv3
    ## blurb: Highly accessible themes made for GNU Emacs, conforming with the highest
    ## standard for colour contrast between background and foreground values (WCAG AAA)
    # The basic colors
    foreground #000000
    background #ffffff
    selection_foreground #000000
    selection_background #bcbcbc
    # Cursor colors
    cursor #000000
    cursor_text_color #ffffff
    # kitty window border colors
    active_border_color #193668
    inactive_border_color #9f9f9f
    # Tab bar colors
    active_tab_foreground #000000
    active_tab_background #c4c4c4
    inactive_tab_foreground #585858
    inactive_tab_background #e3e3e3
    # The basic 16 colors
    # black
    color0 #000000
    color8 #585858
    # red
    color1 #a60000
    color9 #972500
    # green
    color2 #006800
    color10 #316500
    # yellow
    color3 #6f5500
    color11 #884900
    # blue
    color4 #0031a9
    color12 #354fcf
    # magenta
    color5 #721045
    color13 #531ab6
    # cyan
    color6 #00538b
    color14 #005a5f
    # white
    color7 #c4c4c4
    color15 #595959
  • file addition: modus-operandi-tinted.conf (----------)
    [0.144259]
    # vim:ft=kitty
    ## name: Modus Operandi Tinted
    ## author: Protesilaos Stavrou
    ## license: GNU GPLv3
    ## blurb: Highly accessible themes made for GNU Emacs, conforming with the highest
    ## standard for colour contrast between background and foreground values (WCAG AAA)
    # The basic colors
    foreground #000000
    background #fbf7f0
    selection_foreground #000000
    selection_background #bcbcbc
    # Cursor colors
    cursor #000000
    cursor_text_color #fbf7f0
    # kitty window border colors
    active_border_color #193668
    inactive_border_color #9f9f9f
    # Tab bar colors
    active_tab_foreground #000000
    active_tab_background #c9b8b1
    inactive_tab_foreground #585858
    inactive_tab_background #dfd6cd
    # The basic 16 colors
    # black
    color0 #000000
    color8 #585858
    # red
    color1 #a60000
    color9 #972500
    # green
    color2 #006800
    color10 #316500
    # yellow
    color3 #6f5500
    color11 #884900
    # blue
    color4 #0031a9
    color12 #354fcf
    # magenta
    color5 #721045
    color13 #531ab6
    # cyan
    color6 #00538b
    color14 #005a5f
    # white
    color7 #c9b8b1
    color15 #585858
  • file addition: current-theme.conf (----------)
    [0.144259]
    # vim:ft=kitty
    ## name: Catppuccin-Mocha
    ## author: Pocco81 (https://github.com/Pocco81)
    ## license: MIT
    ## upstream: https://github.com/catppuccin/kitty/blob/main/mocha.conf
    ## blurb: Soothing pastel theme for the high-spirited!
    # The basic colors
    foreground #CDD6F4
    background #1E1E2E
    selection_foreground #1E1E2E
    selection_background #F5E0DC
    # Cursor colors
    cursor #F5E0DC
    cursor_text_color #1E1E2E
    # URL underline color when hovering with mouse
    url_color #F5E0DC
    # Kitty window border colors
    active_border_color #B4BEFE
    inactive_border_color #6C7086
    bell_border_color #F9E2AF
    # OS Window titlebar colors
    wayland_titlebar_color system
    macos_titlebar_color system
    # Tab bar colors
    active_tab_foreground #11111B
    active_tab_background #CBA6F7
    inactive_tab_foreground #CDD6F4
    inactive_tab_background #181825
    tab_bar_background #11111B
    # Colors for marks (marked text in the terminal)
    mark1_foreground #1E1E2E
    mark1_background #B4BEFE
    mark2_foreground #1E1E2E
    mark2_background #CBA6F7
    mark3_foreground #1E1E2E
    mark3_background #74C7EC
    # The 16 terminal colors
    # black
    color0 #45475A
    color8 #585B70
    # red
    color1 #F38BA8
    color9 #F38BA8
    # green
    color2 #A6E3A1
    color10 #A6E3A1
    # yellow
    color3 #F9E2AF
    color11 #F9E2AF
    # blue
    color4 #89B4FA
    color12 #89B4FA
    # magenta
    color5 #F5C2E7
    color13 #F5C2E7
    # cyan
    color6 #94E2D5
    color14 #94E2D5
    # white
    color7 #BAC2DE
    color15 #A6ADC8
  • file addition: Gruvbox Light.conf (----------)
    [0.144259]
    ## name: Gruvbox Light
    ## author: Pavel Pertsev
    ## license: MIT/X11
    ## upstream: https://raw.githubusercontent.com/gruvbox-community/gruvbox-contrib/master/kitty/gruvbox-light.conf
    selection_foreground #3c3836
    selection_background #d65d0e
    background #fbf1c7
    foreground #3c3836
    color0 #ebdbb2
    color1 #cc241d
    color2 #98971a
    color3 #d79921
    color4 #458588
    color5 #b16286
    color6 #689d6a
    color7 #7c6f64
    color8 #928374
    color9 #9d0006
    color10 #79740e
    color11 #b57614
    color12 #076678
    color13 #8f3f71
    color14 #427b58
    color15 #282828
    cursor #665c54
    cursor_text_color #bdae93
    url_color #458588
  • file addition: Gruvbox Dark.conf (----------)
    [0.144259]
    ## name: Gruvbox Dark
    ## author: Pavel Pertsev
    ## license: MIT/X11
    ## upstream: https://raw.githubusercontent.com/gruvbox-community/gruvbox-contrib/master/kitty/gruvbox-dark.conf
    selection_foreground #ebdbb2
    selection_background #d65d0e
    background #282828
    foreground #ebdbb2
    color0 #3c3836
    color1 #cc241d
    color2 #98971a
    color3 #d79921
    color4 #458588
    color5 #b16286
    color6 #689d6a
    color7 #a89984
    color8 #928374
    color9 #fb4934
    color10 #b8bb26
    color11 #fabd2f
    color12 #83a598
    color13 #d3869b
    color14 #8ec07c
    color15 #fbf1c7
    cursor #bdae93
    cursor_text_color #665c54
    url_color #458588
  • file addition: Catppuccin-Mocha.conf (----------)
    [0.144259]
    # vim:ft=kitty
    ## name: Catppuccin-Mocha
    ## author: Pocco81 (https://github.com/Pocco81)
    ## license: MIT
    ## upstream: https://github.com/catppuccin/kitty/blob/main/mocha.conf
    ## blurb: Soothing pastel theme for the high-spirited!
    # The basic colors
    foreground #CDD6F4
    background #1E1E2E
    selection_foreground #1E1E2E
    selection_background #F5E0DC
    # Cursor colors
    cursor #F5E0DC
    cursor_text_color #1E1E2E
    # URL underline color when hovering with mouse
    url_color #F5E0DC
    # Kitty window border colors
    active_border_color #B4BEFE
    inactive_border_color #6C7086
    bell_border_color #F9E2AF
    # OS Window titlebar colors
    wayland_titlebar_color system
    macos_titlebar_color system
    # Tab bar colors
    active_tab_foreground #11111B
    active_tab_background #CBA6F7
    inactive_tab_foreground #CDD6F4
    inactive_tab_background #181825
    tab_bar_background #11111B
    # Colors for marks (marked text in the terminal)
    mark1_foreground #1E1E2E
    mark1_background #B4BEFE
    mark2_foreground #1E1E2E
    mark2_background #CBA6F7
    mark3_foreground #1E1E2E
    mark3_background #74C7EC
    # The 16 terminal colors
    # black
    color0 #45475A
    color8 #585B70
    # red
    color1 #F38BA8
    color9 #F38BA8
    # green
    color2 #A6E3A1
    color10 #A6E3A1
    # yellow
    color3 #F9E2AF
    color11 #F9E2AF
    # blue
    color4 #89B4FA
    color12 #89B4FA
    # magenta
    color5 #F5C2E7
    color13 #F5C2E7
    # cyan
    color6 #94E2D5
    color14 #94E2D5
    # white
    color7 #BAC2DE
    color15 #A6ADC8
  • file addition: Catppuccin-Latte.conf (----------)
    [0.144259]
    # vim:ft=kitty
    ## name: Catppuccin-Latte
    ## author: Pocco81 (https://github.com/Pocco81)
    ## license: MIT
    ## upstream: https://github.com/catppuccin/kitty/blob/main/latte.conf
    ## blurb: Soothing pastel theme for the high-spirited!
    # The basic colors
    foreground #4C4F69
    background #EFF1F5
    selection_foreground #EFF1F5
    selection_background #DC8A78
    # Cursor colors
    cursor #DC8A78
    cursor_text_color #EFF1F5
    # URL underline color when hovering with mouse
    url_color #DC8A78
    # Kitty window border colors
    active_border_color #7287FD
    inactive_border_color #9CA0B0
    bell_border_color #DF8E1D
    # OS Window titlebar colors
    wayland_titlebar_color system
    macos_titlebar_color system
    # Tab bar colors
    active_tab_foreground #EFF1F5
    active_tab_background #8839EF
    inactive_tab_foreground #4C4F69
    inactive_tab_background #9CA0B0
    tab_bar_background #BCC0CC
    # Colors for marks (marked text in the terminal)
    mark1_foreground #EFF1F5
    mark1_background #7287fD
    mark2_foreground #EFF1F5
    mark2_background #8839EF
    mark3_foreground #EFF1F5
    mark3_background #209FB5
    # The 16 terminal colors
    # black
    color0 #5C5F77
    color8 #6C6F85
    # red
    color1 #D20F39
    color9 #D20F39
    # green
    color2 #40A02B
    color10 #40A02B
    # yellow
    color3 #DF8E1D
    color11 #DF8E1D
    # blue
    color4 #1E66F5
    color12 #1E66F5
    # magenta
    color5 #EA76CB
    color13 #EA76CB
    # cyan
    color6 #179299
    color14 #179299
    # white
    color7 #ACB0BE
    color15 #BCC0CC
  • file addition: hypr (d--r------)
    [0.11640]
  • file addition: hyprland.conf (----------)
    [0.155853]
    # #######################################################################################
    # AUTOGENERATED HYPR CONFIG.
    # PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hypr.conf AND EDIT IT,
    # OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS.
    # #######################################################################################
    autogenerated = 0 # remove this line to remove the warning
    # This is an example Hyprland config file.
    # Refer to the wiki for more information.
    # https://wiki.hyprland.org/Configuring/Configuring-Hyprland/
    # Please note not all available settings / options are set here.
    # For a full list, see the wiki
    # You can split this configuration into multiple files
    # Create your files separately and then link them to this file like this:
    # source = ~/.config/hypr/myColors.conf
    ################
    ### MONITORS ###
    ################
    # See https://wiki.hyprland.org/Configuring/Monitors/
    # monitor=,preferred,auto,auto # This flickers...
    # change monitor to high resolution, the last argument is the scale factor
    # This is equivalent to "preferred" (see wlr-randr) but flickers...
    # monitor = HDMI-A-1, 1680x1050@59.95399, auto, 1
    # This is equivalent to "highres"
    # monitor = HDMI-A-1, 1920x1080@59.939999, 1920x0, 1
    # 1 for gimp, gephe
    # monitor = , highres, auto, 1,
    # availableModes: 1680x1050@59.95Hz 1920x1080@60.00Hz 1920x1080@59.94Hz 1920x1080@50.00Hz 1600x1000@60.01Hz 1280x1024@75.03Hz 1280x1024@60.02Hz 1440x900@59.90Hz 1280x960@60.00Hz 1280x800@59.95Hz 1152x864@75.00Hz 1280x720@60.00Hz 1280x720@59.94Hz 1280x720@50.00Hz 1152x720@59.97Hz 1024x768@75.03Hz 1024x768@60.00Hz 832x624@74.55Hz 800x600@75.00Hz 800x600@60.32Hz 720x576@50.00Hz 720x576@50.00Hz 720x480@60.00Hz 720x480@59.94Hz 720x480@59.94Hz 640x480@75.00Hz 640x480@60.00Hz 640x480@59.94Hz 640x480@59.94Hz 720x400@70.08Hz
    monitor = eDP-1, 1920x1200@60, 0x0, 1
    # After many trials !!
    monitor = HDMI-A-1, 1600x1050@60, 1920x0, 1
    #monitor = , preferred, auto, 1
    #monitor = , highres, auto, auto
    ###################
    ### MY PROGRAMS ###
    ###################
    # See https://wiki.hyprland.org/Configuring/Keywords/
    # Set programs that you use
    $terminal = alacritty
    # need https://github.com/wez/wezterm/pull/4991
    #$terminal = ~/.cargo/bin/wezterm
    $menu = wofi --show run
    #################
    ### AUTOSTART ###
    #################
    # Autostart necessary processes (like notifications daemons, status bars, etc.)
    # Or execute your favorite apps at launch like this:
    exec-once=fcitx5-remote -r
    exec-once=fcitx5 -d --replace &
    exec-once=fcitx5-remote -r
    bind=SUPER_CTRL,space,execr,fcitx5-remote -t
    exec-once = nm-applet &
    exec-once = waybar # & hyprpaper & firefox
    exec-once= wlsunset -L 47.255 -l 6.0121
    exec-once = brightnessctl s 10%
    #exec-once = pueued -d
    #############################
    ### ENVIRONMENT VARIABLES ###
    #############################
    # See https://wiki.hyprland.org/Configuring/Environment-variables/
    env = XCURSOR_SIZE,24
    env = HYPRCURSOR_SIZE,24
    #####################
    ### LOOK AND FEEL ###
    #####################
    # Refer to https://wiki.hyprland.org/Configuring/Variables/
    # https://wiki.hyprland.org/Configuring/Variables/#general
    general {
    gaps_in = 5
    gaps_out = 20
    border_size = 2
    # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
    col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
    col.inactive_border = rgba(595959aa)
    # Set to true enable resizing windows by clicking and dragging on borders and gaps
    resize_on_border = false
    # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
    allow_tearing = false
    layout = dwindle
    }
    # https://wiki.hyprland.org/Configuring/Variables/#decoration
    decoration {
    rounding = 10
    # Change transparency of focused and unfocused windows
    # active_opacity = 1.0
    # inactive_opacity = 1.0
    # https://wiki.hyprland.org/Configuring/Variables/#blur
    blur {
    enabled = false
    size = 3
    passes = 1
    vibrancy = 0.1696
    }
    }
    # https://wiki.hyprland.org/Configuring/Variables/#animations
    animations {
    enabled = true
    # Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
    bezier = myBezier, 0.05, 0.9, 0.1, 1.05
    animation = windows, 1, 7, myBezier
    animation = windowsOut, 1, 7, default, popin 80%
    animation = border, 1, 10, default
    animation = borderangle, 1, 8, default
    animation = fade, 1, 7, default
    animation = workspaces, 1, 6, default
    }
    # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
    dwindle {
    pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
    preserve_split = true # You probably want this
    }
    # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
    # master {
    # new_is_master = true
    # }
    # https://wiki.hyprland.org/Configuring/Variables/#misc
    misc {
    force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers
    disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :(
    }
    #############
    ### INPUT ###
    #############
    # https://wiki.hyprland.org/Configuring/Variables/#input
    input {
    kb_layout = fr
    kb_variant = ergol
    kb_model =
    kb_options =
    kb_rules =
    follow_mouse = 1
    sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
    touchpad {
    natural_scroll = false
    }
    }
    # https://wiki.hyprland.org/Configuring/Variables/#gestures
    gestures {
    workspace_swipe = false
    }
    # Example per-device config
    # See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
    device {
    name = epic-mouse-v1
    sensitivity = -0.5
    }
    ####################
    ### KEYBINDINGSS ###
    ####################
    # See https://wiki.hyprland.org/Configuring/Keywords/
    $mainMod = SUPER # Sets "Windows" key as main modifier
    # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
    bind = $mainMod, Q, exec, $terminal
    bind = $mainMod, C, killactive,
    bind = $mainMod, M, exit,
    bind = $mainMod, E, exec, $emacs
    bind = $mainMod, V, togglefloating,
    bind = $mainMod, F, fullscreen,
    bind = $mainMod, R, exec, $menu
    bind = $mainMod, P, pseudo, # dwindle
    bind = $mainMod, J, togglesplit, # dwindle
    bind = $mainMod SHIFT, F, exec, firefox-bin
    # Move focus with mainMod + arrow keys
    bind = $mainMod, left, movefocus, l
    bind = $mainMod, right, movefocus, r
    bind = $mainMod, up, movefocus, u
    bind = $mainMod, down, movefocus, d
    # Switch workspaces with mainMod + [0-9]
    bind = $mainMod, 1, workspace, 1
    bind = $mainMod, 2, workspace, 2
    bind = $mainMod, 3, workspace, 3
    bind = $mainMod, 4, workspace, 4
    bind = $mainMod, 5, workspace, 5
    bind = $mainMod, 6, workspace, 6
    bind = $mainMod, 7, workspace, 7
    bind = $mainMod, 8, workspace, 8
    bind = $mainMod, 9, workspace, 9
    bind = $mainMod, 0, workspace, 10
    # Move active window to a workspace with mainMod + SHIFT + [0-9]
    bind = $mainMod SHIFT, 1, movetoworkspace, 1
    bind = $mainMod SHIFT, 2, movetoworkspace, 2
    bind = $mainMod SHIFT, 3, movetoworkspace, 3
    bind = $mainMod SHIFT, 4, movetoworkspace, 4
    bind = $mainMod SHIFT, 5, movetoworkspace, 5
    bind = $mainMod SHIFT, 6, movetoworkspace, 6
    bind = $mainMod SHIFT, 7, movetoworkspace, 7
    bind = $mainMod SHIFT, 8, movetoworkspace, 8
    bind = $mainMod SHIFT, 9, movetoworkspace, 9
    bind = $mainMod SHIFT, 0, movetoworkspace, 10
    # Example special workspace (scratchpad)
    bind = $mainMod, S, togglespecialworkspace, magic
    bind = $mainMod SHIFT, S, movetoworkspace, special:magic
    # Scroll through existing workspaces with mainMod + scroll
    bind = $mainMod, mouse_down, workspace, e+1
    bind = $mainMod, mouse_up, workspace, e-1
    # Move/resize windows with mainMod + LMB/RMB and dragging
    bindm = $mainMod, mouse:272, movewindow
    bindm = $mainMod, mouse:273, resizewindow
    # Resize with keyboard only
    bind = $mainMod SHIFT, right, resizeactive, 10 0
    bind = $mainMod SHIFT, left, resizeactive, -10 0
    bind = $mainMod SHIFT, up, resizeactive, 0 -10
    bind = $mainMod SHIFT, down, resizeactive, 0 10
    ##############################
    ### WINDOWS AND WORKSPACES ###
    ##############################
    # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
    # See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules
    # Example windowrule v1
    # windowrule = float, ^(kitty)$
    # Example windowrule v2
    # windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
    windowrulev2 = suppressevent maximize, class:.* # You'll probably like this.
    exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG-CURRENT-DESKTOP
  • file addition: helix (d--r------)
    [0.11640]
  • file addition: languages.toml (----------)
    [0.164584]
    [language-server]
    zk-lsp = { command = "zk", args = [ "lsp"]}
    # Require a vale.ini !
    vale-ls = { command = "vale-ls"}
    [[language]]
    name = "markdown"
    # language-servers = ["marksman", "mpls", "vale-ls"]
    roots = [ ".zk" ]
    language-servers = [ "zk-lsp" ]
    [language-server.mpls]
    command = "mpls"
    args = ["--dark-mode", "--enable-emoji", "--no-auto"]
    [[language]]
    name = "typst"
    language-servers = [ "tinymist", "vale-ls"]
  • file addition: config.toml (----------)
    [0.164584]
    theme = "rose_pine_dawn"
    [keys.normal.space]
    #"n-l" = ":pipe zk list --format=link --match-title"
    # Create new note and link
    # "n" = ":pipe-to zk new --title"
  • file addition: emacs (d--r------)
    [0.11640]
  • file addition: modules (d--r------)
    [0.165264]
  • file addition: init-start.el (----------)
    [0.165285]
    (setopt load-prefer-newer t) ;; Always load newest byte code
    (setopt package-archives '(("melpa" . "https://melpa.org/packages/")
    ("gnu" . "https://elpa.gnu.org/packages/")
    ("nongnu" . "https://elpa.nongnu.org/nongnu/")))
    (setopt package-archive-priorities '(("gnu" . 99)
    ("nongnu" . 80)
    ("melpa" . 70)))
    (setopt use-package-always-ensure t)
    (package-initialize)
    ;; (use-package ef-themes
    ;; :config
    ;; (ef-themes-select 'ef-day))
    (load-theme 'modus-operandi)
    ;; For nix and guix
    (add-to-list 'exec-path "/home/alex/.guix-profile/bin")
    (add-to-list 'exec-path "/home/alex/. :if (eq system-type 'darwin)nix-profile/bin")
    (when (eq system-type 'windows-nt)
    ;; On some windows computers, there are encoding issues with consult-fd
    (setopt current-language-environment "French")
    (prefer-coding-system 'utf-8)
    )
    ;; Better user experience
    (setopt line-number-mode t
    column-number-mode t)
    ;; Window dividers for better visual separation
    (setopt window-divider-default-places 'right-only
    window-divider-default-right-width 1)
    ;; automatic backup
    (setopt auto-save-default t
    auto-save-interval 300
    auto-save-timeout 30
    make-backup-files t
    vc-make-backup-files t
    kept-old-versions 10
    kept-new-versions 10)
    ;; /smoother scrollingt (setopt not needed for mac)
    (setopt pixel-scroll-precision-use-momentum nil)
    (setopt pixel-scroll-precision-mode t)
    ;; Replace selected text when typing
    (setopt delete-selection-mode t)
    ;; Performance settings
    (setopt gc-cons-threshold 100000000 ; 100MB
    read-process-output-max (* 1024 1024)) ; 1MB
    ;; Hide files from dired
    (setopt dired-omit-files (concat "\\`[.]\\'"
    "\\|\\(?:\\.js\\)?\\.meta\\'"
    "\\|\\.\\(?:elc|a\\|o\\|pyc\\|pyo\\|swp\\|class\\)\\'"
    "\\|^\\.DS_Store\\'"
    "\\|^\\.\\(?:svn\\|git\\)\\'"
    "\\|^\\.ccls-cache\\'"
    "\\|^__pycache__\\'"
    "\\|^\\.project\\(?:ile\\)?\\'"
    "\\|^flycheck_.*"
    "\\|^flymake_.*"))
    (add-hook 'after-init-hook #'recentf-mode)
    (add-hook 'after-init-hook #'savehist-mode)
    (add-hook 'after-init-hook #'save-place-mode)
    (add-hook 'after-init-hook #'show-paren-mode) ; Highlight parenthesis match
    (add-hook 'after-init-hook #'winner-mode) ; Undo window closing
    (add-hook 'after-init-hook #'display-time-mode) ; Time in modeline
    (add-hook 'after-init-hook #'window-divider-mode) ; Resize windows with the mouse
    (add-hook 'kill-emacs-hook #'recentf-cleanup)
    (add-hook 'dired-mode-hook #'dired-omit-mode) ; Dired buffers: Automatically hide file details (permissions, size,
    (add-hook 'dired-mode-hook #'dired-hide-details-mode)
    (provide 'init-start)
  • file addition: init-spellcheck.el (----------)
    [0.165285]
    ;; ;; ----- Spellcheck -----
    ;; On gentoo, requires miscutils to have a dictionary list
    (use-package ispell
    :ensure nil
    :defer t
    :commands (ispell ispell-minor-mode)
    :custom
    ;; Set the ispell program name to aspell
    (ispell-program-name "aspell")
    ;; Configures Aspell's suggestion mode to "ultra", which provides more
    ;; aggressive and detailed suggestions for misspelled words. The language
    (ispell-extra-args '("--sug-mode=ultra" "--lang=fr_FR")))
    (use-package flyspell
    :ensure nil
    :defer t
    :commands flyspell-mode
    :hook
    ((prog-mode . flyspell-prog-mode)
    (text-mode . (lambda()
    (if (or (derived-mode-p 'yaml-mode)
    (derived-mode-p 'yaml-ts-mode)
    (derived-mode-p 'ansible-mode))
    (flyspell-prog-mode)
    (flyspell-mode 1)))))
    :config
    ;; Remove strings from Flyspell
    (setq flyspell-prog-text-faces (delq 'font-lock-string-face
    flyspell-prog-text-faces))
    ;; Remove doc from Flyspell
    (setq flyspell-prog-text-faces (delq 'font-lock-doc-face
    flyspell-prog-text-faces)))
    (provide 'init-spellcheck)
  • file addition: init-org.el (----------)
    [0.165285]
    ;; ----- Org ------
    (defun my/gtd-agenda (view-name)
    "Create an agenda view for GTD in different context based on tags.
    With this approach, we cannot have an \"shared\" inbox as tag filtering
    is applied to the whole view *before* this function."
    (let ((agenda-header view-name))
    `((agenda "" ((org-agenda-span 'day)
    (org-agenda-overriding-header ,agenda-header)
    (org-agenda-skip-function
    '(org-agenda-skip-entry-if 'todo 'done))
    ))
    (todo "NEXT"
    ((org-agenda-skip-function
    '(org-agenda-skip-entry-if 'scheduled 'deadline))
    (org-agenda-overriding-header "Next")
    ))
    (tags-todo "CATEGORY=\"inbox\""
    ((org-agenda-prefix-format " %?-12t% s")
    (org-agenda-overriding-header "Inbox"))))))
    (use-package org
    :ensure t
    :defer t
    :commands (org-mode org-version)
    :hook (org-mode . visual-line-mode)
    :mode
    ("\\.org\\'" . org-mode)
    :bind (("C-c a" . org-agenda)
    ("C-c c" . org-capture)
    ("C-c ," . nil) ; For homw
    :map org-mode-map
    ("C-'" . nil)) ; For avy-goto-char2 (org-cycle-agenda-files)
    :custom
    (org-directory (expand-file-name "~/org/"))
    (org-cycle-hide-drawers 'all) ; Cleaner view
    (org-startup-folded 'fold) ; Cleaner view
    (org-hide-block-startup t)
    (org-todo-keywords '((sequence "TODO(t)" "WAIT(w)" "NEXT(n)" "STARTED(s)" "|" "CANCEL(c)" "DONE(d)")))
    ;; Agenda
    (org-agenda-files '("inbox.org" "todo.org"))
    (org-capture-templates
    '(("t" "Todo" entry (file "inbox.org")
    "* TODO %?\n /Entered on/ %U")
    ("s" "Sport")
    ("sc" "Course" entry (file "sport.org")
    "* %t :course:
    %^{durée}p
    %^{intensité}p")
    ("st" "Étirement" entry (file "sport.org")
    "* %t :étirement:
    %^{hamstring}p
    %^{butterfly}p
    %^{pancake}p
    %^{pigeon}p
    %^{middle_split}p
    %^{fenêtre}p")
    ("ss" "Escalade" entry (file "sport.org")
    "* %t :escalade: \n %^{durée}p")
    ("sm" "Muscu" entry (file "sport.org")
    "* %t :muscu:
    %^{muscle_up_bar}p
    %^{compression}p
    %^{extension}p
    %^{push_up_tucked}p
    %^{planche_tucked}p
    ")
    ("sk" "Parkour" entry (file "sport.org")
    "* %t :parkour: \n %^{durée}p")
    ("sp" "Patinage" entry (file "sport.org")
    "* %t :patinage: \n %^{durée}p")
    ("sr" "Roller" entry (file "sport.org")
    "* %t :roller: \n %^{durée}p")))
    (org-return-follows-link t) ; RET
    (org-mouse-1-follows-link t)
    (org-log-done 'time) ; Store date when CLOSED
    (org-link-descriptive t) ; Display links as the description provided
    (org-hide-leading-stars t) ; Better display
    (org-hide-emphasis-marker t) ; Better display
    (org-refile-targets ; Refile in subprojets
    '((org-agenda-files . (:maxlevel . 4))
    (nil . (:maxlevel . 2))))
    (org-agenda-custom-commands
    `(
    ("h" "Home" ,(my/gtd-agenda "Home") ((org-agenda-tag-filter-preset '("-work"))))
    ("w" "Work" ,(my/gtd-agenda "Work") ((org-agenda-tag-filter-preset '("+work"))))
    ("r" "Rewiew"
    ((todo "TODO"))
    ((org-agenda-skip-scheduled-if-deadline-is-shown t)))
    ("w" "Waiting tasks" ((todo "WAIT")))))
    :config
    ;; gunlpot support
    (org-babel-do-load-languages
    'org-babel-load-languages
    '((gnuplot . t))))
    ;; Quick and dirty plotting
    (use-package gnuplot)
    ;;(use-package gnuplot-mode)
    (provide 'init-org)
  • file addition: init-notes.el (----------)
    [0.165285]
    (use-package org-roam
    :ensure t
    :custom
    (org-roam-directory "~/org/notes")
    ;; Show tags in search
    (org-roam-node-display-template (concat "${title:*} " (propertize "${tags:15}" 'face 'org-tag)))
    ;; Journal notes with dailies
    (org-roam-dailies-directory "journal/")
    (org-roam-autosync-mode 1)
    (org-roam-dailies-capture-templates
    '(("d" "default" entry
    "* %?"
    :target (file+head "%<%Y-%m-%d>.org"
    "#+title: %<%Y-%m-%d>\n#+filetags: :draft:\n"))))
    :bind
    (("C-c n f" . org-roam-node-find)
    ("C-c n i" . org-roam-node-insert)
    ("C-c n j" . org-roam-dailies-capture-today)
    ("C-c n J" . org-roam-dailies-goto-today)
    ))
    (provide 'init-notes)
  • file addition: init-minibuffer.el (----------)
    [0.165285]
    (use-package vertico
    ;; (Note: It is recommended to also enable the savehist package.)
    :ensure t
    :defer t
    :commands vertico-mode
    :hook (after-init . vertico-mode))
    (use-package orderless
    ;; Vertico leverages Orderless' flexible matching capabilities, allowing users
    ;; to input multiple patterns separated by spaces, which Orderless then
    ;; matches in any order against the candidates.
    :ensure t
    :custom
    (completion-styles '(orderless basic))
    (completion-category-defaults nil)
    (completion-category-overrides '((file (styles partial-completion)))))
    (use-package marginalia
    ;; Marginalia allows Embark to offer you preconfigured actions in more contextes.
    ;; In addition to that, Marginalia also enhances Vertico by adding rich
    ;; annotations to the completion candidates displayed in Vertico's interface.
    :ensure t
    :defer t
    :commands (marginalia-mode marginalia-cycle)
    :hook (after-init . marginalia-mode))
    (use-package embark
    ;; Embark is an Emacs package that acts like a context menu, allowing
    ;; users to perform context-sensitive actions on selected items
    ;; directly from the completion interface.
    :ensure t
    :defer t
    :commands (embark-act
    embark-dwim
    embark-export
    embark-collect
    embark-bindings
    embark-prefix-help-command)
    :bind
    (("C-." . embark-act) ;; pick some comfortable binding
    ("M-." . embark-dwim) ;; good alternative: M-.
    ("C-h B" . embark-bindings) ; alternative for `describe-bindings'
    )
    :init
    (setq prefix-help-command #'embark-prefix-help-command)
    :config
    ;; Hide the mode line of the Embark live/completions buffers
    (add-to-list 'display-buffer-alist
    '("\\`\\*Embark Collect \\(Live\\|Completions\\)\\*"
    nil
    (window-parameters (mode-line-format . none)))))
    (use-package embark-consult
    :ensure t
    :hook
    (embark-collect-mode . consult-preview-at-point-mode))
    (use-package consult
    :ensure t
    :bind (;; C-c bindings in `mode-specific-map'
    ("C-c M-x" . consult-mode-command)
    ("C-c h" . consult-history)
    ("C-c r" . consult-recent-file) ; <3
    ;; C-x bindings in `ctl-x-map'
    ("C-x M-:" . consult-complex-command)
    ("C-x b" . consult-buffer)
    ("C-x 4 b" . consult-buffer-other-window)
    ("C-x 5 b" . consult-buffer-other-frame)
    ("C-x t b" . consult-buffer-other-tab)
    ("C-x r b" . consult-bookmark)
    ("C-x p b" . consult-project-buffer)
    ;; Other custom bindings
    ("M-y" . consult-yank-pop)
    ;; M-g bindings in `goto-map'
    ;; M-s bindings in `search-map'
    ("M-s d" . consult-find)
    ("M-s c" . consult-locate)
    ("M-s g" . consult-grep)
    ("M-s r" . consult-ripgrep)
    ("M-s l" . consult-line)
    ("M-s L" . consult-line-multi)
    ("M-s k" . consult-keep-lines)
    ("M-s u" . consult-focus-lines)
    ;; Isearch integration
    ("M-s e" . consult-isearch-history)
    :map isearch-mode-map
    ("M-e" . consult-isearch-history)
    ("M-s e" . consult-isearch-history)
    ("M-s l" . consult-line)
    ("M-s L" . consult-line-multi)
    ;; Minibuffer history
    :map minibuffer-local-map
    ("M-s" . consult-history)
    ("M-r" . consult-history))
    ;; Enable automatic preview at point in the *Completions* buffer.
    :hook (completion-list-mode . consult-preview-at-point-mode)
    :init
    ;; Use Consult to select xref locations with preview
    (setq xref-show-xrefs-function #'consult-xref
    xref-show-definitions-function #'consult-xref)
    :config
    (consult-customize
    consult-theme :preview-key '(:debounce 0.2 any)
    consult-ripgrep consult-git-grep consult-grep
    consult-bookmark consult-recent-file consult-xref
    consult--source-bookmark consult--source-file-register
    consult--source-recent-file consult--source-project-recent-file
    ;; :preview-key "M-."
    :preview-key '(:debounce 0.4 any))
    (setq consult-narrow-key "<"))
    (provide 'init-minibuffer)
  • file addition: init-mail.el (----------)
    [0.165285]
    ;; Mail
    (use-package notmuch
    :ensure t
    :defer t
    :bind
    ;; Go to inbox by default ("m" for mail)
    ;; FIXME avoid duplicates
    (("C-c m" . (lambda () (interactive)
    (notmuch-search "tag:new AND not (tag:deleted OR tag:archive)")))
    :map notmuch-search-mode-map
    ("d" . (lambda ()
    (interactive)
    (notmuch-search-tag '("+deleted" "-new"))
    (notmuch-search-next-thread))))
    :custom
    (send-mail-function 'sendmail-send-it)
    (sendmail-program "/usr/bin/msmtp")
    (user-mail-address "alexis@praga.dev")
    ;; Afew should move deleted and archived tag but until the next sync, we want a clean view of inbox
    (notmuch-saved-searches '((:name "inbox" :query "tag:new AND not (tag:deleted OR tag:archive)" :key "i")
    (:name "archive" :query "tag:archive" :key "a")))
    (notmuch-archive-tags '("+archive"))
    (notmuch-fcc-dirs nil)
    )
    (provide 'init-mail)
  • file addition: init-graphical.el (----------)
    [0.165285]
    (use-package ace-window
    :bind
    (("C-x o" . ace-window)))
    (provide 'init-graphical)
  • file addition: init-extras.el (----------)
    [0.165285]
    ;; When emacs is not enough
    (use-package eshell
    :bind (("C-c s" . eshell)))
    ; Nice link, not enabled by defaut
    (use-package hyperbole
    :pin melpa ; 9.0.1 do not define a default for hyrolo, get the latest
    :config
    (remove-hook 'hyrolo-add-hook #'hyrolo-set-date)
    :custom
    (hyrolo-file-list '("~/org/contacts.org"))
    )
    ;; ----- Misc, better experience -----
    (use-package which-key
    :ensure nil ; builtin
    :defer t
    :commands which-key-mode
    :hook (after-init . which-key-mode))
    (use-package dired-preview) ; Enable on demand
    ;; Edit grep résulta
    (use-package wgrep
    :ensure t
    :after grep
    :bind
    ( :map grep-mode-map
    ("e" . wgrep-change-to-wgrep-mode)
    ("C-x C-q" . wgrep-change-to-wgrep-mode)
    ("C-c C-c" . wgrep-finish-edit))
    :config
    (setq wgrep-auto-save-buffer t)
    (setq wgrep-change-readonly-file t))
    (provide 'init-extras)
  • file addition: init-code.el (----------)
    [0.165285]
    (use-package undo-fu
    :ensure t)
    (use-package avy
    :ensure t
    :config
    (avy-setup-default)
    :bind
    ;; Follow abo-abo idea : C-. is used by emark, C-, by flyspell.
    (("C-'" . avy-goto-char-timer)
    ("M-g f" . avy-goto-line)
    ("M-g w" . avy-goto-word-1)
    ("M-g e" . avy-goto-word-0)
    ))
    ;; Emacs 30 built-in code completion instead of corfu+cape
    ;; For org-mode, does not start without the hack below (thanks https://www.reddit.com/r/emacs/comments/1j0wonk/how_to_trigger_completionpreview_in_orgmode_to/)
    (use-package completion-preview
    :hook ((prog-mode . completion-preview-mode)
    (text-mode . completion-preview-mode))
    ;; Bindings that take effect when the preview is shown:
    ;; Cycle the completion candidate that the preview shows
    :bind
    (:map completion-preview-active-mode-map
    ("M-n" . completion-preview-next-candidate)
    ("M-p" . completion-preview-prev-candidate))
    :config
    ;; From the dev himself https://eshelyaron.com/posts/2023-11-17-completion-preview-in-emacs.html
    ;; and in \\[shell] and friends
    (with-eval-after-load 'comint
    (add-hook 'comint-mode-hook #'completion-preview-mode))
    ;; Show the preview already after two symbol characters
    (setq completion-preview-minimum-symbol-length 2)
    ;; Non-standard commands to that should show the preview:
    ;; Org mode has a custom `self-insert-command'
    (push 'org-self-insert-command completion-preview-commands)
    ;; Paredit has a custom `delete-backward-char' command
    (push 'paredit-backward-delete completion-preview-commands)
    )
    ;; ------ LSP ------
    (use-package eglot
    :ensure nil
    :defer t
    :commands (eglot
    eglot-ensure
    eglot-rename
    eglot-format-buffer))
    (with-eval-after-load 'eglot
    (add-to-list 'eglot-server-programs
    '(rust-mode . ("rust-analyzer"))))
    (use-package nix-mode
    :ensure t
    :defer t
    :mode "\\.nix\\'")
    (use-package rust-mode
    :ensure t
    :defer t
    :mode "\\.rs\\'"
    :hook (rust-mode . eglot-ensure))
    (use-package magit
    :ensure t
    :defer t
    :init
    (setq magit-define-global-key-bindings "recommended")) ; Evaluated after-init-hook
    (provide 'init-code)
  • file addition: init-chat.el (----------)
    [0.165285]
    (use-package erc
    :if (not (eq system-type 'windows-nt)) ; Disabled on windows
    :config
    ;; Password is in ~/.authinfo
    (erc-tls :server "irc.libera.chat" :port 6697 :nick "scut")
    :custom
    (erc-sasl-mechanism 'plain)
    (erc-hide-list '("JOIN" "PART" "QUIT"))
    (erc-autojoin-channels-alist '((Libera.Chat "#emacs" "#guix"))))
    (provide 'init-chat)
  • file addition: init-biblio.el (----------)
    [0.165285]
    ;; ----- Bibliography ------
    (use-package citar
    :ensure t
    :defer t
    :bind
    (("C-c b o" . citar-open) ; Open
    ("C-c b i" . citar-insert-citation))
    ;; paths to your bibtex
    :custom
    (citar-bibliography '("~/org/biblio/main.bib"))
    ;; Allow multiple notes per bibliographic entry
    (citar-open-always-create-notes nil)
    ; (citar-notes-paths '("~/org/biblio"))
    )
    (use-package citar-embark
    :after citar embark
    :no-require
    :config (citar-embark-mode))
    (use-package citar-denote
    :ensure t
    :demand t ;; Ensure minor mode loads
    :after (:any citar denote)
    :preface
    (bind-key "C-c n b" #'citar-denote-open-note)
    :init
    (citar-denote-mode))
    (provide 'init-biblio)
  • file addition: manifest.scm (----------)
    [0.165264]
    (specifications->manifest
    '( ;; "emacs"
    "emacs-next-pgtk" ; wayland _ ergol
    "emacs-avy"
    "emacs-ace-window"
    "emacs-citar"
    ;; "emacs-citar-embark"
    "emacs-consult"
    ;; "emacs-org-roam" ; issue with compiled files
    "emacs-dired-preview"
    "emacs-embark"
    ;; "emacs-embark-consult"
    "emacs-gnuplot"
    ;; "emacs-hyperbole" ; we need the latest
    "emacs-magit"
    "emacs-marginalia"
    "emacs-nix-mode"
    "emacs-notmuch"
    "emacs-orderless"
    "emacs-rust-mode"
    "emacs-vertico"
    "emacs-wgrep"
    "emacs-undo-fu"
    ;; Non-emacs
    "nushell"
    "afew"
    "notmuch"
    "coreutils"
    "findutils"
    "font-aporetic"
    "git"
    "git-annex"
    ))
  • file addition: init.el (----------)
    [0.165264]
    ;; My config based on use-package, with inspiration from minimal-emacs (for the setup,
    ;; we basically dropped early-init and init), and some ideas from Prelude and Prot config
    (add-to-list 'load-path "~/.config/emacs/modules")
    (require 'init-start)
    (require 'init-biblio)
    (require 'init-chat)
    (require 'init-code)
    (require 'init-extras)
    (require 'init-graphical)
    (require 'init-mail)
    (require 'init-minibuffer)
    (require 'init-notes)
    (require 'init-org)
    (require 'init-spellcheck)
    (custom-set-variables
    ;; custom-set-variables was added by Custom.
    ;; If you edit it by hand, you could mess it up, so be careful.
    ;; Your init file should contain only one such instance.
    ;; If there is more than one, they won't work right.
    '(org-fold-core-style 'overlays)
    '(safe-local-variable-values
    '((geiser-repl-per-project-p . t)
    (eval with-eval-after-load 'yasnippet
    (let
    ((guix-yasnippets
    (expand-file-name "etc/snippets/yas"
    (locate-dominating-file
    default-directory ".dir-locals.el"))))
    (unless (member guix-yasnippets yas-snippet-dirs)
    (add-to-list 'yas-snippet-dirs guix-yasnippets)
    (yas-reload-all))))
    (eval with-eval-after-load 'tempel
    (if (stringp tempel-path)
    (setq tempel-path (list tempel-path)))
    (let
    ((guix-tempel-snippets
    (concat
    (expand-file-name "etc/snippets/tempel"
    (locate-dominating-file
    default-directory
    ".dir-locals.el"))
    "/*.eld")))
    (unless (member guix-tempel-snippets tempel-path)
    (add-to-list 'tempel-path guix-tempel-snippets))))
    (eval with-eval-after-load 'git-commit
    (add-to-list 'git-commit-trailers "Change-Id"))
    (eval setq-local guix-directory
    (locate-dominating-file default-directory ".dir-locals.el"))
    (eval add-to-list 'completion-ignored-extensions ".go"))))
    (custom-set-faces
    ;; custom-set-faces was added by Custom.
    ;; If you edit it by hand, you could mess it up, so be careful.
    ;; Your init file should contain only one such instance.
    ;; If there is more than one, they won't work right.
    )
  • file addition: early-init.el (----------)
    [0.165264]
    ;; From Prot config
    (setopt menu-bar-mode nil ; Clean-up GUIX
    scroll-bar-mode nil
    tool-bar-mode nil
    inhibit-splash-screen t
    inhibit-startup-screen t
    use-file-dialog nil ; Better questions
    use-short-answers t)
    (set-face-attribute 'default nil :family "Iosevka" :height 140)
    ;; Theme is set with the daemon so flashing at startup should not be an issue
    (setq package-enable-at-startup nil) ; Let the init.el file handle this
  • file addition: dot_rtorrent.rc (----------)
    [0.11640]
    #throttle.min_peers.normal.set =50
    #throttle.max_peers.normal.set =150
    #throttle.min_peers.seed.set =50
    #throttle.max_peers.seed.set =150
    #throttle.max_uploads.set = 80
    #trackers.numwant.set = -1
    #throttle.global_down.max_rate.set_kb = 0
    #throttle.global_up.max_rate.set_kb = 0
    directory.default.set = ~/downloads
    schedule2 = watch.directory,5,5,load.start=~/downloads/watch/rtorrent/*.torrent
    schedule2 = watch_directory_jazz, 21, 10, "load.verbose=~/downloads/rtorrent/music/jazz/*.torrent,d.directory.set=~/media/music/Jazz"
    schedule2 = watch_directory_classical, 22, 10, "load.verbose=~/downloads/rtorrent/music/classical/*.torrent,d.directory.set=~/media/music/Classical"
    # network.port_range.set = 45000-60000
    network.port_range.set = 46744-46744
    network.port_random.set =no
    #network.port_random.set =yes
    pieces.hash.on_completion.set = no
    pieces.hash.on_completion.set = no
    trackers.use_udp.set = yes
    encryption = allow_incoming,enable_retry,try_outgoing
    dht.mode.set = disable
    protocol.pex.set = no
    network.http.ssl_verify_peer.set = 0
    encoding.add = UTF-8
    network.xmlrpc.size_limit.set = 2097152
    system.file.max_size.set = -1
    session.path.set = /home36/fitzwilly/.config/.session
    network.bind_address.set = 37.48.95.197
    network.scgi.open_port = 127.0.0.1:5035
    execute2 = {sh,-c,/usr/bin/php /home36/fitzwilly/www/fitzwilly.bull.seedhost.eu/fitzwilly/rutorrent/php/initplugins.php fitzwilly &}
    #log.open_file = rtorrent.log, (cat,/home36/fitzwilly/rtorrent.log)
    #log.add_output = debug, rtorrent.log
    #log.add_output = torrent_debug, rtorrent.log
    #log.add_output = critical, rtorrent.log
    #log.add_output = storage_debug, rtorrent.log
  • file addition: doom (d--r------)
    [0.11640]
  • file addition: packages.el (----------)
    [0.188426]
    ;; -*- no-byte-compile: t; -*-
    ;;; $DOOMDIR/packages.el
    ;; (package! org-super-agenda)
    (package! org-ref)
    (package! nushell-mode);
    (package! typst-ts-mode :recipe (:host codeberg :repo "meow_king/typst-ts-mode"))
    (package! denote) ; Alternative to org-roam
    (package! consult-denote)
    ;; Bibliography. Bug fix : no slash neeede for subdir
    ;; https://github.com/pprevos/citar-denote/commit/4ae054c1a5f723bb4e8ffedeb59e0cfd3803f776
    (package! citar-denote
    :recipe (:host github :repo "pprevos/citar-denote"))
    ;; :pin "4ae054c")
    (package! org-ql) ; Easier search org files
  • file addition: init.el (----------)
    [0.188426]
    ;;; init.el -*- lexical-binding: t; -*-
    ;; This file controls what Doom modules are enabled and what order they load
    ;; in. Remember to run 'doom sync' after modifying it!
    ;; NOTE Press 'SPC h d h' (or 'C-h d h' for non-vim users) to access Doom's
    ;; documentation. There you'll find a link to Doom's Module Index where all
    ;; of our modules are listed, including what flags they support.
    ;; NOTE Move your cursor over a module's name (or its flags) and press 'K' (or
    ;; 'C-c c k' for non-vim users) to view its documentation. This works on
    ;; flags as well (those symbols that start with a plus).
    ;;
    ;; Alternatively, press 'gd' (or 'C-c c d') on a module to browse its
    ;; directory (for easy access to its source code).
    (doom! :input
    ;;bidi ; (tfel ot) thgir etirw uoy gnipleh
    ;;chinese
    ;;japanese
    ;;layout ; auie,ctsrnm is the superior home row
    :completion
    ;; company ; the ultimate code completion backend
    (corfu +orderless) ; complete with cap(f), cape and a flying feather!
    ;;helm ; the *other* search engine for love and life
    ;;ido ; the other *other* search engine...
    ;;ivy ; a search engine for love and life
    vertico ; the search engine of the future
    :ui
    deft ; notational velocity for Emacs
    doom ; what makes DOOM look the way it does
    ;; doom-dashboard ; a nifty splash screen for Emacs
    ;;doom-quit ; DOOM quit-message prompts when you quit Emacs
    ;;(emoji +unicode) ; 🙂
    hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW
    ;;hydra
    ;;indent-guides ; highlighted indent columns
    (ligatures +iosevka) ; ligatures and symbols to make your code pretty again
    ;;minimap ; show a map of the code on the side
    modeline ; snazzy, Atom-inspired modeline, plus API
    ;;nav-flash ; blink cursor line after big motions
    ;;neotree ; a project drawer, like NERDTree for vim
    ophints ; highlight the region an operation acts on
    (popup +defaults) ; tame sudden yet inevitable temporary windows
    ;;tabs ; a tab bar for Emacs
    ;;treemacs ; a project drawer, like neotree but cooler
    ;;unicode ; extended unicode support for various languages
    (vc-gutter +pretty) ; vcs diff in the fringe
    vi-tilde-fringe ; fringe tildes to mark beyond EOB
    ;;window-select ; visually switch windows
    workspaces ; tab emulation, persistence & separate workspaces
    ;; zen ; distraction-free coding or writing
    :editor
    (evil +everywhere); come to the dark side, we have cookies
    ;; file-templates ; auto-snippets for empty files Disable it for denote
    fold ; (nigh) universal code folding
    ;;(format +onsave) ; automated prettiness
    ;;god ; run Emacs commands without modifier keys
    ;;lispy ; vim for lisp, for people who don't like vim
    multiple-cursors ; editing in many places at once
    ;;objed ; text object editing for the innocent
    ;;parinfer ; turn lisp into python, sort of
    ;;rotate-text ; cycle region at point between text candidates
    snippets ; my elves. They type so I don't have to
    ;;word-wrap ; soft wrapping with language-aware indent
    :emacs
    dired ; making dired pretty [functional]
    electric ; smarter, keyword-based electric-indent
    ;;ibuffer ; interactive buffer management
    undo ; persistent, smarter undo for your inevitable mistakes
    vc ; version-control and Emacs, sitting in a tree
    :term
    ; eshell ; the elisp shell that works everywhere
    ;;shell ; simple shell REPL for Emacs
    ;;term ; basic terminal emulator for Emacs
    ;;vterm ; the best terminal emulation in Emacs
    :checkers
    syntax ; tasing you for every semicolon you forget
    (spell +flyspell) ; tasing you for misspelling mispelling
    grammar ; tasing grammar mistake every you make
    :tools
    ;;ansible
    biblio ; Writes a PhD for you (citation needed)
    ;;collab ; buffers with friends
    ;;debugger ; FIXME stepping through code, to help you add bugs
    ;;direnv
    ;;docker
    ;;editorconfig ; let someone else argue about tabs vs spaces
    ;;ein ; tame Jupyter notebooks with emacs
    (eval +overlay) ; run code, run (also, repls)
    lookup ; navigate your code and its documentation
    (lsp +eglot) ; M-x vscode
    magit ; a git porcelain for Emacs
    ;;make ; run make tasks from Emacs
    ;;pass ; password manager for nerds
    pdf ; pdf enhancements
    ;;prodigy ; FIXME managing external services & code builders
    ;;rgb ; creating color strings
    ;;taskrunner ; taskrunner for all your projects
    ;;terraform ; infrastructure as code
    ;;tmux ; an API for interacting with tmux
    ;;tree-sitter ; syntax and parsing, sitting in a tree...
    ;;upload ; map local to remote projects via ssh/ftp
    :os
    (:if (featurep :system 'macos) macos) ; improve compatibility with macOS
    ;;tty ; improve the terminal Emacs experience
    :lang
    ;;agda ; types of types of types of types...
    ;;beancount ; mind the GAAP
    ;;(cc +lsp) ; C > C++ == 1
    ;;clojure ; java with a lisp
    ;;common-lisp ; if you've seen one lisp, you've seen them all
    ;;coq ; proofs-as-programs
    ;;crystal ; ruby at the speed of c
    ;;csharp ; unity, .NET, and mono shenanigans
    ;;data ; config/data formats
    ;;(dart +flutter) ; paint ui and not much else
    ;;dhall
    ;;elixir ; erlang done right
    ;;elm ; care for a cup of TEA?
    emacs-lisp ; drown in parentheses
    ;;erlang ; an elegant language for a more civilized age
    ;;ess ; emacs speaks statistics
    ;;factor
    ;;faust ; dsp, but you get to keep your soul
    ;;fortran ; in FORTRAN, GOD is REAL (unless declared INTEGER)
    ;;fsharp ; ML stands for Microsoft's Language
    ;;fstar ; (dependent) types and (monadic) effects and Z3
    ;;gdscript ; the language you waited for
    ;;(go +lsp) ; the hipster dialect
    ;;(graphql +lsp) ; Give queries a REST
    (haskell +lsp) ; a language that's lazier than I am
    ;;hy ; readability of scheme w/ speed of python
    ;;idris ; a language you can depend on
    ;;json ; At least it ain't XML
    ;;(java +lsp) ; the poster child for carpal tunnel syndrome
    ;;javascript ; all(hope(abandon(ye(who(enter(here))))))
    julia ; a better, faster MATLAB
    ;;kotlin ; a better, slicker Java(Script)
    ;; latex ; writing papers in Emacs has never been so fun
    ;;lean ; for folks with too much to prove
    ;;ledger ; be audit you can be
    ;;lua ; one-based indices? one-based indices
    ;; markdown ; writing docs for people to ignore
    ;;nim ; python + lisp at the speed of c
    nix ; I hereby declare "nix geht mehr!"
    ;;ocaml ; an objective camel
    (org +pandoc) ; organize your plain life in plain text
    ;;php ; perl's insecure younger brother
    ;;plantuml ; diagrams for confusing people more
    ;;purescript ; javascript, but functional
    python ; beautiful is better than ugly
    ;;qt ; the 'cutest' gui framework ever
    ;;racket ; a DSL for DSLs
    ;;raku ; the artist formerly known as perl6
    ;;rest ; Emacs as a REST client
    ;;rst ; ReST in peace
    ;;(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"}
    (rust +lsp) ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
    ;;scala ; java, but good
    ;;(scheme +guile) ; a fully conniving family of lisps
    sh ; she sells {ba,z,fi}sh shells on the C xor
    ;;sml
    ;;solidity ; do you need a blockchain? No.
    ;;swift ; who asked for emoji variables?
    ;;terra ; Earth and Moon in alignment for performance.
    ;;web ; the tubes
    ;;yaml ; JSON, but readable
    ;;zig ; C, but simpler
    :email
    ;;(mu4e +org +gmail)
    notmuch
    ;;(wanderlust +gmail)
    :app
    ;;calendar
    ;;emms
    ;;everywhere ; *leave* Emacs!? You must be joking
    ;;irc ; how neckbeards socialize
    ;;(rss +org) ; emacs as an RSS reader
    ;;twitter ; twitter client https://twitter.com/vnought
    :config
    ;;literate
    (default +bindings +smartparens))
  • file addition: custom.el (----------)
    [0.188426]
    (custom-set-variables
    ;; custom-set-variables was added by Custom.
    ;; If you edit it by hand, you could mess it up, so be careful.
    ;; Your init file should contain only one such instance.
    ;; If there is more than one, they won't work right.
    '(custom-safe-themes
    '("94bed81ca0be98f58d2cfa2676221c492c8fd5f76b40abd9d73ac00c0d0c9711" "0325a6b5eea7e5febae709dab35ec8648908af12cf2d2b569bedc8da0a3a81c1" default))
    '(package-selected-packages
    '(catppuccin-theme autothemer modus-themes nano-theme vc-darcs csv-mode))
    '(safe-local-variable-values
    '((eval progn
    (require 'lisp-mode)
    (defun emacs27-lisp-fill-paragraph
    (&optional justify)
    (interactive "P")
    (or
    (fill-comment-paragraph justify)
    (let
    ((paragraph-start
    (concat paragraph-start "\\|\\s-*\\([(;\"]\\|\\s-:\\|`(\\|#'(\\)"))
    (paragraph-separate
    (concat paragraph-separate "\\|\\s-*\".*[,\\.]$"))
    (fill-column
    (if
    (and
    (integerp emacs-lisp-docstring-fill-column)
    (derived-mode-p 'emacs-lisp-mode))
    emacs-lisp-docstring-fill-column fill-column)))
    (fill-paragraph justify))
    t))
    (setq-local fill-paragraph-function #'emacs27-lisp-fill-paragraph))
    (eval modify-syntax-entry 43 "'")
    (eval modify-syntax-entry 36 "'")
    (eval modify-syntax-entry 126 "'")
    (geiser-repl-per-project-p . t)
    (eval with-eval-after-load 'yasnippet
    (let
    ((guix-yasnippets
    (expand-file-name "etc/snippets/yas"
    (locate-dominating-file default-directory ".dir-locals.el"))))
    (unless
    (member guix-yasnippets yas-snippet-dirs)
    (add-to-list 'yas-snippet-dirs guix-yasnippets)
    (yas-reload-all))))
    (eval with-eval-after-load 'tempel
    (if
    (stringp tempel-path)
    (setq tempel-path
    (list tempel-path)))
    (let
    ((guix-tempel-snippets
    (concat
    (expand-file-name "etc/snippets/tempel"
    (locate-dominating-file default-directory ".dir-locals.el"))
    "/*.eld")))
    (unless
    (member guix-tempel-snippets tempel-path)
    (add-to-list 'tempel-path guix-tempel-snippets))))
    (eval setq-local guix-directory
    (locate-dominating-file default-directory ".dir-locals.el"))
    (eval add-to-list 'completion-ignored-extensions ".go"))))
    (custom-set-faces
    ;; custom-set-faces was added by Custom.
    ;; If you edit it by hand, you could mess it up, so be careful.
    ;; Your init file should contain only one such instance.
    ;; If there is more than one, they won't work right.
    )
  • file addition: config.el (----------)
    [0.188426]
    ;;; $DOOMDIR/config.el -*- lexical-binding: t; -*-
    (setq doom-theme 'modus-vivendi
    doom-font (font-spec :family "Aporetic Serif Mono" :size 19))
    ;; ----------- Org configuration
    (after! org
    :config
    (setq org-archive-location "archive/%s_archive::" ; Avoid polluting with archive files
    org-agenda-files (list "inbox.org" "projects.org")
    ;; We use org-agenda for day view, org-ql for the rest
    org-log-done 'time ; Track done tasks
    org-todo-keywords
    '((sequence "TODO(t)" "NEXT(n)" "HOLD(h)" "STRT(s)" "|" "KILL(k)" "DONE(d)"))
    org-agenda-start-day "0d" ; Day view by default
    org-agenda-span 1 ; Day view by default
    org-agenda-skip-scheduled-if-done t
    org-agenda-skip-deadline-if-done t
    org-agenda-skip-scheduled-if-deadline-is-shown t
    org-capture-templates
    '(("t" "Todo" entry (file "inbox.org")
    "* TODO %?\n /Entered on/ %U")
    ("r" "Réunion" entry (file "reunions.org")
    "* TODO %?\nEntered on %U\n %i"))
    org-agenda-custom-commands
    '(("w" "Work" agenda "" ((org-agenda-tag-filter-preset '("+work"))))
    ("h" "Home" agenda "" ((org-agenda-tag-filter-preset '("-work")))))
    ;; Latex
    org-latex-pdf-process
    '("lualatex -shell-escape -interaction nonstopmode %f")))
    ;; List books to read or waiting
    (defun org-books()
    (interactive)
    (org-ql-search "~/org/livres.org"
    '(todo "STRT" "TODO" "HOLD")
    :sort '(todo reverse)))
    ;; List books to read or waiting
    (defun org-movies()
    (interactive)
    (org-ql-search "~/org/films.org" '(todo)))
    (use-package! org-habit) ; Recurring tasks
    (after! ox-latex; Add koma-script
    org-latex-classes
    '("scrartcl"
    "\\documentclass{scrartcl}"
    ("\\section{%s}" . "\\section*{%s}")
    ("\\subsection{%s}" . "\\subsection*{%s}")
    ("\\subsubsection{%s}" . "\\subsubsection*{%s}")
    ("\\paragraph{%s}" . "\\paragraph*{%s}")
    ("\\subparagraph{%s}" . "\\subparagraph*{%s}")))
    ;; Mail settings
    (after! notmuch
    (setq +notmuch-sync-backend "notmuch new"
    +notmuch-delete-tags '("+deleted" "-inbox" "-new" "-unread")
    +notmuch-home-function (lambda () (notmuch-search "tag:new"))
    notmuch-archive-tags '("+archive" "-inbox" "-new" "-unread")))
    (setq sendmail-program "/usr/bin/msmtp" )
    ;; Use denote insteal of org-roam
    (after! denote
    :config
    (setq denote-directory "~/org/zk"
    ;; Avoid date in english
    denote-journal-extras-title-format '"%Y-%m-%d"))
    ;; Bibliography managed by denote in a subdirectory
    (after! citar
    :config
    (setq! citar-bibliography '("~/org/biblio/main.bib")))
    (use-package citar-denote
    :ensure t
    :after (:any citar denote)
    :custom
    ;; Package defaults
    (citar-denote-subdir "biblio") ; See packages.el
    (citar-denote-title-format "author-year")
    :config
    (citar-denote-mode)
    )
    (after! deft
    :config
    (setq deft-directory "~/org/zk"))
    ;; Use denote insteal of org-roam
    (map! :leader
    (:prefix-map ("n" . "notes")
    :desc "Find files in notes" "f" #'consult-denote-find
    :desc "Open/create note" "o" #'denote-open-or-create
    :desc "Insert link" "l" #'denote-link-or-create
    :desc "Insert link to heading" "h" #'denote-org-extras-link-to-heading
    :desc "Rename note" "r" #'denote-rename-file
    :desc "Rename note title" "t" #'denote-rename-file-title
    :desc "Rename note keywords" "k" #'denote-rename-file-keywords
    :desc "Journal-entry" "j" #'denote-journal-extras-new-or-existing-entry
    ;; custom function to open papers or biblio urlsnotes. Assume vertico
    (:when (modulep! :tools biblio)
    :desc "Bibliography papers" "p" #'citar-open-files
    :desc "Bibliography URLs" "u" #'citar-open-links)))
  • file addition: broot (d--r------)
    [0.11640]
  • file addition: verbs.hjson (----------)
    [0.205574]
    ###############################################################
    # This file contains the verb definitions for broot
    #
    # Some verbs here are examples and not enabled by default: you
    # need to uncomment them if you want to use them.
    #
    # Documentation at https://dystroy.org/broot/verbs/
    ###############################################################
    verbs: [
    # You should customize this standard opening of text files.
    # If you edit text files in your terminal (vi, emacs, helix, eg.), then
    # you'll find it convenient to change the 'key' from 'ctrl-e' to 'enter'.
    #
    # If $EDITOR isn't set on your computer, you should either set it using
    # something similar to
    # export EDITOR=/usr/local/bin/nvim
    # or just replace it with your editor of choice in the 'execution'
    # pattern.
    # If your editor is able to open a file on a specific line, use {line}
    # so that you may jump directly at the right line from a preview or
    # a content search.
    # Examples depending on your favourite editor:
    # execution: "nvim +{line} {file}"
    # execution: "helix {file}:{line}"
    {
    invocation: edit
    shortcut: e
    key: ctrl-e
    apply_to: text_file
    execution: "$EDITOR {file}"
    leave_broot: false
    }
    # Example 1: launching `tail -n` on the selected file (leaving broot)
    # {
    # name: tail_lines
    # invocation: tl {lines_count}
    # execution: "tail -f -n {lines_count} {file}"
    # }
    # Example 2: creating a new file without leaving broot
    # {
    # name: touch
    # invocation: touch {new_file}
    # execution: "touch {directory}/{new_file}"
    # leave_broot: false
    # }
    # A convenient shortcut to create new text files in
    # the current directory or below
    {
    invocation: create {subpath}
    execution: "$EDITOR {directory}/{subpath}"
    leave_broot: false
    }
    {
    invocation: git_diff
    shortcut: gd
    leave_broot: false
    execution: "git difftool -y {file}"
    }
    # On ctrl-b, propose the creation of a copy of the selection.
    # While this might occasionally be useful, this verb is mostly here
    # as an example to demonstrate rare standard groups like {file-stem}
    # and {file-dot-extension} and the auto_exec verb property which
    # allows verbs to stay unexecuted until you hit enter
    {
    invocation: "backup {version}"
    key: ctrl-b
    leave_broot: false
    auto_exec: false
    execution: "cp -r {file} {parent}/{file-stem}-{version}{file-dot-extension}"
    }
    # By default, `rm` does the system rm, and completely removes
    # the file. If you prefer to have the file moved to the system
    # trash, you may use the ':trash' internal with the verb below:
    # {
    # invocation: "rm"
    # internal: "trash"
    # leave_broot: false
    # }
    # This verb lets you launch a terminal on ctrl-T
    # (on exit you'll be back in broot)
    {
    invocation: terminal
    key: ctrl-t
    execution: "$SHELL"
    set_working_dir: true
    leave_broot: false
    }
    # Here's an example of a verb needing the shell capabilities.
    # It copies all children of the currently selected directory
    # to a destination you type.
    # It uses a star, which needs the shell for expansion. That's
    # why such verb must have the `from_shell: true` parameter.
    # {
    # invocation: "cpa {dest}"
    # external: "cp -r {directory}/* {dest}"
    # from_shell: true
    # }
    # Here's an example of a shortcut bringing you to your home directory
    # {
    # invocation: home
    # key: ctrl-home
    # execution: ":focus ~"
    # }
    # Here's going to the work-dir root of the current git repository
    # {
    # invocation: gtr
    # execution: ":focus {git-root}"
    # }
    # A popular set of shortcuts for going up and down:
    #
    # {
    # key: ctrl-k
    # execution: ":line_up"
    # }
    # {
    # key: ctrl-j
    # execution: ":line_down"
    # }
    # {
    # key: ctrl-u
    # execution: ":page_up"
    # }
    # {
    # key: ctrl-d
    # execution: ":page_down"
    # }
    # If you develop using git, you might like to often switch
    # to the git status filter:
    # {
    # key: alt-g
    # execution: ":toggle_git_status"
    # }
    # You can reproduce the bindings of Norton Commander
    # on copying or moving to the other panel:
    # {
    # key: F5
    # external: "cp -r {file} {other-panel-directory}"
    # leave_broot: false
    # }
    # {
    # key: F6
    # external: "mv {file} {other-panel-directory}"
    # leave_broot: false
    # }
    ]
  • file addition: skins (d--r------)
    [0.205574]
  • file addition: white.hjson (----------)
    [0.210427]
    ###############################################################
    # A skin for a terminal with a white background
    #
    # To create your own skin, copy this file, change the entries
    # and import your skin file from the main conf file (look
    # for "imports")
    #
    # Doc at https://dystroy.org/broot/skins/
    ###############################################################
    syntax_theme: base16-ocean.light
    skin: {
    default: gray(1) None
    tree: gray(7) None / gray(18) None
    file: gray(3) None / gray(8) None
    directory: ansi(25) None Bold / ansi(25) None
    exe: ansi(130) None
    link: Magenta None
    pruning: gray(12) None Italic
    perm__: gray(5) None
    perm_r: ansi(94) None
    perm_w: ansi(132) None
    perm_x: ansi(65) None
    owner: ansi(138) None
    group: ansi(131) None
    dates: ansi(66) None
    sparse: ansi(214) None
    git_branch: ansi(229) None
    git_insertions: ansi(28) None
    git_deletions: ansi(160) None
    git_status_current: gray(5) None
    git_status_modified: ansi(28) None
    git_status_new: ansi(94) None Bold
    git_status_ignored: gray(17) None
    git_status_conflicted: ansi(88) None
    git_status_other: ansi(88) None
    selected_line: None gray(19) / None gray(21)
    char_match: ansi(22) None
    file_error: Red None
    flag_label: gray(9) None
    flag_value: ansi(166) None Bold
    input: gray(1) None / gray(4) gray(20)
    status_error: gray(22) ansi(124)
    status_normal: gray(2) gray(20)
    status_job: ansi(220) gray(5)
    status_italic: ansi(166) gray(20)
    status_bold: ansi(166) gray(20)
    status_code: ansi(17) gray(20)
    status_ellipsis: gray(19) gray(15)
    purpose_normal: gray(20) gray(2)
    purpose_italic: ansi(178) gray(2)
    purpose_bold: ansi(178) gray(2) Bold
    purpose_ellipsis: gray(20) gray(2)
    scrollbar_track: gray(20) none
    scrollbar_thumb: ansi(238) none
    help_paragraph: gray(2) none
    help_bold: ansi(202) none bold
    help_italic: ansi(202) none italic
    help_code: gray(5) gray(22)
    help_headers: ansi(202) none
    help_table_border: ansi(239) None
    preview_title: gray(3) None / gray(5) None
    preview: gray(5) gray(23) / gray(7) gray(23)
    preview_line_number: gray(6) gray(20)
    preview_separator: gray(7) None / gray(18) None
    preview_match: None ansi(29) Underlined
    hex_null: gray(15) None
    hex_ascii_graphic: gray(2) None
    hex_ascii_whitespace: ansi(143) None
    hex_ascii_other: ansi(215) None
    hex_non_ascii: ansi(167) None
    staging_area_title: gray(8) None / gray(13) None
    mode_command_mark: gray(15) ansi(204) Bold
    good_to_bad_0: ansi(28)
    good_to_bad_1: ansi(29)
    good_to_bad_2: ansi(29)
    good_to_bad_3: ansi(29)
    good_to_bad_4: ansi(29)
    good_to_bad_5: ansi(100)
    good_to_bad_6: ansi(136)
    good_to_bad_7: ansi(172)
    good_to_bad_8: ansi(166)
    good_to_bad_9: ansi(196)
    }
  • file addition: solarized-light.hjson (----------)
    [0.210427]
    // contributed by [@danieltrautmann](https://github.com/danieltrautmann)
    //
    //
    // The Solarized Light skin uses RGB values, so it might not work well with some
    // terminals
    //
    // If you prefer to keep the background the same as your terminal background, change
    // the "default" entry to
    // default: "none none / rgb(147, 161, 161) none"
    //
    // Doc at https://dystroy.org/broot/skins/
    skin: {
    // base00 default / base1 base2
    default: "rgb(101, 123, 131) none / rgb(147, 161, 161) none"
    // base1 default
    tree: "rgb(147, 161, 161) none"
    // default default
    file: "none none"
    // blue default bold
    directory: "rgb(38, 139, 210) none bold"
    // red default
    exe: "rgb(211, 1, 2) none"
    // magenta default
    link: "rgb(211, 54, 130) none"
    // base1 default italic
    pruning: "rgb(147, 161, 161) none italic"
    // base1 default
    perm__: "rgb(147, 161, 161) none"
    // default default
    perm_r: "none none"
    // default default
    perm_w: "none none"
    // default default
    perm_x: "none none"
    // base1 default
    owner: "rgb(147, 161, 161) none"
    // base1 default
    group: "rgb(147, 161, 161) none"
    // default default
    sparse: "none none"
    // base01 default
    git_branch: "rgb(88, 110, 117) none"
    // green default
    git_insertions: "rgb(133, 153, 0) none"
    // red default
    git_deletions: "rgb(211, 1, 2) none"
    // default default
    git_status_current: "none none"
    // yellow default
    git_status_modified: "rgb(181, 137, 0) none"
    // green default
    git_status_new: "rgb(133, 153, 0) none"
    // base1 default
    git_status_ignored: "rgb(147, 161, 161) none"
    // red default
    git_status_conflicted: "rgb(211, 1, 2) none"
    // red default
    git_status_other: "rgb(211, 1, 2) none"
    // default base2
    selected_line: "none rgb(238, 232, 213)"
    // green default underlined
    char_match: "rgb(133, 153, 0) none underlined"
    // orange default italic
    file_error: "rgb(203, 75, 22) none italic"
    // default default
    flag_label: "none none"
    // yellow default bold
    flag_value: "rgb(181, 137, 0) none bold"
    // default default
    input: "none none"
    // orange base2
    status_error: "rgb(203, 75, 22) rgb(238, 232, 213)"
    // violet base2 bold
    status_job: "rgb(108, 113, 196) rgb(238, 232, 213) bold"
    // default base2
    status_normal: "none rgb(238, 232, 213)"
    // yellow base2
    status_italic: "rgb(181, 137, 0) rgb(238, 232, 213)"
    // base01 base2 bold
    status_bold: "rgb(88, 110, 117) rgb(238, 232, 213) bold"
    // violet base2
    status_code: "rgb(108, 113, 196) rgb(238, 232, 213)"
    // default base2
    status_ellipsis: "none rgb(238, 232, 213)"
    // base2 default
    scrollbar_track: "rgb(238, 232, 213) none"
    // default default
    scrollbar_thumb: "none none"
    // default default
    help_paragraph: "none none"
    // base01 default bold
    help_bold: "rgb(88, 110, 117) none bold"
    // base01 default italic
    help_italic: "rgb(88, 110, 117) none italic"
    // base01 base2
    help_code: "rgb(88, 110, 117) rgb(238, 232, 213)"
    // yellow default
    help_headers: "rgb(181, 137, 0) none"
    // default default
    help_table_border: "none none"
    preview_title: "rgb(147, 161, 161) rgb(238, 232, 213)"
    preview: "rgb(101, 123, 131) rgb(253, 246, 227) / rgb(147, 161, 161) rgb(238, 232, 213)"
    preview_line_number: "rgb(147, 161, 161) rgb(238, 232, 213)"
    preview_separator: "rgb(147, 161, 161) rgb(238, 232, 213)"
    preview_match: "None ansi(29)"
    staging_area_title: "gray(22) rgb(253, 246, 227)"
    good_to_bad_0: ansi(28)
    good_to_bad_1: ansi(29)
    good_to_bad_2: ansi(29)
    good_to_bad_3: ansi(29)
    good_to_bad_4: ansi(29)
    good_to_bad_5: ansi(100)
    good_to_bad_6: ansi(136)
    good_to_bad_7: ansi(172)
    good_to_bad_8: ansi(166)
    good_to_bad_9: ansi(196)
    }
  • file addition: solarized-dark.hjson (----------)
    [0.210427]
    // contributed by [@danieltrautmann](https://github.com/danieltrautmann)
    //
    //
    // The Solarized Dark skin uses RGB values, so it might not work well with some
    // terminals
    //
    // Doc at https://dystroy.org/broot/skins/
    skin: {
    default: "rgb(131, 148, 150) rgb(0, 43, 54) / rgb(131, 148, 150) rgb(7, 54, 66)" // base0 base03 / base01 base02
    tree: "rgb(88, 110, 117) none" // base01 default
    file: "none none" // default default
    directory: "rgb(38, 139, 210) none bold" // blue default bold
    exe: "rgb(211, 1, 2) none" // red default
    link: "rgb(211, 54, 130) none" // magenta default
    pruning: "rgb(88, 110, 117) none italic" // base01 default italic
    perm__: "rgb(88, 110, 117) none" // base01 default
    perm_r: "none none" // default default
    perm_w: "none none" // default default
    perm_x: "none none" // default default
    owner: "rgb(88, 110, 117) none" // base01 default
    group: "rgb(88, 110, 117) none" // base01 default
    sparse: "none none" // default default
    git_branch: "rgb(147, 161, 161) none" // base1 default
    git_insertions: "rgb(133, 153, 0) none" // green default
    git_deletions: "rgb(211, 1, 2) none" // red default
    git_status_current: "none none" // default default
    git_status_modified: "rgb(181, 137, 0) none" // yellow default
    git_status_new: "rgb(133, 153, 0) none" // green default
    git_status_ignored: "rgb(88, 110, 117) none" // base01 default
    git_status_conflicted: "rgb(211, 1, 2) none" // red default
    git_status_other: "rgb(211, 1, 2) none" // red default
    selected_line: "none rgb(7, 54, 66)" // default base02
    char_match: "rgb(133, 153, 0) none underlined" // green default underlined
    file_error: "rgb(203, 75, 22) none italic" // orange default italic
    flag_label: "none none" // default default
    flag_value: "rgb(181, 137, 0) none bold" // yellow default bold
    input: "none none" // default default
    status_error: "rgb(203, 75, 22) rgb(7, 54, 66)" // orange base02
    status_job: "rgb(108, 113, 196) rgb(7, 54, 66) bold" // violet base02 bold
    status_normal: "none rgb(7, 54, 66)" // default base02
    status_italic: "rgb(181, 137, 0) rgb(7, 54, 66)" // yellow base02
    status_bold: "rgb(147, 161, 161) rgb(7, 54, 66) bold" // base1 base02 bold
    status_code: "rgb(108, 113, 196) rgb(7, 54, 66)" // violet base02
    status_ellipsis: "none rgb(7, 54, 66)" // default base02
    scrollbar_track: "rgb(7, 54, 66) none" // base02 default
    scrollbar_thumb: "none none" // default default
    help_paragraph: "none none" // default default
    help_bold: "rgb(147, 161, 161) none bold" // base1 default bold
    help_italic: "rgb(147, 161, 161) none italic" // base1 default italic
    help_code: "rgb(147, 161, 161) rgb(7, 54, 66)" // base1 base02
    help_headers: "rgb(181, 137, 0) none" // yellow default
    help_table_border: "none none" // default default
    preview_title: "gray(20) rgb(0, 43, 54)"
    staging_area_title: "gray(22) rgb(0, 43, 54)"
    good_to_bad_0: "ansi(28)" // green
    good_to_bad_1: "ansi(29)"
    good_to_bad_2: "ansi(29)"
    good_to_bad_3: "ansi(29)"
    good_to_bad_4: "ansi(29)"
    good_to_bad_5: "ansi(100)"
    good_to_bad_6: "ansi(136)"
    good_to_bad_7: "ansi(172)"
    good_to_bad_8: "ansi(166)"
    good_to_bad_9: "ansi(196)" // red
    }
  • file addition: native-16.hjson (----------)
    [0.210427]
    ###############################################################
    # 16 ANSI color theme. Colors in this theme are restricted from
    # ANSI color 0 - 15. This will allow the theme to adapt to your
    # terminal emulator's theme. Note that, for now, the preview
    # mode does not yet support this theme because of syntect not
    # having a 16 ansi color theme.
    #
    # More info at https://jeffkreeftmeijer.com/vim-16-color/
    # Doc at https://dystroy.org/broot/skins/
    ###############################################################
    skin: {
    directory: ansi(12)
    file: ansi(7)
    pruning: ansi(8) none italic
    selected_line: none ansi(0)
    tree: ansi(8)
    # Search
    char_match: ansi(3) none underlined
    parent: ansi(4) none bold
    # File properties
    exe: ansi(2)
    link: ansi(13)
    sparse: ansi(12)
    # Prompt
    input: ansi(6)
    # Status bar
    status_bold: ansi(7) ansi(8) bold
    status_code: ansi(10) ansi(8)
    status_ellipsis: ansi(7) ansi(8)
    status_error: ansi(7) ansi(8)
    status_italic: ansi(7) ansi(8) italic
    status_job: ansi(7) ansi(8)
    status_normal: ansi(7) ansi(8)
    # Flag status
    flag_label: ansi(6)
    flag_value: ansi(14) none bold
    # Background
    default: none none
    # Scrollbar
    scrollbar_track: ansi(0)
    scrollbar_thumb: ansi(3)
    # Git
    git_branch: ansi(13)
    git_deletions: ansi(1)
    git_insertions: ansi(2)
    git_status_conflicted: ansi(1)
    git_status_current: ansi(6)
    git_status_ignored: ansi(8)
    git_status_modified: ansi(3)
    git_status_new: ansi(2) none bold
    git_status_other: ansi(5)
    # Staging area
    staging_area_title: ansi(3)
    # Documentation
    help_bold: ansi(7) none bold
    help_code: ansi(4)
    help_headers: ansi(3)
    help_italic: ansi(7) none italic
    help_paragraph: ansi(7)
    help_table_border: ansi(8)
    # Device column
    device_id_major: ansi(5)
    device_id_minor: ansi(5)
    device_id_sep: ansi(5)
    # Counts column
    count: ansi(13)
    # Dates column
    dates: ansi(6)
    # Permissions column
    group: ansi(3)
    owner: ansi(3)
    perm__: ansi(8)
    perm_r: ansi(3)
    perm_w: ansi(1)
    perm_x: ansi(2)
    # Hex preview
    hex_null: ansi(8)
    hex_ascii_graphic: ansi(2)
    hex_ascii_whitespace: ansi(3)
    hex_ascii_other: ansi(4)
    hex_non_ascii: ansi(5)
    # Preview
    # preview: none
    # preview_line_number: none
    # preview_match: none
    # preview_title: none
    # Used for displaying errors
    file_error: ansi(1)
    # Content searches
    content_extract: ansi(7)
    content_match: ansi(3) none underlined
    # Used in status line
    purpose_bold: ansi(0) ansi(7) bold
    purpose_ellipsis: ansi(0)
    purpose_italic: ansi(0) ansi(7) italic
    purpose_normal: ansi(0)
    # Modal indicator
    mode_command_mark: ansi(7) ansi(4)
    # File system occupation
    good_to_bad_0: ansi(2)
    good_to_bad_1: ansi(2)
    good_to_bad_2: ansi(2)
    good_to_bad_3: ansi(2)
    good_to_bad_4: ansi(2)
    good_to_bad_5: ansi(1)
    good_to_bad_6: ansi(1)
    good_to_bad_7: ansi(1)
    good_to_bad_8: ansi(1)
    good_to_bad_9: ansi(1)
    }
  • file addition: dark-orange.hjson (----------)
    [0.210427]
    ###############################################################
    # A skin for a terminal with a dark background
    #
    # To create your own skin, copy this file, change the entries
    # and import your skin file from the main conf file (look
    # for "imports")
    #
    # Doc at https://dystroy.org/broot/skins/
    ###############################################################
    ###############################################################
    # Skin
    # If you want to change the colors of broot,
    # uncomment the following bloc and start messing
    # with the various values.
    # A skin entry value is made of two parts separated with a '/':
    # The first one is the skin for the active panel.
    # The second one, optional, is the skin for non active panels.
    # You may find explanations and other skins on
    # https://dystroy.org/broot/skins
    ###############################################################
    skin: {
    default: none none / gray(20) none
    tree: ansi(94) None / gray(3) None
    parent: gray(18) None / gray(13) None
    file: gray(20) None / gray(15) None
    directory: ansi(208) None Bold / ansi(172) None bold
    exe: Cyan None
    link: Magenta None
    pruning: gray(12) None Italic
    perm__: gray(5) None
    perm_r: ansi(94) None
    perm_w: ansi(132) None
    perm_x: ansi(65) None
    owner: ansi(138) None
    group: ansi(131) None
    count: ansi(136) gray(3)
    dates: ansi(66) None
    sparse: ansi(214) None
    content_extract: ansi(29) None
    content_match: ansi(34) None
    git_branch: ansi(229) None
    git_insertions: ansi(28) None
    git_deletions: ansi(160) None
    git_status_current: gray(5) None
    git_status_modified: ansi(28) None
    git_status_new: ansi(94) None Bold
    git_status_ignored: gray(17) None
    git_status_conflicted: ansi(88) None
    git_status_other: ansi(88) None
    selected_line: None gray(5) / None gray(4)
    char_match: Yellow None
    file_error: Red None
    flag_label: gray(15) None
    flag_value: ansi(208) None Bold
    input: White None / gray(15) gray(2)
    status_error: gray(22) ansi(124)
    status_job: ansi(220) gray(5)
    status_normal: gray(20) gray(3) / gray(2) gray(2)
    status_italic: ansi(208) gray(3) / gray(2) gray(2)
    status_bold: ansi(208) gray(3) Bold / gray(2) gray(2)
    status_code: ansi(229) gray(3) / gray(2) gray(2)
    status_ellipsis: gray(19) gray(1) / gray(2) gray(2)
    purpose_normal: gray(20) gray(2)
    purpose_italic: ansi(178) gray(2)
    purpose_bold: ansi(178) gray(2) Bold
    purpose_ellipsis: gray(20) gray(2)
    scrollbar_track: gray(7) None / gray(4) None
    scrollbar_thumb: gray(22) None / gray(14) None
    help_paragraph: gray(20) None
    help_bold: ansi(208) None Bold
    help_italic: ansi(166) None
    help_code: gray(21) gray(3)
    help_headers: ansi(208) None
    help_table_border: ansi(239) None
    preview: gray(20) gray(1) / gray(18) gray(2)
    preview_line_number: gray(12) gray(3)
    preview_separator: ansi(94) None / gray(3) None
    preview_match: None ansi(29)
    hex_null: gray(11) None
    hex_ascii_graphic: gray(18) None
    hex_ascii_whitespace: ansi(143) None
    hex_ascii_other: ansi(215) None
    hex_non_ascii: ansi(167) None
    good_to_bad_0: ansi(28)
    good_to_bad_1: ansi(29)
    good_to_bad_2: ansi(29)
    good_to_bad_3: ansi(29)
    good_to_bad_4: ansi(29)
    good_to_bad_5: ansi(100)
    good_to_bad_6: ansi(136)
    good_to_bad_7: ansi(172)
    good_to_bad_8: ansi(166)
    good_to_bad_9: ansi(196)
    }
    ###############################################################
    # Syntax Theme
    #
    # If you want to choose the theme used for preview, uncomment
    # one of the following lines:
    #
    # syntax_theme: GitHub
    # syntax_theme: SolarizedDark
    # syntax_theme: SolarizedLight
    syntax_theme: SolarizedDark
    # syntax_theme: MochaDark
    # syntax_theme: OceanDark
    # syntax_theme: OceanLight
  • file addition: dark-gruvbox.hjson (----------)
    [0.210427]
    ###############################################################
    # A skin for a terminal with a dark background
    # This skin uses RGB values so won't work for some
    # terminals.
    #
    #
    # (initially contributed by @basbebe)
    #
    # Doc at https://dystroy.org/broot/skins/
    ###############################################################
    skin: {
    default: rgb(235, 219, 178) none / rgb(189, 174, 147) none
    tree: rgb(70, 70, 80) None / rgb(60, 60, 60) None
    parent: rgb(235, 219, 178) none / rgb(189, 174, 147) none Italic
    file: None None / None None Italic
    directory: rgb(131, 165, 152) None Bold / rgb(131, 165, 152) None
    exe: rgb(184, 187, 38) None
    link: rgb(104, 157, 106) None
    pruning: rgb(124, 111, 100) None Italic
    perm__: None None
    perm_r: rgb(215, 153, 33) None
    perm_w: rgb(204, 36, 29) None
    perm_x: rgb(152, 151, 26) None
    owner: rgb(215, 153, 33) None Bold
    group: rgb(215, 153, 33) None
    count: rgb(69, 133, 136) rgb(50, 48, 47)
    dates: rgb(168, 153, 132) None
    sparse: rgb(250, 189,47) None
    content_extract: ansi(29) None Italic
    content_match: ansi(34) None Bold
    git_branch: rgb(251, 241, 199) None
    git_insertions: rgb(152, 151, 26) None
    git_deletions: rgb(190, 15, 23) None
    git_status_current: rgb(60, 56, 54) None
    git_status_modified: rgb(152, 151, 26) None
    git_status_new: rgb(104, 187, 38) None Bold
    git_status_ignored: rgb(213, 196, 161) None
    git_status_conflicted: rgb(204, 36, 29) None
    git_status_other: rgb(204, 36, 29) None
    selected_line: None rgb(60, 56, 54) / None rgb(50, 48, 47)
    char_match: rgb(250, 189, 47) None
    file_error: rgb(251, 73, 52) None
    flag_label: rgb(189, 174, 147) None
    flag_value: rgb(211, 134, 155) None Bold
    input: rgb(251, 241, 199) None / rgb(189, 174, 147) None Italic
    status_error: rgb(213, 196, 161) rgb(204, 36, 29)
    status_job: rgb(250, 189, 47) rgb(60, 56, 54)
    status_normal: None rgb(40, 38, 37) / None None
    status_italic: rgb(211, 134, 155) rgb(40, 38, 37) Italic / None None
    status_bold: rgb(211, 134, 155) rgb(40, 38, 37) Bold / None None
    status_code: rgb(251, 241, 199) rgb(40, 38, 37) / None None
    status_ellipsis: rgb(251, 241, 199) rgb(40, 38, 37) Bold / None None
    purpose_normal: None None
    purpose_italic: rgb(177, 98, 134) None Italic
    purpose_bold: rgb(177, 98, 134) None Bold
    purpose_ellipsis: None None
    scrollbar_track: rgb(80, 73, 69) None / rgb(50, 48, 47) None
    scrollbar_thumb: rgb(213, 196, 161) None / rgb(102, 92, 84) None
    help_paragraph: None None
    help_bold: rgb(214, 93, 14) None Bold
    help_italic: rgb(211, 134, 155) None Italic
    help_code: rgb(142, 192, 124) rgb(50, 48, 47)
    help_headers: rgb(254, 128, 25) None Bold
    help_table_border: rgb(80, 73, 69) None
    preview_title: rgb(235, 219, 178) rgb(40, 40, 40) / rgb(189, 174, 147) rgb(40, 40, 40)
    preview: rgb(235, 219, 178) rgb(40, 40, 40) / rgb(235, 219, 178) rgb(40, 40, 40)
    preview_line_number: rgb(124, 111, 100) None / rgb(124, 111, 100) rgb(40, 40, 40)
    preview_separator: rgb(70, 70, 80) None / rgb(60, 60, 60) None
    preview_match: None ansi(29) Bold
    hex_null: rgb(189, 174, 147) None
    hex_ascii_graphic: rgb(213, 196, 161) None
    hex_ascii_whitespace: rgb(152, 151, 26) None
    hex_ascii_other: rgb(254, 128, 25) None
    hex_non_ascii: rgb(214, 93, 14) None
    staging_area_title: rgb(235, 219, 178) rgb(40, 40, 40) / rgb(189, 174, 147) rgb(40, 40, 40)
    mode_command_mark: gray(5) ansi(204) Bold
    good_to_bad_0: ansi(28)
    good_to_bad_1: ansi(29)
    good_to_bad_2: ansi(29)
    good_to_bad_3: ansi(29)
    good_to_bad_4: ansi(29)
    good_to_bad_5: ansi(100)
    good_to_bad_6: ansi(136)
    good_to_bad_7: ansi(172)
    good_to_bad_8: ansi(166)
    good_to_bad_9: ansi(196)
    }
  • file addition: dark-blue.hjson (----------)
    [0.210427]
    ###############################################################
    # A skin for a terminal with a dark background
    #
    # To create your own skin, copy this file, change the entries
    # and import your skin file from the main conf file (look
    # for "imports")
    #
    # Doc at https://dystroy.org/broot/skins/
    ###############################################################
    ###############################################################
    # Skin
    # If you want to change the colors of broot,
    # uncomment the following block and start messing
    # with the various values.
    # A skin entry value is made of two parts separated with a '/':
    # The first one is the skin for the active panel.
    # The second one, optional, is the skin for non active panels.
    # You may find explanations and other skins on
    # https://dystroy.org/broot/skins
    ###############################################################
    skin: {
    default: gray(22) none / gray(20) none
    tree: gray(8) None / gray(4) None
    parent: gray(18) None / gray(13) None
    file: gray(22) None / gray(15) None
    directory: ansi(110) None bold / ansi(110) None
    exe: Cyan None
    link: Magenta None
    pruning: gray(12) None Italic
    perm__: gray(5) None
    perm_r: ansi(94) None
    perm_w: ansi(132) None
    perm_x: ansi(65) None
    owner: ansi(138) None
    group: ansi(131) None
    count: ansi(138) gray(4)
    dates: ansi(66) None
    sparse: ansi(214) None
    content_extract: ansi(29) None
    content_match: ansi(34) None
    device_id_major: ansi(138) None
    device_id_sep: ansi(102) None
    device_id_minor: ansi(138) None
    git_branch: ansi(178) None
    git_insertions: ansi(28) None
    git_deletions: ansi(160) None
    git_status_current: gray(5) None
    git_status_modified: ansi(28) None
    git_status_new: ansi(94) None bold
    git_status_ignored: gray(17) None
    git_status_conflicted: ansi(88) None
    git_status_other: ansi(88) None
    selected_line: None gray(6) / None gray(4)
    char_match: Green None
    file_error: Red None
    flag_label: gray(15) gray(2)
    flag_value: ansi(178) gray(2) bold
    input: White gray(2) / gray(15) None
    status_error: gray(22) ansi(124)
    status_job: ansi(220) gray(5)
    status_normal: gray(20) gray(4) / gray(2) gray(2)
    status_italic: ansi(178) gray(4) / gray(2) gray(2)
    status_bold: ansi(178) gray(4) bold / gray(2) gray(2)
    status_code: ansi(229) gray(4) / gray(2) gray(2)
    status_ellipsis: gray(19) gray(1) / gray(2) gray(2)
    purpose_normal: gray(20) gray(2)
    purpose_italic: ansi(178) gray(2)
    purpose_bold: ansi(178) gray(2) bold
    purpose_ellipsis: gray(20) gray(2)
    scrollbar_track: gray(7) None / gray(4) None
    scrollbar_thumb: gray(22) None / gray(14) None
    help_paragraph: gray(20) None
    help_bold: ansi(178) None bold
    help_italic: ansi(229) None
    help_code: gray(21) gray(3)
    help_headers: ansi(178) None
    help_table_border: ansi(239) None
    preview: gray(20) gray(1) / gray(18) gray(2)
    preview_title: gray(23) gray(2) / gray(21) gray(2)
    preview_line_number: gray(12) gray(3)
    preview_separator: gray(5) None
    preview_match: None ansi(29)
    hex_null: gray(8) None
    hex_ascii_graphic: gray(18) None
    hex_ascii_whitespace: ansi(143) None
    hex_ascii_other: ansi(215) None
    hex_non_ascii: ansi(167) None
    staging_area_title: gray(22) gray(2) / gray(20) gray(3)
    mode_command_mark: gray(5) ansi(204) bold
    good_to_bad_0: ansi(28)
    good_to_bad_1: ansi(29)
    good_to_bad_2: ansi(29)
    good_to_bad_3: ansi(29)
    good_to_bad_4: ansi(29)
    good_to_bad_5: ansi(100)
    good_to_bad_6: ansi(136)
    good_to_bad_7: ansi(172)
    good_to_bad_8: ansi(166)
    good_to_bad_9: ansi(196)
    }
    ###############################################################
    # Syntax Theme
    #
    # If you want to choose the theme used for preview, uncomment
    # one of the following lines:
    #
    # syntax_theme: GitHub
    # syntax_theme: SolarizedDark
    # syntax_theme: SolarizedLight
    syntax_theme: MochaDark
    # syntax_theme: MochaDark
    # syntax_theme: OceanDark
    # syntax_theme: OceanLight
  • file addition: catppuccin-mocha.hjson (----------)
    [0.210427]
    ###############################################################
    # A skin for a terminal with a dark background
    # This skin uses RGB values so won't work for some
    # terminals.
    #
    # Created by A. Taha Baki <atahabaki@pm.me>
    # Based on the built-in gruvbox theme.
    #
    # Doc at https://dystroy.org/broot/skins/
    ###############################################################
    skin: {
    input: rgb(205, 214, 244) none
    # fg:none bg:$surface2
    selected_line: none rgb(88, 91, 112)
    # fg:$text bg:none
    default: rgb(205, 214, 244) none
    # fg:$overlay0 bg:none
    tree: rgb(108, 112, 134) none
    # fg:$sapphire bg:none
    parent: rgb(116, 199, 236) none
    file: none none
    #
    ### PERMISSIONS
    #
    perm__: rgb(186, 194, 222) none
    # $peach
    perm_r: rgb(250, 179, 135) none
    # $maroon
    perm_w: rgb(235, 160, 172) none
    # $green
    perm_x: rgb(166, 227, 161) none
    # $teal
    owner: rgb(148, 226, 213) none
    # $sky
    group: rgb(137, 220, 235) none
    #
    ### DATE
    #
    # $subtext1
    dates: rgb(186, 194, 222) none
    #
    ### DIRECTORY
    #
    # $lavender
    directory: rgb(180, 190, 254) none Bold
    # $green
    exe: rgb(166, 227, 161) none
    # $yellow
    link: rgb(249, 226, 175) none
    # $subtext0
    pruning: rgb(166, 173, 200) none Italic
    #
    ### PREVIEW
    #
    # fg:$text bg:$mantle
    preview_title: rgb(205, 214, 244) rgb(24, 24, 37)
    # fg:$text bg:$mantle
    preview: rgb(205, 214, 244) rgb(24, 24, 37)
    # fg:$overlay0
    preview_line_number: rgb(108, 112, 134) none
    # fg:$overlay0
    preview_separator: rgb(108, 112, 134) none
    #
    ### MATCH
    #
    char_match: rgb(249, 226, 175) rgb(69, 71, 90) Bold Italic
    content_match: rgb(249, 226, 175) rgb(69, 71, 90) Bold Italic
    preview_match: rgb(249, 226, 175) rgb(69, 71, 90) Bold Italic
    # children count
    # fg:$yellow bg:none
    count: rgb(249, 226, 175) none
    sparse: rgb(243, 139, 168) none
    content_extract: rgb(243, 139, 168) none Italic
    #
    ### GIT
    #
    git_branch: rgb(250, 179, 135) none
    git_insertions: rgb(250, 179, 135) none
    git_deletions: rgb(250, 179, 135) none
    git_status_current: rgb(250, 179, 135) none
    git_status_modified: rgb(250, 179, 135) none
    git_status_new: rgb(250, 179, 135) none Bold
    git_status_ignored: rgb(250, 179, 135) none
    git_status_conflicted: rgb(250, 179, 135) none
    git_status_other: rgb(250, 179, 135) none
    staging_area_title: rgb(250, 179, 135) none
    #
    ### FLAG
    #
    flag_label: rgb(243, 139, 168) none
    flag_value: rgb(243, 139, 168) none Bold
    #
    ### STATUS
    #
    # fg:none #bg:$mantle
    status_normal: none rgb(24, 24, 37)
    # fg:$red bg:$mantle
    status_italic: rgb(243, 139, 168) rgb(24, 24, 37) Italic
    # fg:$maroon bg:$mantle
    status_bold: rgb(235, 160, 172) rgb(24, 24, 37) Bold
    # fg:$maroon bg:$mantle
    status_ellipsis: rgb(235, 160, 172) rgb(24, 24, 37) Bold
    # fg:$text bg:$red
    status_error: rgb(205, 214, 244) rgb(243, 139, 168)
    # fg:$maroon bg:$mantle
    status_job: rgb(235, 160, 172) rgb(40, 38, 37)
    # fg:$maroon bg:$mantle
    status_code: rgb(235, 160, 172) rgb(24, 24, 37) Italic
    # fg:$maroon bg:$mantle
    mode_command_mark: rgb(235, 160, 172) rgb(24, 24, 37) Bold
    #
    ### HELP
    #
    # fg:$text
    help_paragraph: rgb(205, 214, 244) none
    # fg:$red
    help_headers: rgb(243, 139, 168) none Bold
    # fg:$peach
    help_bold: rgb(250, 179, 135) none Bold
    # fg:$yellow
    help_italic: rgb(249, 226, 175) none Italic
    # fg:green bg:$surface0
    help_code: rgb(166, 227, 161) rgb(49, 50, 68)
    # fg:$overlay0
    help_table_border: rgb(108, 112, 134) none
    #
    ### HEX
    #
    # fg:$text
    hex_null: rgb(205, 214, 244) none
    # fg:$peach
    hex_ascii_graphic: rgb(250, 179, 135) none
    # fg:$green
    hex_ascii_whitespace: rgb(166, 227, 161) none
    # fg: teal
    hex_ascii_other: rgb(148, 226, 213) none
    # fg: red
    hex_non_ascii: rgb(243, 139, 168) none
    # fg:$text bg:$red
    file_error: rgb(251, 73, 52) none
    #
    ### PURPOSE
    #
    purpose_normal: none none
    purpose_italic: rgb(177, 98, 134) none Italic
    purpose_bold: rgb(177, 98, 134) none Bold
    purpose_ellipsis: none none
    #
    ### SCROLLBAR
    #
    # fg:$surface0
    scrollbar_track: rgb(49, 50, 68) none
    # fg:$surface1
    scrollbar_thumb: rgb(88, 91, 112) none
    #
    ### GOODTOBAD
    #
    good_to_bad_0: rgb(166, 227, 161) none
    good_to_bad_1: rgb(148, 226, 213) none
    good_to_bad_2: rgb(137, 220, 235) none
    good_to_bad_3: rgb(116, 199, 236) none
    good_to_bad_4: rgb(137, 180, 250) none
    good_to_bad_5: rgb(180, 190, 254) none
    good_to_bad_6: rgb(203, 166, 247) none
    good_to_bad_7: rgb(250, 179, 135) none
    good_to_bad_8: rgb(235, 160, 172) none
    good_to_bad_9: rgb(243, 139, 168) none
    }
  • file addition: catppuccin-macchiato.hjson (----------)
    [0.210427]
    ###############################################################
    # A skin for a terminal with a dark background
    # This skin uses RGB values so won't work for some
    # terminals.
    #
    # Created by Majixed
    # Based on the catppuccin-mocha theme by A. Taha Baki <atahabaki@pm.me>
    #
    # Doc at https://dystroy.org/broot/skins/
    ###############################################################
    skin: {
    input: rgb(202, 211, 245) none
    # fg:none bg:$surface2
    selected_line: none rgb(91, 96, 120)
    # fg:$text bg:none
    default: rgb(202, 211, 245) none
    # fg:$overlay0 bg:none
    tree: rgb(110, 115, 141) none
    # fg:$sapphire bg:none
    parent: rgb(125, 196, 228) none
    file: none none
    #
    ### PERMISSIONS
    #
    perm__: rgb(184, 192, 224) none
    # $peach
    perm_r: rgb(245, 169, 127) none
    # $maroon
    perm_w: rgb(238, 153, 160) none
    # $green
    perm_x: rgb(166, 218, 149) none
    # $teal
    owner: rgb(139, 213, 202) none
    # $sky
    group: rgb(145, 215, 227) none
    #
    ### DATE
    #
    # $subtext1
    dates: rgb(184, 192, 224) none
    #
    ### DIRECTORY
    #
    # $lavender
    directory: rgb(183, 189, 248) none Bold
    # $green
    exe: rgb(166, 218, 149) none
    # $yellow
    link: rgb(238, 212, 159) none
    # $subtext0
    pruning: rgb(165, 173, 203) none Italic
    #
    ### PREVIEW
    #
    # fg:$text bg:$mantle
    preview_title: rgb(202, 211, 245) rgb(30, 32, 48)
    # fg:$text bg:$mantle
    preview: rgb(202, 211, 245) rgb(30, 32, 48)
    # fg:$overlay0
    preview_line_number: rgb(110, 115, 141) none
    # fg:$overlay0
    preview_separator: rgb(110, 115, 141) none
    #
    ### MATCH
    #
    char_match: rgb(238, 212, 159) rgb(73, 77, 100) Bold Italic
    content_match: rgb(238, 212, 159) rgb(73, 77, 100) Bold Italic
    preview_match: rgb(238, 212, 159) rgb(73, 77, 100) Bold Italic
    # children count
    # fg:$yellow bg:none
    count: rgb(238, 212, 159) none
    sparse: rgb(237, 135, 150) none
    content_extract: rgb(237, 135, 150) none Italic
    #
    ### GIT
    #
    git_branch: rgb(245, 169, 127) none
    git_insertions: rgb(245, 169, 127) none
    git_deletions: rgb(245, 169, 127) none
    git_status_current: rgb(245, 169, 127) none
    git_status_modified: rgb(245, 169, 127) none
    git_status_new: rgb(245, 169, 127) none Bold
    git_status_ignored: rgb(245, 169, 127) none
    git_status_conflicted: rgb(245, 169, 127) none
    git_status_other: rgb(245, 169, 127) none
    staging_area_title: rgb(245, 169, 127) none
    #
    ### FLAG
    #
    flag_label: rgb(237, 135, 150) none
    flag_value: rgb(237, 135, 150) none Bold
    #
    ### STATUS
    #
    # fg:none #bg:$mantle
    status_normal: none rgb(30, 32, 48)
    # fg:$red bg:$mantle
    status_italic: rgb(237, 135, 150) rgb(30, 32, 48) Italic
    # fg:$maroon bg:$mantle
    status_bold: rgb(238, 153, 160) rgb(30, 32, 48) Bold
    # fg:$maroon bg:$mantle
    status_ellipsis: rgb(238, 153, 160) rgb(30, 32, 48) Bold
    # fg:$text bg:$red
    status_error: rgb(202, 211, 245) rgb(237, 135, 150)
    # fg:$maroon bg:$mantle
    status_job: rgb(238, 153, 160) rgb(40, 38, 37)
    # fg:$maroon bg:$mantle
    status_code: rgb(238, 153, 160) rgb(30, 32, 48) Italic
    # fg:$maroon bg:$mantle
    mode_command_mark: rgb(238, 153, 160) rgb(30, 32, 48) Bold
    #
    ### HELP
    #
    # fg:$text
    help_paragraph: rgb(202, 211, 245) none
    # fg:$red
    help_headers: rgb(237, 135, 150) none Bold
    # fg:$peach
    help_bold: rgb(245, 169, 127) none Bold
    # fg:$yellow
    help_italic: rgb(238, 212, 159) none Italic
    # fg:green bg:$surface0
    help_code: rgb(166, 218, 149) rgb(54, 58, 79)
    # fg:$overlay0
    help_table_border: rgb(110, 115, 141) none
    #
    ### HEX
    #
    # fg:$text
    hex_null: rgb(202, 211, 245) none
    # fg:$peach
    hex_ascii_graphic: rgb(245, 169, 127) none
    # fg:$green
    hex_ascii_whitespace: rgb(166, 218, 149) none
    # fg: teal
    hex_ascii_other: rgb(139, 213, 202) none
    # fg: red
    hex_non_ascii: rgb(237, 135, 150) none
    # fg:$text bg:$red
    file_error: rgb(243, 60, 44) none
    #
    ### PURPOSE
    #
    purpose_normal: none none
    purpose_italic: rgb(169, 90, 127) none Italic
    purpose_bold: rgb(169, 90, 127) none Bold
    purpose_ellipsis: none none
    #
    ### SCROLLBAR
    #
    # fg:$surface0
    scrollbar_track: rgb(54, 58, 79) none
    # fg:$surface1
    scrollbar_thumb: rgb(91, 96, 120) none
    #
    ### GOODTOBAD
    #
    good_to_bad_0: rgb(166, 218, 149) none
    good_to_bad_1: rgb(139, 213, 202) none
    good_to_bad_2: rgb(145, 215, 227) none
    good_to_bad_3: rgb(125, 196, 228) none
    good_to_bad_4: rgb(138, 173, 244) none
    good_to_bad_5: rgb(183, 189, 248) none
    good_to_bad_6: rgb(198, 160, 246) none
    good_to_bad_7: rgb(245, 169, 127) none
    good_to_bad_8: rgb(238, 153, 160) none
    good_to_bad_9: rgb(237, 135, 150) none
    }
  • file addition: launcher (d--r------)
    [0.205574]
  • file addition: nushell (d--r------)
    [0.246793]
  • file addition: symlink_br (----------)
    [0.246814]
    /home/alex/.local/share/broot/launcher/nushell/6
  • file addition: installed-v4 (----------)
    [0.246793]
    This file tells broot the installation of the br function was done.
    If there's a problem and you want to install it again run
    broot -- install
  • file addition: bash (d--r------)
    [0.246793]
  • file addition: symlink_br (----------)
    [0.247105]
    /home/alex/.local/share/broot/launcher/bash/1
  • file addition: conf.hjson (----------)
    [0.205574]
    ###############################################################
    # This configuration file lets you
    # - define new commands
    # - change the shortcut or triggering keys of built-in verbs
    # - change the colors
    # - set default values for flags
    # - set special behaviors on specific paths
    # - and more...
    #
    # Configuration documentation is available at
    # https://dystroy.org/broot
    #
    # This file's format is Hjson ( https://hjson.github.io/ ). Some
    # properties are commented out. To enable them, remove the `#`.
    #
    ###############################################################
    ###############################################################
    # Default flags
    # You can set up flags you want broot to start with by
    # default, for example `default_flags="-ihp"` if you usually want
    # to see hidden and gitignored files and the permissions (then
    # if you don't want the hidden files at a specific launch,
    # you can launch broot with `br -H`).
    # A popular flag is the `g` one which displays git related info.
    #
    # default_flags:
    ###############################################################
    # Terminal's title
    # If you want the terminal's title to be updated when you change
    # directory, set a terminal_title pattern by uncommenting one of
    # the examples below and tuning it to your taste.
    #
    # terminal_title: "[broot] {git-name}"
    # terminal_title: "{file} 🐄"
    # terminal_title: "-= {file-name} =-"
    ###############################################################
    # Date/Time format
    # If you want to change the format for date/time, uncomment the
    # following line and change it according to
    # https://docs.rs/chrono/0.4.11/chrono/format/strftime/index.html
    #
    # date_time_format: %Y/%m/%d %R
    ###############################################################
    # uncomment to activate modal mode
    #
    # (you really should read https://dystroy.org/broot/modal/
    # before as it may not suit everybody even among vim users)
    #
    # You may start either in 'command' mode, or in 'input' mode
    #
    # modal: true
    # initial_mode: command
    ###############################################################
    # Whether to mark the selected line with a triangle
    #
    show_selection_mark: true
    ###############################################################
    # Column order
    # cols_order, if specified, must be a permutation of the following
    # array. You should keep the name column at the end as it has a
    # variable length.
    #
    # cols_order: [
    # mark
    # git
    # size
    # permission
    # date
    # count
    # branch
    # name
    # ]
    ###############################################################
    # True Colors
    # If this parameter isn't set, broot tries to automatically
    # determine whether true colors (24 bits) are available.
    # As this process is unreliable, you may uncomment this setting
    # and set it to false or true if you notice the colors in
    # previewed images are too off.
    #
    # true_colors: false
    ###############################################################
    # Icons
    # If you want to display icons in broot, uncomment this line
    # (see https://dystroy.org/broot/icons for installation and
    # troubleshooting)
    #
    # icon_theme: vscode
    ###############################################################
    # Special paths
    # If some paths must be handled specially, uncomment (and change
    # this section as per the examples)
    # Setting "list":"never" on a dir prevents broot from looking at its
    # children when searching, unless the dir is the selected root.
    # Setting "sum":"never" on a dir prevents broot from looking at its
    # children when computing the total size and count of files.
    # Setting "show":"always" makes a file visible even if its name
    # starts with a dot.
    # Setting "list":"always" may be useful on a link to a directory
    # (they're otherwise not entered by broot unless selected)
    #
    special_paths: {
    "/media" : {
    list: "never"
    sum: "never"
    }
    "~/.config": { "show": "always" }
    "trav": {
    show: always
    list: "always",
    sum: "never"
    }
    # "~/useless": { "show": "never" }
    # "~/my-link-I-want-to-explore": { "list": "always" }
    }
    ###############################################################
    # Quit on last cancel
    # You can usually cancel the last state change on escape.
    # If you want the escape key to quit broot when there's nothing
    # to cancel (for example when you just opened broot), uncomment
    # this parameter
    #
    # quit_on_last_cancel: true
    ###############################################################
    # Search modes
    #
    # broot allows many search modes.
    # A search mode is defined by
    # - the way to search: 'fuzzy', 'exact', 'regex', or 'tokens'.
    # - where to search: file 'name', 'path', or file 'content'
    # A search pattern may for example be "fuzzy path" (default),
    # "regex content" or "exact path".
    #
    # The search mode is selected from its prefix. For example, if
    # you type "abc", the default mode is "fuzzy path". If you type
    # "/abc", the mode is "regex path". If you type "rn/abc", the mode
    # is "regex name".
    #
    # This mapping may be modified. You may want to dedicate the
    # empty prefix (the one which doesn't need a '/') to the
    # search mode you use most often. The example below makes it
    # easy to search on name rather than on the subpath.
    #
    # More information on
    # https://dystroy.org/broot/input/#the-filtering-pattern
    #
    # search_modes: {
    # <empty>: fuzzy name
    # /: regex name
    # }
    ###############################################################
    # File Extension Colors
    #
    # uncomment and modify the next section if you want to color
    # file name depending on their extension
    #
    # ext_colors: {
    # png: rgb(255, 128, 75)
    # rs: yellow
    # }
    ###############################################################
    # Max file size for content search
    #
    # Bigger files are ignored when searching their content. You
    # can specify this size either in ISO units (eg 5GB) or in
    # the old binary units (eg 44Kib)
    content_search_max_file_size: 10MB
    ###############################################################
    # Max Panels Count
    #
    # Change this if you sometimes want to have more than 2 panels
    # open
    # max_panels_count: 2
    ###############################################################
    # Update work dir
    #
    # By default, broot process' work dir is kept in sync with the
    # current's panel root. If you want to keep it unchanged,
    # uncomment this setting
    #
    # update_work_dir: false
    ###############################################################
    # Kitty Keyboard extension
    #
    # If you want to use advanced keyboard shortcuts in Kitty
    # compatible terminals (Kitty, Wezterm), set this to true.
    #
    # This makes it possible to use shortcuts like 'space-n',
    # 'ctrl-alt-a-b', 'shift-space', etc.
    #
    enable_kitty_keyboard: false
    ###############################################################
    # lines around matching line in filtered preview
    #
    # When searching the content of a file, you can have either
    # only the matching lines displayed, or some of the surrounding
    # ones too.
    #
    lines_before_match_in_preview: 1
    lines_after_match_in_preview: 1
    ###############################################################
    # transformations before preview
    #
    # It's possible to define transformations to apply to some files
    # before calling one of the default preview renderers in broot.
    # Below are two examples that you may uncomment and adapt:
    #
    preview_transformers: [
    // # Use mutool to render any PDF file as an image
    // # In this example we use placeholders for the input and output files
    // {
    // input_extensions: [ "pdf" ] // case doesn't matter
    // output_extension: png
    // mode: image
    // command: [ "mutool", "draw", "-w", "1000", "-o", "{output-path}", "{input-path}" ]
    // }
    // # Use LibreOffice to render Office files as images
    // # In this example, {output-dir} is used to specify where LibreOffice must write the result
    // {
    // input_extensions: [ "xls", "xlsx", "doc", "docx", "ppt", "pptx", "ods", "odt", "odp" ]
    // output_extension: png
    // mode: image
    // command: [
    // "libreoffice", "--headless",
    // "--convert-to", "png",
    // "--outdir", "{output-dir}",
    // "{input-path}"
    // ]
    // }
    // # Use jq to beautify JSON
    // # In this example, the command refers to neither the input nor the output,
    // # so broot pipes them to the stdin and stdout of the jq process
    // {
    // input_extensions: [ "json" ]
    // output_extension: json
    // mode: text
    // command: [ "jq" ]
    // }
    ]
    ###############################################################
    # Imports
    #
    # While it's possible to have all configuration in one file,
    # it's more convenient to split it in several ones.
    # Importing also allows to set a condition on the terminal's
    # color, which makes it possible to have a different skin
    # chosen when your terminal has a light background and when
    # it has a light one.
    imports: [
    # Verbs are better configured in verbs.hjson. But you
    # can also add another files for your personal verbs
    verbs.hjson
    # This file contains the skin to use when the terminal
    # is dark (or when this couldn't be determined)
    {
    luma: [
    dark
    unknown
    ]
    # (un)comment to choose your preferred skin
    file: skins/dark-blue.hjson
    //file: skins/catppuccin-macchiato.hjson
    //file: skins/catppuccin-mocha.hjson
    //file: skins/dark-gruvbox.hjson
    //file: skins/dark-orange.hjson
    //file: skins/solarized-dark.hjson
    }
    # This skin is imported when your terminal is light
    {
    luma: light
    # (un)comment to choose your preferred skin
    //file: skins/solarized-light.hjson
    file: skins/white.hjson
    }
    ]
  • file addition: bat (d--r------)
    [0.11640]
  • file addition: themes (d--r------)
    [0.257035]
  • file addition: Catppuccin-latte.tmTheme (----------)
    [0.257055]
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
    <key>name</key>
    <string>Catppuccin</string>
    <key>settings</key>
    <array>
    <dict>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#4c4f69</string>
    <key>background</key>
    <string>#eff1f5</string>
    <key>caret</key>
    <string>#5c5f77</string>
    <key>invisibles</key>
    <string>#6c6f85</string>
    <key>gutterForeground</key>
    <string>#7c7f93</string>
    <key>gutterForegroundHighlight</key>
    <string>#40a02b</string>
    <key>lineHighlight</key>
    <string>#acb0be</string>
    <key>selection</key>
    <string>#9ca0b0</string>
    <key>selectionBorder</key>
    <string>#eff1f5</string>
    <key>activeGuide</key>
    <string>#fe640b</string>
    <key>findHighlightForeground</key>
    <string>#e6e9ef</string>
    <key>findHighlight</key>
    <string>#df8e1d</string>
    <key>bracketsForeground</key>
    <string>#7c7f93</string>
    <key>bracketContentsForeground</key>
    <string>#7c7f93</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Comment</string>
    <key>scope</key>
    <string>comment</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#9ca0b0</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>String</string>
    <key>scope</key>
    <string>string</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#40a02b</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>String regex</string>
    <key>scope</key>
    <string>string.regexp</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#fe640b</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Number</string>
    <key>scope</key>
    <string>constant.numeric</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#fe640b</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Boolean</string>
    <key>scope</key>
    <string>constant.language.boolean</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#fe640b</string>
    <key>fontStyle</key>
    <string>bold italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Built-in constant</string>
    <key>scope</key>
    <string>constant.language</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#7287fd</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Built-in function</string>
    <key>scope</key>
    <string>support.function.builtin</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#fe640b</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>User-defined constant</string>
    <key>scope</key>
    <string>variable.other.constant</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#fe640b</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Variable</string>
    <key>scope</key>
    <string>variable</string>
    <key>settings</key>
    <dict></dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Keyword</string>
    <key>scope</key>
    <string>keyword</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#d20f39</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Conditional/loop</string>
    <key>scope</key>
    <string>keyword.control.loop, keyword.control.conditional, keyword.control.c++</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#8839ef</string>
    <key>fontStyle</key>
    <string>bold</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Return</string>
    <key>scope</key>
    <string>keyword.control.return, keyword.control.flow.return</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#ea76cb</string>
    <key>fontStyle</key>
    <string>bold</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Exception</string>
    <key>scope</key>
    <string>support.type.exception</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#fe640b</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Operator</string>
    <key>scope</key>
    <string>keyword.operator, punctuation.accessor</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#04a5e5</string>
    <key>fontStyle</key>
    <string>bold</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Punctuation separator</string>
    <key>scope</key>
    <string>punctuation.separator</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#179299</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Punctuation terminator</string>
    <key>scope</key>
    <string>punctuation.terminator</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#179299</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Punctuation bracket</string>
    <key>scope</key>
    <string>punctuation.section</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#7c7f93</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Include</string>
    <key>scope</key>
    <string>keyword.control.import.include</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#179299</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Storage</string>
    <key>scope</key>
    <string>storage</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#d20f39</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Storage type</string>
    <key>scope</key>
    <string>storage.type</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#df8e1d</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Storage modifier</string>
    <key>scope</key>
    <string>storage.modifier</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#d20f39</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Storage type namespace</string>
    <key>scope</key>
    <string>entity.name.namespace, meta.path</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#dc8a78</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Storage type class</string>
    <key>scope</key>
    <string>storage.type.class</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#dc8a78</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Label</string>
    <key>scope</key>
    <string>entity.name.label</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#1e66f5</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Keyword class</string>
    <key>scope</key>
    <string>keyword.declaration.class</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#d20f39</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Class name</string>
    <key>scope</key>
    <string>entity.name.class, meta.toc-list.full-identifier</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#04a5e5</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Inherited class</string>
    <key>scope</key>
    <string>entity.other.inherited-class</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#04a5e5</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Function name</string>
    <key>scope</key>
    <string>entity.name.function, variable.function</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#1e66f5</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Function macro</string>
    <key>scope</key>
    <string>entity.name.function.preprocessor</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#d20f39</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Macro directive - ifdef</string>
    <key>scope</key>
    <string>keyword.control.import</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#d20f39</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Constructor</string>
    <key>scope</key>
    <string>entity.name.function.constructor, entity.name.function.destructor</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#7287fd</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Function argument</string>
    <key>scope</key>
    <string>variable.parameter.function</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#dc8a78</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Function declaration</string>
    <key>scope</key>
    <string>keyword.declaration.function</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#e64553</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Library function</string>
    <key>scope</key>
    <string>support.function</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#04a5e5</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Library constant</string>
    <key>scope</key>
    <string>support.constant</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#1e66f5</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Library class/type</string>
    <key>scope</key>
    <string>support.type, support.class</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#1e66f5</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Library variable</string>
    <key>scope</key>
    <string>support.other.variable</string>
    <key>settings</key>
    <dict>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Variable function</string>
    <key>scope</key>
    <string>variable.function</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#1e66f5</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Variable parameter</string>
    <key>scope</key>
    <string>variable.parameter</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#dc8a78</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Variable other</string>
    <key>scope</key>
    <string>variable.other</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#4c4f69</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Variable field</string>
    <key>scope</key>
    <string>variable.other.member</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#dc8a78</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Variable language</string>
    <key>scope</key>
    <string>variable.language</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#179299</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Tag name</string>
    <key>scope</key>
    <string>entity.name.tag</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#fe640b</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Tag attribute</string>
    <key>scope</key>
    <string>entity.other.attribute-name</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#8839ef</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Tag delimiter</string>
    <key>scope</key>
    <string>punctuation.definition.tag</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#e64553</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Markdown URL</string>
    <key>scope</key>
    <string>markup.underline.link.markdown</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#dc8a78</string>
    <key>fontStyle</key>
    <string>italic underline</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Markdown reference</string>
    <key>scope</key>
    <string>meta.link.inline.description</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#7287fd</string>
    <key>fontStyle</key>
    <string>bold</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Markdown literal</string>
    <key>scope</key>
    <string>comment.block.markdown, meta.code-fence, markup.raw.code-fence, markup.raw.inline</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#179299</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Markdown title</string>
    <key>scope</key>
    <string>punctuation.definition.heading, entity.name.section</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#1e66f5</string>
    <key>fontStyle</key>
    <string>bold</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Markdown emphasis</string>
    <key>scope</key>
    <string>markup.italic</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#e64553</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Markdown strong</string>
    <key>scope</key>
    <string>markup.bold</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#e64553</string>
    <key>fontStyle</key>
    <string>bold</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Escape</string>
    <key>scope</key>
    <string>constant.character.escape</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#ea76cb</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Bash built-in function</string>
    <key>scope</key>
    <string>source.shell.bash meta.function.shell meta.compound.shell meta.function-call.identifier.shell</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#ea76cb</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Bash parameter</string>
    <key>scope</key>
    <string>variable.language.shell</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#d20f39</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Lua field</string>
    <key>scope</key>
    <string>source.lua meta.function.lua meta.block.lua meta.mapping.value.lua meta.mapping.key.lua string.unquoted.key.lua</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#7287fd</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Lua constructor</string>
    <key>scope</key>
    <string>source.lua meta.function.lua meta.block.lua meta.mapping.key.lua string.unquoted.key.lua</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#dd7878</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Java constant</string>
    <key>scope</key>
    <string>entity.name.constant.java</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#179299</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>CSS property</string>
    <key>scope</key>
    <string>support.type.property-name.css</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#dd7878</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>CSS constant</string>
    <key>scope</key>
    <string>support.constant.property-value.css</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#4c4f69</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>CSS suffix</string>
    <key>scope</key>
    <string>constant.numeric.suffix.css, keyword.other.unit.css</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#179299</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>CSS variable property</string>
    <key>scope</key>
    <string>variable.other.custom-property.name.css, support.type.custom-property.name.css, punctuation.definition.custom-property.css</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#179299</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>SCSS tag</string>
    <key>scope</key>
    <string>entity.name.tag.css</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#7287fd</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>SASS variable</string>
    <key>scope</key>
    <string>variable.other.sass</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#179299</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Invalid</string>
    <key>scope</key>
    <string>invalid</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#4c4f69</string>
    <key>background</key>
    <string>#d20f39</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Invalid deprecated</string>
    <key>scope</key>
    <string>invalid.deprecated</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#4c4f69</string>
    <key>background</key>
    <string>#8839ef</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Diff header</string>
    <key>scope</key>
    <string>meta.diff, meta.diff.header</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#9ca0b0</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Diff deleted</string>
    <key>scope</key>
    <string>markup.deleted</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#d20f39</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Diff inserted</string>
    <key>scope</key>
    <string>markup.inserted</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#40a02b</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Diff changed</string>
    <key>scope</key>
    <string>markup.changed</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#df8e1d</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Message error</string>
    <key>scope</key>
    <string>message.error</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#d20f39</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    </array>
    <key>uuid</key>
    <string>4d0379b5-ef82-467b-b8b8-365889420646</string>
    <key>colorSpaceName</key>
    <string>sRGB</string>
    <key>semanticClass</key>
    <string>theme.dark.Catppuccin</string>
    <key>author</key>
    <string>BrunDerSchwarzmagier</string>
    </dict>
    </plist>
  • file addition: Catppuccin-frappe.tmTheme (----------)
    [0.257055]
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
    <key>name</key>
    <string>Catppuccin</string>
    <key>settings</key>
    <array>
    <dict>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#c6d0f5</string>
    <key>background</key>
    <string>#303446</string>
    <key>caret</key>
    <string>#b5bfe2</string>
    <key>invisibles</key>
    <string>#a5adce</string>
    <key>gutterForeground</key>
    <string>#949cbb</string>
    <key>gutterForegroundHighlight</key>
    <string>#a6d189</string>
    <key>lineHighlight</key>
    <string>#626880</string>
    <key>selection</key>
    <string>#737994</string>
    <key>selectionBorder</key>
    <string>#303446</string>
    <key>activeGuide</key>
    <string>#ef9f76</string>
    <key>findHighlightForeground</key>
    <string>#292c3c</string>
    <key>findHighlight</key>
    <string>#e5c890</string>
    <key>bracketsForeground</key>
    <string>#949cbb</string>
    <key>bracketContentsForeground</key>
    <string>#949cbb</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Comment</string>
    <key>scope</key>
    <string>comment</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#737994</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>String</string>
    <key>scope</key>
    <string>string</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#a6d189</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>String regex</string>
    <key>scope</key>
    <string>string.regexp</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#ef9f76</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Number</string>
    <key>scope</key>
    <string>constant.numeric</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#ef9f76</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Boolean</string>
    <key>scope</key>
    <string>constant.language.boolean</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#ef9f76</string>
    <key>fontStyle</key>
    <string>bold italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Built-in constant</string>
    <key>scope</key>
    <string>constant.language</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#babbf1</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Built-in function</string>
    <key>scope</key>
    <string>support.function.builtin</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#ef9f76</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>User-defined constant</string>
    <key>scope</key>
    <string>variable.other.constant</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#ef9f76</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Variable</string>
    <key>scope</key>
    <string>variable</string>
    <key>settings</key>
    <dict></dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Keyword</string>
    <key>scope</key>
    <string>keyword</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#e78284</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Conditional/loop</string>
    <key>scope</key>
    <string>keyword.control.loop, keyword.control.conditional, keyword.control.c++</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#ca9ee6</string>
    <key>fontStyle</key>
    <string>bold</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Return</string>
    <key>scope</key>
    <string>keyword.control.return, keyword.control.flow.return</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#f4b8e4</string>
    <key>fontStyle</key>
    <string>bold</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Exception</string>
    <key>scope</key>
    <string>support.type.exception</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#ef9f76</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Operator</string>
    <key>scope</key>
    <string>keyword.operator, punctuation.accessor</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#99d1db</string>
    <key>fontStyle</key>
    <string>bold</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Punctuation separator</string>
    <key>scope</key>
    <string>punctuation.separator</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#81c8be</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Punctuation terminator</string>
    <key>scope</key>
    <string>punctuation.terminator</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#81c8be</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Punctuation bracket</string>
    <key>scope</key>
    <string>punctuation.section</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#949cbb</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Include</string>
    <key>scope</key>
    <string>keyword.control.import.include</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#81c8be</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Storage</string>
    <key>scope</key>
    <string>storage</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#e78284</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Storage type</string>
    <key>scope</key>
    <string>storage.type</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#e5c890</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Storage modifier</string>
    <key>scope</key>
    <string>storage.modifier</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#e78284</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Storage type namespace</string>
    <key>scope</key>
    <string>entity.name.namespace, meta.path</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#f2d5cf</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Storage type class</string>
    <key>scope</key>
    <string>storage.type.class</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#f2d5cf</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Label</string>
    <key>scope</key>
    <string>entity.name.label</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#8caaee</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Keyword class</string>
    <key>scope</key>
    <string>keyword.declaration.class</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#e78284</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Class name</string>
    <key>scope</key>
    <string>entity.name.class, meta.toc-list.full-identifier</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#99d1db</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Inherited class</string>
    <key>scope</key>
    <string>entity.other.inherited-class</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#99d1db</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Function name</string>
    <key>scope</key>
    <string>entity.name.function, variable.function</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#8caaee</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Function macro</string>
    <key>scope</key>
    <string>entity.name.function.preprocessor</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#e78284</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Macro directive - ifdef</string>
    <key>scope</key>
    <string>keyword.control.import</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#e78284</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Constructor</string>
    <key>scope</key>
    <string>entity.name.function.constructor, entity.name.function.destructor</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#babbf1</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Function argument</string>
    <key>scope</key>
    <string>variable.parameter.function</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#f2d5cf</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Function declaration</string>
    <key>scope</key>
    <string>keyword.declaration.function</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#ea999c</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Library function</string>
    <key>scope</key>
    <string>support.function</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#99d1db</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Library constant</string>
    <key>scope</key>
    <string>support.constant</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#8caaee</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Library class/type</string>
    <key>scope</key>
    <string>support.type, support.class</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#8caaee</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Library variable</string>
    <key>scope</key>
    <string>support.other.variable</string>
    <key>settings</key>
    <dict>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Variable function</string>
    <key>scope</key>
    <string>variable.function</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#8caaee</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Variable parameter</string>
    <key>scope</key>
    <string>variable.parameter</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#f2d5cf</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Variable other</string>
    <key>scope</key>
    <string>variable.other</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#c6d0f5</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Variable field</string>
    <key>scope</key>
    <string>variable.other.member</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#f2d5cf</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Variable language</string>
    <key>scope</key>
    <string>variable.language</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#81c8be</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Tag name</string>
    <key>scope</key>
    <string>entity.name.tag</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#ef9f76</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Tag attribute</string>
    <key>scope</key>
    <string>entity.other.attribute-name</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#ca9ee6</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Tag delimiter</string>
    <key>scope</key>
    <string>punctuation.definition.tag</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#ea999c</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Markdown URL</string>
    <key>scope</key>
    <string>markup.underline.link.markdown</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#f2d5cf</string>
    <key>fontStyle</key>
    <string>italic underline</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Markdown reference</string>
    <key>scope</key>
    <string>meta.link.inline.description</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#babbf1</string>
    <key>fontStyle</key>
    <string>bold</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Markdown literal</string>
    <key>scope</key>
    <string>comment.block.markdown, meta.code-fence, markup.raw.code-fence, markup.raw.inline</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#81c8be</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Markdown title</string>
    <key>scope</key>
    <string>punctuation.definition.heading, entity.name.section</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#8caaee</string>
    <key>fontStyle</key>
    <string>bold</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Markdown emphasis</string>
    <key>scope</key>
    <string>markup.italic</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#ea999c</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Markdown strong</string>
    <key>scope</key>
    <string>markup.bold</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#ea999c</string>
    <key>fontStyle</key>
    <string>bold</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Escape</string>
    <key>scope</key>
    <string>constant.character.escape</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#f4b8e4</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Bash built-in function</string>
    <key>scope</key>
    <string>source.shell.bash meta.function.shell meta.compound.shell meta.function-call.identifier.shell</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#f4b8e4</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Bash parameter</string>
    <key>scope</key>
    <string>variable.language.shell</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#e78284</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Lua field</string>
    <key>scope</key>
    <string>source.lua meta.function.lua meta.block.lua meta.mapping.value.lua meta.mapping.key.lua string.unquoted.key.lua</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#babbf1</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Lua constructor</string>
    <key>scope</key>
    <string>source.lua meta.function.lua meta.block.lua meta.mapping.key.lua string.unquoted.key.lua</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#eebebe</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Java constant</string>
    <key>scope</key>
    <string>entity.name.constant.java</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#81c8be</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>CSS property</string>
    <key>scope</key>
    <string>support.type.property-name.css</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#eebebe</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>CSS constant</string>
    <key>scope</key>
    <string>support.constant.property-value.css</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#c6d0f5</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>CSS suffix</string>
    <key>scope</key>
    <string>constant.numeric.suffix.css, keyword.other.unit.css</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#81c8be</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>CSS variable property</string>
    <key>scope</key>
    <string>variable.other.custom-property.name.css, support.type.custom-property.name.css, punctuation.definition.custom-property.css</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#81c8be</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>SCSS tag</string>
    <key>scope</key>
    <string>entity.name.tag.css</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#babbf1</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>SASS variable</string>
    <key>scope</key>
    <string>variable.other.sass</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#81c8be</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Invalid</string>
    <key>scope</key>
    <string>invalid</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#c6d0f5</string>
    <key>background</key>
    <string>#e78284</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Invalid deprecated</string>
    <key>scope</key>
    <string>invalid.deprecated</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#c6d0f5</string>
    <key>background</key>
    <string>#ca9ee6</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Diff header</string>
    <key>scope</key>
    <string>meta.diff, meta.diff.header</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#737994</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Diff deleted</string>
    <key>scope</key>
    <string>markup.deleted</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#e78284</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Diff inserted</string>
    <key>scope</key>
    <string>markup.inserted</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#a6d189</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Diff changed</string>
    <key>scope</key>
    <string>markup.changed</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#e5c890</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Message error</string>
    <key>scope</key>
    <string>message.error</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#e78284</string>
    <key>fontStyle</key>
    <string></string>
    </dict>
    </dict>
    </array>
    <key>uuid</key>
    <string>4d0379b5-ef82-467b-b8b8-365889420646</string>
    <key>colorSpaceName</key>
    <string>sRGB</string>
    <key>semanticClass</key>
    <string>theme.dark.Catppuccin</string>
    <key>author</key>
    <string>BrunDerSchwarzmagier</string>
    </dict>
    </plist>
  • file addition: Catppuccin Mocha.tmTheme (----------)
    [0.257055]
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
    <key>name</key>
    <string>Catppuccin Mocha</string>
    <key>semanticClass</key>
    <string>theme.dark.catppuccin-mocha</string>
    <key>uuid</key>
    <string>627ce890-fabb-4d39-9819-7be71f4bdca7</string>
    <key>author</key>
    <string>Catppuccin Org</string>
    <key>colorSpaceName</key>
    <string>sRGB</string>
    <key>settings</key>
    <array>
    <dict>
    <key>settings</key>
    <dict>
    <key>background</key>
    <string>#1e1e2e</string>
    <key>foreground</key>
    <string>#cdd6f4</string>
    <key>caret</key>
    <string>#f5e0dc</string>
    <key>lineHighlight</key>
    <string>#313244</string>
    <key>misspelling</key>
    <string>#f38ba8</string>
    <key>accent</key>
    <string>#cba6f7</string>
    <key>selection</key>
    <string>#9399b240</string>
    <key>activeGuide</key>
    <string>#45475a</string>
    <key>findHighlight</key>
    <string>#3e5767</string>
    <key>gutterForeground</key>
    <string>#7f849c</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Basic text &amp; variable names (incl. leading punctuation)</string>
    <key>scope</key>
    <string>text, source, variable.other.readwrite, punctuation.definition.variable</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#cdd6f4</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Parentheses, Brackets, Braces</string>
    <key>scope</key>
    <string>punctuation</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#9399b2</string>
    <key>fontStyle</key>
    <string/>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Comments</string>
    <key>scope</key>
    <string>comment, punctuation.definition.comment</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#6c7086</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>scope</key>
    <string>string, punctuation.definition.string</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#a6e3a1</string>
    </dict>
    </dict>
    <dict>
    <key>scope</key>
    <string>constant.character.escape</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#f5c2e7</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Booleans, constants, numbers</string>
    <key>scope</key>
    <string>constant.numeric, variable.other.constant, entity.name.constant, constant.language.boolean, constant.language.false, constant.language.true, keyword.other.unit.user-defined, keyword.other.unit.suffix.floating-point</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#fab387</string>
    </dict>
    </dict>
    <dict>
    <key>scope</key>
    <string>keyword, keyword.operator.word, keyword.operator.new, variable.language.super, support.type.primitive, storage.type, storage.modifier, punctuation.definition.keyword</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#cba6f7</string>
    <key>fontStyle</key>
    <string/>
    </dict>
    </dict>
    <dict>
    <key>scope</key>
    <string>entity.name.tag.documentation</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#cba6f7</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Punctuation</string>
    <key>scope</key>
    <string>keyword.operator, punctuation.accessor, punctuation.definition.generic, meta.function.closure punctuation.section.parameters, punctuation.definition.tag, punctuation.separator.key-value</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#94e2d5</string>
    </dict>
    </dict>
    <dict>
    <key>scope</key>
    <string>entity.name.function, meta.function-call.method, support.function, support.function.misc, variable.function</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#89b4fa</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Classes</string>
    <key>scope</key>
    <string>entity.name.class, entity.other.inherited-class, support.class, meta.function-call.constructor, entity.name.struct</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#f9e2af</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Enum</string>
    <key>scope</key>
    <string>entity.name.enum</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#f9e2af</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Enum member</string>
    <key>scope</key>
    <string>meta.enum variable.other.readwrite, variable.other.enummember</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#94e2d5</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Object properties</string>
    <key>scope</key>
    <string>meta.property.object</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#94e2d5</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Types</string>
    <key>scope</key>
    <string>meta.type, meta.type-alias, support.type, entity.name.type</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#f9e2af</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Decorators</string>
    <key>scope</key>
    <string>meta.annotation variable.function, meta.annotation variable.annotation.function, meta.annotation punctuation.definition.annotation, meta.decorator, punctuation.decorator</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#fab387</string>
    </dict>
    </dict>
    <dict>
    <key>scope</key>
    <string>variable.parameter, meta.function.parameters</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#eba0ac</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Built-ins</string>
    <key>scope</key>
    <string>constant.language, support.function.builtin</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#f38ba8</string>
    </dict>
    </dict>
    <dict>
    <key>scope</key>
    <string>entity.other.attribute-name.documentation</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#f38ba8</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Preprocessor directives</string>
    <key>scope</key>
    <string>keyword.control.directive, punctuation.definition.directive</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#f9e2af</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Type parameters</string>
    <key>scope</key>
    <string>punctuation.definition.typeparameters</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#89dceb</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Namespaces</string>
    <key>scope</key>
    <string>entity.name.namespace</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#f9e2af</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Property names (left hand assignments in json/yaml/css)</string>
    <key>scope</key>
    <string>support.type.property-name.css</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#89b4fa</string>
    <key>fontStyle</key>
    <string/>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>This/Self keyword</string>
    <key>scope</key>
    <string>variable.language.this, variable.language.this punctuation.definition.variable</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#f38ba8</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Object properties</string>
    <key>scope</key>
    <string>variable.object.property</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#cdd6f4</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>String template interpolation</string>
    <key>scope</key>
    <string>string.template variable, string variable</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#cdd6f4</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>`new` as bold</string>
    <key>scope</key>
    <string>keyword.operator.new</string>
    <key>settings</key>
    <dict>
    <key>fontStyle</key>
    <string>bold</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>C++ extern keyword</string>
    <key>scope</key>
    <string>storage.modifier.specifier.extern.cpp</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#cba6f7</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>C++ scope resolution</string>
    <key>scope</key>
    <string>entity.name.scope-resolution.template.call.cpp, entity.name.scope-resolution.parameter.cpp, entity.name.scope-resolution.cpp, entity.name.scope-resolution.function.definition.cpp</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#f9e2af</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>C++ doc keywords</string>
    <key>scope</key>
    <string>storage.type.class.doxygen</string>
    <key>settings</key>
    <dict>
    <key>fontStyle</key>
    <string/>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>C++ operators</string>
    <key>scope</key>
    <string>storage.modifier.reference.cpp</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#94e2d5</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>C# Interpolated Strings</string>
    <key>scope</key>
    <string>meta.interpolation.cs</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#cdd6f4</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>C# xml-style docs</string>
    <key>scope</key>
    <string>comment.block.documentation.cs</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#cdd6f4</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Classes, reflecting the className color in JSX</string>
    <key>scope</key>
    <string>source.css entity.other.attribute-name.class.css, entity.other.attribute-name.parent-selector.css punctuation.definition.entity.css</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#f9e2af</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Operators</string>
    <key>scope</key>
    <string>punctuation.separator.operator.css</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#94e2d5</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Pseudo classes</string>
    <key>scope</key>
    <string>source.css entity.other.attribute-name.pseudo-class</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#94e2d5</string>
    </dict>
    </dict>
    <dict>
    <key>scope</key>
    <string>source.css constant.other.unicode-range</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#fab387</string>
    </dict>
    </dict>
    <dict>
    <key>scope</key>
    <string>source.css variable.parameter.url</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#a6e3a1</string>
    <key>fontStyle</key>
    <string/>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>CSS vendored property names</string>
    <key>scope</key>
    <string>support.type.vendored.property-name</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#89dceb</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Less/SCSS right-hand variables (@/$-prefixed)</string>
    <key>scope</key>
    <string>source.css meta.property-value variable, source.css meta.property-value variable.other.less, source.css meta.property-value variable.other.less punctuation.definition.variable.less, meta.definition.variable.scss</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#eba0ac</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>CSS variables (--prefixed)</string>
    <key>scope</key>
    <string>source.css meta.property-list variable, meta.property-list variable.other.less, meta.property-list variable.other.less punctuation.definition.variable.less</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#89b4fa</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>CSS Percentage values, styled the same as numbers</string>
    <key>scope</key>
    <string>keyword.other.unit.percentage.css</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#fab387</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>CSS Attribute selectors, styled the same as strings</string>
    <key>scope</key>
    <string>source.css meta.attribute-selector</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#a6e3a1</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>JSON/YAML keys, other left-hand assignments</string>
    <key>scope</key>
    <string>keyword.other.definition.ini, punctuation.support.type.property-name.json, support.type.property-name.json, punctuation.support.type.property-name.toml, support.type.property-name.toml, entity.name.tag.yaml, punctuation.support.type.property-name.yaml, support.type.property-name.yaml</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#89b4fa</string>
    <key>fontStyle</key>
    <string/>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>JSON/YAML constants</string>
    <key>scope</key>
    <string>constant.language.json, constant.language.yaml</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#fab387</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>YAML anchors</string>
    <key>scope</key>
    <string>entity.name.type.anchor.yaml, variable.other.alias.yaml</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#f9e2af</string>
    <key>fontStyle</key>
    <string/>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>TOML tables / ini groups</string>
    <key>scope</key>
    <string>support.type.property-name.table, entity.name.section.group-title.ini</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#f9e2af</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>TOML dates</string>
    <key>scope</key>
    <string>constant.other.time.datetime.offset.toml</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#f5c2e7</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>YAML anchor puctuation</string>
    <key>scope</key>
    <string>punctuation.definition.anchor.yaml, punctuation.definition.alias.yaml</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#f5c2e7</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>YAML triple dashes</string>
    <key>scope</key>
    <string>entity.other.document.begin.yaml</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#f5c2e7</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Markup Diff</string>
    <key>scope</key>
    <string>markup.changed.diff</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#fab387</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Diff</string>
    <key>scope</key>
    <string>meta.diff.header.from-file, meta.diff.header.to-file, punctuation.definition.from-file.diff, punctuation.definition.to-file.diff</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#89b4fa</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Diff Inserted</string>
    <key>scope</key>
    <string>markup.inserted.diff</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#a6e3a1</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Diff Deleted</string>
    <key>scope</key>
    <string>markup.deleted.diff</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#f38ba8</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>dotenv left-hand side assignments</string>
    <key>scope</key>
    <string>variable.other.env</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#89b4fa</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>dotenv reference to existing env variable</string>
    <key>scope</key>
    <string>string.quoted variable.other.env</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#cdd6f4</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>GDScript functions</string>
    <key>scope</key>
    <string>support.function.builtin.gdscript</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#89b4fa</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>GDScript constants</string>
    <key>scope</key>
    <string>constant.language.gdscript</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#fab387</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Comment keywords</string>
    <key>scope</key>
    <string>comment meta.annotation.go</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#eba0ac</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>go:embed, go:build, etc.</string>
    <key>scope</key>
    <string>comment meta.annotation.parameters.go</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#fab387</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Go constants (nil, true, false)</string>
    <key>scope</key>
    <string>constant.language.go</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#fab387</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>GraphQL variables</string>
    <key>scope</key>
    <string>variable.graphql</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#cdd6f4</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>GraphQL aliases</string>
    <key>scope</key>
    <string>string.unquoted.alias.graphql</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#f2cdcd</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>GraphQL enum members</string>
    <key>scope</key>
    <string>constant.character.enum.graphql</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#94e2d5</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>GraphQL field in types</string>
    <key>scope</key>
    <string>meta.objectvalues.graphql constant.object.key.graphql string.unquoted.graphql</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#f2cdcd</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>HTML/XML DOCTYPE as keyword</string>
    <key>scope</key>
    <string>keyword.other.doctype, meta.tag.sgml.doctype punctuation.definition.tag, meta.tag.metadata.doctype entity.name.tag, meta.tag.metadata.doctype punctuation.definition.tag</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#cba6f7</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>HTML/XML-like &lt;tags/&gt;</string>
    <key>scope</key>
    <string>entity.name.tag</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#89b4fa</string>
    <key>fontStyle</key>
    <string/>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Special characters like &amp;amp;</string>
    <key>scope</key>
    <string>text.html constant.character.entity, text.html constant.character.entity punctuation, constant.character.entity.xml, constant.character.entity.xml punctuation, constant.character.entity.js.jsx, constant.charactger.entity.js.jsx punctuation, constant.character.entity.tsx, constant.character.entity.tsx punctuation</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#f38ba8</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>HTML/XML tag attribute values</string>
    <key>scope</key>
    <string>entity.other.attribute-name</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#f9e2af</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Components</string>
    <key>scope</key>
    <string>support.class.component, support.class.component.jsx, support.class.component.tsx, support.class.component.vue</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#f5c2e7</string>
    <key>fontStyle</key>
    <string/>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Annotations</string>
    <key>scope</key>
    <string>punctuation.definition.annotation, storage.type.annotation</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#fab387</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Java enums</string>
    <key>scope</key>
    <string>constant.other.enum.java</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#94e2d5</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Java imports</string>
    <key>scope</key>
    <string>storage.modifier.import.java</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#cdd6f4</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Javadoc</string>
    <key>scope</key>
    <string>comment.block.javadoc.java keyword.other.documentation.javadoc.java</string>
    <key>settings</key>
    <dict>
    <key>fontStyle</key>
    <string/>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Exported Variable</string>
    <key>scope</key>
    <string>meta.export variable.other.readwrite.js</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#eba0ac</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>JS/TS constants &amp; properties</string>
    <key>scope</key>
    <string>variable.other.constant.js, variable.other.constant.ts, variable.other.property.js, variable.other.property.ts</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#cdd6f4</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>JSDoc; these are mainly params, so styled as such</string>
    <key>scope</key>
    <string>variable.other.jsdoc, comment.block.documentation variable.other</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#eba0ac</string>
    <key>fontStyle</key>
    <string/>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>JSDoc keywords</string>
    <key>scope</key>
    <string>storage.type.class.jsdoc</string>
    <key>settings</key>
    <dict>
    <key>fontStyle</key>
    <string/>
    </dict>
    </dict>
    <dict>
    <key>scope</key>
    <string>support.type.object.console.js</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#cdd6f4</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Node constants as keywords (module, etc.)</string>
    <key>scope</key>
    <string>support.constant.node, support.type.object.module.js</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#cba6f7</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>implements as keyword</string>
    <key>scope</key>
    <string>storage.modifier.implements</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#cba6f7</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Builtin types</string>
    <key>scope</key>
    <string>constant.language.null.js, constant.language.null.ts, constant.language.undefined.js, constant.language.undefined.ts, support.type.builtin.ts</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#cba6f7</string>
    </dict>
    </dict>
    <dict>
    <key>scope</key>
    <string>variable.parameter.generic</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#f9e2af</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Arrow functions</string>
    <key>scope</key>
    <string>keyword.declaration.function.arrow.js, storage.type.function.arrow.ts</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#94e2d5</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Decorator punctuations (decorators inherit from blue functions, instead of styleguide peach)</string>
    <key>scope</key>
    <string>punctuation.decorator.ts</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#89b4fa</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Extra JS/TS keywords</string>
    <key>scope</key>
    <string>keyword.operator.expression.in.js, keyword.operator.expression.in.ts, keyword.operator.expression.infer.ts, keyword.operator.expression.instanceof.js, keyword.operator.expression.instanceof.ts, keyword.operator.expression.is, keyword.operator.expression.keyof.ts, keyword.operator.expression.of.js, keyword.operator.expression.of.ts, keyword.operator.expression.typeof.ts</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#cba6f7</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Julia macros</string>
    <key>scope</key>
    <string>support.function.macro.julia</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#94e2d5</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Julia language constants (true, false)</string>
    <key>scope</key>
    <string>constant.language.julia</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#fab387</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Julia other constants (these seem to be arguments inside arrays)</string>
    <key>scope</key>
    <string>constant.other.symbol.julia</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#eba0ac</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>LaTeX preamble</string>
    <key>scope</key>
    <string>text.tex keyword.control.preamble</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#94e2d5</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>LaTeX be functions</string>
    <key>scope</key>
    <string>text.tex support.function.be</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#89dceb</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>LaTeX math</string>
    <key>scope</key>
    <string>constant.other.general.math.tex</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#f2cdcd</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Lua docstring keywords</string>
    <key>scope</key>
    <string>comment.line.double-dash.documentation.lua storage.type.annotation.lua</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#cba6f7</string>
    <key>fontStyle</key>
    <string/>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Lua docstring variables</string>
    <key>scope</key>
    <string>comment.line.double-dash.documentation.lua entity.name.variable.lua, comment.line.double-dash.documentation.lua variable.lua</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#cdd6f4</string>
    </dict>
    </dict>
    <dict>
    <key>scope</key>
    <string>heading.1.markdown punctuation.definition.heading.markdown, heading.1.markdown, markup.heading.atx.1.mdx, markup.heading.atx.1.mdx punctuation.definition.heading.mdx, markup.heading.setext.1.markdown, markup.heading.heading-0.asciidoc</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#f38ba8</string>
    </dict>
    </dict>
    <dict>
    <key>scope</key>
    <string>heading.2.markdown punctuation.definition.heading.markdown, heading.2.markdown, markup.heading.atx.2.mdx, markup.heading.atx.2.mdx punctuation.definition.heading.mdx, markup.heading.setext.2.markdown, markup.heading.heading-1.asciidoc</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#fab387</string>
    </dict>
    </dict>
    <dict>
    <key>scope</key>
    <string>heading.3.markdown punctuation.definition.heading.markdown, heading.3.markdown, markup.heading.atx.3.mdx, markup.heading.atx.3.mdx punctuation.definition.heading.mdx, markup.heading.heading-2.asciidoc</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#f9e2af</string>
    </dict>
    </dict>
    <dict>
    <key>scope</key>
    <string>heading.4.markdown punctuation.definition.heading.markdown, heading.4.markdown, markup.heading.atx.4.mdx, markup.heading.atx.4.mdx punctuation.definition.heading.mdx, markup.heading.heading-3.asciidoc</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#a6e3a1</string>
    </dict>
    </dict>
    <dict>
    <key>scope</key>
    <string>heading.5.markdown punctuation.definition.heading.markdown, heading.5.markdown, markup.heading.atx.5.mdx, markup.heading.atx.5.mdx punctuation.definition.heading.mdx, markup.heading.heading-4.asciidoc</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#89b4fa</string>
    </dict>
    </dict>
    <dict>
    <key>scope</key>
    <string>heading.6.markdown punctuation.definition.heading.markdown, heading.6.markdown, markup.heading.atx.6.mdx, markup.heading.atx.6.mdx punctuation.definition.heading.mdx, markup.heading.heading-5.asciidoc</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#cba6f7</string>
    </dict>
    </dict>
    <dict>
    <key>scope</key>
    <string>markup.bold</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#f38ba8</string>
    <key>fontStyle</key>
    <string>bold</string>
    </dict>
    </dict>
    <dict>
    <key>scope</key>
    <string>markup.italic</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#f38ba8</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>scope</key>
    <string>markup.strikethrough</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#a6adc8</string>
    <key>fontStyle</key>
    <string>strikethrough</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Markdown auto links</string>
    <key>scope</key>
    <string>punctuation.definition.link, markup.underline.link</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#89b4fa</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Markdown links</string>
    <key>scope</key>
    <string>text.html.markdown punctuation.definition.link.title, string.other.link.title.markdown, markup.link, punctuation.definition.constant.markdown, constant.other.reference.link.markdown, markup.substitution.attribute-reference</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#b4befe</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Markdown code spans</string>
    <key>scope</key>
    <string>punctuation.definition.raw.markdown, markup.inline.raw.string.markdown, markup.raw.block.markdown</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#a6e3a1</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Markdown triple backtick language identifier</string>
    <key>scope</key>
    <string>fenced_code.block.language</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#89dceb</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Markdown triple backticks</string>
    <key>scope</key>
    <string>markup.fenced_code.block punctuation.definition, markup.raw support.asciidoc</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#9399b2</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Markdown quotes</string>
    <key>scope</key>
    <string>markup.quote, punctuation.definition.quote.begin</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#f5c2e7</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Markdown separators</string>
    <key>scope</key>
    <string>meta.separator.markdown</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#94e2d5</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Markdown list bullets</string>
    <key>scope</key>
    <string>punctuation.definition.list.begin.markdown, markup.list.bullet</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#94e2d5</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Nix attribute names</string>
    <key>scope</key>
    <string>entity.other.attribute-name.multipart.nix, entity.other.attribute-name.single.nix</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#89b4fa</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Nix parameter names</string>
    <key>scope</key>
    <string>variable.parameter.name.nix</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#cdd6f4</string>
    <key>fontStyle</key>
    <string/>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Nix interpolated parameter names</string>
    <key>scope</key>
    <string>meta.embedded variable.parameter.name.nix</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#b4befe</string>
    <key>fontStyle</key>
    <string/>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Nix paths</string>
    <key>scope</key>
    <string>string.unquoted.path.nix</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#f5c2e7</string>
    <key>fontStyle</key>
    <string/>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>PHP Attributes</string>
    <key>scope</key>
    <string>support.attribute.builtin, meta.attribute.php</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#f9e2af</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>PHP Parameters (needed for the leading dollar sign)</string>
    <key>scope</key>
    <string>meta.function.parameters.php punctuation.definition.variable.php</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#eba0ac</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>PHP Constants (null, __FILE__, etc.)</string>
    <key>scope</key>
    <string>constant.language.php</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#cba6f7</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>PHP functions</string>
    <key>scope</key>
    <string>text.html.php support.function</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#89dceb</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>PHPdoc keywords</string>
    <key>scope</key>
    <string>keyword.other.phpdoc.php</string>
    <key>settings</key>
    <dict>
    <key>fontStyle</key>
    <string/>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Python argument functions reset to text, otherwise they inherit blue from function-call</string>
    <key>scope</key>
    <string>support.variable.magic.python, meta.function-call.arguments.python</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#cdd6f4</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Python double underscore functions</string>
    <key>scope</key>
    <string>support.function.magic.python</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#89dceb</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Python `self` keyword</string>
    <key>scope</key>
    <string>variable.parameter.function.language.special.self.python, variable.language.special.self.python</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#f38ba8</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>python keyword flow/logical (for ... in)</string>
    <key>scope</key>
    <string>keyword.control.flow.python, keyword.operator.logical.python</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#cba6f7</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>python storage type</string>
    <key>scope</key>
    <string>storage.type.function.python</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#cba6f7</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>python function support</string>
    <key>scope</key>
    <string>support.token.decorator.python, meta.function.decorator.identifier.python</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#89dceb</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>python function calls</string>
    <key>scope</key>
    <string>meta.function-call.python</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#89b4fa</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>python function decorators</string>
    <key>scope</key>
    <string>entity.name.function.decorator.python, punctuation.definition.decorator.python</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#fab387</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>python placeholder reset to normal string</string>
    <key>scope</key>
    <string>constant.character.format.placeholder.other.python</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#f5c2e7</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Python exception &amp; builtins such as exit()</string>
    <key>scope</key>
    <string>support.type.exception.python, support.function.builtin.python</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#fab387</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>entity.name.type</string>
    <key>scope</key>
    <string>support.type.python</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#fab387</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>python constants (True/False)</string>
    <key>scope</key>
    <string>constant.language.python</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#cba6f7</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Arguments accessed later in the function body</string>
    <key>scope</key>
    <string>meta.indexed-name.python, meta.item-access.python</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#eba0ac</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Python f-strings/binary/unicode storage types</string>
    <key>scope</key>
    <string>storage.type.string.python</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#a6e3a1</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Python type hints</string>
    <key>scope</key>
    <string>meta.function.parameters.python</string>
    <key>settings</key>
    <dict>
    <key>fontStyle</key>
    <string/>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Regex string begin/end in JS/TS</string>
    <key>scope</key>
    <string>string.regexp punctuation.definition.string.begin, string.regexp punctuation.definition.string.end</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#f5c2e7</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Regex anchors (^, $)</string>
    <key>scope</key>
    <string>keyword.control.anchor.regexp</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#cba6f7</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Regex regular string match</string>
    <key>scope</key>
    <string>string.regexp.ts</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#cdd6f4</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Regex group parenthesis &amp; backreference (\1, \2, \3, ...)</string>
    <key>scope</key>
    <string>punctuation.definition.group.regexp, keyword.other.back-reference.regexp</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#a6e3a1</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Regex character class []</string>
    <key>scope</key>
    <string>punctuation.definition.character-class.regexp</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#f9e2af</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Regex character classes (\d, \w, \s)</string>
    <key>scope</key>
    <string>constant.other.character-class.regexp</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#f5c2e7</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Regex range</string>
    <key>scope</key>
    <string>constant.other.character-class.range.regexp</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#f5e0dc</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Regex quantifier</string>
    <key>scope</key>
    <string>keyword.operator.quantifier.regexp</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#94e2d5</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Regex constant/numeric</string>
    <key>scope</key>
    <string>constant.character.numeric.regexp</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#fab387</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Regex lookaheads, negative lookaheads, lookbehinds, negative lookbehinds</string>
    <key>scope</key>
    <string>punctuation.definition.group.no-capture.regexp, meta.assertion.look-ahead.regexp, meta.assertion.negative-look-ahead.regexp</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#89b4fa</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Rust attribute</string>
    <key>scope</key>
    <string>meta.annotation.rust, meta.annotation.rust punctuation, meta.attribute.rust, punctuation.definition.attribute.rust</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#f9e2af</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Rust attribute strings</string>
    <key>scope</key>
    <string>meta.attribute.rust string.quoted.double.rust, meta.attribute.rust string.quoted.single.char.rust</string>
    <key>settings</key>
    <dict>
    <key>fontStyle</key>
    <string/>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Rust keyword</string>
    <key>scope</key>
    <string>entity.name.function.macro.rules.rust, storage.type.module.rust, storage.modifier.rust, storage.type.struct.rust, storage.type.enum.rust, storage.type.trait.rust, storage.type.union.rust, storage.type.impl.rust, storage.type.rust, storage.type.function.rust, storage.type.type.rust</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#cba6f7</string>
    <key>fontStyle</key>
    <string/>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Rust u/i32, u/i64, etc.</string>
    <key>scope</key>
    <string>entity.name.type.numeric.rust</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#cba6f7</string>
    <key>fontStyle</key>
    <string/>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Rust generic</string>
    <key>scope</key>
    <string>meta.generic.rust</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#fab387</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Rust impl</string>
    <key>scope</key>
    <string>entity.name.impl.rust</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#f9e2af</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Rust module</string>
    <key>scope</key>
    <string>entity.name.module.rust</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#fab387</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Rust trait</string>
    <key>scope</key>
    <string>entity.name.trait.rust</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#f9e2af</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Rust struct</string>
    <key>scope</key>
    <string>storage.type.source.rust</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#f9e2af</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Rust union</string>
    <key>scope</key>
    <string>entity.name.union.rust</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#f9e2af</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Rust enum member</string>
    <key>scope</key>
    <string>meta.enum.rust storage.type.source.rust</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#94e2d5</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Rust macro</string>
    <key>scope</key>
    <string>support.macro.rust, meta.macro.rust support.function.rust, entity.name.function.macro.rust</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#89b4fa</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Rust lifetime</string>
    <key>scope</key>
    <string>storage.modifier.lifetime.rust, entity.name.type.lifetime</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#89b4fa</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Rust string formatting</string>
    <key>scope</key>
    <string>string.quoted.double.rust constant.other.placeholder.rust</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#f5c2e7</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Rust return type generic</string>
    <key>scope</key>
    <string>meta.function.return-type.rust meta.generic.rust storage.type.rust</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#cdd6f4</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Rust functions</string>
    <key>scope</key>
    <string>meta.function.call.rust</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#89b4fa</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Rust angle brackets</string>
    <key>scope</key>
    <string>punctuation.brackets.angle.rust</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#89dceb</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Rust constants</string>
    <key>scope</key>
    <string>constant.other.caps.rust</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#fab387</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Rust function parameters</string>
    <key>scope</key>
    <string>meta.function.definition.rust variable.other.rust</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#eba0ac</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Rust closure variables</string>
    <key>scope</key>
    <string>meta.function.call.rust variable.other.rust</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#cdd6f4</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Rust self</string>
    <key>scope</key>
    <string>variable.language.self.rust</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#f38ba8</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Rust metavariable names</string>
    <key>scope</key>
    <string>variable.other.metavariable.name.rust, meta.macro.metavariable.rust keyword.operator.macro.dollar.rust</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#f5c2e7</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Shell shebang</string>
    <key>scope</key>
    <string>comment.line.shebang, comment.line.shebang punctuation.definition.comment, comment.line.shebang, punctuation.definition.comment.shebang.shell, meta.shebang.shell</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#f5c2e7</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Shell shebang command</string>
    <key>scope</key>
    <string>comment.line.shebang constant.language</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#94e2d5</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Shell interpolated command</string>
    <key>scope</key>
    <string>meta.function-call.arguments.shell punctuation.definition.variable.shell, meta.function-call.arguments.shell punctuation.section.interpolation, meta.function-call.arguments.shell punctuation.definition.variable.shell, meta.function-call.arguments.shell punctuation.section.interpolation</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#f38ba8</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Shell interpolated command variable</string>
    <key>scope</key>
    <string>meta.string meta.interpolation.parameter.shell variable.other.readwrite</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#fab387</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>scope</key>
    <string>source.shell punctuation.section.interpolation, punctuation.definition.evaluation.backticks.shell</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#94e2d5</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Shell EOF</string>
    <key>scope</key>
    <string>entity.name.tag.heredoc.shell</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#cba6f7</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Shell quoted variable</string>
    <key>scope</key>
    <string>string.quoted.double.shell variable.other.normal.shell</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#cdd6f4</string>
    </dict>
    </dict>
    <dict>
    <key>scope</key>
    <string>markup.heading.synopsis.man, markup.heading.title.man, markup.heading.other.man, markup.heading.env.man</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#cba6f7</string>
    </dict>
    </dict>
    <dict>
    <key>scope</key>
    <string>markup.heading.commands.man</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#89b4fa</string>
    </dict>
    </dict>
    <dict>
    <key>scope</key>
    <string>markup.heading.env.man</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#f5c2e7</string>
    </dict>
    </dict>
    <dict>
    <key>scope</key>
    <string>markup.heading.1.markdown</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#f38ba8</string>
    </dict>
    </dict>
    <dict>
    <key>scope</key>
    <string>markup.heading.2.markdown</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#fab387</string>
    </dict>
    </dict>
    <dict>
    <key>scope</key>
    <string>markup.heading.markdown</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#f9e2af</string>
    </dict>
    </dict>
    </array>
    </dict>
    </plist>
  • file addition: Catppuccin Latte.tmTheme (----------)
    [0.257055]
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
    <key>name</key>
    <string>Catppuccin Latte</string>
    <key>semanticClass</key>
    <string>theme.light.catppuccin-latte</string>
    <key>uuid</key>
    <string>96a262cd-4b2f-49f5-9125-8dd0077cbfe1</string>
    <key>author</key>
    <string>Catppuccin Org</string>
    <key>colorSpaceName</key>
    <string>sRGB</string>
    <key>settings</key>
    <array>
    <dict>
    <key>settings</key>
    <dict>
    <key>background</key>
    <string>#eff1f5</string>
    <key>foreground</key>
    <string>#4c4f69</string>
    <key>caret</key>
    <string>#dc8a78</string>
    <key>lineHighlight</key>
    <string>#ccd0da</string>
    <key>misspelling</key>
    <string>#d20f39</string>
    <key>accent</key>
    <string>#8839ef</string>
    <key>selection</key>
    <string>#7c7f934d</string>
    <key>activeGuide</key>
    <string>#bcc0cc</string>
    <key>findHighlight</key>
    <string>#a9daf0</string>
    <key>gutterForeground</key>
    <string>#8c8fa1</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Basic text &amp; variable names (incl. leading punctuation)</string>
    <key>scope</key>
    <string>text, source, variable.other.readwrite, punctuation.definition.variable</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#4c4f69</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Parentheses, Brackets, Braces</string>
    <key>scope</key>
    <string>punctuation</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#7c7f93</string>
    <key>fontStyle</key>
    <string/>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Comments</string>
    <key>scope</key>
    <string>comment, punctuation.definition.comment</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#9ca0b0</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>scope</key>
    <string>string, punctuation.definition.string</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#40a02b</string>
    </dict>
    </dict>
    <dict>
    <key>scope</key>
    <string>constant.character.escape</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#ea76cb</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Booleans, constants, numbers</string>
    <key>scope</key>
    <string>constant.numeric, variable.other.constant, entity.name.constant, constant.language.boolean, constant.language.false, constant.language.true, keyword.other.unit.user-defined, keyword.other.unit.suffix.floating-point</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#fe640b</string>
    </dict>
    </dict>
    <dict>
    <key>scope</key>
    <string>keyword, keyword.operator.word, keyword.operator.new, variable.language.super, support.type.primitive, storage.type, storage.modifier, punctuation.definition.keyword</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#8839ef</string>
    <key>fontStyle</key>
    <string/>
    </dict>
    </dict>
    <dict>
    <key>scope</key>
    <string>entity.name.tag.documentation</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#8839ef</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Punctuation</string>
    <key>scope</key>
    <string>keyword.operator, punctuation.accessor, punctuation.definition.generic, meta.function.closure punctuation.section.parameters, punctuation.definition.tag, punctuation.separator.key-value</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#179299</string>
    </dict>
    </dict>
    <dict>
    <key>scope</key>
    <string>entity.name.function, meta.function-call.method, support.function, support.function.misc, variable.function</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#1e66f5</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Classes</string>
    <key>scope</key>
    <string>entity.name.class, entity.other.inherited-class, support.class, meta.function-call.constructor, entity.name.struct</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#df8e1d</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Enum</string>
    <key>scope</key>
    <string>entity.name.enum</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#df8e1d</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Enum member</string>
    <key>scope</key>
    <string>meta.enum variable.other.readwrite, variable.other.enummember</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#179299</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Object properties</string>
    <key>scope</key>
    <string>meta.property.object</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#179299</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Types</string>
    <key>scope</key>
    <string>meta.type, meta.type-alias, support.type, entity.name.type</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#df8e1d</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Decorators</string>
    <key>scope</key>
    <string>meta.annotation variable.function, meta.annotation variable.annotation.function, meta.annotation punctuation.definition.annotation, meta.decorator, punctuation.decorator</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#fe640b</string>
    </dict>
    </dict>
    <dict>
    <key>scope</key>
    <string>variable.parameter, meta.function.parameters</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#e64553</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Built-ins</string>
    <key>scope</key>
    <string>constant.language, support.function.builtin</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#d20f39</string>
    </dict>
    </dict>
    <dict>
    <key>scope</key>
    <string>entity.other.attribute-name.documentation</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#d20f39</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Preprocessor directives</string>
    <key>scope</key>
    <string>keyword.control.directive, punctuation.definition.directive</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#df8e1d</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Type parameters</string>
    <key>scope</key>
    <string>punctuation.definition.typeparameters</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#04a5e5</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Namespaces</string>
    <key>scope</key>
    <string>entity.name.namespace</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#df8e1d</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Property names (left hand assignments in json/yaml/css)</string>
    <key>scope</key>
    <string>support.type.property-name.css</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#1e66f5</string>
    <key>fontStyle</key>
    <string/>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>This/Self keyword</string>
    <key>scope</key>
    <string>variable.language.this, variable.language.this punctuation.definition.variable</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#d20f39</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Object properties</string>
    <key>scope</key>
    <string>variable.object.property</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#4c4f69</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>String template interpolation</string>
    <key>scope</key>
    <string>string.template variable, string variable</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#4c4f69</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>`new` as bold</string>
    <key>scope</key>
    <string>keyword.operator.new</string>
    <key>settings</key>
    <dict>
    <key>fontStyle</key>
    <string>bold</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>C++ extern keyword</string>
    <key>scope</key>
    <string>storage.modifier.specifier.extern.cpp</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#8839ef</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>C++ scope resolution</string>
    <key>scope</key>
    <string>entity.name.scope-resolution.template.call.cpp, entity.name.scope-resolution.parameter.cpp, entity.name.scope-resolution.cpp, entity.name.scope-resolution.function.definition.cpp</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#df8e1d</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>C++ doc keywords</string>
    <key>scope</key>
    <string>storage.type.class.doxygen</string>
    <key>settings</key>
    <dict>
    <key>fontStyle</key>
    <string/>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>C++ operators</string>
    <key>scope</key>
    <string>storage.modifier.reference.cpp</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#179299</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>C# Interpolated Strings</string>
    <key>scope</key>
    <string>meta.interpolation.cs</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#4c4f69</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>C# xml-style docs</string>
    <key>scope</key>
    <string>comment.block.documentation.cs</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#4c4f69</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Classes, reflecting the className color in JSX</string>
    <key>scope</key>
    <string>source.css entity.other.attribute-name.class.css, entity.other.attribute-name.parent-selector.css punctuation.definition.entity.css</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#df8e1d</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Operators</string>
    <key>scope</key>
    <string>punctuation.separator.operator.css</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#179299</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Pseudo classes</string>
    <key>scope</key>
    <string>source.css entity.other.attribute-name.pseudo-class</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#179299</string>
    </dict>
    </dict>
    <dict>
    <key>scope</key>
    <string>source.css constant.other.unicode-range</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#fe640b</string>
    </dict>
    </dict>
    <dict>
    <key>scope</key>
    <string>source.css variable.parameter.url</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#40a02b</string>
    <key>fontStyle</key>
    <string/>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>CSS vendored property names</string>
    <key>scope</key>
    <string>support.type.vendored.property-name</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#04a5e5</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Less/SCSS right-hand variables (@/$-prefixed)</string>
    <key>scope</key>
    <string>source.css meta.property-value variable, source.css meta.property-value variable.other.less, source.css meta.property-value variable.other.less punctuation.definition.variable.less, meta.definition.variable.scss</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#e64553</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>CSS variables (--prefixed)</string>
    <key>scope</key>
    <string>source.css meta.property-list variable, meta.property-list variable.other.less, meta.property-list variable.other.less punctuation.definition.variable.less</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#1e66f5</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>CSS Percentage values, styled the same as numbers</string>
    <key>scope</key>
    <string>keyword.other.unit.percentage.css</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#fe640b</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>CSS Attribute selectors, styled the same as strings</string>
    <key>scope</key>
    <string>source.css meta.attribute-selector</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#40a02b</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>JSON/YAML keys, other left-hand assignments</string>
    <key>scope</key>
    <string>keyword.other.definition.ini, punctuation.support.type.property-name.json, support.type.property-name.json, punctuation.support.type.property-name.toml, support.type.property-name.toml, entity.name.tag.yaml, punctuation.support.type.property-name.yaml, support.type.property-name.yaml</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#1e66f5</string>
    <key>fontStyle</key>
    <string/>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>JSON/YAML constants</string>
    <key>scope</key>
    <string>constant.language.json, constant.language.yaml</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#fe640b</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>YAML anchors</string>
    <key>scope</key>
    <string>entity.name.type.anchor.yaml, variable.other.alias.yaml</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#df8e1d</string>
    <key>fontStyle</key>
    <string/>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>TOML tables / ini groups</string>
    <key>scope</key>
    <string>support.type.property-name.table, entity.name.section.group-title.ini</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#df8e1d</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>TOML dates</string>
    <key>scope</key>
    <string>constant.other.time.datetime.offset.toml</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#ea76cb</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>YAML anchor puctuation</string>
    <key>scope</key>
    <string>punctuation.definition.anchor.yaml, punctuation.definition.alias.yaml</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#ea76cb</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>YAML triple dashes</string>
    <key>scope</key>
    <string>entity.other.document.begin.yaml</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#ea76cb</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Markup Diff</string>
    <key>scope</key>
    <string>markup.changed.diff</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#fe640b</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Diff</string>
    <key>scope</key>
    <string>meta.diff.header.from-file, meta.diff.header.to-file, punctuation.definition.from-file.diff, punctuation.definition.to-file.diff</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#1e66f5</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Diff Inserted</string>
    <key>scope</key>
    <string>markup.inserted.diff</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#40a02b</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Diff Deleted</string>
    <key>scope</key>
    <string>markup.deleted.diff</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#d20f39</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>dotenv left-hand side assignments</string>
    <key>scope</key>
    <string>variable.other.env</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#1e66f5</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>dotenv reference to existing env variable</string>
    <key>scope</key>
    <string>string.quoted variable.other.env</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#4c4f69</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>GDScript functions</string>
    <key>scope</key>
    <string>support.function.builtin.gdscript</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#1e66f5</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>GDScript constants</string>
    <key>scope</key>
    <string>constant.language.gdscript</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#fe640b</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Comment keywords</string>
    <key>scope</key>
    <string>comment meta.annotation.go</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#e64553</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>go:embed, go:build, etc.</string>
    <key>scope</key>
    <string>comment meta.annotation.parameters.go</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#fe640b</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Go constants (nil, true, false)</string>
    <key>scope</key>
    <string>constant.language.go</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#fe640b</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>GraphQL variables</string>
    <key>scope</key>
    <string>variable.graphql</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#4c4f69</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>GraphQL aliases</string>
    <key>scope</key>
    <string>string.unquoted.alias.graphql</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#dd7878</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>GraphQL enum members</string>
    <key>scope</key>
    <string>constant.character.enum.graphql</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#179299</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>GraphQL field in types</string>
    <key>scope</key>
    <string>meta.objectvalues.graphql constant.object.key.graphql string.unquoted.graphql</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#dd7878</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>HTML/XML DOCTYPE as keyword</string>
    <key>scope</key>
    <string>keyword.other.doctype, meta.tag.sgml.doctype punctuation.definition.tag, meta.tag.metadata.doctype entity.name.tag, meta.tag.metadata.doctype punctuation.definition.tag</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#8839ef</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>HTML/XML-like &lt;tags/&gt;</string>
    <key>scope</key>
    <string>entity.name.tag</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#1e66f5</string>
    <key>fontStyle</key>
    <string/>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Special characters like &amp;amp;</string>
    <key>scope</key>
    <string>text.html constant.character.entity, text.html constant.character.entity punctuation, constant.character.entity.xml, constant.character.entity.xml punctuation, constant.character.entity.js.jsx, constant.charactger.entity.js.jsx punctuation, constant.character.entity.tsx, constant.character.entity.tsx punctuation</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#d20f39</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>HTML/XML tag attribute values</string>
    <key>scope</key>
    <string>entity.other.attribute-name</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#df8e1d</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Components</string>
    <key>scope</key>
    <string>support.class.component, support.class.component.jsx, support.class.component.tsx, support.class.component.vue</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#ea76cb</string>
    <key>fontStyle</key>
    <string/>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Annotations</string>
    <key>scope</key>
    <string>punctuation.definition.annotation, storage.type.annotation</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#fe640b</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Java enums</string>
    <key>scope</key>
    <string>constant.other.enum.java</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#179299</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Java imports</string>
    <key>scope</key>
    <string>storage.modifier.import.java</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#4c4f69</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Javadoc</string>
    <key>scope</key>
    <string>comment.block.javadoc.java keyword.other.documentation.javadoc.java</string>
    <key>settings</key>
    <dict>
    <key>fontStyle</key>
    <string/>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Exported Variable</string>
    <key>scope</key>
    <string>meta.export variable.other.readwrite.js</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#e64553</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>JS/TS constants &amp; properties</string>
    <key>scope</key>
    <string>variable.other.constant.js, variable.other.constant.ts, variable.other.property.js, variable.other.property.ts</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#4c4f69</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>JSDoc; these are mainly params, so styled as such</string>
    <key>scope</key>
    <string>variable.other.jsdoc, comment.block.documentation variable.other</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#e64553</string>
    <key>fontStyle</key>
    <string/>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>JSDoc keywords</string>
    <key>scope</key>
    <string>storage.type.class.jsdoc</string>
    <key>settings</key>
    <dict>
    <key>fontStyle</key>
    <string/>
    </dict>
    </dict>
    <dict>
    <key>scope</key>
    <string>support.type.object.console.js</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#4c4f69</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Node constants as keywords (module, etc.)</string>
    <key>scope</key>
    <string>support.constant.node, support.type.object.module.js</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#8839ef</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>implements as keyword</string>
    <key>scope</key>
    <string>storage.modifier.implements</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#8839ef</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Builtin types</string>
    <key>scope</key>
    <string>constant.language.null.js, constant.language.null.ts, constant.language.undefined.js, constant.language.undefined.ts, support.type.builtin.ts</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#8839ef</string>
    </dict>
    </dict>
    <dict>
    <key>scope</key>
    <string>variable.parameter.generic</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#df8e1d</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Arrow functions</string>
    <key>scope</key>
    <string>keyword.declaration.function.arrow.js, storage.type.function.arrow.ts</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#179299</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Decorator punctuations (decorators inherit from blue functions, instead of styleguide peach)</string>
    <key>scope</key>
    <string>punctuation.decorator.ts</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#1e66f5</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Extra JS/TS keywords</string>
    <key>scope</key>
    <string>keyword.operator.expression.in.js, keyword.operator.expression.in.ts, keyword.operator.expression.infer.ts, keyword.operator.expression.instanceof.js, keyword.operator.expression.instanceof.ts, keyword.operator.expression.is, keyword.operator.expression.keyof.ts, keyword.operator.expression.of.js, keyword.operator.expression.of.ts, keyword.operator.expression.typeof.ts</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#8839ef</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Julia macros</string>
    <key>scope</key>
    <string>support.function.macro.julia</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#179299</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Julia language constants (true, false)</string>
    <key>scope</key>
    <string>constant.language.julia</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#fe640b</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Julia other constants (these seem to be arguments inside arrays)</string>
    <key>scope</key>
    <string>constant.other.symbol.julia</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#e64553</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>LaTeX preamble</string>
    <key>scope</key>
    <string>text.tex keyword.control.preamble</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#179299</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>LaTeX be functions</string>
    <key>scope</key>
    <string>text.tex support.function.be</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#04a5e5</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>LaTeX math</string>
    <key>scope</key>
    <string>constant.other.general.math.tex</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#dd7878</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Lua docstring keywords</string>
    <key>scope</key>
    <string>comment.line.double-dash.documentation.lua storage.type.annotation.lua</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#8839ef</string>
    <key>fontStyle</key>
    <string/>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Lua docstring variables</string>
    <key>scope</key>
    <string>comment.line.double-dash.documentation.lua entity.name.variable.lua, comment.line.double-dash.documentation.lua variable.lua</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#4c4f69</string>
    </dict>
    </dict>
    <dict>
    <key>scope</key>
    <string>heading.1.markdown punctuation.definition.heading.markdown, heading.1.markdown, markup.heading.atx.1.mdx, markup.heading.atx.1.mdx punctuation.definition.heading.mdx, markup.heading.setext.1.markdown, markup.heading.heading-0.asciidoc</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#d20f39</string>
    </dict>
    </dict>
    <dict>
    <key>scope</key>
    <string>heading.2.markdown punctuation.definition.heading.markdown, heading.2.markdown, markup.heading.atx.2.mdx, markup.heading.atx.2.mdx punctuation.definition.heading.mdx, markup.heading.setext.2.markdown, markup.heading.heading-1.asciidoc</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#fe640b</string>
    </dict>
    </dict>
    <dict>
    <key>scope</key>
    <string>heading.3.markdown punctuation.definition.heading.markdown, heading.3.markdown, markup.heading.atx.3.mdx, markup.heading.atx.3.mdx punctuation.definition.heading.mdx, markup.heading.heading-2.asciidoc</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#df8e1d</string>
    </dict>
    </dict>
    <dict>
    <key>scope</key>
    <string>heading.4.markdown punctuation.definition.heading.markdown, heading.4.markdown, markup.heading.atx.4.mdx, markup.heading.atx.4.mdx punctuation.definition.heading.mdx, markup.heading.heading-3.asciidoc</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#40a02b</string>
    </dict>
    </dict>
    <dict>
    <key>scope</key>
    <string>heading.5.markdown punctuation.definition.heading.markdown, heading.5.markdown, markup.heading.atx.5.mdx, markup.heading.atx.5.mdx punctuation.definition.heading.mdx, markup.heading.heading-4.asciidoc</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#1e66f5</string>
    </dict>
    </dict>
    <dict>
    <key>scope</key>
    <string>heading.6.markdown punctuation.definition.heading.markdown, heading.6.markdown, markup.heading.atx.6.mdx, markup.heading.atx.6.mdx punctuation.definition.heading.mdx, markup.heading.heading-5.asciidoc</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#8839ef</string>
    </dict>
    </dict>
    <dict>
    <key>scope</key>
    <string>markup.bold</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#d20f39</string>
    <key>fontStyle</key>
    <string>bold</string>
    </dict>
    </dict>
    <dict>
    <key>scope</key>
    <string>markup.italic</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#d20f39</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>scope</key>
    <string>markup.strikethrough</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#6c6f85</string>
    <key>fontStyle</key>
    <string>strikethrough</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Markdown auto links</string>
    <key>scope</key>
    <string>punctuation.definition.link, markup.underline.link</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#1e66f5</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Markdown links</string>
    <key>scope</key>
    <string>text.html.markdown punctuation.definition.link.title, string.other.link.title.markdown, markup.link, punctuation.definition.constant.markdown, constant.other.reference.link.markdown, markup.substitution.attribute-reference</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#7287fd</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Markdown code spans</string>
    <key>scope</key>
    <string>punctuation.definition.raw.markdown, markup.inline.raw.string.markdown, markup.raw.block.markdown</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#40a02b</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Markdown triple backtick language identifier</string>
    <key>scope</key>
    <string>fenced_code.block.language</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#04a5e5</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Markdown triple backticks</string>
    <key>scope</key>
    <string>markup.fenced_code.block punctuation.definition, markup.raw support.asciidoc</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#7c7f93</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Markdown quotes</string>
    <key>scope</key>
    <string>markup.quote, punctuation.definition.quote.begin</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#ea76cb</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Markdown separators</string>
    <key>scope</key>
    <string>meta.separator.markdown</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#179299</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Markdown list bullets</string>
    <key>scope</key>
    <string>punctuation.definition.list.begin.markdown, markup.list.bullet</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#179299</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Nix attribute names</string>
    <key>scope</key>
    <string>entity.other.attribute-name.multipart.nix, entity.other.attribute-name.single.nix</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#1e66f5</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Nix parameter names</string>
    <key>scope</key>
    <string>variable.parameter.name.nix</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#4c4f69</string>
    <key>fontStyle</key>
    <string/>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Nix interpolated parameter names</string>
    <key>scope</key>
    <string>meta.embedded variable.parameter.name.nix</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#7287fd</string>
    <key>fontStyle</key>
    <string/>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Nix paths</string>
    <key>scope</key>
    <string>string.unquoted.path.nix</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#ea76cb</string>
    <key>fontStyle</key>
    <string/>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>PHP Attributes</string>
    <key>scope</key>
    <string>support.attribute.builtin, meta.attribute.php</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#df8e1d</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>PHP Parameters (needed for the leading dollar sign)</string>
    <key>scope</key>
    <string>meta.function.parameters.php punctuation.definition.variable.php</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#e64553</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>PHP Constants (null, __FILE__, etc.)</string>
    <key>scope</key>
    <string>constant.language.php</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#8839ef</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>PHP functions</string>
    <key>scope</key>
    <string>text.html.php support.function</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#04a5e5</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>PHPdoc keywords</string>
    <key>scope</key>
    <string>keyword.other.phpdoc.php</string>
    <key>settings</key>
    <dict>
    <key>fontStyle</key>
    <string/>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Python argument functions reset to text, otherwise they inherit blue from function-call</string>
    <key>scope</key>
    <string>support.variable.magic.python, meta.function-call.arguments.python</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#4c4f69</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Python double underscore functions</string>
    <key>scope</key>
    <string>support.function.magic.python</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#04a5e5</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Python `self` keyword</string>
    <key>scope</key>
    <string>variable.parameter.function.language.special.self.python, variable.language.special.self.python</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#d20f39</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>python keyword flow/logical (for ... in)</string>
    <key>scope</key>
    <string>keyword.control.flow.python, keyword.operator.logical.python</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#8839ef</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>python storage type</string>
    <key>scope</key>
    <string>storage.type.function.python</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#8839ef</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>python function support</string>
    <key>scope</key>
    <string>support.token.decorator.python, meta.function.decorator.identifier.python</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#04a5e5</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>python function calls</string>
    <key>scope</key>
    <string>meta.function-call.python</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#1e66f5</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>python function decorators</string>
    <key>scope</key>
    <string>entity.name.function.decorator.python, punctuation.definition.decorator.python</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#fe640b</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>python placeholder reset to normal string</string>
    <key>scope</key>
    <string>constant.character.format.placeholder.other.python</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#ea76cb</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Python exception &amp; builtins such as exit()</string>
    <key>scope</key>
    <string>support.type.exception.python, support.function.builtin.python</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#fe640b</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>entity.name.type</string>
    <key>scope</key>
    <string>support.type.python</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#fe640b</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>python constants (True/False)</string>
    <key>scope</key>
    <string>constant.language.python</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#8839ef</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Arguments accessed later in the function body</string>
    <key>scope</key>
    <string>meta.indexed-name.python, meta.item-access.python</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#e64553</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Python f-strings/binary/unicode storage types</string>
    <key>scope</key>
    <string>storage.type.string.python</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#40a02b</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Python type hints</string>
    <key>scope</key>
    <string>meta.function.parameters.python</string>
    <key>settings</key>
    <dict>
    <key>fontStyle</key>
    <string/>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Regex string begin/end in JS/TS</string>
    <key>scope</key>
    <string>string.regexp punctuation.definition.string.begin, string.regexp punctuation.definition.string.end</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#ea76cb</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Regex anchors (^, $)</string>
    <key>scope</key>
    <string>keyword.control.anchor.regexp</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#8839ef</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Regex regular string match</string>
    <key>scope</key>
    <string>string.regexp.ts</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#4c4f69</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Regex group parenthesis &amp; backreference (\1, \2, \3, ...)</string>
    <key>scope</key>
    <string>punctuation.definition.group.regexp, keyword.other.back-reference.regexp</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#40a02b</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Regex character class []</string>
    <key>scope</key>
    <string>punctuation.definition.character-class.regexp</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#df8e1d</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Regex character classes (\d, \w, \s)</string>
    <key>scope</key>
    <string>constant.other.character-class.regexp</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#ea76cb</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Regex range</string>
    <key>scope</key>
    <string>constant.other.character-class.range.regexp</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#dc8a78</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Regex quantifier</string>
    <key>scope</key>
    <string>keyword.operator.quantifier.regexp</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#179299</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Regex constant/numeric</string>
    <key>scope</key>
    <string>constant.character.numeric.regexp</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#fe640b</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Regex lookaheads, negative lookaheads, lookbehinds, negative lookbehinds</string>
    <key>scope</key>
    <string>punctuation.definition.group.no-capture.regexp, meta.assertion.look-ahead.regexp, meta.assertion.negative-look-ahead.regexp</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#1e66f5</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Rust attribute</string>
    <key>scope</key>
    <string>meta.annotation.rust, meta.annotation.rust punctuation, meta.attribute.rust, punctuation.definition.attribute.rust</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#df8e1d</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Rust attribute strings</string>
    <key>scope</key>
    <string>meta.attribute.rust string.quoted.double.rust, meta.attribute.rust string.quoted.single.char.rust</string>
    <key>settings</key>
    <dict>
    <key>fontStyle</key>
    <string/>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Rust keyword</string>
    <key>scope</key>
    <string>entity.name.function.macro.rules.rust, storage.type.module.rust, storage.modifier.rust, storage.type.struct.rust, storage.type.enum.rust, storage.type.trait.rust, storage.type.union.rust, storage.type.impl.rust, storage.type.rust, storage.type.function.rust, storage.type.type.rust</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#8839ef</string>
    <key>fontStyle</key>
    <string/>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Rust u/i32, u/i64, etc.</string>
    <key>scope</key>
    <string>entity.name.type.numeric.rust</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#8839ef</string>
    <key>fontStyle</key>
    <string/>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Rust generic</string>
    <key>scope</key>
    <string>meta.generic.rust</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#fe640b</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Rust impl</string>
    <key>scope</key>
    <string>entity.name.impl.rust</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#df8e1d</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Rust module</string>
    <key>scope</key>
    <string>entity.name.module.rust</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#fe640b</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Rust trait</string>
    <key>scope</key>
    <string>entity.name.trait.rust</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#df8e1d</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Rust struct</string>
    <key>scope</key>
    <string>storage.type.source.rust</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#df8e1d</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Rust union</string>
    <key>scope</key>
    <string>entity.name.union.rust</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#df8e1d</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Rust enum member</string>
    <key>scope</key>
    <string>meta.enum.rust storage.type.source.rust</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#179299</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Rust macro</string>
    <key>scope</key>
    <string>support.macro.rust, meta.macro.rust support.function.rust, entity.name.function.macro.rust</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#1e66f5</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Rust lifetime</string>
    <key>scope</key>
    <string>storage.modifier.lifetime.rust, entity.name.type.lifetime</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#1e66f5</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Rust string formatting</string>
    <key>scope</key>
    <string>string.quoted.double.rust constant.other.placeholder.rust</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#ea76cb</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Rust return type generic</string>
    <key>scope</key>
    <string>meta.function.return-type.rust meta.generic.rust storage.type.rust</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#4c4f69</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Rust functions</string>
    <key>scope</key>
    <string>meta.function.call.rust</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#1e66f5</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Rust angle brackets</string>
    <key>scope</key>
    <string>punctuation.brackets.angle.rust</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#04a5e5</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Rust constants</string>
    <key>scope</key>
    <string>constant.other.caps.rust</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#fe640b</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Rust function parameters</string>
    <key>scope</key>
    <string>meta.function.definition.rust variable.other.rust</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#e64553</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Rust closure variables</string>
    <key>scope</key>
    <string>meta.function.call.rust variable.other.rust</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#4c4f69</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Rust self</string>
    <key>scope</key>
    <string>variable.language.self.rust</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#d20f39</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Rust metavariable names</string>
    <key>scope</key>
    <string>variable.other.metavariable.name.rust, meta.macro.metavariable.rust keyword.operator.macro.dollar.rust</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#ea76cb</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Shell shebang</string>
    <key>scope</key>
    <string>comment.line.shebang, comment.line.shebang punctuation.definition.comment, comment.line.shebang, punctuation.definition.comment.shebang.shell, meta.shebang.shell</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#ea76cb</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Shell shebang command</string>
    <key>scope</key>
    <string>comment.line.shebang constant.language</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#179299</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Shell interpolated command</string>
    <key>scope</key>
    <string>meta.function-call.arguments.shell punctuation.definition.variable.shell, meta.function-call.arguments.shell punctuation.section.interpolation, meta.function-call.arguments.shell punctuation.definition.variable.shell, meta.function-call.arguments.shell punctuation.section.interpolation</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#d20f39</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Shell interpolated command variable</string>
    <key>scope</key>
    <string>meta.string meta.interpolation.parameter.shell variable.other.readwrite</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#fe640b</string>
    <key>fontStyle</key>
    <string>italic</string>
    </dict>
    </dict>
    <dict>
    <key>scope</key>
    <string>source.shell punctuation.section.interpolation, punctuation.definition.evaluation.backticks.shell</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#179299</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Shell EOF</string>
    <key>scope</key>
    <string>entity.name.tag.heredoc.shell</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#8839ef</string>
    </dict>
    </dict>
    <dict>
    <key>name</key>
    <string>Shell quoted variable</string>
    <key>scope</key>
    <string>string.quoted.double.shell variable.other.normal.shell</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#4c4f69</string>
    </dict>
    </dict>
    <dict>
    <key>scope</key>
    <string>markup.heading.synopsis.man, markup.heading.title.man, markup.heading.other.man, markup.heading.env.man</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#8839ef</string>
    </dict>
    </dict>
    <dict>
    <key>scope</key>
    <string>markup.heading.commands.man</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#1e66f5</string>
    </dict>
    </dict>
    <dict>
    <key>scope</key>
    <string>markup.heading.env.man</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#ea76cb</string>
    </dict>
    </dict>
    <dict>
    <key>scope</key>
    <string>markup.heading.1.markdown</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#d20f39</string>
    </dict>
    </dict>
    <dict>
    <key>scope</key>
    <string>markup.heading.2.markdown</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#fe640b</string>
    </dict>
    </dict>
    <dict>
    <key>scope</key>
    <string>markup.heading.markdown</string>
    <key>settings</key>
    <dict>
    <key>foreground</key>
    <string>#df8e1d</string>
    </dict>
    </dict>
    </array>
    </dict>
    </plist>
  • file addition: config (----------)
    [0.257035]
    --theme="Catppuccin Latte"
  • file addition: alacritty (d--r------)
    [0.11640]
  • file addition: rose-pine.toml (----------)
    [0.437384]
    # Colors section of "Alacritty - TOML configuration file format"
    # https://github.com/alacritty/alacritty/blob/master/extra/man/alacritty.5.scd#colors
    [colors.primary]
    foreground = "#e0def4"
    background = "#191724"
    dim_foreground = "#908caa"
    bright_foreground = "#e0def4"
    [colors.cursor]
    text = "#e0def4"
    cursor = "#524f67"
    [colors.vi_mode_cursor]
    text = "#e0def4"
    cursor = "#524f67"
    [colors.search.matches]
    foreground = "#908caa"
    background = "#26233a"
    [colors.search.focused_match]
    foreground = "#191724"
    background = "#ebbcba"
    [colors.hints.start]
    foreground = "#908caa"
    background = "#1f1d2e"
    [colors.hints.end]
    foreground = "#6e6a86"
    background = "#1f1d2e"
    [colors.line_indicator]
    foreground = "None"
    background = "None"
    [colors.footer_bar]
    foreground = "#e0def4"
    background = "#1f1d2e"
    [colors.selection]
    text = "#e0def4"
    background = "#403d52"
    [colors.normal]
    black = "#26233a"
    red = "#eb6f92"
    green = "#31748f"
    yellow = "#f6c177"
    blue = "#9ccfd8"
    magenta = "#c4a7e7"
    cyan = "#ebbcba"
    white = "#e0def4"
    [colors.bright]
    black = "#6e6a86"
    red = "#eb6f92"
    green = "#31748f"
    yellow = "#f6c177"
    blue = "#9ccfd8"
    magenta = "#c4a7e7"
    cyan = "#ebbcba"
    white = "#e0def4"
    [colors.dim]
    black = "#6e6a86"
    red = "#eb6f92"
    green = "#31748f"
    yellow = "#f6c177"
    blue = "#9ccfd8"
    magenta = "#c4a7e7"
    cyan = "#ebbcba"
    white = "#e0def4"
  • file addition: rose-pine-moon.toml (----------)
    [0.437384]
    # Colors section of "Alacritty - TOML configuration file format"
    # https://github.com/alacritty/alacritty/blob/master/extra/man/alacritty.5.scd#colors
    [colors.primary]
    foreground = "#e0def4"
    background = "#232136"
    dim_foreground = "#908caa"
    bright_foreground = "#e0def4"
    [colors.cursor]
    text = "#e0def4"
    cursor = "#56526e"
    [colors.vi_mode_cursor]
    text = "#e0def4"
    cursor = "#56526e"
    [colors.search.matches]
    foreground = "#908caa"
    background = "#393552"
    [colors.search.focused_match]
    foreground = "#232136"
    background = "#ea9a97"
    [colors.hints.start]
    foreground = "#908caa"
    background = "#2a273f"
    [colors.hints.end]
    foreground = "#6e6a86"
    background = "#2a273f"
    [colors.line_indicator]
    foreground = "None"
    background = "None"
    [colors.footer_bar]
    foreground = "#e0def4"
    background = "#2a273f"
    [colors.selection]
    text = "#e0def4"
    background = "#44415a"
    [colors.normal]
    black = "#393552"
    red = "#eb6f92"
    green = "#3e8fb0"
    yellow = "#f6c177"
    blue = "#9ccfd8"
    magenta = "#c4a7e7"
    cyan = "#ea9a97"
    white = "#e0def4"
    [colors.bright]
    black = "#6e6a86"
    red = "#eb6f92"
    green = "#3e8fb0"
    yellow = "#f6c177"
    blue = "#9ccfd8"
    magenta = "#c4a7e7"
    cyan = "#ea9a97"
    white = "#e0def4"
    [colors.dim]
    black = "#6e6a86"
    red = "#eb6f92"
    green = "#3e8fb0"
    yellow = "#f6c177"
    blue = "#9ccfd8"
    magenta = "#c4a7e7"
    cyan = "#ea9a97"
    white = "#e0def4"
  • file addition: rose-pine-dawn.toml (----------)
    [0.437384]
    # Colors section of "Alacritty - TOML configuration file format"
    # https://github.com/alacritty/alacritty/blob/master/extra/man/alacritty.5.scd#colors
    [colors.primary]
    foreground = "#575279"
    background = "#faf4ed"
    dim_foreground = "#797593"
    bright_foreground = "#575279"
    [colors.cursor]
    text = "#575279"
    cursor = "#cecacd"
    [colors.vi_mode_cursor]
    text = "#575279"
    cursor = "#cecacd"
    [colors.search.matches]
    foreground = "#797593"
    background = "#f2e9e1"
    [colors.search.focused_match]
    foreground = "#faf4ed"
    background = "#d7827e"
    [colors.hints.start]
    foreground = "#797593"
    background = "#fffaf3"
    [colors.hints.end]
    foreground = "#9893a5"
    background = "#fffaf3"
    [colors.line_indicator]
    foreground = "None"
    background = "None"
    [colors.footer_bar]
    foreground = "#575279"
    background = "#fffaf3"
    [colors.selection]
    text = "#575279"
    background = "#dfdad9"
    [colors.normal]
    black = "#f2e9e1"
    red = "#b4637a"
    green = "#286983"
    yellow = "#ea9d34"
    blue = "#56949f"
    magenta = "#907aa9"
    cyan = "#d7827e"
    white = "#575279"
    [colors.bright]
    black = "#9893a5"
    red = "#b4637a"
    green = "#286983"
    yellow = "#ea9d34"
    blue = "#56949f"
    magenta = "#907aa9"
    cyan = "#d7827e"
    white = "#575279"
    [colors.dim]
    black = "#9893a5"
    red = "#b4637a"
    green = "#286983"
    yellow = "#ea9d34"
    blue = "#56949f"
    magenta = "#907aa9"
    cyan = "#d7827e"
    white = "#575279"
  • file addition: private_alacritty.toml (----------)
    [0.437384]
    [font]
    size = 14
    normal = { family = "Iosevka" } #`, style = "Regular" }
    [general]
    import = [
    "./rose-pine-dawn.toml"
    ]
    [terminal]
    # Don't set SHELL
    shell = "nu"
    [window]
    padding = {x = 10, y = 10}
    [cursor]
    thickness = 1
  • file addition: catppuccin-mocha.toml (----------)
    [0.437384]
    [colors.primary]
    background = "#1e1e2e"
    foreground = "#cdd6f4"
    dim_foreground = "#7f849c"
    bright_foreground = "#cdd6f4"
    [colors.cursor]
    text = "#1e1e2e"
    cursor = "#f5e0dc"
    [colors.vi_mode_cursor]
    text = "#1e1e2e"
    cursor = "#b4befe"
    [colors.search.matches]
    foreground = "#1e1e2e"
    background = "#a6adc8"
    [colors.search.focused_match]
    foreground = "#1e1e2e"
    background = "#a6e3a1"
    [colors.footer_bar]
    foreground = "#1e1e2e"
    background = "#a6adc8"
    [colors.hints.start]
    foreground = "#1e1e2e"
    background = "#f9e2af"
    [colors.hints.end]
    foreground = "#1e1e2e"
    background = "#a6adc8"
    [colors.selection]
    text = "#1e1e2e"
    background = "#f5e0dc"
    [colors.normal]
    black = "#45475a"
    red = "#f38ba8"
    green = "#a6e3a1"
    yellow = "#f9e2af"
    blue = "#89b4fa"
    magenta = "#f5c2e7"
    cyan = "#94e2d5"
    white = "#bac2de"
    [colors.bright]
    black = "#585b70"
    red = "#f38ba8"
    green = "#a6e3a1"
    yellow = "#f9e2af"
    blue = "#89b4fa"
    magenta = "#f5c2e7"
    cyan = "#94e2d5"
    white = "#a6adc8"
    [[colors.indexed_colors]]
    index = 16
    color = "#fab387"
    [[colors.indexed_colors]]
    index = 17
    color = "#f5e0dc"
  • file addition: catppuccin-macchiato.toml (----------)
    [0.437384]
    [colors.primary]
    background = "#24273a"
    foreground = "#cad3f5"
    dim_foreground = "#8087a2"
    bright_foreground = "#cad3f5"
    [colors.cursor]
    text = "#24273a"
    cursor = "#f4dbd6"
    [colors.vi_mode_cursor]
    text = "#24273a"
    cursor = "#b7bdf8"
    [colors.search.matches]
    foreground = "#24273a"
    background = "#a5adcb"
    [colors.search.focused_match]
    foreground = "#24273a"
    background = "#a6da95"
    [colors.footer_bar]
    foreground = "#24273a"
    background = "#a5adcb"
    [colors.hints.start]
    foreground = "#24273a"
    background = "#eed49f"
    [colors.hints.end]
    foreground = "#24273a"
    background = "#a5adcb"
    [colors.selection]
    text = "#24273a"
    background = "#f4dbd6"
    [colors.normal]
    black = "#494d64"
    red = "#ed8796"
    green = "#a6da95"
    yellow = "#eed49f"
    blue = "#8aadf4"
    magenta = "#f5bde6"
    cyan = "#8bd5ca"
    white = "#b8c0e0"
    [colors.bright]
    black = "#5b6078"
    red = "#ed8796"
    green = "#a6da95"
    yellow = "#eed49f"
    blue = "#8aadf4"
    magenta = "#f5bde6"
    cyan = "#8bd5ca"
    white = "#a5adcb"
    [[colors.indexed_colors]]
    index = 16
    color = "#f5a97f"
    [[colors.indexed_colors]]
    index = 17
    color = "#f4dbd6"
  • file addition: catppuccin-latte.toml (----------)
    [0.437384]
    [colors.primary]
    background = "#eff1f5"
    foreground = "#4c4f69"
    dim_foreground = "#8c8fa1"
    bright_foreground = "#4c4f69"
    [colors.cursor]
    text = "#eff1f5"
    cursor = "#dc8a78"
    [colors.vi_mode_cursor]
    text = "#eff1f5"
    cursor = "#7287fd"
    [colors.search.matches]
    foreground = "#eff1f5"
    background = "#6c6f85"
    [colors.search.focused_match]
    foreground = "#eff1f5"
    background = "#40a02b"
    [colors.footer_bar]
    foreground = "#eff1f5"
    background = "#6c6f85"
    [colors.hints.start]
    foreground = "#eff1f5"
    background = "#df8e1d"
    [colors.hints.end]
    foreground = "#eff1f5"
    background = "#6c6f85"
    [colors.selection]
    text = "#eff1f5"
    background = "#dc8a78"
    [colors.normal]
    black = "#bcc0cc"
    red = "#d20f39"
    green = "#40a02b"
    yellow = "#df8e1d"
    blue = "#1e66f5"
    magenta = "#ea76cb"
    cyan = "#179299"
    white = "#5c5f77"
    [colors.bright]
    black = "#acb0be"
    red = "#d20f39"
    green = "#40a02b"
    yellow = "#df8e1d"
    blue = "#1e66f5"
    magenta = "#ea76cb"
    cyan = "#179299"
    white = "#6c6f85"
    [[colors.indexed_colors]]
    index = 16
    color = "#fe640b"
    [[colors.indexed_colors]]
    index = 17
    color = "#dc8a78"
  • file addition: catppuccin-frappe.toml (----------)
    [0.437384]
    [colors.primary]
    background = "#303446"
    foreground = "#c6d0f5"
    dim_foreground = "#838ba7"
    bright_foreground = "#c6d0f5"
    [colors.cursor]
    text = "#303446"
    cursor = "#f2d5cf"
    [colors.vi_mode_cursor]
    text = "#303446"
    cursor = "#babbf1"
    [colors.search.matches]
    foreground = "#303446"
    background = "#a5adce"
    [colors.search.focused_match]
    foreground = "#303446"
    background = "#a6d189"
    [colors.footer_bar]
    foreground = "#303446"
    background = "#a5adce"
    [colors.hints.start]
    foreground = "#303446"
    background = "#e5c890"
    [colors.hints.end]
    foreground = "#303446"
    background = "#a5adce"
    [colors.selection]
    text = "#303446"
    background = "#f2d5cf"
    [colors.normal]
    black = "#51576d"
    red = "#e78284"
    green = "#a6d189"
    yellow = "#e5c890"
    blue = "#8caaee"
    magenta = "#f4b8e4"
    cyan = "#81c8be"
    white = "#b5bfe2"
    [colors.bright]
    black = "#626880"
    red = "#e78284"
    green = "#a6d189"
    yellow = "#e5c890"
    blue = "#8caaee"
    magenta = "#f4b8e4"
    cyan = "#81c8be"
    white = "#a5adce"
    [[colors.indexed_colors]]
    index = 16
    color = "#ef9f76"
    [[colors.indexed_colors]]
    index = 17
    color = "#f2d5cf"
  • file addition: afew (d--r------)
    [0.11640]
  • file addition: config (----------)
    [0.446323]
    # This is the default filter chain
    [SpamFilter]
    [KillThreadsFilter]
    [ListMailsFilter]
    [ArchiveSentMailsFilter]
    # Disable default behavior (all message not spam and not 'killed' have the inbox tag)
    # [InboxFilter]
    # Assume afew is run with --new
    [Filter.1]
    message = 'Remove new tag for archived and trashed mail'
    query = folder:Archives OR tag:archive OR folder:Trash or tag:deleted
    tags = -new;+archive
    [MailMover]
    folders = INBOX Archives
    rename = True
    # rules
    # Assume afew is run with --new
    INBOX = 'tag:deleted':Trash 'tag:archive':Archives
    Archives = 'tag:deleted':Trash
  • file addition: dot_bashrc (----------)
    [2.1]
    #!/usr/bin/env bash
    PATH=$PATH:/usr/bin
    # Test for an interactive shell. There is no need to set anything
    # past this point for scp and rcp, and it's important to refrain from
    # outputting anything in those cases.
    if [[ $- != *i* ]]; then
    # Shell is non-interactive. Be done now!
    return
    fi
    # Put your fun stuff here.
    export NIX_PATH=/home/alex/.nix-defexpr/channels:/nix/var/nix/profiles/per-user/root/channels
    # Japanase with anthy
    export GTK_IM_MODULE=ibus
    export XMODIFIERS=@im=ibus
    export QT_IM_MODULE=ibus
  • file addition: dot_bash_profile (----------)
    [2.1]
    # /etc/skel/.bash_profile
    # This file is sourced by bash for login shells. The following line
    # runs your .bashrc and is recommended by the bash info pages.
    if [[ -f ~/.bashrc ]]; then
    . ~/.bashrc
    fi
    . "$HOME/.local/share/../bin/env"
    # Started from systemd
    export SSH_AUTH_SOCK=/run/user/1000/ssh-agent.socket
    ssh-add $HOME/.ssh/id_rsa
  • file addition: dot_Xresources (----------)
    [2.1]
    *faceSize:10
    ! +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    ! title Nord XResources +
    ! project nord-xresources +
    ! version 0.1.0 +
    ! repository https://github.com/arcticicestudio/nord-xresources +
    ! author Arctic Ice Studio +
    ! email development@arcticicestudio.com +
    ! copyright Copyright (C) 2016 +
    ! +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    #define nord0 #2E3440
    #define nord1 #3B4252
    #define nord2 #434C5E
    #define nord3 #4C566A
    #define nord4 #D8DEE9
    #define nord5 #E5E9F0
    #define nord6 #ECEFF4
    #define nord7 #8FBCBB
    #define nord8 #88C0D0
    #define nord9 #81A1C1
    #define nord10 #5E81AC
    #define nord11 #BF616A
    #define nord12 #D08770
    #define nord13 #EBCB8B
    #define nord14 #A3BE8C
    #define nord15 #B48EAD
    *.foreground: nord4
    *.background: nord0
    *.cursorColor: nord4
    *fading: 0
    *fadeColor: nord3
    *.color0: nord1
    *.color1: nord11
    *.color2: nord14
    *.color3: nord13
    *.color4: nord9
    *.color5: nord15
    *.color6: nord8
    *.color7: nord5
    *.color8: nord3
    *.color9: nord11
    *.color10: nord14
    *.color11: nord13
    *.color12: nord9
    *.color13: nord15
    *.color14: nord7
    *.color15: nord6
  • file addition: cli.nix (----------)
    [2.1]
    # List of usefull packages to install with nix
    with import <nixpkgs>{};
    [
    bat
    du-dust
    exa
    fd
    ncftp
    procs
    ripgrep
    sd
    starship
    vivid
    zoxide
    ]
  • file addition: .ignore (----------)
    [2.1]
    .git
    .DS_Store
  • file addition: .chezmoi.toml.tmpl (----------)
    [2.1]
    {{ if eq .chezmoi.os "freebsd" }}
    destDir = "/usr/home/alex"
    {{ end }}
    encryption = "age"
    [age]
    {{ if eq .chezmoi.os "freebsd" }}
    identity = "/usr/home/alex/.key.txt"
    {{ else if eq .chezmoi.os "linux" }}
    identity = "/home/alex/.key.txt"
    {{ else }}
    identity = "~/.key.txt"
    {{ end }}
    recipient = "age1z8ghfrl9mw0plvkj2t070smlafj6qwlz8hrwffs2asrp64sydgfs0awkfn"