Merge branch 'NotAShelf:main' into feature/ruby

This commit is contained in:
Yoni Firroloni 2023-07-25 15:46:51 +02:00 committed by GitHub
commit adf027b154
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
27 changed files with 511 additions and 139 deletions

View file

@ -30,22 +30,21 @@ Here are the overall boundaries I would like you to follow while contributing to
#### Documentation
If you are making a pull request to add a
If you are making a pull request to add a
#### Style
**Nix**
We use Alejandra for formatting nix code, which can be invoked directly with `nix fmt` in the repository.
We use Alejandra for formatting nix code, which can be invoked directly by running `nix fmt` in the repository.
While Alejandra is mostly opinionated on how code looks after formatting, certain formattings are done at the user's discretion.
Please use one line code for attribute sets that contain only one subset.
For example:
```nix
```nix
# parent modules should always be unfolded
module = {
module = {
value = mkEnableOption "some description" // { default = true; };
# same as parent modules, unfold submodules
subModule = {
@ -65,15 +64,16 @@ If you move a line down after the merge operator, Alejandra will automatically u
module = {
key = mkEnableOption "some description" // {
default = true; # we want this to be inline
};
};
# ...
}
```
For lists, it's up mostly to your discretion but please try to avoid unfolded lists if there is only one item in the list.
```nix
# ok
# ok
acceptableList = [
item1
item2
@ -85,10 +85,11 @@ acceptableList = [
listToBeAvoided = [item1 item2 item3 item4];
```
*This will be moved elsewhere, disregard unless you are adding a new plugin with keybinds*
_This will be moved elsewhere, disregard unless you are adding a new plugin with keybinds_
#### Keybinds
##### Custom key mappings support for a plugin
##### Custom key mappings support for a plugin
To add custom keymappings to a plugin, a couple of helper functions are available in the project.
@ -237,5 +238,3 @@ in {
```
If you have come across a plugin that has an API that doesn't seem to easily allow custom keybindings, don't be scared to implement a draft PR. We'll help you get it done.

View file

@ -7,7 +7,7 @@ body:
id: no-duplicate-issues
attributes:
label: "⚠️ Please verify that this bug has NOT been reported before."
description: "Search in the issues sections by clicking [HERE](https://github.com/notashelf/neovim-flake4/issues?q=)"
description: "Search in the issues sections by clicking [HERE](https://github.com/notashelf/neovim-flake/issues?q=)"
options:
- label: "I checked all existing issues and didn't find a similar issue"
required: true

View file

@ -18,11 +18,10 @@ Please delete any options that are not relevant.
## Checklist
Please try to check at least a majority of the checklist before opening your pull request. PRs
Exceptions to this will be reviewed on a case by case basis.
Please try to check at least a majority of the checklist before opening your pull request. Exceptions to this will be reviewed on a case by case basis.
- [ ] My code follows the style and contributing guidelines of this project.
- [ ] I ran Alejandra to format my code.
- [ ] I ran Alejandra to format my code (`nix fmt`).
- [ ] I have performed a self-review of my own code and tested it.
- [ ] I have commented my code, particularly in hard-to-understand areas.
- [ ] My changes generate no new warnings.

14
.github/README.md vendored
View file

@ -1,4 +1,7 @@
<h1 align="center">neovim-flake</h1>
<div align="center">
<img src="../assets/neovim-flake-logo-work.svg" alt="Logo" width="200">
</div>
<h1 align="center">❄️ neovim-flake</h1>
<div align="center">
<p>
<a href="https://github.com/NotAShelf/neovim-flake/releases/latest">
@ -49,7 +52,7 @@
</p></div>
[Get Started]: #try-it-out
[Get Started]: #get-started
[Documentation]: #documentation
[Help]: #help
[Contribute]: #contributing
@ -60,7 +63,7 @@
## Get Started
### Using `nix`
### Using `nix` CLI
If you would like to try out the configuration before even thinking about installing it, you can run:
@ -104,8 +107,7 @@ I am always looking for new ways to help improve this flake. If you would like t
The philosophy behind this flake configuration is to create an easily configurable and reproducible Neovim environment. While it does sacrifice in size
(which I know some users will find _disagreeable_), it offers a lot of flexibility and customizability in exchange for the large size of the flake inputs.
The KISS (Keep it simple, stupid) principle has been abandoned here, however, you _can_ ultimately leverage the flexibility of this flake to declare a configuration that follows KISS principles, it is very easy to bring your own plugins and configurations from non-nix. What this flake is meant to be does eventually fall into your hands. Whether you are a developer, writer, or live coder, you can quickly craft a config that suits every project's need. Think of it like a distribution of Neovim that takes advantage of pinning vim plugins and
third party dependencies (such as tree-sitter grammars, language servers, and more).
The KISS (Keep it simple, stupid) principle has been abandoned here, however, you _can_ ultimately leverage the flexibility of this flake to declare a configuration that follows KISS principles, it is very easy to bring your own plugins and configurations from non-nix. What this flake is meant to be does eventually fall into your hands. Whether you are a developer, writer, or live coder, you can quickly craft a config that suits every project's need. Think of it like a distributionof Neovim that takes advantage of pinning vim plugins and third party dependencies (such as tree-sitter grammars, language servers, and more).
One should never get a broken config when setting options. If setting multiple options results in a broken Neovim, file an issue! Each plugin knows when another plugin which allows for smart configuration of keybindings and automatic setup of things like completion sources and languages.
@ -142,6 +144,8 @@ Special thanks to
- [@FlafyDev](https://github.com/FlafyDev) - For getting the home-manager to work
- [@n3oney](https://github.com/n3oney) - For making custom keybinds finally possible
- [@horriblename](https://github.com/horriblename) - For actively implementing planned features and quality of life updates
- [@Yavko](https://github.com/Yavko) - For the amazing neovim-flake logo
- [@FrothyMarrow](https://github.com/FrothyMarrow) - For seeing mistakes that I could not
and everyone who has submitted issues or pull requests!

View file

@ -11,15 +11,16 @@ on:
- .gitignore
jobs:
cahix:
cachix:
runs-on: ubuntu-latest
strategy:
matrix:
package:
- default
- nix
- tidal
- maximal
- default
- nix
- tidal
- maximal
steps:
- uses: easimon/maximize-build-space@v6
with:
@ -30,7 +31,7 @@ jobs:
- uses: actions/checkout@v3
- uses: cachix/install-nix-action@v20
with:
extra_nix_config: |
extra_nix_config: |
access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}
auto-optimise-store = true
experimental-features = nix-command flakes

View file

@ -20,10 +20,11 @@ jobs:
extra_nix_config: |
access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}
- run: nix flake check
format-with-alejandra:
name: Formatting via Alejandra
runs-on: ubuntu-latest
steps:
steps:
- uses: actions/checkout@v3
- uses: cachix/install-nix-action@v20
with:
@ -32,4 +33,3 @@ jobs:
auto-optimise-store = true
experimental-features = nix-command flakes
- run: nix run nixpkgs#alejandra -- -c .

Binary file not shown.

Before

Width:  |  Height:  |  Size: 169 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 99 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 171 KiB

View file

@ -0,0 +1,337 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="1024.0px"
height="1024.0px"
viewBox="0 0 1024.0 1024.0"
version="1.1"
id="SVGRoot"
sodipodi:docname="neovim-flake-logo-work.svg"
xml:space="preserve"
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
inkscape:export-filename="neovim-flake-logo-work.png"
inkscape:export-xdpi="192"
inkscape:export-ydpi="192"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:sketch="http://www.bohemiancoding.com/sketch/ns"><sodipodi:namedview
id="namedview137"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="px"
showgrid="true"
inkscape:zoom="1.9264815"
inkscape:cx="300.80745"
inkscape:cy="711.14099"
inkscape:window-width="1586"
inkscape:window-height="854"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="g512"><inkscape:grid
type="xygrid"
id="grid260" /></sodipodi:namedview><defs
id="defs132" /><g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(7.3379908)"><g
id="mark-copy-3"
sketch:type="MSLayerGroup"
transform="matrix(1.3509343,0,0,1.3509343,109.63415,20.93539)"
style="fill:none;fill-rule:evenodd;stroke:none;stroke-width:1"
inkscape:label="neovim"><path
d="M 0,155.43721 26.165945,129 155,320.99795 V 727 L 0,572.20185 Z"
id="Left---green"
fill="#3c92d2"
sketch:type="MSShapeGroup"
style="display:none;fill:none;stroke:#000000;stroke-width:1.00005;stroke-dasharray:4.00019, 4.00019;stroke-dashoffset:0;stroke-opacity:1" /><path
d="M 443.0604,156.91391 600,-1 V 403.29728 L 468.70494,601 c 0,-2e-5 -26.70494,-29.02858 -26.70494,-29.02858 z"
id="Right---blue"
fill="#57a143"
sketch:type="MSShapeGroup"
transform="matrix(-1,0,0,1,1042,0)"
style="fill:#5277c3;fill-opacity:1" /><path
d="M 154.98629,0 558,615.1897 445.2246,728 42,114.17202 Z"
id="Cross---blue"
fill="#57a143"
sketch:type="MSShapeGroup"
style="fill:#5277c3;fill-opacity:1" /></g><g
id="g512"
transform="matrix(0.35010832,-0.08848653,0.08848653,0.35010832,83.167574,703.8016)"
inkscape:label="nix"><path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#5277c3;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 153.64365,261.87905 122.19683,211.6751 -56.15706,0.5268 -32.6236,-56.8692 -32.85645,56.5653 -27.90237,-0.011 -14.29086,-24.6896 46.81047,-80.4902 -33.22946,-57.8256 z"
id="path4861"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccccc" /><path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#7ebae4;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 205.51757,159.08479 -122.217549,211.6631 -28.53477,-48.37 32.93839,-56.6875 -65.41521,-0.1719 -13.9414003,-24.1698 14.2363703,-24.721 93.111759,0.2939 33.46371,-57.6903 z"
id="use4863"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccccc" /><path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#7ebae4;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 559.95763,470.48373 -127.56228,208.48565 -27.29506,-49.08023 34.36968,-55.83127 -65.3896,-1.83579 -13.32205,-24.51664 14.86014,-24.35117 93.07415,2.66241 34.92043,-56.82041 z"
id="use4865"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccccc" /><path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#7ebae4;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="M 146.03038,-199.32531 270.01639,11.306802 213.86582,12.309416 180.76151,-44.281315 148.38554,12.560356 120.48407,12.78578 105.98452,-11.781845 152.1113,-92.665792 118.39307,-150.20777 Z"
id="use4867"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccccc" /><path
sodipodi:nodetypes="cccccccccc"
inkscape:connector-curvature="0"
id="use4875"
d="m 89.581649,20.875296 244.404701,2.179856 -28.0549,48.64993 -65.55782,-0.763253 32.05423,57.023701 -14.17469,24.03374 -28.52637,-0.22129 -45.58297,-81.191634 -66.68935,-0.726773 z"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#5277c3;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /><path
sodipodi:nodetypes="cccccccccc"
inkscape:connector-curvature="0"
id="path323"
d="m 327.28649,504.6143 121.01253,212.35431 -56.15914,0.21312 -32.30547,-57.05058 -33.17183,56.38091 -27.90185,-0.16713 -14.15279,-24.76906 47.25936,-80.22742 -32.90598,-58.01033 z"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#5277c3;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /><path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#7ebae4;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 411.07626,935.54923 -121.10092,-212.30396 56.159,-0.23648 32.32922,57.03711 33.14836,-56.39467 27.90193,0.15556 14.1635,24.76284 -47.2259,80.2471 32.93002,57.99663 z"
id="path325"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccccc" /><path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#7ebae4;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 385.90982,225.0327 -121.21911,212.23652 -28.76229,-48.23507 32.67094,-56.84203 -65.41529,0.13632 -14.05538,-24.10372 14.11979,-24.78785 93.11215,-0.14469 33.19156,-57.84738 z"
id="path327"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccccc" /><path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#5277c3;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 674.91348,-553.22851 -118.82208,-213.58774 56.15834,0.3645 31.71696,57.37978 33.75002,-56.03674 27.89869,0.45383 13.89723,24.91329 -48.08198,79.73717 32.30755,58.34568 z"
id="path333"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccccc" /><path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#7ebae4;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 634.82635,-476.4644 129.805,-207.09676 26.7638,49.37196 -34.97032,55.45708 65.36605,2.54148 13.05666,24.65897 -15.12254,24.18906 -93.04001,-3.66674 -35.53162,56.44017 z"
id="path335"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccccc" /><path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#7ebae4;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 701.81095,-773.0647 -244.27503,-8.25213 29.25507,-47.93774 65.51859,2.39195 -30.62742,-57.80253 14.76753,-23.67409 28.51206,0.92978 43.55145,82.29916 66.6507,2.38369 z"
id="path337"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccccc" /><path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#7ebae4;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="M 534.10194,-49.175564 413.88932,-261.9838 l 56.15952,-0.002 32.09053,57.17172 33.38383,-56.25568 27.90107,0.27184 14.0594,24.82213 -47.5609,80.04906 32.68742,58.133735 z"
id="path339"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccccc" /><path
sodipodi:nodetypes="cccccccccc"
inkscape:connector-curvature="0"
id="path343"
d="m 536.33323,-466.85014 244.41419,-0.31425 -27.55699,48.93369 -65.56217,-0.0943 32.63446,56.69367 -13.92873,24.1771 -28.52714,0.0696 -46.4091,-80.72227 -66.69328,-0.0462 z"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#5277c3;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /><path
sodipodi:nodetypes="cccccccccc"
inkscape:connector-curvature="0"
id="path347"
d="m 582.55142,-1002.7644 -125.73904,209.59036 -27.72213,-48.84029 33.88147,-56.12897 -65.40317,-1.2653 -13.53539,-24.39955 14.64765,-24.47965 93.09382,1.85052 34.42351,-57.12282 z"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#5277c3;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /><path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#7ebae4;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 406.67308,-963.4434 128.52312,-207.8945 27.06824,49.2057 -34.62695,55.6719 65.38031,2.1376 13.2088,24.578 -14.97232,24.2822 -93.06089,-3.092 -35.18233,56.65855 z"
id="path349"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccccc" /><path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#7ebae4;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 439.61785,-527.12134 122.19792,-211.67447 28.53925,48.36739 -32.93311,56.69056 65.41523,0.16576 13.94392,24.16836 -14.2341,24.72238 -93.11186,-0.28529 -33.45833,57.69347 z"
id="path351"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccccc" /><path
sodipodi:nodetypes="cccccccccc"
inkscape:connector-curvature="0"
id="path390"
d="m 574.57876,-205.54903 120.94423,212.3932551 -56.1592,0.19508 -32.28707,-57.0609401 -33.19007,56.3701901 -27.9018,-0.17611 -14.14478,-24.7735401 47.28515,-80.212294 -32.88729,-58.020881 z"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#5277c3;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /><path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#7ebae4;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 605.6129,-31.101852 -118.47728,213.779222 56.15768,-0.45511 31.62434,-57.43088 33.84039,55.98219 27.89791,-0.49883 13.85702,-24.9357 -48.21058,-79.659462 32.21336,-58.39776 z"
id="path477"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccccc" /><path
sodipodi:nodetypes="cccccccccc"
inkscape:connector-curvature="0"
id="path479"
d="m 519.13585,88.673566 -244.414,0.450188 27.70991,48.847236 65.56155,-0.29926 -32.45699,56.79544 14.00401,24.13359 28.52725,-0.0197 46.15641,-80.86703 66.69282,-0.25482 z"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#5277c3;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /><path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#7ebae4;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 465.78071,-145.53792 -118.47728,213.779222 56.15768,-0.45511 31.62434,-57.43088 33.84039,55.98219 27.89791,-0.49883 13.85702,-24.9357 -48.21058,-79.65946 32.21336,-58.39776 z"
id="path481"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccccc" /><path
sodipodi:nodetypes="cccccccccc"
inkscape:connector-curvature="0"
id="path483"
d="m 445.63646,-120.65044 -244.414,0.45019 27.70991,48.84723 65.56155,-0.29926 -32.45699,56.79544 14.00401,24.1335899 28.52725,-0.0197 46.15641,-80.8670299 66.69282,-0.25482 z"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#5277c3;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /><path
sodipodi:nodetypes="cccccccccc"
inkscape:connector-curvature="0"
id="path485"
d="m 450.581,-561.55057 -121.74321,-211.93632 56.15806,-0.40652 32.50173,56.93893 32.97752,-56.49481 27.90229,0.0708 14.23795,24.72014 -46.98275,80.38976 33.10553,57.89664 z"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#5277c3;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /><path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#7ebae4;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 235.63458,-674.63084 114.45087,215.96157 30.27239,-47.30195 -30.85817,-57.84621 65.3783,2.20371 14.81015,-23.64744 -13.3293,-25.22175 -93.06109,-3.0874 -31.34672,-58.86749 z"
id="path487"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccccc" /><path
sodipodi:nodetypes="cccccccccc"
inkscape:connector-curvature="0"
id="path489"
d="m 504.25224,-285.59898 -118.19863,-213.93328 -29.44314,47.82253 31.86202,57.29943 -65.40679,-1.06357 -14.39533,23.90221 13.76698,24.9855 93.1007,1.46452 32.3683,58.31192 z"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#5277c3;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /><path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#7ebae4;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 365.82804,-342.73199 -118.47728,213.77923 56.15768,-0.45511 31.62434,-57.43088 33.84039,55.98219 27.89791,-0.49883 13.85702,-24.9357 -48.21058,-79.65946 32.21336,-58.39776 z"
id="path536"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccccc" /><path
sodipodi:nodetypes="cccccccccc"
inkscape:connector-curvature="0"
id="path538"
d="m 337.30822,-303.55232 -244.392252,3.29262 28.276142,48.52168 65.55363,-1.06172 -31.79429,57.16908 14.28375,23.9691 28.52509,-0.35146 45.21283,-81.39836 66.68534,-1.03042 z"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#5277c3;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /><path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#7ebae4;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 210.76195,-520.17587 122.0095,211.78314 -56.15749,0.47713 -32.57329,-56.89802 -32.90646,56.53619 -27.90235,-0.0357 -14.26903,-24.70225 46.88166,-80.44874 -33.17828,-57.855 z"
id="path540"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccccc" /><path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#7ebae4;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 626.7509,-524.34886 -244.37586,4.33567 28.48296,48.4005 65.54844,-1.34147 -31.54985,57.3041 14.38612,23.9078 28.52325,-0.47259 44.86501,-81.59057 66.68033,-1.31508 z"
id="path542"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccccc" /><path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#7ebae4;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 334.64877,-992.45299 121.78544,211.91209 -56.15795,0.41775 -32.51314,-56.93249 -32.96621,56.50139 -27.90231,-0.0652 -14.24287,-24.71731 46.96673,-80.39915 -33.11709,-57.89004 z"
id="path544"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccccc" /><path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#7ebae4;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 646.67402,-88.588449 125.23502,-209.891881 -56.14364,-1.33614 -33.43988,56.39309 -32.03774,-57.03297 -27.89965,-0.39117 -14.64521,24.48107 45.6455,81.15654 -34.05946,57.34066 z"
id="path548"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccccc" /><path
sodipodi:nodetypes="cccccccccc"
inkscape:connector-curvature="0"
id="path1280"
d="m 416.21399,-1000.3871 131.05761,-206.3064 -56.08428,-2.9062 -35.00437,55.4357 -30.4296,-57.9071 -27.87787,-1.1711 -15.32435,24.0618 43.35724,82.4016 -35.65013,56.3655 z"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#5277c3;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /><path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#7ebae4;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 367.07097,418.20651 -116.75727,214.72344 -29.76404,-47.62346 31.47592,-57.51239 -65.39816,1.50336 -14.55603,-23.80473 13.59867,-25.07751 93.0888,-2.09054 31.97541,-58.52838 z"
id="path341"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccccc" /><path
sodipodi:nodetypes="cccccccccc"
inkscape:connector-curvature="0"
id="path439"
d="m 404.08324,516.02663 127.5655,-208.48364 27.29434,49.08069 -34.3706,55.83075 65.38964,1.83677 13.3217,24.51681 -14.86102,24.35073 -93.0741,-2.6639 -34.92128,56.81995 z"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#5277c3;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
inkscape:transform-center-x="4.1251657"
inkscape:transform-center-y="-15.067768" /><path
sodipodi:nodetypes="cccccccccc"
inkscape:connector-curvature="0"
id="path441"
d="m 312.17463,411.34504 122.39988,-211.55768 28.49308,48.39462 -32.98721,56.65911 65.41503,0.22815 13.92059,24.18179 -14.25769,24.70882 -93.11146,-0.37421 -33.5134,57.66155 z"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#5277c3;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
inkscape:transform-center-x="4.0073197"
inkscape:transform-center-y="-14.510559" /><path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#7ebae4;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 601.3078,405.45748 -118.56517,-213.73049 56.15786,0.43203 31.64795,57.41784 33.81737,-55.9961 27.89812,0.48738 13.86725,24.92999 -48.17779,79.67928 32.23736,58.38451 z"
id="path459"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccccc" /></g><g
id="g1494"
transform="matrix(0.03248377,-0.10280872,0.10280872,0.03248377,216.08334,554.68283)"><path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#5277c3;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 309.40365,-710.2521 122.19683,211.6751 -56.15706,0.5268 -32.6236,-56.8692 -32.85645,56.5653 -27.90237,-0.011 -14.29086,-24.6896 46.81047,-80.4902 -33.22946,-57.8256 z"
id="path4861-7"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccccc"
transform="translate(-132.5822,958.04022)" /><path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#7ebae4;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 353.50926,-797.4433 -122.21756,211.6631 -28.53477,-48.37 32.93839,-56.6875 -65.41521,-0.1719 -13.9414,-24.1698 14.23637,-24.721 93.11177,0.2939 33.46371,-57.6903 z"
id="use4863-0"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccccc"
transform="translate(-132.5822,958.04022)" /><path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#7ebae4;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 362.88537,-628.243 244.41439,0.012 -27.62229,48.8968 -65.56199,-0.1817 32.55876,56.7371 -13.96098,24.1585 -28.52722,0.032 -46.3013,-80.7841 -66.69317,-0.1353 z"
id="use4865-9"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccccc"
transform="translate(-132.5822,958.04022)" /><path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#7ebae4;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 505.14318,-720.9886 -122.19683,-211.6751 56.15706,-0.5268 32.6236,56.8692 32.85645,-56.5653 27.90237,0.011 14.29086,24.6896 -46.81047,80.4902 33.22946,57.8256 z"
id="use4867-3"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccccc"
transform="translate(-132.5822,958.04022)" /><path
sodipodi:nodetypes="cccccccccc"
inkscape:connector-curvature="0"
id="path4873-6"
d="m 309.40365,-710.2521 122.19683,211.6751 -56.15706,0.5268 -32.6236,-56.8692 -32.85645,56.5653 -27.90237,-0.011 -14.29086,-24.6896 46.81047,-80.4902 -33.22946,-57.8256 z"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#5277c3;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
transform="translate(-132.5822,958.04022)" /><path
sodipodi:nodetypes="cccccccccc"
inkscape:connector-curvature="0"
id="use4875-0"
d="m 451.3364,-803.53264 -244.4144,-0.012 27.62229,-48.89685 65.56199,0.18175 -32.55875,-56.73717 13.96097,-24.15851 28.52722,-0.0315 46.3013,80.78414 66.69317,0.13524 z"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#5277c3;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
transform="translate(-132.5822,958.04022)" /><path
sodipodi:nodetypes="cccccccccc"
inkscape:connector-curvature="0"
id="use4877-6"
d="m 460.87178,-633.8425 122.21757,-211.66304 28.53477,48.37003 -32.93839,56.68751 65.4152,0.1718 13.9414,24.1698 -14.23636,24.7211 -93.11177,-0.294 -33.46371,57.6904 z"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#5277c3;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
transform="translate(-132.5822,958.04022)" /></g><g
id="g457"
transform="matrix(0.01666345,-0.0830552,0.0830552,0.01666345,166.8393,777.96731)"><path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#5277c3;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 309.40365,-710.2521 122.19683,211.6751 -56.15706,0.5268 -32.6236,-56.8692 -32.85645,56.5653 -27.90237,-0.011 -14.29086,-24.6896 46.81047,-80.4902 -33.22946,-57.8256 z"
id="path443"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccccc"
transform="translate(-132.5822,958.04022)" /><path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#7ebae4;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 353.50926,-797.4433 -122.21756,211.6631 -28.53477,-48.37 32.93839,-56.6875 -65.41521,-0.1719 -13.9414,-24.1698 14.23637,-24.721 93.11177,0.2939 33.46371,-57.6903 z"
id="path445"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccccc"
transform="translate(-132.5822,958.04022)" /><path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#7ebae4;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 362.88537,-628.243 244.41439,0.012 -27.62229,48.8968 -65.56199,-0.1817 32.55876,56.7371 -13.96098,24.1585 -28.52722,0.032 -46.3013,-80.7841 -66.69317,-0.1353 z"
id="path447"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccccc"
transform="translate(-132.5822,958.04022)" /><path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#7ebae4;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 505.14318,-720.9886 -122.19683,-211.6751 56.15706,-0.5268 32.6236,56.8692 32.85645,-56.5653 27.90237,0.011 14.29086,24.6896 -46.81047,80.4902 33.22946,57.8256 z"
id="path449"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccccc"
transform="translate(-132.5822,958.04022)" /><path
sodipodi:nodetypes="cccccccccc"
inkscape:connector-curvature="0"
id="path451"
d="m 309.40365,-710.2521 122.19683,211.6751 -56.15706,0.5268 -32.6236,-56.8692 -32.85645,56.5653 -27.90237,-0.011 -14.29086,-24.6896 46.81047,-80.4902 -33.22946,-57.8256 z"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#5277c3;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
transform="translate(-132.5822,958.04022)" /><path
sodipodi:nodetypes="cccccccccc"
inkscape:connector-curvature="0"
id="path453"
d="m 451.3364,-803.53264 -244.4144,-0.012 27.62229,-48.89685 65.56199,0.18175 -32.55875,-56.73717 13.96097,-24.15851 28.52722,-0.0315 46.3013,80.78414 66.69317,0.13524 z"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#5277c3;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
transform="translate(-132.5822,958.04022)" /><path
sodipodi:nodetypes="cccccccccc"
inkscape:connector-curvature="0"
id="path455"
d="m 460.87178,-633.8425 122.21757,-211.66304 28.53477,48.37003 -32.93839,56.68751 65.4152,0.1718 13.9414,24.1698 -14.23636,24.7211 -93.11177,-0.294 -33.46371,57.6904 z"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#5277c3;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
transform="translate(-132.5822,958.04022)" /></g></g></svg>

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 246 KiB

View file

@ -203,7 +203,10 @@ inputs: let
};
vim.assistant = {
copilot.enable = isMaximal;
copilot = {
enable = isMaximal;
cmp.enable = isMaximal;
};
};
vim.session = {

View file

@ -1,77 +0,0 @@
[[ch-hm-module]]
== Home Manager
The Home Manager module allows us to customize the different `vim` options. To use it, we first add the input flake.
[source,nix]
----
{
neovim-flake = {
url = github:notashelf/neovim-flake;
# you can override input nixpkgs
inputs.nixpkgs.follows = "nixpkgs";
};
}
----
Followed by importing the HM module.
[source,nix]
----
{
imports = [ neovim-flake.homeManagerModules.default ];
}
----
Then we should be able to use the given module. E.g.
[source,nix]
----
{
programs.neovim-flake = {
enable = true;
# your settings need to go into the settings attrset
settings = {
vim.viAlias = false;
vim.vimAlias = true;
vim.lsp = {
enable = true;
};
};
};
}
----
=== Custom vim plugins
It's possible to add custom vim plugins by using the startPlugins and lua DAG settings. First we install the plugin by adding it to startPlugins. This example uses nvim-surround, but the process will be similar for other plugins as well.
[source,nix]
----
{
programs.neovim-flake = {
enable = true;
settings = {
vim.startPlugins = [ pkgs.vimPlugins.nvim-surround ];
};
};
}
----
Then we continue by requiring the plugin in lua using DAG settings. Please note that you're able to name this setting to however you want, the name will add a `--SECTION <name>` in the init.vim, under which it will be initialized.
[source,nix]
----
{
programs.neovim-flake = {
enable = true;
settings = {
vim.startPlugins = [ pkgs.vimPlugins.nvim-surround ];
luaConfigRC.nvim-surround = nvim-flake.lib.nvim.dag.entryAnywhere '' # nvim-flake is a reference to the flake. Please change this accordingly to your config.
require("nvim-surround").setup()
'';
};
};
}
----

View file

@ -65,7 +65,9 @@ https://github.com/notashelf[notashelf]:
* Added a module for enabling Neovim's spellchecker
* Replaced prettier with prettierd - the daemonized version of prettier
* Added prettierd as an alternative formatter to prettier - currently defaults to prettier
* Fixed presence.nvim inheriting the wrong client id
* Cleaned up documentation

View file

@ -0,0 +1,21 @@
[[sec-release-0.5]]
== Release 0.5
[[sec-release-0.5-changelog]]
=== Changelog
https://github.com/horriblename[horriblename]:
* Add transparency support for tokyonight theme.
* Fix bug where cmp's close and scrollDocs mappings wasn't working.
https://github.com/amanse[amanse]:
* Add daily notes options for obsidian plugin
https://github.com/notashelf[notashelf]:
* Add GitHub Copilot to completion sources

24
flake.lock generated
View file

@ -224,6 +224,22 @@
"type": "github"
}
},
"copilot-cmp": {
"flake": false,
"locked": {
"lastModified": 1683831407,
"narHash": "sha256-+MzEGnhlrYRvAfskOwmw69OC1CsPXt7s3z+xPe9XPqs=",
"owner": "zbirenbaum",
"repo": "copilot-cmp",
"rev": "c2cdb3c0f5078b0619055af192295830a7987790",
"type": "github"
},
"original": {
"owner": "zbirenbaum",
"repo": "copilot-cmp",
"type": "github"
}
},
"copilot-lua": {
"flake": false,
"locked": {
@ -919,16 +935,15 @@
"nvim-bufferline-lua": {
"flake": false,
"locked": {
"lastModified": 1666171880,
"narHash": "sha256-hueIGT7KOhca0kP0M1nUYzBrzMz+DpuZSOt5iyuEa40=",
"lastModified": 1689661992,
"narHash": "sha256-0BJXUDGeUhPALEnPgO4ix+GgI/3P/Foiqi0tf2mgUXg=",
"owner": "akinsho",
"repo": "nvim-bufferline.lua",
"rev": "e70be6232f632d16d2412b1faf85554285036278",
"rev": "d24378edc14a675c820a303b4512af3bbc5761e9",
"type": "github"
},
"original": {
"owner": "akinsho",
"ref": "v3.0.1",
"repo": "nvim-bufferline.lua",
"type": "github"
}
@ -1353,6 +1368,7 @@
"cmp-vsnip": "cmp-vsnip",
"codewindow-nvim": "codewindow-nvim",
"comment-nvim": "comment-nvim",
"copilot-cmp": "copilot-cmp",
"copilot-lua": "copilot-lua",
"crates-nvim": "crates-nvim",
"dashboard-nvim": "dashboard-nvim",

View file

@ -181,7 +181,7 @@
# Tablines
nvim-bufferline-lua = {
url = "github:akinsho/nvim-bufferline.lua?ref=v3.0.1";
url = "github:akinsho/nvim-bufferline.lua";
flake = false;
};
@ -481,6 +481,11 @@
flake = false;
};
copilot-cmp = {
url = "github:zbirenbaum/copilot-cmp";
flake = false;
};
# Session management
nvim-session-manager = {
url = "github:Shatur/neovim-session-manager";

View file

@ -87,6 +87,7 @@ with lib; let
"nvim-surround"
"nvim-dap"
"nvim-dap-ui"
"copilot-cmp"
];
# You can either use the name of the plugin or a package.
pluginsType = with types;

View file

@ -21,16 +21,21 @@ with builtins; let
'';
in {
config = mkIf cfg.enable {
vim.startPlugins = [
"copilot-lua"
cfg.copilotNodePackage
];
vim.startPlugins =
[
"copilot-lua"
cfg.copilotNodePackage
]
++ lib.optionals (cfg.cmp.enable) [
"copilot-cmp"
];
vim.luaConfigRC.copilot = nvim.dag.entryAnywhere ''
require("copilot").setup({
-- available options: https://github.com/zbirenbaum/copilot.lua
copilot_node_command = "${cfg.copilot_node_command}",
copilot_node_command = "${cfg.copilotNodeCommand}",
panel = {
enabled = ${lib.boolToString (!cfg.cmp.enable)},
keymap = {
jump_prev = false,
jump_next = false,
@ -44,6 +49,7 @@ in {
},
},
suggestion = {
enabled = ${lib.boolToString (!cfg.cmp.enable)},
keymap = {
accept = false,
accept_word = false,
@ -54,6 +60,10 @@ in {
},
},
})
${lib.optionalString (cfg.cmp.enable) ''
require("copilot_cmp").setup()
''}
'';
vim.maps.normal = mkMerge [

View file

@ -10,6 +10,7 @@ with builtins; let
in {
options.vim.assistant.copilot = {
enable = mkEnableOption "GitHub Copilot AI assistant";
cmp.enable = mkEnableOption "nvim-cmp integration for GitHub Copilot";
panel = {
position = mkOption {
@ -91,16 +92,22 @@ in {
};
};
copilot_node_command = mkOption {
copilotNodeCommand = mkOption {
type = types.str;
default = "${lib.getExe cfg.copilotNodePackage}";
description = "Path to nodejs";
description = ''
The command that will be executed to initiate nodejs for GitHub Copilot.
Recommended to leave as default.
'';
};
copilotNodePackage = mkOption {
type = with types; nullOr package; # TODO - maybe accept a path as well? imperative users might want to use something like nvm
default = pkgs.nodejs-slim; # this will likely need to be downgraded because Copilot does not stay up to date with NodeJS
description = "The package that will be used for Copilot. NodeJS v18 is recommended.";
type = with types; nullOr package;
default = pkgs.nodejs-slim;
description = ''
The nodeJS package that will be used for GitHub Copilot. If you are using a custom node command
you may want to set this option to null so that the package is not pulled from nixpkgs.
'';
};
};
}

View file

@ -49,6 +49,7 @@ in {
"buffer" = "[Buffer]";
"crates" = "[Crates]";
"path" = "[Path]";
"copilot" = "[Copilot]";
};
vim.maps.insert = mkMerge [
@ -106,17 +107,13 @@ in {
end
'')
(mkSetLuaBinding mappings.close ''
require('cmp').mapping.abort
require('cmp').mapping.abort()
'')
(mkSetLuaBinding mappings.scrollDocsUp ''
function()
require('cmp').mapping.scroll_docs(-4)
end
require('cmp').mapping.scroll_docs(-4)
'')
(mkSetLuaBinding mappings.scrollDocsDown ''
function()
require('cmp').mapping.scroll_docs(4)
end
require('cmp').mapping.scroll_docs(4)
'')
];
@ -125,17 +122,13 @@ in {
require('cmp').complete
'')
(mkSetLuaBinding mappings.close ''
require('cmp').mapping.close
require('cmp').mapping.close()
'')
(mkSetLuaBinding mappings.scrollDocsUp ''
function()
require('cmp').mapping.scroll_docs(-4)
end
require('cmp').mapping.scroll_docs(-4)
'')
(mkSetLuaBinding mappings.scrollDocsDown ''
function()
require('cmp').mapping.scroll_docs(4)
end
require('cmp').mapping.scroll_docs(4)
'')
];
@ -182,6 +175,8 @@ in {
'')
];
# TODO: alternative snippet engines to vsnip
# https://github.com/hrsh7th/nvim-cmp/blob/main/doc/cmp.txt#L82
vim.luaConfigRC.completion = mkIf (cfg.type == "nvim-cmp") (dagPlacement ''
local nvim_cmp_menu_map = function(entry, vim_item)
-- name for each source
@ -195,19 +190,30 @@ in {
${optionalString lspkindEnabled ''
lspkind_opts.before = ${cfg.formatting.format}
''}
local cmp = require'cmp'
cmp.setup({
window = {
-- TODO: at some point, those need to be optional
-- but first nvim cmp module needs to be detached from "cfg.autocomplete"
completion = cmp.config.window.bordered(),
documentation = cmp.config.window.bordered(),
},
snippet = {
expand = function(args)
vim.fn["vsnip#anonymous"](args.body)
end,
},
sources = {
${builtSources}
},
completion = {
completeopt = 'menu,menuone,noinsert',
},
formatting = {
format =
${

View file

@ -23,7 +23,7 @@ with builtins; let
};
# TODO: specify packages
defaultFormat = "prettierd";
defaultFormat = "prettier";
formats = {
prettier = {
package = pkgs.nodePackages.prettier;

View file

@ -23,6 +23,18 @@ in {
if (auto.type == "nvim-cmp")
then "true"
else "false"
}
},
daily_notes = {
folder = ${
if (cfg.daily-notes.folder == "")
then "nil,"
else "'${cfg.daily-notes.folder}',"
}
date_format = ${
if (cfg.daily-notes.date-format == "")
then "nil,"
else "'${cfg.daily-notes.date-format}',"
}
}
})

View file

@ -14,6 +14,19 @@ with builtins; {
description = "Obsidian vault directory";
};
daily-notes = {
folder = mkOption {
type = types.str;
default = "";
description = "Directory in which daily notes should be created";
};
date-format = mkOption {
type = types.str;
default = "";
description = "Date format used for creating daily notes";
};
};
completion = {
nvim_cmp = mkOption {
# if using nvim-cmp, otherwise set to false

View file

@ -22,9 +22,10 @@ with builtins; {
client_id = mkOption {
type = types.str;
default = "859194972255989790";
default = "79327144129396737";
description = "Client ID of the application";
};
auto_update = mkOption {
type = types.bool;
default = true;

View file

@ -18,6 +18,9 @@
style ? "night",
transparent,
}: ''
require('tokyonight').setup {
transparent = ${lib.boolToString transparent};
}
vim.cmd[[colorscheme tokyonight-${style}]]
'';
styles = ["day" "night" "storm" "moon"];

View file

@ -23,8 +23,17 @@ in {
DEBUG = "${cfg.icons.DEBUG}",
TRACE = "${cfg.icons.TRACE}",
},
}
-- required to fix offset_encoding errors
local notify = vim.notify
vim.notify = function(msg, ...)
if msg:match("warning: multiple different client offset_encodings") then
return
end
notify(msg, ...)
end
'';
};
}