diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 00000000..296d7562
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,4 @@
+docs/.vitepress/** linguist-documentation=false
+docs/.vitepress/**/*.ts linguist-language=TypeScript
+docs/.vitepress/**/*.css linguist-language=CSS
+docs/showcases/*.vue linguist-language=Vue
diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml
new file mode 100644
index 00000000..27da2488
--- /dev/null
+++ b/.github/workflows/docs.yml
@@ -0,0 +1,53 @@
+name: Deploy Docs
+
+on:
+ push:
+ branches:
+ - main
+
+ workflow_dispatch:
+
+permissions:
+ contents: read
+ pages: write
+ id-token: write
+
+concurrency:
+ group: pages
+ cancel-in-progress: false
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ with:
+ fetch-depth: 0
+ - uses: oven-sh/setup-bun@v2
+ - name: Setup Node
+ uses: actions/setup-node@v4
+ with:
+ node-version: 20
+ - name: Setup Pages
+ uses: actions/configure-pages@v5
+ - name: Install dependencies
+ run: bun install
+ - name: Build with VitePress
+ run: bun run docs:build
+ - name: Upload artifact
+ uses: actions/upload-pages-artifact@v3
+ with:
+ path: docs/.vitepress/dist
+
+ deploy:
+ environment:
+ name: github-pages
+ url: ${{ steps.deployment.outputs.page_url }}
+ needs: build
+ runs-on: ubuntu-latest
+ name: Deploy
+ steps:
+ - name: Deploy to GitHub Pages
+ id: deployment
+ uses: actions/deploy-pages@v4
diff --git a/.gitignore b/.gitignore
index 1a6043ad..f479371c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,117 @@
__pycache__/
bookmarks
.idea
+
+# Logs
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+lerna-debug.log*
+vscode
+
+# Diagnostic reports (https://nodejs.org/api/report.html)
+report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
+
+# Runtime data
+pids
+*.pid
+*.seed
+*.pid.lock
+
+# Directory for instrumented libs generated by jscoverage/JSCover
+lib-cov
+
+# Coverage directory used by tools like istanbul
+coverage
+*.lcov
+
+# nyc test coverage
+.nyc_output
+
+# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
+.grunt
+
+# Bower dependency directory (https://bower.io/)
+bower_components
+
+# node-waf configuration
+.lock-wscript
+
+# Compiled binary addons (https://nodejs.org/api/addons.html)
+build/Release
+
+# Dependency directories
+/node_modules
+jspm_packages/
+
+# TypeScript v1 declaration files
+typings/
+
+# TypeScript cache
+*.tsbuildinfo
+
+# Optional npm cache directory
+.npm
+
+# Optional eslint cache
+.eslintcache
+
+# Microbundle cache
+.rpt2_cache/
+.rts2_cache_cjs/
+.rts2_cache_es/
+.rts2_cache_umd/
+
+# Optional REPL history
+.node_repl_history
+
+# Output of 'npm pack'
+*.tgz
+
+# Yarn Integrity file
+.yarn-integrity
+
+# dotenv environment variables file
+.env
+.env.test
+
+# parcel-bundler cache (https://parceljs.org/)
+.cache
+
+# Next.js build output
+.next
+
+# Nuxt.js build / generate output
+.nuxt
+dist
+
+# Gatsby files
+.cache/
+# Comment in the public line in if your project uses Gatsby and *not* Next.js
+# https://nextjs.org/blog/next-9-1#public-directory-support
+# public
+
+# vuepress build output
+.vuepress/dist
+
+# Serverless directories
+.serverless/
+
+# FuseBox cache
+.fusebox/
+
+# DynamoDB Local files
+.dynamodb/
+
+# TernJS port file
+.tern-port
+
+# cache
+docs/.vitepress/cache
+
+# devicon
+docs/.vitepress/devicon
+
+
diff --git a/README.md b/README.md
index 5727c95b..bc145303 100644
--- a/README.md
+++ b/README.md
@@ -12,11 +12,11 @@ YouTube Video https://youtu.be/gtjzAjt39Og
## Installation
-The installation should work on all Arch Linux and Fedora based distributions. [You can find more information here](https://github.com/mylinuxforwork/dotfiles/wiki).
+The installation should work on all Arch Linux and Fedora based distributions. You can find more information [here](https://mylinuxforwork.github.io/dotfiles/).
I recommend to install a base Hyprland system before installing the ML4W Hyprland Dotfiles. Then you have a stable starting point and can test Hyprland on your system beforehand. Hyprland is complex, under ongoing development, and requires additional components.
-You can find the Hyprland Installation instructions here: https://wiki.hyprland.org/Getting-Started/Installation/
+You can find the Hyprland Installation instructions on [hyprland wiki](https://wiki.hyprland.org/Getting-Started/Installation/ )
> [!IMPORTANT]
> Please make sure that all packages on your system are updated before running the installation script.
@@ -60,11 +60,11 @@ bash <(curl -s https://raw.githubusercontent.com/mylinuxforwork/dotfiles/main/se
## Troubleshooting
-You can find solutions to common issues in the Wiki troubleshooting section: https://github.com/mylinuxforwork/dotfiles/wiki/Troubleshooting
+You can find solutions to common issues in the wiki [troubleshooting section](https://mylinuxforwork.github.io/dotfiles/help/troubleshooting.html)
-## Documentation (Wiki)
+## Documentation
-You can find the complete documentation of the ML4W Dotfiles in the Wiki. [Open the Wiki here](https://github.com/mylinuxforwork/dotfiles/wiki)
+You can find the complete guide of the ML4W Dotfiles in the [Ml4W-Hyprland wiki](https://mylinuxforwork.github.io/dotfiles/)
## Contributing
diff --git a/bun.lock b/bun.lock
new file mode 100644
index 00000000..d97c874e
--- /dev/null
+++ b/bun.lock
@@ -0,0 +1,382 @@
+{
+ "lockfileVersion": 1,
+ "workspaces": {
+ "": {
+ "name": "dotfiles",
+ "dependencies": {
+ "bun": "^1.2.5",
+ "devicon": "^2.16.0",
+ },
+ "devDependencies": {
+ "vitepress": "^1.6.3",
+ },
+ },
+ },
+ "packages": {
+ "@algolia/autocomplete-core": ["@algolia/autocomplete-core@1.17.7", "", { "dependencies": { "@algolia/autocomplete-plugin-algolia-insights": "1.17.7", "@algolia/autocomplete-shared": "1.17.7" } }, "sha512-BjiPOW6ks90UKl7TwMv7oNQMnzU+t/wk9mgIDi6b1tXpUek7MW0lbNOUHpvam9pe3lVCf4xPFT+lK7s+e+fs7Q=="],
+
+ "@algolia/autocomplete-plugin-algolia-insights": ["@algolia/autocomplete-plugin-algolia-insights@1.17.7", "", { "dependencies": { "@algolia/autocomplete-shared": "1.17.7" }, "peerDependencies": { "search-insights": ">= 1 < 3" } }, "sha512-Jca5Ude6yUOuyzjnz57og7Et3aXjbwCSDf/8onLHSQgw1qW3ALl9mrMWaXb5FmPVkV3EtkD2F/+NkT6VHyPu9A=="],
+
+ "@algolia/autocomplete-preset-algolia": ["@algolia/autocomplete-preset-algolia@1.17.7", "", { "dependencies": { "@algolia/autocomplete-shared": "1.17.7" }, "peerDependencies": { "@algolia/client-search": ">= 4.9.1 < 6", "algoliasearch": ">= 4.9.1 < 6" } }, "sha512-ggOQ950+nwbWROq2MOCIL71RE0DdQZsceqrg32UqnhDz8FlO9rL8ONHNsI2R1MH0tkgVIDKI/D0sMiUchsFdWA=="],
+
+ "@algolia/autocomplete-shared": ["@algolia/autocomplete-shared@1.17.7", "", { "peerDependencies": { "@algolia/client-search": ">= 4.9.1 < 6", "algoliasearch": ">= 4.9.1 < 6" } }, "sha512-o/1Vurr42U/qskRSuhBH+VKxMvkkUVTLU6WZQr+L5lGZZLYWyhdzWjW0iGXY7EkwRTjBqvN2EsR81yCTGV/kmg=="],
+
+ "@algolia/client-abtesting": ["@algolia/client-abtesting@5.25.0", "", { "dependencies": { "@algolia/client-common": "5.25.0", "@algolia/requester-browser-xhr": "5.25.0", "@algolia/requester-fetch": "5.25.0", "@algolia/requester-node-http": "5.25.0" } }, "sha512-1pfQulNUYNf1Tk/svbfjfkLBS36zsuph6m+B6gDkPEivFmso/XnRgwDvjAx80WNtiHnmeNjIXdF7Gos8+OLHqQ=="],
+
+ "@algolia/client-analytics": ["@algolia/client-analytics@5.25.0", "", { "dependencies": { "@algolia/client-common": "5.25.0", "@algolia/requester-browser-xhr": "5.25.0", "@algolia/requester-fetch": "5.25.0", "@algolia/requester-node-http": "5.25.0" } }, "sha512-AFbG6VDJX/o2vDd9hqncj1B6B4Tulk61mY0pzTtzKClyTDlNP0xaUiEKhl6E7KO9I/x0FJF5tDCm0Hn6v5x18A=="],
+
+ "@algolia/client-common": ["@algolia/client-common@5.25.0", "", {}, "sha512-il1zS/+Rc6la6RaCdSZ2YbJnkQC6W1wiBO8+SH+DE6CPMWBU6iDVzH0sCKSAtMWl9WBxoN6MhNjGBnCv9Yy2bA=="],
+
+ "@algolia/client-insights": ["@algolia/client-insights@5.25.0", "", { "dependencies": { "@algolia/client-common": "5.25.0", "@algolia/requester-browser-xhr": "5.25.0", "@algolia/requester-fetch": "5.25.0", "@algolia/requester-node-http": "5.25.0" } }, "sha512-blbjrUH1siZNfyCGeq0iLQu00w3a4fBXm0WRIM0V8alcAPo7rWjLbMJMrfBtzL9X5ic6wgxVpDADXduGtdrnkw=="],
+
+ "@algolia/client-personalization": ["@algolia/client-personalization@5.25.0", "", { "dependencies": { "@algolia/client-common": "5.25.0", "@algolia/requester-browser-xhr": "5.25.0", "@algolia/requester-fetch": "5.25.0", "@algolia/requester-node-http": "5.25.0" } }, "sha512-aywoEuu1NxChBcHZ1pWaat0Plw7A8jDMwjgRJ00Mcl7wGlwuPt5dJ/LTNcg3McsEUbs2MBNmw0ignXBw9Tbgow=="],
+
+ "@algolia/client-query-suggestions": ["@algolia/client-query-suggestions@5.25.0", "", { "dependencies": { "@algolia/client-common": "5.25.0", "@algolia/requester-browser-xhr": "5.25.0", "@algolia/requester-fetch": "5.25.0", "@algolia/requester-node-http": "5.25.0" } }, "sha512-a/W2z6XWKjKjIW1QQQV8PTTj1TXtaKx79uR3NGBdBdGvVdt24KzGAaN7sCr5oP8DW4D3cJt44wp2OY/fZcPAVA=="],
+
+ "@algolia/client-search": ["@algolia/client-search@5.25.0", "", { "dependencies": { "@algolia/client-common": "5.25.0", "@algolia/requester-browser-xhr": "5.25.0", "@algolia/requester-fetch": "5.25.0", "@algolia/requester-node-http": "5.25.0" } }, "sha512-9rUYcMIBOrCtYiLX49djyzxqdK9Dya/6Z/8sebPn94BekT+KLOpaZCuc6s0Fpfq7nx5J6YY5LIVFQrtioK9u0g=="],
+
+ "@algolia/ingestion": ["@algolia/ingestion@1.25.0", "", { "dependencies": { "@algolia/client-common": "5.25.0", "@algolia/requester-browser-xhr": "5.25.0", "@algolia/requester-fetch": "5.25.0", "@algolia/requester-node-http": "5.25.0" } }, "sha512-jJeH/Hk+k17Vkokf02lkfYE4A+EJX+UgnMhTLR/Mb+d1ya5WhE+po8p5a/Nxb6lo9OLCRl6w3Hmk1TX1e9gVbQ=="],
+
+ "@algolia/monitoring": ["@algolia/monitoring@1.25.0", "", { "dependencies": { "@algolia/client-common": "5.25.0", "@algolia/requester-browser-xhr": "5.25.0", "@algolia/requester-fetch": "5.25.0", "@algolia/requester-node-http": "5.25.0" } }, "sha512-Ls3i1AehJ0C6xaHe7kK9vPmzImOn5zBg7Kzj8tRYIcmCWVyuuFwCIsbuIIz/qzUf1FPSWmw0TZrGeTumk2fqXg=="],
+
+ "@algolia/recommend": ["@algolia/recommend@5.25.0", "", { "dependencies": { "@algolia/client-common": "5.25.0", "@algolia/requester-browser-xhr": "5.25.0", "@algolia/requester-fetch": "5.25.0", "@algolia/requester-node-http": "5.25.0" } }, "sha512-79sMdHpiRLXVxSjgw7Pt4R1aNUHxFLHiaTDnN2MQjHwJ1+o3wSseb55T9VXU4kqy3m7TUme3pyRhLk5ip/S4Mw=="],
+
+ "@algolia/requester-browser-xhr": ["@algolia/requester-browser-xhr@5.25.0", "", { "dependencies": { "@algolia/client-common": "5.25.0" } }, "sha512-JLaF23p1SOPBmfEqozUAgKHQrGl3z/Z5RHbggBu6s07QqXXcazEsub5VLonCxGVqTv6a61AAPr8J1G5HgGGjEw=="],
+
+ "@algolia/requester-fetch": ["@algolia/requester-fetch@5.25.0", "", { "dependencies": { "@algolia/client-common": "5.25.0" } }, "sha512-rtzXwqzFi1edkOF6sXxq+HhmRKDy7tz84u0o5t1fXwz0cwx+cjpmxu/6OQKTdOJFS92JUYHsG51Iunie7xbqfQ=="],
+
+ "@algolia/requester-node-http": ["@algolia/requester-node-http@5.25.0", "", { "dependencies": { "@algolia/client-common": "5.25.0" } }, "sha512-ZO0UKvDyEFvyeJQX0gmZDQEvhLZ2X10K+ps6hViMo1HgE2V8em00SwNsQ+7E/52a+YiBkVWX61pJJJE44juDMQ=="],
+
+ "@babel/helper-string-parser": ["@babel/helper-string-parser@7.27.1", "", {}, "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA=="],
+
+ "@babel/helper-validator-identifier": ["@babel/helper-validator-identifier@7.27.1", "", {}, "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow=="],
+
+ "@babel/parser": ["@babel/parser@7.27.3", "", { "dependencies": { "@babel/types": "^7.27.3" }, "bin": "./bin/babel-parser.js" }, "sha512-xyYxRj6+tLNDTWi0KCBcZ9V7yg3/lwL9DWh9Uwh/RIVlIfFidggcgxKX3GCXwCiswwcGRawBKbEg2LG/Y8eJhw=="],
+
+ "@babel/types": ["@babel/types@7.27.3", "", { "dependencies": { "@babel/helper-string-parser": "^7.27.1", "@babel/helper-validator-identifier": "^7.27.1" } }, "sha512-Y1GkI4ktrtvmawoSq+4FCVHNryea6uR+qUQy0AGxLSsjCX0nVmkYQMBLHDkXZuo5hGx7eYdnIaslsdBFm7zbUw=="],
+
+ "@docsearch/css": ["@docsearch/css@3.8.2", "", {}, "sha512-y05ayQFyUmCXze79+56v/4HpycYF3uFqB78pLPrSV5ZKAlDuIAAJNhaRi8tTdRNXh05yxX/TyNnzD6LwSM89vQ=="],
+
+ "@docsearch/js": ["@docsearch/js@3.8.2", "", { "dependencies": { "@docsearch/react": "3.8.2", "preact": "^10.0.0" } }, "sha512-Q5wY66qHn0SwA7Taa0aDbHiJvaFJLOJyHmooQ7y8hlwwQLQ/5WwCcoX0g7ii04Qi2DJlHsd0XXzJ8Ypw9+9YmQ=="],
+
+ "@docsearch/react": ["@docsearch/react@3.8.2", "", { "dependencies": { "@algolia/autocomplete-core": "1.17.7", "@algolia/autocomplete-preset-algolia": "1.17.7", "@docsearch/css": "3.8.2", "algoliasearch": "^5.14.2" }, "peerDependencies": { "@types/react": ">= 16.8.0 < 19.0.0", "react": ">= 16.8.0 < 19.0.0", "react-dom": ">= 16.8.0 < 19.0.0", "search-insights": ">= 1 < 3" }, "optionalPeers": ["@types/react", "react", "react-dom", "search-insights"] }, "sha512-xCRrJQlTt8N9GU0DG4ptwHRkfnSnD/YpdeaXe02iKfqs97TkZJv60yE+1eq/tjPcVnTW8dP5qLP7itifFVV5eg=="],
+
+ "@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.21.5", "", { "os": "aix", "cpu": "ppc64" }, "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ=="],
+
+ "@esbuild/android-arm": ["@esbuild/android-arm@0.21.5", "", { "os": "android", "cpu": "arm" }, "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg=="],
+
+ "@esbuild/android-arm64": ["@esbuild/android-arm64@0.21.5", "", { "os": "android", "cpu": "arm64" }, "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A=="],
+
+ "@esbuild/android-x64": ["@esbuild/android-x64@0.21.5", "", { "os": "android", "cpu": "x64" }, "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA=="],
+
+ "@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.21.5", "", { "os": "darwin", "cpu": "arm64" }, "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ=="],
+
+ "@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.21.5", "", { "os": "darwin", "cpu": "x64" }, "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw=="],
+
+ "@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.21.5", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g=="],
+
+ "@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.21.5", "", { "os": "freebsd", "cpu": "x64" }, "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ=="],
+
+ "@esbuild/linux-arm": ["@esbuild/linux-arm@0.21.5", "", { "os": "linux", "cpu": "arm" }, "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA=="],
+
+ "@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.21.5", "", { "os": "linux", "cpu": "arm64" }, "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q=="],
+
+ "@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.21.5", "", { "os": "linux", "cpu": "ia32" }, "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg=="],
+
+ "@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.21.5", "", { "os": "linux", "cpu": "none" }, "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg=="],
+
+ "@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.21.5", "", { "os": "linux", "cpu": "none" }, "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg=="],
+
+ "@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.21.5", "", { "os": "linux", "cpu": "ppc64" }, "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w=="],
+
+ "@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.21.5", "", { "os": "linux", "cpu": "none" }, "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA=="],
+
+ "@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.21.5", "", { "os": "linux", "cpu": "s390x" }, "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A=="],
+
+ "@esbuild/linux-x64": ["@esbuild/linux-x64@0.21.5", "", { "os": "linux", "cpu": "x64" }, "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ=="],
+
+ "@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.21.5", "", { "os": "none", "cpu": "x64" }, "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg=="],
+
+ "@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.21.5", "", { "os": "openbsd", "cpu": "x64" }, "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow=="],
+
+ "@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.21.5", "", { "os": "sunos", "cpu": "x64" }, "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg=="],
+
+ "@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.21.5", "", { "os": "win32", "cpu": "arm64" }, "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A=="],
+
+ "@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.21.5", "", { "os": "win32", "cpu": "ia32" }, "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA=="],
+
+ "@esbuild/win32-x64": ["@esbuild/win32-x64@0.21.5", "", { "os": "win32", "cpu": "x64" }, "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw=="],
+
+ "@iconify-json/simple-icons": ["@iconify-json/simple-icons@1.2.36", "", { "dependencies": { "@iconify/types": "*" } }, "sha512-ZMpVdoW/7hhbt2aHVSvudjH8eSVNNjKkAAjwAQHgiuPUiIfbvNakVin+H9uhUz4N9TbDT/nanzV/4Slb+6dDXw=="],
+
+ "@iconify/types": ["@iconify/types@2.0.0", "", {}, "sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg=="],
+
+ "@jridgewell/sourcemap-codec": ["@jridgewell/sourcemap-codec@1.5.0", "", {}, "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ=="],
+
+ "@oven/bun-darwin-aarch64": ["@oven/bun-darwin-aarch64@1.2.15", "", { "os": "darwin", "cpu": "arm64" }, "sha512-DE2iO1xF6dTKBqHbRD/g9FxzuhbtVHnbSMV6KvvikYBRvteNJqV7I/FzoDXgbR3rRne3DF+gnCQO8T17tIfErw=="],
+
+ "@oven/bun-darwin-x64": ["@oven/bun-darwin-x64@1.2.15", "", { "os": "darwin", "cpu": "x64" }, "sha512-yRjJ0ELTlpSYCRi9buJDUAZ5TAv8GKT/lJ0Bemmed8RNEtETfLMNUmjQqts2aXRX1M7VIBvUiiHrSFHvhrfZ8A=="],
+
+ "@oven/bun-darwin-x64-baseline": ["@oven/bun-darwin-x64-baseline@1.2.15", "", { "os": "darwin", "cpu": "x64" }, "sha512-is6NrxFkT2WGffPyw0wQQeJ8Jztm115Y/hKsVtXySkF+GqUYEWqK2pzpsEDxhhOELBmxK9uUOkiOvPBZL4A2uQ=="],
+
+ "@oven/bun-linux-aarch64": ["@oven/bun-linux-aarch64@1.2.15", "", { "os": "linux", "cpu": "arm64" }, "sha512-L+TitZk5s60ipBGuPvNJ+oM7d6JC7gejGCmEZcUvdKf3dXG1k0E/Yr1Ox4j75U7VRV7tIRBnkis6BBBCMzdLmA=="],
+
+ "@oven/bun-linux-aarch64-musl": ["@oven/bun-linux-aarch64-musl@1.2.15", "", { "os": "linux", "cpu": "none" }, "sha512-CryplmxMcePF25vYq5C32jAO0qK4hLcGCXRUArPvrfFldixzppCQpKIBp4FvV2wA3fF66enckV0EPvGWofQA5g=="],
+
+ "@oven/bun-linux-x64": ["@oven/bun-linux-x64@1.2.15", "", { "os": "linux", "cpu": "x64" }, "sha512-U5gwBEVH/f+MvjZZyqwY/gIdbAjho9s1g3w7PQoB0cwaGrpY0zEkwHkYvqVriU0FPxN6VjZycBpePd3X6LrX0Q=="],
+
+ "@oven/bun-linux-x64-baseline": ["@oven/bun-linux-x64-baseline@1.2.15", "", { "os": "linux", "cpu": "x64" }, "sha512-RRGDCE3WcFrJUCwe1rPbaNANWR65BgaA2i79R1FFPaPw8mWoUhuYBcokRpeP4usevNtv/vWOfh3p05X3OczOpQ=="],
+
+ "@oven/bun-linux-x64-musl": ["@oven/bun-linux-x64-musl@1.2.15", "", { "os": "linux", "cpu": "x64" }, "sha512-M/fJA7jj+D3FA5PnpXwv43lGjY34xTQaaAV7RvAS7AW20eyGLyqVk3pW8peHG3IBQdWhblYzVNHn872lu3wn5A=="],
+
+ "@oven/bun-linux-x64-musl-baseline": ["@oven/bun-linux-x64-musl-baseline@1.2.15", "", { "os": "linux", "cpu": "x64" }, "sha512-Z53su6s5d5l75dnkiytBwJxWCTB5/LpXH3GWGtrCn8hR5QzstNzdt1b7J//WGGaVmRdcdr5RKk+hw9NRVrCjeA=="],
+
+ "@oven/bun-windows-x64": ["@oven/bun-windows-x64@1.2.15", "", { "os": "win32", "cpu": "x64" }, "sha512-Ya4pTRtbuuoXHNKRCONuIqHk9fMME7LUWDNbig/jV08IF3fn3epMOqg716Ik2DTiYOX5Q+9O82+mz8hEFE9StA=="],
+
+ "@oven/bun-windows-x64-baseline": ["@oven/bun-windows-x64-baseline@1.2.15", "", { "os": "win32", "cpu": "x64" }, "sha512-4Bgf6Xh+bh0n1YYJLRZdZuQXBLGDJDFASpyP3nP72D5/gm71kmlujuM6gPPmbyjxu7FOmP2x5gGEfQ6ydk68CA=="],
+
+ "@rollup/rollup-android-arm-eabi": ["@rollup/rollup-android-arm-eabi@4.41.1", "", { "os": "android", "cpu": "arm" }, "sha512-NELNvyEWZ6R9QMkiytB4/L4zSEaBC03KIXEghptLGLZWJ6VPrL63ooZQCOnlx36aQPGhzuOMwDerC1Eb2VmrLw=="],
+
+ "@rollup/rollup-android-arm64": ["@rollup/rollup-android-arm64@4.41.1", "", { "os": "android", "cpu": "arm64" }, "sha512-DXdQe1BJ6TK47ukAoZLehRHhfKnKg9BjnQYUu9gzhI8Mwa1d2fzxA1aw2JixHVl403bwp1+/o/NhhHtxWJBgEA=="],
+
+ "@rollup/rollup-darwin-arm64": ["@rollup/rollup-darwin-arm64@4.41.1", "", { "os": "darwin", "cpu": "arm64" }, "sha512-5afxvwszzdulsU2w8JKWwY8/sJOLPzf0e1bFuvcW5h9zsEg+RQAojdW0ux2zyYAz7R8HvvzKCjLNJhVq965U7w=="],
+
+ "@rollup/rollup-darwin-x64": ["@rollup/rollup-darwin-x64@4.41.1", "", { "os": "darwin", "cpu": "x64" }, "sha512-egpJACny8QOdHNNMZKf8xY0Is6gIMz+tuqXlusxquWu3F833DcMwmGM7WlvCO9sB3OsPjdC4U0wHw5FabzCGZg=="],
+
+ "@rollup/rollup-freebsd-arm64": ["@rollup/rollup-freebsd-arm64@4.41.1", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-DBVMZH5vbjgRk3r0OzgjS38z+atlupJ7xfKIDJdZZL6sM6wjfDNo64aowcLPKIx7LMQi8vybB56uh1Ftck/Atg=="],
+
+ "@rollup/rollup-freebsd-x64": ["@rollup/rollup-freebsd-x64@4.41.1", "", { "os": "freebsd", "cpu": "x64" }, "sha512-3FkydeohozEskBxNWEIbPfOE0aqQgB6ttTkJ159uWOFn42VLyfAiyD9UK5mhu+ItWzft60DycIN1Xdgiy8o/SA=="],
+
+ "@rollup/rollup-linux-arm-gnueabihf": ["@rollup/rollup-linux-arm-gnueabihf@4.41.1", "", { "os": "linux", "cpu": "arm" }, "sha512-wC53ZNDgt0pqx5xCAgNunkTzFE8GTgdZ9EwYGVcg+jEjJdZGtq9xPjDnFgfFozQI/Xm1mh+D9YlYtl+ueswNEg=="],
+
+ "@rollup/rollup-linux-arm-musleabihf": ["@rollup/rollup-linux-arm-musleabihf@4.41.1", "", { "os": "linux", "cpu": "arm" }, "sha512-jwKCca1gbZkZLhLRtsrka5N8sFAaxrGz/7wRJ8Wwvq3jug7toO21vWlViihG85ei7uJTpzbXZRcORotE+xyrLA=="],
+
+ "@rollup/rollup-linux-arm64-gnu": ["@rollup/rollup-linux-arm64-gnu@4.41.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-g0UBcNknsmmNQ8V2d/zD2P7WWfJKU0F1nu0k5pW4rvdb+BIqMm8ToluW/eeRmxCared5dD76lS04uL4UaNgpNA=="],
+
+ "@rollup/rollup-linux-arm64-musl": ["@rollup/rollup-linux-arm64-musl@4.41.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-XZpeGB5TKEZWzIrj7sXr+BEaSgo/ma/kCgrZgL0oo5qdB1JlTzIYQKel/RmhT6vMAvOdM2teYlAaOGJpJ9lahg=="],
+
+ "@rollup/rollup-linux-loongarch64-gnu": ["@rollup/rollup-linux-loongarch64-gnu@4.41.1", "", { "os": "linux", "cpu": "none" }, "sha512-bkCfDJ4qzWfFRCNt5RVV4DOw6KEgFTUZi2r2RuYhGWC8WhCA8lCAJhDeAmrM/fdiAH54m0mA0Vk2FGRPyzI+tw=="],
+
+ "@rollup/rollup-linux-powerpc64le-gnu": ["@rollup/rollup-linux-powerpc64le-gnu@4.41.1", "", { "os": "linux", "cpu": "ppc64" }, "sha512-3mr3Xm+gvMX+/8EKogIZSIEF0WUu0HL9di+YWlJpO8CQBnoLAEL/roTCxuLncEdgcfJcvA4UMOf+2dnjl4Ut1A=="],
+
+ "@rollup/rollup-linux-riscv64-gnu": ["@rollup/rollup-linux-riscv64-gnu@4.41.1", "", { "os": "linux", "cpu": "none" }, "sha512-3rwCIh6MQ1LGrvKJitQjZFuQnT2wxfU+ivhNBzmxXTXPllewOF7JR1s2vMX/tWtUYFgphygxjqMl76q4aMotGw=="],
+
+ "@rollup/rollup-linux-riscv64-musl": ["@rollup/rollup-linux-riscv64-musl@4.41.1", "", { "os": "linux", "cpu": "none" }, "sha512-LdIUOb3gvfmpkgFZuccNa2uYiqtgZAz3PTzjuM5bH3nvuy9ty6RGc/Q0+HDFrHrizJGVpjnTZ1yS5TNNjFlklw=="],
+
+ "@rollup/rollup-linux-s390x-gnu": ["@rollup/rollup-linux-s390x-gnu@4.41.1", "", { "os": "linux", "cpu": "s390x" }, "sha512-oIE6M8WC9ma6xYqjvPhzZYk6NbobIURvP/lEbh7FWplcMO6gn7MM2yHKA1eC/GvYwzNKK/1LYgqzdkZ8YFxR8g=="],
+
+ "@rollup/rollup-linux-x64-gnu": ["@rollup/rollup-linux-x64-gnu@4.41.1", "", { "os": "linux", "cpu": "x64" }, "sha512-cWBOvayNvA+SyeQMp79BHPK8ws6sHSsYnK5zDcsC3Hsxr1dgTABKjMnMslPq1DvZIp6uO7kIWhiGwaTdR4Og9A=="],
+
+ "@rollup/rollup-linux-x64-musl": ["@rollup/rollup-linux-x64-musl@4.41.1", "", { "os": "linux", "cpu": "x64" }, "sha512-y5CbN44M+pUCdGDlZFzGGBSKCA4A/J2ZH4edTYSSxFg7ce1Xt3GtydbVKWLlzL+INfFIZAEg1ZV6hh9+QQf9YQ=="],
+
+ "@rollup/rollup-win32-arm64-msvc": ["@rollup/rollup-win32-arm64-msvc@4.41.1", "", { "os": "win32", "cpu": "arm64" }, "sha512-lZkCxIrjlJlMt1dLO/FbpZbzt6J/A8p4DnqzSa4PWqPEUUUnzXLeki/iyPLfV0BmHItlYgHUqJe+3KiyydmiNQ=="],
+
+ "@rollup/rollup-win32-ia32-msvc": ["@rollup/rollup-win32-ia32-msvc@4.41.1", "", { "os": "win32", "cpu": "ia32" }, "sha512-+psFT9+pIh2iuGsxFYYa/LhS5MFKmuivRsx9iPJWNSGbh2XVEjk90fmpUEjCnILPEPJnikAU6SFDiEUyOv90Pg=="],
+
+ "@rollup/rollup-win32-x64-msvc": ["@rollup/rollup-win32-x64-msvc@4.41.1", "", { "os": "win32", "cpu": "x64" }, "sha512-Wq2zpapRYLfi4aKxf2Xff0tN+7slj2d4R87WEzqw7ZLsVvO5zwYCIuEGSZYiK41+GlwUo1HiR+GdkLEJnCKTCw=="],
+
+ "@shikijs/core": ["@shikijs/core@2.5.0", "", { "dependencies": { "@shikijs/engine-javascript": "2.5.0", "@shikijs/engine-oniguruma": "2.5.0", "@shikijs/types": "2.5.0", "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4", "hast-util-to-html": "^9.0.4" } }, "sha512-uu/8RExTKtavlpH7XqnVYBrfBkUc20ngXiX9NSrBhOVZYv/7XQRKUyhtkeflY5QsxC0GbJThCerruZfsUaSldg=="],
+
+ "@shikijs/engine-javascript": ["@shikijs/engine-javascript@2.5.0", "", { "dependencies": { "@shikijs/types": "2.5.0", "@shikijs/vscode-textmate": "^10.0.2", "oniguruma-to-es": "^3.1.0" } }, "sha512-VjnOpnQf8WuCEZtNUdjjwGUbtAVKuZkVQ/5cHy/tojVVRIRtlWMYVjyWhxOmIq05AlSOv72z7hRNRGVBgQOl0w=="],
+
+ "@shikijs/engine-oniguruma": ["@shikijs/engine-oniguruma@2.5.0", "", { "dependencies": { "@shikijs/types": "2.5.0", "@shikijs/vscode-textmate": "^10.0.2" } }, "sha512-pGd1wRATzbo/uatrCIILlAdFVKdxImWJGQ5rFiB5VZi2ve5xj3Ax9jny8QvkaV93btQEwR/rSz5ERFpC5mKNIw=="],
+
+ "@shikijs/langs": ["@shikijs/langs@2.5.0", "", { "dependencies": { "@shikijs/types": "2.5.0" } }, "sha512-Qfrrt5OsNH5R+5tJ/3uYBBZv3SuGmnRPejV9IlIbFH3HTGLDlkqgHymAlzklVmKBjAaVmkPkyikAV/sQ1wSL+w=="],
+
+ "@shikijs/themes": ["@shikijs/themes@2.5.0", "", { "dependencies": { "@shikijs/types": "2.5.0" } }, "sha512-wGrk+R8tJnO0VMzmUExHR+QdSaPUl/NKs+a4cQQRWyoc3YFbUzuLEi/KWK1hj+8BfHRKm2jNhhJck1dfstJpiw=="],
+
+ "@shikijs/transformers": ["@shikijs/transformers@2.5.0", "", { "dependencies": { "@shikijs/core": "2.5.0", "@shikijs/types": "2.5.0" } }, "sha512-SI494W5X60CaUwgi8u4q4m4s3YAFSxln3tzNjOSYqq54wlVgz0/NbbXEb3mdLbqMBztcmS7bVTaEd2w0qMmfeg=="],
+
+ "@shikijs/types": ["@shikijs/types@2.5.0", "", { "dependencies": { "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4" } }, "sha512-ygl5yhxki9ZLNuNpPitBWvcy9fsSKKaRuO4BAlMyagszQidxcpLAr0qiW/q43DtSIDxO6hEbtYLiFZNXO/hdGw=="],
+
+ "@shikijs/vscode-textmate": ["@shikijs/vscode-textmate@10.0.2", "", {}, "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg=="],
+
+ "@types/estree": ["@types/estree@1.0.7", "", {}, "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ=="],
+
+ "@types/hast": ["@types/hast@3.0.4", "", { "dependencies": { "@types/unist": "*" } }, "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ=="],
+
+ "@types/linkify-it": ["@types/linkify-it@5.0.0", "", {}, "sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q=="],
+
+ "@types/markdown-it": ["@types/markdown-it@14.1.2", "", { "dependencies": { "@types/linkify-it": "^5", "@types/mdurl": "^2" } }, "sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog=="],
+
+ "@types/mdast": ["@types/mdast@4.0.4", "", { "dependencies": { "@types/unist": "*" } }, "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA=="],
+
+ "@types/mdurl": ["@types/mdurl@2.0.0", "", {}, "sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg=="],
+
+ "@types/node": ["@types/node@22.15.24", "", { "dependencies": { "undici-types": "~6.21.0" } }, "sha512-w9CZGm9RDjzTh/D+hFwlBJ3ziUaVw7oufKA3vOFSOZlzmW9AkZnfjPb+DLnrV6qtgL/LNmP0/2zBNCFHL3F0ng=="],
+
+ "@types/unist": ["@types/unist@3.0.3", "", {}, "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q=="],
+
+ "@types/web-bluetooth": ["@types/web-bluetooth@0.0.21", "", {}, "sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA=="],
+
+ "@ungap/structured-clone": ["@ungap/structured-clone@1.3.0", "", {}, "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g=="],
+
+ "@vitejs/plugin-vue": ["@vitejs/plugin-vue@5.2.4", "", { "peerDependencies": { "vite": "^5.0.0 || ^6.0.0", "vue": "^3.2.25" } }, "sha512-7Yx/SXSOcQq5HiiV3orevHUFn+pmMB4cgbEkDYgnkUWb0WfeQ/wa2yFv6D5ICiCQOVpjA7vYDXrC7AGO8yjDHA=="],
+
+ "@vue/compiler-core": ["@vue/compiler-core@3.5.16", "", { "dependencies": { "@babel/parser": "^7.27.2", "@vue/shared": "3.5.16", "entities": "^4.5.0", "estree-walker": "^2.0.2", "source-map-js": "^1.2.1" } }, "sha512-AOQS2eaQOaaZQoL1u+2rCJIKDruNXVBZSiUD3chnUrsoX5ZTQMaCvXlWNIfxBJuU15r1o7+mpo5223KVtIhAgQ=="],
+
+ "@vue/compiler-dom": ["@vue/compiler-dom@3.5.16", "", { "dependencies": { "@vue/compiler-core": "3.5.16", "@vue/shared": "3.5.16" } }, "sha512-SSJIhBr/teipXiXjmWOVWLnxjNGo65Oj/8wTEQz0nqwQeP75jWZ0n4sF24Zxoht1cuJoWopwj0J0exYwCJ0dCQ=="],
+
+ "@vue/compiler-sfc": ["@vue/compiler-sfc@3.5.16", "", { "dependencies": { "@babel/parser": "^7.27.2", "@vue/compiler-core": "3.5.16", "@vue/compiler-dom": "3.5.16", "@vue/compiler-ssr": "3.5.16", "@vue/shared": "3.5.16", "estree-walker": "^2.0.2", "magic-string": "^0.30.17", "postcss": "^8.5.3", "source-map-js": "^1.2.1" } }, "sha512-rQR6VSFNpiinDy/DVUE0vHoIDUF++6p910cgcZoaAUm3POxgNOOdS/xgoll3rNdKYTYPnnbARDCZOyZ+QSe6Pw=="],
+
+ "@vue/compiler-ssr": ["@vue/compiler-ssr@3.5.16", "", { "dependencies": { "@vue/compiler-dom": "3.5.16", "@vue/shared": "3.5.16" } }, "sha512-d2V7kfxbdsjrDSGlJE7my1ZzCXViEcqN6w14DOsDrUCHEA6vbnVCpRFfrc4ryCP/lCKzX2eS1YtnLE/BuC9f/A=="],
+
+ "@vue/devtools-api": ["@vue/devtools-api@7.7.6", "", { "dependencies": { "@vue/devtools-kit": "^7.7.6" } }, "sha512-b2Xx0KvXZObePpXPYHvBRRJLDQn5nhKjXh7vUhMEtWxz1AYNFOVIsh5+HLP8xDGL7sy+Q7hXeUxPHB/KgbtsPw=="],
+
+ "@vue/devtools-kit": ["@vue/devtools-kit@7.7.6", "", { "dependencies": { "@vue/devtools-shared": "^7.7.6", "birpc": "^2.3.0", "hookable": "^5.5.3", "mitt": "^3.0.1", "perfect-debounce": "^1.0.0", "speakingurl": "^14.0.1", "superjson": "^2.2.2" } }, "sha512-geu7ds7tem2Y7Wz+WgbnbZ6T5eadOvozHZ23Atk/8tksHMFOFylKi1xgGlQlVn0wlkEf4hu+vd5ctj1G4kFtwA=="],
+
+ "@vue/devtools-shared": ["@vue/devtools-shared@7.7.6", "", { "dependencies": { "rfdc": "^1.4.1" } }, "sha512-yFEgJZ/WblEsojQQceuyK6FzpFDx4kqrz2ohInxNj5/DnhoX023upTv4OD6lNPLAA5LLkbwPVb10o/7b+Y4FVA=="],
+
+ "@vue/reactivity": ["@vue/reactivity@3.5.16", "", { "dependencies": { "@vue/shared": "3.5.16" } }, "sha512-FG5Q5ee/kxhIm1p2bykPpPwqiUBV3kFySsHEQha5BJvjXdZTUfmya7wP7zC39dFuZAcf/PD5S4Lni55vGLMhvA=="],
+
+ "@vue/runtime-core": ["@vue/runtime-core@3.5.16", "", { "dependencies": { "@vue/reactivity": "3.5.16", "@vue/shared": "3.5.16" } }, "sha512-bw5Ykq6+JFHYxrQa7Tjr+VSzw7Dj4ldR/udyBZbq73fCdJmyy5MPIFR9IX/M5Qs+TtTjuyUTCnmK3lWWwpAcFQ=="],
+
+ "@vue/runtime-dom": ["@vue/runtime-dom@3.5.16", "", { "dependencies": { "@vue/reactivity": "3.5.16", "@vue/runtime-core": "3.5.16", "@vue/shared": "3.5.16", "csstype": "^3.1.3" } }, "sha512-T1qqYJsG2xMGhImRUV9y/RseB9d0eCYZQ4CWca9ztCuiPj/XWNNN+lkNBuzVbia5z4/cgxdL28NoQCvC0Xcfww=="],
+
+ "@vue/server-renderer": ["@vue/server-renderer@3.5.16", "", { "dependencies": { "@vue/compiler-ssr": "3.5.16", "@vue/shared": "3.5.16" }, "peerDependencies": { "vue": "3.5.16" } }, "sha512-BrX0qLiv/WugguGsnQUJiYOE0Fe5mZTwi6b7X/ybGB0vfrPH9z0gD/Y6WOR1sGCgX4gc25L1RYS5eYQKDMoNIg=="],
+
+ "@vue/shared": ["@vue/shared@3.5.16", "", {}, "sha512-c/0fWy3Jw6Z8L9FmTyYfkpM5zklnqqa9+a6dz3DvONRKW2NEbh46BP0FHuLFSWi2TnQEtp91Z6zOWNrU6QiyPg=="],
+
+ "@vueuse/core": ["@vueuse/core@12.8.2", "", { "dependencies": { "@types/web-bluetooth": "^0.0.21", "@vueuse/metadata": "12.8.2", "@vueuse/shared": "12.8.2", "vue": "^3.5.13" } }, "sha512-HbvCmZdzAu3VGi/pWYm5Ut+Kd9mn1ZHnn4L5G8kOQTPs/IwIAmJoBrmYk2ckLArgMXZj0AW3n5CAejLUO+PhdQ=="],
+
+ "@vueuse/integrations": ["@vueuse/integrations@12.8.2", "", { "dependencies": { "@vueuse/core": "12.8.2", "@vueuse/shared": "12.8.2", "vue": "^3.5.13" }, "peerDependencies": { "async-validator": "^4", "axios": "^1", "change-case": "^5", "drauu": "^0.4", "focus-trap": "^7", "fuse.js": "^7", "idb-keyval": "^6", "jwt-decode": "^4", "nprogress": "^0.2", "qrcode": "^1.5", "sortablejs": "^1", "universal-cookie": "^7" }, "optionalPeers": ["async-validator", "axios", "change-case", "drauu", "focus-trap", "fuse.js", "idb-keyval", "jwt-decode", "nprogress", "qrcode", "sortablejs", "universal-cookie"] }, "sha512-fbGYivgK5uBTRt7p5F3zy6VrETlV9RtZjBqd1/HxGdjdckBgBM4ugP8LHpjolqTj14TXTxSK1ZfgPbHYyGuH7g=="],
+
+ "@vueuse/metadata": ["@vueuse/metadata@12.8.2", "", {}, "sha512-rAyLGEuoBJ/Il5AmFHiziCPdQzRt88VxR+Y/A/QhJ1EWtWqPBBAxTAFaSkviwEuOEZNtW8pvkPgoCZQ+HxqW1A=="],
+
+ "@vueuse/shared": ["@vueuse/shared@12.8.2", "", { "dependencies": { "vue": "^3.5.13" } }, "sha512-dznP38YzxZoNloI0qpEfpkms8knDtaoQ6Y/sfS0L7Yki4zh40LFHEhur0odJC6xTHG5dxWVPiUWBXn+wCG2s5w=="],
+
+ "algoliasearch": ["algoliasearch@5.25.0", "", { "dependencies": { "@algolia/client-abtesting": "5.25.0", "@algolia/client-analytics": "5.25.0", "@algolia/client-common": "5.25.0", "@algolia/client-insights": "5.25.0", "@algolia/client-personalization": "5.25.0", "@algolia/client-query-suggestions": "5.25.0", "@algolia/client-search": "5.25.0", "@algolia/ingestion": "1.25.0", "@algolia/monitoring": "1.25.0", "@algolia/recommend": "5.25.0", "@algolia/requester-browser-xhr": "5.25.0", "@algolia/requester-fetch": "5.25.0", "@algolia/requester-node-http": "5.25.0" } }, "sha512-n73BVorL4HIwKlfJKb4SEzAYkR3Buwfwbh+MYxg2mloFph2fFGV58E90QTzdbfzWrLn4HE5Czx/WTjI8fcHaMg=="],
+
+ "birpc": ["birpc@2.3.0", "", {}, "sha512-ijbtkn/F3Pvzb6jHypHRyve2QApOCZDR25D/VnkY2G/lBNcXCTsnsCxgY4k4PkVB7zfwzYbY3O9Lcqe3xufS5g=="],
+
+ "bun": ["bun@1.2.15", "", { "optionalDependencies": { "@oven/bun-darwin-aarch64": "1.2.15", "@oven/bun-darwin-x64": "1.2.15", "@oven/bun-darwin-x64-baseline": "1.2.15", "@oven/bun-linux-aarch64": "1.2.15", "@oven/bun-linux-aarch64-musl": "1.2.15", "@oven/bun-linux-x64": "1.2.15", "@oven/bun-linux-x64-baseline": "1.2.15", "@oven/bun-linux-x64-musl": "1.2.15", "@oven/bun-linux-x64-musl-baseline": "1.2.15", "@oven/bun-windows-x64": "1.2.15", "@oven/bun-windows-x64-baseline": "1.2.15" }, "os": [ "linux", "win32", "darwin", ], "cpu": [ "x64", "arm64", ], "bin": { "bun": "bin/bun.exe", "bunx": "bin/bun.exe" } }, "sha512-9Nryct8QYQRE/W3/FjW2i4eLdVKme7JPY8R9DNLSGjKdSX8uMgZ2mogs+H5d88Ng0bYeSLpUkBhRelbNi8MwYA=="],
+
+ "ccount": ["ccount@2.0.1", "", {}, "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg=="],
+
+ "character-entities-html4": ["character-entities-html4@2.1.0", "", {}, "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA=="],
+
+ "character-entities-legacy": ["character-entities-legacy@3.0.0", "", {}, "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ=="],
+
+ "comma-separated-tokens": ["comma-separated-tokens@2.0.3", "", {}, "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg=="],
+
+ "copy-anything": ["copy-anything@3.0.5", "", { "dependencies": { "is-what": "^4.1.8" } }, "sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w=="],
+
+ "csstype": ["csstype@3.1.3", "", {}, "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="],
+
+ "dequal": ["dequal@2.0.3", "", {}, "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA=="],
+
+ "devicon": ["devicon@2.16.0", "", {}, "sha512-PE5a2HBNeN4av+Iu975OiiWEwS8LJPw5HAvlv0JUHb62jZTdYxTpz4ga+cQyvdtb3x1side2P9Sr1mmOmUkO/g=="],
+
+ "devlop": ["devlop@1.1.0", "", { "dependencies": { "dequal": "^2.0.0" } }, "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA=="],
+
+ "emoji-regex-xs": ["emoji-regex-xs@1.0.0", "", {}, "sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg=="],
+
+ "entities": ["entities@4.5.0", "", {}, "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw=="],
+
+ "esbuild": ["esbuild@0.21.5", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.21.5", "@esbuild/android-arm": "0.21.5", "@esbuild/android-arm64": "0.21.5", "@esbuild/android-x64": "0.21.5", "@esbuild/darwin-arm64": "0.21.5", "@esbuild/darwin-x64": "0.21.5", "@esbuild/freebsd-arm64": "0.21.5", "@esbuild/freebsd-x64": "0.21.5", "@esbuild/linux-arm": "0.21.5", "@esbuild/linux-arm64": "0.21.5", "@esbuild/linux-ia32": "0.21.5", "@esbuild/linux-loong64": "0.21.5", "@esbuild/linux-mips64el": "0.21.5", "@esbuild/linux-ppc64": "0.21.5", "@esbuild/linux-riscv64": "0.21.5", "@esbuild/linux-s390x": "0.21.5", "@esbuild/linux-x64": "0.21.5", "@esbuild/netbsd-x64": "0.21.5", "@esbuild/openbsd-x64": "0.21.5", "@esbuild/sunos-x64": "0.21.5", "@esbuild/win32-arm64": "0.21.5", "@esbuild/win32-ia32": "0.21.5", "@esbuild/win32-x64": "0.21.5" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw=="],
+
+ "estree-walker": ["estree-walker@2.0.2", "", {}, "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="],
+
+ "focus-trap": ["focus-trap@7.6.5", "", { "dependencies": { "tabbable": "^6.2.0" } }, "sha512-7Ke1jyybbbPZyZXFxEftUtxFGLMpE2n6A+z//m4CRDlj0hW+o3iYSmh8nFlYMurOiJVDmJRilUQtJr08KfIxlg=="],
+
+ "fsevents": ["fsevents@2.3.3", "", { "os": "darwin" }, "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw=="],
+
+ "hast-util-to-html": ["hast-util-to-html@9.0.5", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", "ccount": "^2.0.0", "comma-separated-tokens": "^2.0.0", "hast-util-whitespace": "^3.0.0", "html-void-elements": "^3.0.0", "mdast-util-to-hast": "^13.0.0", "property-information": "^7.0.0", "space-separated-tokens": "^2.0.0", "stringify-entities": "^4.0.0", "zwitch": "^2.0.4" } }, "sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw=="],
+
+ "hast-util-whitespace": ["hast-util-whitespace@3.0.0", "", { "dependencies": { "@types/hast": "^3.0.0" } }, "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw=="],
+
+ "hookable": ["hookable@5.5.3", "", {}, "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ=="],
+
+ "html-void-elements": ["html-void-elements@3.0.0", "", {}, "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg=="],
+
+ "is-what": ["is-what@4.1.16", "", {}, "sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A=="],
+
+ "magic-string": ["magic-string@0.30.17", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0" } }, "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA=="],
+
+ "mark.js": ["mark.js@8.11.1", "", {}, "sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ=="],
+
+ "mdast-util-to-hast": ["mdast-util-to-hast@13.2.0", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", "@ungap/structured-clone": "^1.0.0", "devlop": "^1.0.0", "micromark-util-sanitize-uri": "^2.0.0", "trim-lines": "^3.0.0", "unist-util-position": "^5.0.0", "unist-util-visit": "^5.0.0", "vfile": "^6.0.0" } }, "sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA=="],
+
+ "micromark-util-character": ["micromark-util-character@2.1.1", "", { "dependencies": { "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q=="],
+
+ "micromark-util-encode": ["micromark-util-encode@2.0.1", "", {}, "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw=="],
+
+ "micromark-util-sanitize-uri": ["micromark-util-sanitize-uri@2.0.1", "", { "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-encode": "^2.0.0", "micromark-util-symbol": "^2.0.0" } }, "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ=="],
+
+ "micromark-util-symbol": ["micromark-util-symbol@2.0.1", "", {}, "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q=="],
+
+ "micromark-util-types": ["micromark-util-types@2.0.2", "", {}, "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA=="],
+
+ "minisearch": ["minisearch@7.1.2", "", {}, "sha512-R1Pd9eF+MD5JYDDSPAp/q1ougKglm14uEkPMvQ/05RGmx6G9wvmLTrTI/Q5iPNJLYqNdsDQ7qTGIcNWR+FrHmA=="],
+
+ "mitt": ["mitt@3.0.1", "", {}, "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw=="],
+
+ "nanoid": ["nanoid@3.3.11", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w=="],
+
+ "oniguruma-to-es": ["oniguruma-to-es@3.1.1", "", { "dependencies": { "emoji-regex-xs": "^1.0.0", "regex": "^6.0.1", "regex-recursion": "^6.0.2" } }, "sha512-bUH8SDvPkH3ho3dvwJwfonjlQ4R80vjyvrU8YpxuROddv55vAEJrTuCuCVUhhsHbtlD9tGGbaNApGQckXhS8iQ=="],
+
+ "perfect-debounce": ["perfect-debounce@1.0.0", "", {}, "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA=="],
+
+ "picocolors": ["picocolors@1.1.1", "", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="],
+
+ "postcss": ["postcss@8.5.4", "", { "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-QSa9EBe+uwlGTFmHsPKokv3B/oEMQZxfqW0QqNCyhpa6mB1afzulwn8hihglqAb2pOw+BJgNlmXQ8la2VeHB7w=="],
+
+ "preact": ["preact@10.26.8", "", {}, "sha512-1nMfdFjucm5hKvq0IClqZwK4FJkGXhRrQstOQ3P4vp8HxKrJEMFcY6RdBRVTdfQS/UlnX6gfbPuTvaqx/bDoeQ=="],
+
+ "property-information": ["property-information@7.1.0", "", {}, "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ=="],
+
+ "regex": ["regex@6.0.1", "", { "dependencies": { "regex-utilities": "^2.3.0" } }, "sha512-uorlqlzAKjKQZ5P+kTJr3eeJGSVroLKoHmquUj4zHWuR+hEyNqlXsSKlYYF5F4NI6nl7tWCs0apKJ0lmfsXAPA=="],
+
+ "regex-recursion": ["regex-recursion@6.0.2", "", { "dependencies": { "regex-utilities": "^2.3.0" } }, "sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg=="],
+
+ "regex-utilities": ["regex-utilities@2.3.0", "", {}, "sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng=="],
+
+ "rfdc": ["rfdc@1.4.1", "", {}, "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA=="],
+
+ "rollup": ["rollup@4.41.1", "", { "dependencies": { "@types/estree": "1.0.7" }, "optionalDependencies": { "@rollup/rollup-android-arm-eabi": "4.41.1", "@rollup/rollup-android-arm64": "4.41.1", "@rollup/rollup-darwin-arm64": "4.41.1", "@rollup/rollup-darwin-x64": "4.41.1", "@rollup/rollup-freebsd-arm64": "4.41.1", "@rollup/rollup-freebsd-x64": "4.41.1", "@rollup/rollup-linux-arm-gnueabihf": "4.41.1", "@rollup/rollup-linux-arm-musleabihf": "4.41.1", "@rollup/rollup-linux-arm64-gnu": "4.41.1", "@rollup/rollup-linux-arm64-musl": "4.41.1", "@rollup/rollup-linux-loongarch64-gnu": "4.41.1", "@rollup/rollup-linux-powerpc64le-gnu": "4.41.1", "@rollup/rollup-linux-riscv64-gnu": "4.41.1", "@rollup/rollup-linux-riscv64-musl": "4.41.1", "@rollup/rollup-linux-s390x-gnu": "4.41.1", "@rollup/rollup-linux-x64-gnu": "4.41.1", "@rollup/rollup-linux-x64-musl": "4.41.1", "@rollup/rollup-win32-arm64-msvc": "4.41.1", "@rollup/rollup-win32-ia32-msvc": "4.41.1", "@rollup/rollup-win32-x64-msvc": "4.41.1", "fsevents": "~2.3.2" }, "bin": { "rollup": "dist/bin/rollup" } }, "sha512-cPmwD3FnFv8rKMBc1MxWCwVQFxwf1JEmSX3iQXrRVVG15zerAIXRjMFVWnd5Q5QvgKF7Aj+5ykXFhUl+QGnyOw=="],
+
+ "search-insights": ["search-insights@2.17.3", "", {}, "sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ=="],
+
+ "shiki": ["shiki@2.5.0", "", { "dependencies": { "@shikijs/core": "2.5.0", "@shikijs/engine-javascript": "2.5.0", "@shikijs/engine-oniguruma": "2.5.0", "@shikijs/langs": "2.5.0", "@shikijs/themes": "2.5.0", "@shikijs/types": "2.5.0", "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4" } }, "sha512-mI//trrsaiCIPsja5CNfsyNOqgAZUb6VpJA+340toL42UpzQlXpwRV9nch69X6gaUxrr9kaOOa6e3y3uAkGFxQ=="],
+
+ "source-map-js": ["source-map-js@1.2.1", "", {}, "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="],
+
+ "space-separated-tokens": ["space-separated-tokens@2.0.2", "", {}, "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q=="],
+
+ "speakingurl": ["speakingurl@14.0.1", "", {}, "sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ=="],
+
+ "stringify-entities": ["stringify-entities@4.0.4", "", { "dependencies": { "character-entities-html4": "^2.0.0", "character-entities-legacy": "^3.0.0" } }, "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg=="],
+
+ "superjson": ["superjson@2.2.2", "", { "dependencies": { "copy-anything": "^3.0.2" } }, "sha512-5JRxVqC8I8NuOUjzBbvVJAKNM8qoVuH0O77h4WInc/qC2q5IreqKxYwgkga3PfA22OayK2ikceb/B26dztPl+Q=="],
+
+ "tabbable": ["tabbable@6.2.0", "", {}, "sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew=="],
+
+ "trim-lines": ["trim-lines@3.0.1", "", {}, "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg=="],
+
+ "typescript": ["typescript@5.8.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ=="],
+
+ "undici-types": ["undici-types@6.21.0", "", {}, "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ=="],
+
+ "unist-util-is": ["unist-util-is@6.0.0", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw=="],
+
+ "unist-util-position": ["unist-util-position@5.0.0", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA=="],
+
+ "unist-util-stringify-position": ["unist-util-stringify-position@4.0.0", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ=="],
+
+ "unist-util-visit": ["unist-util-visit@5.0.0", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-is": "^6.0.0", "unist-util-visit-parents": "^6.0.0" } }, "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg=="],
+
+ "unist-util-visit-parents": ["unist-util-visit-parents@6.0.1", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-is": "^6.0.0" } }, "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw=="],
+
+ "vfile": ["vfile@6.0.3", "", { "dependencies": { "@types/unist": "^3.0.0", "vfile-message": "^4.0.0" } }, "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q=="],
+
+ "vfile-message": ["vfile-message@4.0.2", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-stringify-position": "^4.0.0" } }, "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw=="],
+
+ "vite": ["vite@5.4.19", "", { "dependencies": { "esbuild": "^0.21.3", "postcss": "^8.4.43", "rollup": "^4.20.0" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^18.0.0 || >=20.0.0", "less": "*", "lightningcss": "^1.21.0", "sass": "*", "sass-embedded": "*", "stylus": "*", "sugarss": "*", "terser": "^5.4.0" }, "optionalPeers": ["@types/node", "less", "lightningcss", "sass", "sass-embedded", "stylus", "sugarss", "terser"], "bin": { "vite": "bin/vite.js" } }, "sha512-qO3aKv3HoQC8QKiNSTuUM1l9o/XX3+c+VTgLHbJWHZGeTPVAg2XwazI9UWzoxjIJCGCV2zU60uqMzjeLZuULqA=="],
+
+ "vitepress": ["vitepress@1.6.3", "", { "dependencies": { "@docsearch/css": "3.8.2", "@docsearch/js": "3.8.2", "@iconify-json/simple-icons": "^1.2.21", "@shikijs/core": "^2.1.0", "@shikijs/transformers": "^2.1.0", "@shikijs/types": "^2.1.0", "@types/markdown-it": "^14.1.2", "@vitejs/plugin-vue": "^5.2.1", "@vue/devtools-api": "^7.7.0", "@vue/shared": "^3.5.13", "@vueuse/core": "^12.4.0", "@vueuse/integrations": "^12.4.0", "focus-trap": "^7.6.4", "mark.js": "8.11.1", "minisearch": "^7.1.1", "shiki": "^2.1.0", "vite": "^5.4.14", "vue": "^3.5.13" }, "peerDependencies": { "markdown-it-mathjax3": "^4", "postcss": "^8" }, "optionalPeers": ["markdown-it-mathjax3", "postcss"], "bin": { "vitepress": "bin/vitepress.js" } }, "sha512-fCkfdOk8yRZT8GD9BFqusW3+GggWYZ/rYncOfmgcDtP3ualNHCAg+Robxp2/6xfH1WwPHtGpPwv7mbA3qomtBw=="],
+
+ "vue": ["vue@3.5.16", "", { "dependencies": { "@vue/compiler-dom": "3.5.16", "@vue/compiler-sfc": "3.5.16", "@vue/runtime-dom": "3.5.16", "@vue/server-renderer": "3.5.16", "@vue/shared": "3.5.16" }, "peerDependencies": { "typescript": "*" }, "optionalPeers": ["typescript"] }, "sha512-rjOV2ecxMd5SiAmof2xzh2WxntRcigkX/He4YFJ6WdRvVUrbt6DxC1Iujh10XLl8xCDRDtGKMeO3D+pRQ1PP9w=="],
+
+ "zwitch": ["zwitch@2.0.4", "", {}, "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A=="],
+ }
+}
diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts
new file mode 100644
index 00000000..caaf6e8c
--- /dev/null
+++ b/docs/.vitepress/config.ts
@@ -0,0 +1,121 @@
+// .vitepress/config.js
+export default {
+ title: 'ML4W-Hyprland',
+ description: 'Documentation website of ML4W-Hypland Dotfiles',
+ base: "/dotfiles/",
+ lastUpdated: true,
+
+ head: [
+ ["link", { rel: "icon", href: "ml4w.png" }],
+ ],
+
+ themeConfig: {
+ siteTitle: "ML4W-Hyprland",
+ logo: "/ml4w.png",
+ outline: "deep",
+ docsDir: "/docs",
+ editLink: {
+ pattern: "https://github.com/mylinuxforwork/dotfiles/tree/main/docs/:path",
+ text: "Edit this page on GitHub",
+ },
+ nav: [
+ { text: "Home", link: "/" },
+ { text: "About", link: "/getting-started/overview" },
+ {
+ text: "Showcases",
+ link: "/showcases",
+ activeMatch: "/showcases/",
+ },
+ {
+ text: "2.9.8.6",
+ items: [
+ {
+ text: 'Changelog',
+ link: 'https://github.com/mylinuxforwork/dotfiles/blob/main/CHANGELOG.md'
+ },
+ ],
+ },
+ ],
+ sidebar: [
+ {
+ text: "Getting Started",
+ items: [
+ { text: "Overview", link: "/getting-started/overview" },
+ { text: "Install", link: "/getting-started/install" },
+ { text: "Install Options", link: "/getting-started/options" },
+ { text: "Install in VM (KVM)", link: "/getting-started/vm-install" },
+ { text: "Update", link: "/getting-started/update" },
+ { text: "Uninstall", link: "/getting-started/uninstall" },
+ ],
+ },
+ {
+ text: "Configuration",
+ items: [
+ { text: "Preserve Config & Customize", link: "/configuration/preserve-config" },
+ { text: "Auto Setup & Update", link: "/configuration/auto-setup" },
+ { text: "Use on Other Distros", link: "/configuration/distros" },
+ { text: "Monitor Setup", link: "/configuration/monitor-setup" },
+ { text: "Hyprland + NVIDIA", link: "/configuration/hypr-nvidia" },
+ { text: "Switch SDL (X11/Wayland)", link: "/configuration/xwayland" },
+ ],
+ },
+ {
+ text: "Usage",
+ items: [
+ { text: "Launch Hyprland", link: "/usage/launch" },
+ { text: "Keybindings", link: "/usage/keybindings" },
+ { text: "Screenshots", link: "/usage/screenshots" },
+ { text: "Game Mode", link: "/usage/game-mode" },
+ { text: "Wallpapers", link: "/usage/wallpapers" },
+ { text: "Power & Screenlock", link: "/usage/power-lock" },
+ ],
+ },
+ {
+ text: "Customization",
+ items: [
+ { text: "Dotfiles Customization", link: "/customization/dotfiles" },
+ { text: "Add Dock (nwg-dock)", link: "/customization/dock" },
+ { text: "Customize Waybar", link: "/customization/waybar" },
+ { text: "Shell (Zsh & Bash)", link: "/customization/shell" },
+ { text: "Default Terminal", link: "/customization/terminal" },
+ { text: "Default Browser", link: "/customization/browser" },
+ { text: "Config Variants", link: "/customization/variants" },
+ ],
+ },
+ {
+ text: "ML4W Apps",
+ items: [
+ { text: "Welcome App", link: "/ml4w-apps/welcome" },
+ { text: "Sidebar App", link: "/ml4w-apps/sidebar" },
+ { text: "Dotfiles Settings", link: "/ml4w-apps/dotfiles-app" },
+ { text: "Hyprland Settings", link: "/ml4w-apps/hyprland-app" },
+ ],
+ },
+ {
+ text: "Qtile",
+ items: [
+ { text: "Qtile Setup", link: "/qtile/qtile" },
+ ],
+ },
+ {
+ text: "Help",
+ items: [
+ { text: "Troubleshooting", link: "/help/troubleshooting" },
+ ],
+ },
+ ],
+ socialLinks: [
+ { icon: "discord", link: "https://discord.gg/c4fJK7Za3g" },
+ ],
+ footer: {
+ message: "Released under the GPL License.",
+ copyright: "Copyright © 2025 Stephan Raabe",
+ },
+ search: {
+ provider: "local",
+ },
+ returnToTopLabel: 'Go to Top',
+ sidebarMenuLabel: 'Menu',
+ },
+};
+
diff --git a/docs/.vitepress/theme/custom.css b/docs/.vitepress/theme/custom.css
new file mode 100644
index 00000000..cb6b0bbd
--- /dev/null
+++ b/docs/.vitepress/theme/custom.css
@@ -0,0 +1,84 @@
+:root {
+ --vp-c-bg: #ffffff;
+ --vp-c-bg-alt: #f8f9fa;
+ --vp-c-bg-elv: rgba(240, 240, 240, 0.8);
+ --vp-c-bg-soft: rgba(250, 250, 250, 0.6);
+
+ --vp-c-border: rgba(0, 0, 0, 0.08);
+ --vp-c-divider: rgba(0, 0, 0, 0.05);
+ --vp-c-gutter: rgba(0, 0, 0, 0.025);
+
+ --vp-c-text-1: rgba(0, 0, 0, 0.87);
+ --vp-c-text-2: rgba(0, 0, 0, 0.6);
+ --vp-c-text-3: rgba(0, 0, 0, 0.38);
+
+ --vp-c-brand-1: #0077cc;
+ --vp-c-brand-2: #3399ff;
+ --vp-c-brand-3: #005fa3;
+
+ --vp-c-brand-soft: rgba(0, 119, 204, 0.1);
+ --vp-c-brand-soft-bg: rgba(200, 220, 255, 0.25);
+
+ --vp-home-hero-name-color: transparent;
+ --vp-home-hero-name-background: -webkit-linear-gradient(120deg, var(--vp-c-purple-3), var(--vp-c-brand-3));
+ --vp-home-hero-image-filter: blur(44px);
+
+ --overlay-gradient: color-mix(in srgb, var(--vp-c-brand-1), transparent 40%);
+}
+
+.dark {
+ --vp-c-bg: #090b18;
+ --vp-c-bg-alt: #0d101e;
+ --vp-c-bg-elv: rgba(15, 18, 30, 0.6);
+ --vp-c-bg-soft: rgba(25, 28, 40, 0.4);
+
+ --vp-c-border: rgba(255, 255, 255, 0.035);
+ --vp-c-divider: rgba(255, 255, 255, 0.04);
+ --vp-c-gutter: rgba(255, 255, 255, 0.015);
+
+ --vp-c-text-1: rgba(255, 255, 255, 0.88);
+ --vp-c-text-2: rgba(255, 255, 255, 0.6);
+ --vp-c-text-3: rgba(255, 255, 255, 0.38);
+
+ --vp-c-brand-1: #2d88b8;
+ --vp-c-brand-2: #60b6cc;
+ --vp-c-brand-3: #2f7f85;
+
+ --vp-c-brand-soft: rgba(110, 100, 220, 0.10);
+ --vp-c-brand-soft-bg: rgba(28, 30, 48, 0.35);
+
+ --overlay-gradient: color-mix(in srgb, var(--vp-c-brand-1), transparent 75%);
+}
+
+::-webkit-scrollbar {
+ width: 10px;
+ height: 10px;
+}
+
+::-webkit-scrollbar-track {
+ background: rgba(0, 0, 0, 0.05);
+ border-radius: 8px;
+}
+
+.dark ::-webkit-scrollbar-track {
+ background: rgba(20, 22, 34, 0.2);
+}
+
+::-webkit-scrollbar-thumb {
+ background: var(--vp-c-brand-3);
+ border-radius: 10px;
+ border: 2px solid rgba(0, 0, 0, 0.2);
+}
+
+::-webkit-scrollbar-thumb:hover {
+ background: var(--vp-c-brand-1);
+}
+
+* {
+ scrollbar-width: thin;
+ scrollbar-color: var(--vp-c-brand-3) rgba(0, 0, 0, 0.1);
+}
+
+.dark * {
+ scrollbar-color: var(--vp-c-brand-3) rgba(20, 22, 34, 0.2);
+}
diff --git a/docs/.vitepress/theme/index.ts b/docs/.vitepress/theme/index.ts
new file mode 100644
index 00000000..41c08dcd
--- /dev/null
+++ b/docs/.vitepress/theme/index.ts
@@ -0,0 +1,6 @@
+// .vitepress/theme/index.js
+import DefaultTheme from "vitepress/theme";
+import "devicon/devicon.min.css"
+import "./custom.css";
+
+export default DefaultTheme;
diff --git a/docs/configuration/auto-setup.md b/docs/configuration/auto-setup.md
new file mode 100644
index 00000000..73ea419c
--- /dev/null
+++ b/docs/configuration/auto-setup.md
@@ -0,0 +1,136 @@
+Nearly all steps of the installation/update script can be automated to reduce the time for the installation significantly if you want to keep your dotfiles up-to-date with the rolling release.
+
+## Preparing the automation.sh file
+
+After an initial installetion you will find an automation template in the folder `~/.ml4w-hyprland`
+
+Copy the automation.tpl to automation.sh and make it executable:
+
+```sh
+cp automation.tpl automation.sh
+chmod +x automation.sh
+```
+
+Just run the installer again to see the defined installation steps automated.
+In case of an upcoming update or new installation the defined steps will be executed automatically.
+
+You can deactive the automation by renaming the file to automation.bak.
+
+## Overview of the available automation parameter
+
+```sh
+#!/bin/bash
+# Find the latest automation parameters here:
+# https://github.com/mylinuxforwork/dotfiles/wiki/Automation-of-the-installation-and-update
+
+# -----------------------------------------------------
+# SYSTEM UPDATES
+# true: Execute full system update with yay
+# false: Skip system update with yay
+# -----------------------------------------------------
+automation_checkforupdates=false
+
+# -----------------------------------------------------
+# PARALLEL DOWNLOADS
+# true: Will activate parallel downloads
+# false: Skip the activation of parallel downloads
+# -----------------------------------------------------
+automation_paralleldownloads=true
+
+# -----------------------------------------------------
+# DOTFILES INSTALLATION FOLDER
+# Define a folder including subfolder for the dotfiles
+# E.g., dotfiles for installing in ~/dotfiles
+# -----------------------------------------------------
+automation_dotfilesfolder="dotfiles"
+
+# -----------------------------------------------------
+# OPTIONAL PACKAGES
+# true: Offer the installation of optional packages
+# false: Skip the installation of optional packages
+# -----------------------------------------------------
+automation_optional=false
+
+# -----------------------------------------------------
+# BACKUP OF YOUR DOTFILES
+# true: Create a backup and archive it
+# false: Skip the backup
+# -----------------------------------------------------
+automation_backup=true
+
+# -----------------------------------------------------
+# INSTALLTION
+# true: Start the installation of new packages
+# -----------------------------------------------------
+automation_installation=true
+
+# -----------------------------------------------------
+# VM SUPPORT
+# true: VM Support will be installed
+# -----------------------------------------------------
+automation_vm=false
+
+# -----------------------------------------------------
+# DISPLAY MANAGER
+# true: Keep current setup
+# -----------------------------------------------------
+automation_displaymanager=true
+
+# -----------------------------------------------------
+# RESTORE
+# true: Try to restore existing settings and configurations
+# -----------------------------------------------------
+automation_restore=true
+
+# -----------------------------------------------------
+# KEYBOARD
+# true: Proceed with existing keyboard configuration
+# -----------------------------------------------------
+automation_keyboard=true
+
+# -----------------------------------------------------
+# EXECUTE HOOK SCRIPT
+# true: Execute the hook.sh if exists
+# -----------------------------------------------------
+automation_hook=false
+
+# -----------------------------------------------------
+# BASH RC
+# true: Install the ML4W .bashrc
+# false: Keep existing .bashrc
+# -----------------------------------------------------
+automation_bashrc=true
+
+# -----------------------------------------------------
+# ZSH RC
+# true: Install the ML4W .zshrc
+# false: Keep existing .zshrc
+# -----------------------------------------------------
+automation_zshrc=true
+
+# -----------------------------------------------------
+# NEOVIM
+# true: Install neovim configuration
+# false: Skip installation of neovim configuration
+# -----------------------------------------------------
+automation_neovim=true
+
+# -----------------------------------------------------
+# COPY TO TARGETFOLDER
+# true: Prepared dotfiles will be copied to the target folder
+# -----------------------------------------------------
+automation_copy=true
+
+# -----------------------------------------------------
+# RUN DIAGNOSIS
+# true: Will execute the diagnosis script
+# -----------------------------------------------------
+automation_diagnosis=true
+
+# -----------------------------------------------------
+# EXECUTE POST SCRIPT
+# true: Execute the post.sh if exists
+# -----------------------------------------------------
+automation_post=false
+```
+
diff --git a/docs/configuration/distros.md b/docs/configuration/distros.md
new file mode 100644
index 00000000..b2cce35a
--- /dev/null
+++ b/docs/configuration/distros.md
@@ -0,0 +1,30 @@
+> [!CAUTION]
+> The following instructions are barely tested and in BETA. But you can give it a try and please report back your experiences.
+
+The ML4W Dotfiles are shipped with a comprehensive Hyprland configuration. Some scripts (check for updates) are implemented for Arch only but the general configurations could also work on other distributions.
+
+Please make sure that the following packages are installed on your system:
+* Required packages: https://github.com/mylinuxforwork/dotfiles/tree/main/share/packages
+
+Follow the steps to install the dotfiles:
+
+```sh
+# 1.) Change into your Downloads folder (create the folder if not available)
+cd ~/Downloads
+
+# 2.) Clone the dotfiles repository into the Downloads folder
+git clone --depth=1 https://github.com/mylinuxforwork/dotfiles.git
+
+# 3.) Change your keyboard layout
+cd dotfiles/share/dotfiles/.config/hypr/conf/
+vim keyboard.conf
+
+# 4.) Change into the dotfiles folder
+cd dotfiles/share/dotfiles/.config
+
+# 5.) Copy the dotfiles to your home directory
+cp -r . ~/.config
+
+```
+Some system related scripts will not work. But feel free to share your experiences.
+
diff --git a/docs/configuration/hypr-nvidia.md b/docs/configuration/hypr-nvidia.md
new file mode 100644
index 00000000..968757d7
--- /dev/null
+++ b/docs/configuration/hypr-nvidia.md
@@ -0,0 +1,19 @@
+> [!NOTE]
+> There is no official Hyprland support for Nvidia hardware. However, you might make it work properly following this page.
+https://wiki.hyprland.org/Nvidia/
+
+Users have reported that Hyprland with dotfiles could be installed successfully on setups with NVDIA GPUs using the nouveau open source drivers.
+
+You can also try a ML4W Dotfiles BETA feature to install the NVIDIA proprietary driver (grub bootloader required).
+Install the dotfiles with:
+
+```sh
+ml4w-hyprland-setup -m nvidia
+```
+
+> Please select the following variation in the ML4W Settings app (system/environment):
+
+>https://github.com/mylinuxforwork/dotfiles/blob/main/share/dotfiles/.config/hypr/conf/environments/nvidia.conf
+
+> Or set the included environment variables in hyprland.conf
+
diff --git a/docs/configuration/monitor-setup.md b/docs/configuration/monitor-setup.md
new file mode 100644
index 00000000..44434d31
--- /dev/null
+++ b/docs/configuration/monitor-setup.md
@@ -0,0 +1,37 @@
+**If you want to change the default monitor configuration, you can setup your own personal monitor variation or use nwg-displays.**
+
+## Personal Monitor Variation
+
+Please open the ML4W Dotfiles Settings App and select the system tab. When you scroll down you can see shipped monitor monitor variation.
+
+
+
+You can also create your own variation as described here: https://github.com/mylinuxforwork/dotfiles/wiki/Configuration-Variations
+
+## Use nwg-displays
+
+The ML4W Dotfiles are supporting the application nwg-displays (https://github.com/nwg-piotr/nwg-displays) to configure your display settings.
+
+Install nwg-displays on Arch Linux with
+
+::: code-group
+
+```sh [Arch]
+sudo pacman -S nwg-displays
+```
+
+```sh [Fedora]
+sudo dnf install nwg-displays
+```
+:::
+
+Open the app and apply your desired monitor settings.
+
+
+
+Then open the ML4W Settings App and select the Monitor Variation nwg-displays.
+
+
+
+> From now on you can change your monitor configuration directly in nwg-displays.
+
diff --git a/docs/configuration/preserve-config.md b/docs/configuration/preserve-config.md
new file mode 100644
index 00000000..1528e4a9
--- /dev/null
+++ b/docs/configuration/preserve-config.md
@@ -0,0 +1,108 @@
+> [!NOTE]
+>The installation script will prepare the all files in a folder ~/.ml4w-hyprland/[version] before starting the copy of the files into the final destination, e.g., ~/dotfiles/. You can modify the prepared dotfiles with a hook script to protect your personal adjustments and you can install additional packages with a post script.
+
+## Protect folder in .config with PROTECTED
+
+You can protect any configuration folder in .config by adding an empty file with filename PROTECTED. The installation script will detect the file and skip the update and overwrite of any files of the configuration.
+
+## Protecting your own dotfiles adjustments with hook.sh
+
+> [!NOTE]
+> If you want to create the files manually copy the prepared templates from here https://github.com/mylinuxforwork/dotfiles/tree/main/share/templates
+
+> If you want to modify the installation files just before the copy procedure starts, you can create a file hook.sh in the folder ~/.ml4w-hyprland/
+
+With this hook script you can protect your own customization of files in ~/dotfiles from getting overwritten by an update of new version of the ML4W Dotfiles.
+
+The following information describes as an example how you can protect your customization of the .bashrc and nvim folder in ~/dotfiles.
+
+After installing the ML4W Dotfiles you will find the file hook.tpl in ~/.ml4w-hyprland
+
+Rename the file and make it executable:
+
+```sh
+mv hook.tpl hook.sh
+chmod +x hook.sh
+```
+
+Open the file in your preferred editor.
+
+```sh
+#!/bin/bash
+# ------------------------------------------------------
+# Don't edit this section
+# Include scripts.sh with helper functions
+source library/scripts.sh
+# ------------------------------------------------------
+
+# Show Current version
+echo ":: Running hook for ML4W Dotfiles $version"
+
+# If you made adjustments in the installation folder e.g., ~/dotfiles folder
+# you can protect the files and folders from being overwritten by updates.
+
+_protect .config/nvim
+_protect .bashrc
+
+# You can add more command to get executed before the prepared dotfiles
+# will be copied to the target folder ~/dotfiles
+
+```
+
+In this case you protect the nvim folder and the .bashrc file.
+
+> The _protect function is a helper function shipped with the ML4W Dotfiles.
+
+Next time you run the ML4W installer the script will detect the existing hook.sh and will offer to execute it.
+
+You can of course add more bash commands to this script if needed.
+
+## Execute commands after the installation with post.sh
+
+The following information describes as an example how you can install kitty after the installation with the post.sh script.
+
+After installing the ML4W Dotfiles you will find the file post.tpl in ~/.ml4w-hyprland
+
+Rename the file and make it executable:
+
+```sh
+mv post.tpl post.sh
+chmod +x post.sh
+```
+
+Open the file in your preferred editor.
+
+```sh
+#!/bin/bash
+# ------------------------------------------------------
+# Don't edit this section
+# Include scripts.sh with helper functions
+source library/scripts.sh
+# ------------------------------------------------------
+
+# Show Current version
+echo ":: Running hook for ML4W Dotfiles $version"
+
+# Install additional packages
+_installPackagesPacman "kitty"
+_installPackagesYay "wlogout"
+_installPackagesFlatpak "com.spotify.Client"
+
+# Remove installed packages
+# sudo pacman -R alacritty
+```
+
+The script will check if kitty and wlogout is already installed and install them if not.
+
+> The _installPackagesPacman and _installPackagesYay functions are a helper function shipped with the ML4W Dotfiles.
+
+You can also uninstall packages if needed.
+
+Next time you run the ML4W installer the script will detect the existing post.sh and will offer to execute it at last step of the installation.
+
+## Helper Script
+
+The above used functions are shipped with the ML4W Dotfiles and are stored in ~/.ml4w-hyprland/library/scripts.sh
+
+> This file will be updated with every new version of the Dotfiles and will provide more helper functions in the future.
+
diff --git a/docs/configuration/xwayland.md b/docs/configuration/xwayland.md
new file mode 100644
index 00000000..80e0d6e2
--- /dev/null
+++ b/docs/configuration/xwayland.md
@@ -0,0 +1,32 @@
+Some games are using old SDL version that is compiled without Wayland support. That means they will not likely want to run - crash on startup - if SDL_VIDEODRIVER is set to Wayland.
+
+You can switch between wayland and x11 in the file `~/dotfiles/hypr/conf/custom.conf`:
+
+```sh
+# SDL version
+env = SDL_VIDEODRIVER,wayland
+# env = SDL_VIDEODRIVER,x11
+```
+
+> [!NOTE]
+> In versions before 2.9.5RL you find the entry in `~/dotfiles/hypr/conf/ml4w.conf`
+
+## Toolkit Backend Environment Variables
+
+These environment variables help ensure proper backend support in Hyprland:
+
+| Variable | Value |
+|----------|-------|
+| `GDK_BACKEND` | `wayland,x11,*` |
+| `SDL_VIDEODRIVER` | `wayland` |
+| `CLUTTER_BACKEND` | `wayland` |
+
+> [!TIP]
+> Move the following line to your `custom.conf` file for better control:
+>
+> ```ini
+> env = SDL_VIDEODRIVER,wayland
+> ```
+
+
+
diff --git a/docs/customization/browser.md b/docs/customization/browser.md
new file mode 100644
index 00000000..643ac51c
--- /dev/null
+++ b/docs/customization/browser.md
@@ -0,0 +1,20 @@
+The default browser is Firefox. But you can use any browser as your default browser.
+
+As an example, let's install brave.
+
+```sh
+yay -S brave-bin
+```
+
+Then open the ML4W Dotfiles Settings app with `SUPER+CTRL+S`, open the waybar tab, scroll down and change the browser to brave.
+
+
+
+Then execute the following command in a terminal:
+
+```sh
+xdg-settings set default-web-browser brave.desktop
+```
+
+To change the Waybar quicklink for the browser follow the instructions here https://github.com/mylinuxforwork/dotfiles/wiki/Waybar#define-your-quicklinks
+
diff --git a/docs/customization/dock.md b/docs/customization/dock.md
new file mode 100644
index 00000000..5e5f13e5
--- /dev/null
+++ b/docs/customization/dock.md
@@ -0,0 +1,18 @@
+The ML4W Dotfiles include a configuration for a dock based on nwg-dock-hyprland.
+
+
+
+You can activate it by installing the package with:
+
+```sh
+yay -S nwg-dock-hyprland
+```
+
+Then add the following command to the file `~/.config/hypr/conf/custom.conf`
+
+```sh
+exec-once = ~/.config/nwg-dock-hyprland/launch.sh
+```
+
+And login to Hyprland again.
+
diff --git a/docs/customization/dotfiles.md b/docs/customization/dotfiles.md
new file mode 100644
index 00000000..4e3db121
--- /dev/null
+++ b/docs/customization/dotfiles.md
@@ -0,0 +1,38 @@
+The ML4W Dotfiles can be customized to your personal preferences in various ways.
+
+The easiest way is using the shipped ML4W Apps. Just click on the ML4W logo an the upper right side of the status bar. This will open the sidebar with the icons of three apps.
+
+
+
+## ML4W Welcome App
+
+
+
+The ML4W Welcome App is an easy access point to several fundamental system settings.
+
+## ML4W Dotfiles Settings App
+
+
+
+The ML4W Dotfiles Settings App gives you access to Waybar settings e.g., time/date format, to toggle several waybar modules and to increase the number of workspaces. In the appearance section you can define the position of the notification daemon dunst, some rofi settings, blur effects and variations for animation and windows. In the wallpaper section you can define the wallpaper effect and clear the wallpaper cache. In system you can define the default applications, idle times, the monitor, keybindings and environment settings with configuration variations. You can extend the shipped variations with own custom variations easily. https://github.com/mylinuxforwork/dotfiles/wiki/Configuration-Variations ( // need to update this link)
+
+## ML4W Hyprland Settings App
+
+
+
+The ML4W Hyprland App enables you to customize nearly all variables of Hyprland. You can define the window border size, gaps, blur settings, shadows and much more.
+
+## Waybar Themes
+
+The ML4W Dotfiles include a selection of themes for the status bar waybar. You can also add your own themes by using the waybar starter theme. https://github.com/mylinuxforwork/dotfiles/wiki/Hook-and-Post-Installation-Scripts ( // need to update this link)
+
+## Using the custom.conf
+
+
+
+If you want to extend the Hyprland configuration directly e.g., if you want to add another autostart command, environment variable, etc. you can edit the custom.conf in `~/.config/hypr/conf/custom.conf` The custom.conf can be restored during an update. You can open the custom.conf from the ML4W Dotfiles Settings App.
+
+## Using the Installation hook.sh
+
+And you can protect files and folders from getting overwritten from an update by using the Installation Hook or with the file PROTECTED https://github.com/mylinuxforwork/dotfiles/wiki/Protect-your-configuration-and-customize-the-installation ( // need to update this link)
+
diff --git a/docs/customization/shell.md b/docs/customization/shell.md
new file mode 100644
index 00000000..36fe01fc
--- /dev/null
+++ b/docs/customization/shell.md
@@ -0,0 +1,92 @@
+**You can switch between zsh and bash with the ML4W Welcome App.**
+
+
+
+Click on Installation Options and change your shell.
+
+## Customize the .zshrc
+
+If you want to bring in additional configurations to the zsh settings you can create a file `.zshrc_custom` in your home directory.
+
+For more complex changes try the following possibilities.
+
+The .zshrc is loading the files from folder ~/.config/zshrc in the following order:
+
+* 00-init
+* 10-aliases
+* 20-customization
+* 30-autostart
+
+You can inject a custom file into the loading order. If you want to inject a file after 20-customization, create a file 25-my-additions.
+
+If you want to overwrite a shipped file, copy the file into the subfolder custom. That means if you want to add more plugins from oh-my-posh, copy the file 20-customization into the folder custom with the same file name and make your adjustments.
+
+Your customization is protected from ML4W Updates.
+
+### oh-my-zsh
+
+The zsh configuration is based on oh-my-zsh to manage plugins and oh-my-posh to setup the promt. The following plugins are installed:
+
+```sh
+plugins=(
+ git
+ sudo
+ web-search
+ archlinux
+ zsh-autosuggestions
+ zsh-syntax-highlighting
+ fast-syntax-highlighting
+ copyfile
+ copybuffer
+ dirhistory
+)
+```
+### FZF
+
+The keybinding for FZF key is `CTRL + R` for fuzzy history finder
+
+### oh-my-posh
+
+The promt is based on oh-my-posh and the awesome configuration of the minimal but powerful zen promt by Dreams of Autonomy
+
+VIDEO
+
+If you want to create your own custom theme save your configuration in `~/.config/ohmyposh` and link it like
+
+```sh
+# -----------------------------------------------------
+# oh-my-posh promt
+# -----------------------------------------------------
+# Custom Theme
+eval "$(oh-my-posh init zsh --config $HOME/.config/ohmyposh/zen.toml)"
+```
+
+You can use any oh-my-posh compatible theme by activating the following line:
+
+```sh
+# Shipped Theme
+eval "$(oh-my-posh init zsh --config /usr/share/oh-my-posh/themes/agnoster.omp.json)"
+```
+
+## Customize the .bashrc
+
+If you want to bring in additional configurations to the bash settings you can create a file .bashrc_custom in your home directory.
+
+For more complex changes try the following possibilities.
+
+The .bashrc is loading the files from folder `~/.config/bashrc` in the following order:
+
+* 00-init
+* 10-aliases
+* 20-customization
+* 30-autostart
+
+You can inject a custom file into the loading order. If you want to inject a file after 20-customization, create a file 25-my-additions.
+
+If you want to overwrite a shipped file, copy the file into the subfolder custom.
+
+Your customization is protected from ML4W Updates.
+
diff --git a/docs/customization/terminal.md b/docs/customization/terminal.md
new file mode 100644
index 00000000..6b29756d
--- /dev/null
+++ b/docs/customization/terminal.md
@@ -0,0 +1,9 @@
+**Open the ML4W Dotfiles Settings App and the tab system.**
+
+
+
+Replace alacritty with kitty and save you change.
+
+From now on kitty opens with `SUPER + Return`, clicking on the package update module or the network module.
+
+
diff --git a/docs/customization/variants.md b/docs/customization/variants.md
new file mode 100644
index 00000000..7625cba7
--- /dev/null
+++ b/docs/customization/variants.md
@@ -0,0 +1,45 @@
+**With configuration variations, you can prepare different settings and configurations for your Hyprland installation.**
+
+
+
+## How to use configuration variations
+
+Open the ML4W dotfiles settings app via the ML4W Welcome App, the application launcher or the wheel icon in Waybar.
+
+You can find several variation within the three settings pages.
+
+- Monitor (Screen Resolutions)
+- Animations
+- Keybindings
+- Windows
+- Window Rules
+- Decorations
+- Environments
+- Layout
+
+Select the variation that you want to use from the corresponding drop down menu.
+
+Please don't edit the shipped configuration variations. These will be overwritten with every update of the ML4W dotfiles. Create your own custom variation instead.
+
+## Create your own variation
+
+Open the ML4W dotfiles settings app via the ML4W Welcome App, the application launcher or the wheel icon in Waybar.
+
+Select "Open Variation Folder" from the variation context menu.
+
+
+
+Copy an existing variation as a starting point and rename the new file accordingly.
+
+
+
+Edit the configuration of your new variation and save.
+
+Go back to the ML4W dotfiles settings app and select "Reload Variations" from the variation context menu and select your new variation.
+
+
+
+You can also modify the variation from the settings app directly.
+
+
+
diff --git a/docs/customization/waybar.md b/docs/customization/waybar.md
new file mode 100644
index 00000000..c2c2bfa0
--- /dev/null
+++ b/docs/customization/waybar.md
@@ -0,0 +1,145 @@
+The status bar for the ML4W Dotfiles is **Waybar**. You can find the waybar configuration in `~/dotfiles/waybar`.
+
+### Waybar Keybindings
+
+| Keybind | Action |
+|--------|--------|
+| SUPER + CTRL + B | Toggle Waybar |
+| SUPER + SHIFT + B | Reload Waybar Theme |
+| SUPER + CTRL + T | Switch Waybar Theme via themeswitcher |
+| SUPER + CTRL + T | Open Rofi themeswitcher for Waybar |
+
+## Waybar Themes and themeswitcher
+
+| Select a theme |
+|------------------------------|
+| Use SUPER + CTRL + T (custom Hyprland key binding) to execute the `themeswitcher.sh` script. The script opens Rofi to show themes in `~/.config/waybar/themes/`. |
+
+## Define your Quicklinks
+
+The waybar status bar includes a section for quicklinks.
+
+
+
+The icon for ChatGPT and Settings are fixed. All the other icons can be customized or extended in ~/.config/ml4w/settings/waybar-quicklinks.json
+
+In the JSON file you can define up to 10 Quicklinks and add them into the quicklinks group in Waybar:
+https://github.com/mylinuxforwork/dotfiles/blob/main/share/dotfiles/.config/ml4w/settings/waybar-quicklinks.json
+
+```sh
+/*
+Define your quick links for the statusbar here.
+YOu can use icons from here https://fontawesome.com/search?ic=free
+You can reload waybar with SUPER + SHIFT + B
+*/
+{
+ "custom/quicklink_browser": {
+ "format": "",
+ "on-click": "~/.config/ml4w/settings/browser.sh",
+ "tooltip-format": "Open Browser"
+ },
+ "custom/quicklink_filemanager": {
+ "format": "",
+ "on-click": "~/.config/ml4w/settings/filemanager.sh",
+ "tooltip-format": "Open Filemanager"
+ },
+ "custom/quicklink_email": {
+ "format": "",
+ "on-click": "~/.config/ml4w/settings/filemanager.sh",
+ "tooltip-format": "Open Email Client"
+ },
+ "custom/quicklink_chromium": {
+ "format": "",
+ "on-click": "chromium",
+ "tooltip-format": "Open Chromium"
+ },
+ "custom/quicklink_edge": {
+ "format": "",
+ "on-click": "edge",
+ "tooltip-format": "Open Edge"
+ },
+ "custom/quicklink_firefox": {
+ "format": "",
+ "on-click": "firefox",
+ "tooltip-format": "Open Firefox"
+ },
+ "custom/quicklink_thunderbird": {
+ "format": "",
+ "on-click": "thunderbird",
+ "tooltip-format": "Open Thunderbird"
+ },
+ "custom/quicklink_calculator": {
+ "format": "",
+ "on-click": "~/.config/ml4w/settings/calculator.sh",
+ "tooltip-format": "Open calculator"
+ },
+/*
+Don't remove the quicklinkempty
+*/
+ "custom/quicklinkempty": {
+ },
+/*
+Add your quicklinks in your desired order to the status bar
+*/
+ "group/quicklinks": {
+ "orientation": "horizontal",
+ "modules": [
+
+ "custom/quicklink_browser",
+ "custom/quicklink_email",
+ "custom/quicklink_filemanager",
+
+/*
+Don't remove the quicklinkempty
+*/
+ "custom/quicklinkempty"
+ ]
+ }
+}
+```
+This configuration includes already a prepared quicklink for Firefox incl. the correct icon. Just activate it by removing the /* */ and remove Chromium.
+
+| Reload after changes |
+|------------------------------|
+| After changing the file, reload Waybar with SUPER + SHIFT + B . |
+
+You can find free icons of font-awesome here: https://fontawesome.com/search?o=r&m=free
+
+## Define your own config and style.css for a ML4W theme
+
+If you want to hide modules from the dotfiles ML4W themes or tweak the style, you can do this by creating a copy of the config file and name it config-custom or a copy of `style.css` and name it `style-custom.css`
+
+The waybar loader will the use your copies instead of the default files.
+
+With a personal config-custom you can also load a personal modules.json with additional modules.
+
+## Create your own theme based on the starter theme
+
+Please check the configurations of the folders in ~/dotfiles/waybar/themes/
+
+A good starting point is to copy the the waybar starter theme.
+
+Copy the folder `~/.config/waybar/themes/starter` and name the copy for example to mytheme.
+
+Open the file `~/.config/waybar/themes/mytheme/config.sh` and give your theme a name
+
+```sh
+#!/bin/bash
+theme_name="MyTheme"
+```
+
+| How to select new theme |
+|------------------------------|
+| Select your new theme by clicking the "..." icon in Waybar or using SUPER + CTRL + T . |
+
+To customize your theme, you can edit the files config, `style.css` and `modules.json`
+
+| Reload theme shortcut |
+|------------------------------|
+| You can reload the Waybar theme with SUPER + SHIFT + B . |
+
+## Waybar documentation
+
+Waybar configuration: https://github.com/Alexays/Waybar/wiki/Configuration
+Waybar Styling: https://github.com/Alexays/Waybar/wiki/Styling
+
diff --git a/docs/getting-started/install.md b/docs/getting-started/install.md
new file mode 100644
index 00000000..17f2e9fa
--- /dev/null
+++ b/docs/getting-started/install.md
@@ -0,0 +1,81 @@
+
+
+## Before you start
+
+> [!CAUTION]
+> **PLEASE BACKUP YOUR EXISTING `~/.config` FOLDER WITH YOUR DOTFILES BEFORE STARTING THE SCRIPTS FOR INITIAL INSTALLTION.**
+
+The installation script will create a backups from configurations of your .config folder that will be overwritten from the installation procedure and previous ML4W Dotfiles installation.
+
+If possible, please create a snapshot of your current system if snapper or Timeshift is installed and available.
+
+You can decide between the following packages:
+- ML4W Dotfiles Main Release (latest tagged release)
+- ML4W Dotfiles Rolling Release (main branch including the latest commits)
+
+VIDEO
+
+## Recommendation
+
+I recommend to install a base Hyprland system before installing the ML4W Hyprland Dotfiles. Then you have a stable starting point and can test Hyprland on your system before. Hyprland is complex, under ongoing development and requires additional components.
+
+On Arch Linux you can also install the Hyprland Desktop Profile first.
+
+You can find the Hyprland Installation instructions here: https://wiki.hyprland.org/Getting-Started/Installation/
+
+## Distro (based)
+
+Just copy the following command into your terminal and execute:
+
+::: code-group
+
+```sh [ Arch]
+bash -c "$(curl -s https://raw.githubusercontent.com/mylinuxforwork/dotfiles/main/setup-arch.sh)"
+```
+
+```sh [Aur Stable]
+yay -S ml4w-hyprland
+ml4w-hyprland-setup
+```
+
+```sh [Aur Rolling]
+yay -S ml4w-hyprland-git
+ml4w-hyprland-setup
+```
+
+```sh [ Fedora]
+bash -c "$(curl -s https://raw.githubusercontent.com/mylinuxforwork/dotfiles/main/setup-fedora.sh)"
+```
+
+:::
+
+### Installation folder
+
+The script will ask for an installation folder. Please enter a folder name without spaces. The script will create the folder for you and continue with the installation.
+
+You can also install multiple versions of the ML4W Dotfiles in parallel in different folders. You can switch between the folders with the included activation script (only works with 2.9.5 or higher).
+
+## Installation with GIT (Rolling Release)
+
+You can install the dotfiles by cloning the latest version (rolling release):
+
+```sh
+# 1.) Change into your Downloads folder (create the folder if not available)
+cd ~/Downloads
+
+# 2.) Clone the dotfiles repository into the Downloads folder
+git clone --depth=1 https://github.com/mylinuxforwork/dotfiles.git
+
+# 3.) Change into the dotfiles/bin folder
+cd dotfiles/bin
+
+# 4.) Start the installation
+./ml4w-hyprland-setup
+```
+
+> [!NOTE]
+> Not all features will work, when you install the dotfiles from GIT.
+
diff --git a/docs/getting-started/options.md b/docs/getting-started/options.md
new file mode 100644
index 00000000..a622b46a
--- /dev/null
+++ b/docs/getting-started/options.md
@@ -0,0 +1,19 @@
+After the successful installation of the ML4W Dotfiles for Hyprland, you can install or replace main applications with the Installation Options script:
+
+
+
+You can start the options script from the ML4W Welcome App.
+
+
+
+The following options are available:
+- Install the sddm display manager (login screen)
+- Switch between bash and zsh
+- Change between kitty and alacritty
+- Choose a file manager from nautilus, yazi or dolphin
+- Install Firefox, Chromium or Brave as your browser
+- Install pywalfox to change the color scheme of Firefox based on your wallpaper
+- Choose your system monitor between btop, htop and mission center
+
+Your choices will be automatically enabled or a restart is required.
+
diff --git a/docs/getting-started/overview.md b/docs/getting-started/overview.md
new file mode 100644
index 00000000..1e2abe27
--- /dev/null
+++ b/docs/getting-started/overview.md
@@ -0,0 +1,71 @@
+**An advanced configuration of Hyprland for Arch Linux and Fedora based distributions. This package includes an installation script to install and setup the required components.**
+
+
+
+> [!NOTE]
+> This Wiki is covering the latest features of the ML4W Dotfiles. Please make sure that the latest version of the ML4W Dotfiles is installed on your system. Follow the installation and update instructions.
+
+The package includes an installation script that will guide you through all steps of the installation or update process.
+
+https://github.com/mylinuxforwork/dotfiles/wiki/Installation
+
+The ML4W Dotfiles can be installed with the installer from the latest official release or with the latest commits from the tolling release (main branch)
+
+VIDEO
+
+## Latest features
+
+You can find the latest features in the CHANGELOG.
+https://github.com/mylinuxforwork/dotfiles/blob/main/CHANGELOG.md
+
+## Supported platforms
+
+The installation should work on all Arch Linux and Fedora based distributions.
+
+The ML4W Dotfiles are tested with the following distributions:
+
+- Arch Linux
+- EndeavourOS
+- Manjaro Linux
+- Garuda Linux
+- Arco Linux
+- CachyOS
+- Fedora Workstation 41
+
+> **For Manjaro users:** Hyprland and required packages are under ongoing development. That's why it could be possible that some packages are not immediatly available on Manjaro. But usually, the packages will be published later. Maybe you can install required packages manually.
+
+> **For Arco Linux users**: Please install hyprutils first with `yay -S extra/hyprutils`
+
+## Main packages
+
+- Terminal: kitty
+- Editor: nvim
+- Prompt: oh-my-posh
+- Wallpaper: hyprpaper with waypaper (swww optional)
+- Icons: Font Awesome
+- Launch Menus: Rofi (Wayland)
+- Color theme: pywal
+- Browsers: Firefox (Chromium and Brave optional)
+- Filemanager: Nautilus (yazi and dolphin optional)
+- Cursor: Bibata Modern Ice
+- Icons: Papirus-Icon-Theme
+- Status Bar: waybar
+- Screenshots: grim & slurp & grimblast
+- Clipboard Manager: cliphist
+- Logout: wlogout
+- Idle Manager: hypridle
+- Screenlock: hyprlock
+- Dock: nwg-dock-hyprland
+- GTK Theme Manager: nwg-look
+- QT6 Theme Manager: qt6ct
+
+
+
+
+
+> [!NOTE]
+> Every Linux distribution and setup can be different. Therefore, I cannot guarantee that the installation will work everywhere. Installation on your own risk.
+
diff --git a/docs/getting-started/uninstall.md b/docs/getting-started/uninstall.md
new file mode 100644
index 00000000..747ff6ae
--- /dev/null
+++ b/docs/getting-started/uninstall.md
@@ -0,0 +1,32 @@
+
+
+## Removing your configuration
+
+You can use the integrated uninstallation function (ML4W Dotfiles Uninstaller App) to remove the ML4W Dotfiles from your system.
+
+Please select "Uninstall Dotfiles" from the ML4W Welcome App or execute
+
+```sh
+ml4w-hyprland-setup -m uninstall
+```
+
+The ML4W Dotfiles Uninstaller will remove the dotfiles folder, related symbolic links and the desktop files of the ML4W Apps.
+
+The script will also try to restore old configurations back into .config if available and restored during the installation of the ML4W Dotfiles.
+
+## Removing the package
+
+You can use your AUR Helper to uninstall the ML4W Dotfiles:
+
+::: code-group
+
+```sh [Stable]
+yay -R ml4w-hyprland
+```
+
+```sh [Rolling]
+yay -R ml4w-hyprland-git
+```
+
+:::
+
diff --git a/docs/getting-started/update.md b/docs/getting-started/update.md
new file mode 100644
index 00000000..b4fd6b29
--- /dev/null
+++ b/docs/getting-started/update.md
@@ -0,0 +1,62 @@
+Start the ML4W Welcome App. You will see a notification when an update is available. You can start the update or re-installation of the ML4W Dotfiles at any time.
+
+> [!NOTE]
+> you can create a backup of your existing configuration with the backup feature of the install script. It's recommended to remove the folder ~/dotfiles only after creating a backup.
+
+## Update from the Welcome App
+
+You can start the update directly from the ML4W Welcome App. Select Update/Reinstall your ML4W Dotfiles.
+
+
+
+
+## Update with your AUR Helper
+
+You can use your AUR Helper to update the packages on your system.
+
+```sh
+yay
+```
+After the installation, you can start the update with the command
+
+```sh
+ml4w-hyprland-setup
+```
+
+The script will ask for an installation folder. Please enter a folder name without spaces. The script will create the folder for you and continue with the installation.
+
+You can also install multiple versions of the ML4W Dotfiles in parallel in different folders. You can switch between the folders with the included activation script (only works with 2.9.5 or higher).
+
+## Update from previous versions (older than 2.9.6)
+
+The suggested way to update from a version older than 2.9.6 is the installation as AUR with your preferred AUR Helper.
+
+```sh
+# Download the latest version (main release)
+yay -S ml4w-hyprland
+
+# Start the setup
+ml4w-hyprland-setup
+```
+
+## Update with GIT
+
+Please follow the steps to update from earlier dotfiles versions to 2.8.3
+
+```sh
+# 1.) Remove existing downloaded dotfiles
+rm -rf ~/Downloads/dotfiles
+
+# 2.) Change into your Downloads folder
+cd ~/Downloads
+
+# 3.) Clone the dotfiles repository into the Downloads folder
+git clone --depth=1 https://github.com/mylinuxforwork/dotfiles.git
+
+# 4.) Change into the dotfiles folder
+cd dotfiles/bin
+
+# 5.) Start the installation
+./ml4w-hyprland-setup
+
+```
diff --git a/docs/getting-started/vm-install.md b/docs/getting-started/vm-install.md
new file mode 100644
index 00000000..483a93fd
--- /dev/null
+++ b/docs/getting-started/vm-install.md
@@ -0,0 +1,47 @@
+In virt-manager please make sure that 3D acceleration is enabled in Video Virtio and the Listen type is set to None in Display Spice.
+
+### 🖱️ VM Mouse & Display Support (Hyprland Guest)
+
+| Keybind | Action |
+|--------|--------|
+| SUPER + CTRL + S | Open Hyprland Settings |
+| *(Inside Settings → Environments)* | Select `kvm.conf` for better VM support |
+
+---
+
+### 💻 When ML4W Dotfiles is the Host
+
+| Keybind | Action |
+|--------|--------|
+| SUPER + P | Pass the SUPER key to the virtual machine |
+## Troubleshooting for Hyprland 0.45.2
+
+The current version 0.45.2 isn't working in a Virtual Machine (See https://github.com/hyprwm/aquamarine/issues/109)
+
+You have to downgrade to an older version 0.45.0.
+
+You can do this with the package downgrade
+
+```sh
+yay -S downgrade
+```
+
+Then downgrade the packages:
+
+```sh
+sudo downgrade aquamarine
+# Select: aquamarine 0.4.5-1
+```
+
+```sh
+sudo downgrade hyprland
+# Select: hyprland 0.45.0-1
+```
+
+After downgrading, add both packages to IgnorePkg in your pacman.conf to prevent automatic updates.
+
+Then start the installation of the Dotfiles with:
+
+```sh
+yay -S ml4w-hyprland
+```
diff --git a/docs/help/troubleshooting.md b/docs/help/troubleshooting.md
new file mode 100644
index 00000000..30a901f3
--- /dev/null
+++ b/docs/help/troubleshooting.md
@@ -0,0 +1,169 @@
+# Globbing errors on startup
+
+
+
+Please change the wallpaper with `SUPER+SHIFT+W`.
+
+If this doesn't fix it please open the application launcher and start waypaper.
+
+Select any other wallpaper and reboot your system.
+
+The issue should be solved.
+
+## Issues with SDDM Sequoia Theme
+
+If you notice an error with the new Sequoia theme, you can uninstall the theme with
+
+```sh
+sudo rm -rf /usr/share/sddm/themes/sequoia
+```
+
+## Check that all key packages and commands are available
+
+The ML4W Welcome App includes a system diagnosis feature available in the menu with the three dots.
+
+Or open the script in a terminal with
+
+```sh
+ml4w-diagnosis
+```
+
+Please run the diagnosis to see if all essential packages and related commands are available on your system.
+
+If not, you need to install the missing packages manually.
+
+## At the end of the update from earlier versions to 2.9.5 or higher I see an error message in the terminal
+
+This is not a problem. Just reboot as suggested after the update and the error message is gone.
+
+From 2.9.5 onwards the ML4W Dotfiles will be installed in a new file structure and the starship.toml has been moved to another location.
+
+## Waybar is not loading
+
+The effect that waybar isn't loading usually happens after a fresh installation of the ML4W Dotfiles. The reason is the start of the xdg-desktop-portal-gtk process. It also can happen when you start Hyprland from tty the second time.
+
+If waybar is not loading, the first thing that you should try is to reboot your system and try again.
+
+You can open a terminal with `SUPER+Return` and enter wlogout.
+
+If it's still not working please try to uninstall `xdg-desktop-portal-gtk`
+
+```sh
+sudo pacman -R xdg-desktop-portal-gtk
+```
+
+Reboot your system again.
+
+Waybar should working now but you will loose the dark mode in Libadwaita apps e.g., nautilus. The ML4W Apps will still work in dark mode.
+
+Then try to install it again with
+
+```sh
+sudo pacman -S xdg-desktop-portal-gtk
+```
+
+Please also make sure that `xdg-desktop-portal-gnome` is not installed in parallel to `xdg-desktop-portal-gtk`. Please try to remove the package then.
+
+If there is still this issue, please uninstall `xdg-desktop-portal-gtk`. If dark mode is required install dolphin, qt6ct and enable breeze and darker colors to get a filemanager in dark mode.
+
+## No dark theme on GTK4 apps
+
+The package xdg-desktop-portal-gtk is not installed.
+
+Can be installed with the Post Installation Script from the ML4W Welcome App - 3 dots menu.
+
+Or with
+
+```sh
+sudo pacman -S xdg-desktop-portal-gtk
+```
+
+And then reboot your system.
+
+## Add noto-fonts-cjk to ml4w-hyprland-git Dependencies for Proper CJK Character Rendering
+
+On Arch Linux, Chinese, Japanese, and Korean (CJK) characters display as unreadable squares or pixelated text in some applications.
+
+Install the noto-fonts-cjk package with:
+
+```sh
+sudo pacman -S noto-fonts-cjk
+```
+
+This package provides proper rendering for CJK characters across the system.
+
+## rofi (application launcher) is not working
+
+If the installation of rofi-wayland fails in the installation/update procedure please try to install it manually:
+
+```sh
+yay -S rofi-wayland
+```
+
+If rofi-wayland isn't available please try rofi:
+
+```sh
+yay -S rofi
+```
+
+## hypridle and hyprlock is not starting after an update of the dotfiles
+
+Please make sure that hypridle and hyprlock has been installed successfully with
+
+```sh
+yay -S hypridle hyprlock
+```
+
+If there is an file conflict the remove the files manually with:
+
+```sh
+sudo rm /usr/lib/debug/usr/bin/hypridle.debug
+sudo rm /usr/lib/debug/usr/bin/hyprlock.debug
+```
+
+and start the installation again with
+
+```sh
+yay -S hypridle hyprlock
+```
+
+## GTK apps not using dark theme
+
+Please try to install xdg-desktop-portal-gtk
+
+```sh
+sudo pacman -S xdg-desktop-portal-gtk
+```
+
+You can also try to remove xdg-desktop-portal-gtk and reinstall it again.
+
+## Missing icons in waybar
+
+In case of missing icons on waybar, it's due to a conflict between several installed fonts (can happen especially on Arco Linux). Please make sure that ttf-ms-fonts is uninstalled and ttf-font-awesome and otf-font-awesome are installed with
+
+```sh
+yay -R ttf-ms-fonts
+yay -S ttf-font-awesome otf-font-awesome
+```
+
+## SDDM not showing (only black screen with cursor)
+
+Switch to another tty with `CTRL + ALT + F3` Now you can login with your user.
+
+Start Hyprland with Hyprland.
+
+You can try to reinstall all sddm related packages.
+
+```sh
+yay -S sddm-git sddm-sugar-candy-git
+```
+
+Or you can install another display manager.
+
+To stop, disable and remove sddm service.
+
+```sh
+sudo systemctl stop sddm.service
+sudo systemctl disable sddm.service
+sudo rm /etc/systemd/system/display-manager.service
+```
diff --git a/docs/index.md b/docs/index.md
new file mode 100644
index 00000000..a05d9def
--- /dev/null
+++ b/docs/index.md
@@ -0,0 +1,107 @@
+---
+layout: home
+pageClass: home-page
+
+hero:
+ name: The ML4W Dotfiles for Hyprland
+ image:
+ src: /ml4w.png
+ alt: Linux logo
+ style: "width: 200px; height: auto;"
+ tagline: An advanced and full-featured configuration for the dynamic tiling window manager Hyprland including an easy to use installation script for Arch and Fedora based Linux distributions.
+ actions:
+ - theme: brand
+ text: Get Started
+ link: /getting-started/overview
+ - theme: alt
+ text: Install
+ link: /getting-started/install
+ - theme: alt
+ text: GitHub ↗
+ link: https:/github.com/mylinuxforwork/dotfiles
+
+features:
+ - icon:
+ title: One Script to Rule Them All
+ details: Includes a powerful installation script to automate everything on Arch or Fedora based systems.
+
+ - icon:
+ title: Designed for Arch & Fedora
+ details: Fully compatible with both Arch and Fedora, with intelligent behavior based on the detected system.
+
+ - icon:
+ title: Dynamic Themes & Desktop
+ details: Experience a complete desktop with Hyprland, dynamic material themes, and deep customization via dotfiles.
+
+ - icon:
+ title: Easy to Customize
+ details: Comes with helpful graphical apps to configure your setup, change themes, and tweak your environment.
+
+metaTitle: "The ML4W Dotfiles for Hyprland"
+description: An advanced and full-featured configuration for the dynamic tiling window manager Hyprland including an easy to use installation script for Arch and Fedora based Linux distributions.
+---
+
+
+
+
+
+
diff --git a/docs/ml4w-apps/dotfiles-app.md b/docs/ml4w-apps/dotfiles-app.md
new file mode 100644
index 00000000..be38f8ae
--- /dev/null
+++ b/docs/ml4w-apps/dotfiles-app.md
@@ -0,0 +1,19 @@
+You can open the ML4W dotfiles settings app with `SUPER + CTRL + S` to change selected dotfiles configurations and choose from variations for your hyprland.conf to customize your desktop even more.
+
+
+
+You can create custom variations by copying a file from the `~/dotfiles/hypr/conf` subfolders like `monitor/default.conf`, give the file a custom name (e.g., mymonitor.conf) and select the variation in the dotfiles settings app in the corresponding section.
+
+> [!IMPORTANT]
+> The ML4W Dotfiles Settings App replaces strings from several configuration files directly or based on replacement comments e.g., // START WORKSPACES That's why you shouldn't remove any of theses comments or markers to ensure full functionality of the app.
+
+You can also edit the file custom.conf which is included at the bottom of the hyprland.conf and can hold you personal configurations.
+
+You can find the sourcecode of the ML4W Dotfiles Settings App in this repository:
+https://github.com/mylinuxforwork/dotfiles-settings
+
+You can also start the Dotfiles App from the terminal with
+
+```sh
+ml4w-settings
+```
diff --git a/docs/ml4w-apps/hyprland-app.md b/docs/ml4w-apps/hyprland-app.md
new file mode 100644
index 00000000..896d1e79
--- /dev/null
+++ b/docs/ml4w-apps/hyprland-app.md
@@ -0,0 +1,22 @@
+**This applications supports you to customize your Hyprland installation. You can overwrite the existing configuration with custom values without adding complex configuration files.**
+
+
+
+You can start the application from the application launcher, the ML4W Sidebar by clicking the ML4W Logo or from the welcome app.
+
+The app shows variables and current values of your running Hyprland.
+
+You can change the values and overwrite the existing values. The change will be executed immediately.
+
+In the Set Variables tab you can see which values you have overwritten and can restore the old values be removing the entry.
+
+You can also start the Hyprland App from the terminal with
+
+```sh
+ml4w-hyprland
+```
+
+You can find the sourcecode of the ML4W Hyprland Settings App in this repository:
+
+https://github.com/mylinuxforwork/hyprland-settings
+
diff --git a/docs/ml4w-apps/sidebar.md b/docs/ml4w-apps/sidebar.md
new file mode 100644
index 00000000..35e76082
--- /dev/null
+++ b/docs/ml4w-apps/sidebar.md
@@ -0,0 +1,10 @@
+With the ML4W Sidebar you have access to all included ML4W Applications and some system information.
+
+You can also start the sidebar from the terminal with
+```sh
+ml4w-sidebar
+```
+
+
+
+
diff --git a/docs/ml4w-apps/welcome.md b/docs/ml4w-apps/welcome.md
new file mode 100644
index 00000000..8842fa3b
--- /dev/null
+++ b/docs/ml4w-apps/welcome.md
@@ -0,0 +1,29 @@
+**After starting the ML4W dotfiles for the first time, the ML4W Welcome App opens. This app is the starting point to discover the Hyprland setup.**
+
+
+
+You can also start the Welcome App from the terminal with
+
+```sh
+ml4w
+```
+The welcome screen includes the most important keybindings to open a terminal or a browser.
+
+You can start the ML4W Welcome App by clicking on the L icon on the right side in waybar, using the rofi application launcher or by typing ml4w in your terminal (if you're using the .bashrc from the dotfiles).
+
+In the Settings Menu you can access the following functions:
+
+- Update Wallpaper: Opens the wallpaper selector
+- Change Waybar Theme: Opens the waybar theme switcher and gives access to the available themes for the waybar status bar
+- Change GTK Theme: Opens nwg-look to select the theme for GTK 3 applications incl. widgets, icons and cursors
+- Refresh GTK Settings: Reloads the Hyprland GTK configuration (required when changing the mouse cursor)
+- Hyprland Settings: Opens the Hyprland Settings script to customize the look and feel, environment variables, monitor resolution, etc.
+- Network Settings: Select your network configuration incl. WiFi
+- Update your System: Starts the terminal application to update your Arch packages (pacman & yay)
+- Cleanup your System: Removes old orphans and cached files generated during previous installations
+- Reload Waybar: Reloads the waybar
+- Toggle Waybar: You can hide or show waybar when you want to try our other status bars.
+
+You can find the sourcecode of the ML4W Welcome App in this repository:
+https://github.com/mylinuxforwork/dotfiles-welcome
+
diff --git a/docs/public/bar.png b/docs/public/bar.png
new file mode 100644
index 00000000..9626ec39
Binary files /dev/null and b/docs/public/bar.png differ
diff --git a/docs/public/browser.png b/docs/public/browser.png
new file mode 100644
index 00000000..e8cd7942
Binary files /dev/null and b/docs/public/browser.png differ
diff --git a/docs/public/config-var.png b/docs/public/config-var.png
new file mode 100644
index 00000000..7e5d50fe
Binary files /dev/null and b/docs/public/config-var.png differ
diff --git a/docs/public/cs.png b/docs/public/cs.png
new file mode 100644
index 00000000..e39caefb
Binary files /dev/null and b/docs/public/cs.png differ
diff --git a/docs/public/cs1.png b/docs/public/cs1.png
new file mode 100644
index 00000000..6236a850
Binary files /dev/null and b/docs/public/cs1.png differ
diff --git a/docs/public/cs2.png b/docs/public/cs2.png
new file mode 100644
index 00000000..2f7860c2
Binary files /dev/null and b/docs/public/cs2.png differ
diff --git a/docs/public/cs3.png b/docs/public/cs3.png
new file mode 100644
index 00000000..4714119a
Binary files /dev/null and b/docs/public/cs3.png differ
diff --git a/docs/public/cs4.png b/docs/public/cs4.png
new file mode 100644
index 00000000..25f69a31
Binary files /dev/null and b/docs/public/cs4.png differ
diff --git a/docs/public/dock.png b/docs/public/dock.png
new file mode 100644
index 00000000..803f4004
Binary files /dev/null and b/docs/public/dock.png differ
diff --git a/docs/public/dot-settings.png b/docs/public/dot-settings.png
new file mode 100644
index 00000000..d6657f13
Binary files /dev/null and b/docs/public/dot-settings.png differ
diff --git a/docs/public/game-mode.png b/docs/public/game-mode.png
new file mode 100644
index 00000000..d96f7452
Binary files /dev/null and b/docs/public/game-mode.png differ
diff --git a/docs/public/hypr-setting.png b/docs/public/hypr-setting.png
new file mode 100644
index 00000000..50b7d637
Binary files /dev/null and b/docs/public/hypr-setting.png differ
diff --git a/docs/public/install-option.png b/docs/public/install-option.png
new file mode 100644
index 00000000..cda30b1b
Binary files /dev/null and b/docs/public/install-option.png differ
diff --git a/docs/public/install-option1.png b/docs/public/install-option1.png
new file mode 100644
index 00000000..ede539c8
Binary files /dev/null and b/docs/public/install-option1.png differ
diff --git a/docs/public/install.png b/docs/public/install.png
new file mode 100644
index 00000000..30debd30
Binary files /dev/null and b/docs/public/install.png differ
diff --git a/docs/public/ml4w-preview.png b/docs/public/ml4w-preview.png
new file mode 100644
index 00000000..97f672d3
Binary files /dev/null and b/docs/public/ml4w-preview.png differ
diff --git a/docs/public/ml4w.png b/docs/public/ml4w.png
new file mode 100644
index 00000000..7560b5e8
Binary files /dev/null and b/docs/public/ml4w.png differ
diff --git a/docs/public/monitor.png b/docs/public/monitor.png
new file mode 100644
index 00000000..c1412e03
Binary files /dev/null and b/docs/public/monitor.png differ
diff --git a/docs/public/monitor1.png b/docs/public/monitor1.png
new file mode 100644
index 00000000..1726e259
Binary files /dev/null and b/docs/public/monitor1.png differ
diff --git a/docs/public/monitor2.png b/docs/public/monitor2.png
new file mode 100644
index 00000000..f9b3fcec
Binary files /dev/null and b/docs/public/monitor2.png differ
diff --git a/docs/public/overview-2.png b/docs/public/overview-2.png
new file mode 100644
index 00000000..d506aad7
Binary files /dev/null and b/docs/public/overview-2.png differ
diff --git a/docs/public/overview-3.png b/docs/public/overview-3.png
new file mode 100644
index 00000000..4a35ac6b
Binary files /dev/null and b/docs/public/overview-3.png differ
diff --git a/docs/public/overview.png b/docs/public/overview.png
new file mode 100644
index 00000000..586f41fe
Binary files /dev/null and b/docs/public/overview.png differ
diff --git a/docs/public/power-lock.png b/docs/public/power-lock.png
new file mode 100644
index 00000000..af6ade0a
Binary files /dev/null and b/docs/public/power-lock.png differ
diff --git a/docs/public/screenshot.png b/docs/public/screenshot.png
new file mode 100644
index 00000000..90a6798c
Binary files /dev/null and b/docs/public/screenshot.png differ
diff --git a/docs/public/screenshot1.png b/docs/public/screenshot1.png
new file mode 100644
index 00000000..ff223c9b
Binary files /dev/null and b/docs/public/screenshot1.png differ
diff --git a/docs/public/screenshot2.png b/docs/public/screenshot2.png
new file mode 100644
index 00000000..16654762
Binary files /dev/null and b/docs/public/screenshot2.png differ
diff --git a/docs/public/shell.png b/docs/public/shell.png
new file mode 100644
index 00000000..6236a850
Binary files /dev/null and b/docs/public/shell.png differ
diff --git a/docs/public/sidebar.png b/docs/public/sidebar.png
new file mode 100644
index 00000000..aa20ef2f
Binary files /dev/null and b/docs/public/sidebar.png differ
diff --git a/docs/public/ss.png b/docs/public/ss.png
new file mode 100644
index 00000000..586f41fe
Binary files /dev/null and b/docs/public/ss.png differ
diff --git a/docs/public/ss/ss.png b/docs/public/ss/ss.png
new file mode 100644
index 00000000..586f41fe
Binary files /dev/null and b/docs/public/ss/ss.png differ
diff --git a/docs/public/ss/ss1.png b/docs/public/ss/ss1.png
new file mode 100644
index 00000000..d506aad7
Binary files /dev/null and b/docs/public/ss/ss1.png differ
diff --git a/docs/public/ss/ss2.png b/docs/public/ss/ss2.png
new file mode 100644
index 00000000..4a35ac6b
Binary files /dev/null and b/docs/public/ss/ss2.png differ
diff --git a/docs/public/ss1.png b/docs/public/ss1.png
new file mode 100644
index 00000000..d506aad7
Binary files /dev/null and b/docs/public/ss1.png differ
diff --git a/docs/public/ss2.png b/docs/public/ss2.png
new file mode 100644
index 00000000..4a35ac6b
Binary files /dev/null and b/docs/public/ss2.png differ
diff --git a/docs/public/terminal.png b/docs/public/terminal.png
new file mode 100644
index 00000000..fcadc9a3
Binary files /dev/null and b/docs/public/terminal.png differ
diff --git a/docs/public/troubleshoot.png b/docs/public/troubleshoot.png
new file mode 100644
index 00000000..cf6d7881
Binary files /dev/null and b/docs/public/troubleshoot.png differ
diff --git a/docs/public/uninstall.png b/docs/public/uninstall.png
new file mode 100644
index 00000000..b154a9ea
Binary files /dev/null and b/docs/public/uninstall.png differ
diff --git a/docs/public/update.png b/docs/public/update.png
new file mode 100644
index 00000000..984b75f3
Binary files /dev/null and b/docs/public/update.png differ
diff --git a/docs/public/var2.png b/docs/public/var2.png
new file mode 100644
index 00000000..7e5d50fe
Binary files /dev/null and b/docs/public/var2.png differ
diff --git a/docs/public/var3.png b/docs/public/var3.png
new file mode 100644
index 00000000..6801b462
Binary files /dev/null and b/docs/public/var3.png differ
diff --git a/docs/public/var4.png b/docs/public/var4.png
new file mode 100644
index 00000000..d32e5f44
Binary files /dev/null and b/docs/public/var4.png differ
diff --git a/docs/public/var5.png b/docs/public/var5.png
new file mode 100644
index 00000000..518104e0
Binary files /dev/null and b/docs/public/var5.png differ
diff --git a/docs/public/wall-effect.png b/docs/public/wall-effect.png
new file mode 100644
index 00000000..1f8a190e
Binary files /dev/null and b/docs/public/wall-effect.png differ
diff --git a/docs/public/wall-sddm.png b/docs/public/wall-sddm.png
new file mode 100644
index 00000000..51037880
Binary files /dev/null and b/docs/public/wall-sddm.png differ
diff --git a/docs/public/wallpapers.png b/docs/public/wallpapers.png
new file mode 100644
index 00000000..3fa837d8
Binary files /dev/null and b/docs/public/wallpapers.png differ
diff --git a/docs/public/welcome.png b/docs/public/welcome.png
new file mode 100644
index 00000000..e022c9ca
Binary files /dev/null and b/docs/public/welcome.png differ
diff --git a/docs/qtile/qtile.md b/docs/qtile/qtile.md
new file mode 100644
index 00000000..0d1c2b97
--- /dev/null
+++ b/docs/qtile/qtile.md
@@ -0,0 +1,5 @@
+Qtile has been seperated from the ML4W Dotfiles for Hyprland.
+You can find the configuration here:
+
+https://github.com/mylinuxforwork/qtile
+
diff --git a/docs/showcases/Showcase.vue b/docs/showcases/Showcase.vue
new file mode 100644
index 00000000..125b66cf
--- /dev/null
+++ b/docs/showcases/Showcase.vue
@@ -0,0 +1,108 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
{{ title }}
+
+
+
+
+
diff --git a/docs/showcases/Showcases.vue b/docs/showcases/Showcases.vue
new file mode 100644
index 00000000..22371424
--- /dev/null
+++ b/docs/showcases/Showcases.vue
@@ -0,0 +1,70 @@
+
+
+
+
+
+
+
diff --git a/docs/showcases/index.md b/docs/showcases/index.md
new file mode 100644
index 00000000..d56ed8f0
--- /dev/null
+++ b/docs/showcases/index.md
@@ -0,0 +1,11 @@
+---
+layout: home
+---
+
+
+
+
+
+
diff --git a/docs/showcases/showcases.ts b/docs/showcases/showcases.ts
new file mode 100644
index 00000000..1893647e
--- /dev/null
+++ b/docs/showcases/showcases.ts
@@ -0,0 +1,65 @@
+type Showcase = {
+ image: string
+ title: string
+}
+
+const showcases: Showcase[] = [
+ {
+ image: "/dotfiles/ss/ss.png",
+ title: "",
+ },
+ {
+ image: "/dotfiles/ss/ss1.png",
+ title: "",
+ },
+ {
+ image: "/dotfiles/ss/ss2.png",
+ title: "",
+ },
+ {
+ image: "/dotfiles/dock.png",
+ title: "",
+ },
+ {
+ image: "/dotfiles/ml4w-preview.png",
+ title: "",
+ },
+ {
+ image: "/dotfiles/uninstall.png",
+ title: "",
+ },
+ {
+ image: "/dotfiles/update.png",
+ title: "",
+ },
+ {
+ image: "/dotfiles/cs4.png",
+ title: "",
+ },
+ {
+ image: "/dotfiles/wallpapers.png",
+ title: "",
+ },
+ {
+ image: "/dotfiles/cs1.png",
+ title: "",
+ },
+ {
+ image: "/dotfiles/sidebar.png",
+ title: "",
+ },
+ {
+ image: "/dotfiles/cs.png",
+ title: "",
+ },
+ {
+ videoUrl: "https://www.youtube.com/embed/sVFnd5LAYAc",
+ title: ""
+ },
+ {
+ videoUrl: "https://www.youtube.com/embed/dxiX3E5B8bU",
+ title: ""
+ },
+]
+
+export default showcases
diff --git a/docs/usage/game-mode.md b/docs/usage/game-mode.md
new file mode 100644
index 00000000..08c22faf
--- /dev/null
+++ b/docs/usage/game-mode.md
@@ -0,0 +1,14 @@
+You can toggle a game mode to increase the performance in gaming situations.
+
+### 🎛️ Effects & Animations
+
+| Keybind | Action |
+|--------|--------|
+| SUPER + ALT + G | Disable Hyprland animations and window blur |
+
+With the same key binding you can bring back the effects.
+
+The gamemode can also be toggled in the ML4W Settings App.
+
+
+
diff --git a/docs/usage/keybindings.md b/docs/usage/keybindings.md
new file mode 100644
index 00000000..68a97567
--- /dev/null
+++ b/docs/usage/keybindings.md
@@ -0,0 +1,32 @@
+Here are the most important keybindings that you need to know to start with the ML4W Dotfiles and Hyprland:
+
+### 🖥️ Window & Workspace Management
+
+| Keybind | Action |
+|--------|--------|
+| SUPER + 1 ‒5 | Switch to Workspace 1–5 |
+| SUPER + T | Toggle floating/tiling window |
+| SUPER + 🖱️ Left Click | Move window |
+| SUPER + 🖱️ Right Click | Resize window |
+
+### 💻 Applications & Utilities
+
+| Keybind | Action |
+|--------|--------|
+| SUPER + RETURN | Open Alacritty terminal |
+| SUPER + B | Open Firefox |
+| SUPER + CTRL + RETURN | Launch `rofi` app launcher |
+| SUPER + CTRL + S | Launch ML4W settings script |
+
+### 🖼️ UI & Environment
+
+| Keybind | Action |
+|--------|--------|
+| SUPER + SHIFT + W | Change wallpaper |
+| SUPER + SHIFT + B | Reload Waybar |
+| SUPER + PRINT | Take a screenshot |
+| SUPER + CTRL + Q | Open logout screen |
+
+All keybindings for Hyprland with right mouse click on Apps in waybar or here:
+
+- [Hyprland keybindings overview](https://github.com/mylinuxforwork/dotfiles/blob/main/share/dotfiles/.config/hypr/conf/keybindings/default.conf)
diff --git a/docs/usage/launch.md b/docs/usage/launch.md
new file mode 100644
index 00000000..eb39989c
--- /dev/null
+++ b/docs/usage/launch.md
@@ -0,0 +1,21 @@
+## Launch Hyprland with sddm
+
+The recommended way to launch the ML4W Dotfiles for Hyprland is with the Display Manager sddm.
+
+The Dotfiles installation script will offer to install the display manager SDDM (https://github.com/sddm/sddm) + a configuration for the SDDM theme sdd-sugar-candy (https://github.com/Kangie/sddm-sugar-candy).
+
+With the Hyprland settings script you can copy the current wallpaper into SDDM and use it as a background.
+
+## Launch Hyprland from TTY
+
+You can also start Hyprland from the command line with
+
+```sh
+# Start Hyprland
+Hyprland
+```
+
+You can install a custom tty login issue (layout) with the Dotfiles installer or later with the ML4W Welcome App.
+
+Please check the troubleshooting section in case of issues.
+
diff --git a/docs/usage/power-lock.md b/docs/usage/power-lock.md
new file mode 100644
index 00000000..5ae3471a
--- /dev/null
+++ b/docs/usage/power-lock.md
@@ -0,0 +1,10 @@
+Hypridle will start Hyprlock after 10 minutes of inactivity and will try to suspend one minutes later.
+
+In the ML4W Dotfiles Settings App you can define the timeouts for Hyprlock, suspend and DPSM.
+
+
+
+The selected hypridle configuration can be restored from the ML4W installer during a dotfiles update.
+
+The ML4W Dotfiles are using the recommended configuration from https://wiki.hyprland.org/Hypr-Ecosystem/hypridle/
+
diff --git a/docs/usage/screenshots.md b/docs/usage/screenshots.md
new file mode 100644
index 00000000..d4b08d16
--- /dev/null
+++ b/docs/usage/screenshots.md
@@ -0,0 +1,30 @@
+The ML4W Dotfiles are shipped with grimblast. You can open the screenshot menu with SUPER + PRINT
+
+Please follow the screenshot wizzard.
+
+
+
+## Change the screenshot directory
+
+By default screenshots will be stored in the $HOME/Pictures directory.
+
+To change the screenshot folder, open `~/.config/ml4w/settings/screenshot-folder.sh`
+
+## Change the screenshot filename format
+
+By default screenshots will be stored in the $HOME/Pictures directory.
+
+To change the screenshot folder, open `~/.config/ml4w/settings/screenshot-filename.sh`
+
+## Screenshot Editor
+
+If you select edit as the last option the created screenshot will be opened in Pinta. Pinta allows basic imaging editing tasks.
+
+
+
+You can change the screenshot editor in the ML4W Settings App:
+
+
+
+For example if you want to use swappy enter `spappy -f`. If you want to use gimp enter `gimp`
+
diff --git a/docs/usage/wallpapers.md b/docs/usage/wallpapers.md
new file mode 100644
index 00000000..2bfc7304
--- /dev/null
+++ b/docs/usage/wallpapers.md
@@ -0,0 +1,74 @@
+# Wallpaper with hyprpaper and Pywal (swww optional supported)
+
+Included is a pywal configuration that changes the color scheme based on a randomly selected wallpaper. With the key binding below you can change the wallpaper stored in the folder `~/wallpaper/`.
+
+### 🎨 Wallpaper Keybindings
+
+| Keybind | Action |
+|--------|--------|
+| SUPER + SHIFT + W | Change wallpaper (random from `~/wallpaper/`) |
+| SUPER + CTRL + W | Open Waypaper with wallpaper thumbnails |
+| SUPER + ALT + W | Start/Stop wallpaper automation |
+
+> [!NOTE]
+> Please make sure you don't have a space in the file name. Pywal will then not be able to generate the color scheme.
+
+
+
+> In waypaper you can select a wallpaper from any folder of your system.
+
+> The default wallpaper engine is **hyprpaper**. But you can optionally install **swww** manually and switch in the ML4W Dotfiles Settings app from hyprpaper to swww.
+
+>Open the ML4W Dotfiles Settings app and select the tab system. At the top you can find the Wallpaper Engine Selector.
+
+> [!NOTE]
+> A logout and login is required to activate the new wallpaper application.
+
+The hyprpaper engine uses a template stored in `dotfiles/.settings/hyprpaper.tpl`. You can add additional configurations there. The `WALLPAPER` placeholder will be replaced with the current wallpaper.
+
+## Wallpaper Automation
+
+You can activate an automated wallpaper change with the key binding above. The automated wallpaper process can be stopped with the same key binindg.
+
+The delay time in seconds between the wallpaper change (default 60 seconds) can be set in `~/.config/ml4w/settings/wallpaper-automation.sh`
+
+## Wallpaper Effects
+
+You can enable wallpaper effects to completely change the visualization of your selected wallpaper. Right click on the wallpaper icon in waybar will open a menu to select the wallpaper effect.
+
+
+
+You can add you own effects in the folder `/dotfiles/hypr/effects/wallpaper`
+
+You can execute multiple magick commands. $wallpaper is the selected wallpaper, $used_wallpaper the executed wallpaper.
+
+```sh
+magick $wallpaper -negate $used_wallpaper
+magick $used_wallpaper -brightness-contrast -20% $used_wallpaper
+```
+
+## Wallpaper Cache
+
+Generated versions of a wallpaper will be cached in the folder `~/.config/ml4w/cache/wallpaper-generated`
+This will speed up the switch between wallpapers if cached files exist.
+
+You can disable the cache in the ML4W Settings App.
+
+You can clear the cache in the ML4W Settings App or with
+
+```sh
+~/.config/hypr/scripts/wallpaper-cache.sh
+```
+
+You can regenerate the version of the current wallpaper by switching of the cache in the settings app and select the same wallpaper again.
+
+## Wallpaper for sddm
+
+You can set the current used wallpaper as background image for the display manager sddm by using the shown function in the ML4W Sidebar App:
+
+
+
+## The ML4W Wallpaper repository
+
+You can download more wallpapers here: https://github.com/mylinuxforwork/wallpaper/blob/main/README.md
+
diff --git a/package.json b/package.json
new file mode 100644
index 00000000..e124798b
--- /dev/null
+++ b/package.json
@@ -0,0 +1,16 @@
+{
+ "name": "ml4w-hyprland-wiki",
+ "type": "module",
+ "dependencies": {
+ "bun": "^1.2.5",
+ "devicon": "^2.16.0"
+ },
+ "devDependencies": {
+ "vitepress": "^1.6.3"
+ },
+ "scripts": {
+ "docs:dev": "vitepress dev docs",
+ "docs:build": "vitepress build docs",
+ "docs:preview": "vitepress preview docs"
+ }
+}