n8n.jpt.land: Added nixos-basics impress presentation

main
jpt 2024-03-19 09:51:02 +01:00
parent cc07ab7844
commit 0f0f118f25
1 changed files with 75 additions and 0 deletions

View File

@ -0,0 +1,75 @@
<html lang="en">
<meta charset="utf-8">
<meta content="width=device-width, initial-scale=1" name="viewport">
<meta content="upgrade-insecure-requests" http-equiv="Content-Security-Policy">
<title>NixOS Basics Presentation</title>
<style>
body { background-color: #fff; font-family: Arial, sans-serif; color: #000; margin: 0; padding: 0; }
.step { width: 600px; border-radius: 10px; padding: 40px; color: #333; text-align: center; opacity: 10%; transition: opacity 1s; }
.step img { opacity: 0; transition: opacity 1s; }
.active { opacity: 100%; transition: opacity 1s; }
.active img { opacity: 100%; transition: opacity 1s; }
h1 { font-size: 2.5em; text-shadow: 2px 2px 4px rgba(0,0,0,.3); }
p { font-size: 1.2em; line-height: 1.4; margin: 20px 0; }
img { width: 80%; height: auto; margin-top: 20px; }
</style>
<div id="impress">
<div id="slide1" class="step" data-scale="10" data-x="0" data-y="0" data-z="0">
<h1>Welcome to NixOS Basics</h1>
<p><strong>What is NixOS?</strong></p>
<p>A Linux distribution built on the Nix package manager<br>Offers fully reproducible builds and upgrades<br>Configuration management through declarative files</p>
</div>
<div id="slide2" class="step" data-scale="2" data-x="800" data-y="-800" data-z="-2000" data-rotate="45">
<h1>Key Features of NixOS 🌟</h1>
<p><strong>Reproducible Builds</strong></p>
<p>Every system configuration can be replicated exactly</p>
<p><strong>Atomic Upgrades and Rollbacks</strong></p>
<p>Safely upgrade or rollback without affecting the system stability</p>
<p><strong>User Environments</strong></p>
<p>Isolated package management for each user</p>
</div>
<div id="slide3" class="step" data-scale="1" data-x="1600" data-y="-1600" data-z="-4000" data-rotate="90">
<h1>Understanding the Nix Package Manager 🔍</h1>
<p><strong>The Heart of NixOS</strong></p>
<p>Functional package management system<br>Packages are built in isolation</p>
<p><strong>Nix Expressions</strong></p>
<p>How packages and configurations are defined<br>Written in the Nix language</p>
</div>
<div id="slide4" class="step" data-scale="2" data-x="2400" data-y="-2400" data-z="-6000" data-rotate="135">
<h1>Setting Up NixOS 🛠️</h1>
<p><strong>Installation Overview</strong></p>
<p>Download the NixOS ISO<br>Prepare the installation media<br>Boot from the USB/CD and follow the installation guide</p>
<p><strong>Configuration</strong></p>
<pre>/etc/nixos/configuration.nix is the central configuration file</pre>
<pre>{ config, pkgs, ... }:<br>{<br> environment.systemPackages = with pkgs; [<br> wget vim<br> ];<br>}</pre>
</div>
<div id="slide5" class="step" data-scale="10" data-x="3200" data-y="-3200" data-z="-8000" data-rotate="180">
<h1>Working with NixOS Configuration Files 📝</h1>
<p><strong>Declarative System Configuration</strong></p>
<p>Define what packages and services you want<br>NixOS takes care of how to achieve that state</p>
<p><strong>Example: Enabling SSH Daemon</strong></p>
<pre>services.openssh.enable = true;</pre>
</div>
<div id="slide6" class="step" data-scale="2" data-x="4000" data-y="-4000" data-z="-10000" data-rotate="225">
<h1>Package Management in NixOS 📦</h1>
<p><strong>Installing a Package</strong></p>
<p>Use the <code>nix-env</code> command<br>Example: Installing Firefox</p>
<pre>nix-env -iA nixos.firefox</pre>
<p><strong>Searching for Packages</strong></p>
<p>Use <code>nix search</code> to find available packages</p>
</div>
<div id="slide7" class="step" data-scale="1" data-x="4800" data-y="-4800" data-z="-12000" data-rotate="270">
<h1>NixOS Community and Resources 🌐</h1>
<p><strong>NixOS Wiki</strong></p>
<p>A great resource for tutorials and guides</p>
<p><strong>NixOS.org</strong></p>
<p>Official documentation and download portal</p>
<p><strong>Community Forums and Chat</strong></p>
<p>Places to ask questions and share knowledge</p>
</div>
</div>
<script src="https://impress.github.io/impress.js/js/impress.js"></script>
<script>impress().init()</script>
</html>