Quick save
BIN
public/graphical-installer1.png
Normal file
|
After Width: | Height: | Size: 585 KiB |
BIN
public/graphical-installer2.png
Normal file
|
After Width: | Height: | Size: 291 KiB |
BIN
public/home-icon.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
public/hyprland-wiki.png
Normal file
|
After Width: | Height: | Size: 370 KiB |
BIN
public/hyprland.png
Normal file
|
After Width: | Height: | Size: 3.4 MiB |
BIN
public/kde-desktop.png
Normal file
|
After Width: | Height: | Size: 647 KiB |
BIN
public/nix-darwin-logo.png
Normal file
|
After Width: | Height: | Size: 64 KiB |
87
public/nix.svg
Normal file
@@ -0,0 +1,87 @@
|
|||||||
|
<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="141.5919mm" height="122.80626mm" viewBox="0 0 501.70361 435.14028" id="svg2" version="1.1" inkscape:version="0.92.0 r15299" sodipodi:docname="nix-snowflake.svg">
|
||||||
|
<defs id="defs4">
|
||||||
|
<linearGradient inkscape:collect="always" id="linearGradient5562">
|
||||||
|
<stop style="stop-color:#699ad7;stop-opacity:1" offset="0" id="stop5564"/>
|
||||||
|
<stop id="stop5566" offset="0.24345198" style="stop-color:#7eb1dd;stop-opacity:1"/>
|
||||||
|
<stop style="stop-color:#7ebae4;stop-opacity:1" offset="1" id="stop5568"/>
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient inkscape:collect="always" id="linearGradient5053">
|
||||||
|
<stop style="stop-color:#415e9a;stop-opacity:1" offset="0" id="stop5055"/>
|
||||||
|
<stop id="stop5057" offset="0.23168644" style="stop-color:#4a6baf;stop-opacity:1"/>
|
||||||
|
<stop style="stop-color:#5277c3;stop-opacity:1" offset="1" id="stop5059"/>
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient id="linearGradient5960" inkscape:collect="always">
|
||||||
|
<stop id="stop5962" offset="0" style="stop-color:#637ddf;stop-opacity:1"/>
|
||||||
|
<stop style="stop-color:#649afa;stop-opacity:1" offset="0.23168644" id="stop5964"/>
|
||||||
|
<stop id="stop5966" offset="1" style="stop-color:#719efa;stop-opacity:1"/>
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient inkscape:collect="always" id="linearGradient5867">
|
||||||
|
<stop style="stop-color:#7363df;stop-opacity:1" offset="0" id="stop5869"/>
|
||||||
|
<stop id="stop5871" offset="0.23168644" style="stop-color:#6478fa;stop-opacity:1"/>
|
||||||
|
<stop style="stop-color:#719efa;stop-opacity:1" offset="1" id="stop5873"/>
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient y2="515.97058" x2="282.26105" y1="338.62445" x1="213.95642" gradientTransform="translate(983.36076,601.38885)" gradientUnits="userSpaceOnUse" id="linearGradient5855" xlink:href="#linearGradient5960" inkscape:collect="always"/>
|
||||||
|
<linearGradient y2="515.97058" x2="282.26105" y1="338.62445" x1="213.95642" gradientTransform="translate(-197.75174,-337.1451)" gradientUnits="userSpaceOnUse" id="linearGradient5855-8" xlink:href="#linearGradient5867" inkscape:collect="always"/>
|
||||||
|
<linearGradient y2="247.58188" x2="-702.75317" y1="102.74675" x1="-775.20807" gradientTransform="translate(983.36076,601.38885)" gradientUnits="userSpaceOnUse" id="linearGradient4544" xlink:href="#linearGradient5960" inkscape:collect="always"/>
|
||||||
|
<clipPath id="clipPath4501" clipPathUnits="userSpaceOnUse">
|
||||||
|
<circle r="241.06563" cy="686.09473" cx="335.13995" id="circle4503" 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:#adadad;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;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
|
||||||
|
</clipPath>
|
||||||
|
<clipPath id="clipPath5410" clipPathUnits="userSpaceOnUse">
|
||||||
|
<circle r="241.13741" cy="340.98975" cx="335.98114" id="circle5412" 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:#ffffff;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;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>
|
||||||
|
</clipPath>
|
||||||
|
<linearGradient inkscape:collect="always" xlink:href="#linearGradient5053" id="linearGradient5137" gradientUnits="userSpaceOnUse" gradientTransform="translate(864.55062,-2197.497)" x1="-584.19934" y1="782.33563" x2="-496.29703" y2="937.71399"/>
|
||||||
|
<linearGradient inkscape:collect="always" xlink:href="#linearGradient5053" id="linearGradient5147" gradientUnits="userSpaceOnUse" gradientTransform="translate(864.55062,-2197.497)" x1="-584.19934" y1="782.33563" x2="-496.29703" y2="937.71399"/>
|
||||||
|
<linearGradient inkscape:collect="always" xlink:href="#linearGradient5562" id="linearGradient5162" gradientUnits="userSpaceOnUse" gradientTransform="translate(70.505061,-1761.3076)" x1="200.59668" y1="351.41116" x2="290.08701" y2="506.18814"/>
|
||||||
|
<linearGradient inkscape:collect="always" xlink:href="#linearGradient5562" id="linearGradient5172" gradientUnits="userSpaceOnUse" gradientTransform="translate(70.505061,-1761.3076)" x1="200.59668" y1="351.41116" x2="290.08701" y2="506.18814"/>
|
||||||
|
<linearGradient inkscape:collect="always" xlink:href="#linearGradient5562" id="linearGradient5182" gradientUnits="userSpaceOnUse" gradientTransform="translate(70.505061,-1761.3076)" x1="200.59668" y1="351.41116" x2="290.08701" y2="506.18814"/>
|
||||||
|
<linearGradient y2="506.18814" x2="290.08701" y1="351.41116" x1="200.59668" gradientTransform="translate(70.505061,-1761.3076)" gradientUnits="userSpaceOnUse" id="linearGradient5201" xlink:href="#linearGradient5562" inkscape:collect="always"/>
|
||||||
|
<linearGradient y2="937.71399" x2="-496.29703" y1="782.33563" x1="-584.19934" gradientTransform="translate(864.55062,-2197.497)" gradientUnits="userSpaceOnUse" id="linearGradient5205" xlink:href="#linearGradient5053" inkscape:collect="always"/>
|
||||||
|
<linearGradient inkscape:collect="always" xlink:href="#linearGradient5562" id="linearGradient4328" gradientUnits="userSpaceOnUse" gradientTransform="translate(70.650339,-1055.1511)" x1="200.59668" y1="351.41116" x2="290.08701" y2="506.18814"/>
|
||||||
|
<linearGradient inkscape:collect="always" xlink:href="#linearGradient5053" id="linearGradient4330" gradientUnits="userSpaceOnUse" gradientTransform="translate(864.69589,-1491.3405)" x1="-584.19934" y1="782.33563" x2="-496.29703" y2="937.71399"/>
|
||||||
|
</defs>
|
||||||
|
<sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="0.98318225" inkscape:cx="113.58176" inkscape:cy="-45.193301" inkscape:document-units="px" inkscape:current-layer="layer3" showgrid="false" inkscape:window-width="2560" inkscape:window-height="1577" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" inkscape:snap-global="true" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0"/>
|
||||||
|
<metadata id="metadata7">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
|
||||||
|
<dc:title/>
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<g inkscape:groupmode="layer" id="layer7" inkscape:label="bg" style="display:none" transform="translate(-23.75651,-24.84972)">
|
||||||
|
<rect transform="translate(-132.5822,958.04022)" 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:#ffffff;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;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" id="rect5389" width="1543.4283" height="483.7439" x="132.5822" y="-957.77832"/>
|
||||||
|
</g>
|
||||||
|
<g inkscape:groupmode="layer" id="layer6" inkscape:label="logo-guide" style="display:none" transform="translate(-156.33871,933.1905)">
|
||||||
|
<rect y="-958.02759" x="132.65129" height="484.30399" width="550.41602" id="rect5379" 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:#5c201e;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;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" inkscape:export-filename="/home/tim/dev/nix/homepage/logo/nix-wiki.png" inkscape:export-xdpi="22.07" inkscape:export-ydpi="22.07"/>
|
||||||
|
<rect 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:#c24a46;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;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" id="rect5372" width="501.94415" height="434.30405" x="156.12303" y="-933.02759" inkscape:export-filename="/home/tim/dev/nix/homepage/logo/nixos-logo-only-hires-print.png" inkscape:export-xdpi="212.2" inkscape:export-ydpi="212.2"/>
|
||||||
|
<rect 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:#d98d8a;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;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" id="rect5381" width="24.939611" height="24.939611" x="658.02826" y="-958.04022"/>
|
||||||
|
</g>
|
||||||
|
<g inkscape:label="print-logo" inkscape:groupmode="layer" id="layer1" style="display:inline" transform="translate(-156.33871,933.1905)" sodipodi:insensitive="true">
|
||||||
|
<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" 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 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" 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 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" 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 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" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccc"/>
|
||||||
|
<path sodipodi:nodetypes="cccccccccc" inkscape:connector-curvature="0" id="path4873" 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"/>
|
||||||
|
<path sodipodi:nodetypes="cccccccccc" inkscape:connector-curvature="0" id="use4875" 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"/>
|
||||||
|
<path sodipodi:nodetypes="cccccccccc" inkscape:connector-curvature="0" id="use4877" 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"/>
|
||||||
|
<g id="layer2" inkscape:label="guides" style="display:none" transform="translate(72.039038,-1799.4476)">
|
||||||
|
<path d="M 460.60629,594.72881 209.74183,594.7288 84.309616,377.4738 209.74185,160.21882 l 250.86446,1e-5 125.43222,217.255 z" inkscape:randomized="0" inkscape:rounded="0" inkscape:flatsided="true" sodipodi:arg2="1.5707963" sodipodi:arg1="1.0471976" sodipodi:r2="217.25499" sodipodi:r1="250.86446" sodipodi:cy="377.47382" sodipodi:cx="335.17407" sodipodi:sides="6" id="path6032" style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.23600003;fill:#4e4d52;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" sodipodi:type="star"/>
|
||||||
|
<path transform="translate(0,-308.26772)" sodipodi:type="star" style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#4e4d52;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" id="path5875" sodipodi:sides="6" sodipodi:cx="335.17407" sodipodi:cy="685.74158" sodipodi:r1="100.83495" sodipodi:r2="87.32563" sodipodi:arg1="1.0471976" sodipodi:arg2="1.5707963" inkscape:flatsided="true" inkscape:rounded="0" inkscape:randomized="0" d="m 385.59154,773.06721 -100.83495,0 -50.41747,-87.32564 50.41748,-87.32563 100.83495,10e-6 50.41748,87.32563 z"/>
|
||||||
|
<path transform="translate(0,-308.26772)" sodipodi:nodetypes="ccccccccc" inkscape:connector-curvature="0" id="path5851" d="m 1216.5591,938.53395 123.0545,228.14035 -42.6807,-1.2616 -43.4823,-79.7725 -39.6506,80.3267 -32.6875,-19.7984 53.4737,-100.2848 -37.1157,-73.88955 z" style="fill:url(#linearGradient5855);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/>
|
||||||
|
<rect style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.41499999;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#c53a3a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" id="rect5884" width="48.834862" height="226.22897" x="-34.74221" y="446.17056" transform="rotate(-30)"/>
|
||||||
|
<path transform="translate(0,-308.26772)" sodipodi:type="star" style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.50899999;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;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;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" id="path3428" sodipodi:sides="6" sodipodi:cx="223.93674" sodipodi:cy="878.63831" sodipodi:r1="28.048939" sodipodi:r2="24.291094" sodipodi:arg1="0" sodipodi:arg2="0.52359878" inkscape:flatsided="true" inkscape:rounded="0" inkscape:randomized="0" d="m 251.98568,878.63831 -14.02447,24.29109 h -28.04894 l -14.02447,-24.29109 14.02447,-24.2911 h 28.04894 z"/>
|
||||||
|
<use x="0" y="0" xlink:href="#rect5884" id="use4252" transform="rotate(60,268.29786,489.4515)" width="100%" height="100%"/>
|
||||||
|
<rect 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:#000000;fill-opacity:0.6507937;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" id="rect4254" width="5.3947482" height="115.12564" x="545.71014" y="467.07007" transform="rotate(30,575.23539,-154.13386)"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g inkscape:groupmode="layer" id="layer3" inkscape:label="gradient-logo" style="display:inline;opacity:1" sodipodi:insensitive="true" transform="translate(-156.33871,933.1905)">
|
||||||
|
<path sodipodi:nodetypes="cccccccccc" inkscape:connector-curvature="0" id="path3336-6" d="m 309.54892,-710.38827 122.19683,211.67512 -56.15706,0.5268 -32.6236,-56.8692 -32.85645,56.5653 -27.90237,-0.011 -14.29086,-24.6896 46.81047,-80.4901 -33.22946,-57.8257 z" style="opacity:1;fill:url(#linearGradient4328);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/>
|
||||||
|
<use height="100%" width="100%" transform="rotate(60,407.11155,-715.78724)" id="use3439-6" inkscape:transform-center-y="151.59082" inkscape:transform-center-x="124.43045" xlink:href="#path3336-6" y="0" x="0"/>
|
||||||
|
<use height="100%" width="100%" transform="rotate(-60,407.31177,-715.70016)" id="use3445-0" inkscape:transform-center-y="75.573958" inkscape:transform-center-x="-168.20651" xlink:href="#path3336-6" y="0" x="0"/>
|
||||||
|
<use height="100%" width="100%" transform="rotate(180,407.41868,-715.7565)" id="use3449-5" inkscape:transform-center-y="-139.94592" inkscape:transform-center-x="59.669705" xlink:href="#path3336-6" y="0" x="0"/>
|
||||||
|
<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:url(#linearGradient4330);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.54892,-710.38827 122.19683,211.67512 -56.15706,0.5268 -32.6236,-56.8692 -32.85645,56.5653 -27.90237,-0.011 -14.29086,-24.6896 46.81047,-80.4901 -33.22946,-57.8256 z" id="path4260-0" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccccc"/>
|
||||||
|
<use height="100%" width="100%" transform="rotate(120,407.33916,-716.08356)" id="use4354-5" xlink:href="#path4260-0" y="0" x="0" style="display:inline"/>
|
||||||
|
<use height="100%" width="100%" transform="rotate(-120,407.28823,-715.86995)" id="use4362-2" xlink:href="#path4260-0" y="0" x="0" style="display:inline"/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 23 KiB |
BIN
public/plasma-manager.png
Normal file
|
After Width: | Height: | Size: 470 KiB |
1
public/python.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<svg version="1.1" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://web.resource.org/cc/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="110px" height="110px" viewBox="0.21 -0.077 110 110" enable-background="new 0.21 -0.077 110 110" xml:space="preserve"><linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="63.8159" y1="56.6829" x2="118.4934" y2="1.8225" gradientTransform="matrix(1 0 0 -1 -53.2974 66.4321)"> <stop offset="0" style="stop-color:#387EB8"/> <stop offset="1" style="stop-color:#366994"/></linearGradient><path fill="url(#SVGID_1_)" d="M55.023-0.077c-25.971,0-26.25,10.081-26.25,12.156c0,3.148,0,12.594,0,12.594h26.75v3.781 c0,0-27.852,0-37.375,0c-7.949,0-17.938,4.833-17.938,26.25c0,19.673,7.792,27.281,15.656,27.281c2.335,0,9.344,0,9.344,0 s0-9.765,0-13.125c0-5.491,2.721-15.656,15.406-15.656c15.91,0,19.971,0,26.531,0c3.902,0,14.906-1.696,14.906-14.406 c0-13.452,0-17.89,0-24.219C82.054,11.426,81.515-0.077,55.023-0.077z M40.273,8.392c2.662,0,4.813,2.15,4.813,4.813 c0,2.661-2.151,4.813-4.813,4.813s-4.813-2.151-4.813-4.813C35.46,10.542,37.611,8.392,40.273,8.392z"/><linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="97.0444" y1="21.6321" x2="155.6665" y2="-34.5308" gradientTransform="matrix(1 0 0 -1 -53.2974 66.4321)"> <stop offset="0" style="stop-color:#FFE052"/> <stop offset="1" style="stop-color:#FFC331"/></linearGradient><path fill="url(#SVGID_2_)" d="M55.397,109.923c25.959,0,26.282-10.271,26.282-12.156c0-3.148,0-12.594,0-12.594H54.897v-3.781 c0,0,28.032,0,37.375,0c8.009,0,17.938-4.954,17.938-26.25c0-23.322-10.538-27.281-15.656-27.281c-2.336,0-9.344,0-9.344,0 s0,10.216,0,13.125c0,5.491-2.631,15.656-15.406,15.656c-15.91,0-19.476,0-26.532,0c-3.892,0-14.906,1.896-14.906,14.406 c0,14.475,0,18.265,0,24.219C28.366,100.497,31.562,109.923,55.397,109.923z M70.148,101.454c-2.662,0-4.813-2.151-4.813-4.813 s2.15-4.813,4.813-4.813c2.661,0,4.813,2.151,4.813,4.813S72.809,101.454,70.148,101.454z"/></svg>
|
||||||
|
After Width: | Height: | Size: 2.1 KiB |
BIN
public/umbra-screenshot.png
Normal file
|
After Width: | Height: | Size: 4.0 MiB |
@@ -1,7 +1,7 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import 'reveal.js/dist/reveal.css'
|
import 'reveal.js/dist/reveal.css'
|
||||||
import 'reveal.js/dist/theme/black.css'
|
import 'reveal.js/dist/theme/black.css'
|
||||||
import 'reveal.js/plugin/highlight/monokai.css'
|
import './github-dark-dimmed.css'
|
||||||
|
|
||||||
import Reveal from 'reveal.js'
|
import Reveal from 'reveal.js'
|
||||||
import Markdown from 'reveal.js/plugin/markdown/markdown.esm.js'
|
import Markdown from 'reveal.js/plugin/markdown/markdown.esm.js'
|
||||||
@@ -16,6 +16,17 @@
|
|||||||
import History from './slides/History.svelte'
|
import History from './slides/History.svelte'
|
||||||
import CoreIdea from './slides/CoreIdea.svelte'
|
import CoreIdea from './slides/CoreIdea.svelte'
|
||||||
import TheProblem from './slides/TheProblem.svelte'
|
import TheProblem from './slides/TheProblem.svelte'
|
||||||
|
import Flake from './slides/Flake.svelte'
|
||||||
|
import Channels from './slides/Channels.svelte'
|
||||||
|
import TitleNixOS from './slides/TitleNixOS.svelte'
|
||||||
|
import NixOSInstall from './slides/NixOSInstall.svelte'
|
||||||
|
import TitleNixpkgs from './slides/TitleNixpkgs.svelte'
|
||||||
|
import TitleNixLanguage from './slides/TitleNixLanguage.svelte'
|
||||||
|
import NixLanguage from './slides/NixLanguage.svelte'
|
||||||
|
import TitleCommunityProjects from './slides/TitleCommunityProjects.svelte'
|
||||||
|
import NixDarwin from './slides/NixDarwin.svelte'
|
||||||
|
import HomeManager from './slides/HomeManager.svelte'
|
||||||
|
import DesktopManagement from './slides/DesktopManagement.svelte'
|
||||||
|
|
||||||
onMount(async () => {
|
onMount(async () => {
|
||||||
await tick()
|
await tick()
|
||||||
@@ -38,6 +49,17 @@
|
|||||||
<TheProblem />
|
<TheProblem />
|
||||||
<CoreIdea />
|
<CoreIdea />
|
||||||
<History />
|
<History />
|
||||||
|
<TitleNixLanguage />
|
||||||
|
<NixLanguage />
|
||||||
|
<TitleNixpkgs />
|
||||||
<PackageGraph />
|
<PackageGraph />
|
||||||
|
<Channels />
|
||||||
|
<TitleNixOS />
|
||||||
|
<NixOSInstall />
|
||||||
|
<Flake />
|
||||||
|
<TitleCommunityProjects />
|
||||||
|
<HomeManager />
|
||||||
|
<DesktopManagement />
|
||||||
|
<NixDarwin />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
9
src/code/Flake/1.nix
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
description = "System configuration flake";
|
||||||
|
|
||||||
|
inputs = {
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = { ... }@inputs: {
|
||||||
|
};
|
||||||
|
}
|
||||||
10
src/code/Flake/2.nix
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
description = "System configuration flake";
|
||||||
|
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = { nixpkgs, ... }@inputs: {
|
||||||
|
};
|
||||||
|
}
|
||||||
16
src/code/Flake/3.nix
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
description = "System configuration flake";
|
||||||
|
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = { nixpkgs, ... }@inputs: {
|
||||||
|
nixosConfigurations.${host} = nixpkgs.lib.nixosSystem {
|
||||||
|
system = "x86_64-linux";
|
||||||
|
modules = [
|
||||||
|
# Import your modules here
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
1
src/code/Language/aaa.nix
Normal file
@@ -0,0 +1 @@
|
|||||||
|
_: _
|
||||||
1
src/code/Language/aab.nix
Normal file
@@ -0,0 +1 @@
|
|||||||
|
a: a + 1
|
||||||
1
src/code/Language/aac.nix
Normal file
@@ -0,0 +1 @@
|
|||||||
|
a: b: a + b
|
||||||
1
src/code/Language/aad.nix
Normal file
@@ -0,0 +1 @@
|
|||||||
|
(a: b: a + b) 3 4
|
||||||
2
src/code/Language/aae.nix
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
(a: b: a + b) 3 4
|
||||||
|
(b: 3 + b) 4
|
||||||
3
src/code/Language/aaf.nix
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
(a: b: a + b) 3 4
|
||||||
|
(b: 3 + b) 4
|
||||||
|
3 + 4
|
||||||
4
src/code/Language/aag.nix
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
(a: b: a + b) 3 4
|
||||||
|
(b: 3 + b) 4
|
||||||
|
3 + 4
|
||||||
|
7
|
||||||
3
src/code/Language/aah.nix
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
let
|
||||||
|
x = a: b: a + b;
|
||||||
|
in
|
||||||
3
src/code/Language/aai.nix
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
let
|
||||||
|
x = a: b: a + b;
|
||||||
|
in x 3 4
|
||||||
4
src/code/Language/aaj.nix
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
let
|
||||||
|
x = a: b: a + b;
|
||||||
|
in x 3 4
|
||||||
|
# >>> 7
|
||||||
1
src/code/Language/aak.nix
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{ ... }
|
||||||
14
src/code/Language/aal.nix
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
string = "hello";
|
||||||
|
integer = 1;
|
||||||
|
float = 3.141;
|
||||||
|
bool = true;
|
||||||
|
null = null;
|
||||||
|
list = [ 1 "two" false ];
|
||||||
|
attribute-set = {
|
||||||
|
a = "hello";
|
||||||
|
b = 2;
|
||||||
|
c = 2.718;
|
||||||
|
d = false;
|
||||||
|
}; # comments are supported
|
||||||
|
}
|
||||||
16
src/code/Language/aam.nix
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
let
|
||||||
|
x = {
|
||||||
|
string = "hello";
|
||||||
|
integer = 1;
|
||||||
|
float = 3.141;
|
||||||
|
bool = true;
|
||||||
|
null = null;
|
||||||
|
list = [ 1 "two" false ];
|
||||||
|
attribute-set = {
|
||||||
|
a = "hello";
|
||||||
|
b = 2;
|
||||||
|
c = 2.718;
|
||||||
|
d = false;
|
||||||
|
}; # comments are supported
|
||||||
|
};
|
||||||
|
in
|
||||||
16
src/code/Language/aan.nix
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
let
|
||||||
|
x = {
|
||||||
|
string = "hello";
|
||||||
|
integer = 1;
|
||||||
|
float = 3.141;
|
||||||
|
bool = true;
|
||||||
|
null = null;
|
||||||
|
list = [ 1 "two" false ];
|
||||||
|
attribute-set = {
|
||||||
|
a = "hello";
|
||||||
|
b = 2;
|
||||||
|
c = 2.718;
|
||||||
|
d = false;
|
||||||
|
}; # comments are supported
|
||||||
|
};
|
||||||
|
in (a: a.string) x
|
||||||
17
src/code/Language/aao.nix
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
let
|
||||||
|
x = {
|
||||||
|
string = "hello";
|
||||||
|
integer = 1;
|
||||||
|
float = 3.141;
|
||||||
|
bool = true;
|
||||||
|
null = null;
|
||||||
|
list = [ 1 "two" false ];
|
||||||
|
attribute-set = {
|
||||||
|
a = "hello";
|
||||||
|
b = 2;
|
||||||
|
c = 2.718;
|
||||||
|
d = false;
|
||||||
|
}; # comments are supported
|
||||||
|
};
|
||||||
|
in (a: a.string) x
|
||||||
|
# >>> hello
|
||||||
17
src/code/Language/aap.nix
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
let
|
||||||
|
x = {
|
||||||
|
string = "hello";
|
||||||
|
integer = 1;
|
||||||
|
float = 3.141;
|
||||||
|
bool = true;
|
||||||
|
null = null;
|
||||||
|
list = [ 1 "two" false ];
|
||||||
|
attribute-set = {
|
||||||
|
a = "hello";
|
||||||
|
b = 2;
|
||||||
|
c = 2.718;
|
||||||
|
d = false;
|
||||||
|
}; # comments are supported
|
||||||
|
};
|
||||||
|
in ({ string, ... }: string) x
|
||||||
|
# >>> hello
|
||||||
6
src/code/Language/aaq.nix
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
8
src/code/Language/aar.nix
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
18
src/code/Language/aas.nix
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
users.users.ripley = {
|
||||||
|
isNormalUser = true;
|
||||||
|
uid = 1000;
|
||||||
|
description = "Benevolent dictator for life";
|
||||||
|
extraGroups = [
|
||||||
|
"networkmanager"
|
||||||
|
"uug"
|
||||||
|
];
|
||||||
|
hashedPasswordFile = config.age.secrets.ripley-password;
|
||||||
|
shell = pkgs.zsh;
|
||||||
|
};
|
||||||
|
}
|
||||||
117
src/github-dark-dimmed.css
Normal file
@@ -0,0 +1,117 @@
|
|||||||
|
pre code.hljs {
|
||||||
|
display: block;
|
||||||
|
overflow-x: auto;
|
||||||
|
padding: 1em
|
||||||
|
}
|
||||||
|
code.hljs {
|
||||||
|
padding: 3px 5px
|
||||||
|
}
|
||||||
|
/*!
|
||||||
|
Theme: GitHub Dark Dimmed
|
||||||
|
Description: Dark dimmed theme as seen on github.com
|
||||||
|
Author: github.com
|
||||||
|
Maintainer: @Hirse
|
||||||
|
Updated: 2021-05-15
|
||||||
|
|
||||||
|
Colors taken from GitHub's CSS
|
||||||
|
*/
|
||||||
|
.hljs {
|
||||||
|
color: #adbac7;
|
||||||
|
background: #22272e
|
||||||
|
}
|
||||||
|
.hljs-doctag,
|
||||||
|
.hljs-keyword,
|
||||||
|
.hljs-meta .hljs-keyword,
|
||||||
|
.hljs-template-tag,
|
||||||
|
.hljs-template-variable,
|
||||||
|
.hljs-type,
|
||||||
|
.hljs-variable.language_ {
|
||||||
|
/* prettylights-syntax-keyword */
|
||||||
|
color: #f47067
|
||||||
|
}
|
||||||
|
.hljs-title,
|
||||||
|
.hljs-title.class_,
|
||||||
|
.hljs-title.class_.inherited__,
|
||||||
|
.hljs-title.function_ {
|
||||||
|
/* prettylights-syntax-entity */
|
||||||
|
color: #dcbdfb
|
||||||
|
}
|
||||||
|
.hljs-attr,
|
||||||
|
.hljs-attribute,
|
||||||
|
.hljs-literal,
|
||||||
|
.hljs-meta,
|
||||||
|
.hljs-number,
|
||||||
|
.hljs-operator,
|
||||||
|
.hljs-variable,
|
||||||
|
.hljs-selector-attr,
|
||||||
|
.hljs-selector-class,
|
||||||
|
.hljs-selector-id {
|
||||||
|
/* prettylights-syntax-constant */
|
||||||
|
color: #6cb6ff
|
||||||
|
}
|
||||||
|
.hljs-regexp,
|
||||||
|
.hljs-string,
|
||||||
|
.hljs-meta .hljs-string {
|
||||||
|
/* prettylights-syntax-string */
|
||||||
|
color: #96d0ff
|
||||||
|
}
|
||||||
|
.hljs-built_in,
|
||||||
|
.hljs-symbol {
|
||||||
|
/* prettylights-syntax-variable */
|
||||||
|
color: #f69d50
|
||||||
|
}
|
||||||
|
.hljs-comment,
|
||||||
|
.hljs-code,
|
||||||
|
.hljs-formula {
|
||||||
|
/* prettylights-syntax-comment */
|
||||||
|
color: #768390
|
||||||
|
}
|
||||||
|
.hljs-name,
|
||||||
|
.hljs-quote,
|
||||||
|
.hljs-selector-tag,
|
||||||
|
.hljs-selector-pseudo {
|
||||||
|
/* prettylights-syntax-entity-tag */
|
||||||
|
color: #8ddb8c
|
||||||
|
}
|
||||||
|
.hljs-subst {
|
||||||
|
/* prettylights-syntax-storage-modifier-import */
|
||||||
|
color: #adbac7
|
||||||
|
}
|
||||||
|
.hljs-section {
|
||||||
|
/* prettylights-syntax-markup-heading */
|
||||||
|
color: #316dca;
|
||||||
|
font-weight: bold
|
||||||
|
}
|
||||||
|
.hljs-bullet {
|
||||||
|
/* prettylights-syntax-markup-list */
|
||||||
|
color: #eac55f
|
||||||
|
}
|
||||||
|
.hljs-emphasis {
|
||||||
|
/* prettylights-syntax-markup-italic */
|
||||||
|
color: #adbac7;
|
||||||
|
font-style: italic
|
||||||
|
}
|
||||||
|
.hljs-strong {
|
||||||
|
/* prettylights-syntax-markup-bold */
|
||||||
|
color: #adbac7;
|
||||||
|
font-weight: bold
|
||||||
|
}
|
||||||
|
.hljs-addition {
|
||||||
|
/* prettylights-syntax-markup-inserted */
|
||||||
|
color: #b4f1b4;
|
||||||
|
background-color: #1b4721
|
||||||
|
}
|
||||||
|
.hljs-deletion {
|
||||||
|
/* prettylights-syntax-markup-deleted */
|
||||||
|
color: #ffd8d3;
|
||||||
|
background-color: #78191b
|
||||||
|
}
|
||||||
|
.hljs-char.escape_,
|
||||||
|
.hljs-link,
|
||||||
|
.hljs-params,
|
||||||
|
.hljs-property,
|
||||||
|
.hljs-punctuation,
|
||||||
|
.hljs-tag {
|
||||||
|
/* purposely ignored */
|
||||||
|
|
||||||
|
}
|
||||||
58
src/slides/Channels.svelte
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
<section>
|
||||||
|
<section style="text-align: left;">
|
||||||
|
<h3>Channels?</h3>
|
||||||
|
<ul style="font-size: 20pt;">
|
||||||
|
<li>
|
||||||
|
The nix package repository, <a
|
||||||
|
href="https://github.com/NixOS/nixpkgs"
|
||||||
|
target="_blank">nixpkgs</a
|
||||||
|
>, is a simple GitHub repository
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
A "channel" refers to a specific, "verified" commit of nixpkgs. Simply put, its a
|
||||||
|
version of the repository
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
There are two general categories of channels, <strong>stable</strong> and
|
||||||
|
<strong>unstable</strong>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
<section id="stable-vs-unstable">
|
||||||
|
<div style="text-align: left;">
|
||||||
|
<h4 style="color: var(--nix-dark-blue);">Stable</h4>
|
||||||
|
<ul style="font-size: 16pt;">
|
||||||
|
<li>Bi-yearly release (e.g. nixos-24.11, nixos-25.05)</li>
|
||||||
|
<li>Largely focused on bug fixes and security vulnerabilities</li>
|
||||||
|
<li>Similar to Ubuntu releases like Ubuntu 25.04, Ubuntu 25.10, etc.</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<strong>VS</strong>
|
||||||
|
<div id="unstable" dir="rtl">
|
||||||
|
<h4 style="color: var(--nix-light-blue);">Unstable</h4>
|
||||||
|
<ul style="font-size: 16pt;">
|
||||||
|
<li>Rolling release</li>
|
||||||
|
<li>Provides latest tested packages</li>
|
||||||
|
<li>Similar to the AUR</li>
|
||||||
|
<li>Single continuously update channel (e.g. nixos-unstable, nixpkgs-unstable)</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
#stable-vs-unstable {
|
||||||
|
display: grid !important;
|
||||||
|
grid-template-rows: 1fr;
|
||||||
|
grid-template-columns: 1fr min-content 1fr;
|
||||||
|
gap: 3rem;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
li {
|
||||||
|
margin-bottom: 8px;
|
||||||
|
}
|
||||||
|
#unstable,
|
||||||
|
#unstable ul {
|
||||||
|
text-align: right !important;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
0
src/slides/Configuration.svelte
Normal file
@@ -18,9 +18,13 @@
|
|||||||
</section>
|
</section>
|
||||||
<section>
|
<section>
|
||||||
<div id="reproducible">
|
<div id="reproducible">
|
||||||
<p style="text-align: left;">
|
<div style="text-align: left;">
|
||||||
Nix is <strong>Purely Functional</strong>
|
<span>Nix is <strong>Purely Functional</strong></span>
|
||||||
</p>
|
<p class="description">
|
||||||
|
Given the same inputs, Nix will always produce the same output, regardless of
|
||||||
|
the state of the rest of the system.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<img src={Reproducible} alt="Reproducible" />
|
<img src={Reproducible} alt="Reproducible" />
|
||||||
<strong>Reproducible</strong>
|
<strong>Reproducible</strong>
|
||||||
@@ -33,14 +37,24 @@
|
|||||||
<img src={Declartive} alt="Declartive" />
|
<img src={Declartive} alt="Declartive" />
|
||||||
<strong>Declartive</strong>
|
<strong>Declartive</strong>
|
||||||
</div>
|
</div>
|
||||||
<p style="text-align: right;">Packages & Systems are <strong>Declared</strong></p>
|
<div style="text-align: right;">
|
||||||
|
<span>Packages & Systems are <strong>Declared</strong></span>
|
||||||
|
<p class="description">
|
||||||
|
Declare exact dependencies and let nix take care of the build step. Allows for
|
||||||
|
easy sharing of developer environments.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<section>
|
<section>
|
||||||
<div id="reliable">
|
<div id="reliable">
|
||||||
<p style="text-align: left;">
|
<div style="text-align: left;">
|
||||||
<strong>Safe Upgrades</strong> and <strong>Rollbacks</strong>
|
<span><strong>Safe Upgrades</strong> and <strong>Rollbacks</strong></span>
|
||||||
</p>
|
<p class="description">
|
||||||
|
Nix ensures that upgrading a package will never break other packages and allows
|
||||||
|
you to rollback to previous versions.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<img src={Reliable} alt="Reliable" />
|
<img src={Reliable} alt="Reliable" />
|
||||||
<strong>Reliable</strong>
|
<strong>Reliable</strong>
|
||||||
@@ -62,6 +76,7 @@
|
|||||||
display: grid;
|
display: grid;
|
||||||
grid-template-rows: 1fr;
|
grid-template-rows: 1fr;
|
||||||
grid-template-columns: 2fr 1fr;
|
grid-template-columns: 2fr 1fr;
|
||||||
|
align-items: center;
|
||||||
gap: 40px;
|
gap: 40px;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -69,6 +84,12 @@
|
|||||||
display: grid;
|
display: grid;
|
||||||
grid-template-rows: 1fr;
|
grid-template-rows: 1fr;
|
||||||
grid-template-columns: 1fr 2fr;
|
grid-template-columns: 1fr 2fr;
|
||||||
|
align-items: center;
|
||||||
gap: 40px;
|
gap: 40px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.description {
|
||||||
|
color: #aaaaaa;
|
||||||
|
font-size: 24pt;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
72
src/slides/DesktopManagement.svelte
Normal file
@@ -0,0 +1,72 @@
|
|||||||
|
<script lang="ts">
|
||||||
|
import NixLogo from '/nix.svg'
|
||||||
|
import Plasma from '/kde-desktop.png'
|
||||||
|
import PlasmaManager from '/plasma-manager.png'
|
||||||
|
import Hyprland from '/hyprland.png'
|
||||||
|
import HyprlandWiki from '/hyprland-wiki.png'
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
<section>
|
||||||
|
<div id="desktop-management">
|
||||||
|
<div style="text-align: left;">
|
||||||
|
<strong>Desktop Management</strong>
|
||||||
|
<p class="description">
|
||||||
|
Configure everything about your desktop environment in a deterministic,
|
||||||
|
reproducible way using Nix.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<img src={NixLogo} alt="nix-logo" />
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<div id="plasma">
|
||||||
|
<div>
|
||||||
|
<img src={Plasma} alt="plasma" />
|
||||||
|
<strong>KDE Plasma</strong>
|
||||||
|
</div>
|
||||||
|
<span>+</span>
|
||||||
|
<div>
|
||||||
|
<img src={PlasmaManager} alt="plasma-manager" />
|
||||||
|
<strong>Plasma Manager</strong>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<div id="hyprland">
|
||||||
|
<div>
|
||||||
|
<img src={Hyprland} alt="hyprland" />
|
||||||
|
<strong>Hyprland</strong>
|
||||||
|
</div>
|
||||||
|
<span>+</span>
|
||||||
|
<div>
|
||||||
|
<img src={HyprlandWiki} alt="hyprland-wiki" />
|
||||||
|
<strong>Home Manager Module</strong>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
#desktop-management {
|
||||||
|
display: grid;
|
||||||
|
grid-template-rows: 1fr;
|
||||||
|
grid-template-columns: 2fr 1fr;
|
||||||
|
align-items: center;
|
||||||
|
gap: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#plasma,
|
||||||
|
#hyprland {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 1fr min-content 1fr;
|
||||||
|
grid-template-rows: 1fr;
|
||||||
|
gap: 40px;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.description {
|
||||||
|
color: #aaaaaa;
|
||||||
|
font-size: 24pt;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
13
src/slides/Flake.svelte
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
<script>
|
||||||
|
const Code = import.meta.glob('../code/Flake/*.nix', { as: 'raw', eager: true })
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<section style="font-size: 20pt;">
|
||||||
|
{#each Object.values(Code) as code}
|
||||||
|
<section data-auto-animate>
|
||||||
|
<pre data-id="flake-animation"><code data-trim data-line-numbers class="language-nix">
|
||||||
|
{code}
|
||||||
|
</code></pre>
|
||||||
|
</section>
|
||||||
|
{/each}
|
||||||
|
</section>
|
||||||
29
src/slides/HomeManager.svelte
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
<script lang="ts">
|
||||||
|
import HomeIcon from '/home-icon.png'
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
<div id="intro">
|
||||||
|
<div style="text-align: left;">
|
||||||
|
<h3>Home Manager</h3>
|
||||||
|
<p class="description">
|
||||||
|
Nix module that extends user configuraiton capabilities. Allows for easy management
|
||||||
|
of per-user packages and dotfiles.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<img src={HomeIcon} alt="nix-darwin-logo" />
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
#intro {
|
||||||
|
display: grid;
|
||||||
|
grid-template-rows: 1fr;
|
||||||
|
grid-template-columns: 2fr 1fr;
|
||||||
|
gap: 40px;
|
||||||
|
}
|
||||||
|
.description {
|
||||||
|
color: #aaaaaa;
|
||||||
|
font-size: 24pt;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
35
src/slides/NixDarwin.svelte
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
<script lang="ts">
|
||||||
|
import NixDarwinLogo from '/nix-darwin-logo.png'
|
||||||
|
import UmbraScreenshot from '/umbra-screenshot.png'
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
<section>
|
||||||
|
<div id="intro">
|
||||||
|
<div style="text-align: left;">
|
||||||
|
<h3>Nix Darwin</h3>
|
||||||
|
<p class="description">
|
||||||
|
Nix Darwin allows you to use Nix's declarative system to manage your MacOS.
|
||||||
|
Built around nixpkgs, similar to NixOS.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<img src={NixDarwinLogo} alt="nix-darwin-logo" />
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<img src={UmbraScreenshot} alt="umbra-screenshot" />
|
||||||
|
</section>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
#intro {
|
||||||
|
display: grid;
|
||||||
|
grid-template-rows: 1fr;
|
||||||
|
grid-template-columns: 2fr 1fr;
|
||||||
|
gap: 40px;
|
||||||
|
}
|
||||||
|
.description {
|
||||||
|
color: #aaaaaa;
|
||||||
|
font-size: 24pt;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
13
src/slides/NixLanguage.svelte
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
<script>
|
||||||
|
const Code = import.meta.glob('../code/Language/*.nix', { as: 'raw', eager: true })
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<section style="font-size: 26pt;">
|
||||||
|
{#each Object.values(Code) as code}
|
||||||
|
<section data-auto-animate>
|
||||||
|
<pre data-id="example-animation"><code data-trim class="language-nix">
|
||||||
|
{code}
|
||||||
|
</code></pre>
|
||||||
|
</section>
|
||||||
|
{/each}
|
||||||
|
</section>
|
||||||
13
src/slides/NixOSInstall.svelte
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
<script lang="ts">
|
||||||
|
import GraphicalInstaller1 from '/graphical-installer1.png'
|
||||||
|
import GraphicalInstaller2 from '/graphical-installer2.png'
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
<section data-transition="fade">
|
||||||
|
<img src={GraphicalInstaller1} alt="Graphical Installer 1" />
|
||||||
|
</section>
|
||||||
|
<section data-transition="fade">
|
||||||
|
<img src={GraphicalInstaller2} alt="Graphical Installer 2" />
|
||||||
|
</section>
|
||||||
|
</section>
|
||||||
@@ -1,3 +1,59 @@
|
|||||||
|
<script>
|
||||||
|
import PythonLogo from '/python.svg'
|
||||||
|
</script>
|
||||||
|
|
||||||
<section>
|
<section>
|
||||||
<h3 style="text-align: left;">The Problem</h3>
|
<section style="text-align: left;">
|
||||||
|
<h3>The Problem</h3>
|
||||||
|
<p style="font-size: 20pt;">
|
||||||
|
<strong>"It works on my machine."</strong> Nix aims to end 'dependency hell' by ensuring
|
||||||
|
every build is isolated and reproducible.
|
||||||
|
</p>
|
||||||
|
</section>
|
||||||
|
<section data-auto-animate>
|
||||||
|
<div class="venv">
|
||||||
|
<img class="python-logo" src={PythonLogo} alt="Python Logo" />
|
||||||
|
<pre><code data-trim class="language-python">
|
||||||
|
# my_awesome_program.py
|
||||||
|
|
||||||
|
import numpy as np
|
||||||
|
|
||||||
|
a = np.array([[1, 2, 3], [4, 5, 6]])
|
||||||
|
col_means = np.mean(a, axis=0)
|
||||||
|
|
||||||
|
print("Array:\n", a)
|
||||||
|
print("Column means:", col_means)
|
||||||
|
</code></pre>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<section data-auto-animate>
|
||||||
|
<div class="venv">
|
||||||
|
<img class="python-logo" src={PythonLogo} alt="Python Logo" />
|
||||||
|
<pre data-id="venv-animation"><code data-trim>
|
||||||
|
$ python -m venv .venv
|
||||||
|
$ source .venv/bin/activate
|
||||||
|
</code></pre>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<section data-auto-animate>
|
||||||
|
<div class="venv">
|
||||||
|
<img class="python-logo" src={PythonLogo} alt="Python Logo" />
|
||||||
|
<pre data-id="venv-animation"><code data-trim>
|
||||||
|
$ python -m venv .venv
|
||||||
|
$ source .venv/bin/activate
|
||||||
|
(.venv) $ pip install numpy
|
||||||
|
</code></pre>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.venv {
|
||||||
|
display: grid;
|
||||||
|
min-height: 200px;
|
||||||
|
grid-template-rows: 1fr;
|
||||||
|
grid-template-columns: 1fr 2fr;
|
||||||
|
justify-items: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|||||||
3
src/slides/TitleCommunityProjects.svelte
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<section>
|
||||||
|
<h1>Community Projects</h1>
|
||||||
|
</section>
|
||||||
3
src/slides/TitleNixLanguage.svelte
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<section>
|
||||||
|
<h1>Nix Expression Language</h1>
|
||||||
|
</section>
|
||||||
3
src/slides/TitleNixOS.svelte
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<section>
|
||||||
|
<h1>NixOS</h1>
|
||||||
|
</section>
|
||||||
3
src/slides/TitleNixpkgs.svelte
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<section>
|
||||||
|
<h1>Nixpkgs</h1>
|
||||||
|
</section>
|
||||||