Add install checks

main
trivernis 10 months ago
parent 4991251a1b
commit 77a064be3b
Signed by: Trivernis
GPG Key ID: DFFFCC2C7A02DB45

@ -1,3 +0,0 @@
# Dotfiles
This repo contains my dotfiles. They can be applied using [silo](https://git.trivernis.net/Trivernis/silo).

@ -1,14 +1,14 @@
path = "{{dirs.config}}"
ignored = [
{{#if flags.unix}}
# Files irrelevant to unix
{{/if}}
{{#if-not-installed podman}}"nushell/completions/podman.nu",{{/if-not-installed}}
{{#if-not-installed fnm}}"nushell/fnm.nu",{{/if-not-installed}}
{{#if-not-installed bottom}}"bottom",{{/if-not-installed}}
{{#if flags.windows}}
# Files irrelevant to windows
"fontconfig",
"systemd",
{{/if}}
]

@ -72,6 +72,14 @@
</edit>
</match>
<dir>~/.fonts</dir>
<match target="pattern">
<test qual="any" name="family">
<string>sans-serif</string>
</test>
<edit binding="same" name="family" mode="assign">
<string>Lexend</string>
</edit>
</match>
<match target="pattern">
<test qual="any" name="family">
<string>monospace</string>

@ -17,3 +17,17 @@ formatter = { command = "biome" , args = ["format", "--stdin-file-path=file.js"]
[[language]]
name = "json"
formatter = { command = "biome" , args = ["format", "--stdin-file-path=file.json"] }
[[language]]
name = "handlebars"
injection-regex = "hbs"
roots = ["package.json", "repo.toml", "dir.toml"]
file-types = ["hbs", "tmpl"]
grammar = "glimmer"
language-servers = ["ember"]
formatter = { command = "prettier", args = ['--parser', 'glimmer'] }
scope = "source.glimmer"
[[grammar]]
name = "glimmer"
source = { git = "https://github.com/alexlafroscia/tree-sitter-glimmer", rev = "f9746dc1d0707717fbba84cb5c22a71586af23e1" }

@ -0,0 +1,90 @@
; https://github.com/alexlafroscia/tree-sitter-glimmer/blob/main/queries/highlights.scm
; === Tag Names ===
; Tags that start with a lower case letter are HTML tags
; We'll also use this highlighting for named blocks (which start with `:`)
((tag_name) @tag
(#match? @tag "^(:)?[a-z]"))
; Tags that start with a capital letter are Glimmer components
((tag_name) @constructor
(#match? @constructor "^[A-Z]"))
(attribute_name) @property
(string_literal) @string
(number_literal) @number
(boolean_literal) @boolean
(concat_statement) @string
; === Block Statements ===
; Highlight the brackets
(block_statement_start) @tag.delimiter
(block_statement_end) @tag.delimiter
; Highlight `if`/`each`/`let`
(block_statement_start path: (identifier) @conditional)
(block_statement_end path: (identifier) @conditional)
((mustache_statement (identifier) @conditional)
(#match? @conditional "else"))
; == Mustache Statements ===
; Hightlight the whole statement, to color brackets and separators
(mustache_statement) @tag.delimiter
; An identifier in a mustache expression is a variable
((mustache_statement [
(path_expression (identifier) @variable)
(identifier) @variable
])
(#not-match? @variable "yield|outlet|this|else"))
; As are arguments in a block statement
(block_statement_start argument: [
(path_expression (identifier) @variable)
(identifier) @variable
])
; As is an identifier in a block param
(block_params (identifier) @variable)
; As are helper arguments
((helper_invocation argument: [
(path_expression (identifier) @variable)
(identifier) @variable
])
(#not-match? @variable "this"))
; `this` should be highlighted as a built-in variable
((identifier) @variable.builtin
(#match? @variable.builtin "this"))
; If the identifier is just "yield" or "outlet", it's a keyword
((mustache_statement (identifier) @keyword)
(#match? @keyword "yield|outlet"))
; Helpers are functions
((helper_invocation helper: [
(path_expression (identifier) @function)
(identifier) @function
])
(#not-match? @function "if|yield"))
((helper_invocation helper: (identifier) @conditional)
(#match? @conditional "if"))
((helper_invocation helper: (identifier) @keyword)
(#match? @keyword "yield"))
(hash_pair key: (identifier) @property)
(comment_statement) @comment
(attribute_node "=" @operator)
(block_params "as" @keyword)
(block_params "|" @operator)
[
"<"
">"
"</"
"/>"
] @tag.delimiter

@ -17,6 +17,9 @@
"variable" = { fg = "foreground" }
"variable.builtin" = { fg = "cyan", modifiers = ["italic"] }
"variable.parameter" = { fg ="orange", modifiers = ["italic"] }
"mustache_statement" = { fg = "green" }
"string_literal" = { fg = "yellow" }
"number_literal" = { fg = "purple" }
"diff.plus" = { fg = "green" }
"diff.delta" = { fg = "orange" }

@ -1,5 +1,7 @@
alias ide = {{dirs.data}}/scripts/ide.nu
{{#if-installed helix}}
alias hx = helix
{{#if flags.unix}}
{{/if-installed}}
{{#if-installed todo.sh}}
alias t = todo.sh
{{/if}}
{{/if-installed}}

@ -1,6 +1,8 @@
{{#if-installed cargo}}
source ./cargo.nu
{{/if-installed}}
source ./git.nu
{{#if flags.unix}}
{{#if-installed podman}}
source ./podman.nu
{{/if}}
{{/if-installed}}

@ -424,13 +424,19 @@ source {{dirs.config}}/nushell/aliases.nu
# motd
source {{dirs.config}}/nushell/motd.nu
{{#if-installed fnm}}
# fnm
source {{dirs.config}}/nushell/fnm.nu
{{/if-installed}}
# broot
source {{dirs.config}}/broot/launcher/nushell/br
{{#if-installed yt-dlp}}
# ytdl
source {{dirs.data}}/scripts/ytdl.nu
{{/if-installed}}
{{#if-installed broot}}
source {{dirs.config}}/broot/launcher/nushell/br
{{/if-installed}}

@ -63,5 +63,7 @@ $env.EDITOR = "hx"
$env.SSH_AUTH_SOCK = $"($env.XDG_RUNTIME_DIR)/ssh-agent.socket"
# :$PATH# To add entries to PATH (on Windows you might use Path), you can use the following pattern:
# let-env PATH = ($env.PATH | split row (char esep) | prepend '/some/path')
{{#if-installed most}}
$env.GIT_PAGER = "most"
{{/if-installed}}
{{/if}}

@ -1,6 +1,12 @@
$env.PATH = ( $env.PATH
| prepend $'{{dirs.home}}/.local/bin'
{{#if-installed cargo}}
| prepend $'{{dirs.home}}/.cargo/bin'
{{/if-installed}}
{{#if-installed nenv}}
| prepend $'{{dirs.home}}/.local/share/nenv/bin'
{{/if-installed}}
{{#if-installed fnm}}
| prepend $'{{dirs.home}}/.fnm'
{{/if-installed}}
)

Loading…
Cancel
Save