NixDaemon

NixOS pentest workstation as one flake — IceBreaker's successor
git clone https://git.daemon-sec.xyz/NixDaemon.git
Log | Files | Refs | README

jack-in-flow.svg (7046B)


      1 <?xml version="1.0" encoding="UTF-8"?>
      2 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1500 540" width="1500" height="540" font-family="'JetBrains Mono','SFMono-Regular',ui-monospace,Menlo,Consolas,monospace" font-weight="500">
      3   <defs>
      4     <pattern id="halftone" width="6" height="6" patternUnits="userSpaceOnUse">
      5       <rect width="6" height="6" fill="#0a0e14"/>
      6       <circle cx="3" cy="3" r="1.1" fill="#cbf7ad" fill-opacity="0.55"/>
      7     </pattern>
      8     <pattern id="halftoneAmber" width="6" height="6" patternUnits="userSpaceOnUse">
      9       <rect width="6" height="6" fill="#0a0e14"/>
     10       <circle cx="3" cy="3" r="1.1" fill="#ffb347" fill-opacity="0.6"/>
     11     </pattern>
     12     <marker id="arrow" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="9" markerHeight="9" orient="auto-start-reverse">
     13       <path d="M0,0 L10,5 L0,10 z" fill="#cbf7ad"/>
     14     </marker>
     15   </defs>
     16 
     17   <rect width="100%" height="100%" fill="#0a0e14"/>
     18 
     19   <!-- Title strip -->
     20   <g transform="translate(40,28)">
     21     <rect x="0" y="4" width="44" height="22" fill="url(#halftone)"/>
     22     <text xml:space="preserve" x="380" y="22" font-size="22" fill="#cbf7ed" letter-spacing="6" text-anchor="middle">J A C K - I N   F L O W</text>
     23     <rect x="716" y="4" width="44" height="22" fill="url(#halftone)"/>
     24   </g>
     25 
     26   <!-- Boxes -->
     27   <g font-size="22" fill="#cbf7ad" stroke="#cbf7ad" stroke-width="1.6">
     28     <!-- Box 1 -->
     29     <rect x="60"   y="92" width="270" height="120" fill="none"/>
     30     <text x="195"  y="138" text-anchor="middle" stroke="none">git clone</text>
     31     <text x="195"  y="172" text-anchor="middle" stroke="none">~/NixDaemon</text>
     32     <!-- Box 2 -->
     33     <rect x="430"  y="92" width="270" height="120" fill="none"/>
     34     <text x="565"  y="138" text-anchor="middle" stroke="none">_settings.nix</text>
     35     <text x="565"  y="172" text-anchor="middle" stroke="none">hardware.nix</text>
     36     <!-- Box 3 -->
     37     <rect x="800"  y="92" width="270" height="120" fill="none"/>
     38     <text x="935"  y="138" text-anchor="middle" stroke="none">nixos-install</text>
     39     <text x="935"  y="172" text-anchor="middle" stroke="none">#nixdaemon</text>
     40     <!-- Box 4 -->
     41     <rect x="1170" y="92" width="270" height="120" fill="none"/>
     42     <text x="1305" y="138" text-anchor="middle" stroke="none">jack in</text>
     43     <text x="1305" y="172" text-anchor="middle" stroke="none">operator@nixdaemon</text>
     44   </g>
     45 
     46   <!-- Arrows + labels -->
     47   <g stroke="#cbf7ad" stroke-width="1.6" fill="none">
     48     <line x1="332" y1="152" x2="426" y2="152" marker-end="url(#arrow)"/>
     49     <line x1="702" y1="152" x2="796" y2="152" marker-end="url(#arrow)"/>
     50     <line x1="1072" y1="152" x2="1166" y2="152" marker-end="url(#arrow)"/>
     51   </g>
     52   <g font-size="18" fill="#ffb347" text-anchor="middle">
     53     <text x="379" y="138">edit</text>
     54     <text x="749" y="138">nix</text>
     55     <text x="1119" y="138">boot</text>
     56   </g>
     57 
     58   <!-- Drop arrows -->
     59   <g stroke="#7ee8fa" stroke-width="1.4" fill="none">
     60     <line x1="195"  y1="214" x2="195"  y2="276" marker-end="url(#arrow)"/>
     61     <line x1="565"  y1="214" x2="565"  y2="276" marker-end="url(#arrow)"/>
     62     <line x1="935"  y1="214" x2="935"  y2="276" marker-end="url(#arrow)"/>
     63     <line x1="1305" y1="214" x2="1305" y2="276" marker-end="url(#arrow)"/>
     64   </g>
     65 
     66   <!-- Halftone tiles -->
     67   <g font-size="20" fill="#cbf7ad" font-family="'JetBrains Mono',ui-monospace,Menlo,monospace">
     68     <!-- Col 1 -->
     69     <g transform="translate(60,288)">
     70       <rect x="0"    y="0"  width="40" height="22" fill="url(#halftone)"/>
     71       <rect x="230"  y="0"  width="40" height="22" fill="url(#halftone)"/>
     72       <text x="135" y="18" text-anchor="middle">any machine</text>
     73       <rect x="0"    y="34" width="40" height="22" fill="url(#halftone)"/>
     74       <rect x="230"  y="34" width="40" height="22" fill="url(#halftone)"/>
     75       <text x="135" y="52" text-anchor="middle">x86_64 · arm</text>
     76       <rect x="0"    y="68" width="40" height="22" fill="url(#halftone)"/>
     77       <rect x="230"  y="68" width="40" height="22" fill="url(#halftone)"/>
     78       <text x="135" y="86" text-anchor="middle">60 GB disk</text>
     79       <rect x="0"    y="102" width="40" height="22" fill="url(#halftone)"/>
     80       <rect x="230"  y="102" width="40" height="22" fill="url(#halftone)"/>
     81     </g>
     82     <!-- Col 2 -->
     83     <g transform="translate(430,288)">
     84       <rect x="0"    y="0"  width="40" height="22" fill="url(#halftone)"/>
     85       <rect x="230"  y="0"  width="40" height="22" fill="url(#halftone)"/>
     86       <text x="135" y="18" text-anchor="middle">user · host</text>
     87       <rect x="0"    y="34" width="40" height="22" fill="url(#halftone)"/>
     88       <rect x="230"  y="34" width="40" height="22" fill="url(#halftone)"/>
     89       <text x="135" y="52" text-anchor="middle">vm · desktop</text>
     90       <rect x="0"    y="68" width="40" height="22" fill="url(#halftone)"/>
     91       <rect x="230"  y="68" width="40" height="22" fill="url(#halftone)"/>
     92       <text x="135" y="86" text-anchor="middle">categories</text>
     93       <rect x="0"    y="102" width="40" height="22" fill="url(#halftone)"/>
     94       <rect x="230"  y="102" width="40" height="22" fill="url(#halftone)"/>
     95       <text x="135" y="120" text-anchor="middle">one file</text>
     96     </g>
     97     <!-- Col 3 -->
     98     <g transform="translate(800,288)">
     99       <rect x="0"    y="0"  width="40" height="22" fill="url(#halftone)"/>
    100       <rect x="230"  y="0"  width="40" height="22" fill="url(#halftone)"/>
    101       <text x="135" y="18" text-anchor="middle">atomic</text>
    102       <rect x="0"    y="34" width="40" height="22" fill="url(#halftone)"/>
    103       <rect x="230"  y="34" width="40" height="22" fill="url(#halftone)"/>
    104       <text x="135" y="52" text-anchor="middle">generation</text>
    105       <rect x="0"    y="68" width="40" height="22" fill="url(#halftone)"/>
    106       <rect x="230"  y="68" width="40" height="22" fill="url(#halftone)"/>
    107       <text x="135" y="86" text-anchor="middle">rollback</text>
    108       <rect x="0"    y="102" width="40" height="22" fill="url(#halftone)"/>
    109       <rect x="230"  y="102" width="40" height="22" fill="url(#halftone)"/>
    110       <text x="135" y="120" text-anchor="middle">nh os switch</text>
    111     </g>
    112     <!-- Col 4 -->
    113     <g transform="translate(1170,288)">
    114       <rect x="0"    y="0"  width="40" height="22" fill="url(#halftone)"/>
    115       <rect x="230"  y="0"  width="40" height="22" fill="url(#halftone)"/>
    116       <text x="135" y="18" text-anchor="middle">rose-pine</text>
    117       <rect x="0"    y="34" width="40" height="22" fill="url(#halftone)"/>
    118       <rect x="230"  y="34" width="40" height="22" fill="url(#halftone)"/>
    119       <text x="135" y="52" text-anchor="middle">+ starship</text>
    120       <rect x="0"    y="68" width="40" height="22" fill="url(#halftone)"/>
    121       <rect x="230"  y="68" width="40" height="22" fill="url(#halftone)"/>
    122       <text x="135" y="86" text-anchor="middle">+ niri</text>
    123       <rect x="0"    y="102" width="40" height="22" fill="url(#halftone)"/>
    124       <rect x="230"  y="102" width="40" height="22" fill="url(#halftone)"/>
    125       <text x="135" y="120" text-anchor="middle">+ htbvpn</text>
    126     </g>
    127   </g>
    128 </svg>