diff options
Diffstat (limited to '')
72 files changed, 6047 insertions, 71 deletions
diff --git a/mirenn/channels.scm b/mirenn/channels.scm new file mode 100644 index 0000000..6b74de2 --- /dev/null +++ b/mirenn/channels.scm @@ -0,0 +1,12 @@ +(define-module (mirenn channels) + #:use-module (guix channels)) + +(cons* (channel + (name 'nonguix) + (url "https://gitlab.com/nonguix/nonguix") + (introduction + (make-channel-introduction + "897c1a470da759236cc11798f4e0a5f7d4d59fbc" + (openpgp-fingerprint + "2A39 3FFF 68F4 EF7A 3D29 12AF 6F51 20A0 22FB B2D5")))) + %default-channels) diff --git a/mirenn/home.scm b/mirenn/home.scm new file mode 100644 index 0000000..9cdc93e --- /dev/null +++ b/mirenn/home.scm @@ -0,0 +1,102 @@ +(define-module (mirenn home)) + +(use-modules (gnu packages) + (gnu packages window-management) + (gnu packages finance) + (gnu home) + (gnu home services) + (gnu home services shells) + (gnu home services niri) + (gnu home services ssh) + (gnu home services shepherd) + (gnu home services xdg) + (gnu home services dotfiles) + (mirenn home services brightnessctl) + (mirenn home services timer) + (guix gexp)) + +(home-environment + (packages (specifications->packages + (list + "foot" "waybar" "mako" + "rofi" "swaybg" "swaylock-effects" + "wallust" "swayidle" "libnotify" + "wl-clipboard" "wev" "fzf" + "fish" "neovim" "bat" + "btop" "fd" "ripgrep" + "zoxide" "trash-cli" "brightnessctl" + "pamixer" "pulsemixer" "sshfs" + "sshfs" "python-yubikey-manager" "libsixel" + "xdg-utils" "lazygit" "emacs" + + "font-cica" "font-nerd-symbols" "font-google-noto-emoji" + "papirus-icon-theme" + + "git" "git-lfs" "fastfetch" + "hyperfine" "rsync" "yt-dlp" + "mpv" "feh" "icecat" + "nautilus" "bzmenu" "icedove-wayland" + "trezord" "monero-gui" "steam" + "telegram-desktop" "ardour" + "zoom"))) + (services (cons* (service home-fish-service-type + (home-fish-configuration + (environment-variables + '(("EDITOR" . "nvim"))))) + (service home-xdg-mime-applications-service-type) + (service home-niri-service-type) + (service home-brightnessctl-service-type) + (service home-timer-service-type + (home-timer-configuration + (name 'random-wallpaper) + (script (local-file "home/files/dotfiles/.config/scripts/set_random")) + (arguments '("~/Pictures/Backgrounds/")) + (delay 3600))) + (service home-openssh-service-type + (home-openssh-configuration + (hosts + (list + (openssh-host + (name "github") + (user "git") + (host-name "github.com") + (extra-content " PreferredAuthentications publickey") + (identity-file "~/.ssh/zenbook")) + (openssh-host + (name "codeberg") + (user "git") + (host-name "codeberg.org") + (extra-content " PreferredAuthentications publickey") + (identity-file "~/.ssh/yubikey_sk")) + (openssh-host + (name "pve1") + (user "root") + (host-name "192.168.0.3") + (extra-content " PreferredAuthentications publickey") + (identity-file "~/.ssh/yubikey_sk") + (environment-variables + '(("TERM" . "xterm"))) + (control-master 'auto) + (control-file-name "~/.ssh/yubikey_sk-%r@%h:%p") + (control-persist "5m")) + (openssh-host + (name "cgit") + (user "git") + (host-name "192.168.0.5") + (extra-content " PreferredAuthentications publickey") + (identity-file "~/.ssh/yubikey_sk") + (environment-variables + '(("TERM" . "xterm"))) + (control-master 'auto) + (control-file-name "~/.ssh/yubikey_sk-%r@%h:%p") + (control-persist "5m")) + (openssh-host + (name "desktop") + (user "eric") + (host-name "100.64.0.7") + (extra-content " PreferredAuthentications publickey") + (identity-file "~/.ssh/zenbook")))))) + (service home-dotfiles-service-type + (home-dotfiles-configuration + (directories '("home/files/dotfiles")))) + %base-home-services))) diff --git a/mirenn/home/files/dotfiles/.config/btop/btop.conf b/mirenn/home/files/dotfiles/.config/btop/btop.conf new file mode 100644 index 0000000..d6e4c59 --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/btop/btop.conf @@ -0,0 +1,286 @@ +#? Config file for btop v.1.4.7 + +#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes. +#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes" +color_theme = "TTY" + +#* If the theme set background should be shown, set to False if you want terminal background transparency. +theme_background = false + +#* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false. +truecolor = true + +#* Set to true to force tty mode regardless if a real tty has been detected or not. +#* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols. +force_tty = false + +#* Option to disable presets. Either the default preset, custom presets, or all presets. +#* "Off" All presets are enabled. +#* "Default" preset is disabled.#* "Custom" presets are disabled.#* "All" presets are disabled. +disable_presets = "Off" + +#* Define presets for the layout of the boxes. Preset 0 is always all boxes shown with default settings. Max 9 presets. +#* Format: "box_name:P:G,box_name:P:G" P=(0 or 1) for alternate positions, G=graph symbol to use for box. +#* Use whitespace " " as separator between different presets. +#* Example: "cpu:0:default,mem:0:tty,proc:1:default cpu:0:braille,proc:0:tty" +presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:default cpu:0:block,net:0:tty" + +#* Set to True to enable "h,j,k,l,g,G" keys for directional control in lists. +#* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift. +vim_keys = false + +#* Disable all mouse events. +disable_mouse = false + +#* Rounded corners on boxes, is ignored if TTY mode is ON. +rounded_corners = false + +#* Use terminal synchronized output sequences to reduce flickering on supported terminals. +terminal_sync = true + +#* Default symbols to use for graph creation, "braille", "block" or "tty". +#* "braille" offers the highest resolution but might not be included in all fonts. +#* "block" has half the resolution of braille but uses more common characters. +#* "tty" uses only 3 different symbols but will work with most fonts and should work in a real TTY. +#* Note that "tty" only has half the horizontal resolution of the other two, so will show a shorter historical view. +graph_symbol = "braille" + +# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". +graph_symbol_cpu = "default" + +# Graph symbol to use for graphs in gpu box, "default", "braille", "block" or "tty". +graph_symbol_gpu = "default" + +# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". +graph_symbol_mem = "default" + +# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". +graph_symbol_net = "default" + +# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty". +graph_symbol_proc = "default" + +#* Manually set which boxes to show. Available values are "cpu mem net proc" and "gpu0" through "gpu5", separate values with whitespace. +shown_boxes = "proc cpu mem net" + +#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs. +update_ms = 1000 + +#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct", +#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly. +proc_sorting = "cpu lazy" + +#* Reverse sorting order, True or False. +proc_reversed = false + +#* Show processes as a tree. +proc_tree = false + +#* Use the cpu graph colors in the process list. +proc_colors = true + +#* Use a darkening gradient in the process list. +proc_gradient = true + +#* If process cpu usage should be of the core it's running on or usage of the total available cpu power. +proc_per_core = true + +#* Show process memory as bytes instead of percent. +proc_mem_bytes = true + +#* Show cpu graph for each process. +proc_cpu_graphs = true + +#* Use /proc/[pid]/smaps for memory information in the process info box (very slow but more accurate) +proc_info_smaps = false + +#* Show proc box on left side of screen instead of right. +proc_left = false + +#* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop). +proc_filter_kernel = false + +#* Should the process list follow the selected process when detailed view is open. +proc_follow_detailed = true + +#* In tree-view, always accumulate child process resources in the parent process. +proc_aggregate = false + +#* Should cpu and memory usage display be preserved for dead processes when paused. +keep_dead_proc_usage = false + +#* Sets the CPU stat shown in upper half of the CPU graph, "total" is always available. +#* Select from a list of detected attributes from the options menu. +cpu_graph_upper = "total" + +#* Sets the CPU stat shown in lower half of the CPU graph, "total" is always available. +#* Select from a list of detected attributes from the options menu. +cpu_graph_lower = "total" + +#* If gpu info should be shown in the cpu box. Available values = "Auto", "On" and "Off". +show_gpu_info = "Auto" + +#* Toggles if the lower CPU graph should be inverted. +cpu_invert_lower = true + +#* Set to True to completely disable the lower CPU graph. +cpu_single_graph = true + +#* Show cpu box at bottom of screen instead of top. +cpu_bottom = false + +#* Shows the system uptime in the CPU box. +show_uptime = true + +#* Shows the CPU package current power consumption in watts. Requires running `make setcap` or `make setuid` or running with sudo. +show_cpu_watts = true + +#* Show cpu temperature. +check_temp = true + +#* Which sensor to use for cpu temperature, use options menu to select from list of available sensors. +cpu_sensor = "Auto" + +#* Show temperatures for cpu cores also if check_temp is True and sensors has been found. +show_coretemp = true + +#* Set a custom mapping between core and coretemp, can be needed on certain cpus to get correct temperature for correct core. +#* Use lm-sensors or similar to see which cores are reporting temperatures on your machine. +#* Format "x:y" x=core with wrong temp, y=core with correct temp, use space as separator between multiple entries. +#* Example: "4:0 5:1 6:3" +cpu_core_map = "" + +#* Which temperature scale to use, available values: "celsius", "fahrenheit", "kelvin" and "rankine". +temp_scale = "celsius" + +#* Use base 10 for bits/bytes sizes, KB = 1000 instead of KiB = 1024. +base_10_sizes = false + +#* Show CPU frequency. +show_cpu_freq = true + +#* How to calculate CPU frequency, available values: "first", "range", "lowest", "highest" and "average". +freq_mode = "first" + +#* Draw a clock at top of screen, formatting according to strftime, empty string to disable. +#* Special formatting: /host = hostname | /user = username | /uptime = system uptime +clock_format = "%H:%M" + +#* Update main ui in background when menus are showing, set this to false if the menus is flickering too much for comfort. +background_update = true + +#* Custom cpu model name, empty string to disable. +custom_cpu_name = "" + +#* Optional filter for shown disks, should be full path of a mountpoint, separate multiple values with whitespace " ". +#* Only disks matching the filter will be shown. Prepend exclude= to only show disks not matching the filter. Examples: disk_filter="/boot /home/user", disks_filter="exclude=/boot /home/user" +disks_filter = "exclude=/boot" + +#* Show graphs instead of meters for memory values. +mem_graphs = true + +#* Show mem box below net box instead of above. +mem_below_net = false + +#* Count ZFS ARC in cached and available memory. +zfs_arc_cached = true + +#* If swap memory should be shown in memory box. +show_swap = true + +#* Show swap as a disk, ignores show_swap value above, inserts itself after first disk. +swap_disk = true + +#* If mem box should be split to also show disks info. +show_disks = true + +#* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar. +only_physical = true + +#* Read disks list from /etc/fstab. This also disables only_physical. +use_fstab = false + +#* Setting this to True will hide all datasets, and only show ZFS pools. (IO stats will be calculated per-pool) +zfs_hide_datasets = false + +#* Set to true to show available disk space for privileged users. +disk_free_priv = false + +#* Toggles if io activity % (disk busy time) should be shown in regular disk usage view. +show_io_stat = true + +#* Toggles io mode for disks, showing big graphs for disk read/write speeds. +io_mode = false + +#* Set to True to show combined read/write io graphs in io mode. +io_graph_combined = false + +#* Set the top speed for the io graphs in MiB/s (100 by default), use format "mountpoint:speed" separate disks with whitespace " ". +#* Example: "/mnt/media:100 /:20 /boot:1". +io_graph_speeds = "" + +#* Swap the positions of the upload and download speed graphs. When true, upload will be on top. +swap_upload_download = false + +#* Set fixed values for network graphs in Mebibits. Is only used if net_auto is also set to False. +net_download = 100 + +net_upload = 100 + +#* Use network graphs auto rescaling mode, ignores any values set above and rescales down to 10 Kibibytes at the lowest. +net_auto = true + +#* Sync the auto scaling for download and upload to whichever currently has the highest scale. +net_sync = true + +#* Starts with the Network Interface specified here. +net_iface = "br0" + +#* "True" shows bitrates in base 10 (Kbps, Mbps). "False" shows bitrates in binary sizes (Kibps, Mibps, etc.). "Auto" uses base_10_sizes. +base_10_bitrate = "Auto" + +#* Show battery stats in top right if battery is present. +show_battery = true + +#* Which battery to use if multiple are present. "Auto" for auto detection. +selected_battery = "Auto" + +#* Show power stats of battery next to charge indicator. +show_battery_watts = true + +#* Set loglevel for "~/.local/state/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG". +#* The level set includes all lower levels, i.e. "DEBUG" will show all logging info. +log_level = "DEBUG" + +#* Automatically save current settings to config file on exit. +save_config_on_exit = true + +#* Measure PCIe throughput on NVIDIA cards, may impact performance on certain cards. +nvml_measure_pcie_speeds = true + +#* Measure PCIe throughput on AMD cards, may impact performance on certain cards. +rsmi_measure_pcie_speeds = true + +#* Horizontally mirror the GPU graph. +gpu_mirror_graph = true + +#* Set which GPU vendors to show. Available values are "nvidia amd intel apple" +shown_gpus = "nvidia amd intel" + +#* Custom gpu0 model name, empty string to disable. +custom_gpu_name0 = "" + +#* Custom gpu1 model name, empty string to disable. +custom_gpu_name1 = "" + +#* Custom gpu2 model name, empty string to disable. +custom_gpu_name2 = "" + +#* Custom gpu3 model name, empty string to disable. +custom_gpu_name3 = "" + +#* Custom gpu4 model name, empty string to disable. +custom_gpu_name4 = "" + +#* Custom gpu5 model name, empty string to disable. +custom_gpu_name5 = "" diff --git a/fastfetch/config.jsonc b/mirenn/home/files/dotfiles/.config/fastfetch/config.jsonc index 472ad13..bfebe37 100644 --- a/fastfetch/config.jsonc +++ b/mirenn/home/files/dotfiles/.config/fastfetch/config.jsonc @@ -1,9 +1,9 @@ // _____ _____ _____ _____ _____ _____ _____ _____ _____ // | __| _ | __|_ _| __| __|_ _| | | | // | __| |__ | | | | __| __| | | | --| | -// |__| |__|__|_____| |_| |__| |_____| |_| |_____|__|__| ARCH +// |__| |__|__|_____| |_| |__| |_____| |_| |_____|__|__| GUIX // -// by Bina, modified by eric-marin +// by Bina, modified by mirenn // execute with: fastfetch --colors-block-range-start 9 --colors-block-width 3 @@ -11,7 +11,7 @@ { "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json", "logo": { - "source": "arch_small", + "source": "guix_small", "padding": { "top": 1, } @@ -37,39 +37,40 @@ }, { "type": "packages", - "format": "{} (pacman)", + "format": "{guix-all} (guix)", + "combined": true, "key": " ", - "keyColor": "32", + "keyColor": "32", }, { "type": "shell", "key": " ", - "keyColor": "33", + "keyColor": "33", }, { "type": "terminal", "key": " ", - "keyColor": "34", + "keyColor": "34", }, { "type": "wm", "key": " ", - "keyColor": "35", + "keyColor": "35", }, { "type": "uptime", "key": " ", - "keyColor": "36", + "keyColor": "36", }, { "type": "media", "key": " ", - "keyColor": "37", + "keyColor": "37", }, "break", { - "type": "custom", - "format": "\u001b[90m \u001b[31m \u001b[32m \u001b[33m \u001b[34m \u001b[35m \u001b[36m" - }, + "type": "colors", + "block": { "width": 3, "range": [8, 15]} + } ] } diff --git a/mirenn/home/files/dotfiles/.config/fish/conf.d/interactive.fish b/mirenn/home/files/dotfiles/.config/fish/conf.d/interactive.fish new file mode 100644 index 0000000..8f82c33 --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/fish/conf.d/interactive.fish @@ -0,0 +1,5 @@ +if status is-interactive + fish_add_path -p ~/.cargo/bin ~/.ghcup/bin + set -g fish_greeting + zoxide init fish | source +end diff --git a/fish/conf.d/fish_frozen_theme.fish b/mirenn/home/files/dotfiles/.config/fish/conf.d/theme.fish index 59c07df..9b5e536 100644 --- a/fish/conf.d/fish_frozen_theme.fish +++ b/mirenn/home/files/dotfiles/.config/fish/conf.d/theme.fish @@ -1,13 +1,3 @@ -# This file was created by fish when upgrading to version 4.3, to migrate -# theme variables from universal to global scope. -# Don't edit this file, as it will be written by the web-config tool (`fish_config`). -# To customize your theme, delete this file and see -# help interactive#syntax-highlighting -# or -# man fish-interactive | less +/^SYNTAX.HIGHLIGHTING -# for appropriate commands to add to ~/.config/fish/config.fish instead. -# See also the release notes for fish 4.3.0 (run `help relnotes`). - set --global fish_color_autosuggestion brblack set --global fish_color_cancel --reverse set --global fish_color_command blue diff --git a/fish/functions/cat.fish b/mirenn/home/files/dotfiles/.config/fish/functions/cat.fish index 73b5541..73b5541 100644 --- a/fish/functions/cat.fish +++ b/mirenn/home/files/dotfiles/.config/fish/functions/cat.fish diff --git a/mirenn/home/files/dotfiles/.config/fish/functions/fish_prompt.fish b/mirenn/home/files/dotfiles/.config/fish/functions/fish_prompt.fish new file mode 100644 index 0000000..e0df61e --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/fish/functions/fish_prompt.fish @@ -0,0 +1,7 @@ +function fish_prompt + printf (if fish_is_root_user + echo '%s%s%s # ' + else + echo '%s%s%s $ ' + end) (set_color $fish_color_cwd) (prompt_pwd --full-length-dirs 5) (set_color normal) +end diff --git a/fish/functions/rm.fish b/mirenn/home/files/dotfiles/.config/fish/functions/rm.fish index 7d8fe20..7d8fe20 100644 --- a/fish/functions/rm.fish +++ b/mirenn/home/files/dotfiles/.config/fish/functions/rm.fish diff --git a/fish/functions/shrekfetch.fish b/mirenn/home/files/dotfiles/.config/fish/functions/shrekfetch.fish index 191c64f..191c64f 100644 --- a/fish/functions/shrekfetch.fish +++ b/mirenn/home/files/dotfiles/.config/fish/functions/shrekfetch.fish diff --git a/nvim/.luarc.json b/mirenn/home/files/dotfiles/.config/nvim/.luarc.json index 3f7714a..3f7714a 100644 --- a/nvim/.luarc.json +++ b/mirenn/home/files/dotfiles/.config/nvim/.luarc.json diff --git a/nvim/init.lua b/mirenn/home/files/dotfiles/.config/nvim/init.lua index dbc863e..dbc863e 100644 --- a/nvim/init.lua +++ b/mirenn/home/files/dotfiles/.config/nvim/init.lua diff --git a/nvim/lua/config/globals.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/config/globals.lua index 6ef2cd8..6ef2cd8 100644 --- a/nvim/lua/config/globals.lua +++ b/mirenn/home/files/dotfiles/.config/nvim/lua/config/globals.lua diff --git a/nvim/lua/config/init.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/config/init.lua index 03722bd..03722bd 100644 --- a/nvim/lua/config/init.lua +++ b/mirenn/home/files/dotfiles/.config/nvim/lua/config/init.lua diff --git a/nvim/lua/config/keymaps.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/config/keymaps.lua index d81308d..d81308d 100644 --- a/nvim/lua/config/keymaps.lua +++ b/mirenn/home/files/dotfiles/.config/nvim/lua/config/keymaps.lua diff --git a/nvim/lua/config/lazy.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/config/lazy.lua index 7dcfac6..135704c 100644 --- a/nvim/lua/config/lazy.lua +++ b/mirenn/home/files/dotfiles/.config/nvim/lua/config/lazy.lua @@ -40,7 +40,8 @@ local opts = { }, checker = { enabled = true, - } + }, + lockfile = vim.fn.stdpath("state") .. "/lazy-lock.json", } require("lazy").setup("plugins", opts) diff --git a/nvim/lua/config/options.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/config/options.lua index e465418..e465418 100644 --- a/nvim/lua/config/options.lua +++ b/mirenn/home/files/dotfiles/.config/nvim/lua/config/options.lua diff --git a/nvim/lua/plugins/comment.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/comment.lua index 559fd3c..559fd3c 100644 --- a/nvim/lua/plugins/comment.lua +++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/comment.lua diff --git a/nvim/lua/plugins/gitsigns.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/gitsigns.lua index 2df9a2e..2df9a2e 100644 --- a/nvim/lua/plugins/gitsigns.lua +++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/gitsigns.lua diff --git a/nvim/lua/plugins/indent-blankline.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/indent-blankline.lua index af9cff8..af9cff8 100644 --- a/nvim/lua/plugins/indent-blankline.lua +++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/indent-blankline.lua diff --git a/nvim/lua/plugins/lazy.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/lazy.lua index d48db7e..d48db7e 100644 --- a/nvim/lua/plugins/lazy.lua +++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/lazy.lua diff --git a/nvim/lua/plugins/lazydev.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/lazydev.lua index 704d963..704d963 100644 --- a/nvim/lua/plugins/lazydev.lua +++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/lazydev.lua diff --git a/nvim/lua/plugins/lspsaga.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/lspsaga.lua index 86e949f..86e949f 100644 --- a/nvim/lua/plugins/lspsaga.lua +++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/lspsaga.lua diff --git a/nvim/lua/plugins/lualine.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/lualine.lua index 495822e..495822e 100644 --- a/nvim/lua/plugins/lualine.lua +++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/lualine.lua diff --git a/nvim/lua/plugins/mini-starter.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/mini-starter.lua index 67aae04..67aae04 100644 --- a/nvim/lua/plugins/mini-starter.lua +++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/mini-starter.lua diff --git a/nvim/lua/plugins/neopywal.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/neopywal.lua index 7c37dbe..7c37dbe 100644 --- a/nvim/lua/plugins/neopywal.lua +++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/neopywal.lua diff --git a/nvim/lua/plugins/neorg.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/neorg.lua index 528fc73..b6480b8 100644 --- a/nvim/lua/plugins/neorg.lua +++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/neorg.lua @@ -117,6 +117,7 @@ end return { "nvim-neorg/neorg", + enabled = false, lazy = true, ft = "norg", cmd = "Neorg", diff --git a/nvim/lua/plugins/noice.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/noice.lua index 43a12b2..43a12b2 100644 --- a/nvim/lua/plugins/noice.lua +++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/noice.lua diff --git a/nvim/lua/plugins/nvim-autopairs.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/nvim-autopairs.lua index d92a8cc..d92a8cc 100644 --- a/nvim/lua/plugins/nvim-autopairs.lua +++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/nvim-autopairs.lua diff --git a/nvim/lua/plugins/nvim-cmp.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/nvim-cmp.lua index b7d71a3..b7d71a3 100644 --- a/nvim/lua/plugins/nvim-cmp.lua +++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/nvim-cmp.lua diff --git a/nvim/lua/plugins/nvim-lspconfig.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/nvim-lspconfig.lua index 4c69816..4c69816 100644 --- a/nvim/lua/plugins/nvim-lspconfig.lua +++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/nvim-lspconfig.lua diff --git a/nvim/lua/plugins/nvim-treesitter.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/nvim-treesitter.lua index c053e84..15d88b1 100644 --- a/nvim/lua/plugins/nvim-treesitter.lua +++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/nvim-treesitter.lua @@ -17,7 +17,8 @@ local config = function() enable = true, }, } - require("nvim-treesitter").install { + + local parsers = { "c", "lua", "markdown", @@ -41,12 +42,13 @@ local config = function() "fish", "kdl", } + -- require("nvim-treesitter").install(parsers) end return { "nvim-treesitter/nvim-treesitter", lazy = false, branch = "main", - build = ":TSUpdate", + -- build = ":TSUpdate", config = config } diff --git a/nvim/lua/plugins/oil.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/oil.lua index 0d90db2..0d90db2 100644 --- a/nvim/lua/plugins/oil.lua +++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/oil.lua diff --git a/nvim/lua/plugins/parinfer-rust.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/parinfer-rust.lua index 2b31d8a..2b31d8a 100644 --- a/nvim/lua/plugins/parinfer-rust.lua +++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/parinfer-rust.lua diff --git a/nvim/lua/plugins/telescope.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/telescope.lua index 0f6d853..0f6d853 100644 --- a/nvim/lua/plugins/telescope.lua +++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/telescope.lua diff --git a/nvim/lua/plugins/todo-comments.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/todo-comments.lua index 1ae4a83..1ae4a83 100644 --- a/nvim/lua/plugins/todo-comments.lua +++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/todo-comments.lua diff --git a/nvim/lua/plugins/toggleterm.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/toggleterm.lua index 9bd1b78..9bd1b78 100644 --- a/nvim/lua/plugins/toggleterm.lua +++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/toggleterm.lua diff --git a/nvim/lua/plugins/vim-highlightedyank.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/vim-highlightedyank.lua index 9405e9e..9405e9e 100644 --- a/nvim/lua/plugins/vim-highlightedyank.lua +++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/vim-highlightedyank.lua diff --git a/nvim/lua/plugins/vim-illuminate.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/vim-illuminate.lua index f44b6c9..f44b6c9 100644 --- a/nvim/lua/plugins/vim-illuminate.lua +++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/vim-illuminate.lua diff --git a/nvim/lua/plugins/which-key.lua b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/which-key.lua index 4e391f9..4e391f9 100644 --- a/nvim/lua/plugins/which-key.lua +++ b/mirenn/home/files/dotfiles/.config/nvim/lua/plugins/which-key.lua diff --git a/scripts/powermenu b/mirenn/home/files/dotfiles/.config/scripts/powermenu index ef68e29..d118a69 100755 --- a/scripts/powermenu +++ b/mirenn/home/files/dotfiles/.config/scripts/powermenu @@ -1,4 +1,5 @@ -#!/usr/bin/fish +#!/usr/bin/env fish + set poweroff "" set reboot "" set lock "" @@ -10,17 +11,17 @@ set chosen (echo -e "$poweroff\n$reboot\n$lock\n$exit\n$sleep\n$hibernate" | rof switch $chosen case $poweroff - shutdown now + loginctl poweroff case $reboot - reboot + loginctl reboot case $lock loginctl lock-session case $exit niri msg action quit case $sleep - systemctl suspend + loginctl suspend case $hibernate - systemctl hibernate + loginctl hibernate case '*' exit 1 end diff --git a/scripts/set_background b/mirenn/home/files/dotfiles/.config/scripts/set_background index 0dd7347..7fea3d9 100755 --- a/scripts/set_background +++ b/mirenn/home/files/dotfiles/.config/scripts/set_background @@ -1,7 +1,8 @@ -#!/usr/bin/fish +#!/usr/bin/env fish + if test (count $argv) -lt 1; or not test -f $argv[1] - echo "Usage: $(status filename) <img>" - exit 1 + echo "Usage: $(status filename) <img>" + exit 1 end wallust run $argv[1] -Ts; and begin diff --git a/scripts/set_random b/mirenn/home/files/dotfiles/.config/scripts/set_random index 6c4a76d..33cf267 100755 --- a/scripts/set_random +++ b/mirenn/home/files/dotfiles/.config/scripts/set_random @@ -1,8 +1,8 @@ -#!/usr/bin/fish +#!/usr/bin/env fish if test (count $argv) -lt 1; or not test -d $argv[1] - echo "Usage: $(status filename) <dir>" - exit 1 + echo "Usage: $(status filename) <dir>" + exit 1 end ~/.config/scripts/set_background "$(fd -a -t f -d 1 -E "$(basename "$IMG")" -e jpg -e png -e webp . "$argv[1]" | shuf -n1)" diff --git a/mirenn/home/files/dotfiles/.config/scripts/wallpapermenu b/mirenn/home/files/dotfiles/.config/scripts/wallpapermenu new file mode 100755 index 0000000..2d6e1a8 --- /dev/null +++ b/mirenn/home/files/dotfiles/.config/scripts/wallpapermenu @@ -0,0 +1,12 @@ +#!/usr/bin/env fish + +if test (count $argv) -lt 1; or not test -d $argv[1] + echo "Usage: $(status filename) <dir>" + exit 1 +end + +~/.config/scripts/set_background ( + for file in (fd -a -t f -d 1 -E "$(basename "$IMG")" -e jpg -e png -e webp . "$argv[1]") + echo -en "$file\0icon\x1fthumbnail://$file\n" + end | rofi -dmenu -p " " -show-icons -theme ~/.config/rofi/wallpapermenu.rasi +) diff --git a/swayidle/config b/mirenn/home/files/dotfiles/.config/swayidle/config index 1157d55..d6ba83a 100644 --- a/swayidle/config +++ b/mirenn/home/files/dotfiles/.config/swayidle/config @@ -2,4 +2,4 @@ lock 'physlock -l ; swaylock -fe ; physlock -L' before-sleep 'loginctl lock-session ; niri msg output eDP-1 off' after-resume 'niri msg output eDP-1 on' timeout 300 'brightnessctl -se set 10%' resume 'brightnessctl -r' -timeout 360 'systemctl suspend' +timeout 360 'loginctl suspend' diff --git a/wallust/templates/foot b/mirenn/home/files/dotfiles/.config/wallust/templates/foot index 09f97ed..6dfe5e6 100644 --- a/wallust/templates/foot +++ b/mirenn/home/files/dotfiles/.config/wallust/templates/foot @@ -1,7 +1,6 @@ -font=Hack Nerd Font:size=10,Sazanami Gothic:size=10,Noto Color Emoji:size=10 +font=Cica:size=10 pad=10x10x10x10 center dpi-aware=yes -term=foot-extra [cursor] style=block diff --git a/wallust/templates/mako b/mirenn/home/files/dotfiles/.config/wallust/templates/mako index 0211d7c..e06ab00 100644 --- a/wallust/templates/mako +++ b/mirenn/home/files/dotfiles/.config/wallust/templates/mako @@ -5,7 +5,7 @@ border-color={{color2}} border-radius=0 default-timeout=5000 ignore-timeout=1 -font=Noto Color Emoji 10, Sazanami Gothic 10, Hack Nerd Font 10 +font=Cica 10 text-color={{foreground}} outer-margin=0,5,15,0 anchor=bottom-right diff --git a/wallust/templates/niri b/mirenn/home/files/dotfiles/.config/wallust/templates/niri index b2e7812..95760b9 100644 --- a/wallust/templates/niri +++ b/mirenn/home/files/dotfiles/.config/wallust/templates/niri @@ -1,6 +1,8 @@ prefer-no-csd screenshot-path "~/Pictures/Screenshots/%Y%m%d-%H%M%S.png" spawn-sh-at-startup "fish -c 'swaybg -i $IMG &'" +spawn-at-startup "waybar" +spawn-at-startup "swayidle" "-w" environment { QT_QPA_PLATFORM "wayland" @@ -120,24 +122,24 @@ animations { window-resize { spring damping-ratio=0.75 stiffness=250 epsilon=0.0001 } - window-open { - duration-ms 500 - curve "ease-out-expo" + window-open { + duration-ms 250 + curve "ease-out-quad" custom-shader r" - // Fall from Top - vec4 open_color(vec3 coords_geo, vec3 size_geo) { - float progress = niri_clamped_progress * niri_clamped_progress; - vec2 coords = (coords_geo.xy - vec2(0.5, 0.0)) * size_geo.xy; - coords.y += (1.0 - progress) * 1440.0; - float random = (niri_random_seed - 0.5) / 2.0; - random = sign(random) - random; - float max_angle = 0.5 * random; - float angle = (1.0 - progress) * max_angle; - mat2 rotate = mat2(cos(angle), -sin(angle), sin(angle), cos(angle)); - coords = rotate * coords; - coords_geo = vec3(coords / size_geo.xy + vec2(0.5, 0.0), 1.0); + vec4 zoom_in(vec3 coords_geo, vec3 size_geo) { + float progress = niri_clamped_progress; + float scale = progress; + vec2 coords = (coords_geo.xy - vec2(0.5, 0.5)) * size_geo.xy; + coords = coords / scale; + coords_geo = vec3(coords / size_geo.xy + vec2(0.5, 0.5), 1.0); vec3 coords_tex = niri_geo_to_tex * coords_geo; - return texture2D(niri_tex, coords_tex.st); + vec4 color = texture2D(niri_tex, coords_tex.st); + color.a *= progress; + + return color; + } + vec4 open_color(vec3 coords_geo, vec3 size_geo) { + return zoom_in(coords_geo, size_geo); } " } @@ -196,13 +198,13 @@ switch-events { binds { Mod+Backslash { show-hotkey-overlay; } - Mod+Return hotkey-overlay-title="Spawn Terminal" { spawn "foot"; } - Mod+Space hotkey-overlay-title="Spawn Applauncher" { spawn "rofi" "-show" "drun" "-theme" "~/.config/rofi/applauncher.rasi"; } - Mod+Escape hotkey-overlay-title="Spawn Powermenu" { spawn "~/.config/scripts/powermenu"; } - Mod+W hotkey-overlay-title="Spawn Wallpapermenu" { spawn-sh "~/.config/scripts/wallpapermenu ~/Pictures/Backgrounds/"; } - Mod+Shift+W hotkey-overlay-title="Random Wallpaper" { spawn-sh "~/.config/scripts/set_random ~/Pictures/Backgrounds/"; } - Mod+Alt+W { spawn-sh "~/.config/scripts/wallpapermenu ~/Pictures/Backgrounds/Alt/"; } - Mod+Alt+Shift+W { spawn-sh "~/.config/scripts/set_random ~/Pictures/Backgrounds/Alt/"; } + Mod+Return hotkey-overlay-title="Spawn Terminal" { spawn "foot"; } + Mod+Space hotkey-overlay-title="Spawn Applauncher" { spawn "rofi" "-show" "drun" "-theme" "~/.config/rofi/applauncher.rasi"; } + Mod+Escape hotkey-overlay-title="Spawn Powermenu" { spawn "~/.config/scripts/powermenu"; } + Mod+W hotkey-overlay-title="Spawn Wallpapermenu" { spawn-sh "~/.config/scripts/wallpapermenu ~/Pictures/Backgrounds/"; } + Mod+Shift+W hotkey-overlay-title="Random Wallpaper" { spawn-sh "~/.config/scripts/set_random ~/Pictures/Backgrounds/"; } + // Mod+Alt+W { spawn-sh "~/.config/scripts/wallpapermenu ~/Pictures/Backgrounds/Alt/"; } + // Mod+Alt+Shift+W { spawn-sh "~/.config/scripts/set_random ~/Pictures/Backgrounds/Alt/"; } XF86AudioRaiseVolume allow-when-locked=true { spawn "pamixer" "-i" "5"; } XF86AudioLowerVolume allow-when-locked=true { spawn "pamixer" "-d" "5"; } diff --git a/wallust/templates/nvim b/mirenn/home/files/dotfiles/.config/wallust/templates/nvim index c5e966d..c5e966d 100644 --- a/wallust/templates/nvim +++ b/mirenn/home/files/dotfiles/.config/wallust/templates/nvim diff --git a/wallust/templates/rofi-applauncher b/mirenn/home/files/dotfiles/.config/wallust/templates/rofi-applauncher index 359fce6..5a07aae 100644 --- a/wallust/templates/rofi-applauncher +++ b/mirenn/home/files/dotfiles/.config/wallust/templates/rofi-applauncher @@ -10,14 +10,14 @@ configuration { * { background-color: {{background}}; color: {{foreground}}; - font: "Hack Nerd Font 10"; + font: "Cica 10"; } window { location: north west; anchor: center; - width: 589; + width: 710; y-offset: -22; - x-offset: 260; + x-offset: 220; padding: 3 5 3 3; } mainbox { diff --git a/wallust/templates/rofi-powermenu b/mirenn/home/files/dotfiles/.config/wallust/templates/rofi-powermenu index 0ce26aa..0ce26aa 100644 --- a/wallust/templates/rofi-powermenu +++ b/mirenn/home/files/dotfiles/.config/wallust/templates/rofi-powermenu diff --git a/wallust/templates/rofi-wallpapermenu b/mirenn/home/files/dotfiles/.config/wallust/templates/rofi-wallpapermenu index b1ea0da..70cd711 100644 --- a/wallust/templates/rofi-wallpapermenu +++ b/mirenn/home/files/dotfiles/.config/wallust/templates/rofi-wallpapermenu @@ -3,7 +3,7 @@ * { background-color: {{background}}; color: {{foreground}}; - font: "Hack Nerd Font 10"; + font: "Cica 10"; } window { border: 1; diff --git a/wallust/templates/swaylock b/mirenn/home/files/dotfiles/.config/wallust/templates/swaylock index 2a8a860..5e4e273 100644 --- a/wallust/templates/swaylock +++ b/mirenn/home/files/dotfiles/.config/wallust/templates/swaylock @@ -2,7 +2,7 @@ indicator-caps-lock indicator-idle-visible indicator-radius=100 -font=Hack Nerd Font +font=Cica font-size=50 clock diff --git a/wallust/templates/waybar b/mirenn/home/files/dotfiles/.config/wallust/templates/waybar index da7690b..3ff730c 100644 --- a/wallust/templates/waybar +++ b/mirenn/home/files/dotfiles/.config/wallust/templates/waybar @@ -1,5 +1,5 @@ * { - font-family: Hack Nerd Font; + font-family: Cica; } window#waybar { diff --git a/wallust/wallust.toml b/mirenn/home/files/dotfiles/.config/wallust/wallust.toml index 9a63624..9a63624 100644 --- a/wallust/wallust.toml +++ b/mirenn/home/files/dotfiles/.config/wallust/wallust.toml diff --git a/waybar/config b/mirenn/home/files/dotfiles/.config/waybar/config index 18f6c0c..ae38d5f 100644 --- a/waybar/config +++ b/mirenn/home/files/dotfiles/.config/waybar/config @@ -18,7 +18,7 @@ "format-connected": "<span font-family='Symbols Nerd Font Mono'></span>", "tooltip-format-connecte": "{device_alias}", "tooltip-format-connected-battery": "{device_alias} ({device_battery_percentage}%)", - "on-click": "foot bluetuith" + "on-click": "bzmenu -l rofi" }, "network": { "format-wifi": "<span font-family='Symbols Nerd Font Mono'></span>", diff --git a/yazi/init.lua b/mirenn/home/files/dotfiles/.config/yazi/init.lua index 6c283c4..6c283c4 100644 --- a/yazi/init.lua +++ b/mirenn/home/files/dotfiles/.config/yazi/init.lua diff --git a/yazi/keymap.toml b/mirenn/home/files/dotfiles/.config/yazi/keymap.toml index 397b2ec..397b2ec 100644 --- a/yazi/keymap.toml +++ b/mirenn/home/files/dotfiles/.config/yazi/keymap.toml diff --git a/yazi/package.toml b/mirenn/home/files/dotfiles/.config/yazi/package.toml index da4281b..da4281b 100644 --- a/yazi/package.toml +++ b/mirenn/home/files/dotfiles/.config/yazi/package.toml diff --git a/yazi/theme.toml b/mirenn/home/files/dotfiles/.config/yazi/theme.toml index 8bb3558..8bb3558 100644 --- a/yazi/theme.toml +++ b/mirenn/home/files/dotfiles/.config/yazi/theme.toml diff --git a/yazi/yazi.toml b/mirenn/home/files/dotfiles/.config/yazi/yazi.toml index e7c3619..e7c3619 100644 --- a/yazi/yazi.toml +++ b/mirenn/home/files/dotfiles/.config/yazi/yazi.toml diff --git a/mirenn/home/services/brightnessctl.scm b/mirenn/home/services/brightnessctl.scm new file mode 100644 index 0000000..b71e04a --- /dev/null +++ b/mirenn/home/services/brightnessctl.scm @@ -0,0 +1,37 @@ +(define-module (mirenn home services brightnessctl) + #:use-module (guix gexp) + #:use-module (gnu services) + #:use-module (gnu services shepherd) + #:use-module (gnu services configuration) + #:use-module (gnu home services) + #:use-module (gnu home services shepherd) + #:use-module (gnu packages linux) + + #:export (home-brightnessctl-configuration)) + +(define-configuration/no-serialization home-brightnessctl-configuration + (state-file + (string ".local/state/brightnessctl") + "The file which the brightness state is stored.")) + +(define (home-brightnessctl-shepherd-service config) + (list + (shepherd-service + (provision '(brightnessctl)) + (documentation "Save and restore brightness.") + (start #~(make-system-constructor + #$(string-append "brightnessctl set $(cat \"$HOME/" + (home-brightnessctl-configuration-state-file config) + "\")"))) + (stop #~(make-system-destructor + #$(string-append "brightnessctl get > \"$HOME/" + (home-brightnessctl-configuration-state-file config) + "\"")))))) + +(define-public home-brightnessctl-service-type + (service-type + (name 'home-brightnessctl) + (extensions + (list (service-extension home-shepherd-service-type home-brightnessctl-shepherd-service))) + (description "Save and restore brightness.") + (default-value (home-brightnessctl-configuration)))) diff --git a/mirenn/home/services/timer.scm b/mirenn/home/services/timer.scm new file mode 100644 index 0000000..59e2fc8 --- /dev/null +++ b/mirenn/home/services/timer.scm @@ -0,0 +1,42 @@ +(define-module (mirenn home services timer) + #:use-module (guix gexp) + #:use-module (gnu services) + #:use-module (gnu services shepherd) + #:use-module (gnu services configuration) + #:use-module (gnu home services) + #:use-module (gnu home services shepherd) + + #:export (home-timer-configuration)) + +(define-configuration/no-serialization home-timer-configuration + (name + symbol + "Name of the timer.") + (script + local-file + "Script to run on timeout.") + (arguments + (list string) + "Arguments passed to the script.") + (delay + number + "Timer delay in seconds.")) + +(define (home-timer-shepherd-service config) + (list + (shepherd-service + (documentation "Run a periodic task") + (provision (list (home-timer-configuration-name config))) + (respawn? #t) + (respawn-delay (home-timer-configuration-delay config)) + (start #~(make-forkexec-constructor + (cons #$(home-timer-configuration-script config) + #$(home-timer-configuration-arguments config)))) + (stop #~(make-kill-destructor))))) + +(define-public home-timer-service-type + (service-type + (name 'home-timer') + (extensions + (list (service-extension home-shepherd-service-type home-timer-shepherd-service))) + (description "Runs a script periodically based on a respawn delay"))) diff --git a/mirenn/packages/bluetuith.scm b/mirenn/packages/bluetuith.scm new file mode 100644 index 0000000..1bb7a5c --- /dev/null +++ b/mirenn/packages/bluetuith.scm @@ -0,0 +1,30 @@ +(define-module (mirenn packages bluetuith) + #:use-module (guix build-system copy) + #:use-module (guix download) + #:use-module (guix gexp) + #:use-module (guix packages) + #:use-module ((guix licenses) #:prefix license:)) + +(define-public bluetuith + (package + (name "bluetuith") + (version "0.2.7") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/bluetuith-org/bluetuith/releases/download/v" + version "/bluetuith_" version "_Linux_x86_64.tar.gz")) + (sha256 + (base32 "1s9lz7q1qx0jyz9wvr4ijlxz1q174cy415bk5j1jk7cmwgq8hn0l")))) + (build-system copy-build-system) + (arguments + (list + #:install-plan + #~'(("bluetuith" "bin/")))) + (home-page "https://bluetuith-org.github.io/bluetuith") + (synopsis "Simple terminal UI for git commands") + (description + "bluetuith is a TUI-based bluetooth connection manager, +which can interact with bluetooth adapters and devices. +It aims to be a replacement to most bluetooth managers, like blueman.") + (license license:expat))) diff --git a/mirenn/packages/files/ca-certs/home-internal-ca.pem b/mirenn/packages/files/ca-certs/home-internal-ca.pem new file mode 100644 index 0000000..7faa1c9 --- /dev/null +++ b/mirenn/packages/files/ca-certs/home-internal-ca.pem @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBojCCAUmgAwIBAgIQCESt88CJZjYX2Mdl7DkXUDAKBggqhkjOPQQDAjAwMS4w +LAYDVQQDEyVDYWRkeSBMb2NhbCBBdXRob3JpdHkgLSAyMDI2IEVDQyBSb290MB4X +DTI2MDIxOTExMDQzNloXDTM1MTIyOTExMDQzNlowMDEuMCwGA1UEAxMlQ2FkZHkg +TG9jYWwgQXV0aG9yaXR5IC0gMjAyNiBFQ0MgUm9vdDBZMBMGByqGSM49AgEGCCqG +SM49AwEHA0IABNe3PlkW7KB/Vq2kV5EaTiNe5ahH73Ac6iI6cQeEPwKOLrxC1O+L ++ZnxBwSnoINWMzL3Nb+lAtCqRCE7McMnCXejRTBDMA4GA1UdDwEB/wQEAwIBBjAS +BgNVHRMBAf8ECDAGAQH/AgEBMB0GA1UdDgQWBBR/r6QdO9cDznWgTOh8hKVRNUVh +xTAKBggqhkjOPQQDAgNHADBEAiBWeX+279V7F8yMdiyZlrRsqNcB0fN4pn4e/TyX +uuTRkAIgD5c5JFxiRY8D1FE3gGimBwNWsLm9dJP07wjYLMOB/dM= +-----END CERTIFICATE----- diff --git a/mirenn/packages/lazygit.scm b/mirenn/packages/lazygit.scm new file mode 100644 index 0000000..f6979d0 --- /dev/null +++ b/mirenn/packages/lazygit.scm @@ -0,0 +1,30 @@ +(define-module (mirenn packages lazygit) + #:use-module (guix build-system copy) + #:use-module (guix download) + #:use-module (guix gexp) + #:use-module (guix packages) + #:use-module ((guix licenses) #:prefix license:)) + +(define-public lazygit + (package + (name "lazygit") + (version "0.65.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/jesseduffield/lazygit/releases/download/v" + version "/lazygit_" version "_linux_x86_64.tar.gz")) + (sha256 + (base32 "19h1q8lj7q4hyzay2a7vycx3a1vk2jl0nj731bjl58qgvayargh2")))) + (build-system copy-build-system) + (arguments + (list + #:install-plan + #~'(("lazygit" "bin/")))) + (home-page "https://lazygit.dev") + (synopsis "Simple terminal UI for git commands") + (description + "Lazygit is a terminal UI for git that makes complex operations simple. + Stage individual lines, interactive rebase, cherry-pick commits; + all without memorizing obscure flags.") + (license license:expat))) diff --git a/mirenn/packages/pki.scm b/mirenn/packages/pki.scm new file mode 100644 index 0000000..db5588f --- /dev/null +++ b/mirenn/packages/pki.scm @@ -0,0 +1,22 @@ +(define-module (mirenn packages pki) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix build-system copy) + #:use-module (guix packages) + #:use-module (guix gexp)) + +(define-public custom-certs + (package + (name "custom-certs") + (version "1.0") + (source (local-file "files/ca-certs" #:recursive? #t)) + (build-system copy-build-system) + (arguments + (list + #:install-plan + #~'(("./" "etc/ssl/certs/")))) + (home-page "") + (synopsis "Custom CA certificates") + (description + "This package provides a certificate store containing my own +root and intermediate CA certificates.") + (license license:public-domain))) diff --git a/mirenn/packages/tailscale.scm b/mirenn/packages/tailscale.scm new file mode 100644 index 0000000..43a6ca5 --- /dev/null +++ b/mirenn/packages/tailscale.scm @@ -0,0 +1,30 @@ +(define-module (mirenn packages tailscale) + #:use-module (guix build-system copy) + #:use-module (guix download) + #:use-module (guix gexp) + #:use-module (guix packages) + #:use-module ((guix licenses) #:prefix license:)) + +(define-public tailscale + (package + (name "tailscale") + (version "1.102.4") + (source + (origin + (method url-fetch) + (uri (string-append + "https://pkgs.tailscale.com/stable/tailscale_" version "_amd64.tgz")) + (sha256 + (base32 "1ffqy184ln5nass0yi4bjhcw0dnsn1b4r7zijnvbaq2y0kqqsx2h")))) + (build-system copy-build-system) + (arguments + (list + #:install-plan + #~'(("tailscale" "bin/") + ("tailscaled" "bin/")))) + (home-page "https://tailscale.com") + (synopsis "Zero Trust identity-based connectivity platform") + (description + "Tailscale is a secure networking solution that streamlines connecting +devices and services securely across different networks.") + (license license:bsd-3))) diff --git a/mirenn/packages/tree-sitter.scm b/mirenn/packages/tree-sitter.scm new file mode 100644 index 0000000..3669ea7 --- /dev/null +++ b/mirenn/packages/tree-sitter.scm @@ -0,0 +1,3748 @@ +(define-module (mirenn packages tree-sitter) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages) + #:use-module (gnu packages check) + #:use-module (gnu packages graphviz) + #:use-module (gnu packages icu4c) + #:use-module (gnu packages node) + #:use-module (gnu packages python-build) + #:use-module (guix build-system cargo) + #:use-module (guix build-system gnu) + #:use-module (guix build-system pyproject) + #:use-module (guix build-system tree-sitter) + #:use-module (guix download) + #:use-module (guix gexp) + #:use-module (guix git-download) + #:use-module (guix i18n) + #:use-module (guix packages) + #:use-module (guix utils) + #:use-module (ice-9 exceptions)) + +(define rust-addr2line-0.26.1 + (crate-source "addr2line" "0.26.1" + "0ymjl1lj3zwc5c5zbjr21c7jzpklj8l04irn76fnf3lzj9vpycar")) + +(define rust-aho-corasick-1.1.5 + (crate-source "aho-corasick" "1.1.5" + "1fhjkp2nbs7gg4y1b68hpc8028rpax8aiscfh9b60q78m4pn90n9")) + +(define rust-allocator-api2-0.2.21 + (crate-source "allocator-api2" "0.2.21" + "08zrzs022xwndihvzdn78yqarv2b9696y67i6h78nla3ww87jgb8")) + +(define rust-ansi-colours-1.2.3 + (crate-source "ansi_colours" "1.2.3" + "1zimwh84gs1r0g0chy6x5lm9v0ksxxlzwy8nyj80f6cq08zc9vhl")) + +(define rust-anstream-1.0.0 + (crate-source "anstream" "1.0.0" + "13d2bj0xfg012s4rmq44zc8zgy1q8k9yp7yhvfnarscnmwpj2jl2")) + +(define rust-anstyle-1.0.14 + (crate-source "anstyle" "1.0.14" + "0030szmgj51fxkic1hpakxxgappxzwm6m154a3gfml83lq63l2wl")) + +(define rust-anstyle-parse-1.0.0 + (crate-source "anstyle-parse" "1.0.0" + "03hkv2690s0crssbnmfkr76kw1k7ah2i6s5amdy9yca2n8w7zkjj")) + +(define rust-anstyle-query-1.1.5 + (crate-source "anstyle-query" "1.1.5" + "1p6shfpnbghs6jsa0vnqd8bb8gd7pjd0jr7w0j8jikakzmr8zi20")) + +(define rust-anstyle-wincon-3.0.11 + (crate-source "anstyle-wincon" "3.0.11" + "0zblannm70sk3xny337mz7c6d8q8i24vhbqi42ld8v7q1wjnl7i9")) + +(define rust-anyhow-1.0.104 + (crate-source "anyhow" "1.0.104" + "0w34jjcm02p5g9kvsjr1dvpw0zs2fi7igi6nr414fkm5gz85w2ik")) + +(define rust-arbitrary-1.4.2 + (crate-source "arbitrary" "1.4.2" + "1wcbi4x7i3lzcrkjda4810nqv03lpmvfhb0a85xrq1mbqjikdl63")) + +(define rust-ascii-1.1.0 + (crate-source "ascii" "1.1.0" + "05nyyp39x4wzc1959kv7ckwqpkdzjd9dw4slzyjh73qbhjcfqayr")) + +(define rust-async-trait-0.1.92 + (crate-source "async-trait" "0.1.92" + "0rqn5iga1hlv2lm8xzav1zhar46jb4dvx89i6kfv93kb53maxxl2")) + +(define rust-bindgen-0.72.1 + (crate-source "bindgen" "0.72.1" + "15bq73y3wd3x3vxh3z3g72hy08zs8rxg1f0i1xsrrd6g16spcdwr")) + +(define rust-bitflags-2.13.1 + (crate-source "bitflags" "2.13.1" + "1nl76mpykmwmb8rq1l5vw1azdh1wvxdrnsk4sy3rdrzx01nvg25m")) + +(define rust-block-buffer-0.10.4 + (crate-source "block-buffer" "0.10.4" + "0w9sa2ypmrsqqvc20nhwr75wbb5cjr4kkyhpjm1z1lv2kdicfy1h")) + +(define rust-block2-0.6.2 + (crate-source "block2" "0.6.2" + "1xcfllzx6c3jc554nmb5qy6xmlkl6l6j5ib4wd11800n0n3rvsyd")) + +(define rust-bstr-1.13.1 + (crate-source "bstr" "1.13.1" + "0pxyrnp8nb2iwcbadzird7xr2awrbjzi2jwqx47f4i22q531pcvb")) + +(define rust-bumpalo-3.20.3 + (crate-source "bumpalo" "3.20.3" + "0jc6va3nwcqikm7chnpdv1s87my3gs2j7g1sc7g3k91brg3arxbj")) + +(define rust-bytemuck-1.25.2 + (crate-source "bytemuck" "1.25.2" + "15rp2m7j7kq22s76cbjwmrkd5r8lvacnm0mnrj013cnzka22x0wm")) + +(define rust-bytes-1.12.1 + (crate-source "bytes" "1.12.1" + "017z19dpg4f942h051m7bpnzcgng042hhcpd7bmg7bjjqd42lrgw")) + +(define rust-cc-1.4.4 + (crate-source "cc" "1.4.4" + "0wq26vvhzv5ci9gx3cfiw320skvaysf9i701wp668lks6ps39m8a")) + +(define rust-cexpr-0.6.0 + (crate-source "cexpr" "0.6.0" + "0rl77bwhs5p979ih4r0202cn5jrfsrbgrksp40lkfz5vk1x3ib3g")) + +(define rust-cfg-aliases-0.2.2 + (crate-source "cfg_aliases" "0.2.2" + "09rm3dv28gbsal7w6q76lg2nfyn8wp789ska9b8vr1w750xfhygh")) + +(define rust-cfg-if-1.0.4 + (crate-source "cfg-if" "1.0.4" + "008q28ajc546z5p2hcwdnckmg0hia7rnx52fni04bwqkzyrghc4k")) + +(define rust-chacha20-0.10.2 + (crate-source "chacha20" "0.10.2" + "01hvvbgdmqkcgs2s4f12s9wa5h2gbq05rqvypv61azlwd55mxhv5")) + +(define rust-chunked-transfer-1.5.0 + (crate-source "chunked_transfer" "1.5.0" + "00a9h3csr1xwkqrzpz5kag4h92zdkrnxq4ppxidrhrx29syf6kbf")) + +(define rust-clang-sys-1.9.1 + ;; TODO REVIEW: Check bundled sources. + (crate-source "clang-sys" "1.9.1" + "12kqa3wywpxw3jk7n2dqz9fjm8p0qczx37y0yib3nwc0njkqnyhm")) + +(define rust-clap-4.6.6 + (crate-source "clap" "4.6.6" + "1jmx5z8d6jbvxdz6dybh599s4rd7ns6sl90p2rrdga09yh3pwg27")) + +(define rust-clap-builder-4.6.6 + (crate-source "clap_builder" "4.6.6" + "12cqg25zpjc3k82cpqa2v9h7s3vk1vydpgnwl8lfg6lfm2jzwj3v")) + +(define rust-clap-complete-4.6.9 + (crate-source "clap_complete" "4.6.9" + "06bagfajlrnrwjcbrqcm99np0n9mdxwxv6n8bgib1fxx4c2avqiv")) + +(define rust-clap-complete-nushell-4.6.2 + (crate-source "clap_complete_nushell" "4.6.2" + "0jayjmqzm924qp2mn626rzkjmwldhv2y42ii4wbjpjdr5v46pdpz")) + +(define rust-clap-derive-4.6.4 + (crate-source "clap_derive" "4.6.4" + "0qd0v7pa2arwxjjinmjim6xrjy61bc28m1yryhc7zjjssswx44nh")) + +(define rust-clap-lex-1.1.0 + (crate-source "clap_lex" "1.1.0" + "1ycqkpygnlqnndghhcxjb44lzl0nmgsia64x9581030yifxs7m68")) + +(define rust-cobs-0.3.0 + (crate-source "cobs" "0.3.0" + "18f0kxxa1fqb8pz2dxwssnhsrvhrs5j4p8xllgin5d7h36sn3a8g")) + +(define rust-colorchoice-1.0.5 + (crate-source "colorchoice" "1.0.5" + "0w75k89hw39p0mnnhlrwr23q50rza1yjki44qvh2mgrnj065a1qx")) + +(define rust-combine-4.6.8 + (crate-source "combine" "4.6.8" + "0ppwzwdmszpan9ybx1myc6ldg5zih2sazf9idckdxrh9gn9j1hyg")) + +(define rust-console-0.16.4 + (crate-source "console" "0.16.4" + "0z5sik90c39ywvkdkdc5bqrkbj441ycmvf21mn7yizpnlijz9rag")) + +(define rust-convert-case-0.11.0 + (crate-source "convert_case" "0.11.0" + "0jfv1ajyr65bjlx533n5alfkfjdl8ks4zxfywdiz1jnj1qcz1yxg")) + +(define rust-cpp-demangle-0.5.1 + (crate-source "cpp_demangle" "0.5.1" + "1vwx8a999mpqywx0736v54909y52x77w1myjsr6cnmpa69630rq6")) + +(define rust-cpufeatures-0.2.17 + (crate-source "cpufeatures" "0.2.17" + "10023dnnaghhdl70xcds12fsx2b966sxbxjq5sxs49mvxqw5ivar")) + +(define rust-cpufeatures-0.3.1 + (crate-source "cpufeatures" "0.3.1" + "0rkm1l35jy1z1yfg723fddsxc7vr0gc1hhfvc138hnqiwc58p8jw")) + +(define rust-cranelift-assembler-x64-0.135.1 + (crate-source "cranelift-assembler-x64" "0.135.1" + "0vz5zadxrk6p0vxcvqabfxplgqb13mmrl2fya2csb58arikyf0wr")) + +(define rust-cranelift-assembler-x64-meta-0.135.1 + (crate-source "cranelift-assembler-x64-meta" "0.135.1" + "1vxqchws63yx2zsg0b1vpjvsgc1sg7hbz3s0f7xaz7gclcp2axz7")) + +(define rust-cranelift-bforest-0.135.1 + (crate-source "cranelift-bforest" "0.135.1" + "0i5rjgas35501kl4i2y5sl8i9qrlc96d46x6rs0p8qp66s520a3q")) + +(define rust-cranelift-bitset-0.135.1 + (crate-source "cranelift-bitset" "0.135.1" + "00lxkwbga490ynza5ki44bnarl1a760ryrwnj329ivsrri3q9355")) + +(define rust-cranelift-codegen-0.135.1 + (crate-source "cranelift-codegen" "0.135.1" + "1h7wi4a7mifsilkx5518sx3w3yv0czbaykjngcz5ippikn4hwlnf")) + +(define rust-cranelift-codegen-meta-0.135.1 + (crate-source "cranelift-codegen-meta" "0.135.1" + "0js7370fjqmsynamxywhinw1rg2qr7cixbhqvaxsd3npcczb52ld")) + +(define rust-cranelift-codegen-shared-0.135.1 + (crate-source "cranelift-codegen-shared" "0.135.1" + "04m7bsvxxjfqrzd8xqyg89db7467d343k6zniazhxx0ydfcrlc94")) + +(define rust-cranelift-control-0.135.1 + (crate-source "cranelift-control" "0.135.1" + "0a7n2qb4597qfdyyhbswalkq9lqdc9dwbclw4a1zpkn2ikb5d66g")) + +(define rust-cranelift-entity-0.135.1 + (crate-source "cranelift-entity" "0.135.1" + "1b96ydd8g1yi333aihgqvd0wakiql60s0pnbb09xdibrddfj5v70")) + +(define rust-cranelift-frontend-0.135.1 + (crate-source "cranelift-frontend" "0.135.1" + "1wykgsk9g4p3rwdam3kajhz4k3s1swaymqidvzv3rgfrkfh9cfkx")) + +(define rust-cranelift-isle-0.135.1 + (crate-source "cranelift-isle" "0.135.1" + "0gh8a0whbv7vi7rzrbqw1r9y1763csxw01bkl6ddryvaqf9zaa5x")) + +(define rust-cranelift-native-0.135.1 + (crate-source "cranelift-native" "0.135.1" + "0pq5q7r6zkahkyx07047pz7790kzvn0gnhy63aiil9pwmx3wm1r9")) + +(define rust-cranelift-srcgen-0.135.1 + (crate-source "cranelift-srcgen" "0.135.1" + "0s3xaisxkg7y8jqcy8irn7ch68flw3g1aydj8g54myfyr7c1shxp")) + +(define rust-crc32fast-1.5.1 + (crate-source "crc32fast" "1.5.1" + "0l75bfakpwr86wz45gm38lylrpgbssr529fmm6m445qy2rqwi644")) + +(define rust-crypto-common-0.1.7 + (crate-source "crypto-common" "0.1.7" + "02nn2rhfy7kvdkdjl457q2z0mklcvj9h662xrq6dzhfialh2kj3q")) + +(define rust-ctor-0.6.3 + (crate-source "ctor" "0.6.3" + "03jrw316acxl3vld3wvl5m8jkj0mwwbssx7i06sb5blg4ww02kj2")) + +(define rust-ctor-proc-macro-0.0.7 + (crate-source "ctor-proc-macro" "0.0.7" + "1havwah6iryn0ang09y12xxr45jsp7ff27zflz4mhgk017ghlmjj")) + +(define rust-ctrlc-3.5.2 + (crate-source "ctrlc" "3.5.2" + "0qh1lvlr6k58dliqllx1n7mjfwp1mzr607bks3r9m0a5msrgmcg0")) + +(define rust-dialoguer-0.12.0 + (crate-source "dialoguer" "0.12.0" + "15mdq2cp838yiq9fs1jkhvskixvlqz5p8f8dipkn88xz06sh9w95")) + +(define rust-diff-0.1.13 + (crate-source "diff" "0.1.13" + "1j0nzjxci2zqx63hdcihkp0a4dkdmzxd7my4m7zk6cjyfy34j9an")) + +(define rust-digest-0.10.7 + (crate-source "digest" "0.10.7" + "14p2n6ih29x81akj097lvz7wi9b6b9hvls0lwrv7b6xwyy0s5ncy")) + +(define rust-dispatch2-0.3.1 + (crate-source "dispatch2" "0.3.1" + "0f5xmnbzpaz1g80m27kd804p75nswh0ikb6wvqh4ba3x9rz3c3hy")) + +(define rust-displaydoc-0.2.7 + (crate-source "displaydoc" "0.2.7" + "1a42mwpgpwcqq2qqgkcc630wvsc2p2dkmgacjnclginwfz9js8y6")) + +(define rust-dtor-0.1.1 + (crate-source "dtor" "0.1.1" + "00fkcw8zn0g10m4k8b0qgmn304g47xqwn1ihhzyjra48n3p04ka0")) + +(define rust-dtor-proc-macro-0.0.6 + (crate-source "dtor-proc-macro" "0.0.6" + "19fg0mivy9qyvbwmqj3ysj0qm5cay0gyp5fyw1imq89cj95cyy7n")) + +(define rust-dunce-1.0.5 + (crate-source "dunce" "1.0.5" + "04y8wwv3vvcqaqmqzssi6k0ii9gs6fpz96j5w9nky2ccsl23axwj")) + +(define rust-dyn-clone-1.0.20 + (crate-source "dyn-clone" "1.0.20" + "0m956cxcg8v2n8kmz6xs5zl13k2fak3zkapzfzzp7pxih6hix26h")) + +(define rust-either-1.18.0 + (crate-source "either" "1.18.0" + "0d7dx31sf8rakcgp63070ngb2vkjynrni866pnx879pawndgnai5")) + +(define rust-embedded-io-0.4.0 + (crate-source "embedded-io" "0.4.0" + "1v9wrc5nsgaaady7i3ya394sik5251j0iq5rls7mrx7fv696h6pg")) + +(define rust-embedded-io-0.6.1 + (crate-source "embedded-io" "0.6.1" + "0v901xykajh3zffn6x4cnn4fhgfw3c8qpjwbsk6gai3gaccg3l7d")) + +(define rust-encode-unicode-1.0.0 + (crate-source "encode_unicode" "1.0.0" + "1h5j7j7byi289by63s3w4a8b3g6l5ccdrws7a67nn07vdxj77ail")) + +(define rust-encoding-rs-0.8.35 + (crate-source "encoding_rs" "0.8.35" + "1wv64xdrr9v37rqqdjsyb8l8wzlcbab80ryxhrszvnj59wy0y0vm")) + +(define rust-equivalent-1.0.2 + (crate-source "equivalent" "1.0.2" + "03swzqznragy8n0x31lqc78g2af054jwivp7lkrbrc0khz74lyl7")) + +(define rust-errno-0.3.14 + (crate-source "errno" "0.3.14" + "1szgccmh8vgryqyadg8xd58mnwwicf39zmin3bsn63df2wbbgjir")) + +(define rust-etcetera-0.11.0 + (crate-source "etcetera" "0.11.0" + "15myc4rl62iah8acdl1sxmrdxb8ci55zbphrv07s55qx3i6wqj6y")) + +(define rust-fastrand-2.5.0 + (crate-source "fastrand" "2.5.0" + "08q2r30y62winysimnlpbvw9kiwn0rmdlidqlmzd6z90mv764z6s")) + +(define rust-file-id-0.2.3 + (crate-source "file-id" "0.2.3" + "1s96rjij7gdbs4j70k1xjfqfr1zi1wbxkpaff4a89ibdgdinmz71")) + +(define rust-find-msvc-tools-0.1.11 + (crate-source "find-msvc-tools" "0.1.11" + "145qpfb9r4ml2klr8v4byvrkikp61qyiks9n69b8z0vbscbb0pfl")) + +(define rust-fnv-1.0.7 + (crate-source "fnv" "1.0.7" + "1hc2mcqha06aibcaza94vbi81j6pr9a1bbxrxjfhc91zin8yr7iz")) + +(define rust-foldhash-0.1.5 + (crate-source "foldhash" "0.1.5" + "1wisr1xlc2bj7hk4rgkcjkz3j2x4dhd1h9lwk7mj8p71qpdgbi6r")) + +(define rust-foldhash-0.2.0 + (crate-source "foldhash" "0.2.0" + "1nvgylb099s11xpfm1kn2wcsql080nqmnhj1l25bp3r2b35j9kkp")) + +(define rust-form-urlencoded-1.2.2 + (crate-source "form_urlencoded" "1.2.2" + "1kqzb2qn608rxl3dws04zahcklpplkd5r1vpabwga5l50d2v4k6b")) + +(define rust-fsevent-sys-4.1.0 + ;; TODO REVIEW: Check bundled sources. + (crate-source "fsevent-sys" "4.1.0" + "1liz67v8b0gcs8r31vxkvm2jzgl9p14i78yfqx81c8sdv817mvkn")) + +(define rust-futures-0.3.34 + (crate-source "futures" "0.3.34" + "18yhwmbdalhz2z9i1vm10hy2v0cfm82dkgcb6vr2msxazfix4ccs")) + +(define rust-futures-channel-0.3.34 + (crate-source "futures-channel" "0.3.34" + "1i4kwcanpaphn1ax62ci3nx176kglxqx0gnhzqpqdr1rkpbf7ydi")) + +(define rust-futures-core-0.3.34 + (crate-source "futures-core" "0.3.34" + "0pjgv4fx0np6hrs5sz5a2phabwv0z70yr51v03injbi44bjrkmlj")) + +(define rust-futures-io-0.3.34 + (crate-source "futures-io" "0.3.34" + "1v9z6wj92ra18kpv0xig21hgpzrvcwmcr8fszyzh64yyay0zmh2k")) + +(define rust-futures-sink-0.3.34 + (crate-source "futures-sink" "0.3.34" + "07cfvrgc3vxk6sw5g8a8dnrm1mzg6d5mwy08ywa1sgyhyxml4i0r")) + +(define rust-futures-task-0.3.34 + (crate-source "futures-task" "0.3.34" + "1zfilqs8nwlfqz4prk7ihvpp5avvzins87ibzlxzq5fhs7ipshfd")) + +(define rust-futures-util-0.3.34 + (crate-source "futures-util" "0.3.34" + "1g3r9ghzq7c2fh34lis43i72xavk9p84npgfwgb5vfpqcwjajl0d")) + +(define rust-fuzzy-matcher-0.3.7 + (crate-source "fuzzy-matcher" "0.3.7" + "153csv8rsk2vxagb68kpmiknvdd3bzqj03x805khckck28rllqal")) + +(define rust-generic-array-0.14.7 + (crate-source "generic-array" "0.14.7" + "16lyyrzrljfq424c3n8kfwkqihlimmsg5nhshbbp48np3yjrqr45")) + +(define rust-getrandom-0.4.3 + (crate-source "getrandom" "0.4.3" + "16b0202fkdwz3p2cyll82dv24ljbn0wiyy829v4lwbkbflyqh3ih")) + +(define rust-gimli-0.33.0 + (crate-source "gimli" "0.33.0" + "0v0jgyxdakhn8z74dvm9l38a0bwvfhrc9b3wiigq0ncmz11z1xqb")) + +(define rust-glob-0.3.4 + (crate-source "glob" "0.3.4" + "02zby4rsidb2ksrnysyrsaap7rk6wpp7vl5chflndafhl5gaisz4")) + +(define rust-hashbrown-0.15.5 + (crate-source "hashbrown" "0.15.5" + "189qaczmjxnikm9db748xyhiw04kpmhm9xj9k9hg0sgx7pjwyacj")) + +(define rust-hashbrown-0.16.1 + (crate-source "hashbrown" "0.16.1" + "004i3njw38ji3bzdp9z178ba9x3k0c1pgy8x69pj7yfppv4iq7c4")) + +(define rust-hashbrown-0.17.1 + (crate-source "hashbrown" "0.17.1" + "0jmqz7i4yl6cm7rbn0i2ffkfrmwi6xkmzkaldr2v8bcsx2v0jngd")) + +(define rust-heck-0.5.0 + (crate-source "heck" "0.5.0" + "1sjmpsdl8czyh9ywl3qcsfsq9a307dg4ni2vnlwgnzzqhc4y0113")) + +(define rust-html-escape-0.2.15 + (crate-source "html-escape" "0.2.15" + "1i8k6hkpvrz2d0px2rcgc7d2qyc22l760wr1lfxrf4dlnjan0df9")) + +(define rust-httpdate-1.0.3 + (crate-source "httpdate" "1.0.3" + "1aa9rd2sac0zhjqh24c9xvir96g188zldkx0hr6dnnlx5904cfyz")) + +(define rust-icu-collections-2.3.0 + (crate-source "icu_collections" "2.3.0" + "04x59h6vdq0cnpippim1nr471ivlsnnn470sj1d5v864h48d4s7s")) + +(define rust-icu-locale-core-2.3.0 + (crate-source "icu_locale_core" "2.3.0" + "1sqdj16wwl7h9y6r7j394av4kpdb7zryz9h169ffwbm9imc2hvnm")) + +(define rust-icu-normalizer-2.3.0 + (crate-source "icu_normalizer" "2.3.0" + "0vv43ixk2wmbxrx7kl33cwkhx1wdyb1q3pa18qkyshan4dgwzy8j")) + +(define rust-icu-normalizer-data-2.3.0 + (crate-source "icu_normalizer_data" "2.3.0" + "1811h0ppb7lwq1q2492p5x6lcmlwmhbmkf69fhyvzcz0scgdlqqm")) + +(define rust-icu-properties-2.3.0 + (crate-source "icu_properties" "2.3.0" + "0j51hi8qgf0l6a7qzvnwsc61598w2fpnsklicld6ci9immva4z3y")) + +(define rust-icu-properties-data-2.3.0 + (crate-source "icu_properties_data" "2.3.0" + "1akw1gp5rcaiz377xzsnkx8f92qax4kh3lfn9y4rcjj6q4wg1475")) + +(define rust-icu-provider-2.3.1 + (crate-source "icu_provider" "2.3.1" + "0wrydhwprwgyka3r3sw6276syjnlw6fpqr2zsm2srvxv7afvnyyj")) + +(define rust-ident-case-1.0.1 + (crate-source "ident_case" "1.0.1" + "0fac21q6pwns8gh1hz3nbq15j8fi441ncl6w4vlnd1cmc55kiq5r")) + +(define rust-idna-1.1.0 + (crate-source "idna" "1.1.0" + "1pp4n7hppm480zcx411dsv9wfibai00wbpgnjj4qj0xa7kr7a21v")) + +(define rust-idna-adapter-1.2.2 + (crate-source "idna_adapter" "1.2.2" + "0557p76l8hj35r9zn1yv7c6x1c0qbrsffmg80n0yy8361ly3fs6b")) + +(define rust-indexmap-2.14.1 + (crate-source "indexmap" "2.14.1" + "1sq9z90viwfw8053l32rrby563hy67xl8n6k65d92hi22i421ah7")) + +(define rust-indoc-2.0.7 + (crate-source "indoc" "2.0.7" + "01np60qdq6lvgh8ww2caajn9j4dibx9n58rvzf7cya1jz69mrkvr")) + +(define rust-inotify-0.11.5 + (crate-source "inotify" "0.11.5" + "14p5gkhk95yk536zncfrjywy2yxrxf06yrfsnx89bd6a0ylhxh2c")) + +(define rust-inotify-sys-0.1.8 + ;; TODO REVIEW: Check bundled sources. + (crate-source "inotify-sys" "0.1.8" + "0zgkxmqa7wlsc348166rr9np4560rflzlcvsmf8xyg0i5h5zhcy0")) + +(define rust-is-terminal-polyfill-1.70.2 + (crate-source "is_terminal_polyfill" "1.70.2" + "15anlc47sbz0jfs9q8fhwf0h3vs2w4imc030shdnq54sny5i7jx6")) + +(define rust-itertools-0.13.0 + (crate-source "itertools" "0.13.0" + "11hiy3qzl643zcigknclh446qb9zlg4dpdzfkjaa9q9fqpgyfgj1")) + +(define rust-itertools-0.14.0 + (crate-source "itertools" "0.14.0" + "118j6l1vs2mx65dqhwyssbrxpawa90886m3mzafdvyip41w2q69b")) + +(define rust-itoa-1.0.18 + (crate-source "itoa" "1.0.18" + "10jnd1vpfkb8kj38rlkn2a6k02afvj3qmw054dfpzagrpl6achlg")) + +(define rust-jni-0.22.4 + (crate-source "jni" "0.22.4" + "161lza8gz071h22pgyqyx4n91ixd691z2dbb1pq2g97k5i49mzay")) + +(define rust-jni-macros-0.22.4 + (crate-source "jni-macros" "0.22.4" + "18v02mcn5c7mb2yw6r930xg6ynsn7hwkxv8z2kdhn3qprjn0j0d0")) + +(define rust-jni-sys-0.4.1 + ;; TODO REVIEW: Check bundled sources. + (crate-source "jni-sys" "0.4.1" + "1wlahx6f2zhczdjqyn8mk7kshb8x5vsd927sn3lvw41rrf47ldy6")) + +(define rust-jni-sys-macros-0.4.1 + (crate-source "jni-sys-macros" "0.4.1" + "0r32gbabrak15a7p487765b5wc0jcna2yv88mk6m1zjqyi1bkh1q")) + +(define rust-js-sys-0.3.104 + ;; TODO REVIEW: Check bundled sources. + (crate-source "js-sys" "0.3.104" + "0fjsgady7wbv7bbyy6c8qhrd93bnx11qbl83l1g7bb9a4601030f")) + +(define rust-kqueue-1.2.1 + (crate-source "kqueue" "1.2.1" + "1sj11bbz5kx73m0bzkmwzfmmlxjnh4q94v6ya3gls2qj4idkwxld")) + +(define rust-kqueue-sys-1.1.2 + ;; TODO REVIEW: Check bundled sources. + (crate-source "kqueue-sys" "1.1.2" + "11xhzsgwc82g85072c6m8nimxxqkax4n40sikcsk9hks5573la87")) + +(define rust-leb128fmt-0.1.0 + (crate-source "leb128fmt" "0.1.0" + "1chxm1484a0bly6anh6bd7a99sn355ymlagnwj3yajafnpldkv89")) + +(define rust-libc-0.2.189 + (crate-source "libc" "0.2.189" + "1whjfs375vlng2q6yrbzs73cvp5lm3w1n2gfqajb2vgf7zg3xbry")) + +(define rust-libloading-0.8.9 + (crate-source "libloading" "0.8.9" + "0mfwxwjwi2cf0plxcd685yxzavlslz7xirss3b9cbrzyk4hv1i6p")) + +(define rust-libloading-0.9.0 + (crate-source "libloading" "0.9.0" + "0q4bvhp4kqy2v3bw4cn2bmyq73hskqd1ansa9125gfq5x0ns4k3m")) + +(define rust-libm-0.2.16 + (crate-source "libm" "0.2.16" + "10brh0a3qjmbzkr5mf5xqi887nhs5y9layvnki89ykz9xb1wxlmn")) + +(define rust-linux-raw-sys-0.12.1 + ;; TODO REVIEW: Check bundled sources. + (crate-source "linux-raw-sys" "0.12.1" + "0lwasljrqxjjfk9l2j8lyib1babh2qjlnhylqzl01nihw14nk9ij")) + +(define rust-litemap-0.8.3 + (crate-source "litemap" "0.8.3" + "1bpgpj87560hmckh3875fbahpmfxbk4g8pzns84h3ykf3nfx3na7")) + +(define rust-log-0.4.34 + (crate-source "log" "0.4.34" + "1ihkzn0m33ab79fcl4mkb04n5iwqzbxzyw7l7hazqkffaqzbvy7r")) + +(define rust-mach2-0.6.0 + (crate-source "mach2" "0.6.0" + "0asmmmvsvf9ipn2jszazhhlrqv8qgcglwdh0n3r470pna70hirns")) + +(define rust-memchr-2.8.3 + (crate-source "memchr" "2.8.3" + "161xa63ipfanf8v3nb82xd5hqgydv55nzw59wyngqbz6alfaz2yg")) + +(define rust-memfd-0.6.5 + (crate-source "memfd" "0.6.5" + "09sj2xhn592adr14mss8b433fdn8ikyq02m4dr3a0555mq9fnf5d")) + +(define rust-minimal-lexical-0.2.1 + (crate-source "minimal-lexical" "0.2.1" + "16ppc5g84aijpri4jzv14rvcnslvlpphbszc7zzp6vfkddf4qdb8")) + +(define rust-mio-1.2.2 + (crate-source "mio" "1.2.2" + "09y4b7gc42ymgssshh8sz6gs3y5r8bbigqaw2c4snh6fy5qmrmih")) + +(define rust-ndk-context-0.1.1 + (crate-source "ndk-context" "0.1.1" + "12sai3dqsblsvfd1l1zab0z6xsnlha3xsfl7kagdnmj3an3jvc17")) + +(define rust-nix-0.31.3 + (crate-source "nix" "0.31.3" + "0gbwnjfny9rq9hl5bz4ry520n9rnfknna4bg88n66f7zx3yx486g")) + +(define rust-nom-7.1.3 + (crate-source "nom" "7.1.3" + "0jha9901wxam390jcf5pfa0qqfrgh8li787jx2ip0yk5b8y9hwyj")) + +(define rust-notify-8.2.0 + (crate-source "notify" "8.2.0" + "1hrb83451vm5cpjw83nz5skgwjg5ara28zq8nxsqbzsif690fgad")) + +(define rust-notify-debouncer-full-0.7.0 + (crate-source "notify-debouncer-full" "0.7.0" + "00mkvfh0z2hi8ql8fa4k6zh6vlhjk43xc14d4cr9kg7ykhbljay0")) + +(define rust-notify-types-2.1.0 + (crate-source "notify-types" "2.1.0" + "0yj710mxd4lsaz4hq7601mh6xb02awb8hg4z6lvh76ik1vpczf22")) + +(define rust-objc2-0.6.4 + (crate-source "objc2" "0.6.4" + "17x8qpl512frscfqbmgjr20kg3y4r0xdqxphja17dz5f0znsh4is")) + +(define rust-objc2-app-kit-0.3.2 + (crate-source "objc2-app-kit" "0.3.2" + "132ijwni8lsi8phq7wnmialkxp46zx998fns3zq5np0ya1mr77nl")) + +(define rust-objc2-core-foundation-0.3.2 + (crate-source "objc2-core-foundation" "0.3.2" + "0dnmg7606n4zifyjw4ff554xvjmi256cs8fpgpdmr91gckc0s61a")) + +(define rust-objc2-encode-4.1.0 + (crate-source "objc2-encode" "4.1.0" + "0cqckp4cpf68mxyc2zgnazj8klv0z395nsgbafa61cjgsyyan9gg")) + +(define rust-objc2-foundation-0.3.2 + (crate-source "objc2-foundation" "0.3.2" + "0wijkxzzvw2xkzssds3fj8279cbykz2rz9agxf6qh7y2agpsvq73")) + +(define rust-object-0.39.1 + (crate-source "object" "0.39.1" + "16vkcaamik55jd9f04g73hvgsm5w636gb4w06x3nafvsih4nqnif")) + +(define rust-once-cell-1.21.4 + (crate-source "once_cell" "1.21.4" + "0l1v676wf71kjg2khch4dphwh1jp3291ffiymr2mvy1kxd5kwz4z")) + +(define rust-once-cell-polyfill-1.70.2 + (crate-source "once_cell_polyfill" "1.70.2" + "1zmla628f0sk3fhjdjqzgxhalr2xrfna958s632z65bjsfv8ljrq")) + +(define rust-pathdiff-0.2.3 + (crate-source "pathdiff" "0.2.3" + "1lrqp4ip05df8dzldq6gb2c1sq2gs54gly8lcnv3rhav1qhwx56z")) + +(define rust-percent-encoding-2.3.2 + (crate-source "percent-encoding" "2.3.2" + "083jv1ai930azvawz2khv7w73xh8mnylk7i578cifndjn5y64kwv")) + +(define rust-phf-0.14.0 + (crate-source "phf" "0.14.0" + "1xm2nbg5c59b5wvvv4v3sd3sknrlg2z17bkzk440p2090dw7h0q1")) + +(define rust-phf-generator-0.14.0 + (crate-source "phf_generator" "0.14.0" + "003i8qw6ghkcvs6bmxdhnq1a1kmpwbciakazjsybx8fmb44jxdmf")) + +(define rust-phf-shared-0.14.0 + (crate-source "phf_shared" "0.14.0" + "12dalcsaq83pfydhq81195aal0ld9vdx3swz6kk9ncfrw8kr1zf6")) + +(define rust-pin-project-lite-0.2.17 + (crate-source "pin-project-lite" "0.2.17" + "1kfmwvs271si96zay4mm8887v5khw0c27jc9srw1a75ykvgj54x8")) + +(define rust-postcard-1.1.3 + (crate-source "postcard" "1.1.3" + "094srff139n7m8g5ssq36ag6s29ikf7fgpz660x2hkj5vnsw6r37")) + +(define rust-potential-utf-0.1.6 + (crate-source "potential_utf" "0.1.6" + "0qbndl2fpphq7mph41m11vaixs05xrh1s451wxlgap4fdnybjgnq")) + +(define rust-pretty-assertions-1.4.1 + (crate-source "pretty_assertions" "1.4.1" + "0v8iq35ca4rw3rza5is3wjxwsf88303ivys07anc5yviybi31q9s")) + +(define rust-prettyplease-0.2.37 + (crate-source "prettyplease" "0.2.37" + "0azn11i1kh0byabhsgab6kqs74zyrg69xkirzgqyhz6xmjnsi727")) + +(define rust-proc-macro-crate-3.5.0 + (crate-source "proc-macro-crate" "3.5.0" + "0kv1g1d1zjwxlgcaba2qlshzyy32j03xic8rskqlcr5mnblsfyz6")) + +(define rust-proc-macro2-1.0.107 + (crate-source "proc-macro2" "1.0.107" + "1nb6ly8kp65f724kj73ippc7lvydss24sm2vagk6qpklpg4pwplq")) + +(define rust-pulley-interpreter-48.0.1 + (crate-source "pulley-interpreter" "48.0.1" + "0ah1awb3i77hhidm0dx4wlfvxb9ghpmyx0287s57790911gdfmgp")) + +(define rust-pulley-macros-48.0.1 + (crate-source "pulley-macros" "48.0.1" + "07g5dihpqihi92dq4rj27gh9w3lbz1ylm2g7h9pr8md5qjhrzrn7")) + +(define rust-quote-1.0.47 + (crate-source "quote" "1.0.47" + "00ch0yyzvv6s671ik0kcsbw8nigdaj2g3fr61kcahwx48aqlvgqz")) + +(define rust-r-efi-6.0.0 + (crate-source "r-efi" "6.0.0" + "1gyrl2k5fyzj9k7kchg2n296z5881lg7070msabid09asp3wkp7q")) + +(define rust-rand-0.10.2 + (crate-source "rand" "0.10.2" + "105yqkdzqbgggd3r1yjm9jg0zvibfdsmxylvxxkmblwc0lxgmxf7")) + +(define rust-rand-core-0.10.1 + (crate-source "rand_core" "0.10.1" + "0s9wiacxrr100icl7i41308gcj85nlcclrc5jx1jd6p10dhigf33")) + +(define rust-ref-cast-1.0.27 + (crate-source "ref-cast" "1.0.27" + "1hv5sf0j7b65gz2g57c3wp0fzr5r3807dywf6fap455lwjs0yi3y")) + +(define rust-ref-cast-impl-1.0.27 + (crate-source "ref-cast-impl" "1.0.27" + "0fnzgkvddgl9xs3884x5ypi9rd0dgc1p5vd1k4b74lw49ybdiv4j")) + +(define rust-regalloc2-0.15.2 + (crate-source "regalloc2" "0.15.2" + "11bzk983566d84xpm0v76jhmm2skalvlhqymypadd40mwvl14xvm")) + +(define rust-regex-1.13.1 + (crate-source "regex" "1.13.1" + "1391a0a4100ik8cp7l577p3ip3haqq03rd9c5vdr7vcfdixj687h")) + +(define rust-regex-automata-0.4.18 + (crate-source "regex-automata" "0.4.18" + "1cml0rm0ssqfkibh9nh3gy4b6hbsbicj1rihpwf2a4v4nawm71dd")) + +(define rust-regex-syntax-0.8.11 + (crate-source "regex-syntax" "0.8.11" + "1m25h5q2wp976fb9gc3dsc9l99svcvd5cri8lncb51c46ydgzxnn")) + +(define rust-relative-path-2.0.1 + (crate-source "relative-path" "2.0.1" + "1c4jm6x0p88722c77xx53mb7zcs4xznp9d3whdsbmn1248qhm95w")) + +(define rust-rgb-0.8.53 + (crate-source "rgb" "0.8.53" + "1i0c55whln68zs6f5qqrkbg1mzai0p3qk1mwkwzdgr9i3dw4pcs7")) + +(define rust-rquickjs-0.12.2 + (crate-source "rquickjs" "0.12.2" + "1r34940k1wjmji7ngyyk40v0n2w9pd5698phnl1vaq5hvzpf812f")) + +(define rust-rquickjs-core-0.12.2 + (crate-source "rquickjs-core" "0.12.2" + "1330nq8qjcfnjcbjyz8g89pl441c7kr49g3dxsbkv52vmjcz9r0n")) + +(define rust-rquickjs-macro-0.12.2 + (crate-source "rquickjs-macro" "0.12.2" + "0l1z558spwlmhh769f8crsicnhapy53rycym12m2zvkhkchwig1w")) + +(define rust-rquickjs-sys-0.12.2 + ;; TODO REVIEW: Check bundled sources. + (crate-source "rquickjs-sys" "0.12.2" + "16dd3kf4qkn8ywf3p5mrnyci2b2smlq9wzpg2h414x3ap11w4fm1")) + +(define rust-rustc-demangle-0.1.28 + (crate-source "rustc-demangle" "0.1.28" + "1sr083jamg89zcxmchia1pdn584smsy2r32kk9q30a5vm3zmcjxp")) + +(define rust-rustc-hash-2.1.3 + (crate-source "rustc-hash" "2.1.3" + "0bbla578m87qmf3yr55q49l97gxn7z0ha1dwqlnvwwc58ad7y7kb")) + +(define rust-rustc-version-0.4.1 + (crate-source "rustc_version" "0.4.1" + "14lvdsmr5si5qbqzrajgb6vfn69k0sfygrvfvr2mps26xwi3mjyg")) + +(define rust-rustix-1.1.4 + (crate-source "rustix" "1.1.4" + "14511f9yjqh0ix07xjrjpllah3325774gfwi9zpq72sip5jlbzmn")) + +(define rust-rustversion-1.0.23 + (crate-source "rustversion" "1.0.23" + "07z2a843fs80fawwflj9jwn49k9b0bd0dhhbvy0ar69vaxd72m6g")) + +(define rust-same-file-1.0.6 + (crate-source "same-file" "1.0.6" + "00h5j1w87dmhnvbv9l8bic3y7xxsnjmssvifw2ayvgx9mb1ivz4k")) + +(define rust-schemars-1.2.2 + (crate-source "schemars" "1.2.2" + "0jng632s64njf9vghr3i1l4m15h4y85m5vhg7vkwdkdnjg978wk8")) + +(define rust-schemars-derive-1.2.2 + (crate-source "schemars_derive" "1.2.2" + "1fp2wkdk32nv66swy7k7pz7sxygn634snlppih5jzbs6ddqng36r")) + +(define rust-semver-1.0.28 + (crate-source "semver" "1.0.28" + "1kaimrpy876bcgi8bfj0qqfxk77zm9iz2zhn1hp9hj685z854y4a")) + +(define rust-serde-1.0.229 + (crate-source "serde" "1.0.229" + "1fp04fq4a79bpm61xz1zy0pbz4kpc7d771zii1k3inmszq55jj21")) + +(define rust-serde-core-1.0.229 + (crate-source "serde_core" "1.0.229" + "0j1ajiha76h3nmd976il9li6975k121xa7jb39ws8n0yqp4s5p37")) + +(define rust-serde-derive-1.0.229 + (crate-source "serde_derive" "1.0.229" + "0j4k63i7h1bikxwz2c89ig0hrwbnl9mz1czn85xx99x5cc9dg9g7")) + +(define rust-serde-derive-internals-0.30.0 + (crate-source "serde_derive_internals" "0.30.0" + "1gd9n45na7n79nr54ghfl79rygkbzw2ybk3wyr6nlp83rry16lpq")) + +(define rust-serde-json-1.0.151 + (crate-source "serde_json" "1.0.151" + "051zww7lvpw147vvwss1ng6w587qyrkzg75fvj08q2dfrmgbahf8")) + +(define rust-sha2-0.10.9 + (crate-source "sha2" "0.10.9" + "10xjj843v31ghsksd9sl9y12qfc48157j1xpb8v1ml39jy0psl57")) + +(define rust-shell-words-1.1.1 + (crate-source "shell-words" "1.1.1" + "0xzd5p53xl0ndnk63r0by52rhdrh6pd37szfxszkg73zb6ffcvyw")) + +(define rust-shlex-1.3.0 + (crate-source "shlex" "1.3.0" + "0r1y6bv26c1scpxvhg2cabimrmwgbp4p3wy6syj9n0c4s3q2znhg")) + +(define rust-shlex-2.0.1 + (crate-source "shlex" "2.0.1" + "1fjsll1cd7d2bcpdij9kd6w62rpbc7qqzvydvs021vsmr1cxvypq")) + +(define rust-simd-cesu8-1.2.0 + (crate-source "simd_cesu8" "1.2.0" + "0865mv3nmd35f1dccjcfj7dncjmmvvdij3j61z4131mz38jiw0qi")) + +(define rust-simdutf8-0.1.5 + (crate-source "simdutf8" "0.1.5" + "0vmpf7xaa0dnaikib5jlx6y4dxd3hxqz6l830qb079g7wcsgxag3")) + +(define rust-similar-2.7.0 + (crate-source "similar" "2.7.0" + "1aidids7ymfr96s70232s6962v5g9l4zwhkvcjp4c5hlb6b5vfxv")) + +(define rust-siphasher-1.0.3 + (crate-source "siphasher" "1.0.3" + "0jg6l9xyzca5vy4h6gf8r6p4kk84g98fk95pzig1kq6cr4z8grcf")) + +(define rust-slab-0.4.12 + (crate-source "slab" "0.4.12" + "1xcwik6s6zbd3lf51kkrcicdq2j4c1fw0yjdai2apy9467i0sy8c")) + +(define rust-smallvec-1.15.2 + (crate-source "smallvec" "1.15.2" + "143wzbqf6vgapdp2z4qpl0yvlqcn17s8cnk8m28rqly808zsdmlf")) + +(define rust-stable-deref-trait-1.2.1 + (crate-source "stable_deref_trait" "1.2.1" + "15h5h73ppqyhdhx6ywxfj88azmrpml9gl6zp3pwy2malqa6vxqkc")) + +(define rust-streaming-iterator-0.1.9 + (crate-source "streaming-iterator" "0.1.9" + "0845zdv8qb7zwqzglpqc0830i43xh3fb6vqms155wz85qfvk28ib")) + +(define rust-strsim-0.11.1 + (crate-source "strsim" "0.11.1" + "0kzvqlw8hxqb7y598w1s0hxlnmi84sg5vsipp3yg5na5d1rvba3x")) + +(define rust-syn-2.0.119 + (crate-source "syn" "2.0.119" + "15vjy620l91a3q4n4f4gzhnflmdr6pnm38v2m6cpk86i8av32a47")) + +(define rust-syn-3.0.4 + (crate-source "syn" "3.0.4" + "17v4ac61x0hvj1879ywqzlwhyzg7n9lr9zniwrsif3b1ykfmq9z6")) + +(define rust-synstructure-0.13.2 + (crate-source "synstructure" "0.13.2" + "1lh9lx3r3jb18f8sbj29am5hm9jymvbwh6jb1izsnnxgvgrp12kj")) + +(define rust-target-lexicon-0.13.5 + (crate-source "target-lexicon" "0.13.5" + "1jm6lmf9hsn7ri2d6v9gg6fy24lylhskh6pbxh71f82wdxd97dmd")) + +(define rust-tempfile-3.27.0 + (crate-source "tempfile" "3.27.0" + "1gblhnyfjsbg9wjg194n89wrzah7jy3yzgnyzhp56f3v9jd7wj9j")) + +(define rust-termcolor-1.4.1 + (crate-source "termcolor" "1.4.1" + "0mappjh3fj3p2nmrg4y7qv94rchwi9mzmgmfflr8p2awdj7lyy86")) + +(define rust-thiserror-2.0.20 + (crate-source "thiserror" "2.0.20" + "0kxs6p295jffxhzaxpxv1dwaaf5iqlm6sx8h0djp6ancbxgj71pc")) + +(define rust-thiserror-impl-2.0.20 + (crate-source "thiserror-impl" "2.0.20" + "1bwjc94gi0xn5jz26h1a8bjj1wdkvvr6jifamyc4mp9n28zcs15w")) + +(define rust-thread-local-1.1.10 + (crate-source "thread_local" "1.1.10" + "0w20g2pfdcp8pz3gds0bzksv6mxk802szca8qlr3701jdm69rn8s")) + +(define rust-tiny-http-0.12.0 + (crate-source "tiny_http" "0.12.0" + "10nw9kk2i2aq4l4csy0825qkq0l66f9mz2c1n57yg8hkckgib69q")) + +(define rust-tinystr-0.8.4 + (crate-source "tinystr" "0.8.4" + "0hzncw8rgk4syla79qscfml46jm7ll1zdp7kdacc42cj8n8prqmi")) + +(define rust-toml-datetime-1.1.1+spec-1.1.0 + (crate-source "toml_datetime" "1.1.1+spec-1.1.0" + "1mws2mkkf46l7inn77azhm0vdwxngv9vsbhbl0ah33p2c9gzcr9i")) + +(define rust-toml-edit-0.25.13+spec-1.1.0 + (crate-source "toml_edit" "0.25.13+spec-1.1.0" + "16xgmjdnxssdpj7rjyimsk4fqbv29g8zl7zhdbc6dxrf9mz3cxb9")) + +(define rust-toml-parser-1.1.3+spec-1.1.0 + (crate-source "toml_parser" "1.1.3+spec-1.1.0" + "0mjdvihdkmjd4ykh574xgii71hpxw7ns7h4n4bisqpxrz4faqf0x")) + +(define rust-topological-sort-0.2.2 + (crate-source "topological-sort" "0.2.2" + "0gcxahg24c058izagz642vs0kfb2zja48my3qrd0kkaf2d730s7a")) + +(define rust-tracing-0.1.44 + (crate-source "tracing" "0.1.44" + "006ilqkg1lmfdh3xhg3z762izfwmxcvz0w7m4qx2qajbz9i1drv3")) + +(define rust-tracing-core-0.1.36 + (crate-source "tracing-core" "0.1.36" + "16mpbz6p8vd6j7sf925k9k8wzvm9vdfsjbynbmaxxyq6v7wwm5yv")) + +(define rust-typenum-1.20.1 + (crate-source "typenum" "1.20.1" + "086s9ly0906kw5yw41249fba97w5zfxf03pyfwdkffvcprqfixdn")) + +(define rust-unicode-ident-1.0.24 + (crate-source "unicode-ident" "1.0.24" + "0xfs8y1g7syl2iykji8zk5hgfi5jw819f5zsrbaxmlzwsly33r76")) + +(define rust-unicode-segmentation-1.13.3 + (crate-source "unicode-segmentation" "1.13.3" + "1a47zaq83p386r3baq4m018xd5q4q0grdg56i1x042dzn71x7xf6")) + +(define rust-unicode-width-0.2.2 + (crate-source "unicode-width" "0.2.2" + "0m7jjzlcccw716dy9423xxh0clys8pfpllc5smvfxrzdf66h9b5l")) + +(define rust-unindent-0.2.4 + (crate-source "unindent" "0.2.4" + "1wvfh815i6wm6whpdz1viig7ib14cwfymyr1kn3sxk2kyl3y2r3j")) + +(define rust-url-2.5.8 + (crate-source "url" "2.5.8" + "1v8f7nx3hpr1qh76if0a04sj08k86amsq4h8cvpw6wvk76jahrzz")) + +(define rust-utf8-iter-1.0.4 + (crate-source "utf8_iter" "1.0.4" + "1gmna9flnj8dbyd8ba17zigrp9c4c3zclngf5lnb5yvz1ri41hdn")) + +(define rust-utf8parse-0.2.2 + (crate-source "utf8parse" "0.2.2" + "088807qwjq46azicqwbhlmzwrbkz7l4hpw43sdkdyyk524vdxaq6")) + +(define rust-version-check-0.9.5 + (crate-source "version_check" "0.9.5" + "0nhhi4i5x89gm911azqbn7avs9mdacw2i3vcz3cnmz3mv4rqz4hb")) + +(define rust-walkdir-2.5.0 + (crate-source "walkdir" "2.5.0" + "0jsy7a710qv8gld5957ybrnc07gavppp963gs32xk4ag8130jy99")) + +(define rust-wasi-0.11.1+wasi-snapshot-preview1 + (crate-source "wasi" "0.11.1+wasi-snapshot-preview1" + "0jx49r7nbkbhyfrfyhz0bm4817yrnxgd3jiwwwfv0zl439jyrwyc")) + +(define rust-wasm-bindgen-0.2.127 + (crate-source "wasm-bindgen" "0.2.127" + "0w6fa1mkbb6qlkffgy4qaz0hdf496zbjkyiyvs4lvmpd8xbr6w0v")) + +(define rust-wasm-bindgen-macro-0.2.127 + (crate-source "wasm-bindgen-macro" "0.2.127" + "1hcvlb6bv771fvgifd367wd0cm4giyar8fq5i4h705vj7y7myxvp")) + +(define rust-wasm-bindgen-macro-support-0.2.127 + (crate-source "wasm-bindgen-macro-support" "0.2.127" + "112j4d7dv8y2sk9yy9czrl9fpjx9388ywnn7icdv2bywazw367g1")) + +(define rust-wasm-bindgen-shared-0.2.127 + (crate-source "wasm-bindgen-shared" "0.2.127" + "1gywp6xv8a27fvm3ga9xby93xyic3hc2s626b9z9rw2xqny4vxky")) + +(define rust-wasm-encoder-0.254.0 + (crate-source "wasm-encoder" "0.254.0" + "14vkvvm7ns46viznkkf9vf8s38zr18nq2vmh5g8zvrbqc5j0sj09")) + +(define rust-wasmparser-0.244.0 + (crate-source "wasmparser" "0.244.0" + "1zi821hrlsxfhn39nqpmgzc0wk7ax3dv6vrs5cw6kb0v5v3hgf27")) + +(define rust-wasmparser-0.254.0 + (crate-source "wasmparser" "0.254.0" + "09vfy6hq50vcrc6vmjbgzs9pvkc4agzb8rdgd89spywrywlrlxnm")) + +(define rust-wasmprinter-0.254.0 + (crate-source "wasmprinter" "0.254.0" + "0fdyk38zfqs9fl3pdpjq2wis28kcnsr2kdl7ixlh9x94w08vmqv4")) + +(define rust-wasmtime-48.0.1 + (crate-source "wasmtime" "48.0.1" + "13bav3hz454v25hcq5l096hyjsc22599vv1583p2rj4vzrw9zlqv")) + +(define rust-wasmtime-c-api-impl-48.0.1 + (crate-source "wasmtime-c-api-impl" "48.0.1" + "0s5y3a3gp448n1mpv21xcb5zamvyzb9kxjpi5bflsc6q0vahi6w0")) + +(define rust-wasmtime-environ-48.0.1 + (crate-source "wasmtime-environ" "48.0.1" + "1ni9xhc7l35rdy4c2g7fwq3sqcj95ka9q47cjj4h8ka8jl6hgh80")) + +(define rust-wasmtime-internal-c-api-macros-48.0.1 + (crate-source "wasmtime-internal-c-api-macros" "48.0.1" + "0blg8y7f9fcssdw20603idmbd4ik2bxh3vy2cd2wd9zkqk9blml1")) + +(define rust-wasmtime-internal-component-util-48.0.1 + (crate-source "wasmtime-internal-component-util" "48.0.1" + "0gv1i95y72jkmrp188xkzcgjq2vzkyp6947jfn4a1z8m44lyh3rc")) + +(define rust-wasmtime-internal-core-48.0.1 + (crate-source "wasmtime-internal-core" "48.0.1" + "1n2g8w0i63wss1i6y9cvkgzjpv99hhv1a9gxcwlsyjzl9iwqa4w2")) + +(define rust-wasmtime-internal-cranelift-48.0.1 + (crate-source "wasmtime-internal-cranelift" "48.0.1" + "18fzmf68s7fc2szbjing100wmq460klnp8m1p38plibk4yjv8f02")) + +(define rust-wasmtime-internal-fiber-48.0.1 + (crate-source "wasmtime-internal-fiber" "48.0.1" + "16zw97zs30n0vj1lmsgzchr7bibia49yly4wvnd9rgvcw22isvsr")) + +(define rust-wasmtime-internal-jit-debug-48.0.1 + (crate-source "wasmtime-internal-jit-debug" "48.0.1" + "12gnjp2wv7697g40607cr6pbmw9d6xr5iasvg0b03fr793bswprn")) + +(define rust-wasmtime-internal-jit-icache-coherence-48.0.1 + (crate-source "wasmtime-internal-jit-icache-coherence" "48.0.1" + "0vxrqdkhpxcpi8vyf5w41ca0zpaik4hnlp1a55blkb77v6pjbkiw")) + +(define rust-wasmtime-internal-unwinder-48.0.1 + (crate-source "wasmtime-internal-unwinder" "48.0.1" + "0bf4qg7snjk5za3fdx9m55dpwxl6fiyqm9jck1scff8ysl4ymzd1")) + +(define rust-wasmtime-internal-versioned-export-macros-48.0.1 + (crate-source "wasmtime-internal-versioned-export-macros" "48.0.1" + "05m1dgymjj39h4w9xjhi6f6m8i8ya2rlqwj98bvw4f2ca5gqmr4p")) + +(define rust-web-sys-0.3.104 + ;; TODO REVIEW: Check bundled sources. + (crate-source "web-sys" "0.3.104" + "0c0acbvaqzqf21q5vdff2g74fvb7afi91xjplmclybq4d24k6df4")) + +(define rust-webbrowser-1.2.4 + (crate-source "webbrowser" "1.2.4" + "151gb2nnp2hbn7898hh0q1vffly811lw4brnpi6j26l2f3kmphv2")) + +(define rust-widestring-1.2.1 + (crate-source "widestring" "1.2.1" + "0wg4qdbs70xqnlbm8wb0bs4idm2mxk3b6kaqwllsncmb2cqrq1kj")) + +(define rust-winapi-util-0.1.11 + (crate-source "winapi-util" "0.1.11" + "08hdl7mkll7pz8whg869h58c1r9y7in0w0pk8fm24qc77k0b39y2")) + +(define rust-windows-aarch64-gnullvm-0.53.1 + (crate-source "windows_aarch64_gnullvm" "0.53.1" + "0lqvdm510mka9w26vmga7hbkmrw9glzc90l4gya5qbxlm1pl3n59")) + +(define rust-windows-aarch64-msvc-0.53.1 + (crate-source "windows_aarch64_msvc" "0.53.1" + "01jh2adlwx043rji888b22whx4bm8alrk3khjpik5xn20kl85mxr")) + +(define rust-windows-i686-gnu-0.53.1 + (crate-source "windows_i686_gnu" "0.53.1" + "18wkcm82ldyg4figcsidzwbg1pqd49jpm98crfz0j7nqd6h6s3ln")) + +(define rust-windows-i686-gnullvm-0.53.1 + (crate-source "windows_i686_gnullvm" "0.53.1" + "030qaxqc4salz6l4immfb6sykc6gmhyir9wzn2w8mxj8038mjwzs")) + +(define rust-windows-i686-msvc-0.53.1 + (crate-source "windows_i686_msvc" "0.53.1" + "1hi6scw3mn2pbdl30ji5i4y8vvspb9b66l98kkz350pig58wfyhy")) + +(define rust-windows-link-0.2.1 + (crate-source "windows-link" "0.2.1" + "1rag186yfr3xx7piv5rg8b6im2dwcf8zldiflvb22xbzwli5507h")) + +(define rust-windows-sys-0.60.2 + ;; TODO REVIEW: Check bundled sources. + (crate-source "windows-sys" "0.60.2" + "1jrbc615ihqnhjhxplr2kw7rasrskv9wj3lr80hgfd42sbj01xgj")) + +(define rust-windows-sys-0.61.2 + ;; TODO REVIEW: Check bundled sources. + (crate-source "windows-sys" "0.61.2" + "1z7k3y9b6b5h52kid57lvmvm05362zv1v8w0gc7xyv5xphlp44xf")) + +(define rust-windows-targets-0.53.5 + (crate-source "windows-targets" "0.53.5" + "1wv9j2gv3l6wj3gkw5j1kr6ymb5q6dfc42yvydjhv3mqa7szjia9")) + +(define rust-windows-x86-64-gnu-0.53.1 + (crate-source "windows_x86_64_gnu" "0.53.1" + "16d4yiysmfdlsrghndr97y57gh3kljkwhfdbcs05m1jasz6l4f4w")) + +(define rust-windows-x86-64-gnullvm-0.53.1 + (crate-source "windows_x86_64_gnullvm" "0.53.1" + "1qbspgv4g3q0vygkg8rnql5c6z3caqv38japiynyivh75ng1gyhg")) + +(define rust-windows-x86-64-msvc-0.53.1 + (crate-source "windows_x86_64_msvc" "0.53.1" + "0l6npq76vlq4ksn4bwsncpr8508mk0gmznm6wnhjg95d19gzzfyn")) + +(define rust-winnow-1.0.4 + (crate-source "winnow" "1.0.4" + "10fzxipa7lx16172p3aca9j60hzbqgjki2f95kqksd5qywcp7f93")) + +(define rust-writeable-0.6.4 + (crate-source "writeable" "0.6.4" + "1p3r4s4wbf3dksfpj3xyrn7id5p0f7r74mj6qx6ngjfd6cm2vn1s")) + +(define rust-yansi-1.0.1 + (crate-source "yansi" "1.0.1" + "0jdh55jyv0dpd38ij4qh60zglbw9aa8wafqai6m0wa7xaxk3mrfg")) + +(define rust-yoke-0.8.3 + (crate-source "yoke" "0.8.3" + "1xgyj6c2lxj2bp891ynmhws87c6z7yyv2li1v0ss9di40hxf57vh")) + +(define rust-yoke-derive-0.8.2 + (crate-source "yoke-derive" "0.8.2" + "13l5y5sz4lqm7rmyakjbh6vwgikxiql51xfff9hq2j485hk4r16y")) + +(define rust-zerofrom-0.1.8 + (crate-source "zerofrom" "0.1.8" + "0wjjdj7gdmd0iq91gzkxl7dlv0nhkk80l4bmdpzh3a1yh48mmh0f")) + +(define rust-zerofrom-derive-0.1.7 + (crate-source "zerofrom-derive" "0.1.7" + "18c4wsnznhdxx6m80piil1lbyszdiwsshgjrybqcm4b6qic22lqi")) + +(define rust-zeroize-1.9.0 + (crate-source "zeroize" "1.9.0" + "0kpnij2v1ig6g2mhc0bnci0lrdfdhiq40afbc0fahajqc9jiag71")) + +(define rust-zerotrie-0.2.5 + (crate-source "zerotrie" "0.2.5" + "0gss16krjzk22m57dz5hkdjg99ibj6pa41qr68na7w1jpp1nk8jf")) + +(define rust-zerovec-0.11.8 + (crate-source "zerovec" "0.11.8" + "1n3xlvyba8riys9s8awy4xp533phqycr78nbsmvdkh86g3hn815v")) + +(define rust-zerovec-derive-0.11.6 + (crate-source "zerovec-derive" "0.11.6" + "1ni5j8v99x3fcf3l8kp64b7aq4vf8y22jshfq74xs9mxkp1nzprl")) + +(define rust-zmij-1.0.23 + (crate-source "zmij" "1.0.23" + "06zwri21nnrl34rwinmvbciap8yk1mrl8qfg9pff7lgspc56sri9")) + +(define-cargo-inputs lookup-cargo-inputs + (my-tree-sitter-cli => + (list rust-addr2line-0.26.1 + rust-aho-corasick-1.1.5 + rust-allocator-api2-0.2.21 + rust-ansi-colours-1.2.3 + rust-anstream-1.0.0 + rust-anstyle-1.0.14 + rust-anstyle-parse-1.0.0 + rust-anstyle-query-1.1.5 + rust-anstyle-wincon-3.0.11 + rust-anyhow-1.0.104 + rust-arbitrary-1.4.2 + rust-ascii-1.1.0 + rust-async-trait-0.1.92 + rust-bindgen-0.72.1 + rust-bitflags-2.13.1 + rust-block-buffer-0.10.4 + rust-block2-0.6.2 + rust-bstr-1.13.1 + rust-bumpalo-3.20.3 + rust-bytemuck-1.25.2 + rust-bytes-1.12.1 + rust-cc-1.4.4 + rust-cexpr-0.6.0 + rust-cfg-if-1.0.4 + rust-cfg-aliases-0.2.2 + rust-chacha20-0.10.2 + rust-chunked-transfer-1.5.0 + rust-clang-sys-1.9.1 + rust-clap-4.6.6 + rust-clap-builder-4.6.6 + rust-clap-complete-4.6.9 + rust-clap-complete-nushell-4.6.2 + rust-clap-derive-4.6.4 + rust-clap-lex-1.1.0 + rust-cobs-0.3.0 + rust-colorchoice-1.0.5 + rust-combine-4.6.8 + rust-console-0.16.4 + rust-convert-case-0.11.0 + rust-cpp-demangle-0.5.1 + rust-cpufeatures-0.2.17 + rust-cpufeatures-0.3.1 + rust-cranelift-assembler-x64-0.135.1 + rust-cranelift-assembler-x64-meta-0.135.1 + rust-cranelift-bforest-0.135.1 + rust-cranelift-bitset-0.135.1 + rust-cranelift-codegen-0.135.1 + rust-cranelift-codegen-meta-0.135.1 + rust-cranelift-codegen-shared-0.135.1 + rust-cranelift-control-0.135.1 + rust-cranelift-entity-0.135.1 + rust-cranelift-frontend-0.135.1 + rust-cranelift-isle-0.135.1 + rust-cranelift-native-0.135.1 + rust-cranelift-srcgen-0.135.1 + rust-crc32fast-1.5.1 + rust-crypto-common-0.1.7 + rust-ctor-0.6.3 + rust-ctor-proc-macro-0.0.7 + rust-ctrlc-3.5.2 + rust-dialoguer-0.12.0 + rust-diff-0.1.13 + rust-digest-0.10.7 + rust-dispatch2-0.3.1 + rust-displaydoc-0.2.7 + rust-dtor-0.1.1 + rust-dtor-proc-macro-0.0.6 + rust-dunce-1.0.5 + rust-dyn-clone-1.0.20 + rust-either-1.18.0 + rust-embedded-io-0.4.0 + rust-embedded-io-0.6.1 + rust-encode-unicode-1.0.0 + rust-encoding-rs-0.8.35 + rust-equivalent-1.0.2 + rust-errno-0.3.14 + rust-etcetera-0.11.0 + rust-fastrand-2.5.0 + rust-file-id-0.2.3 + rust-find-msvc-tools-0.1.11 + rust-fnv-1.0.7 + rust-foldhash-0.1.5 + rust-foldhash-0.2.0 + rust-form-urlencoded-1.2.2 + rust-fsevent-sys-4.1.0 + rust-futures-0.3.34 + rust-futures-channel-0.3.34 + rust-futures-core-0.3.34 + rust-futures-io-0.3.34 + rust-futures-sink-0.3.34 + rust-futures-task-0.3.34 + rust-futures-util-0.3.34 + rust-fuzzy-matcher-0.3.7 + rust-generic-array-0.14.7 + rust-getrandom-0.4.3 + rust-gimli-0.33.0 + rust-glob-0.3.4 + rust-hashbrown-0.15.5 + rust-hashbrown-0.16.1 + rust-hashbrown-0.17.1 + rust-heck-0.5.0 + rust-html-escape-0.2.15 + rust-httpdate-1.0.3 + rust-icu-collections-2.3.0 + rust-icu-locale-core-2.3.0 + rust-icu-normalizer-2.3.0 + rust-icu-normalizer-data-2.3.0 + rust-icu-properties-2.3.0 + rust-icu-properties-data-2.3.0 + rust-icu-provider-2.3.1 + rust-ident-case-1.0.1 + rust-idna-1.1.0 + rust-idna-adapter-1.2.2 + rust-indexmap-2.14.1 + rust-indoc-2.0.7 + rust-inotify-0.11.5 + rust-inotify-sys-0.1.8 + rust-is-terminal-polyfill-1.70.2 + rust-itertools-0.13.0 + rust-itertools-0.14.0 + rust-itoa-1.0.18 + rust-jni-0.22.4 + rust-jni-macros-0.22.4 + rust-jni-sys-0.4.1 + rust-jni-sys-macros-0.4.1 + rust-js-sys-0.3.104 + rust-kqueue-1.2.1 + rust-kqueue-sys-1.1.2 + rust-leb128fmt-0.1.0 + rust-libc-0.2.189 + rust-libloading-0.8.9 + rust-libloading-0.9.0 + rust-libm-0.2.16 + rust-linux-raw-sys-0.12.1 + rust-litemap-0.8.3 + rust-log-0.4.34 + rust-mach2-0.6.0 + rust-memchr-2.8.3 + rust-memfd-0.6.5 + rust-minimal-lexical-0.2.1 + rust-mio-1.2.2 + rust-ndk-context-0.1.1 + rust-nix-0.31.3 + rust-nom-7.1.3 + rust-notify-8.2.0 + rust-notify-debouncer-full-0.7.0 + rust-notify-types-2.1.0 + rust-objc2-0.6.4 + rust-objc2-app-kit-0.3.2 + rust-objc2-core-foundation-0.3.2 + rust-objc2-encode-4.1.0 + rust-objc2-foundation-0.3.2 + rust-object-0.39.1 + rust-once-cell-1.21.4 + rust-once-cell-polyfill-1.70.2 + rust-pathdiff-0.2.3 + rust-percent-encoding-2.3.2 + rust-phf-0.14.0 + rust-phf-generator-0.14.0 + rust-phf-shared-0.14.0 + rust-pin-project-lite-0.2.17 + rust-postcard-1.1.3 + rust-potential-utf-0.1.6 + rust-pretty-assertions-1.4.1 + rust-prettyplease-0.2.37 + rust-proc-macro-crate-3.5.0 + rust-proc-macro2-1.0.107 + rust-pulley-interpreter-48.0.1 + rust-pulley-macros-48.0.1 + rust-quote-1.0.47 + rust-r-efi-6.0.0 + rust-rand-0.10.2 + rust-rand-core-0.10.1 + rust-ref-cast-1.0.27 + rust-ref-cast-impl-1.0.27 + rust-regalloc2-0.15.2 + rust-regex-1.13.1 + rust-regex-automata-0.4.18 + rust-regex-syntax-0.8.11 + rust-relative-path-2.0.1 + rust-rgb-0.8.53 + rust-rquickjs-0.12.2 + rust-rquickjs-core-0.12.2 + rust-rquickjs-macro-0.12.2 + rust-rquickjs-sys-0.12.2 + rust-rustc-demangle-0.1.28 + rust-rustc-hash-2.1.3 + rust-rustc-version-0.4.1 + rust-rustix-1.1.4 + rust-rustversion-1.0.23 + rust-same-file-1.0.6 + rust-schemars-1.2.2 + rust-schemars-derive-1.2.2 + rust-semver-1.0.28 + rust-serde-1.0.229 + rust-serde-core-1.0.229 + rust-serde-derive-1.0.229 + rust-serde-derive-internals-0.30.0 + rust-serde-json-1.0.151 + rust-sha2-0.10.9 + rust-shell-words-1.1.1 + rust-shlex-1.3.0 + rust-shlex-2.0.1 + rust-simd-cesu8-1.2.0 + rust-simdutf8-0.1.5 + rust-similar-2.7.0 + rust-siphasher-1.0.3 + rust-slab-0.4.12 + rust-smallvec-1.15.2 + rust-stable-deref-trait-1.2.1 + rust-streaming-iterator-0.1.9 + rust-strsim-0.11.1 + rust-syn-2.0.119 + rust-syn-3.0.4 + rust-synstructure-0.13.2 + rust-target-lexicon-0.13.5 + rust-tempfile-3.27.0 + rust-termcolor-1.4.1 + rust-thiserror-2.0.20 + rust-thiserror-impl-2.0.20 + rust-thread-local-1.1.10 + rust-tiny-http-0.12.0 + rust-tinystr-0.8.4 + rust-toml-datetime-1.1.1+spec-1.1.0 + rust-toml-edit-0.25.13+spec-1.1.0 + rust-toml-parser-1.1.3+spec-1.1.0 + rust-topological-sort-0.2.2 + rust-tracing-0.1.44 + rust-tracing-core-0.1.36 + rust-typenum-1.20.1 + rust-unicode-ident-1.0.24 + rust-unicode-segmentation-1.13.3 + rust-unicode-width-0.2.2 + rust-unindent-0.2.4 + rust-url-2.5.8 + rust-utf8-iter-1.0.4 + rust-utf8parse-0.2.2 + rust-version-check-0.9.5 + rust-walkdir-2.5.0 + rust-wasi-0.11.1+wasi-snapshot-preview1 + rust-wasm-bindgen-0.2.127 + rust-wasm-bindgen-macro-0.2.127 + rust-wasm-bindgen-macro-support-0.2.127 + rust-wasm-bindgen-shared-0.2.127 + rust-wasm-encoder-0.254.0 + rust-wasmparser-0.244.0 + rust-wasmparser-0.254.0 + rust-wasmprinter-0.254.0 + rust-wasmtime-48.0.1 + rust-wasmtime-c-api-impl-48.0.1 + rust-wasmtime-environ-48.0.1 + rust-wasmtime-internal-c-api-macros-48.0.1 + rust-wasmtime-internal-component-util-48.0.1 + rust-wasmtime-internal-core-48.0.1 + rust-wasmtime-internal-cranelift-48.0.1 + rust-wasmtime-internal-fiber-48.0.1 + rust-wasmtime-internal-jit-debug-48.0.1 + rust-wasmtime-internal-jit-icache-coherence-48.0.1 + rust-wasmtime-internal-unwinder-48.0.1 + rust-wasmtime-internal-versioned-export-macros-48.0.1 + rust-web-sys-0.3.104 + rust-webbrowser-1.2.4 + rust-widestring-1.2.1 + rust-winapi-util-0.1.11 + rust-windows-link-0.2.1 + rust-windows-sys-0.60.2 + rust-windows-sys-0.61.2 + rust-windows-targets-0.53.5 + rust-windows-aarch64-gnullvm-0.53.1 + rust-windows-aarch64-msvc-0.53.1 + rust-windows-i686-gnu-0.53.1 + rust-windows-i686-gnullvm-0.53.1 + rust-windows-i686-msvc-0.53.1 + rust-windows-x86-64-gnu-0.53.1 + rust-windows-x86-64-gnullvm-0.53.1 + rust-windows-x86-64-msvc-0.53.1 + rust-winnow-1.0.4 + rust-writeable-0.6.4 + rust-yansi-1.0.1 + rust-yoke-0.8.3 + rust-yoke-derive-0.8.2 + rust-zerofrom-0.1.8 + rust-zerofrom-derive-0.1.7 + rust-zeroize-1.9.0 + rust-zerotrie-0.2.5 + rust-zerovec-0.11.8 + rust-zerovec-derive-0.11.6 + rust-zmij-1.0.23))) + +(define-public tree-sitter + (package + (name "tree-sitter") + (version "0.27.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tree-sitter/tree-sitter") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "14fyd1kvr15b59v0adpx452yrg6405aagj8fxxiirvih6z9xv4az")) + (modules '((guix build utils))) + (snippet #~(begin + ;; Remove bundled ICU parts + (delete-file-recursively "lib/src/unicode"))))) + (build-system gnu-build-system) + (inputs (list icu4c)) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (delete 'configure) + ;; The library uses -fvisibility=hidden to compile, but this + ;; symbol is needed by the Rust bindings. + (add-after 'unpack 'patch-_ts_dup-visibility + (lambda _ + (substitute* "lib/src/tree.c" + (("int _ts_dup") + (string-append + "int __attribute__ ((visibility (\"default\"))) " + "_ts_dup")))))) + #:tests? #f ; there are no tests for the runtime library + #:make-flags + #~(list (string-append "PREFIX=" #$output) + (string-append "CC=" #$(cc-for-target))))) + (home-page "https://tree-sitter.github.io/tree-sitter/") + (synopsis "Incremental parsing system for programming tools") + (description + "Tree-sitter is a parser generator tool and an incremental parsing +library. It can build a concrete syntax tree for a source file and +efficiently update the syntax tree as the source file is edited. + +Tree-sitter aims to be: + +@itemize +@item General enough to parse any programming language +@item Fast enough to parse on every keystroke in a text editor +@item Robust enough to provide useful results even in the presence of syntax errors +@item Dependency-free so that the runtime library (which is written in pure C) +can be embedded in any application +@end itemize + +This package includes the @code{libtree-sitter} runtime library.") + (license license:expat))) + +(define-public tree-sitter-cli + (package + (inherit tree-sitter) + (name "tree-sitter-cli") + (source + (origin + (inherit (package-source tree-sitter)) + (snippet + #~(begin + ;; Remove the runtime library code and dynamically link to it + ;; instead. + (for-each delete-file-recursively + (find-files + "lib/src" + (lambda (file stat) + ;; These files are required for building the binding. + (not + (or (string-contains file "parser.h") + (string-contains file "imports.txt")))))) + (delete-file "lib/binding_rust/build.rs") + (with-output-to-file "lib/binding_rust/build.rs" + (lambda _ + (format #t "~ +use std::{env, fs, path::{Path, PathBuf}}; +fn main() { + let out_dir = PathBuf::from(env::var(\"OUT_DIR\").unwrap()); + fs::copy(\"src/wasm-stdlib/imports.txt\", + out_dir.join(\"stdlib-symbols.txt\")).unwrap(); + println!(\"cargo:rustc-link-lib=tree-sitter\"); +}~%"))))))) + (build-system cargo-build-system) + (inputs + (cons* tree-sitter graphviz node-lts (lookup-cargo-inputs 'my-tree-sitter-cli))) + (arguments + (list + #:cargo-test-flags + ''("--" + ;; Skip tests which rely on downloading grammar fixtures. It is + ;; difficult to support such tests given upstream does not encode + ;; which version of the grammars are expected. + ;; Instead, we do run some tests for each grammar in the tree-sitter + ;; build-system, by running `tree-sitter test'. This isn't as + ;; complete as running all tests from tree-sitter-cli, but it's a + ;; good compromise compared to maintaining two different sets of + ;; grammars (Guix packages vs test fixtures). + "--skip=tests::corpus_test" + "--skip=tests::highlight_test" + "--skip=tests::node_test" + "--skip=tests::parser_test" + "--skip=tests::pathological_test" + "--skip=tests::query_test" + "--skip=tests::tags_test" + "--skip=tests::test_highlight_test" + "--skip=tests::test_tags_test" + "--skip=tests::tree_test" + "--skip=tests::async_context_test" + "--skip=tests::text_provider_test" + "--skip=tests::detect_language" + "--skip=tests::language_test" + "--skip=tests::parser_hang_test" + ; I need to check if it's actually necessary to skip these new tests + "--skip=tests::async_boundary_test" + "--skip=tests::run_tests_single_passing" + "--skip=tests::run_tests_fail_fast") + ;; We're only packaging the CLI program so we do not need to install + ;; sources. + #:install-source? #f + #:cargo-install-paths ''("crates/cli") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-references + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "crates/generate/src/generate.rs" + (("(js_runtime\\.unwrap_or\\(\")node(\"\\))" _ prefix suffix) + (string-append + prefix + (search-input-file inputs "bin/node") + suffix))) + (substitute* "crates/cli/src/util.rs" + (("Command::new\\(\"dot\"\\)") + (string-append + "Command::new(\"" + (search-input-file inputs "bin/dot") + "\")")))))))) + (description "Tree-sitter is a parser generator tool and an incremental +parsing library. It can build a concrete syntax tree for a source file and +efficiently update the syntax tree as the source file is edited. + +Tree-sitter aims to be: + +@enumerate +@item General enough to parse any programming language. +@item Fast enough to parse on every keystroke in a text editor. +@item Robust enough to provide useful results even in the presence of syntax +errors. +@item Dependency-free so that the runtime library (which is written in pure C) +can be embedded in any application. +@end enumerate + +This package includes the @command{tree-sitter} command-line tool.") + (license license:expat))) + +(define (tree-sitter-delete-generated-files grammar-directories) + #~(begin + (use-modules (guix build utils)) + (define (delete-file-if-exists file) + ;; Not every package has all files that we want to delete. + (catch 'system-error + (lambda () (delete-file-recursively file)) + (lambda args + (unless (= ENOENT (system-error-errno args)) + (apply throw args))))) + (delete-file-if-exists "binding.gyp") + (delete-file-if-exists "bindings") + (for-each + (lambda (lang) + (with-directory-excursion lang + (delete-file-if-exists "src/grammar.json") + (delete-file-if-exists "src/node-types.json") + (delete-file-if-exists "src/parser.c") + (delete-file-if-exists "src/tree_sitter"))) + '#$grammar-directories))) + +(define* (tree-sitter-grammar + name text hash version + #:key + (commit (string-append "v" version)) + (repository-url + (format #f "https://github.com/tree-sitter/tree-sitter-~a" name)) + (grammar-directories '(".")) + (article "a") + (inputs '()) + (get-cleanup-snippet tree-sitter-delete-generated-files) + (license license:expat)) + "Returns a package for Tree-sitter grammar. NAME will be used with +tree-sitter- prefix to generate package name and also for generating +REPOSITORY-URL value if it's not specified explicitly, TEXT is a string which +will be used in description and synopsis. GET-CLEANUP-SNIPPET is a function, +it receives GRAMMAR-DIRECTORIES as an argument and should return a G-exp, +which will be used as a snippet in origin." + (let* ((multiple? (> (length grammar-directories) 1)) + (grammar-names (string-append text " grammar" (if multiple? "s" ""))) + (synopsis (string-append "Tree-sitter " grammar-names)) + (description + (string-append "This package provides " + (if multiple? "" article) (if multiple? "" " ") + grammar-names " for the Tree-sitter library.")) + (name (string-append "tree-sitter-" name))) + (package + (name name) + (version version) + (home-page repository-url) + (source (origin + (method git-fetch) + (uri (git-reference + (url repository-url) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 (base32 hash)) + (snippet + (get-cleanup-snippet grammar-directories)))) + (build-system tree-sitter-build-system) + (arguments (list #:grammar-directories grammar-directories)) + (inputs (if (promise? inputs) + (force inputs) + inputs)) + (synopsis synopsis) + (description description) + (license license)))) + +;;; Language grammars (sort alphabetically) + +(define-public tree-sitter-actionscript + (let ((commit "24919034fc78fdf9bedaac6616b6a60af20ab9b5") + (revision "0")) + (tree-sitter-grammar + "actionscript" "ActionScript" + "0gdkb7hi6nc6d3rza247c66nzi04m471b6fv32adxqjw76w5bg1d" + (git-version "0.1.0" revision commit) + #:repository-url "https://github.com/Rileran/tree-sitter-actionscript" + #:commit commit + #:get-cleanup-snippet + (lambda (grammar-directories) + #~(begin + (use-modules (guix build utils)) + (substitute* "grammar.js" + (("u\\{\\[0-9a-fA-F\\]\\+\\}") + "u\\{[0-9a-fA-F]+\\}")) + #$(tree-sitter-delete-generated-files grammar-directories)))))) + +(define-public tree-sitter-ada + (let ((version "0.1.0") ; In package.json, but untagged. + (commit "b23672d313b4c994ab96fd54f1b7ff15eac68a55") + (revision "0")) + (tree-sitter-grammar + "ada" "Ada" + "0ly6zd2hbng5gbs14yq6riqw2mbzvh0shc7lp2smzbv9ran6chjy" + (git-version version revision commit) + #:repository-url "https://github.com/briot/tree-sitter-ada" + #:commit commit))) + +(define-public tree-sitter-agda + ;; Use a later commit because some tests fail with the v1.3.1 tag. + (let ((commit "e8d47a6987effe34d5595baf321d82d3519a8527") + (revision "0")) + (tree-sitter-grammar + "agda" "Agda" + "1x06a1c7k5lyw4803h514yibmzizszg8dc6r4wj9gjnr1vw7l7p6" + (git-version "1.3.1" revision commit) + #:commit commit))) + +(define-public tree-sitter-arduino + (tree-sitter-grammar + "arduino" "Arduino" + "1h0h61xhs511l6ahv0isj9v59ndz8q3948dw9mi9lc7cp24jshdp" + "0.24.0" + #:repository-url + "https://github.com/tree-sitter-grammars/tree-sitter-arduino" + #:inputs (delay (list tree-sitter-c tree-sitter-cpp)) + #:article "an")) + +(define-public tree-sitter-asm + (tree-sitter-grammar + "asm" "ASM" + "0i5wxrwavhxqj04g6ix76q8vsggl9sq8jazasl9k53mag3rnchi5" + "0.24.0" + #:repository-url "https://github.com/RubixDev/tree-sitter-asm")) + +(define-public tree-sitter-astro + (let ((commit "213f6e6973d9b456c6e50e86f19f66877e7ef0ee") + (revision "0")) + (tree-sitter-grammar + "astro" "Astro" + "18asz2dsgkq4zj5frxigpzac00pgs4kvbp8l3x27z7yq6vgfr5af" + (git-version "0.0.1" revision commit) + #:repository-url "https://github.com/virchau13/tree-sitter-astro" + #:commit commit + #:inputs (delay (list tree-sitter-html)) + #:get-cleanup-snippet + (lambda (grammar-directories) + #~(begin + (use-modules (guix build utils)) + (mkdir-p "test/corpus") + (copy-recursively "corpus" "test/corpus") + #$(tree-sitter-delete-generated-files grammar-directories)))))) + +(define-public tree-sitter-awk + (tree-sitter-grammar + "awk" "AWK" + "1bglimp46cggq9kx92h943wnq2r6ymp7anwynjnl42wrdssc0drh" + "0.7.2" + #:repository-url "https://github.com/Beaglefoot/tree-sitter-awk")) + +(define-public tree-sitter-bash + (tree-sitter-grammar + "bash" "Bash" + "1smlcfkxxknhya1b1h72zj3ccg35szbg9mii2xwh7iq9acnlzpgc" + "0.23.3")) + +(define-public tree-sitter-beancount + (tree-sitter-grammar + "beancount" "Beancount" + "0r2ql0n4wkwbcdjpklxhsk91xm8q8dl9n9rdlqk585xagmxf1w4b" + "2.4.1" + #:repository-url "https://github.com/polarmutex/tree-sitter-beancount")) + +(define-public tree-sitter-bibtex + (let ((commit "ccfd77db0ed799b6c22c214fe9d2937f47bc8b34") + (revision "0")) + (tree-sitter-grammar + "bibtex" "Bibtex" + "0m7f3dkqbmy8x1bhl11m8f4p6n76wfvh99rp46zrqv39355nw1y2" + (git-version "0.1.0" revision commit) + #:repository-url "https://github.com/latex-lsp/tree-sitter-bibtex" + #:commit commit + #:license license:expat))) + +(define-public tree-sitter-bicep + (tree-sitter-grammar + "bicep" "Bicep" + "0ydz1vf6n8ky0vcgcmihr6ddfdlswnz8xa59zjiwdcra0qkf3azs" + "1.1.0" + #:repository-url + "https://github.com/tree-sitter-grammars/tree-sitter-bicep")) + +(define-public tree-sitter-bitbake + (tree-sitter-grammar + "bitbake" "BitBake" + "1pfma482nyc88x56v6l6rmhdy44qbwibrqri38wkkh66a1fka8ix" + "1.1.0" + #:repository-url + "https://github.com/tree-sitter-grammars/tree-sitter-bitbake" + #:get-cleanup-snippet + (lambda (grammar-directories) + #~(begin + (use-modules (guix build utils)) + ;; FIXME: Invalid node type INHERIT. + (substitute* "queries/highlights.scm" + (("^.*\"INHERIT\".*") "")) + #$(tree-sitter-delete-generated-files grammar-directories))))) + +(define-public tree-sitter-blueprint + (let ((commit "329699d55f3e3955091e13756563c3f320a561fc") + (revision "0")) + (tree-sitter-grammar + "blueprint" "Blueprint" + "0pdjka1sdw9dwilw3vjl3k3cn7pcyv7m57cmxqibashg316dygxm" + (git-version "0.0.0" revision commit) ; Upstream has not tagged any releases + #:repository-url "https://github.com/huanie/tree-sitter-blueprint" + #:commit commit + #:license license:expat))) + +(define-public tree-sitter-c + (tree-sitter-grammar + "c" "C" + "19yc4g5fdibfqbn49ggywk9k2by78s8lrsjp1cx2lagb1dvxnv42" + "0.24.1")) + +(define-public tree-sitter-cairo + (tree-sitter-grammar + "cairo" "Cairo" + "08ig80mqs0p00p09rfygrdfarqnn29xsgnlbqvnfdll4jlj5ilid" + "1.0.0" + #:repository-url + "https://github.com/tree-sitter-grammars/tree-sitter-cairo")) + +(define-public tree-sitter-capnp + (let ((commit "7b0883c03e5edd34ef7bcf703194204299d7099f") + (revision "0")) + (tree-sitter-grammar + "capnp" "Cap'n Proto" + "0ww98b15n9hr6afbnl0ckxs4q8y0c31cnga2pnjx369iwfwdkajq" + (git-version "1.5.0" revision commit) + #:commit commit + #:repository-url + "https://github.com/tree-sitter-grammars/tree-sitter-capnp"))) + +(define-public tree-sitter-chatito + (tree-sitter-grammar + "chatito" "Chatito" + "16pfm7s9zxdskmn1vg5ba6ni91zm5xncbri9pm0cd8pmld5w37wz" + "0.5.0" + #:repository-url + "https://github.com/tree-sitter-grammars/tree-sitter-chatito")) + +(define-public tree-sitter-clarity + (tree-sitter-grammar + "clarity" "Clarity" + "14qprf98199rnlr6hrjmzvn6d3ch9z8yxgjxva6m6gk9hcyyfy84" + "0.0.5" + #:repository-url + "https://github.com/xlittlerag/tree-sitter-clarity")) + +(define-public tree-sitter-clisp + (tree-sitter-grammar + "clisp" "Common Lisp" + "0xg3ay8l62h7s35abkxi4gjfvndzdvvrpgh1z980q1ib5935sxf0" + "0.4.1" + #:inputs (delay (list tree-sitter-clojure)) + #:repository-url + "https://github.com/tree-sitter-grammars/tree-sitter-commonlisp")) + +(define-public tree-sitter-clojure + (tree-sitter-grammar + "clojure" "Clojure" + "1j41ba48sid6blnfzn6s9vsl829qxd86lr6yyrnl95m42x8q5cx4" + "0.0.13" + #:repository-url "https://github.com/sogaiu/tree-sitter-clojure")) + +(define-public tree-sitter-cmake + (tree-sitter-grammar + "cmake" "CMake" + "0b30ci696iabk3hm03rm4c3qi72d7xsbipc6g0ixxxj2qihdl2fy" + "0.7.0" + #:repository-url "https://github.com/uyha/tree-sitter-cmake")) + +(define-public tree-sitter-comment + (tree-sitter-grammar + "comment" "comment tags (like TODO, FIXME)" + "1x0l8phr4x07n739z0ax8faxq0l6irmpkdprrv1z088zqdr43l1v" + "0.3.0" + #:repository-url "https://github.com/stsewd/tree-sitter-comment")) + +(define-public tree-sitter-cpon + (let ((commit "594289eadfec719198e560f9d7fd243c4db678d5") + (revision "0")) + (tree-sitter-grammar + "cpon" "ChainPack Object Notation (CPON)" + "0kzs3i62vrckwadp2z2gdfzj3mjparh1di0zcawy94635brvvgrn" + (git-version "1.0.0" revision commit) + #:repository-url + "https://github.com/tree-sitter-grammars/tree-sitter-cpon" + #:commit commit + #:get-cleanup-snippet + (lambda (grammar-directories) + #~(begin + (use-modules (guix build utils)) + ;; FIXME: Language not found. + (delete-file-recursively "test/highlight") + #$(tree-sitter-delete-generated-files grammar-directories)))))) + +(define-public tree-sitter-cpp + (tree-sitter-grammar + "cpp" "C++" + "0sbvvfa718qrjmfr53p8x3q2c19i4vhw0n20106c8mrvpsxm7zml" + "0.23.4" + #:inputs (list tree-sitter-c))) + +(define-public tree-sitter-c-sharp + (tree-sitter-grammar + "c-sharp" "C#" + "0w6xdb8m38brhin0bmqsdqggdl95xqs3lbwq7azm5gg94agz9qf1" + "0.23.1")) + +(define-public tree-sitter-css + (tree-sitter-grammar + "css" "CSS" + "0c5j9zyjcykmraix1agbc0gdk85zs2v379q0aykr10fi9w2r9z9c" + "0.23.2")) + +(define-public tree-sitter-csv + (tree-sitter-grammar + "csv" "CSV" + "0a1giyifli78chnshzzw4q6y7gqlfkg6mlmvb7kzbw9ss9hlx2rb" + "1.2.0" + #:repository-url + "https://github.com/tree-sitter-grammars/tree-sitter-csv" + #:grammar-directories '("csv" "psv" "tsv"))) + +(define-public tree-sitter-cuda + (tree-sitter-grammar + "cuda" "Cuda" + "116fa26bjh6a88kdshqq5hp6fq4ik95dpaiidw8rn90xxwwl0zxi" + "0.21.1" + #:repository-url + "https://github.com/tree-sitter-grammars/tree-sitter-cuda" + #:inputs (list tree-sitter-c + tree-sitter-cpp))) + +(define-public tree-sitter-cypher + (let ((commit "7553c0d18cd41237a64653bb91a09d70988f7300") + (revision "0")) + (tree-sitter-grammar + "cypher" "Cypher" + "14acb8rn9s1ps7gnw0vsacy6dn0qq1qvpblakcdgf598w316p4xa" + "M23" + #:repository-url "https://github.com/taekwombo/tree-sitter-cypher" + #:commit commit))) + +(define-public tree-sitter-d + (let ((commit "45e5f1e9d6de2c68591bc8e5ec662cf18e950b4a") + (revision "0")) + (tree-sitter-grammar + "d" "D" + "1y0kczf4yvk5qbvl5dcc8vf5xjjf2md44v0h3iv8lcmbjn093pmb" + (git-version "0.8.2" revision commit) + #:commit commit + #:repository-url + "https://github.com/gdamore/tree-sitter-d" + #:get-cleanup-snippet + (lambda (grammar-directories) + #~(begin + (use-modules (guix build utils)) + ;; FIXME: Language not found. + (delete-file-recursively "test/highlight") + #$(tree-sitter-delete-generated-files grammar-directories)))))) + +(define-public tree-sitter-dart + (let ((version "1.0.0") + (commit "d4d8f3e337d8be23be27ffc35a0aef972343cd54") + (revision "0")) + (tree-sitter-grammar + "dart" "Dart" + "09k4nclfvclwcz6lza4p2rkm25dpdasj800dn47hvm1b5al5iyym" + (git-version version revision commit) + #:commit commit + #:repository-url "https://github.com/UserNobody14/tree-sitter-dart"))) + +(define-public tree-sitter-devicetree + (tree-sitter-grammar + "devicetree" "Devicetree" + "13rm15p9mrdklys0d720xy386pnvirxxjswg0wi1m87hs8i49qns" + "0.11.1" + #:repository-url "https://github.com/joelspadin/tree-sitter-devicetree" + #:get-cleanup-snippet + (lambda (grammar-directories) + #~(begin + (for-each delete-file '("parser.exp" "parser.lib")) + #$(tree-sitter-delete-generated-files grammar-directories))) + #:license license:expat)) + +(define-public tree-sitter-dockerfile + (tree-sitter-grammar + "dockerfile" "Dockerfile" + "09iw9mqlpgsi6ak4mxrv16anvmbyap6vf61r2pi2lqdp9h1mp7g0" + "0.2.0" + #:repository-url "https://github.com/camdencheek/tree-sitter-dockerfile")) + +(define-public tree-sitter-dot + ;; 0.1.6 is taken from Cargo.toml. The package.json has 0.1.5. + (let ((version "0.1.6") + (commit "9ab85550c896d8b294d9b9ca1e30698736f08cea") + (revision "0")) + (tree-sitter-grammar + "dot" "Dot" + "013brrljrhgpnks1r0cdvj93l303kb68prm18gpl96pvhjfci063" + (git-version version revision commit) + #:repository-url "https://github.com/rydesun/tree-sitter-dot" + #:commit commit))) + +(define-public tree-sitter-doxygen + (let ((version "1.1.0") + (commit "1e28054cb5be80d5febac082706225e42eff14e6") + (revision "0")) + (tree-sitter-grammar + "doxygen" "Doxygen" + "11xflk40xp7x7f4h9knhy997k79psrw3ik9m0xkc2vzqi57l9by2" + (git-version version revision commit) + #:commit commit + #:repository-url + "https://github.com/tree-sitter-grammars/tree-sitter-doxygen"))) + +(define-public tree-sitter-elisp + (tree-sitter-grammar + "elisp" "Emacs Lisp" + "0xymhprxa7kamc9cvlprg8s2rm61qcvbfazggny9kw45yj8rqvak" + "1.5.0" + #:commit "1.5.0" + #:repository-url "https://github.com/Wilfred/tree-sitter-elisp" + #:get-cleanup-snippet + (lambda (grammar-directories) + #~(begin + (use-modules (guix build utils)) + ;; FIXME: Language not found. + (delete-file-recursively "test/highlight") + #$(tree-sitter-delete-generated-files grammar-directories))))) + +(define-public tree-sitter-elixir + (tree-sitter-grammar + "elixir" "Elixir" + "12i0z8afdzcznn5dzrssr7b7jx4h7wss4xvbh3nz12j6makc7kzl" + "0.3.4" + #:article "an" + #:repository-url "https://github.com/elixir-lang/tree-sitter-elixir" + #:get-cleanup-snippet + (lambda (grammar-directories) + #~(begin + ;; FIXME: Failure - row: 18, column: 4, expected highlight + ;; 'comment.doc', actual highlights: none. + (delete-file "test/highlight/module.ex") + #$(tree-sitter-delete-generated-files grammar-directories))) + #:license (list license:asl2.0 license:expat))) + +(define-public tree-sitter-elm + (let ((commit "3b373a3ccb48f31aa4b7ddc9092e2f5e24ab7aed") + (revision "0")) + (tree-sitter-grammar + "elm" "Elm" + "1cfkqi1vgxg7bkdda1vy9wqz6ap61fwjcdv9qzkcfzxaqr5z8dbw" + (git-version "5.7.0" revision commit) + #:article "an" + #:repository-url "https://github.com/elm-tooling/tree-sitter-elm" + #:commit commit + #:get-cleanup-snippet + (lambda (grammar-directories) + #~(begin + (for-each + delete-file + '("docs/js/tree-sitter-elm.wasm" "docs/js/tree-sitter.wasm")) + #$(tree-sitter-delete-generated-files grammar-directories)))))) + +(define-public tree-sitter-embedded-template + (tree-sitter-grammar + "embedded-template" "embedded template (like ERB and EJS)" + "1vq9dywd9vcy59f6i5mk5n7vwk67g8j5x77czg7avpznskgfhqhb" + "0.23.2" + #:article "an")) + +(define-public tree-sitter-erlang + (let ((commit "364e323b32d098ad0e7b29e7adb4005c2bb5cf34") + (revision "0")) + (tree-sitter-grammar + "erlang" "Erlang" + "17dkvygqrx4v3y568jg72q6rdli5bp55l3zfqxvq6b5ibw48kilq" + (git-version "0.14.0" revision commit) + #:repository-url "https://github.com/WhatsApp/tree-sitter-erlang" + #:commit commit + #:get-cleanup-snippet + (lambda (grammar-directories) + #~(begin + (use-modules (guix build utils)) + ;; FIXME: Language not found. + (delete-file-recursively "test/highlight") + #$(tree-sitter-delete-generated-files grammar-directories)))))) + +(define-public tree-sitter-firrtl + (let ((version "0.8.0") + (commit "8503d3a0fe0f9e427863cb0055699ff2d29ae5f5") + (revision "0")) + (tree-sitter-grammar + "firrtl" "FIRRTL" + "0mmnsks3b21b1dixi85jds31ykgrmzl3hkkc1r7c8k4vdrr0qq93" + (git-version version revision commit) + #:commit commit + #:repository-url + "https://github.com/tree-sitter-grammars/tree-sitter-firrtl" + #:license license:asl2.0))) + +(define-public tree-sitter-fish + (tree-sitter-grammar + "fish" "Fish" + "1l8qmmligfcpf4amqghdv9c4nvs5wbhiifhl7016l7793rfzl235" + "3.6.0" + #:commit "3.6.0" + #:repository-url + "https://github.com/ram02z/tree-sitter-fish" + #:get-cleanup-snippet + (lambda (grammar-directories) + #~(begin + (use-modules (guix build utils)) + ;; FIXME: Language not found. + (delete-file-recursively "test/highlight") + #$(tree-sitter-delete-generated-files grammar-directories))) + #:license license:unlicense)) + +(define-public tree-sitter-fortran + (let ((version "0.5.1") + ;; Can't use the tag above directly; the build at that tag is + ;; non‑deterministic, so pin to a later commit. + (commit "8334abca785db3a041292e3b3b818a82a55b238f") + (revision "0")) + (tree-sitter-grammar + "fortran" "Fortran" + "0iwjz7ks0barg6na966jbkvzi8whgys8qh6arxlaygr9b6mhq39i" + (git-version version revision commit) + #:repository-url + "https://github.com/stadelmanma/tree-sitter-fortran" + #:commit commit))) + +(define-public tree-sitter-f-sharp + (let ((commit "5141851c278a99958469eb1736c7afc4ec738e47") + (revision "0")) + (tree-sitter-grammar + "f-sharp" "F#" + "1mk3adn7q6zwrdxpzkvzmvpsqg5a6ijb50qhw5pd46p3scxmp6kh" + (git-version "0.1.0" revision commit) + #:commit commit + #:repository-url "https://github.com/ionide/tree-sitter-fsharp" + #:grammar-directories '("fsharp" "fsharp_signature")))) + +(define-public tree-sitter-func + (let ((version "1.0.0") + (commit "c1d2cc41b39760127a8cd5d4f4923e27114c373b") + (revision "0")) + (tree-sitter-grammar + "func" "FunC" + "066g8jn2snmcxwm74wqyxxz2nz2vsjlwhdc455l389czddnncf2j" + (git-version version revision commit) + #:commit commit + #:repository-url + "https://github.com/tree-sitter-grammars/tree-sitter-func"))) + +(define-public tree-sitter-gdscript + (let ((version "6.0.0") + ;; Can't use the tag above directly; the build at that tag is + ;; non‑deterministic, so pin to a later commit. + (commit "839cd921c8aa8b79c9afe2eb71a6a7bfa809e995") + (revision "0")) + (tree-sitter-grammar + "gdscript" "GDScript" + "00icy0dpdmhz2lfa35npvj26y0m37f0l73asxn7f2prmpm2jsm8c" + (git-version version revision commit) + #:repository-url + "https://github.com/PrestonKnopp/tree-sitter-gdscript" + #:commit commit))) + +(define-public tree-sitter-gitattributes + (let ((commit "1b7af09d45b579f9f288453b95ad555f1f431645") + (revision "0")) + (tree-sitter-grammar + "gitattributes" "Git .gitattributes" + "1mmcxw3aqx7skgihl8mman5spjz4cmc0k06jca7fjng904kdqw3q" + (git-version "0.1.6" revision commit) + #:commit commit + #:repository-url + "https://github.com/tree-sitter-grammars/tree-sitter-gitattributes"))) + +(define-public tree-sitter-gitcommit + (let ((commit "a716678c0f00645fed1e6f1d0eb221481dbd6f6d") + (revision "0")) + (tree-sitter-grammar + "gitcommit" "Git commit" + "0syrmx6icp5n2iyawzwmz7nvpzi5iabrvn138vs7dlv9vyrxr1r9" + (git-version "0.3.3" revision commit) + #:commit commit + #:repository-url + "https://github.com/gbprod/tree-sitter-gitcommit" + #:license license:wtfpl2))) + +(define-public tree-sitter-gitignore + (let ((version "0.1.0") + (commit "f4685bf11ac466dd278449bcfe5fd014e94aa504") + (revision "0")) + (tree-sitter-grammar + "gitignore" "Git .gitignore" + "17rar33y4dngmx69kjiw6wgrsd6kc0c8w4xa4rx06rjmv7b1hfij" + (git-version version revision commit) + #:commit commit + #:repository-url + "https://github.com/shunsambongi/tree-sitter-gitignore"))) + +(define-public tree-sitter-gleam + (tree-sitter-grammar + "gleam" "Gleam" + "0d7z5bk6x0qi3wy4d8174a69wxsc4287c7fcdfabkn8dixpa920q" + "1.1.0" + #:repository-url + "https://github.com/gleam-lang/tree-sitter-gleam" + #:license license:asl2.0)) + +(define-public tree-sitter-glsl + (tree-sitter-grammar + "glsl" "OpenGL Shading Language (GLSL)" + "0d0ymklms4a91b310f0vwl80yy50sji4qq9sdgly5qh42kyjnijb" + "0.2.0" + #:inputs (list tree-sitter-c) + #:repository-url + "https://github.com/tree-sitter-grammars/tree-sitter-glsl")) + +(define-public tree-sitter-gn + (let ((version "1.0.0") + (commit "bc06955bc1e3c9ff8e9b2b2a55b38b94da923c05") + (revision "0")) + (tree-sitter-grammar + "gn" "GN" + "0i6f0kar3c734ag5bli519ah3rmamsk8kihbw5ga5b0ihrxqfzja" + (git-version version revision commit) + #:commit commit + #:repository-url + "https://github.com/tree-sitter-grammars/tree-sitter-gn"))) + +(define-public tree-sitter-go + (tree-sitter-grammar + "go" "Go" + "0yi8if9mqzzcs4qflflz90hhaxkzlq54wia3s0iiqzfqxk24a61g" + "0.23.4")) + +(define-public tree-sitter-gomod + (tree-sitter-grammar + "gomod" "Go .mod" + "1vbg4fn54a7lbwcrvjdx3nrwgw5y925chbbb7sd6kwms1434yyhb" + "1.1.0" + #:repository-url "https://github.com/camdencheek/tree-sitter-go-mod")) + +(define-public tree-sitter-gosum + (let ((version "1.0.0") + (commit "27816eb6b7315746ae9fcf711e4e1396dc1cf237") + (revision "0")) + (tree-sitter-grammar + "gosum" "Go .sum" + "13h690k9q8kf7mldcps10h0kj0bdnlkfml9zkcawdswx8r7wblzn" + (git-version version revision commit) + #:commit commit + #:repository-url + "https://github.com/tree-sitter-grammars/tree-sitter-go-sum"))) + +(define-public tree-sitter-gpr + (let ((version "0.1.0") ; In package.json, but untagged + (commit "cea857d3c18d1385d1f5b66cd09ea1e44173945c") + (revision "0")) + (tree-sitter-grammar + "gpr" "GNAT Project" + "0mf6ghqdyn0qbani9hg67yr6a68cbbbvhn734ndygxm30vqdz9xn" + (git-version version revision commit) + #:repository-url "https://github.com/brownts/tree-sitter-gpr" + #:commit commit + ;; binding.gyp & bindings is not part of this grammar. + #:get-cleanup-snippet + (lambda (grammar-directories) + #~(begin + (use-modules (guix build utils)) + (for-each + (lambda (lang) + (with-directory-excursion lang + (delete-file "src/grammar.json") + (delete-file "src/node-types.json") + (delete-file "src/parser.c") + (delete-file-recursively "src/tree_sitter"))) + '#$grammar-directories)))))) + +(define-public tree-sitter-graphql + (let ((commit "5e66e961eee421786bdda8495ed1db045e06b5fe") + (revision "0")) + (tree-sitter-grammar + "graphql" "GraphQL" + "0xvrd6p9rxdjpqfq575ap6hpl2f7dad5i4d4m05w1qk9jx33vw9n" + (git-version "0.0.1" revision commit) + #:commit commit + #:repository-url + "https://github.com/bkegley/tree-sitter-graphql" + #:get-cleanup-snippet + (lambda (grammar-directories) + #~(begin + (use-modules (guix build utils)) + (mkdir-p "test/corpus") + (copy-recursively "corpus" "test/corpus") + ;; FIXME: Impossible pattern. + (substitute* "queries/graphql/formatter.scm" + (("(\\(input_value_definition(.*@name)?\\))" all value _) + (string-append "(input_fields_definition " value ")"))) + #$(tree-sitter-delete-generated-files grammar-directories)))))) + +(define-public tree-sitter-groovy + (let ((version "0.0.1") + (commit "86911590a8e46d71301c66468e5620d9faa5b6af") + (revision "0")) + (tree-sitter-grammar + "groovy" "Groovy" + "0vbsg5xkdja6xyp8nm7g9fs4ndaq3qz6lq8vk9c7l2znw6bb17gb" + (git-version version revision commit) + #:commit commit + #:repository-url + "https://github.com/murtaza64/tree-sitter-groovy"))) + +(define-public tree-sitter-gstlaunch + (let ((version "0.1.0") + (commit "cf696c7f5e7265a7f6bd0cd1cc8864edd917a3de") + (revision "0")) + (tree-sitter-grammar + "gstlaunch" "gst-launch-1.0" + "0kd2pmh5jq0vc9mdzf2w12hn8qrcg3jybys1q4j2dnhqcalzmppa" + (git-version version revision commit) + #:commit commit + #:repository-url + "https://github.com/tree-sitter-grammars/tree-sitter-gstlaunch"))) + +(define-public tree-sitter-hack + (let ((version "0.0.4") + (commit "bc5b3a10d6d27e8220a113a9a7fe9bec0a1574b0") + (revision "0")) + (tree-sitter-grammar + "hack" "Hack" + "08rmlbxhb79d4zb0rb5wwkm4cqgy4a2l8zh37p2kx9gr352wjl3m" + (git-version version revision commit) + #:commit commit + #:repository-url "https://github.com/slackhq/tree-sitter-hack"))) + +(define-public tree-sitter-hare + (let ((version "0.0.1") + (commit "fb6ea01461441ec7c312e64e326649f5e9011a64") + (revision "0")) + (tree-sitter-grammar + "hare" "Hare" + "0c1zswqig2x0qxg5svd5r17vrwi282x6is9irll2vadkfpfm83r9" + (git-version version revision commit) + #:commit commit + #:repository-url "https://git.sr.ht/~ecs/tree-sitter-hare" + #:license license:expat))) + +(define-public tree-sitter-haskell + (tree-sitter-grammar + "haskell" "Haskell" + "08qzkvyc830k56j5lglfzmlp03ygixf9vlrpazbndqvqk20n56xa" + "0.15.0" + #:get-cleanup-snippet + (lambda (grammar-directories) + #~(begin + (delete-file "test/highlight/Basic.hs") ;FIXME: Language not found. + #$(tree-sitter-delete-generated-files grammar-directories))))) + +(define-public tree-sitter-haxe + (let ((commit "a55f3e2cf1e4449200fd089a80d3af642bcf5f94") + (revision "0")) + (tree-sitter-grammar + "haxe" "Haxe" + "0wyrc7l3xav805xmypfp9clgxacm080is598lr3raa2sb31rwdl3" + (git-version "0.13.0" revision commit) + #:commit commit + #:repository-url + "https://github.com/vantreeseba/tree-sitter-haxe" + #:get-cleanup-snippet + (lambda (grammar-directories) + #~(begin + (use-modules (guix build utils)) + ;; FIXME: No language found. + (delete-file "queries/highlights.scm") + (delete-file-recursively "test/highlight") + #$(tree-sitter-delete-generated-files grammar-directories)))))) + +(define-public tree-sitter-hcl + (let ((commit "de10d494dbd6b71cdf07a678fecbf404dbfe4398") + (revision "0")) + (tree-sitter-grammar + "hcl" "HCL" + "0dpxrr7m1k4kjasgz6v8kj7ldp0k6jcxlzcrr09qv7209v24s4x1" + (git-version "1.1.0" revision commit) + #:article "an" + #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-hcl" + #:commit commit + #:license license:asl2.0))) + +(define-public tree-sitter-heex + (tree-sitter-grammar + "heex" "Heex" + "0d0ljmxrvmr8k1wc0hd3qrjzwb31f1jaw6f1glamw1r948dxh9xf" + "0.8.0" + #:repository-url "https://github.com/phoenixframework/tree-sitter-heex")) + +(define-public tree-sitter-hlsl + (tree-sitter-grammar + "hlsl" "HLSL" + "0d850bxzxmbxgxjdh219ag2k3qvbphly1y0hdbs2zsqdsdgf0s05" + "0.2.0" + #:repository-url + "https://github.com/tree-sitter-grammars/tree-sitter-hlsl" + #:inputs (list tree-sitter-c + tree-sitter-cpp) + #:article "an")) + +(define-public tree-sitter-html + (tree-sitter-grammar + "html" "HTML" + "0slhrmwcw2xax4ylyaykx4libkzlaz2lis8x8jmn6b3hbdxlrpix" + "0.23.2")) + +(define-public tree-sitter-hyprlang + (tree-sitter-grammar + "hyprlang" "Hyprlang" + "171p3hj36a1jqflg9xv138445j4m4m16na6bgpm1km3l67jhvl54" + "3.1.0" + #:repository-url + "https://github.com/tree-sitter-grammars/tree-sitter-hyprlang")) + +(define-public tree-sitter-ini + (let ((version "1.3.0") + (commit "32b31863f222bf22eb43b07d4e9be8017e36fb31") + (revision "0")) + (tree-sitter-grammar + "ini" "INI" + "0sp9075fllimy6zrw2gx5mij0igl9zvcrakh23wn7m5wh0w9lq4i" + (git-version version revision commit) + #:commit commit + #:repository-url "https://github.com/justinmk/tree-sitter-ini" + #:article "an" + #:license license:asl2.0))) + +(define-public tree-sitter-janet + (tree-sitter-grammar + "janet" "Janet" + "1sg862gqxn5y86sqa4habyicsr1ax70i7w8ibnn2yyx1bzn99jqn" + "0.1.0" + #:repository-url "https://github.com/GrayJack/tree-sitter-janet" + #:license license:bsd-3)) + +(define-public tree-sitter-java + (tree-sitter-grammar + "java" "Java" + "11j4ifhl5hsmb2sa651cp5xds9cjgjynl86yivvk6bnr2ba0xw9s" + "0.23.5")) + +(define-public tree-sitter-java-properties + (tree-sitter-grammar + "java-properties" "Java properties" + "0y2w3szzmn4y6m0fh0zi4xqfwr9lm849abrpsi3i3dlz9rnhcs71" + "0.3.0" + #:repository-url + "https://github.com/tree-sitter-grammars/tree-sitter-properties")) + +(define-public tree-sitter-javascript + (tree-sitter-grammar + "javascript" "JavaScript(JSX)" + "03v1gpr5lnifrk4lns690fviid8p02wn7hfdwp3ynp7lh1cid63a" + "0.23.1")) + +(define-public tree-sitter-jsdoc + (tree-sitter-grammar + "jsdoc" "JSDoc" + "1qrgan1xpj717qmwdbgb3lqjgffyhsw0qxhjwhdhqfv2lgkw4cn6" + "0.25.0")) + +(define-public tree-sitter-json + (tree-sitter-grammar + "json" "JSON" + "0p0fiqi5imxm13s1fs6bhqw6v11n79ri1af3d072zm7jqkcl5mhc" + "0.24.8")) + +(define-public tree-sitter-jsonnet + (let ((version "0.0.1") + (commit "ddd075f1939aed8147b7aa67f042eda3fce22790") + (revision "0")) + (tree-sitter-grammar + "jsonnet" "JSONNET" + "1bfdjxp0h95d124bzlhlvc9b5q19cdj716aym41nyl6z5a992c9q" + (git-version version revision commit) + #:commit commit + #:repository-url + "https://github.com/sourcegraph/tree-sitter-jsonnet"))) + +(define-public tree-sitter-julia + (tree-sitter-grammar + "julia" "Julia" + "0xi04a48ly438gar25bkkvvr8by4dd013cnafbjdysqjfs04q2wg" + "0.23.1")) + +(define-public tree-sitter-just + (tree-sitter-grammar + "just" "Just" + "0zkdr09myjzp75cmyndzi70kzkbkr3l2hglyb79b1an8w49vkdcn" + "0.2.0" + #:repository-url + "https://github.com/casey/tree-sitter-just" + #:get-cleanup-snippet + (lambda (grammar-directories) + #~(begin + (use-modules (guix build utils)) + ;; FIXME: test/highlight/statements.just fails + (with-directory-excursion "test/highlight" + (delete-file "statements.just")) + #$(tree-sitter-delete-generated-files grammar-directories))))) + +(define-public tree-sitter-kconfig + (tree-sitter-grammar + "kconfig" "Kconfig" + "1gjh5pz2hwccfcljz3qlg66b6rgv3wsv1bdml1gzrphca9xxz66a" + "1.3.0" + #:repository-url + "https://github.com/tree-sitter-grammars/tree-sitter-kconfig")) + +(define-public tree-sitter-kdl + (tree-sitter-grammar + "kdl" "KDL" + "1015x24ffrvzb0m0wbqdzmaqavpnjw0gvcagxi9b6vj3n1ynm0ps" + "1.1.0" + #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-kdl")) + +(define-public tree-sitter-kotlin + (tree-sitter-grammar + "kotlin" "Kotlin" + "0bv21rcypi9dx87kgfr89mg8qfc7ik1g1fcb8am7ss17by8badwk" + "0.3.8" + #:repository-url "https://github.com/fwcd/tree-sitter-kotlin" + #:commit "0.3.8")) + +(define-public tree-sitter-latex + (tree-sitter-grammar + "latex" "LaTeX" + "18dyda7299imb6i2jnjpr7z2jdrjn804c3958nkkpxzzfhbq39h7" + "0.4.0" + #:repository-url "https://github.com/latex-lsp/tree-sitter-latex")) + +(define-public tree-sitter-linkerscript + (let ((version "1.0.0") + (commit "f99011a3554213b654985a4b0a65b3b032ec4621") + (revision "0")) + (tree-sitter-grammar + "linkerscript" "Linker script" + "004irhiaj5n4sgr0fqwqxnijsbalvn3ahc2ys4s9l33rr4hhr3qf" + (git-version version revision commit) + #:commit commit + #:repository-url + "https://github.com/tree-sitter-grammars/tree-sitter-linkerscript"))) + +(define-public tree-sitter-llvm + (let ((commit "2914786ae6774d4c4e25a230f4afe16aa68fe1c1") + (revision "0")) + (tree-sitter-grammar + "llvm" "LLVM" + "0k02dak264y57ng0mxdg9z9hcb4b0jgyd1xm88h4f1bcq6sah54c" + (git-version "1.1.0" revision commit) + #:commit commit + #:repository-url + "https://github.com/benwilliamgraham/tree-sitter-llvm"))) + +(define-public tree-sitter-lua-0.4 + (tree-sitter-grammar + "lua" "Lua" + "082hc274h96sa98n3vxicjmjvnbdhrpjaimxsh002xl69rdl80jm" + "0.4.0" + #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-lua" + #:get-cleanup-snippet + (lambda (grammar-directories) + #~(begin + (use-modules (guix build utils)) + (delete-file-recursively "test/highlight") ;FIXME + #$(tree-sitter-delete-generated-files grammar-directories))))) + +(define-public tree-sitter-lua + (tree-sitter-grammar + "lua" "Lua" + "1mhlwpj4ajqajgjw99l9xhiqnyg9hwn7zdgvdw037vk3k8vrldjp" + "0.5.0" + #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-lua" + #:get-cleanup-snippet + (lambda (grammar-directories) + #~(begin + (use-modules (guix build utils)) + (delete-file-recursively "test/highlight") ;FIXME + #$(tree-sitter-delete-generated-files grammar-directories))))) + +(define-public tree-sitter-luadoc + (let ((version "1.1.0") + (commit "818acda56809f994274de64a42f97f509b3c0ad2") + (revision "0")) + (tree-sitter-grammar + "luadoc" "Luadoc/LuaCATS" + "1sb0zgd2gk0x18c45f5y9pz5fr8mil9adsspa9q7kbd2hwrf14gi" + (git-version version revision commit) + #:commit commit + #:repository-url + "https://github.com/tree-sitter-grammars/tree-sitter-luadoc"))) + +(define-public tree-sitter-lua-patterns + (let ((version "1.0.1") + (commit "31461ae9bd0866cb5117cfe5de71189854fd0f3e") + (revision "0")) + (tree-sitter-grammar + "lua-patterns" "Lua patterns" + "1wfsfh44jn7m9kx0lfsbrf0hqavad142wl2pffab3mvpmrnawva9" + (git-version version revision commit) + #:commit commit + #:repository-url + "https://github.com/tree-sitter-grammars/tree-sitter-luap"))) + +(define-public tree-sitter-luau + (tree-sitter-grammar + "luau" "Luau" + "00j60425gp0pzrfds0wzr0k1wynbp0zq1saagpnglkmid41xk9p6" + "1.2.0" + #:repository-url + "https://github.com/tree-sitter-grammars/tree-sitter-luau" + #:inputs (list tree-sitter-lua-0.4) + #:get-cleanup-snippet + (lambda (grammar-directories) + #~(begin + (use-modules (guix build utils)) + (substitute* "grammar.js" + (("@muniftanjim/") "@tree-sitter-grammars/")) + #$(tree-sitter-delete-generated-files grammar-directories))))) + +(define-public tree-sitter-magik + (let ((version "0.0.1") + (commit "1fd4c5502fd375c157bbe0916834f697c97704bb") + (revision "0")) + (tree-sitter-grammar + "magik" "Magik" + "07zdsilaa97c4hq1pj0qiyhrkbzhawnqc7sbsvr0nsz6n5jj3gwx" + (git-version version revision commit) + #:commit commit + #:repository-url + "https://github.com/krn-robin/tree-sitter-magik"))) + +(define-public tree-sitter-make + (tree-sitter-grammar + "make" "Makefile" + "0g8k9rfmc979lza2cx5xwla1ic2p9hpvm0h2sgfs4r29kw1a2ass" + "1.1.1" + #:repository-url + "https://github.com/tree-sitter-grammars/tree-sitter-make")) + +(define-public tree-sitter-markdown + (tree-sitter-grammar + "markdown" "Markdown (CommonMark Spec v0.30)" + "0vz9r1dbbdj8vwf45izmbajhjbl98ww2dvlk1faqy33kx7plsiar" + "0.5.3" + #:repository-url "https://github.com/MDeiml/tree-sitter-markdown" + #:grammar-directories '("tree-sitter-markdown" + "tree-sitter-markdown-inline") + #:get-cleanup-snippet + (lambda (grammar-directories) + #~(begin + (use-modules (guix build utils)) + ;; FIXME + (with-directory-excursion "tree-sitter-markdown-inline/test/corpus" + (for-each delete-file + '("extension_wikilink.txt" "spec.txt" "tags.txt"))) + #$(tree-sitter-delete-generated-files grammar-directories))))) + +(define-public tree-sitter-matlab + (tree-sitter-grammar + "matlab" "Matlab" + "1kcg16aa9swk4a73klp72rib15ljz7zjlr97rr134laym4x0fnvl" + "1.0.4" + #:repository-url "https://github.com/acristoffers/tree-sitter-matlab" + #:license license:expat)) + +(define-public tree-sitter-mermaid + (let ((version "0.0.2") ; In package.json, but untagged + (commit "90ae195b31933ceb9d079abfa8a3ad0a36fee4cc") + (revision "0")) + (tree-sitter-grammar + "mermaid" "Mermaid" + "1wfdsz3ikdbpym14aljgy80jhr06cgwhhg72rr8d3rsbm8z5ppaf" + (git-version version revision commit) + #:commit commit + #:repository-url "https://github.com/monaqa/tree-sitter-mermaid"))) + +(define-public tree-sitter-meson + (tree-sitter-grammar + "meson" "Meson" + "10v1d22wgkc9m33b7zfl712q7zrpn17l1xyprj4wwasqjvg29l03" + "1.3.0" + #:repository-url "https://github.com/Decodetalkers/tree-sitter-meson" + #:license license:expat)) + +(define-public tree-sitter-netlinx + (tree-sitter-grammar + "netlinx" "NetLinx" + "09q2w9g4bb8v603b4ykxn5g8ndqjfhrgskslsmzhy095r3jysb2q" + "1.0.4" + #:repository-url "https://github.com/Norgate-AV/tree-sitter-netlinx")) + +(define-public tree-sitter-nim + (let ((version "0.6.2") + (commit "4ad352773688deb84a95eeaa9872acda5b466439") + (revision "0")) + (tree-sitter-grammar + "nim" "Nim" + "17wgv8lv6v3wgsjhwcmrqpvdj0bj69ldmr62j588vsppn2cwqabn" + (git-version version revision commit) + #:commit commit + #:repository-url "https://github.com/alaviss/tree-sitter-nim" + #:license license:mpl2.0))) + +(define-public tree-sitter-ninja + (let ((version "0.1.0") + (commit "0a95cfdc0745b6ae82f60d3a339b37f19b7b9267") + (revision "0")) + (tree-sitter-grammar + "ninja" "Ninja" + "1vmfx2k6bxfwcz319vskjhyszc6hz3j32bw4lgj72l7p890ykwkv" + (git-version version revision commit) + #:commit commit + #:repository-url "https://github.com/alemuller/tree-sitter-ninja"))) + +(define-public tree-sitter-nix + (tree-sitter-grammar + "nix" "Nix" + "0rkvr64fvawblpg39rr0mrigf1rhsk30vng2vxviwb7fk50iww0i" + "0.0.2" + #:repository-url "https://github.com/nix-community/tree-sitter-nix" + #:get-cleanup-snippet + (lambda (grammar-directories) + #~(begin + (use-modules (guix build utils)) + ;; FIXME: Language not found. + (delete-file-recursively "test/highlight") + #$(tree-sitter-delete-generated-files grammar-directories))))) + +(define-public tree-sitter-nqc + (let ((commit "14e6da1627aaef21d2b2aa0c37d04269766dcc1d") + (revision "0")) + (tree-sitter-grammar + "nqc" "NQC" + "0gpai34vlcdbkyj4a7j2wm36g14p84aj0vldh1146b0n8zbvizhr" + (git-version "1.0.0" revision commit) + #:repository-url + "https://github.com/tree-sitter-grammars/tree-sitter-nqc" + #:commit commit + #:inputs (list tree-sitter-c) + #:get-cleanup-snippet + (lambda (grammar-directories) + #~(begin + (use-modules (guix build utils)) + ;; Adjust to the change in tree-sitter-c + (substitute* "grammar.js" + (("\\$\\._statement") "$.statement") + (("\\$\\._expression") "$.expression")) + (delete-file "queries/highlights.scm") ;FIXME + #$(tree-sitter-delete-generated-files grammar-directories)))))) + +(define-public tree-sitter-objc + (tree-sitter-grammar + "objc" "Objective-C" + "1fryxjjxjq7lz93vvcm3lswshb4drywf64knbvjxrr3lq5zh5bv8" + "3.0.2" + #:repository-url + "https://github.com/tree-sitter-grammars/tree-sitter-objc" + #:inputs (list tree-sitter-c) + #:article "an")) + +(define-public tree-sitter-ocaml + (tree-sitter-grammar + "ocaml" "OCaml (.ml and .mli)" + "17g2ynqhjf1nyhdidz9j9s0s12iys3b2vbywxkygwyccj7rb8zdi" + "0.24.0" + #:grammar-directories '("grammars/interface" "grammars/ocaml" "grammars/type"))) + +(define-public tree-sitter-odin + (tree-sitter-grammar + "odin" "Odin" + "05ljga1gqhx8hr7ldpcbrz79ixni5qyz6ckyyh7chxnkl5fkjp5y" + "1.3.0" + #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-odin" + #:article "an")) + +(define-public tree-sitter-org + ;; There are a lot of additions, the last tag was placed a while ago + (let ((commit "64cfbc213f5a83da17632c95382a5a0a2f3357c1") + (revision "1")) + (tree-sitter-grammar + "org" "Org" + "1l62p4a3b22pa7b5mzmy497pk5b8w01hx6zinfwpbnzg2rjdwkgz" + (git-version "1.3.1" revision commit) + #:repository-url "https://github.com/milisims/tree-sitter-org" + #:commit commit))) + +(define-public tree-sitter-pascal + (tree-sitter-grammar + "pascal" "Pascal" + "0wxg6k1vvp32c5grvrw1xihb1zr0idfmc4p07rmv99f7f472djhj" + "0.10.0" + #:repository-url "https://github.com/Isopod/tree-sitter-pascal")) + +(define-public tree-sitter-pem + (let ((version "0.1.1") + (commit "e525b177a229b1154fd81bc0691f943028d9e685") + (revision "0")) + (tree-sitter-grammar + "pem" "PEM" + "02g17ki5da7iams576qxyc01r1c95y5ycd7yhap9fhyxc8a6my6r" + (git-version version revision commit) + #:commit commit + #:repository-url + "https://github.com/tree-sitter-grammars/tree-sitter-pem"))) + +(define-public tree-sitter-perl + (let ((commit "ad74e6db234c35d537de9358799a8e0cc4f5dee0") + (revision "0")) + (tree-sitter-grammar + "perl" "Perl" + "0k6p3hij98vqa6b6iyswlyij69cggbnzgwi2zh64mj3faisblgzj" + (git-version "1.0.0" revision commit) + #:commit commit + #:repository-url + "https://github.com/tree-sitter-perl/tree-sitter-perl" + #:get-cleanup-snippet + (lambda (grammar-directories) + #~(begin + (use-modules (guix build utils)) + ;; FIXME + (delete-file "test/highlight/literals.pm") + #$(tree-sitter-delete-generated-files grammar-directories)))))) + +(define-public tree-sitter-pgn + (tree-sitter-grammar + "pgn" "Chess Portable Game Notation (PGN)" + "0mazy9y80pd20a3a76b0nfxswh7xxdsnya0y0lzl86sh4w95f52p" + "1.2.12" + #:repository-url "https://github.com/rolandwalker/tree-sitter-pgn" + #:license license:bsd-2)) + +(define-public tree-sitter-php + (tree-sitter-grammar + "php" "PHP" + "05qhz14vvqgwpxgdfr1skwgrv041zwc3wxjyx6y679965nn0lrji" + "0.23.12" + #:grammar-directories '("php" "php_only"))) + +(define-public tree-sitter-phpdoc + (tree-sitter-grammar + "phpdoc" "PHPDoc" + "1m5fsbl4zv44rjxv21jzcv64mz9gs702m9s6qjkb0c0rill2bqaz" + "0.1.8" + #:repository-url "https://github.com/claytonrcarter/tree-sitter-phpdoc" + #:inputs (list tree-sitter-php))) + +(define-public tree-sitter-plantuml + ;; No tags + (let ((commit "c7361a1d481dc1ff6700b14ea1d5efc549b72713") + (revision "1")) + (tree-sitter-grammar + "plantuml" "PlantUML" + "0apmv0dad58ixhxhzxkwlm9wgbphj7lxilbh427rpxy1y5hrml0f" + (git-version "1.0.0" revision commit) + #:repository-url "https://github.com/Decodetalkers/tree_sitter_plantuml" + #:commit commit + #:get-cleanup-snippet + (lambda (grammar-directories) + #~(begin + (use-modules (guix build utils)) + (substitute* "grammar.js" + (("u\\{\\[0-9a-fA-F\\]\\+\\}") + "u\\{[0-9a-fA-F]+\\}")) + #$(tree-sitter-delete-generated-files grammar-directories)))))) + +(define-public tree-sitter-po + (let ((version "0.0.1") + (commit "bd860a0f57f697162bf28e576674be9c1500db5e") + (revision "0")) + (tree-sitter-grammar + "po" "GNU gettext translation file (PO/POT)" + "1d28lyg0sx9xs09y68618cxnhi5sacfschcrv4xmy06k21bp8azx" + (git-version version revision commit) + #:commit commit + #:repository-url + "https://github.com/tree-sitter-grammars/tree-sitter-po"))) + +(define-public tree-sitter-pony + (let ((commit "73ff874ae4c9e9b45462673cbc0a1e350e2522a7") + (revision "0")) + (tree-sitter-grammar + "pony" "Pony" + "0fm47by0z6vzihnk4py7lx1qbiwqbbgpxpi8ibl740bnx9nx7mpz" + (git-version "1.0.0" revision commit) + #:commit commit + #:repository-url + "https://github.com/tree-sitter-grammars/tree-sitter-pony"))) + +(define-public tree-sitter-powershell + (tree-sitter-grammar + "powershell" "Powershell" + "1wz34js891sx6j2s128sdcbxj1k2zi300fg5a4vf5acaz82jcs8q" + "0.25.8" + #:repository-url + "https://github.com/airbus-cert/tree-sitter-powershell")) + +(define-public tree-sitter-printf + (tree-sitter-grammar + "printf" "printf" + "15p5fr1dhmf54aic9mszrb7859q2adcq66mnivzpfvzvh4xnpmr5" + "0.5.1" + #:repository-url + "https://github.com/tree-sitter-grammars/tree-sitter-printf" + #:license license:isc)) + +(define-public tree-sitter-prisma + (tree-sitter-grammar + "prisma" "Prisma" + "144l2w7ky5imd7yvp1n6lgbyy5kq6kx4c2ja43yk15k3258pf52v" + "1.5.1" + #:repository-url "https://github.com/victorhqc/tree-sitter-prisma" + #:license license:expat)) + +(define-public tree-sitter-proto + (let ((version "0.1.0") + (commit "e9f6b43f6844bd2189b50a422d4e2094313f6aa3") + (revision "0")) + (tree-sitter-grammar + "proto" "Protocol Buffers" + "1r8g28rp852f1qj4bhnkf4fzfir1r5blq2p0nz4x9y5jfplb1vji" + (git-version version revision commit) + #:commit commit + #:repository-url "https://github.com/treywood/tree-sitter-proto"))) + +(define-public tree-sitter-puppet + (tree-sitter-grammar + "puppet" "Puppet" + "19032dhb60vxij6b6xvgnigwhhbm4y89dr11vxsr1kk10zj61vkc" + "1.3.0" + #:repository-url + "https://github.com/tree-sitter-grammars/tree-sitter-puppet")) + +(define-public tree-sitter-purescript + (tree-sitter-grammar + "purescript" "PureScript" + "11c57k50kppc560a6qr3wpxppl9p4w7a7yn9g51ybzd28vc55qxl" + "0.3.0" + #:repository-url + "https://github.com/postsolar/tree-sitter-purescript")) + +(define-public tree-sitter-python + (tree-sitter-grammar + "python" "Python" + "05kk1wlm5fgpgwqxw3m68sipkinw0gf2jq19cgq9cgp3agdwg58p" + "0.25.0")) + +(define-public tree-sitter-python-manifest + (tree-sitter-grammar + "python-manifest" "PyPA manifest" + "16k9izgwg2f8yyz1vlzyw9qw4np5fjy3nxr3ksq499a0bz8a59cd" + "0.6.0" + #:repository-url + "https://github.com/tree-sitter-grammars/tree-sitter-pymanifest")) + +(define-public tree-sitter-python-requirements + (tree-sitter-grammar + "python-requirements" "Python requirements.txt" + "1gwp1cwsyr67qclfm9f8ilakaq747qzqmj3bgy0jacjjjs0xgk32" + "0.5.0" + #:repository-url + "https://github.com/tree-sitter-grammars/tree-sitter-requirements")) + +(define-public tree-sitter-qml + (let ((version "0.2.0") ; Tagged, but we use a more recent commit + (commit "0889da4632bba3ec6f39ef4102625654890c15c1") + (revision "0")) + (tree-sitter-grammar + "qml" "Qml" + "1qdfwbqjnw7vcvq2dcx19c159b12kv2hvwrvbp7m9i5vl6szc22g" + (git-version version revision commit) + #:repository-url "https://github.com/yuja/tree-sitter-qmljs" + #:commit commit + #:inputs (delay (list tree-sitter-javascript tree-sitter-typescript)) + #:license license:expat))) + +(define-public tree-sitter-qmldir + (let ((version "0.2.2") + (commit "fbf29ddf1ebb01e0c389dde2a51e874f688a2327") + (revision "0")) + (tree-sitter-grammar + "qmldir" "Qmldir" + "07wmr7vsqqv77m69inrhdk3qmlwivwkdpppcjwc326b2r8a88y7j" + (git-version version revision commit) + #:commit commit + #:repository-url + "https://github.com/tree-sitter-grammars/tree-sitter-qmldir"))) + +(define-public tree-sitter-qmljs + (tree-sitter-grammar + "qmljs" "QML" + "1a1fxm73ag51qsi0wfg36jzcm6am9n1mwvhjv3f57fyjwcwigqp0" + "0.2.0" + #:commit "0.2.0" + #:repository-url "https://github.com/yuja/tree-sitter-qmljs" + #:inputs (delay (list tree-sitter-javascript + tree-sitter-typescript)))) + +(define-public tree-sitter-query + (package + (inherit (tree-sitter-grammar "query" + "Query" + "1m7w05228ky26ph4k9vfwjwkhghppnpvci2i45iwncjanrni6byk" + "0.8.0" + #:repository-url + "https://github.com/tree-sitter-grammars/tree-sitter-query")) + (synopsis "Tree-sitter grammar for Tree-sitter's query language") + (description "This package provides Tree-sitter's query grammar."))) + +(define-public tree-sitter-r + (tree-sitter-grammar + "r" "R" + "1jf14nvrfcznsnmxmlkbnn59bdykpsawxm5grph65p8vghi4fik7" + "1.1.0" + #:repository-url "https://github.com/r-lib/tree-sitter-r" + #:get-cleanup-snippet + (lambda (grammar-directories) + #~(begin + (use-modules (guix build utils)) + ;; FIXME: Language not found. + (for-each delete-file-recursively '("test/highlight" "test/tags")) + #$(tree-sitter-delete-generated-files grammar-directories))))) + +(define-public tree-sitter-racket + (tree-sitter-grammar + "racket" "Racket" + "1x9x6pn7l578xlm1cmg5w0cy2zk34qywsn0jzf1j8phwf7k66bxg" + "0.23.0-1" + #:repository-url "https://github.com/6cdh/tree-sitter-racket")) + +(define-public tree-sitter-readline + (let ((version "1.1.1") + (commit "74addc90fc539d31d413c0c7cf7581997a7fa46e") + (revision "0")) + (tree-sitter-grammar + "readline" "GNU Readline init" + "0qmnmzab9qn6chsdh2sfa9v2yrpik3ng9j14shw70ck0zc02gd3i" + (git-version version revision commit) + #:commit commit + #:repository-url + "https://github.com/tree-sitter-grammars/tree-sitter-readline"))) + +(define-public tree-sitter-re2c + (let ((commit "c18a3c2f4b6665e35b7e50d6048ea3cff770c572") + (revision "0")) + (tree-sitter-grammar + "re2c" "Regular Expressions to Code (re2c)" + "0h6vvbns5xdi47pfgl2xf4hlwzawrsqbm16jv07d0z7lppimf6ys" + (git-version "0.1.0" revision commit) + #:commit commit + #:repository-url + "https://github.com/tree-sitter-grammars/tree-sitter-re2c" + #:get-cleanup-snippet + (lambda (grammar-directories) + #~(begin + (use-modules (guix build utils)) + ;; FIXME: Invalid node type labelprefix. + (substitute* "grammar.js" + (("( *)\\$\\.set_condenumprefix,\n" all tabs) + (string-append all tabs "$.set_labelprefix,\n"))) + #$(tree-sitter-delete-generated-files grammar-directories)))))) + +(define-public tree-sitter-rego + (let ((version "1.0.0") + (commit "20b5a5958c837bc9f74b231022a68a594a313f6d") + (revision "0")) + (tree-sitter-grammar + "rego" "Rego" + "0cmja3gd5nbmi251qc14hh1cbfd7i0mydx74qxs30qvix6q5a2az" + (git-version version revision commit) + #:commit commit + #:repository-url + "https://github.com/FallenAngel97/tree-sitter-rego"))) + +(define-public tree-sitter-ron + (let ((commit "78938553b93075e638035f624973083451b29055") + (revision "0")) + (tree-sitter-grammar + "ron" "RON" + "13f8a5sfvyrizkl0szh2yaslmvjk91s97yb2abrdh74a0pl217aa" + (git-version "0.2.0" revision commit) + #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-ron" + #:commit commit + #:license (list license:asl2.0 license:expat)))) + +(define-public tree-sitter-rst + (tree-sitter-grammar + "rst" "ReStructuredText" + "1lrdyhgda2f66biq7dk4s0llk4fcxn23rf5zrhi17nnl8zmjg18i" + "0.2.0" + #:repository-url "https://github.com/stsewd/tree-sitter-rst")) + +(define-public tree-sitter-ruby + (tree-sitter-grammar + "ruby" "Ruby" + "0c1vs63ydcb3q2wnif18l5irbj6chkcvd3p6dg0vyhklk5acrvca" + "0.23.1")) + +(define-public tree-sitter-rust + (tree-sitter-grammar + "rust" "Rust" + "0x7xqxspdfnbgn9nvrsl2rsnrjbs01i5hy8k8p5wwk2j358hjyyb" + "0.24.0")) + +(define-public tree-sitter-scala + (tree-sitter-grammar + "scala" "Scala" + "02awiraj5mmgyi31yzxyxarkkl41qksm3lm41pq9c6bmyqpir2y6" + "0.23.4")) + +(define-public tree-sitter-scheme + (tree-sitter-grammar + "scheme" "Scheme (R5RS, R6RS, R7RS)" + "108ln1j2fcsrphy6jp9bq3qravp42w4hqb4cvpzx6a3dslkpv116" + "0.24.7-1" + #:repository-url "https://github.com/6cdh/tree-sitter-scheme")) + +(define-public tree-sitter-scss + (let ((commit "bca847c1410f7dd97e13fbe7838b3c2c203fb473") + (revision "0")) + (tree-sitter-grammar + "scss" "SCSS" + "0v5vrgwp2fln1pypff5pr329mghm5naahpn3sr7mkrja2n8gyy6a" + (git-version "1.0.0" revision commit) + #:commit commit + #:repository-url + "https://github.com/tree-sitter-grammars/tree-sitter-scss" + #:inputs (list tree-sitter-css) + #:get-cleanup-snippet + (lambda (grammar-directories) + #~(begin + (use-modules (guix build utils)) + ;; FIXME: 10/56 fail + (with-directory-excursion "test/corpus" + (for-each + delete-file + '("declarations.txt" "examples.txt" "statements.txt"))) + #$(tree-sitter-delete-generated-files grammar-directories)))))) + +(define-public tree-sitter-sfapex + ;; Use a later commit because some tests fail with the v2.3 tag. + (let ((commit "3597575a429766dd7ecce9f5bb97f6fec4419d5d") + (revision "0")) + (tree-sitter-grammar + "sfapex" "Sfapex" + "1kcv8g7smh76nb46np5yqmjma1c4zna74nkhc11xa1g3gwysvv2c" + (git-version "2.3" revision commit) + #:commit commit + #:repository-url "https://github.com/aheber/tree-sitter-sfapex" + #:grammar-directories '("apex" "sflog" "soql" "sosl")))) + +(define-public tree-sitter-smali + (let ((commit "fdfa6a1febc43c7467aa7e937b87b607956f2346") + (revision "0")) + (tree-sitter-grammar + "smali" "Smali" + "0b7b6vziwj2c3ngrpz439gnsxh5v22illc4nms1mxkzdx5g3liab" + (git-version "1.0.0" revision commit) + #:commit commit + #:repository-url + "https://github.com/tree-sitter-grammars/tree-sitter-smali"))) + +(define-public tree-sitter-smithy + (let ((commit "ec4fe14586f2b0a1bc65d6db17f8d8acd8a90433") + (revision "0")) + (tree-sitter-grammar + "smithy" "Smithy" + "12gs5baabvm6v7js0g0siy98v1w69cmfxc72sikylr6y4wfvhjf0" + (git-version "0.2.0" revision commit) + #:commit commit + #:repository-url + "https://github.com/indoorvivants/tree-sitter-smithy"))) + +(define-public tree-sitter-solidity + (tree-sitter-grammar + "solidity" "Solidity" + "0vbxghnihnmfdgg4a5j2g5s7fcff8axqmqa2y8yci434n35wgq3g" + "1.2.13" + #:repository-url + "https://github.com/JoranHonig/tree-sitter-solidity")) + +(define-public tree-sitter-sparql + (let* ((commit "1ef52d35a73a2a5f2e433ecfd1c751c1360a923b") + (revision "0")) + (tree-sitter-grammar + "sparql" "SPARQL" + "19s63n9kbijmbaprffvkxqmdr8a1jc3f371mzrxh2wv4czbradpl" + (git-version "0.1.0" revision commit) + #:commit commit + #:repository-url + "https://github.com/GordianDziwis/tree-sitter-sparql"))) + +(define-public tree-sitter-sql + (let ((commit "7b51ecda191d36b92f5a90a8d1bc3faef1c7b8b8") + (revision "0")) + (tree-sitter-grammar + "sql" "SQL" + "1lvm4x24ac9r4fy4ghpypyz1q771bafwkjvn0ma5zh82900q7xvr" + (git-version "0.3.11" revision commit) + #:commit commit + #:repository-url "https://github.com/DerekStride/tree-sitter-sql"))) + +(define-public tree-sitter-squirrel + (let ((commit "072c969749e66f000dba35a33c387650e203e96e") + (revision "0")) + (tree-sitter-grammar + "squirrel" "Squirrel" + "01gwmjgbyq7byxs0hsy4kkinijdszq2vh13kqmrjz1pq632nd45l" + (git-version "1.0.0" revision commit) + #:commit commit + #:repository-url + "https://github.com/tree-sitter-grammars/tree-sitter-squirrel"))) + +(define-public tree-sitter-starlark + (tree-sitter-grammar + "starlark" "Starlark" + "1qlvk67fqd49138nxl81l4gx833271mns36g3lm884sdmw3225w8" + "1.3.0" + #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-starlark" + #:inputs (list tree-sitter-python) + #:get-cleanup-snippet + (lambda (grammar-directories) + #~(begin + (use-modules (guix build utils)) + ;; FIXME: This grammar was built with tree-sitter-python@0.23.5. + ;; https://github.com/tree-sitter-grammars/tree-sitter-starlark/issues/9 + (substitute* "grammar.js" + (("rules: \\{" rules) + "\ + reserved: {global: _ => [],}, + supertypes: $ => [ + $._simple_statement, + $._compound_statement, + $.expression, + $.primary_expression, + $.pattern, + $.parameter, + ], + rules: { +")) + #$(tree-sitter-delete-generated-files grammar-directories))))) + +(define-public tree-sitter-svelte + (let ((commit "ae5199db47757f785e43a14b332118a5474de1a2") + (revision "0")) + (tree-sitter-grammar + "svelte" "Svelte" + "0pm5hillspaj4xvqz3j5sxvn78sljw75abjp58xnq8lc5vp62zvh" + (git-version "1.0.2" revision commit) + #:commit commit + #:repository-url + "https://github.com/tree-sitter-grammars/tree-sitter-svelte" + #:inputs (list tree-sitter-html)))) + +(define-public tree-sitter-sway + (let ((commit "f9e53e922496dd47208a141fa7ac315625a1874f") + (revision "0")) + (tree-sitter-grammar + "sway" "Sway" + "1bgr3153wwzgkrnk5w9mv7kskw3ygdxaihrpiljcw0bhciqsnkk8" + (git-version "1.0.0" revision commit) + #:repository-url "https://github.com/FuelLabs/tree-sitter-sway" + #:commit commit))) + +(define-public tree-sitter-swift + (let ((commit "7c2f26b5dce12e82ef2bd932a883ef514ae566b8") + (revision "0")) + (tree-sitter-grammar + "swift" "Swift" + "15rcld2k5h7m4c66msxx7zcmn9bmpqsz907pdr3ikhvcvx3w085g" + (git-version "0.7.1" revision commit) + #:commit commit + #:repository-url + "https://github.com/alex-pinkus/tree-sitter-swift" + #:get-cleanup-snippet + (lambda (grammar-directories) + #~(begin + (use-modules (guix build utils)) + (delete-file-recursively "test-npm-package") + (delete-file-recursively "test/outline") + #$(tree-sitter-delete-generated-files grammar-directories)))))) + +(define-public tree-sitter-systemverilog + (tree-sitter-grammar + "systemverilog" "SystemVerilog" + "1qmdhd0ln6zhrwj1zpc96ws0x2gdb9fkfk7fwp1zjvkz6fkjc3la" + "0.4.0" + #:repository-url "https://github.com/gmlarumbe/tree-sitter-systemverilog")) + +(define-public tree-sitter-tablegen + (let ((version "1.0.0") + (commit "3e9c4822ab5cdcccf4f8aa9dcd42117f736d51d9") + (revision "0")) + (tree-sitter-grammar + "tablegen" "LLVM TableGen" + "02anzjxk30323jmbvn2l7fwarq59zix84g7rdcgx8s7z7c5zyagk" + (git-version version revision commit) + #:commit commit + #:repository-url + "https://github.com/Flakebi/tree-sitter-tablegen"))) + +(define-public tree-sitter-tcl + (let ((version "1.1.0") + (commit "8f11ac7206a54ed11210491cee1e0657e2962c47") + (revision "0")) + (tree-sitter-grammar + "tcl" "TCL" + "0dkxh6bn0kqn1gbyd5qwkg21fm634mxvas3w4ahv6zr5d8f95c96" + (git-version version revision commit) + #:commit commit + #:repository-url + "https://github.com/tree-sitter-grammars/tree-sitter-tcl"))) + +(define-public tree-sitter-test + (package + ;; Similar to the tree-sitter-query. + (inherit (tree-sitter-grammar + "test" "corpus test" + "0n61mhi2244x3xv1zvwypcih9x65qqgrlz0sz4766h5v68mc58zg" + "0.3.0" + #:repository-url + "https://github.com/tree-sitter-grammars/tree-sitter-test")) + (synopsis "Tree-sitter grammar for Tree-sitter's corpus test files") + (description "This package provides Tree-sitter's grammar for corpus test +files."))) + +(define-public tree-sitter-thrift + (let ((commit "68fd0d80943a828d9e6f49c58a74be1e9ca142cf") + (revision "0")) + (tree-sitter-grammar + "thrift" "Thrift" + "1ijp9x1vylc8bgplnj9d898qhv04cvrl67qg9kmam33drfrmn1m3" + (git-version "0.5.0" revision commit) + #:commit commit + #:repository-url + "https://github.com/tree-sitter-grammars/tree-sitter-thrift"))) + +(define-public tree-sitter-tlaplus + (tree-sitter-grammar + "tlaplus" "TLA+" + "11073rjg9n9hnr88193mmb8ff5xlcv6isgqc0g2fbfbl0y820zlk" + "1.5.0" + #:repository-url "https://github.com/tlaplus-community/tree-sitter-tlaplus" + #:commit "1.5.0")) + +(define-public tree-sitter-toml + (tree-sitter-grammar + "toml" "TOML" + "1j9fgy1hlsq6xqqnpjl65a2mmydlx91p8ss36k7vyf7284d6bm4v" + "0.7.0" + #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-toml")) + +(define-public tree-sitter-twig + (let ((version "0.7.0") + (commit "40d17f0eb990215e12531abe29ee7691d7ca99a5") + (revision "0")) + (tree-sitter-grammar + "twig" "Twig" + "06a6rfgh9mmzqvs7bp8y92axa4fni4c72s82bdin7j3a0x5mxwi6" + (git-version version revision commit) + #:commit commit + #:repository-url "https://github.com/kaermorchen/tree-sitter-twig" + #:license license:mpl2.0))) + +(define-public tree-sitter-typescript + (tree-sitter-grammar + "typescript" "TypeScript and TSX" + "0rlhhqp9dv6y0iljb4bf90d89f07zkfnsrxjb6rvw985ibwpjkh9" + "0.23.2" + #:inputs (list tree-sitter-javascript) + #:grammar-directories '("typescript" "tsx"))) + +(define-public tree-sitter-typst + (tree-sitter-grammar + "typst" "Typst" + "198rn8wdcqq51nz6hj1zxk7mplplr2z8vc36z6h1zpjjq925794z" + "0.11.0" + #:repository-url "https://github.com/uben0/tree-sitter-typst" + #:get-cleanup-snippet + (lambda (grammar-directories) + #~(begin + ;; These tests are supposed to fail, but they don't fail the way the + ;; suite expects anymore. + (delete-file "test/corpus/negative.scm") + #$(tree-sitter-delete-generated-files grammar-directories))))) + +(define-public tree-sitter-udev + (let ((version "0.2.1") + (commit "2fcb563a4d56a6b8e8c129252325fc6335e4acbf") + (revision "0")) + (tree-sitter-grammar + "udev" "udev rules" + "0azs4q43bdg0an4f5s8ac7jqxikwi1rnqhl4g0l58ghf2g51i70i" + (git-version version revision commit) + #:commit commit + #:repository-url + "https://github.com/tree-sitter-grammars/tree-sitter-udev"))) + +(define-public tree-sitter-ungrammar + ;; No releases yet. + (let ((commit "debd26fed283d80456ebafa33a06957b0c52e451") + (revision "0")) + (tree-sitter-grammar + "ungrammar" "Ungrammar" + "09bbml1v1m6a9s9y9q1p2264ghf3fhb6kca1vj3qm19yq87xrnvy" + (git-version "0.0.2" revision commit) + #:commit commit + #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-ungrammar" + #:article "an"))) + +(define-public tree-sitter-uxntal + (let ((version "1.0.0") + (commit "bd6cc0cf5c97bb25ee65b39132768d1a1f70ffa9") + (revision "0")) + (tree-sitter-grammar + "uxntal" "Uxntal" + "0sbwwr6d6yiq0ddhjkcafi0k61rcp6l1fa6vpmkykr3kh7znq9pn" + (git-version version revision commit) + #:commit commit + #:repository-url + "https://github.com/tree-sitter-grammars/tree-sitter-uxntal"))) + +(define-public tree-sitter-v + (let ((commit "532bebd50742ef15949bdd67c36d46697c847628") + (revision "0")) + (tree-sitter-grammar + "v" "V" + "1chkirgmbfrjy9p81qm5gi5qdqf9az98zfv9zgmd0q91gvkdf6ll" + (git-version "0.0.6" revision commit) + #:commit commit + #:repository-url "https://github.com/vlang/v-analyzer" + #:grammar-directories '("tree_sitter_v") + #:get-cleanup-snippet + (lambda (grammar-directories) + #~(begin + (use-modules (guix build utils)) + (delete-file-recursively "src") + (delete-file-recursively "editors") + (rename-file "tree_sitter_v/package.json" "package.json") + #$(tree-sitter-delete-generated-files grammar-directories)))))) + +(define-public tree-sitter-verilog + (tree-sitter-grammar + "verilog" "Verilog" + "1mk8waij5lbj1wbayvqs0cxk003dssdic13h14gd5fi1ckfvflja" + "1.0.3")) + +(define-public tree-sitter-vhdl + (tree-sitter-grammar + "vhdl" "VHDL" + "11q2sxac26mn00a7k4vy1wgd6bhh0v0p8arj9r8zb9phn3sqwwjm" + "2.0.0" + #:repository-url "https://github.com/jpt13653903/tree-sitter-vhdl")) + +;;; TODO: Remove this package when emacs-vhdl-ts-mode switches to jpt13653903. +;;; We keep old one as alemuller is still required by emacs-vhdl-ts-mode. +;;; See: +;;; https://github.com/gmlarumbe/vhdl-ts-mode/issues/17 +(define-public tree-sitter-vhdl-0 + (let ((version "0.1.1") ; In package.json, but untagged + (commit "a3b2d84990527c7f8f4ae219c332c00c33d2d8e5") + (revision "0")) + (tree-sitter-grammar + "vhdl" "VHDL" + "0gz2b0qg1jzi2q6wgj6k6g35kmni3pqglq4f5kblkxx909463n8a" + (git-version version revision commit) + #:repository-url "https://github.com/alemuller/tree-sitter-vhdl" + #:commit commit + #:get-cleanup-snippet + (lambda (grammar-directories) + #~(begin + (use-modules (guix build utils)) + ;; FIXME: Language not found. + (delete-file-recursively "test/highlight") + ;; Fix a query error in the highlight.scm query test. This would be + ;; easier with a patch, but this works too, and we still get to use + ;; tree-sitter-grammar. The fix is taken from here: + ;; https://github.com/n8tlarsen/tree-sitter-vhdl/commit/dabf157c6bb7220d72d3ceba0ce1abd90bf62187 + ;; This is a documented issue that has not been resolved for nearly 2 + ;; years. + ;; https://github.com/alemuller/tree-sitter-vhdl/issues/2 + (substitute* "queries/highlights.scm" + (("\\(integer_decimal\n") "(integer_decimal)\n") + (("\\(integer\\)") "") + (("\"0\")") "\"0\"")) + #$(tree-sitter-delete-generated-files grammar-directories)))))) + +(define-public tree-sitter-vim + (tree-sitter-grammar "vim" + "Vimscript" + "1myz19yimx179gzd6w64zyshfb4hbxp7qfrdf6nvf9a2w8bc2wij" + "0.8.1" + #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-vim")) + +(define-public tree-sitter-vimdoc + (tree-sitter-grammar "vimdoc" + "Vimdoc" + "18f1dr3j79axg6yqrvm0fc2w4cil403al9xifc4h4vkkp6hg6y9b" + "4.1.0" + #:repository-url + "https://github.com/neovim/tree-sitter-vimdoc" + #:license license:expat)) + +(define-public tree-sitter-vue + (let ((commit "22bdfa6c9fc0f5ffa44c6e938ec46869ac8a99ff") + (revision "0")) + (tree-sitter-grammar + "vue" "Vue.js" + "1mi18x54g8rxz98jrpzh2gi7ii93sq743aws9i7qc139jas98y9f" + (git-version "0.1.0" revision commit) + #:commit commit + #:repository-url + "https://github.com/tree-sitter-grammars/tree-sitter-vue" + #:inputs (list tree-sitter-html)))) + +(define-public tree-sitter-wast + (let ((commit "2ca28a9f9d709847bf7a3de0942a84e912f59088") + (revision "0")) + (tree-sitter-grammar + "wast" "WebAssembly" + "02v08hs9wirdzfx9a7c3kpn0cpc9i867pw28qka0fid9q537hnbb" + (git-version "0.0.0" revision commit) + #:commit commit + #:repository-url "https://github.com/wasm-lsp/tree-sitter-wasm" + #:grammar-directories '("wast" "wat") + #:get-cleanup-snippet + (lambda (grammar-directories) + #~(begin + (use-modules (guix build utils)) + ;; FIXME + (substitute* '("wat/grammar.js" "wast/grammar.js") + (("u\\{\\[0-9a-fA-F\\]\\+\\}") + "u\\{[0-9a-fA-F]+\\}")) + (for-each (lambda (lang) + (with-directory-excursion lang + ;; incompatible type of tests + (delete-file-recursively "corpus") + (delete-file "index.js") + (delete-file "src/binding.cc"))) + '("wat" "wast")) + (for-each delete-file '("wat/tree-sitter-wat.wasm" + "wast/tree-sitter-wast.wasm")) + #$(tree-sitter-delete-generated-files grammar-directories))) + ;; Apache-2.0 with LLVM-exception + #:license license:asl2.0))) + +(define-public tree-sitter-wgsl + (let ((commit "809fe422b879021afb65a1899093fa87bc6e02df") + (revision "0")) + (tree-sitter-grammar + "wgsl" "WebGPU Shading Language (WGSL)" + "05a7yas33y4jfj1ac1n49xll0kmpsic4y5hffqavhm2zffpwmqbc" + (git-version "0.0.9" revision commit) + #:commit commit + #:repository-url "https://github.com/gpuweb/tree-sitter-wgsl" + #:get-cleanup-snippet + (lambda (grammar-directories) + #~(begin + (use-modules (guix build utils)) + ;; FIXME: Invalid node type const_assert_statement. + (delete-file "queries/highlights.scm") + #$(tree-sitter-delete-generated-files grammar-directories))) + #:license license:w3c))) + +(define-public tree-sitter-xcompose + (tree-sitter-grammar + "xcompose" "XCompose" + "03c0ycwrxafxvbhzi6pzcq8md40frh7ybwkhcsd4s1hmg6arwpyx" + "0.4.0" + #:repository-url + "https://github.com/tree-sitter-grammars/tree-sitter-xcompose" + #:article "an")) + +(define-public tree-sitter-xml + (tree-sitter-grammar + "xml" "XML and DTD" + "0ghfjjhw1rvd98xd1c3mq3bffrl3wg5dmp22ksb0659g76qi0hpz" + "0.7.0" + #:repository-url + "https://github.com/tree-sitter-grammars/tree-sitter-xml" + #:grammar-directories '("xml" "dtd") + #:article "an")) + +(define-public tree-sitter-yaml + (tree-sitter-grammar + "yaml" "YAML" + "0z5fz9hiafzapi0ijhyz8np6rksq6c1pb16xv1vhnlfh75rg6zyv" + "0.7.0" + #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-yaml")) + +(define-public tree-sitter-yuck + (let ((commit "e877f6ade4b77d5ef8787075141053631ba12318") + (revision "0")) + (tree-sitter-grammar + "yuck" "Yuck" + "00l009xmjpr2fgrbibhgkymk1kw2al2m8zi93civyjxwpbzkbiwp" + (git-version "0.0.2" revision commit) + #:commit commit + #:repository-url + "https://github.com/tree-sitter-grammars/tree-sitter-yuck"))) + +(define-public tree-sitter-zig + (tree-sitter-grammar + "zig" "Zig" + "1r9p7hhnc1zagwxzdxhs4p6rnqs9naddkgbfymi6pbw6cyg2ccwl" + "1.1.2" + #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-zig")) + +;;; Python Bindings + +(define-public python-tree-sitter + (package + (name "python-tree-sitter") + (version "0.25.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tree-sitter/py-tree-sitter") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "15j6gxc6ps6zdrmqfmmz22p7p5gz37cyihzzwbjggy7mc4vwm5fj")))) + (build-system pyproject-build-system) + (arguments + (list + #:test-backend #~'unittest + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'set-tree-sitter-lib-path + (lambda _ + (let ((tree-sitter #$(this-package-input "tree-sitter"))) + (substitute* "setup.py" + ((".*\"tree_sitter/core.*") "") + (("( *)sources=" all tabs) + (string-append + tabs "library_dirs=[\"" tree-sitter "/lib\"],\n" + tabs "libraries=[\"tree-sitter\"],\n" + all)) + (("include_dirs=\\[" all) + (string-append all "\"" tree-sitter "/include\",")))))) + ;; XXX: See https://codeberg.org/guix/guix/issues/2108 + (add-before 'check 'remove-uninstalled-package + (lambda _ + (delete-file-recursively "tree_sitter")))))) + (inputs (list tree-sitter)) + (native-inputs + (list python-setuptools + (python-tree-sitter-grammar tree-sitter-html #:tests? #f) + (python-tree-sitter-grammar tree-sitter-javascript #:tests? #f) + (python-tree-sitter-grammar tree-sitter-json #:tests? #f) + (python-tree-sitter-grammar tree-sitter-python #:tests? #f) + (python-tree-sitter-grammar tree-sitter-rust #:tests? #f))) + (home-page "https://github.com/tree-sitter/py-tree-sitter") + (synopsis "Python bindings to the Tree-sitter parsing library") + (description "This package provides Python bindings to the +Tree-sitter parsing library.") + (license license:expat))) + +(define* (python-tree-sitter-grammar pkg #:key (tests? #t)) + "Returns a package for Python bindings of a Tree-sitter grammar. PKG is a +package for a Tree-sitter grammar; its name will be used with python- prefix +to generate the package name. When TESTS? is true, tests are enabled." + (package + (inherit pkg) + (name (string-append "python-" (package-name pkg))) + (source (origin (inherit (package-source pkg)) + (snippet #f) (patches '()))) + (build-system pyproject-build-system) + (arguments (list #:tests? tests?)) + (build-system pyproject-build-system) + (native-inputs (append (if tests? + (list python-pytest + python-tree-sitter) + '()) + (list python-setuptools))) + (description + (string-append (package-description pkg) + (P_ "\n\nThis variant provides Python bindings."))))) + +(define-public python-tree-sitter-html + (python-tree-sitter-grammar + tree-sitter-html)) + +(define-public python-tree-sitter-javascript + (python-tree-sitter-grammar + tree-sitter-javascript)) + +(define-public python-tree-sitter-json + (python-tree-sitter-grammar + tree-sitter-json)) + +(define-public python-tree-sitter-python + (python-tree-sitter-grammar + tree-sitter-python)) + +(define-public python-tree-sitter-rust + (python-tree-sitter-grammar + tree-sitter-rust)) diff --git a/mirenn/packages/wallust.scm b/mirenn/packages/wallust.scm new file mode 100644 index 0000000..9710372 --- /dev/null +++ b/mirenn/packages/wallust.scm @@ -0,0 +1,1486 @@ +(define-module (mirenn packages wallust) + #:use-module (guix build-system cargo) + #:use-module (guix build-system copy) + #:use-module (guix git-download) + #:use-module (guix gexp) + #:use-module (guix packages) + #:use-module ((guix licenses) #:prefix license:)) + +(define rust-adler2-2.0.1 + (crate-source "adler2" "2.0.1" + "1ymy18s9hs7ya1pjc9864l30wk8p2qfqdi7mhhcc5nfakxbij09j")) + +(define rust-aho-corasick-1.1.4 + (crate-source "aho-corasick" "1.1.4" + "00a32wb2h07im3skkikc495jvncf62jl6s96vwc7bhi70h9imlyx")) + +(define rust-aligned-0.4.3 + (crate-source "aligned" "0.4.3" + "1186lhb3gb4x6spzw7ff0zcraa8cr9zqk4ldpm5g1vb2ijc0higf")) + +(define rust-aligned-vec-0.6.4 + (crate-source "aligned-vec" "0.6.4" + "16vnf78hvfix5cwzd5xs5a2g6afmgb4h7n6yfsc36bv0r22072fw")) + +(define rust-alloca-0.4.0 + (crate-source "alloca" "0.4.0" + "1x6p4387rz6j7h342kp3b7bgvqzyl9mibf959pkfk9xflrgd19z5")) + +(define rust-anes-0.1.6 + (crate-source "anes" "0.1.6" + "16bj1ww1xkwzbckk32j2pnbn5vk6wgsl3q4p3j9551xbcarwnijb")) + +(define rust-anstream-0.6.21 + (crate-source "anstream" "0.6.21" + "0jjgixms4qjj58dzr846h2s29p8w7ynwr9b9x6246m1pwy0v5ma3")) + +(define rust-anstyle-1.0.13 + (crate-source "anstyle" "1.0.13" + "0y2ynjqajpny6q0amvfzzgw0gfw3l47z85km4gvx87vg02lcr4ji")) + +(define rust-anstyle-parse-0.2.7 + (crate-source "anstyle-parse" "0.2.7" + "1hhmkkfr95d462b3zf6yl2vfzdqfy5726ya572wwg8ha9y148xjf")) + +(define rust-anstyle-query-1.1.5 + (crate-source "anstyle-query" "1.1.5" + "1p6shfpnbghs6jsa0vnqd8bb8gd7pjd0jr7w0j8jikakzmr8zi20")) + +(define rust-anstyle-wincon-3.0.11 + (crate-source "anstyle-wincon" "3.0.11" + "0zblannm70sk3xny337mz7c6d8q8i24vhbqi42ld8v7q1wjnl7i9")) + +(define rust-anyhow-1.0.100 + (crate-source "anyhow" "1.0.100" + "0qbfmw4hhv2ampza1csyvf1jqjs2dgrj29cv3h3sh623c6qvcgm2")) + +(define rust-approx-0.5.1 + (crate-source "approx" "0.5.1" + "1ilpv3dgd58rasslss0labarq7jawxmivk17wsh8wmkdm3q15cfa")) + +(define rust-arbitrary-1.4.2 + (crate-source "arbitrary" "1.4.2" + "1wcbi4x7i3lzcrkjda4810nqv03lpmvfhb0a85xrq1mbqjikdl63")) + +(define rust-arg-enum-proc-macro-0.3.4 + (crate-source "arg_enum_proc_macro" "0.3.4" + "1sjdfd5a8j6r99cf0bpqrd6b160x9vz97y5rysycsjda358jms8a")) + +(define rust-arrayvec-0.7.6 + (crate-source "arrayvec" "0.7.6" + "0l1fz4ccgv6pm609rif37sl5nv5k6lbzi7kkppgzqzh1vwix20kw")) + +(define rust-as-slice-0.2.1 + (crate-source "as-slice" "0.2.1" + "05j52y1ws8kir5zjxnl48ann0if79sb56p9nm76hvma01r7nnssi")) + +(define rust-autocfg-1.5.0 + (crate-source "autocfg" "1.5.0" + "1s77f98id9l4af4alklmzq46f21c980v13z2r1pcxx6bqgw0d1n0")) + +(define rust-av-scenechange-0.14.1 + (crate-source "av-scenechange" "0.14.1" + "1543y7riwcy4mmsgcalxcm3bnb41hvwiqiz774nbj68fq9vischg")) + +(define rust-av1-grain-0.2.5 + (crate-source "av1-grain" "0.2.5" + "1y3p43i5xncbny0pfh8kw09am3l3mgyg82ln65r3f434443xpzcc")) + +(define rust-avif-serialize-0.8.6 + (crate-source "avif-serialize" "0.8.6" + "0gx2yqlh0j5063vk70hv0f1yq40lm6kvc45qx2gm3x1iz30gpj27")) + +(define rust-bit-field-0.10.3 + (crate-source "bit_field" "0.10.3" + "1ikhbph4ap4w692c33r8bbv6yd2qxm1q3f64845grp1s6b3l0jqy")) + +(define rust-bitflags-2.10.0 + (crate-source "bitflags" "2.10.0" + "1lqxwc3625lcjrjm5vygban9v8a6dlxisp1aqylibiaw52si4bl1")) + +(define rust-bitstream-io-4.9.0 + (crate-source "bitstream-io" "4.9.0" + "0mqpwqy8cqnaqr4wkpk7qy7fjp4x6vxaf8z2hprbvimj3nfvvm30")) + +(define rust-built-0.8.0 + (crate-source "built" "0.8.0" + "0r5f08lpjsr6j5ajkbmd0ymfmajpq8ddbfvi8ji8rx48y88qzbgl")) + +(define rust-bumpalo-3.19.1 + (crate-source "bumpalo" "3.19.1" + "044555i277xcinmqs7nnv8n5y4fqfi4l4lp1mp3i30vsidrxrnax")) + +(define rust-by-address-1.2.1 + (crate-source "by_address" "1.2.1" + "01idmag3lcwnnqrnnyik2gmbrr34drsi97q15ihvcbbidf2kryk4")) + +(define rust-bytemuck-1.24.0 + (crate-source "bytemuck" "1.24.0" + "1x65wc9kwf0dfnmglkl8r46d29pfl7yilll5wh9bcf0g6a0gbg8z")) + +(define rust-byteorder-lite-0.1.0 + (crate-source "byteorder-lite" "0.1.0" + "15alafmz4b9az56z6x7glcbcb6a8bfgyd109qc3bvx07zx4fj7wg")) + +(define rust-camino-1.2.2 + (crate-source "camino" "1.2.2" + "0j0ayqfbbl8bxg0795ssk1hzkjix3dvl2kk63hdgzf9cd5nscag6")) + +(define rust-cargo-metadata-0.23.1 + (crate-source "cargo_metadata" "0.23.1" + "1sddycfscjy47av3ykzykqgz8zjds0i00gcxs76vw4x1n0bpv67g")) + +(define rust-cargo-platform-0.3.2 + (crate-source "cargo-platform" "0.3.2" + "10k0bvf5lnsndqgd92qxx3a2lask5nh2w2k568gz04cg2kkc1847")) + +(define rust-cast-0.3.0 + (crate-source "cast" "0.3.0" + "1dbyngbyz2qkk0jn2sxil8vrz3rnpcj142y184p9l4nbl9radcip")) + +(define rust-cc-1.2.53 + (crate-source "cc" "1.2.53" + "0cjrx2nzlz8l93p4sfymjgsv0jicvfphd6hyhk5gyxbi2z72ypbm")) + +(define rust-cfg-if-1.0.4 + (crate-source "cfg-if" "1.0.4" + "008q28ajc546z5p2hcwdnckmg0hia7rnx52fni04bwqkzyrghc4k")) + +(define rust-ciborium-0.2.2 + (crate-source "ciborium" "0.2.2" + "03hgfw4674im1pdqblcp77m7rc8x2v828si5570ga5q9dzyrzrj2")) + +(define rust-ciborium-io-0.2.2 + (crate-source "ciborium-io" "0.2.2" + "0my7s5g24hvp1rs1zd1cxapz94inrvqpdf1rslrvxj8618gfmbq5")) + +(define rust-ciborium-ll-0.2.2 + (crate-source "ciborium-ll" "0.2.2" + "1n8g4j5rwkfs3rzfi6g1p7ngmz6m5yxsksryzf5k72ll7mjknrjp")) + +(define rust-clap-4.5.54 + (crate-source "clap" "4.5.54" + "15737jmai272j6jh4ha4dq4ap14ysx2sa5wsjv6zbkvrrnfzzrn6")) + +(define rust-clap-builder-4.5.54 + (crate-source "clap_builder" "4.5.54" + "001cnl5ccva6z3x5nw3m72zs3bzb650anz1scs7vqhbs5d6wyhps")) + +(define rust-clap-complete-4.5.65 + (crate-source "clap_complete" "4.5.65" + "0pdf33fgil55x8a3l5x5gln39wy9xlmpnqkrvr41i1p3np14s2s3")) + +(define rust-clap-derive-4.5.49 + (crate-source "clap_derive" "4.5.49" + "0wbngw649138v3jwx8pm5x9sq0qsml3sh0sfzyrdxcpamy3m82ra")) + +(define rust-clap-lex-0.7.7 + (crate-source "clap_lex" "0.7.7" + "0cibsbziyzw2ywar2yh6zllsamhwkblfly565zgi56s3q064prn3")) + +(define rust-clap-mangen-0.2.31 + (crate-source "clap_mangen" "0.2.31" + "00b3r0nym6wvgfas1crmsn3205149ynj2hhnjcwgjv88j8xad7j3")) + +(define rust-color-quant-1.1.0 + (crate-source "color_quant" "1.1.0" + "12q1n427h2bbmmm1mnglr57jaz2dj9apk0plcxw7nwqiai7qjyrx")) + +(define rust-colorchoice-1.0.4 + (crate-source "colorchoice" "1.0.4" + "0x8ymkz1xr77rcj1cfanhf416pc4v681gmkc9dzb3jqja7f62nxh")) + +(define rust-convert-case-0.8.0 + (crate-source "convert_case" "0.8.0" + "17zqy79xlr1n7nc0n1mlnw5qpp8l2nbxrk13jixrhlavrbna1ams")) + +(define rust-core2-0.4.0 + (crate-source "core2" "0.4.0" + "01f5xv0kf3ds3xm7byg78hycbanb8zlpvsfv4j47y46n3bpsg6xl")) + +(define rust-crc32fast-1.5.0 + (crate-source "crc32fast" "1.5.0" + "04d51liy8rbssra92p0qnwjw8i9rm9c4m3bwy19wjamz1k4w30cl")) + +(define rust-criterion-0.8.1 + (crate-source "criterion" "0.8.1" + "1gw6v0qw8kr7gdl6if6912akmnc4xcidrs9ky93fxc3vfm3k922d")) + +(define rust-criterion-plot-0.8.1 + (crate-source "criterion-plot" "0.8.1" + "1r5jhzih1cv32s3jfsn9zrd5apgrmij039dzrg78vaigxa0kz57d")) + +(define rust-crossbeam-deque-0.8.6 + (crate-source "crossbeam-deque" "0.8.6" + "0l9f1saqp1gn5qy0rxvkmz4m6n7fc0b3dbm6q1r5pmgpnyvi3lcx")) + +(define rust-crossbeam-epoch-0.9.18 + (crate-source "crossbeam-epoch" "0.9.18" + "03j2np8llwf376m3fxqx859mgp9f83hj1w34153c7a9c7i5ar0jv")) + +(define rust-crossbeam-utils-0.8.21 + (crate-source "crossbeam-utils" "0.8.21" + "0a3aa2bmc8q35fb67432w16wvi54sfmb69rk9h5bhd18vw0c99fh")) + +(define rust-crunchy-0.2.4 + (crate-source "crunchy" "0.2.4" + "1mbp5navim2qr3x48lyvadqblcxc1dm0lqr0swrkkwy2qblvw3s6")) + +(define rust-darling-0.20.11 + (crate-source "darling" "0.20.11" + "1vmlphlrlw4f50z16p4bc9p5qwdni1ba95qmxfrrmzs6dh8lczzw")) + +(define rust-darling-core-0.20.11 + (crate-source "darling_core" "0.20.11" + "0bj1af6xl4ablnqbgn827m43b8fiicgv180749f5cphqdmcvj00d")) + +(define rust-darling-macro-0.20.11 + (crate-source "darling_macro" "0.20.11" + "1bbfbc2px6sj1pqqq97bgqn6c8xdnb2fmz66f7f40nrqrcybjd7w")) + +(define rust-deranged-0.5.5 + (crate-source "deranged" "0.5.5" + "11z5939gv2klp1r1lgrp4w5fnlkj18jqqf0h9zxmia3vkrjwpv7c")) + +(define rust-derive-builder-0.20.2 + (crate-source "derive_builder" "0.20.2" + "0is9z7v3kznziqsxa5jqji3ja6ay9wzravppzhcaczwbx84znzah")) + +(define rust-derive-builder-core-0.20.2 + (crate-source "derive_builder_core" "0.20.2" + "1s640r6q46c2iiz25sgvxw3lk6b6v5y8hwylng7kas2d09xwynrd")) + +(define rust-derive-builder-macro-0.20.2 + (crate-source "derive_builder_macro" "0.20.2" + "0g1zznpqrmvjlp2w7p0jzsjvpmw5rvdag0rfyypjhnadpzib0qxb")) + +(define rust-dirs-6.0.0 + (crate-source "dirs" "6.0.0" + "0knfikii29761g22pwfrb8d0nqpbgw77sni9h2224haisyaams63")) + +(define rust-dirs-sys-0.5.0 + ;; TODO REVIEW: Check bundled sources. + (crate-source "dirs-sys" "0.5.0" + "1aqzpgq6ampza6v012gm2dppx9k35cdycbj54808ksbys9k366p0")) + +(define rust-displaydoc-0.2.5 + (crate-source "displaydoc" "0.2.5" + "1q0alair462j21iiqwrr21iabkfnb13d6x5w95lkdg21q2xrqdlp")) + +(define rust-document-features-0.2.12 + (crate-source "document-features" "0.2.12" + "0qcgpialq3zgvjmsvar9n6v10rfbv6mk6ajl46dd4pj5hn3aif6l")) + +(define rust-documented-0.9.2 + (crate-source "documented" "0.9.2" + "0d6frja10byyi9s74y88r57kdj3i83caw4a9nz8sr1qy4lqkwszd")) + +(define rust-documented-macros-0.9.2 + (crate-source "documented-macros" "0.9.2" + "03rpr6nbxhwmjcqlrq4mzaxr4l05z6qxapy0lcbrxrz5c9scyj8i")) + +(define rust-dunce-1.0.5 + (crate-source "dunce" "1.0.5" + "04y8wwv3vvcqaqmqzssi6k0ii9gs6fpz96j5w9nky2ccsl23axwj")) + +(define rust-dyn-clone-1.0.20 + (crate-source "dyn-clone" "1.0.20" + "0m956cxcg8v2n8kmz6xs5zl13k2fak3zkapzfzzp7pxih6hix26h")) + +(define rust-either-1.15.0 + (crate-source "either" "1.15.0" + "069p1fknsmzn9llaizh77kip0pqmcwpdsykv2x30xpjyija5gis8")) + +(define rust-equator-0.4.2 + (crate-source "equator" "0.4.2" + "1z760z5r0haxjyakbqxvswrz9mq7c29arrivgq8y1zldhc9v44a7")) + +(define rust-equator-macro-0.4.2 + (crate-source "equator-macro" "0.4.2" + "1cqzx3cqn9rxln3a607xr54wippzff56zs5chqdf3z2bnks3rwj4")) + +(define rust-equivalent-1.0.2 + (crate-source "equivalent" "1.0.2" + "03swzqznragy8n0x31lqc78g2af054jwivp7lkrbrc0khz74lyl7")) + +(define rust-errno-0.3.14 + (crate-source "errno" "0.3.14" + "1szgccmh8vgryqyadg8xd58mnwwicf39zmin3bsn63df2wbbgjir")) + +(define rust-exr-1.74.0 + (crate-source "exr" "1.74.0" + "1gk3cc2qkfm0jqw4v1d7g4c356k9iz583bq17iiwp8kalm1y0023")) + +(define rust-fast-image-resize-6.0.0 + (crate-source "fast_image_resize" "6.0.0" + "0x118h9h3aqz4bbva3mr5wl6hp7cl9bhsni1lc8q938y07jl7p8j")) + +(define rust-fast-srgb8-1.0.0 + (crate-source "fast-srgb8" "1.0.0" + "18g6xwwh4gnkyx1352hnvwagpv0n4y98yp2llm8vyvwxh487abnx")) + +(define rust-fastrand-2.3.0 + (crate-source "fastrand" "2.3.0" + "1ghiahsw1jd68df895cy5h3gzwk30hndidn3b682zmshpgmrx41p")) + +(define rust-fax-0.2.6 + (crate-source "fax" "0.2.6" + "1ax0jmvsszxd03hj6ga1kyl7gaqcfw0akg2wf0q6gk9pizaffpgh")) + +(define rust-fax-derive-0.2.0 + (crate-source "fax_derive" "0.2.0" + "0zap434zz4xvi5rnysmwzzivig593b4ng15vwzwl7js2nw7s3b50")) + +(define rust-fdeflate-0.3.7 + (crate-source "fdeflate" "0.3.7" + "130ga18vyxbb5idbgi07njymdaavvk6j08yh1dfarm294ssm6s0y")) + +(define rust-find-msvc-tools-0.1.8 + (crate-source "find-msvc-tools" "0.1.8" + "1nv8hn78xphg04l6w7iq1v8lsmmqx6ripbig18qn92m9r2yb14c5")) + +(define rust-flate2-1.1.8 + (crate-source "flate2" "1.1.8" + "0sgkq8z9ldz06qxl704sm9akfy2r70zp1ixi4mghl2cqbd3dcxdk")) + +(define rust-fnv-1.0.7 + (crate-source "fnv" "1.0.7" + "1hc2mcqha06aibcaza94vbi81j6pr9a1bbxrxjfhc91zin8yr7iz")) + +(define rust-foldhash-0.2.0 + (crate-source "foldhash" "0.2.0" + "1nvgylb099s11xpfm1kn2wcsql080nqmnhj1l25bp3r2b35j9kkp")) + +(define rust-form-urlencoded-1.2.2 + (crate-source "form_urlencoded" "1.2.2" + "1kqzb2qn608rxl3dws04zahcklpplkd5r1vpabwga5l50d2v4k6b")) + +(define rust-getrandom-0.2.17 + (crate-source "getrandom" "0.2.17" + "1l2ac6jfj9xhpjjgmcx6s1x89bbnw9x6j9258yy6xjkzpq0bqapz")) + +(define rust-getrandom-0.3.4 + (crate-source "getrandom" "0.3.4" + "1zbpvpicry9lrbjmkd4msgj3ihff1q92i334chk7pzf46xffz7c9")) + +(define rust-gif-0.14.1 + (crate-source "gif" "0.14.1" + "0pn3ldqjk0ng1vbc3r3zqqrnjkn6s3f3ndk96lhhrn0q82l2ppzm")) + +(define rust-git2-0.20.3 + (crate-source "git2" "0.20.3" + "131hmxb2iq9328wrwqgw56fcd0z3dwxnn3hzl6nwsa97yvi3fary")) + +(define rust-glob-0.3.3 + (crate-source "glob" "0.3.3" + "106jpd3syfzjfj2k70mwm0v436qbx96wig98m4q8x071yrq35hhc")) + +(define rust-half-2.7.1 + (crate-source "half" "2.7.1" + "0jyq42xfa6sghc397mx84av7fayd4xfxr4jahsqv90lmjr5xi8kf")) + +(define rust-hashbrown-0.16.1 + (crate-source "hashbrown" "0.16.1" + "004i3njw38ji3bzdp9z178ba9x3k0c1pgy8x69pj7yfppv4iq7c4")) + +(define rust-heck-0.4.1 + (crate-source "heck" "0.4.1" + "1a7mqsnycv5z4z5vnv1k34548jzmc0ajic7c1j8jsaspnhw5ql4m")) + +(define rust-heck-0.5.0 + (crate-source "heck" "0.5.0" + "1sjmpsdl8czyh9ywl3qcsfsq9a307dg4ni2vnlwgnzzqhc4y0113")) + +(define rust-icu-collections-2.1.1 + (crate-source "icu_collections" "2.1.1" + "0hsblchsdl64q21qwrs4hvc2672jrf466zivbj1bwyv606bn8ssc")) + +(define rust-icu-locale-core-2.1.1 + (crate-source "icu_locale_core" "2.1.1" + "1djvdc2f5ylmp1ymzv4gcnmq1s4hqfim9nxlcm173lsd01hpifpd")) + +(define rust-icu-normalizer-2.1.1 + (crate-source "icu_normalizer" "2.1.1" + "16dmn5596la2qm0r3vih0bzjfi0vx9a20yqjha6r1y3vnql8hv2z")) + +(define rust-icu-normalizer-data-2.1.1 + (crate-source "icu_normalizer_data" "2.1.1" + "02jnzizg6q75m41l6c13xc7nkc5q8yr1b728dcgfhpzw076wrvbs")) + +(define rust-icu-properties-2.1.2 + (crate-source "icu_properties" "2.1.2" + "1v3lbmhhi7i6jgw51ikjb1p50qh5rb67grlkdnkc63l7zq1gq2q2")) + +(define rust-icu-properties-data-2.1.2 + (crate-source "icu_properties_data" "2.1.2" + "1bvpkh939rgzrjfdb7hz47v4wijngk0snmcgrnpwc9fpz162jv31")) + +(define rust-icu-provider-2.1.1 + (crate-source "icu_provider" "2.1.1" + "0576b7dizgyhpfa74kacv86y4g1p7v5ffd6c56kf1q82rvq2r5l5")) + +(define rust-ident-case-1.0.1 + (crate-source "ident_case" "1.0.1" + "0fac21q6pwns8gh1hz3nbq15j8fi441ncl6w4vlnd1cmc55kiq5r")) + +(define rust-idna-1.1.0 + (crate-source "idna" "1.1.0" + "1pp4n7hppm480zcx411dsv9wfibai00wbpgnjj4qj0xa7kr7a21v")) + +(define rust-idna-adapter-1.2.1 + (crate-source "idna_adapter" "1.2.1" + "0i0339pxig6mv786nkqcxnwqa87v4m94b2653f6k3aj0jmhfkjis")) + +(define rust-image-0.25.9 + (crate-source "image" "0.25.9" + "06lwa4ag3zcmjzivl356q0qhgxxqpkp7qwda7x0mjrkq21n6ql76")) + +(define rust-image-webp-0.2.4 + (crate-source "image-webp" "0.2.4" + "1hz814csyi9283vinzlkix6qpnd6hs3fkw7xl6z2zgm4w7rrypjj")) + +(define rust-imgref-1.12.0 + (crate-source "imgref" "1.12.0" + "1j3iwdal9mdkmyrsms3lz4n1bxxxjxss2jvbmh662fns63fcxig7")) + +(define rust-indexmap-2.13.0 + (crate-source "indexmap" "2.13.0" + "05qh5c4h2hrnyypphxpwflk45syqbzvqsvvyxg43mp576w2ff53p")) + +(define rust-interpolate-name-0.2.4 + (crate-source "interpolate_name" "0.2.4" + "0q7s5mrfkx4p56dl8q9zq71y1ysdj4shh6f28qf9gly35l21jj63")) + +(define rust-is-terminal-polyfill-1.70.2 + (crate-source "is_terminal_polyfill" "1.70.2" + "15anlc47sbz0jfs9q8fhwf0h3vs2w4imc030shdnq54sny5i7jx6")) + +(define rust-itertools-0.13.0 + (crate-source "itertools" "0.13.0" + "11hiy3qzl643zcigknclh446qb9zlg4dpdzfkjaa9q9fqpgyfgj1")) + +(define rust-itertools-0.14.0 + (crate-source "itertools" "0.14.0" + "118j6l1vs2mx65dqhwyssbrxpawa90886m3mzafdvyip41w2q69b")) + +(define rust-itoa-1.0.17 + (crate-source "itoa" "1.0.17" + "1lh93xydrdn1g9x547bd05g0d3hra7pd1k4jfd2z1pl1h5hwdv4j")) + +(define rust-jobserver-0.1.34 + (crate-source "jobserver" "0.1.34" + "0cwx0fllqzdycqn4d6nb277qx5qwnmjdxdl0lxkkwssx77j3vyws")) + +(define rust-js-sys-0.3.85 + ;; TODO REVIEW: Check bundled sources. + (crate-source "js-sys" "0.3.85" + "1csmb42fxjmzjdgc790bgw77sf1cb9ydm5rdsnh5qj4miszjx54c")) + +(define rust-kmeans-colors-0.7.1 + (crate-source "kmeans_colors" "0.7.1" + "0ap8w84kx3ibik56a2q66vwss67pirs035gswpcbcavng5mv5c3a")) + +(define rust-lazy-static-1.5.0 + (crate-source "lazy_static" "1.5.0" + "1zk6dqqni0193xg6iijh7i3i44sryglwgvx20spdvwk3r6sbrlmv")) + +(define rust-lebe-0.5.3 + (crate-source "lebe" "0.5.3" + "1f459clndzzm35nyd15vj5dlasyagfasp7hcgl6lh2b658rs6ybs")) + +(define rust-libc-0.2.180 + (crate-source "libc" "0.2.180" + "1z2n7hl10fnk1xnv19ahhqxwnb4qi9aclnl6gigim2aaahw5mhxw")) + +(define rust-libfuzzer-sys-0.4.10 + ;; TODO REVIEW: Check bundled sources. + (crate-source "libfuzzer-sys" "0.4.10" + "0124z86582vyzl8gbadqscjgf9i94jcpa9mxcpsyxjvh3w71jdsh")) + +(define rust-libgit2-sys-0.18.3+1.9.2 + ;; TODO REVIEW: Check bundled sources. + (crate-source "libgit2-sys" "0.18.3+1.9.2" + "11rlbyihj3k35mnkxxz4yvsnlx33a4r9srl66c5vp08pp72arcy9")) + +(define rust-libredox-0.1.12 + (crate-source "libredox" "0.1.12" + "05h6fb2y05h74zwaafmnf7gv3bxilzp7syqlfzw524w55kh9a2rx")) + +(define rust-libz-sys-1.1.23 + ;; TODO REVIEW: Check bundled sources. + (crate-source "libz-sys" "1.1.23" + "1xy0l46gmhfyk28r9pm7njl0h7dh8l2vpiqw67kn043pyfxiil8m")) + +(define rust-linux-raw-sys-0.11.0 + ;; TODO REVIEW: Check bundled sources. + (crate-source "linux-raw-sys" "0.11.0" + "0fghx0nn8nvbz5yzgizfcwd6ap2pislp68j8c1bwyr6sacxkq7fz")) + +(define rust-litemap-0.8.1 + (crate-source "litemap" "0.8.1" + "0xsy8pfp9s802rsj1bq2ys2kbk1g36w5dr3gkfip7gphb5x60wv3")) + +(define rust-litrs-1.0.0 + (crate-source "litrs" "1.0.0" + "14p0kzzkavnngvybl88nvfwv031cc2qx4vaxpfwsiifm8grdglqi")) + +(define rust-log-0.4.29 + (crate-source "log" "0.4.29" + "15q8j9c8g5zpkcw0hnd6cf2z7fxqnvsjh3rw5mv5q10r83i34l2y")) + +(define rust-loop9-0.1.5 + (crate-source "loop9" "0.1.5" + "0qphc1c0cbbx43pwm6isnwzwbg6nsxjh7jah04n1sg5h4p0qgbhg")) + +(define rust-maplit-1.0.2 + (crate-source "maplit" "1.0.2" + "07b5kjnhrrmfhgqm9wprjw8adx6i225lqp49gasgqg74lahnabiy")) + +(define rust-maybe-rayon-0.1.1 + (crate-source "maybe-rayon" "0.1.1" + "06cmvhj4n36459g327ng5dnj8d58qs472pv5ahlhm7ynxl6g78cf")) + +(define rust-memchr-2.7.6 + (crate-source "memchr" "2.7.6" + "0wy29kf6pb4fbhfksjbs05jy2f32r2f3r1ga6qkmpz31k79h0azm")) + +(define rust-memo-map-0.3.3 + (crate-source "memo-map" "0.3.3" + "0yw5ria5j6kd8z0p2yiji1vc2x53zg348dv1fgip822n0x813l9q")) + +(define rust-minijinja-2.14.0 + (crate-source "minijinja" "2.14.0" + "1ah6k177jxp1i9p9wala12mnc0zry3yn15890wk13d8zlp09mshj")) + +(define rust-miniz-oxide-0.8.9 + (crate-source "miniz_oxide" "0.8.9" + "05k3pdg8bjjzayq3rf0qhpirq9k37pxnasfn4arbs17phqn6m9qz")) + +(define rust-moxcms-0.7.11 + (crate-source "moxcms" "0.7.11" + "15qa5znj029i7677l0hdv0lwmjggrg920bhjgs3cjvydb72mg5dc")) + +(define rust-new-debug-unreachable-1.0.6 + (crate-source "new_debug_unreachable" "1.0.6" + "11phpf1mjxq6khk91yzcbd3ympm78m3ivl7xg6lg2c0lf66fy3k5")) + +(define rust-nom-8.0.0 + (crate-source "nom" "8.0.0" + "01cl5xng9d0gxf26h39m0l8lprgpa00fcc75ps1yzgbib1vn35yz")) + +(define rust-noop-proc-macro-0.3.0 + (crate-source "noop_proc_macro" "0.3.0" + "1j2v1c6ric4w9v12h34jghzmngcwmn0hll1ywly4h6lcm4rbnxh6")) + +(define rust-num-bigint-0.4.6 + (crate-source "num-bigint" "0.4.6" + "1f903zd33i6hkjpsgwhqwi2wffnvkxbn6rv4mkgcjcqi7xr4zr55")) + +(define rust-num-conv-0.1.0 + (crate-source "num-conv" "0.1.0" + "1ndiyg82q73783jq18isi71a7mjh56wxrk52rlvyx0mi5z9ibmai")) + +(define rust-num-derive-0.4.2 + (crate-source "num-derive" "0.4.2" + "00p2am9ma8jgd2v6xpsz621wc7wbn1yqi71g15gc3h67m7qmafgd")) + +(define rust-num-integer-0.1.46 + (crate-source "num-integer" "0.1.46" + "13w5g54a9184cqlbsq80rnxw4jj4s0d8wv75jsq5r2lms8gncsbr")) + +(define rust-num-rational-0.4.2 + (crate-source "num-rational" "0.4.2" + "093qndy02817vpgcqjnj139im3jl7vkq4h68kykdqqh577d18ggq")) + +(define rust-num-threads-0.1.7 + (crate-source "num_threads" "0.1.7" + "1ngajbmhrgyhzrlc4d5ga9ych1vrfcvfsiqz6zv0h2dpr2wrhwsw")) + +(define rust-num-traits-0.2.19 + (crate-source "num-traits" "0.2.19" + "0h984rhdkkqd4ny9cif7y2azl3xdfb7768hb9irhpsch4q3gq787")) + +(define rust-once-cell-1.21.3 + (crate-source "once_cell" "1.21.3" + "0b9x77lb9f1j6nqgf5aka4s2qj0nly176bpbrv6f9iakk5ff3xa2")) + +(define rust-once-cell-polyfill-1.70.2 + (crate-source "once_cell_polyfill" "1.70.2" + "1zmla628f0sk3fhjdjqzgxhalr2xrfna958s632z65bjsfv8ljrq")) + +(define rust-oorandom-11.1.5 + (crate-source "oorandom" "11.1.5" + "07mlf13z453fq01qff38big1lh83j8l6aaglf63ksqzzqxc0yyfn")) + +(define rust-optfield-0.4.0 + (crate-source "optfield" "0.4.0" + "04lpdwapksfbjlrdyzk2knfxi7awgl82i8iis5di1yy4zylcr74n")) + +(define rust-option-ext-0.2.0 + (crate-source "option-ext" "0.2.0" + "0zbf7cx8ib99frnlanpyikm1bx8qn8x602sw1n7bg6p9x94lyx04")) + +(define rust-owo-colors-4.2.3 + (crate-source "owo-colors" "4.2.3" + "0ljavh4hfxmlyjr67hyii5875p55kjg24crkj6h937m7kxr02scw")) + +(define rust-page-size-0.6.0 + (crate-source "page_size" "0.6.0" + "1nj0rrwpvagagssljbm29ww1iyrrg15p1q4sk70r2cfi9qcv5m9h")) + +(define rust-palette-0.7.6 + (crate-source "palette" "0.7.6" + "1rmn02mv6cb112504qyg7pyfa83c08hxpk5sw7jc5v659hc73gsc")) + +(define rust-palette-derive-0.7.6 + (crate-source "palette_derive" "0.7.6" + "0c0xhpk1nqyq4jr2m8xnka7w47vqzc7m2vq9ih8wxyjv02phs0zm")) + +(define rust-paste-1.0.15 + (crate-source "paste" "1.0.15" + "02pxffpdqkapy292harq6asfjvadgp1s005fip9ljfsn9fvxgh2p")) + +(define rust-pastey-0.1.1 + (crate-source "pastey" "0.1.1" + "1v389jkifv757903flrrps67dvc6q6giwlyx3xi33hcfjmgjxyrm")) + +(define rust-percent-encoding-2.3.2 + (crate-source "percent-encoding" "2.3.2" + "083jv1ai930azvawz2khv7w73xh8mnylk7i578cifndjn5y64kwv")) + +(define rust-phf-0.12.1 + (crate-source "phf" "0.12.1" + "1dz85g1wshfca83mrq3va9rm9n8qcdjlpv1i3908y5zc9j4p6cli")) + +(define rust-phf-generator-0.12.1 + (crate-source "phf_generator" "0.12.1" + "0nvcdbc2j7pznjin4qhw360c8zgfn5isx3bld1ixsqgdmwk13frc")) + +(define rust-phf-macros-0.12.1 + (crate-source "phf_macros" "0.12.1" + "0s230ikydi4n2vi9s03d49k5fznkg6kpq12jmlg0jbx8jf1ja4yp")) + +(define rust-phf-shared-0.12.1 + (crate-source "phf_shared" "0.12.1" + "10cr16wpmbjxd7w6k98sxw9yw3zxnzscybl9jzyq3digi045a006")) + +(define rust-pkg-config-0.3.32 + (crate-source "pkg-config" "0.3.32" + "0k4h3gnzs94sjb2ix6jyksacs52cf1fanpwsmlhjnwrdnp8dppby")) + +(define rust-plotters-0.3.7 + (crate-source "plotters" "0.3.7" + "0ixpy9svpmr2rkzkxvvdpysjjky4gw104d73n7pi2jbs7m06zsss")) + +(define rust-plotters-backend-0.3.7 + (crate-source "plotters-backend" "0.3.7" + "0ahpliim4hrrf7d4ispc2hwr7rzkn6d6nf7lyyrid2lm28yf2hnz")) + +(define rust-plotters-svg-0.3.7 + (crate-source "plotters-svg" "0.3.7" + "0w56sxaa2crpasa1zj0bhxzihlapqfkncggavyngg0w86anf5fji")) + +(define rust-png-0.18.0 + (crate-source "png" "0.18.0" + "187jf0m873qn5biix8z7gjdsyf8r6vj3yr495pa0jja6i39wxflp")) + +(define rust-potential-utf-0.1.4 + (crate-source "potential_utf" "0.1.4" + "0xxg0pkfpq299wvwln409z4fk80rbv55phh3f1jhjajy5x1ljfdp")) + +(define rust-powerfmt-0.2.0 + (crate-source "powerfmt" "0.2.0" + "14ckj2xdpkhv3h6l5sdmb9f1d57z8hbfpdldjc2vl5givq2y77j3")) + +(define rust-ppv-lite86-0.2.21 + (crate-source "ppv-lite86" "0.2.21" + "1abxx6qz5qnd43br1dd9b2savpihzjza8gb4fbzdql1gxp2f7sl5")) + +(define rust-proc-macro2-1.0.105 + (crate-source "proc-macro2" "1.0.105" + "1rvgs5qdznlrqrgicmv24nybnrnv8kyvk2vi7s52ddna1q71hpak")) + +(define rust-profiling-1.0.17 + (crate-source "profiling" "1.0.17" + "0wqp6i1bl7azy9270dp92srbbr55mgdh9qnk5b1y44lyarmlif1y")) + +(define rust-profiling-procmacros-1.0.17 + (crate-source "profiling-procmacros" "1.0.17" + "0nrxdh5r723raxbs136jmjx46p0c5qgai8jwz4j555mn0ad7ywaj")) + +(define rust-pxfm-0.1.27 + (crate-source "pxfm" "0.1.27" + "1a76ydn3wpl2dvyzplv3c6fkx4mkjc9ns60xas9l7alk4n1d71ki")) + +(define rust-qoi-0.4.1 + (crate-source "qoi" "0.4.1" + "00c0wkb112annn2wl72ixyd78mf56p4lxkhlmsggx65l3v3n8vbz")) + +(define rust-quick-error-2.0.1 + (crate-source "quick-error" "2.0.1" + "18z6r2rcjvvf8cn92xjhm2qc3jpd1ljvcbf12zv0k9p565gmb4x9")) + +(define rust-quote-1.0.43 + (crate-source "quote" "1.0.43" + "02n41mlr81qmczac7m5kjy51y8b7yrb8ym4ncmjycampjjjxjx6w")) + +(define rust-r-efi-5.3.0 + (crate-source "r-efi" "5.3.0" + "03sbfm3g7myvzyylff6qaxk4z6fy76yv860yy66jiswc2m6b7kb9")) + +(define rust-rand-0.9.2 + (crate-source "rand" "0.9.2" + "1lah73ainvrgl7brcxx0pwhpnqa3sm3qaj672034jz8i0q7pgckd")) + +(define rust-rand-chacha-0.9.0 + (crate-source "rand_chacha" "0.9.0" + "1jr5ygix7r60pz0s1cv3ms1f6pd1i9pcdmnxzzhjc3zn3mgjn0nk")) + +(define rust-rand-core-0.9.5 + (crate-source "rand_core" "0.9.5" + "0g6qc5r3f0hdmz9b11nripyp9qqrzb0xqk9piip8w8qlvqkcibvn")) + +(define rust-rav1e-0.8.1 + (crate-source "rav1e" "0.8.1" + "0axk3ji3jmlr81svmsy5zvj8shmhpp8lz5nyghkq752xx1bdvdj3")) + +(define rust-ravif-0.12.0 + (crate-source "ravif" "0.12.0" + "11dj99rsrdjp12yn4xchxsb78prsg5s8x4smd08qmwgf1jcw2sgg")) + +(define rust-rayon-1.11.0 + (crate-source "rayon" "1.11.0" + "13x5fxb7rn4j2yw0cr26n7782jkc7rjzmdkg42qxk3xz0p8033rn")) + +(define rust-rayon-core-1.13.0 + (crate-source "rayon-core" "1.13.0" + "14dbr0sq83a6lf1rfjq5xdpk5r6zgzvmzs5j6110vlv2007qpq92")) + +(define rust-redox-users-0.5.2 + (crate-source "redox_users" "0.5.2" + "1b17q7gf7w8b1vvl53bxna24xl983yn7bd00gfbii74bcg30irm4")) + +(define rust-ref-cast-1.0.25 + (crate-source "ref-cast" "1.0.25" + "0zdzc34qjva9xxgs889z5iz787g81hznk12zbk4g2xkgwq530m7k")) + +(define rust-ref-cast-impl-1.0.25 + (crate-source "ref-cast-impl" "1.0.25" + "1nkhn1fklmn342z5c4mzfzlxddv3x8yhxwwk02cj06djvh36065p")) + +(define rust-regex-1.12.2 + (crate-source "regex" "1.12.2" + "1m14zkg6xmkb0q5ah3y39cmggclsjdr1wpxfa4kf5wvm3wcw0fw4")) + +(define rust-regex-automata-0.4.13 + (crate-source "regex-automata" "0.4.13" + "070z0j23pjfidqz0z89id1fca4p572wxpcr20a0qsv68bbrclxjj")) + +(define rust-regex-syntax-0.8.8 + (crate-source "regex-syntax" "0.8.8" + "0n7ggnpk0r32rzgnycy5xrc1yp2kq19m6pz98ch3c6dkaxw9hbbs")) + +(define rust-rgb-0.8.52 + (crate-source "rgb" "0.8.52" + "1km115a9lblf9pldvx51dmmg30y8ms4ka67hvas2ndcq556qhshc")) + +(define rust-roff-0.2.2 + (crate-source "roff" "0.2.2" + "1wyqz6m0pm4p6wzhwhahvcidfm7nwb38zl4q7ha940pn3w66dy48")) + +(define rust-rustix-1.1.3 + (crate-source "rustix" "1.1.3" + "0d0z2zcw4rwzni1hm8snw8xdxwwrij336m31c4ghq66cghj9wv0l")) + +(define rust-rustversion-1.0.22 + (crate-source "rustversion" "1.0.22" + "0vfl70jhv72scd9rfqgr2n11m5i9l1acnk684m2w83w0zbqdx75k")) + +(define rust-same-file-1.0.6 + (crate-source "same-file" "1.0.6" + "00h5j1w87dmhnvbv9l8bic3y7xxsnjmssvifw2ayvgx9mb1ivz4k")) + +(define rust-schemars-1.2.0 + (crate-source "schemars" "1.2.0" + "1lk7qb6797dmixnb0qfkmlpsa5p2kgwk29s91xvpmia2hw811sal")) + +(define rust-schemars-derive-1.2.0 + (crate-source "schemars_derive" "1.2.0" + "0ibwb8amvy70xrgbfqp1iqk0mvqd4x4hvpyg2bmshdahihlas229")) + +(define rust-self-cell-1.2.2 + (crate-source "self_cell" "1.2.2" + "12cdmh9p2h72rmw923kj841jji4k0vrykihvx19fn059az8pcbmi")) + +(define rust-semver-1.0.27 + (crate-source "semver" "1.0.27" + "1qmi3akfrnqc2hfkdgcxhld5bv961wbk8my3ascv5068mc5fnryp")) + +(define rust-serde-1.0.228 + (crate-source "serde" "1.0.228" + "17mf4hhjxv5m90g42wmlbc61hdhlm6j9hwfkpcnd72rpgzm993ls")) + +(define rust-serde-core-1.0.228 + (crate-source "serde_core" "1.0.228" + "1bb7id2xwx8izq50098s5j2sqrrvk31jbbrjqygyan6ask3qbls1")) + +(define rust-serde-derive-1.0.228 + (crate-source "serde_derive" "1.0.228" + "0y8xm7fvmr2kjcd029g9fijpndh8csv5m20g4bd76w8qschg4h6m")) + +(define rust-serde-derive-internals-0.29.1 + (crate-source "serde_derive_internals" "0.29.1" + "04g7macx819vbnxhi52cx0nhxi56xlhrybgwybyy7fb9m4h6mlhq")) + +(define rust-serde-json-1.0.149 + (crate-source "serde_json" "1.0.149" + "11jdx4vilzrjjd1dpgy67x5lgzr0laplz30dhv75lnf5ffa07z43")) + +(define rust-serde-spanned-1.0.4 + (crate-source "serde_spanned" "1.0.4" + "0xkp0qdzams5sqwndbw3xrhf4c0bb5r46w2ywkp1aqsdb8ggkfzq")) + +(define rust-shellexpand-3.1.1 + (crate-source "shellexpand" "3.1.1" + "1fwhid2r117rbis2f6lj8mpfjf0w6lq6nqfxjha86cb3vmjxy7wb")) + +(define rust-shlex-1.3.0 + (crate-source "shlex" "1.3.0" + "0r1y6bv26c1scpxvhg2cabimrmwgbp4p3wy6syj9n0c4s3q2znhg")) + +(define rust-simd-adler32-0.3.8 + (crate-source "simd-adler32" "0.3.8" + "18lx2gdgislabbvlgw5q3j5ssrr77v8kmkrxaanp3liimp2sc873")) + +(define rust-simd-helpers-0.1.0 + (crate-source "simd_helpers" "0.1.0" + "19idqicn9k4vhd04ifh2ff41wvna79zphdf2c81rlmpc7f3hz2cm")) + +(define rust-siphasher-1.0.1 + (crate-source "siphasher" "1.0.1" + "17f35782ma3fn6sh21c027kjmd227xyrx06ffi8gw4xzv9yry6an")) + +(define rust-smallvec-1.15.1 + (crate-source "smallvec" "1.15.1" + "00xxdxxpgyq5vjnpljvkmy99xij5rxgh913ii1v16kzynnivgcb7")) + +(define rust-spinners-4.1.1 + (crate-source "spinners" "4.1.1" + "10jgzdy6x79ipnfhavn46zbg4hlx98mcfr7p4f4j774b6mzr9vx0")) + +(define rust-stable-deref-trait-1.2.1 + (crate-source "stable_deref_trait" "1.2.1" + "15h5h73ppqyhdhx6ywxfj88azmrpml9gl6zp3pwy2malqa6vxqkc")) + +(define rust-strsim-0.11.1 + (crate-source "strsim" "0.11.1" + "0kzvqlw8hxqb7y598w1s0hxlnmi84sg5vsipp3yg5na5d1rvba3x")) + +(define rust-strum-0.24.1 + (crate-source "strum" "0.24.1" + "0gz6cjhlps5idwasznklxdh2zsas6mxf99vr0n27j876q12n0gh6")) + +(define rust-strum-0.27.2 + (crate-source "strum" "0.27.2" + "1ksb9jssw4bg9kmv9nlgp2jqa4vnsa3y4q9zkppvl952q7vdc8xg")) + +(define rust-strum-macros-0.24.3 + (crate-source "strum_macros" "0.24.3" + "0naxz2y38kwq5wgirmia64vvf6qhwy8j367rw966n62gsbh5nf0y")) + +(define rust-strum-macros-0.27.2 + (crate-source "strum_macros" "0.27.2" + "19xwikxma0yi70fxkcy1yxcv0ica8gf3jnh5gj936jza8lwcx5bn")) + +(define rust-syn-1.0.109 + (crate-source "syn" "1.0.109" + "0ds2if4600bd59wsv7jjgfkayfzy3hnazs394kz6zdkmna8l3dkj")) + +(define rust-syn-2.0.114 + (crate-source "syn" "2.0.114" + "0akw62dizhyrkf3ym1jsys0gy1nphzgv0y8qkgpi6c1s4vghglfl")) + +(define rust-synstructure-0.13.2 + (crate-source "synstructure" "0.13.2" + "1lh9lx3r3jb18f8sbj29am5hm9jymvbwh6jb1izsnnxgvgrp12kj")) + +(define rust-tempfile-3.24.0 + (crate-source "tempfile" "3.24.0" + "171fz3h6rj676miq15fyv1hnv69p426mlp8489bwa1b3xg3sjpb5")) + +(define rust-thiserror-2.0.18 + (crate-source "thiserror" "2.0.18" + "1i7vcmw9900bvsmay7mww04ahahab7wmr8s925xc083rpjybb222")) + +(define rust-thiserror-impl-2.0.18 + (crate-source "thiserror-impl" "2.0.18" + "1mf1vrbbimj1g6dvhdgzjmn6q09yflz2b92zs1j9n3k7cxzyxi7b")) + +(define rust-tiff-0.10.3 + (crate-source "tiff" "0.10.3" + "0vrkdk9cdk07rh7iifcxpn6m8zv3wz695mizhr8rb3gfgzg0b5mg")) + +(define rust-time-0.3.45 + (crate-source "time" "0.3.45" + "1gdag88agck220k6fxbgb7gsnr2r14n33sxzm5db9zfp6gy45r7r")) + +(define rust-time-core-0.1.7 + (crate-source "time-core" "0.1.7" + "1jilglvr6m6h2iidnvdp3zfahck9wa7kw64rslk79v1izncfwdlb")) + +(define rust-time-macros-0.2.25 + (crate-source "time-macros" "0.2.25" + "1pg3zrqyvjcy1nh470mdw7qxwwq6zmwq3f1dlp11mxlv4k8m5rbi")) + +(define rust-tinystr-0.8.2 + (crate-source "tinystr" "0.8.2" + "0sa8z88axdsf088hgw5p4xcyi6g3w3sgbb6qdp81bph9bk2fkls2")) + +(define rust-tinytemplate-1.2.1 + (crate-source "tinytemplate" "1.2.1" + "1g5n77cqkdh9hy75zdb01adxn45mkh9y40wdr7l68xpz35gnnkdy")) + +(define rust-toml-0.9.11+spec-1.1.0 + (crate-source "toml" "0.9.11+spec-1.1.0" + "0ikwmd5s9ndg6afxijaxjcgxw53sd9af3mmfzymf37rh92lckbzk")) + +(define rust-toml-datetime-0.7.5+spec-1.1.0 + (crate-source "toml_datetime" "0.7.5+spec-1.1.0" + "0iqkgvgsxmszpai53dbip7sf2igic39s4dby29dbqf1h9bnwzqcj")) + +(define rust-toml-edit-0.24.0+spec-1.1.0 + (crate-source "toml_edit" "0.24.0+spec-1.1.0" + "17phsw24qy7npya4b0m3f1ibs43hxypjq4lij5nhl5r0b4c0nx4c")) + +(define rust-toml-parser-1.0.6+spec-1.1.0 + (crate-source "toml_parser" "1.0.6+spec-1.1.0" + "0i5zxv5y3z9g6r3gm6ly4q0hhkahh013q4rys2fz04cf195qn6d3")) + +(define rust-toml-writer-1.0.6+spec-1.1.0 + (crate-source "toml_writer" "1.0.6+spec-1.1.0" + "01r6x42d1p8p5kzfsi1fm4dakm3w53vi69f2ivyqpvi1xm5g25mb")) + +(define rust-unicode-ident-1.0.22 + (crate-source "unicode-ident" "1.0.22" + "1x8xrz17vqi6qmkkcqr8cyf0an76ig7390j9cnqnk47zyv2gf4lk")) + +(define rust-unicode-segmentation-1.12.0 + (crate-source "unicode-segmentation" "1.12.0" + "14qla2jfx74yyb9ds3d2mpwpa4l4lzb9z57c6d2ba511458z5k7n")) + +(define rust-url-2.5.8 + (crate-source "url" "2.5.8" + "1v8f7nx3hpr1qh76if0a04sj08k86amsq4h8cvpw6wvk76jahrzz")) + +(define rust-utf8-iter-1.0.4 + (crate-source "utf8_iter" "1.0.4" + "1gmna9flnj8dbyd8ba17zigrp9c4c3zclngf5lnb5yvz1ri41hdn")) + +(define rust-utf8parse-0.2.2 + (crate-source "utf8parse" "0.2.2" + "088807qwjq46azicqwbhlmzwrbkz7l4hpw43sdkdyyk524vdxaq6")) + +(define rust-v-frame-0.3.9 + (crate-source "v_frame" "0.3.9" + "1qkvb4ks33zck931vzqckjn36hkngj6l2cwmvfsnlpc7r0kpfsv6")) + +(define rust-vcpkg-0.2.15 + (crate-source "vcpkg" "0.2.15" + "09i4nf5y8lig6xgj3f7fyrvzd3nlaw4znrihw8psidvv5yk4xkdc")) + +(define rust-vergen-9.1.0 + (crate-source "vergen" "9.1.0" + "0xdgrs146p81vbhg5y8svch3cghyi3yf07p8c7i8v7k3v3va2jdq")) + +(define rust-vergen-git2-1.0.7 + (crate-source "vergen-git2" "1.0.7" + "1hfam6z3c4wicg2n14rdzgkp3ipffq77b878mnmqw2a5xh8yavjg")) + +(define rust-vergen-lib-0.1.6 + (crate-source "vergen-lib" "0.1.6" + "0rn1x40xwx4zlj62nkl63y6sczar6hw1dq34n7y5jghg1h0yc1wv")) + +(define rust-vergen-lib-9.1.0 + (crate-source "vergen-lib" "9.1.0" + "0sd5b5d5ygwi86k1b4n9vipqmyxqn4pr7qcs48pycncwgsx2jjmk")) + +(define rust-walkdir-2.5.0 + (crate-source "walkdir" "2.5.0" + "0jsy7a710qv8gld5957ybrnc07gavppp963gs32xk4ag8130jy99")) + +(define rust-wallust-themes-1.1.0 + (crate-source "wallust_themes" "1.1.0" + "1f27r2xd4gn5af5g8f2yws7ph7807cyg0d12ycmsvjhmk15pr6cf")) + +(define rust-wasi-0.11.1+wasi-snapshot-preview1 + (crate-source "wasi" "0.11.1+wasi-snapshot-preview1" + "0jx49r7nbkbhyfrfyhz0bm4817yrnxgd3jiwwwfv0zl439jyrwyc")) + +(define rust-wasip2-1.0.2+wasi-0.2.9 + (crate-source "wasip2" "1.0.2+wasi-0.2.9" + "1xdw7v08jpfjdg94sp4lbdgzwa587m5ifpz6fpdnkh02kwizj5wm")) + +(define rust-wasm-bindgen-0.2.108 + (crate-source "wasm-bindgen" "0.2.108" + "0rl5pn80sdhj2p2r28lp3k50a8mpppzgwzssz2f3jdqyxhq4l0k4")) + +(define rust-wasm-bindgen-macro-0.2.108 + (crate-source "wasm-bindgen-macro" "0.2.108" + "026nnvakp0w6j3ghpcxn31shj9wx8bv8x7nk3gkk40klkjfj72q0")) + +(define rust-wasm-bindgen-macro-support-0.2.108 + (crate-source "wasm-bindgen-macro-support" "0.2.108" + "0m9sj475ypgifbkvksjsqs2gy3bq96f87ychch784m4gspiblmjj")) + +(define rust-wasm-bindgen-shared-0.2.108 + (crate-source "wasm-bindgen-shared" "0.2.108" + "04ix7v99rvj5730553j58pqsrwpf9sqazr60y3cchx5cr60ba08z")) + +(define rust-web-sys-0.3.85 + ;; TODO REVIEW: Check bundled sources. + (crate-source "web-sys" "0.3.85" + "1645c202gyw21m6kxw4ya81vrapl40hlb8m9iqhjj8fra7jk4bii")) + +(define rust-weezl-0.1.12 + (crate-source "weezl" "0.1.12" + "122a1dhha6cib5az4ihcqlh60ns2bi6rskdv875p94lbvj6wk2m2")) + +(define rust-winapi-0.3.9 + (crate-source "winapi" "0.3.9" + "06gl025x418lchw1wxj64ycr7gha83m44cjr5sarhynd9xkrm0sw")) + +(define rust-winapi-i686-pc-windows-gnu-0.4.0 + (crate-source "winapi-i686-pc-windows-gnu" "0.4.0" + "1dmpa6mvcvzz16zg6d5vrfy4bxgg541wxrcip7cnshi06v38ffxc")) + +(define rust-winapi-util-0.1.11 + (crate-source "winapi-util" "0.1.11" + "08hdl7mkll7pz8whg869h58c1r9y7in0w0pk8fm24qc77k0b39y2")) + +(define rust-winapi-x86-64-pc-windows-gnu-0.4.0 + (crate-source "winapi-x86_64-pc-windows-gnu" "0.4.0" + "0gqq64czqb64kskjryj8isp62m2sgvx25yyj3kpc2myh85w24bki")) + +(define rust-windows-link-0.2.1 + (crate-source "windows-link" "0.2.1" + "1rag186yfr3xx7piv5rg8b6im2dwcf8zldiflvb22xbzwli5507h")) + +(define rust-windows-sys-0.61.2 + ;; TODO REVIEW: Check bundled sources. + (crate-source "windows-sys" "0.61.2" + "1z7k3y9b6b5h52kid57lvmvm05362zv1v8w0gc7xyv5xphlp44xf")) + +(define rust-winnow-0.7.14 + (crate-source "winnow" "0.7.14" + "0a88ahjqhyn2ln1yplq2xsigm09kxqkdkkk2c2mfxkbzszln8lss")) + +(define rust-wit-bindgen-0.51.0 + (crate-source "wit-bindgen" "0.51.0" + "19fazgch8sq5cvjv3ynhhfh5d5x08jq2pkw8jfb05vbcyqcr496p")) + +(define rust-writeable-0.6.2 + (crate-source "writeable" "0.6.2" + "1fg08y97n6vk7l0rnjggw3xyrii6dcqg54wqaxldrlk98zdy1pcy")) + +(define rust-y4m-0.8.0 + (crate-source "y4m" "0.8.0" + "0j24y2zf60lpxwd7kyg737hqfyqx16y32s0fjyi6fax6w4hlnnks")) + +(define rust-yoke-0.8.1 + (crate-source "yoke" "0.8.1" + "0m29dm0bf5iakxgma0bj6dbmc3b8qi9b1vaw9sa76kdqmz3fbmkj")) + +(define rust-yoke-derive-0.8.1 + (crate-source "yoke-derive" "0.8.1" + "0pbyja133jnng4mrhimzdq4a0y26421g734ybgz8wsgbfhl0andn")) + +(define rust-zerocopy-0.8.33 + (crate-source "zerocopy" "0.8.33" + "1z9d6z8p1ndf0yrvw99jr5zcjnd4270kv4rivqqyi7hbs5l533v6")) + +(define rust-zerocopy-derive-0.8.33 + (crate-source "zerocopy-derive" "0.8.33" + "1wbh4bil3kqfmiwxlpzhxba6fyh09nsy87k7idk8b1hadfr64y9c")) + +(define rust-zerofrom-0.1.6 + (crate-source "zerofrom" "0.1.6" + "19dyky67zkjichsb7ykhv0aqws3q0jfvzww76l66c19y6gh45k2h")) + +(define rust-zerofrom-derive-0.1.6 + (crate-source "zerofrom-derive" "0.1.6" + "00l5niw7c1b0lf1vhvajpjmcnbdp2vn96jg4nmkhq2db0rp5s7np")) + +(define rust-zerotrie-0.2.3 + (crate-source "zerotrie" "0.2.3" + "0lbqznlqazmrwwzslw0ci7p3pqxykrbfhq29npj0gmb2amxc2n9a")) + +(define rust-zerovec-0.11.5 + (crate-source "zerovec" "0.11.5" + "00m0p47k2g9mkv505hky5xh3r6ps7v8qc0dy4pspg542jj972a3c")) + +(define rust-zerovec-derive-0.11.2 + (crate-source "zerovec-derive" "0.11.2" + "1wsig4h5j7a1scd5hrlnragnazjny9qjc44hancb6p6a76ay7p7a")) + +(define rust-zmij-1.0.15 + (crate-source "zmij" "1.0.15" + "1lh3l2yqwdylg4mkn9y9pmpmng34g2k328d6km8c3qsg3w2krxll")) + +(define rust-zune-core-0.4.12 + (crate-source "zune-core" "0.4.12" + "0jj1ra86klzlcj9aha9als9d1dzs7pqv3azs1j3n96822wn3lhiz")) + +(define rust-zune-core-0.5.1 + (crate-source "zune-core" "0.5.1" + "1ya0zdqxlr5v57791j7bvm408ri2cfx81a4v6z85f560yw3hi2nb")) + +(define rust-zune-inflate-0.2.54 + (crate-source "zune-inflate" "0.2.54" + "00kg24jh3zqa3i6rg6yksnb71bch9yi1casqydl00s7nw8pk7avk")) + +(define rust-zune-jpeg-0.4.21 + (crate-source "zune-jpeg" "0.4.21" + "04r7g6y9jp7d4c9bq23rz3gwzlr1dsl7vdk4yly35bc4jf52rki9")) + +(define rust-zune-jpeg-0.5.10 + (crate-source "zune-jpeg" "0.5.10" + "0ljpjxzz2rsq1x8pqdhvd40r1ny8mlzny10jf2md2shadhcbjbga")) + +(define-cargo-inputs lookup-cargo-inputs + (my-wallust => + (list rust-adler2-2.0.1 + rust-aho-corasick-1.1.4 + rust-aligned-0.4.3 + rust-aligned-vec-0.6.4 + rust-alloca-0.4.0 + rust-anes-0.1.6 + rust-anstream-0.6.21 + rust-anstyle-1.0.13 + rust-anstyle-parse-0.2.7 + rust-anstyle-query-1.1.5 + rust-anstyle-wincon-3.0.11 + rust-anyhow-1.0.100 + rust-approx-0.5.1 + rust-arbitrary-1.4.2 + rust-arg-enum-proc-macro-0.3.4 + rust-arrayvec-0.7.6 + rust-as-slice-0.2.1 + rust-autocfg-1.5.0 + rust-av-scenechange-0.14.1 + rust-av1-grain-0.2.5 + rust-avif-serialize-0.8.6 + rust-bit-field-0.10.3 + rust-bitflags-2.10.0 + rust-bitstream-io-4.9.0 + rust-built-0.8.0 + rust-bumpalo-3.19.1 + rust-by-address-1.2.1 + rust-bytemuck-1.24.0 + rust-byteorder-lite-0.1.0 + rust-camino-1.2.2 + rust-cargo-platform-0.3.2 + rust-cargo-metadata-0.23.1 + rust-cast-0.3.0 + rust-cc-1.2.53 + rust-cfg-if-1.0.4 + rust-ciborium-0.2.2 + rust-ciborium-io-0.2.2 + rust-ciborium-ll-0.2.2 + rust-clap-4.5.54 + rust-clap-builder-4.5.54 + rust-clap-complete-4.5.65 + rust-clap-derive-4.5.49 + rust-clap-lex-0.7.7 + rust-clap-mangen-0.2.31 + rust-color-quant-1.1.0 + rust-colorchoice-1.0.4 + rust-convert-case-0.8.0 + rust-core2-0.4.0 + rust-crc32fast-1.5.0 + rust-criterion-0.8.1 + rust-criterion-plot-0.8.1 + rust-crossbeam-deque-0.8.6 + rust-crossbeam-epoch-0.9.18 + rust-crossbeam-utils-0.8.21 + rust-crunchy-0.2.4 + rust-darling-0.20.11 + rust-darling-core-0.20.11 + rust-darling-macro-0.20.11 + rust-deranged-0.5.5 + rust-derive-builder-0.20.2 + rust-derive-builder-core-0.20.2 + rust-derive-builder-macro-0.20.2 + rust-dirs-6.0.0 + rust-dirs-sys-0.5.0 + rust-displaydoc-0.2.5 + rust-document-features-0.2.12 + rust-documented-0.9.2 + rust-documented-macros-0.9.2 + rust-dunce-1.0.5 + rust-dyn-clone-1.0.20 + rust-either-1.15.0 + rust-equator-0.4.2 + rust-equator-macro-0.4.2 + rust-equivalent-1.0.2 + rust-errno-0.3.14 + rust-exr-1.74.0 + rust-fast-srgb8-1.0.0 + rust-fast-image-resize-6.0.0 + rust-fastrand-2.3.0 + rust-fax-0.2.6 + rust-fax-derive-0.2.0 + rust-fdeflate-0.3.7 + rust-find-msvc-tools-0.1.8 + rust-flate2-1.1.8 + rust-fnv-1.0.7 + rust-foldhash-0.2.0 + rust-form-urlencoded-1.2.2 + rust-getrandom-0.2.17 + rust-getrandom-0.3.4 + rust-gif-0.14.1 + rust-git2-0.20.3 + rust-glob-0.3.3 + rust-half-2.7.1 + rust-hashbrown-0.16.1 + rust-heck-0.4.1 + rust-heck-0.5.0 + rust-icu-collections-2.1.1 + rust-icu-locale-core-2.1.1 + rust-icu-normalizer-2.1.1 + rust-icu-normalizer-data-2.1.1 + rust-icu-properties-2.1.2 + rust-icu-properties-data-2.1.2 + rust-icu-provider-2.1.1 + rust-ident-case-1.0.1 + rust-idna-1.1.0 + rust-idna-adapter-1.2.1 + rust-image-0.25.9 + rust-image-webp-0.2.4 + rust-imgref-1.12.0 + rust-indexmap-2.13.0 + rust-interpolate-name-0.2.4 + rust-is-terminal-polyfill-1.70.2 + rust-itertools-0.13.0 + rust-itertools-0.14.0 + rust-itoa-1.0.17 + rust-jobserver-0.1.34 + rust-js-sys-0.3.85 + rust-kmeans-colors-0.7.1 + rust-lazy-static-1.5.0 + rust-lebe-0.5.3 + rust-libc-0.2.180 + rust-libfuzzer-sys-0.4.10 + rust-libgit2-sys-0.18.3+1.9.2 + rust-libredox-0.1.12 + rust-libz-sys-1.1.23 + rust-linux-raw-sys-0.11.0 + rust-litemap-0.8.1 + rust-litrs-1.0.0 + rust-log-0.4.29 + rust-loop9-0.1.5 + rust-maplit-1.0.2 + rust-maybe-rayon-0.1.1 + rust-memchr-2.7.6 + rust-memo-map-0.3.3 + rust-minijinja-2.14.0 + rust-miniz-oxide-0.8.9 + rust-moxcms-0.7.11 + rust-new-debug-unreachable-1.0.6 + rust-nom-8.0.0 + rust-noop-proc-macro-0.3.0 + rust-num-bigint-0.4.6 + rust-num-conv-0.1.0 + rust-num-derive-0.4.2 + rust-num-integer-0.1.46 + rust-num-rational-0.4.2 + rust-num-traits-0.2.19 + rust-num-threads-0.1.7 + rust-once-cell-1.21.3 + rust-once-cell-polyfill-1.70.2 + rust-oorandom-11.1.5 + rust-optfield-0.4.0 + rust-option-ext-0.2.0 + rust-owo-colors-4.2.3 + rust-page-size-0.6.0 + rust-palette-0.7.6 + rust-palette-derive-0.7.6 + rust-paste-1.0.15 + rust-pastey-0.1.1 + rust-percent-encoding-2.3.2 + rust-phf-0.12.1 + rust-phf-generator-0.12.1 + rust-phf-macros-0.12.1 + rust-phf-shared-0.12.1 + rust-pkg-config-0.3.32 + rust-plotters-0.3.7 + rust-plotters-backend-0.3.7 + rust-plotters-svg-0.3.7 + rust-png-0.18.0 + rust-potential-utf-0.1.4 + rust-powerfmt-0.2.0 + rust-ppv-lite86-0.2.21 + rust-proc-macro2-1.0.105 + rust-profiling-1.0.17 + rust-profiling-procmacros-1.0.17 + rust-pxfm-0.1.27 + rust-qoi-0.4.1 + rust-quick-error-2.0.1 + rust-quote-1.0.43 + rust-r-efi-5.3.0 + rust-rand-0.9.2 + rust-rand-chacha-0.9.0 + rust-rand-core-0.9.5 + rust-rav1e-0.8.1 + rust-ravif-0.12.0 + rust-rayon-1.11.0 + rust-rayon-core-1.13.0 + rust-redox-users-0.5.2 + rust-ref-cast-1.0.25 + rust-ref-cast-impl-1.0.25 + rust-regex-1.12.2 + rust-regex-automata-0.4.13 + rust-regex-syntax-0.8.8 + rust-rgb-0.8.52 + rust-roff-0.2.2 + rust-rustix-1.1.3 + rust-rustversion-1.0.22 + rust-same-file-1.0.6 + rust-schemars-1.2.0 + rust-schemars-derive-1.2.0 + rust-self-cell-1.2.2 + rust-semver-1.0.27 + rust-serde-1.0.228 + rust-serde-core-1.0.228 + rust-serde-derive-1.0.228 + rust-serde-derive-internals-0.29.1 + rust-serde-json-1.0.149 + rust-serde-spanned-1.0.4 + rust-shellexpand-3.1.1 + rust-shlex-1.3.0 + rust-simd-adler32-0.3.8 + rust-simd-helpers-0.1.0 + rust-siphasher-1.0.1 + rust-smallvec-1.15.1 + rust-spinners-4.1.1 + rust-stable-deref-trait-1.2.1 + rust-strsim-0.11.1 + rust-strum-0.24.1 + rust-strum-0.27.2 + rust-strum-macros-0.24.3 + rust-strum-macros-0.27.2 + rust-syn-1.0.109 + rust-syn-2.0.114 + rust-synstructure-0.13.2 + rust-tempfile-3.24.0 + rust-thiserror-2.0.18 + rust-thiserror-impl-2.0.18 + rust-tiff-0.10.3 + rust-time-0.3.45 + rust-time-core-0.1.7 + rust-time-macros-0.2.25 + rust-tinystr-0.8.2 + rust-tinytemplate-1.2.1 + rust-toml-0.9.11+spec-1.1.0 + rust-toml-datetime-0.7.5+spec-1.1.0 + rust-toml-edit-0.24.0+spec-1.1.0 + rust-toml-parser-1.0.6+spec-1.1.0 + rust-toml-writer-1.0.6+spec-1.1.0 + rust-unicode-ident-1.0.22 + rust-unicode-segmentation-1.12.0 + rust-url-2.5.8 + rust-utf8-iter-1.0.4 + rust-utf8parse-0.2.2 + rust-v-frame-0.3.9 + rust-vcpkg-0.2.15 + rust-vergen-9.1.0 + rust-vergen-git2-1.0.7 + rust-vergen-lib-0.1.6 + rust-vergen-lib-9.1.0 + rust-walkdir-2.5.0 + rust-wallust-themes-1.1.0 + rust-wasi-0.11.1+wasi-snapshot-preview1 + rust-wasip2-1.0.2+wasi-0.2.9 + rust-wasm-bindgen-0.2.108 + rust-wasm-bindgen-macro-0.2.108 + rust-wasm-bindgen-macro-support-0.2.108 + rust-wasm-bindgen-shared-0.2.108 + rust-web-sys-0.3.85 + rust-weezl-0.1.12 + rust-winapi-0.3.9 + rust-winapi-i686-pc-windows-gnu-0.4.0 + rust-winapi-util-0.1.11 + rust-winapi-x86-64-pc-windows-gnu-0.4.0 + rust-windows-link-0.2.1 + rust-windows-sys-0.61.2 + rust-winnow-0.7.14 + rust-wit-bindgen-0.51.0 + rust-writeable-0.6.2 + rust-y4m-0.8.0 + rust-yoke-0.8.1 + rust-yoke-derive-0.8.1 + rust-zerocopy-0.8.33 + rust-zerocopy-derive-0.8.33 + rust-zerofrom-0.1.6 + rust-zerofrom-derive-0.1.6 + rust-zerotrie-0.2.3 + rust-zerovec-0.11.5 + rust-zerovec-derive-0.11.2 + rust-zmij-1.0.15 + rust-zune-core-0.4.12 + rust-zune-core-0.5.1 + rust-zune-inflate-0.2.54 + rust-zune-jpeg-0.4.21 + rust-zune-jpeg-0.5.10))) + +(define-public wallust + (package + (name "wallust") + (version "3.5.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://codeberg.org/explosion-mental/wallust") + (commit version))) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0n4nc1zn626y4i2mabcvbqxqg4ks84ncfznlwk0x9hqcv0riw2b6")))) + (build-system cargo-build-system) + (arguments + (list + #:features '(list "buildgen") + #:imported-modules (append %copy-build-system-modules + %cargo-build-system-modules) + #:modules '((guix build cargo-build-system) + ((guix build copy-build-system) #:prefix copy:) + (guix build utils)) + #:install-source? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'install 'install-extras + (lambda args + (apply (assoc-ref copy:%standard-phases 'install) + #:install-plan + '(("completions/wallust.bash" + "share/bash-completion/completions/wallust") + ("completions/wallust.elv" + "share/elvish/lib/wallust") + ("completions/wallust.fish" + "share/fish/vendor_completions.d/") + ("completions/_wallust" + "share/zsh/site-functions/") + ("man/" "share/man/man1/" #:include-regexp ("\\.1$")) + ("man/" "share/man/man5/" #:include-regexp ("\\.5$"))) + args)))))) + (inputs (lookup-cargo-inputs 'my-wallust)) + (home-page "https://explosion-mental.codeberg.page/wallust") + (synopsis "Generate themes from images with advanced templating") + (description + "Wallust is a rust-based successor to \"pywal\" which generates color +themes from images with advanced templating and generation options. +Templates are made using either a subset of Jinja2 or pywal syntax. +Color generation may be constrained to obey ANSI color standards, meet +minimum contrast levels, and more.") + (license license:expat))) +wallust + diff --git a/mirenn/services/tailscale.scm b/mirenn/services/tailscale.scm new file mode 100644 index 0000000..b227b19 --- /dev/null +++ b/mirenn/services/tailscale.scm @@ -0,0 +1,34 @@ +(define-module (mirenn services tailscale) + #:use-module (guix gexp) + #:use-module (gnu services) + #:use-module (gnu services shepherd) + #:use-module (mirenn packages tailscale)) + +(define (tailscale-shepherd-service config) + (list + (shepherd-service + (documentation "Run the tailscale daemon") + (provision '(tailscale tailscaled)) + (requirement '(user-processes NetworkManager)) + (start #~(make-forkexec-constructor + ;; (mkdir-p "/var/lib/tailscale") + ;; (mkdir-p "/run/tailscale") + (list #$(file-append tailscale "/bin/tailscaled")))) + ;; "--state=/var/lib/tailscale/tailscaled.state" + ;; "--socket=/run/tailscale/tailscaled.sock" + ;; "--port=41641") + ;; #:preserve-environment? #t + ;; #:directory "/var/lib/tailscale")) + (stop #~(make-kill-destructor))))) + ;; (list #(file-append tailscale "bin/tailscaled") + ;; "--cleanup"))))) + +(define-public tailscale-service-type + (service-type + (name 'tailscale) + (extensions + (list (service-extension shepherd-root-service-type tailscale-shepherd-service) + (service-extension profile-service-type (lambda _ + (list tailscale))))) + (default-value #f) + (description "Run and connect to tailscale"))) diff --git a/mirenn/system.scm b/mirenn/system.scm new file mode 100644 index 0000000..0a112f7 --- /dev/null +++ b/mirenn/system.scm @@ -0,0 +1,84 @@ +(define-module (mirenn system)) + +(use-modules (gnu) + (nongnu packages linux) + (nongnu system linux-initrd) + (mirenn packages pki) + (mirenn services tailscale)) +(use-package-modules shells fonts linux finance) +(use-service-modules xorg desktop ssh pm base) + +(operating-system + (locale "en_US.utf8") + (timezone "Europe/Rome") + (keyboard-layout (keyboard-layout "it")) + (host-name "zenbook") + + (kernel linux) + (kernel-arguments (cons* "mem_sleep_default=s2idle" + "resume=c3e1bb45-fc45-4934-853b-e5cd5a1688d7" + %default-kernel-arguments)) + (initrd microcode-initrd) + (firmware (cons* linux-firmware + sof-firmware + %base-firmware)) + + (bootloader (bootloader-configuration + (bootloader grub-efi-bootloader) + (targets (list "/boot/efi")) + (keyboard-layout keyboard-layout))) + (swap-devices (list (swap-space + (target (uuid + "c3e1bb45-fc45-4934-853b-e5cd5a1688d7"))))) + (file-systems (cons* (file-system + (mount-point "/boot/efi") + (device (uuid + "9FAB-A387" + 'fat32)) + (type "vfat")) + (file-system + (mount-point "/") + (device (uuid + "372783f2-fa50-400e-8a9a-53bbaabc1566" + 'ext4)) + (type "ext4")) + %base-file-systems)) + + (users (cons* (user-account + (name "mirenn") + (group "users") + (home-directory "/home/mirenn") + (shell (file-append fish "/bin/fish")) + (supplementary-groups '("wheel" "netdev" "audio" "video" "input"))) + %base-user-accounts)) + + (packages (cons* alsa-ucm-conf + custom-certs + %base-packages)) + + (services (cons* (service openssh-service-type) + (service bluetooth-service-type) + (service tlp-service-type) + (service tailscale-service-type) + (service console-font-service-type + `(("tty1" . ,(file-append font-terminus "share/consolefonts/ter-v24n")) + ("tty2" . ,(file-append font-terminus "share/consolefonts/ter-v24n")) + ("tty3" . ,(file-append font-terminus "share/consolefonts/ter-v24n")) + ("tty4" . ,(file-append font-terminus "share/consolefonts/ter-v24n")) + ("tty5" . ,(file-append font-terminus "share/consolefonts/ter-v24n")) + ("tty6" . ,(file-append font-terminus "share/consolefonts/ter-v24n")))) + (udev-rules-service 'trezor trezord-udev-rules) + (simple-service 'swaylock-pam-service + pam-root-service-type + (list (unix-pam-service "swaylock"))) + (modify-services %desktop-services + (delete gdm-service-type) + (delete console-font-service-type) + (guix-service-type config => (guix-configuration + (inherit config) + (substitute-urls + (cons* "https://substitutes.nonguix.org" + %default-substitute-urls)) + (authorized-keys + (cons* (local-file "/etc/guix/nonguix-signing-key.pub") + %default-authorized-guix-keys)))))))) |
