basic installation/getting started pages
This commit is contained in:
parent
11256941d4
commit
aabd966878
|
@ -42,6 +42,8 @@ export function groupRoutes(routes: RouteData[]): GroupedRoutes {
|
||||||
tutorials: {
|
tutorials: {
|
||||||
configuration: [
|
configuration: [
|
||||||
{ name: "About", type: "about" },
|
{ name: "About", type: "about" },
|
||||||
|
{ name: "Installation", type: "installation" },
|
||||||
|
{ name: "Getting Started", type: "getting-started" },
|
||||||
{ name: "Intro", type: "intro" },
|
{ name: "Intro", type: "intro" },
|
||||||
{ name: "Positioning", type: "positioning" },
|
{ name: "Positioning", type: "positioning" },
|
||||||
{ name: "QML Overview", type: "qml-overview" },
|
{ name: "QML Overview", type: "qml-overview" },
|
||||||
|
@ -54,6 +56,8 @@ export function groupRoutes(routes: RouteData[]): GroupedRoutes {
|
||||||
acc.tutorials = {
|
acc.tutorials = {
|
||||||
configuration: [
|
configuration: [
|
||||||
{ name: "About", type: "about" },
|
{ name: "About", type: "about" },
|
||||||
|
{ name: "Installation", type: "installation" },
|
||||||
|
{ name: "Getting Started", type: "getting-started" },
|
||||||
{ name: "Intro", type: "intro" },
|
{ name: "Intro", type: "intro" },
|
||||||
{ name: "Positioning", type: "positioning" },
|
{ name: "Positioning", type: "positioning" },
|
||||||
{ name: "QML Overview", type: "qml-overview" },
|
{ name: "QML Overview", type: "qml-overview" },
|
||||||
|
|
60
src/pages/docs/configuration/getting-started.mdx
Normal file
60
src/pages/docs/configuration/getting-started.mdx
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
---
|
||||||
|
layout: "@layouts/ConfigLayout.astro"
|
||||||
|
title: "Getting Started"
|
||||||
|
---
|
||||||
|
# {frontmatter.title}
|
||||||
|
See [Installation](./installation) if Quickshell isn't installed yet.
|
||||||
|
|
||||||
|
## Editor configuration
|
||||||
|
### Emacs
|
||||||
|
Install the [yuja/tree-sitter-qml](https://github.com/yuja/tree-sitter-qmljs) tree-sitter grammar,
|
||||||
|
and the [xhcoding/qml-ts-mode](https://github.com/xhcoding/qml-ts-mode) mode.
|
||||||
|
|
||||||
|
Both are packaged for nix via [outfoxxed/nix-qml-support](https://git.outfoxxed.me/outfoxxed/nix-qml-support).
|
||||||
|
|
||||||
|
Either `lsp-mode` or `eglot` should be usable for LSP ([caveats below](#language-server)).
|
||||||
|
|
||||||
|
The author's personal emacs config uses `lsp-mode` and `qml-ts-mode` as follows:
|
||||||
|
```elisp
|
||||||
|
(use-package qml-ts-mode
|
||||||
|
:after lsp-mode
|
||||||
|
:config
|
||||||
|
(add-to-list 'lsp-language-id-configuration '(qml-ts-mode . "qml-ts"))
|
||||||
|
(lsp-register-client
|
||||||
|
(make-lsp-client :new-connection (lsp-stdio-connection "qmlls")
|
||||||
|
:activation-fn (lsp-activate-on "qml-ts")
|
||||||
|
:server-id 'qmlls))
|
||||||
|
(add-hook 'qml-ts-mode-hook (lambda ()
|
||||||
|
(setq-local electric-indent-chars '(?\n ?\( ?\) ?{ ?} ?\[ ?\] ?\; ?,))
|
||||||
|
(lsp-deferred))))
|
||||||
|
```
|
||||||
|
|
||||||
|
### Neovim
|
||||||
|
Neovim has built-in syntax highlighting for QML, however tree-sitter highlighting
|
||||||
|
may work better than the built-in highlighting. You can install the grammar
|
||||||
|
using `:TSInstall qmljs`.
|
||||||
|
|
||||||
|
To use the language server ([caveats below](#language-server)),
|
||||||
|
install [nvim-lspconfig](https://github.com/neovim/nvim-lspconfig)
|
||||||
|
and call `require("lspconfig").qmlljs.setup({})`.
|
||||||
|
|
||||||
|
## Language Server
|
||||||
|
The QML language has an associated language server,
|
||||||
|
[qmlls](https://doc.qt.io/qt-6/qtqml-tooling-qmlls.html).
|
||||||
|
Please note that the language server, along with quickshell's support of it,
|
||||||
|
is in development.
|
||||||
|
|
||||||
|
We are aware of the following issues:
|
||||||
|
- Qmlls does not work well when a file is not correctly structured.
|
||||||
|
This means that completions and lints won't work unless braces are closed
|
||||||
|
correctly and such.
|
||||||
|
- Qmlls cannot handle quickshell's singletons. This means you won't see
|
||||||
|
completions, and usages of singleton members may show a warning.
|
||||||
|
We're still investigating this problem and how to fix it.
|
||||||
|
|
||||||
|
Keeping in mind the above caveats, qmlls should be able to guide you towards
|
||||||
|
more correct code should you chose to use it.
|
||||||
|
|
||||||
|
> [!NOTE]
|
||||||
|
> Nix users should note that qmlls will not be able to pick up qml modules
|
||||||
|
> that are not in `QML2_IMPORT_PATH`.
|
65
src/pages/docs/configuration/installation.mdx
Normal file
65
src/pages/docs/configuration/installation.mdx
Normal file
|
@ -0,0 +1,65 @@
|
||||||
|
---
|
||||||
|
layout: "@layouts/ConfigLayout.astro"
|
||||||
|
title: "Installation"
|
||||||
|
---
|
||||||
|
# {frontmatter.title}
|
||||||
|
|
||||||
|
> [!NOTE]
|
||||||
|
> Quickshell is still in a somewhat early stage of development.
|
||||||
|
> There will be breaking changes before 1.0, however a migration guide will be provided.
|
||||||
|
|
||||||
|
All packages currently track quickshell's master branch. This may change in the future.
|
||||||
|
|
||||||
|
# Nix
|
||||||
|
The Quickshell repo has an embedded flake.
|
||||||
|
You can use either `git+https://git.outfoxxed.me/outfoxxed/quickshell`
|
||||||
|
or `github:quickshell-mirror/quickshell`.
|
||||||
|
|
||||||
|
```nix
|
||||||
|
{
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = "nixpkgs/nixos-unstable";
|
||||||
|
|
||||||
|
quickshell = {
|
||||||
|
url = "git+https://git.outfoxxed.me/outfoxxed/quickshell";
|
||||||
|
|
||||||
|
# THIS IS IMPORTANT
|
||||||
|
# Mismatched system dependencies will lead to crashes and other issues.
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
The package is available as `quickshell.packages.<system>.default`, which you can add to
|
||||||
|
`environment.systemPackages` or `home.packages` if you use home-manager.
|
||||||
|
|
||||||
|
# Arch
|
||||||
|
Quickshell is available from the aur by [mcgoth] under
|
||||||
|
the [quickshell](https://aur.archlinux.org/packages/quickshell) package.
|
||||||
|
|
||||||
|
> [!WARNING]
|
||||||
|
> When using the AUR package, quickshell may break any time Qt is updated.
|
||||||
|
> The AUR gives us no way to actually fix this, but Quickshell will attempt to
|
||||||
|
> warn you if it detects a breakage when updating. If warned of a breakage,
|
||||||
|
> please reinstall the package
|
||||||
|
|
||||||
|
Install using the command below:
|
||||||
|
```sh
|
||||||
|
yay -S quickshell
|
||||||
|
```
|
||||||
|
(or your AUR helper of choice)
|
||||||
|
|
||||||
|
# Fedora
|
||||||
|
Quickshell is available from [errornointernet](https://github.com/errornointernet/)'s
|
||||||
|
Fedora COPR as [errornointernet/quickshell](https://copr.fedorainfracloud.org/coprs/errornointernet/quickshell).
|
||||||
|
|
||||||
|
Install using the command below:
|
||||||
|
```sh
|
||||||
|
sudo dnf copr enable errornointernet/quickshell
|
||||||
|
sudo dnf install quickshell
|
||||||
|
```
|
||||||
|
|
||||||
|
# Manual build
|
||||||
|
See [BUILD.md](https://git.outfoxxed.me/quickshell/quickshell/src/branch/master/BUILD.md)
|
||||||
|
for build instructions and configurations.
|
|
@ -46,7 +46,7 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
& p {
|
& p, h1, h2, h3, h4, h5 {
|
||||||
margin-block: 0.618rem;
|
margin-block: 0.618rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue